/* ─ TOKENS ─────────────────────────────────── */
:root{
  --hdr-bg:rgba(11,12,16,.97);
  --hdr-h:112px;
  --accent:#C9974C;
}

/* ─ TIPOGRAFÍA ──────────────────────────────── */
body,p,li,span,div,a,input,textarea,button,select{font-family:'Plus Jakarta Sans',sans-serif}
h1,h2,h3,h4,h5,.wp-block-heading{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.025em}

/* ─ RESET ASTRA ─────────────────────────────── */
.entry-title{display:none!important}
.entry-content{padding:0!important;max-width:none!important}
.site-content .ast-container,.page .ast-article-container{max-width:none!important;padding:0!important}
#content.site-content,.ast-article-post{padding:0!important}

/* ─ BARRAS SECUNDARIAS ASTRA ─────────────────── */
.ast-above-header-bar,.ast-above-header,.ast-below-header-bar,.ast-below-header{display:none!important}

/* ─ HEADER SIEMPRE OSCURO ───────────────────── */
#masthead,.main-header-bar,.ast-primary-header-bar{
  position:fixed!important;top:0;left:0;right:0;width:100%;
  background:var(--hdr-bg)!important;
  box-shadow:0 2px 20px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(8px);
  z-index:9999;
  min-height:var(--hdr-h);
}

/* ─ LOGO DEL HEADER (reemplaza el nombre en texto) ─ */
.site-logo-img{display:flex;align-items:center}
.site-logo-img img.custom-logo{max-height:100px;width:auto;height:auto}
.site-logo-img + .ast-site-title-wrap{display:none!important}

/* ─ MENÚ DESKTOP ────────────────────────────── */
.main-header-menu .menu-item>a,
.ast-primary-header-bar .site-title a,
.ast-primary-header-bar .site-description{color:#fff!important}
.main-header-menu .menu-item>a{
  position:relative;font-weight:600;
  padding:8px 10px!important;white-space:nowrap;font-size:14px!important;
}
.main-header-menu .menu-item>a:hover{color:var(--accent)!important}
.main-header-menu .menu-item>a::after{
  content:"";position:absolute;left:10px;right:10px;bottom:4px;
  height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s ease;
}
.main-header-menu .menu-item>a:hover::after{transform:scaleX(1)}
/* Dar espacio para el selector de idioma a la derecha */
.main-header-bar-wrap .ast-primary-header-bar .main-navigation{padding-right:100px!important}

/* ─ MENÚ MÓVIL DESPLEGABLE — FONDO OSCURO ──── */
@media(max-width:920px){
  /* Contenedor de navegación */
  .main-header-bar .main-navigation,
  .main-header-bar .main-navigation>div,
  .main-header-bar .ast-main-navigation,
  .main-header-bar .main-header-menu,
  .ast-header-break-point #site-navigation,
  #ast-mobile-menu,.ast-mobile-menu-wrap,
  .ast-primary-nav-list{background:var(--hdr-bg)!important}

  /* Ítems del menú */
  #masthead .main-navigation a,
  #masthead .main-header-menu a,
  #masthead .menu-item a,
  .ast-header-break-point .menu-item>a{
    color:#fff!important;
    background:transparent!important;
    padding:15px 24px!important;
    font-size:15px!important;font-weight:600!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    display:block!important;
  }
  #masthead .menu-item a:hover{color:var(--accent)!important;background:rgba(255,255,255,.05)!important}
  .current-menu-item>a{color:var(--accent)!important}

  /* Icono hamburguesa — transparente sin caja blanca */
  button.menu-toggle,.ast-mobile-header-toggle button{background:transparent!important;border:none!important;box-shadow:none!important}
  .menu-toggle .ast-icon,.ast-mobile-header-toggle .ast-icon{background:transparent!important;fill:#fff!important}
  .menu-toggle svg,.menu-toggle svg path,.menu-toggle svg rect,.menu-toggle svg line,
  .ast-mobile-header-toggle svg,.ast-mobile-header-toggle svg path{fill:#fff!important;stroke:#fff!important}
  .menu-toggle .ast-bar{background:#fff!important;display:block!important}

  /* Sub-menús si existen */
  .sub-menu{background:rgba(0,0,0,.3)!important}
  .sub-menu .menu-item a{padding-left:36px!important;font-size:14px!important}

  /* Padding hero para móvil */
  .wp-block-cover__inner-container{padding:80px 20px 40px}
}

/* ─ SELECTOR DE IDIOMA ──────────────────────── */
/* Desktop: esquina sup-derecha, dentro de la barra de cabecera */
.site-lang-switcher{
  position:fixed;top:0;right:14px;
  height:var(--hdr-h);
  z-index:10001;
  display:flex;align-items:center;gap:0;
}
.site-lang-switcher a{
  color:rgba(255,255,255,.55);
  text-decoration:none;font-weight:700;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 7px;font-family:'Plus Jakarta Sans',sans-serif;
  transition:color .2s;line-height:1;
}
.site-lang-switcher a.is-current{color:#fff}
.site-lang-switcher a:hover{color:#fff}
.site-lang-switcher .sep{
  color:rgba(255,255,255,.2);font-size:11px;
  user-select:none;pointer-events:none;
}

/* Móvil: píldora compacta pegada al hamburger (entre logo y boton) */
@media(max-width:920px){
  .site-lang-switcher{
    top:0!important;bottom:auto!important;
    right:54px!important;left:auto!important;
    transform:none!important;
    height:var(--hdr-h)!important;
    background:transparent!important;
    backdrop-filter:none!important;
    border-radius:0!important;
    padding:0!important;box-shadow:none!important;
    z-index:10002!important;
  }
  .site-lang-switcher a{font-size:10px;padding:3px 5px;letter-spacing:.06em}
  .site-lang-switcher .sep{font-size:9px}
}

/* ─ FULL-BLEED ──────────────────────────────── */
.alignfull{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:100vw!important}
body{overflow-x:hidden}
.wp-block-cover{overflow:hidden}
.wp-block-cover__inner-container{padding-top:112px}

/* ─ BOTONES ─────────────────────────────────── */
.wp-block-button__link{border-radius:8px!important;font-weight:700;font-size:16px!important;padding:14px 32px!important;transition:transform .2s,filter .2s,box-shadow .2s}
.wp-block-button__link:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 24px rgba(0,0,0,.2)}

/* ─ WAZE BUTTON ─────────────────────────────── */
.waze-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:#33CCFF;color:#fff;font-weight:700;font-size:15px;
  padding:13px 24px;border-radius:8px;text-decoration:none;
  transition:filter .2s,transform .2s;font-family:'Plus Jakarta Sans',sans-serif;
}
.waze-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}
.waze-btn svg{flex-shrink:0}

/* ─ TARJETAS ────────────────────────────────── */
.card-modern{background:#fff;border:1px solid #E7E2D8;border-radius:12px;transition:transform .25s,box-shadow .25s,border-color .25s}
.card-modern:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.1);border-color:var(--accent)}

/* ─ IMÁGENES ────────────────────────────────── */
.wp-block-image img{max-width:100%!important;height:auto!important}

/* ─ WPFORMS ─────────────────────────────────── */
.wpforms-container input,.wpforms-container textarea,.wpforms-container select{
  border-radius:8px!important;border:1px solid #D8D0C4!important;
  font-family:'Plus Jakarta Sans',sans-serif!important;font-size:15px!important;
  padding:12px 16px!important;width:100%!important;box-sizing:border-box!important;
}
.wpforms-container input:focus,.wpforms-container textarea:focus{
  border-color:#C9974C!important;outline:none!important;
  box-shadow:0 0 0 3px rgba(201,151,76,.12)!important;
}
.wpforms-submit{
  background:#C9974C!important;color:#fff!important;border:none!important;
  border-radius:8px!important;padding:13px 28px!important;
  font-weight:700!important;font-size:15px!important;cursor:pointer!important;
  transition:filter .2s!important;font-family:'Plus Jakarta Sans',sans-serif!important;
}
.wpforms-submit:hover{filter:brightness(1.15)!important}

/* ─ WHATSAPP FLOAT ──────────────────────────── */
.site-whatsapp-float{
  position:fixed;bottom:80px;right:20px;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(37,211,102,.4);z-index:9998;text-decoration:none;
  animation:wa-bounce 2s ease-in-out infinite;
}
@keyframes wa-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.site-whatsapp-float:hover{animation:none;transform:scale(1.1)}

/* ─ SECCIÓN MEDIOS DE PAGO (en páginas de servicios) ── */
.site-payment-section{
  padding:56px 24px 64px;
  background:linear-gradient(135deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.06) 100%);
  width:100vw;margin-left:calc(50% - 50vw);
}
.sps-inner{max-width:1100px;margin:0 auto;text-align:center}
.sps-title{
  font-size:clamp(22px,4vw,34px);font-weight:800;color:#111827;
  margin:0 0 10px;font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.025em;
}
.sps-subtitle{
  font-size:16px;color:#6b7280;margin:0 auto 40px;
  max-width:520px;line-height:1.7;font-family:'Plus Jakarta Sans',sans-serif;
}
.sps-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
}
.sps-card{
  background:#fff;border-radius:14px;padding:28px 18px 24px;
  box-shadow:0 2px 20px rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.05);
  transition:transform .22s,box-shadow .22s;
}
.sps-card:hover{transform:translateY(-5px);box-shadow:0 12px 36px rgba(0,0,0,.13)}
.sps-name{font-size:15px;font-weight:800;color:#111827;margin-bottom:6px;font-family:'Plus Jakarta Sans',sans-serif}
.sps-detail{font-size:13px;color:#6b7280;line-height:1.65;font-family:'Plus Jakarta Sans',sans-serif}
@media(max-width:900px){.sps-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.sps-grid{grid-template-columns:repeat(2,1fr)}}

html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Corrección: texto del submenú desplegable invisible (heredaba blanco del header oscuro) */
.main-header-menu .sub-menu .menu-link,
.main-header-menu .sub-menu a { color:#15171C !important; }
.main-header-menu .sub-menu .menu-item:hover > .menu-link,
.main-header-menu .sub-menu a:hover { color:#C9974C !important; }

/* Centrar título y descripción dentro de tarjetas de servicios/equipos/exámenes */
.card-modern h3,
.card-modern .wp-block-heading,
.card-modern p,
.wp-block-column[style*="border:1px solid"] h3,
.wp-block-column[style*="border:1px solid"] > p:not(.sps-subtitle) { text-align:center !important; }

/* Legibilidad de selects/inputs del formulario de contacto en móvil */
.wpforms-container select,
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel] { font-size:15px !important; text-overflow:ellipsis; }
@media(max-width:480px){
  .wpforms-container select,
  .wpforms-container input[type=text],
  .wpforms-container input[type=email] { font-size:14px !important; padding-right:28px !important; }
}
/* Centrar también subtítulos/etiquetas pequeñas dentro de tarjetas */
.card-modern > p:first-child,
.wp-block-column[style*="border:1px solid"] > p:first-child { text-align:center !important; }
.sps-card .sps-name, .sps-card .sps-detail { text-align:center !important; }

/* Placeholder para QR/enlace de pago en cada método */
.sps-qr-placeholder,.pay-qr-placeholder{margin-top:14px;padding:10px 8px;border:1.5px dashed #c9c9c9;border-radius:8px;font-size:11px;color:#9a9a9a;text-align:center;line-height:1.4}

/* Logos de metodos de pago en lugar del titulo */
.sps-logo{max-width:190px;max-height:76px;width:auto;height:auto;object-fit:contain;display:inline-block;margin:4px 0}
.sps-logo-square{max-height:76px;max-width:76px}
.sps-logo-tall{max-height:76px;max-width:150px}
.sps-name{display:flex;justify-content:center;align-items:center;min-height:46px}

/* TEST: video de fondo de YouTube en hero de Home (solo desktop) */
.wp-block-cover{position:relative;overflow:hidden}
.yt-bg-video{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}
.yt-bg-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.77%;transform:translate(-50%,-50%) scale(3.16)}
@media(max-width:768px){.yt-bg-video{display:none}}


/* Politicas de Garantia: indice navegable, estilo sobrio acorde al resto del sitio */
body.page-id-139 .policy-toc{background:rgba(201,151,76,.08);border-radius:10px;padding:18px 24px;margin:0 0 32px}
body.page-id-139 .policy-toc-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#a6752f;margin:0 0 10px}
body.page-id-139 .policy-toc ul{columns:2;column-gap:28px;margin:0;padding-left:18px;list-style:disc}
body.page-id-139 .policy-toc li{margin-bottom:6px;font-size:13px;line-height:1.4;break-inside:avoid}
body.page-id-139 .policy-toc a{color:#4a5568;text-decoration:none}
body.page-id-139 .policy-toc a:hover{color:#a6752f;text-decoration:underline}
body.page-id-139 .entry-content h2.wp-block-heading{margin-top:30px;margin-bottom:4px;color:#a6752f;font-size:19px;font-weight:700}
body.page-id-139 .entry-content h3.wp-block-heading{margin-top:18px;margin-bottom:4px;font-size:15px;color:#374151;font-weight:700}
@media(max-width:600px){body.page-id-139 .policy-toc ul{columns:1}}

/* Politicas de Garantia: restringir ancho de lectura, no ocupar todo el viewport */
body.page-id-139 .wp-block-group.alignfull{max-width:780px !important;margin-left:auto !important;margin-right:auto !important}

/* Politicas de Garantia: viñetas de listas con estilo del sitio */
body.page-id-139 .entry-content ul:not(.policy-toc ul),
body.page-id-139 .entry-content ol{margin:8px 0 16px;padding-left:22px}
body.page-id-139 .entry-content ul:not(.policy-toc ul) li,
body.page-id-139 .entry-content ol li{margin-bottom:8px;line-height:1.6;padding-left:4px}
body.page-id-139 .entry-content ul:not(.policy-toc ul) li::marker{color:#a6752f}
body.page-id-139 .entry-content ol li::marker{color:#a6752f;font-weight:700}

/* Video introductorio en el hero de Inicio */
.site-intro-video { position:relative; overflow:hidden; line-height:0; }
.site-intro-video video { width:100%; height:56vw; max-height:600px; min-height:260px; object-fit:cover; display:block; }
.site-intro-video-sound {
  position:absolute; right:20px; bottom:20px; z-index:5;
  width:52px; height:52px; border-radius:50%;
  background:rgba(0,0,0,.55); border:2px solid #fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; padding:0;
  animation: site-intro-pulse 1.8s ease-in-out infinite;
  transition: background .2s;
}
.site-intro-video-sound:hover { background:rgba(0,0,0,.75); }
.site-intro-video-sound.is-unmuted { animation:none; background:#C9974C; border-color:__ACCENT__; }
@keyframes site-intro-pulse {
  0%, 100% { box-shadow:0 0 0 0 rgba(255,255,255,.55); }
  50% { box-shadow:0 0 0 12px rgba(255,255,255,0); }
}
@media (max-width:600px){
  .site-intro-video-sound { width:44px; height:44px; right:14px; bottom:14px; }
}
