/*
Theme Name: TarifaÓptima
Template: twentytwentyfive
Version: 1.37.3
Text Domain: tarifaoptima
*/
:root{--to-navy:#153b5b;--to-navy-deep:#0c2941;--to-cyan:#58c7d8;--to-ink:#102c43;--to-muted:#526474;--to-line:#dce7ed;--to-white:#fff;--to-wa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.9 9.9 0 0 0 4.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2Zm0 18.15h-.01a8.2 8.2 0 0 1-4.19-1.15l-.3-.18-3.12.82.83-3.04-.2-.31a8.19 8.19 0 0 1-1.26-4.38c0-4.54 3.7-8.24 8.25-8.24 2.2 0 4.27.86 5.83 2.42a8.19 8.19 0 0 1 2.41 5.83c0 4.54-3.7 8.23-8.24 8.23Zm4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.13-.16.25-.64.8-.78.97-.14.16-.29.18-.53.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.01-.38.11-.5.11-.11.25-.29.37-.44.13-.14.17-.25.25-.41.08-.17.04-.31-.02-.43-.06-.13-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.42h-.48c-.16 0-.43.06-.66.31-.23.25-.86.85-.86 2.06s.89 2.39 1.01 2.56c.12.16 1.74 2.66 4.22 3.73.59.25 1.05.4 1.41.52.59.19 1.13.16 1.56.1.47-.07 1.47-.6 1.67-1.18.21-.58.21-1.07.15-1.18-.06-.1-.23-.16-.48-.28Z'/%3E%3C/svg%3E")}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden}
.to-shell-skip{position:fixed;left:12px;top:-80px;z-index:10002;padding:12px 18px;border-radius:10px;background:var(--to-navy-deep);color:#fff;text-decoration:none}.to-shell-skip:focus{top:12px}
/* ── CABECERA ISLA · 01/09/2026 ────────────────────────────────────────────
   Geometría nueva, enlaces intactos. Sale de web-nueva/hero-animado.html
   (?v=header-final): la barra va metida hacia dentro y, al bajar, se despega
   del borde y se convierte en una pastilla con borde y sombra.

   Lo que NO cambia, porque no es diseño: las 10 URLs del menú, el desplegable
   de Trámites con su hub y su teléfono, el CTA de WhatsApp, el cajón de móvil
   y los id que la prueba de shared-shell comprueba (hdr, burger, mobmenu).

   Ahora es sticky SIEMPRE, no solo a partir del scroll. `is-sticky` deja de
   decidir si se pega y pasa a decidir solo el aspecto de pastilla; el JS que
   la pone ya existía y no se toca. */
/* Fondo OPACO, no el .97 del boceto: allí detrás hay una foto y aquí hay
   texto. Medido en captura, a 1440 se leía «Asesoramiento independiente...»
   por dentro de la pastilla. Un 3 % de transparencia sobre un párrafo se ve.

   EN REPOSO VA A ANCHO COMPLETO · 01/09/2026
   Con la isla metida hacia dentro desde el principio, la foto del hero asomaba
   por los huecos laterales y la barra blanca quedaba como un rectángulo
   flotando con las esquinas rectas. En la referencia eso no se ve porque su
   cabecera en reposo es del mismo color que la página; la nuestra es blanca
   sobre una foto, así que el hueco delata la caja.
   Ahora en reposo llega a los bordes y la isla SOLO se forma al bajar. El
   relleno de reposo lleva sumada la isla (`calc(7% + var(--to-isla))`), así
   que al encogerse la caja el contenido NO se mueve de sitio: solo se meten
   los bordes. Sin esa suma, el logo y el CTA daban un salto lateral. */
/* LA TRANSICIÓN, afinada el 01/09/2026. Cuatro cosas la hacían dura:
     · se animaba `top`, que en un sticky recalcula posición en cada fotograma.
       Ahora es `transform`, que va por compositor y no toca el layout.
     · el radio iba de 0 a 999 px sobre una barra de 105: saturaba al 5 % de la
       animación, así que la pastilla aparecía de golpe y el resto del tiempo
       no pasaba nada. Con 56 px (algo más de la mitad del alto) la curva se
       reparte por toda la duración.
     · el borde salía de `transparent`, que es negro con alfa 0, y al mezclarse
       ensuciaba de gris. Sale del mismo marino con alfa 0 y funde limpio.
     · 0,7 s en todo. Ahora la geometría va a 0,5 s con una curva que frena al
       final, y color y sombra entran antes, que es lo que se nota primero. */
.to-shell-header{--to-isla:clamp(0px,4vw,128px);position:sticky;top:0;z-index:1000;margin:0;padding:16px calc(7% + var(--to-isla));border:2px solid rgba(21,59,91,0);border-radius:0;background:#fff;color:var(--to-ink);font-family:Figtree,system-ui,-apple-system,sans-serif;transition:transform .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),padding .5s cubic-bezier(.22,1,.36,1),border-radius .5s cubic-bezier(.22,1,.36,1),border-color .3s ease-out,box-shadow .4s ease-out}
.to-shell-header.is-sticky{margin:0 var(--to-isla);padding:16px 7%;transform:translateY(8px);border-color:rgba(21,59,91,.9);border-radius:56px;box-shadow:0 -2px 4px -1px rgba(12,41,65,.07),0 5px 8px -2px rgba(12,41,65,.10),0 2px 4px -1px rgba(12,41,65,.06)}
.to-shell-inner{width:min(1180px,calc(100% - 40px));margin-inline:auto}
/* LA BARRA LLENA LA ISLA · 01/09/2026, comparado con BajaTuFactura
   Este reseteo se quitó por la mañana, cuando el contenido se apelotonaba a la
   izquierda. Vuelve porque aquella no era la causa: era que el menú no estaba
   centrado (ver el bloque de abajo), y eso ya está arreglado.
   El tope de 1180 px de .to-shell-inner sí hacía daño aquí. MEDIDO: a 1440 el
   relleno interior de la isla salía al 5,5 % y a 1920 se disparaba al 16,6 %,
   porque el contenido se quedaba clavado en 1180 mientras la isla crecía. En
   la referencia ese relleno es del 8,5 % y NO cambia con el ancho: por eso el
   nuestro se veía agrupado en el centro en pantallas grandes.
   Ahora lo pone la isla con `padding:16px 7%`. En porcentaje y no en píxeles
   para que la proporción se mantenga a cualquier ancho.
   El PIE sigue con .to-shell-inner y su tope de 1180: es contenido de la
   página, no una tarjeta flotante, y ahí sí alinea con el resto. */
.to-shell-nav{width:100%;max-width:none;margin-inline:0;min-height:69px;display:flex;align-items:center;gap:20px}
/* EL MENÚ SE CENTRA AQUÍ, y no con el `margin:0 auto` de .to-shell-links
   (01/09/2026). Ese margen no centraba nada: el <ul> NO es hijo directo del
   flex, cuelga de <nav aria-label="Principal">, así que sus márgenes
   automáticos no tenían hueco libre que absorber. El sobrante se iba entero a
   la derecha por el flex-start de la barra: 604 px medidos a 1920.

   Centrar el <nav> con flex:1 tampoco bastaba. El lado derecho pesaba 301 px
   (teléfono + CTA + hamburguesa) contra los 166 del logo, así que el centro de
   la barra no era el centro visual y el menú quedaba 90 px a la izquierda.

   Ahora los tres de la derecha van agrupados en .to-shell-acciones, y ese
   grupo y el logo llevan `flex:1 1 0`: los dos lados miden lo mismo pase lo
   que pase, y el <nav> del medio cae en el centro exacto. El mínimo automático
   del elemento flex impide que ninguno encoja por debajo de su contenido, y
   los rótulos van en nowrap. */
.to-shell-nav>nav{flex:0 0 auto;display:flex;justify-content:center}
.to-shell-acciones{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.to-shell-logo{display:flex;flex:1 1 0}
/* Por ALTO, no por ancho: el logo nuevo es más cuadrado (2,367 contra el
   2,81 del SVG viejo) y a 166 px de ancho medía 70 de alto, más que los 69
   de la barra. Fijando el alto, la cabecera conserva su geometría. */
.to-shell-logo img{display:block;width:auto;height:59px}
.to-shell-links{display:flex;align-items:center;gap:26px;margin:0 auto;padding:0;list-style:none}.to-shell-links a,.to-shell-phone{color:var(--to-ink);font-size:14px;font-weight:650;text-decoration:none}
/* Versalitas SOLO en el primer nivel: `>li>a` deja fuera los enlaces del
   desplegable, que son frases («El teléfono de cada compañía») y en mayúsculas
   no se leen. El rótulo no se reescribe en el PHP: lo hace el CSS, así que los
   enlaces y su texto siguen siendo los mismos. */
.to-shell-links>li>a,.to-shell-drop{font-size:12.5px;font-weight:650;letter-spacing:.02em;text-transform:uppercase}
/* Nunca en dos líneas: si no cabe, se acorta el rótulo, no se parte. */
.to-shell-links>li,.to-shell-links a,.to-shell-drop{white-space:nowrap}.to-shell-links a:hover,.to-shell-links a:focus-visible,.to-shell-phone:hover{color:#087f94}
.to-shell-phone{white-space:nowrap}
/* CTA pastilla: relleno marino que se invierte a blanco con borde al pasar por
   encima. La flecha del ::after se retira, que en una pastilla no cabe. */
.to-shell-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 22px;border:2px solid var(--to-navy);border-radius:999px;background:var(--to-navy);box-shadow:0 8px 18px rgba(12,41,65,.14);color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .16s ease,background .16s ease,transform .16s ease}.to-shell-cta::after{content:none}.to-shell-cta:hover,.to-shell-cta:focus-visible{transform:translateY(-1px);background:#fff;color:var(--to-navy)!important}.to-shell-cta:active{transform:translateY(1px)}
/* ── EL ICONO DE WHATSAPP EN EL CTA · 01/09/2026 ───────────────────────────
   El rótulo pasó a «Quiero pagar menos» y dejó de nombrar el canal. La regla
   W4 del sitio (paginas/whatsapp.py) pide que un CTA avise de que abre
   WhatsApp; los del marco quedan fuera de ese check, pero la intención vale
   igual, así que el aviso lo da ahora el icono.
   Va con mask y currentColor, no con fill: así se invierte solo al pasar por
   encima, cuando el botón cambia de marino a blanco. */
.to-shell-cta::before,.to-acciones__b--cta::before{content:"";flex:none;width:15px;height:15px;margin-right:8px;background:currentColor;-webkit-mask:var(--to-wa) center/contain no-repeat;mask:var(--to-wa) center/contain no-repeat}
.to-acciones__b--cta{display:inline-flex;align-items:center;justify-content:center}
/* El botón del menú pierde su caja: en la isla va desnudo, solo las tres rayas. */
.to-shell-toggle{display:none;width:25px;height:25px;padding:0;border:0;border-radius:0;background:transparent;color:var(--to-navy);cursor:pointer}.to-shell-toggle svg{width:25px;stroke:currentColor;stroke-width:2.5}
.to-shell-menu{display:none}
.to-shell-main{min-height:40vh;margin:0;padding:0}
.to-shell-page-title{padding:64px 0 40px;background:#f5f8fa;font-family:Figtree,system-ui,-apple-system,sans-serif}.to-shell-page-title h1{max-width:900px;margin:0;color:var(--to-navy);font-size:clamp(36px,6vw,68px);line-height:1.02;letter-spacing:-.045em}
.to-shell-footer{padding:64px 0 24px;background:var(--to-navy-deep);color:#c9d8e3;font-family:Figtree,system-ui,-apple-system,sans-serif}
.to-shell-footer-grid{display:grid;grid-template-columns:1.5fr 1.35fr repeat(3,minmax(0,1fr));gap:34px}
.to-shell-footer h2 a{color:#fff;font-size:inherit;letter-spacing:inherit;text-decoration:none}
.to-shell-footer h2 a:hover{text-decoration:underline}
.to-shell-footer-legal{display:flex;flex-wrap:wrap;gap:18px}.to-shell-footer img{display:block;width:auto;height:58px;margin-bottom:20px}.to-shell-footer p{max-width:38ch;margin:0 0 16px;color:#c9d8e3;font-size:14px;line-height:1.7}.to-shell-footer h2{margin:0 0 16px;color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.to-shell-footer ul{margin:0;padding:0;list-style:none}.to-shell-footer li+li{margin-top:10px}.to-shell-footer a{color:#c9d8e3;text-decoration:none;font-size:14px}.to-shell-footer a:hover,.to-shell-footer a:focus-visible{color:#fff;text-decoration:underline}.to-shell-footer-meta{display:flex;justify-content:space-between;gap:24px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:#9fb4c4;font-size:12px}
.to-shell-header :focus-visible,.to-shell-footer :focus-visible{outline:3px solid var(--to-cyan);outline-offset:3px}

/* ── Desplegables del menú ─────────────────────────────────────────────────
   El panel se abre por clic (JS en assets/site.js), nunca solo por hover:
   un menú de hover no funciona con teclado ni en pantalla táctil. */
.to-shell-has-menu{position:relative}
/* Mismas versalitas que los enlaces de primer nivel: es un rótulo más de la
   barra. Ojo con el orden, `font:inherit` reinicia el tamaño y tiene que ir
   antes de fijarlo. */
.to-shell-drop{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;
  color:var(--to-ink);font:inherit;font-size:12.5px;font-weight:650;letter-spacing:.02em;
  text-transform:uppercase;cursor:pointer}
.to-shell-drop:hover,.to-shell-drop[aria-expanded=true]{color:#087f94}
.to-shell-drop.is-active{color:#087f94;text-decoration:underline;text-underline-offset:6px}
.to-shell-caret{width:14px;height:14px;flex:none;transition:transform .18s ease}
.to-shell-drop[aria-expanded=true] .to-shell-caret{transform:rotate(180deg)}
.to-shell-panel[hidden]{display:none}
/* El panel se viste como la isla: borde de 2 px del mismo marino y esquinas
   muy redondeadas, para que al abrirse parezca que sale de la pastilla. */
.to-shell-panel{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);z-index:1001;
  min-width:262px;max-width:310px;padding:10px;border:2px solid rgba(21,59,91,.9);border-radius:22px;
  background:rgba(255,255,255,.99);box-shadow:0 12px 24px rgba(12,41,65,.16)}
.to-shell-panel::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
/* El teléfono va pegado al fondo del panel: si el panel redondea 22, esto
   también, o asoma una esquina cuadrada por debajo. */
.to-shell-panel-tel{border-radius:0 0 14px 14px}
.to-shell-panel ul{margin:0;padding:0;list-style:none}
.to-shell-panel a{display:block;padding:9px 12px;border-radius:9px;color:var(--to-ink);
  font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}
.to-shell-panel a:hover,.to-shell-panel a:focus-visible{background:#f2f8fa;color:#087f94}
.to-shell-panel a[aria-current=page]{color:#087f94;background:#f2f8fa}
/* panel ancho: las 14 ciudades no caben en una columna sin hacer un chorizo */
.to-shell-panel-hub{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--to-line)}
.to-shell-panel-hub a{color:#087f94}
.to-shell-panel-hub a::after{content:"→";margin-left:7px}
/* El teléfono suelto se esconde por debajo de 1200 px (26/08/2026). Con los
   rótulos en nowrap la barra ya no puede comprimirse, y entre 1024 y 1199
   desbordaba por dentro. No se pierde: desde el 26/08 va dentro de cada
   desplegable, y ahí además lleva el horario. */
/* 1360 y no 1200 (01/09/2026). Medido a 1280: al reaparecer el teléfono, el
   contenido pedía 1.168 px y el contenedor daba 1.102, así que el CTA se salía
   66 px por la derecha. Entre 1.201 y 1.360 no cabe, y ahí es justo donde está
   el portátil de 13 y 14 pulgadas. */
@media (max-width:1560px){.to-shell-phone{display:none}}
/* ── La isla, al estrecharse ───────────────────────────────────────────────
   Seis rótulos en versalitas ocupan bastante más que los tres del boceto, así
   que la isla se comprime en dos pasos ANTES de llegar al menú de móvil. Los
   números no son a ojo: salen de medir con medicion/_anchos.mjs en los nueve
   anchos, que es lo que cazó que la barra se partía en dos líneas el 26/08. */
/* El 7 % no cabe por debajo de 1360: la isla deja de crecer pero el menú sigue
   entero. MEDIDO a 1200: con el 7 % el contenido pedía 1.012 px y quedaban 908.
   En este tramo el relleno vuelve a píxeles. */
@media (max-width:1360px){
  .to-shell-header{padding:16px calc(24px + var(--to-isla))}
  .to-shell-header.is-sticky{padding:16px 24px}
}
@media (max-width:1180px){
  .to-shell-header{padding:10px calc(12px + var(--to-isla))}
  .to-shell-header.is-sticky{padding:10px 12px}
  .to-shell-nav{gap:14px}
  .to-shell-logo img{height:52px}
  .to-shell-links{gap:16px}
  .to-shell-links>li>a,.to-shell-drop{font-size:11.5px}
  .to-shell-cta{padding:0 16px;font-size:11px}
}
/* Por debajo de 1100 la isla toca los bordes: el hueco lateral es justo lo que
   le falta al menú para no desbordar. Al bajar sigue despegándose, con un
   margen corto, para que la pastilla se siga leyendo como tal. */
@media (max-width:1100px){
  /* La isla se estrecha a 10 px: por debajo de 1100 el hueco lateral es justo
     lo que le falta al menú. */
  .to-shell-header{--to-isla:10px}
}
@media (max-width:768px){.to-shell-links{gap:15px}.to-shell-nav{gap:16px}}
@media (max-width:900px){.to-shell-inner{width:min(100% - 30px,1180px)}.to-shell-nav{min-height:72px}/* El CTA ya NO se oculta a 900px (26/08/2026). #to-acciones solo aparece
     tras 640px de scroll, así que entre 768 y 900 la cabecera se quedaba muda
     justo arriba del todo. Es la palanca de conversión y no cuesta nada. */
  .to-shell-links{display:none}.to-shell-toggle{display:grid;place-items:center;margin-left:auto}.to-shell-menu{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;padding:24px;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateX(100%);transition:transform .24s ease,opacity .24s ease,visibility .24s}.to-shell-menu.is-open{visibility:visible;opacity:1;transform:none}.to-shell-menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--to-line)}.to-shell-menu-top img{width:auto;height:58px}.to-shell-menu-close{width:46px;height:46px;border:1px solid var(--to-line);border-radius:12px;background:#fff;color:var(--to-navy);font-size:30px;line-height:1}.to-shell-menu-links{display:grid;gap:0;margin:18px 0;padding:0;list-style:none}.to-shell-menu-links a{display:block;padding:15px 0;border-bottom:1px solid var(--to-line);color:var(--to-ink);font-size:18px;font-weight:700;text-decoration:none}.to-shell-menu .to-shell-cta{margin-top:auto}.to-shell-menu-meta{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.to-shell-footer-grid{grid-template-columns:1fr 1fr}.to-shell-footer-meta{flex-direction:column;align-items:flex-start;gap:14px}
  /* acordeón: el mismo panel del escritorio, pero en flujo y a lo ancho */
  .to-shell-menu .to-shell-drop{display:flex;justify-content:space-between;width:100%;
    padding:15px 0;border-bottom:1px solid var(--to-line);font-size:18px;font-weight:700}
  .to-shell-menu .to-shell-caret{width:18px;height:18px}
  .to-shell-menu .to-shell-panel{position:static;transform:none;min-width:0;max-width:none;
    margin:0 0 6px;padding:6px 0 10px;border:0;border-radius:0;background:none;box-shadow:none}
  .to-shell-menu .to-shell-panel::before{content:none}
  .to-shell-menu .to-shell-panel a{padding:11px 0 11px 16px;border-bottom:0;font-size:16px;
    font-weight:600;color:var(--to-muted);white-space:normal}
  .to-shell-menu .to-shell-panel-hub{margin-bottom:2px;padding-bottom:2px}
  .to-shell-menu .to-shell-panel-hub a{color:#087f94}
  .to-shell-menu-meta .to-shell-phone{display:inline-flex;font-size:17px;font-weight:700}}
/* En móvil la isla es más baja: sin menú que quepa, 105 px de barra eran una
   pantalla entera de nada. Va después del bloque de 900 px a propósito, para
   pisarle el min-height. */
@media (max-width:900px){
  .to-shell-header{padding:5px calc(16px + var(--to-isla))}
  .to-shell-header.is-sticky{padding:5px 16px}
  .to-shell-nav{min-height:56px}
}
@media (max-width:560px){
  /* EL CTA DE LA CABECERA SE OCULTA POR DEBAJO DE 561px (26/08/2026).
     Al hacerlo visible a cualquier ancho y con la etiqueta larga
     «Escríbenos por WhatsApp», la hamburguesa se salía de pantalla en 320,
     360 y 390px: medido en producción, x=372..398 sobre 390 de ancho. El
     menú móvil quedaba INALCANZABLE en la mayoría de móviles.
     Aquí abajo no hace falta: #to-acciones ya pone «Llamar» y «Revisar mi
     factura gratis» fijos. Lo que se arregla de verdad es el hueco de 561 a
     900px, donde la barra fija NO aparece y antes la cabecera se quedaba
     muda. */
  .to-shell-acciones>.to-shell-cta{display:none}

  /* A 390px: logo 145 + CTA 112 + burger 46 + huecos 24 = 327 de 362. */
  .to-shell-nav{gap:12px}
  .to-shell-acciones>.to-shell-cta{min-height:42px;padding:0 12px;font-size:13px}
  .to-shell-acciones>.to-shell-cta::after{content:none}
.to-shell-logo img{height:46px}.to-shell-inner{width:calc(100% - 28px)}.to-shell-footer{padding-top:48px}.to-shell-footer-grid{grid-template-columns:1fr;gap:32px}.to-shell-footer-meta{margin-top:36px}.to-shell-menu{padding:18px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.to-shell-menu,.to-shell-cta,.to-shell-header{transition:none}.to-shell-cta:hover{transform:none}}

/* El cuerpo del sitio va a font-weight 300. El `bolder` que aplica el navegador
   por defecto a <strong> y <b> solo sube un escalon (a 400), asi que las
   negritas no se distinguian del texto normal en ninguna pagina. */
strong,b{font-weight:700}

/* ═══════════════════════════════════════ marco desnudo de las landings PPC
   Sin menú y sin pie de navegación: una landing de pago no debe tener por
   dónde escaparse. Es lo que hacen los embudos de la competencia (0 enlaces
   en cabecera y pie, medido el 12/08/2026). */
.ppc-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:760px;margin:0 auto;padding:18px 24px}
.ppc-top img{height:34px;width:auto}
.ppc-tel{font-family:var(--display,inherit);font-weight:700;font-size:17px;
  color:var(--navy,#193557);text-decoration:none;white-space:nowrap}
.ppc-tel:hover{text-decoration:underline}
.to-shell-main--ppc{max-width:760px;margin:0 auto;padding:0 24px}
.ppc-foot{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;
  max-width:760px;margin:48px auto 0;padding:22px 24px 34px;
  border-top:1px solid var(--border,#e6e9ee);font-size:13px;color:var(--muted,#667383)}
.ppc-foot a{color:var(--muted,#667383);text-decoration:none}
.ppc-foot a:hover{text-decoration:underline}
@media (max-width:620px){
  .ppc-top{padding:14px 18px}
  .ppc-top img{height:28px}
  .to-shell-main--ppc{padding:0 18px}
}

/* ── Barra de accion fija en movil ─────────────────────────────────────────
   Ver el porque en footer.php.

   VIVE AQUI Y NO EN paginas.css, Y ES IMPORTANTE: la home no carga la hoja
   compartida, porque su CSS va en linea dentro de su propio bloque. style.css
   es lo unico que se encola en TODAS las paginas, home incluida, asi que es el
   sitio de cualquier cosa del armazon.

   Usa solo tokens: la condicion D2 de diseno.py prohibe colores a mano. */
/* Va por ID a propósito. La home tiene su propio reset de aislamiento, que le
   ponía display:block a la barra y ganaba a la clase: en /es/ no aparecía. Un
   selector de ID (1,0,0) se impone sin tener que tocar el CSS de la home. */
#to-acciones{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  display:none; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--paper,#fff) 92%, transparent);
  backdrop-filter:blur(10px); border-top:1px solid var(--border,#E7EAEE);
  transform:translateY(110%); transition:transform .28s ease;
}
#to-acciones.is-visible{ transform:translateY(0); }
#to-acciones[hidden]{ display:none !important; }
.to-acciones__b{
  display:flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; padding:0 18px; border-radius:14px;
  font-family:var(--ui,system-ui); font-weight:600; font-size:1rem; text-decoration:none;
  white-space:nowrap;
}
.to-acciones__b--cta{ flex:1; background:var(--navy,#193557); color:var(--paper,#fff); }
.to-acciones__b--alt{
  flex:0 0 auto; background:var(--paper,#fff); color:var(--navy,#193557);
  border:1px solid var(--border,#E7EAEE);
}
.to-acciones__b--alt svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.to-acciones__b--alt span{ font-size:.95rem; }
/* 900, no 767, y va atado al otro breakpoint a propósito: el CTA de la cabecera
   se oculta con `max-width:900px`, asi que entre 768 y 900 no habia NI barra NI
   boton NI telefono. Comprobado el 25/08/2026 a 800 y 850 px: cabecera muda, que
   es justo donde cae un iPad en vertical. Si alguien mueve uno de los dos
   numeros, tiene que mover el otro. */
@media (max-width:900px){ #to-acciones:not([hidden]){ display:flex; } }
@media (prefers-reduced-motion:reduce){ #to-acciones{ transition:none; } }

/* El teléfono dentro del desplegable (26/08/2026). Ver el comentario de
   header.php: el negocio es que una persona coge el teléfono. */
.to-shell-panel-tel{display:grid;gap:2px;margin-top:10px;padding:14px 16px;border-top:1px solid var(--to-line,#e7eaee);background:#f6fafc;border-radius:0 0 12px 12px}
.to-shell-panel-tel__k{color:#6a7686;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.to-shell-panel-tel a{color:var(--to-navy);font-size:19px;font-weight:800;text-decoration:none;line-height:1.2}
.to-shell-panel-tel a:hover{color:#087f94}
.to-shell-panel-tel small{color:#6a7686;font-size:12px}
