/* ═══ BarcelonaTelecom — sistema visual v3 «POP EDITION» (2026-09-15).
   Fuente de verdad: database/instancia/css-sitio.css. Lo publica portada-en.php en
   cms_config.custom_css → /web/css/site-custom.<hash>.css, después de style.css,
   builder-frontend.css y el <style> del tema (por eso gana en :root y en los
   selectores del núcleo sin namespace).

   Dirección (Jordi, 2026-09-15, «es la más diferente»): fondo hueso, tinta navy,
   TODO con contorno de 2 px y sombra dura sin desenfoque, pegatinas giradas,
   píldoras en mayúsculas con flecha, tintas suaves en tarjetas, marquesina en sol,
   cristal SOLO en las tres superficies que flotan (cabecera, .bt-sticky y, en el
   área de cliente, .ac-top / .ac-tabs). Ningún degradado, ninguna fuente de iconos.

   Contrato de clases: prefijo .bt-. Los agentes de HTML usan estos nombres tal
   cual; el wizard (.bt-wiz*) conserva los de alta-en.php porque el JS depende
   de ellos. Sobrescribe del núcleo: .main-header, .header-container, .logo,
   .main-nav, .mobile-toggle, .submenu, main > .builder-page, .builder-page,
   .builder-heading, .builder-text, .builder-button, .builder-accordion(-item),
   .dynamic-form / .form-input / .form-actions .btn / .form-message,
   .main-footer y sus hijos, .back-to-top, #cookieConsent / .cc-*.

   Reglas duras: box-shadow solo «Npx Npx 0 navy»; backdrop-filter solo en
   .main-header y .bt-sticky; nada de rgba blanco como color de texto (blanco
   #FFFFFF o cielo #D2E4F9 sobre navy); sobre sol siempre navy. ═══ */

/* ── Fuentes autoalojadas (/web/fonts/, OFL) ── */
@font-face{font-family:"Bricolage Grotesque";src:url(/web/fonts/bricolage-variable.woff2) format("woff2");font-weight:200 800;font-stretch:normal;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";src:url(/web/fonts/jakarta-variable.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url(/web/fonts/ibmplexmono-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url(/web/fonts/ibmplexmono-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Tokens ── */
:root{
  --bt-paper:#FAF9F6; --bt-white:#FFFFFF;
  --bt-navy:#0E2A47; --bt-navy-deep:#07182C;
  --bt-sun:#F7B32B; --bt-terra:#E2593A; --bt-sea:#1273E6;
  --bt-cream:#FEF6D9; --bt-pink:#FDEAE6; --bt-sky:#E7F2FF; --bt-sky-2:#D2E4F9;
  --bt-line:#CBD5E1; --bt-ok:#1B7F4B;
  --bt-ink:var(--bt-navy); --bt-ink-2:#3F5468;
  /* Tintas para TEXTO pequeño (2026-09-15): terra #E2593A y mar #1273E6 no llegan a 4,5:1 sobre
     blanco/hueso/crema/cielo; se quedan solo para rellenos. Texto en terra → --bt-terra-ink
     (5,49:1 sobre blanco); enlaces y texto en mar → --bt-sea-ink (5,38:1 sobre cielo). */
  --bt-terra-ink:#B8412A; --bt-sea-ink:#0B5FC4;
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Plus Jakarta Sans",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --bt-outline:2px solid var(--bt-navy);
  --bt-shadow-pop:4px 4px 0 var(--bt-navy);
  --bt-shadow-pop-lg:6px 6px 0 var(--bt-navy);
  --bt-shadow-pop-sm:2px 2px 0 var(--bt-navy);
  --bt-radius-card:22px;
  --bt-glass-paper:rgba(250,249,246,.82);
  --bt-glass-navy:rgba(14,42,71,.78);
  --bt-blur:14px;
  --bt-header-h:70px;
  --header-height:var(--bt-header-h);
  --color-dark:var(--bt-navy); --color-dark-light:var(--bt-navy-deep);
}

/* ── Base ── */
html{color-scheme:light;scroll-behavior:smooth}
body{background:var(--bt-paper);color:var(--bt-navy);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.builder-page{font-family:var(--font-body);font-size:17px;line-height:1.55;color:var(--bt-navy)}
.builder-page p,.builder-text{max-width:64ch}
.builder-text{font-family:inherit;font-size:17px;line-height:1.6;color:var(--bt-ink-2)}
.builder-text[data-align="center"]{margin-left:auto;margin-right:auto}
.builder-text strong{font-weight:700;color:var(--bt-navy)}
h1,h2,h3,.builder-heading{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--bt-navy);text-wrap:balance}
h1.builder-heading{font-size:clamp(44px,7vw,92px)!important;font-weight:800;line-height:1;margin:0 0 .35em}
h2.builder-heading{font-size:clamp(32px,4.5vw,56px)!important;font-weight:800;line-height:1.02;margin:0 0 .4em}
h3.builder-heading{font-size:26px!important;font-weight:800;line-height:1.15;margin:0 0 .35em}
h4.builder-heading,h5.builder-heading,h6.builder-heading{font-family:var(--font-body);font-weight:800;font-size:20px!important;letter-spacing:-.01em;margin:0 0 .4em}
a{color:var(--bt-sea-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--bt-navy)}
:focus-visible{outline:3px solid var(--bt-sea);outline-offset:2px}
::selection{background:var(--bt-sun);color:var(--bt-navy)}
img,svg{max-width:100%}
.builder-container[id]{scroll-margin-top:calc(var(--bt-header-h) + 16px)}
.material-symbols-rounded,.material-symbols-outlined{display:none!important}
@media (min-width:760px){body,.builder-page{font-size:18px}.builder-text{font-size:18px}}

/* ── Utilidades ── */
.bt-container{width:100%;max-width:1280px;margin:0 auto;padding-left:20px;padding-right:20px}
.bt-grid-2{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
.bt-center{text-align:center}
.bt-center .builder-heading{margin-left:auto;margin-right:auto}
.bt-v-center{align-items:center}
.bt-kicker{display:inline-block;font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--bt-navy);opacity:.7;margin:0 0 12px}
.bt-mono{font-family:var(--font-mono);font-weight:500}
.bt-h-display{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1}
.bt-hl{display:inline-block;background:var(--bt-sun);color:var(--bt-navy);border:var(--bt-outline);border-radius:10px;padding:.05em .2em;transform:rotate(-1deg);box-shadow:var(--bt-shadow-pop-sm);line-height:1;white-space:nowrap}
.bt-hl-under{position:relative;z-index:0;white-space:nowrap}
.bt-hl-under::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.04em;height:10px;background:var(--bt-sun);border-radius:3px;z-index:-1;transform:rotate(-1deg);transform-origin:left center}
.bt-lead{font-family:var(--font-body);font-weight:500;font-size:20px;line-height:1.5;color:var(--bt-ink-2)}
.bt-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.bt-sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (min-width:760px){.bt-container{padding-left:48px;padding-right:48px}.bt-grid-2{grid-template-columns:1fr 1fr;gap:48px}}

/* ── Cabecera del sitio: CRISTAL HUESO (única superficie con blur junto a .bt-sticky) ──
   El núcleo la pone position:fixed;top:0 y empuja el primer bloque de <main> con
   padding-top: header + 2rem (estilo inline en index.php). Aquí se fija la altura
   real (--bt-header-h) y el primer bloque solo lleva ese padding, sin aire extra:
   la MARQUESINA es el primer bloque de la portada y queda pegada justo DEBAJO de
   la cabecera (no encima: el núcleo emite <header> antes de <main> y el
   maquetador solo escribe dentro de <main>). */
.main-header,.main-header.header-variant-transparent_light,.main-header.header-variant-solid_light,.main-header.header-variant-glass,.main-header.has-bg,.main-header.scrolled,.main-header.header-variant-transparent_light.scrolled,.main-header.header-variant-glass.scrolled{position:fixed;top:0;left:0;right:0;background:var(--bt-glass-paper)!important;-webkit-backdrop-filter:blur(var(--bt-blur)) saturate(140%);backdrop-filter:blur(var(--bt-blur)) saturate(140%);border-bottom:2px solid var(--bt-navy);box-shadow:none;z-index:1000}
@supports not (backdrop-filter:blur(1px)){.main-header,.main-header.scrolled{background:var(--bt-paper)!important}}
.main-header .header-container{max-width:1280px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.main-header .logo{display:flex;align-items:center;text-decoration:none}
.main-header .logo img,.main-header.logo-variant-light .logo img,.main-header.logo-variant-dark .logo img{height:40px;width:auto;filter:none!important}
.main-nav>ul{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.main-nav>ul>li>a{font-family:var(--font-body);font-weight:700;font-size:16px;letter-spacing:-.005em;color:var(--bt-navy);text-decoration:none;padding:10px 14px;border-radius:999px;background:transparent}
.main-nav>ul>li>a:hover{color:var(--bt-navy);background:var(--bt-sky)}
.main-nav>ul>li:last-child>a,.main-nav>ul>li:last-child>a:hover{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;margin-left:8px;background:var(--bt-sun);color:var(--bt-navy);border:var(--bt-outline);border-radius:999px;box-shadow:var(--bt-shadow-pop-sm);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase}
.main-nav>ul>li:last-child>a:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop)}
.main-nav>ul>li:last-child>a:active{transform:translate(2px,2px);box-shadow:none}
.main-nav>ul>li.has-children>a::after{border-top-color:var(--bt-navy)}
.submenu{background:var(--bt-paper);border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop)}
.submenu li a{color:var(--bt-navy);font-weight:600}
.submenu li a:hover{background:var(--bt-sky);color:var(--bt-navy)}
.mobile-toggle span{background:var(--bt-navy);height:3px;border-radius:2px}
main>.builder-page:first-child,main>*:first-child:not(.hero){padding-top:var(--bt-header-h)!important}
main>.builder-page:first-child:has(>.builder-section:first-child .bt-marquee){padding-top:var(--bt-header-h)!important}
.back-to-top{display:none!important}
@media (max-width:768px){
  :root{--bt-header-h:60px}
  .main-header .header-container{padding:11px 16px}
  .main-header .logo img{height:34px}
  .main-nav{position:fixed;top:0;right:-100%;width:85%;max-width:360px;height:100vh;background:var(--bt-paper);border-left:var(--bt-outline);padding:88px 24px 24px;z-index:1100;box-shadow:none}
  .main-nav.active{right:0;box-shadow:-6px 0 0 var(--bt-navy)}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .main-nav>ul>li{width:100%;border-bottom:2px solid var(--bt-line)}
  .main-nav>ul>li>a{width:100%;padding:16px 4px;font-size:20px;font-weight:800;border-radius:0}
  .main-nav>ul>li>a:hover{background:transparent}
  .main-nav>ul>li:last-child{border-bottom:0;margin-top:16px}
  .main-nav>ul>li:last-child>a,.main-nav>ul>li:last-child>a:hover{width:100%;height:52px;margin:0;font-size:15px;justify-content:center}
  .submenu{border:0;box-shadow:none;background:transparent}
}

/* ── Marquesina (banda sol, texto mono, desplazamiento continuo) ──
   HTML: <div class="bt-marquee"><div class="bt-marquee-track"><span>…</span><span>…</span></div></div>
   El track lleva el mismo contenido DOS veces (dos <span>): el bucle mueve el
   track un 50 % y vuelve a empezar sin salto. Cada frase separada por «•». */
.bt-marquee{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--bt-sun);color:var(--bt-navy);border-bottom:var(--bt-outline);overflow:hidden;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:11px 0;white-space:nowrap}
.bt-marquee-track{display:flex;width:max-content;gap:0;animation:bt-marquee 38s linear infinite;will-change:transform}
.bt-marquee-track>span{display:inline-block;padding-right:48px}
.bt-marquee .bt-sticker{margin:-6px 12px -6px 0;font-size:11px;padding:4px 10px;vertical-align:middle}
@keyframes bt-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Pegatinas ── */
.bt-sticker{--tilt:0deg;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:800;font-size:13px;line-height:1;letter-spacing:.02em;text-transform:uppercase;padding:6px 14px;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);color:var(--bt-navy);box-shadow:var(--bt-shadow-pop-sm);transform:rotate(var(--tilt));white-space:nowrap;text-decoration:none}
.bt-sticker--sun{background:var(--bt-sun);color:var(--bt-navy)}
.bt-sticker--terra{background:var(--bt-terra-ink);color:#FFFFFF}
.bt-sticker--sea{background:var(--bt-sea);color:#FFFFFF}
.bt-sticker--cream{background:var(--bt-cream);color:var(--bt-navy)}
.bt-sticker--pink{background:var(--bt-pink);color:var(--bt-navy)}
.bt-sticker--white{background:var(--bt-white);color:var(--bt-navy)}
.bt-sticker--navy{background:var(--bt-navy);color:#FFFFFF}
.bt-sticker--lg{font-size:15px;padding:10px 18px;box-shadow:var(--bt-shadow-pop)}
.bt-sticker svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}
.bt-sticker-cloud{display:flex;flex-wrap:wrap;gap:12px 14px;margin:0 0 28px}
.bt-sticker-cloud .bt-sticker{--tilt:-2deg}
.bt-sticker-cloud .bt-sticker:nth-child(2n){--tilt:2deg}
.bt-sticker-cloud .bt-sticker:nth-child(3n){--tilt:-1deg}
.bt-sticker-row{display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:center;margin:0 0 20px}

/* ── Botones (.bt-btn y el .builder-button del maquetador) ── */
.bt-btn,.builder-button,.builder-cta-button,.builder-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;font-family:var(--font-body);font-weight:800;font-size:15px;line-height:1;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);color:var(--bt-navy);box-shadow:var(--bt-shadow-pop);white-space:nowrap;-webkit-appearance:none;appearance:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}
.bt-btn:hover,.builder-button:hover,.builder-cta-button:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop-lg);color:var(--bt-navy);text-decoration:none}
.bt-btn:active,.builder-button:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--bt-navy)}
.bt-btn[disabled],.bt-btn.is-busy{opacity:.55;cursor:wait;transform:none;box-shadow:var(--bt-shadow-pop)}
.bt-btn--sea,.builder-button.btn-primary{background:var(--bt-sea);color:#FFFFFF}
.bt-btn--sea:hover,.builder-button.btn-primary:hover{background:var(--bt-sea);color:#FFFFFF}
.bt-btn--sun,.builder-button.btn-secondary{background:var(--bt-sun);color:var(--bt-navy)}
.bt-btn--sun:hover,.builder-button.btn-secondary:hover{background:var(--bt-sun);color:var(--bt-navy)}
.bt-btn--navy{background:var(--bt-navy);color:var(--bt-sun)}
.bt-btn--navy:hover{background:var(--bt-navy);color:var(--bt-sun)}
.bt-btn--white,.builder-button.btn-light,.builder-button.btn-outline{background:var(--bt-white);color:var(--bt-navy)}
.bt-btn--white:hover,.builder-button.btn-light:hover,.builder-button.btn-outline:hover{background:var(--bt-white);color:var(--bt-navy)}
.bt-btn--block{display:flex;width:100%}
.bt-btn--sm{height:40px;padding:0 18px;font-size:13px;box-shadow:var(--bt-shadow-pop-sm)}
.bt-btn--sm:hover{box-shadow:var(--bt-shadow-pop)}
.bt-btn svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}
.builder-button-wrap{display:inline-block;margin:0 12px 12px 0;vertical-align:middle}
.builder-button.btn-large{height:58px;padding:0 32px;font-size:16px}

/* ── Hero ── */
.bt-hero-pop{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;padding:40px 0 56px}
.bt-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.bt-hero-h1{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5.2vw,68px);line-height:1;letter-spacing:-.02em;color:var(--bt-navy);margin:0 0 22px;text-wrap:balance;max-width:18ch}
.bt-hero-h1 .bt-hl{font-size:.92em;margin:0 .06em}
.bt-hero-lead{font-family:var(--font-body);font-weight:500;font-size:20px;line-height:1.5;color:var(--bt-ink-2);max-width:48ch;margin:0 0 24px}
.bt-hero-lead strong{color:var(--bt-navy);font-weight:700}
.bt-offer-pop{position:relative;display:grid;grid-template-columns:auto 1fr;gap:20px 24px;align-items:center;width:100%;background:var(--bt-cream);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:26px 28px;margin:0 0 28px}
.bt-offer-tag{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;background:var(--bt-sun);color:var(--bt-navy);border:var(--bt-outline);border-radius:18px;box-shadow:var(--bt-shadow-pop);transform:rotate(-6deg);flex-shrink:0}
.bt-offer-tag b{font-family:var(--font-display);font-weight:800;font-size:38px;line-height:1;letter-spacing:-.03em}
.bt-offer-tag small{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.bt-offer-body{min-width:0}
.bt-offer-title{font-family:var(--font-body);font-weight:800;font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:0 0 6px;color:var(--bt-navy)}
.bt-offer-then{font-family:var(--font-mono);font-weight:500;font-size:13px;line-height:1.5;color:var(--bt-terra-ink);margin:0 0 12px}
.bt-offer-pop .bt-checks{margin:0}
.bt-offer-pop .bt-sticker{position:absolute;top:-14px;left:24px;--tilt:-3deg}
.bt-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 24px;width:100%}
.bt-proof{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--font-mono);font-weight:500;font-size:13px;line-height:1.5;color:var(--bt-navy)}
.bt-proof li::before{content:"✓ ";font-weight:700}
.bt-hero-visual{position:relative;min-width:0}
@media (min-width:900px){
  .bt-hero-pop{grid-template-columns:1fr 1fr;gap:56px;padding:48px 0 64px;align-items:start}
  /* La ventana arranca a la altura del H1 (la nube de pegatinas mide ~30px + 28px de margen) */
  .bt-hero-visual{margin-top:58px}
}
@media (max-width:899px){
  .bt-hero-visual{order:9}
}

/* ── Ventana (marco tipo navegador para la foto) ── */
.bt-window{position:relative;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);overflow:visible}
.bt-window-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bt-navy);color:#FFFFFF;border-bottom:var(--bt-outline);border-radius:calc(var(--bt-radius-card) - 2px) calc(var(--bt-radius-card) - 2px) 0 0;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.bt-window-bar .dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--bt-navy-deep);flex-shrink:0}
.bt-window-bar .dot--terra{background:var(--bt-terra)}
.bt-window-bar .dot--sun{background:var(--bt-sun)}
.bt-window-bar .dot--ok{background:var(--bt-ok)}
.bt-window-bar .bt-window-title{flex:1;text-align:center;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-window-bar .bt-window-meta{color:var(--bt-sky-2);font-weight:500}
.bt-window-img{position:relative;display:block;width:100%;aspect-ratio:4/3;background:var(--bt-sky) var(--img) center/cover no-repeat;border-radius:0 0 calc(var(--bt-radius-card) - 2px) calc(var(--bt-radius-card) - 2px);overflow:hidden}
.bt-window-img img{display:block;width:100%;height:100%;object-fit:cover}
.bt-window-chips{position:absolute;inset:0;pointer-events:none}
.bt-window-chips .bt-sticker{position:absolute;pointer-events:auto}
.bt-window-chips .bt-sticker:nth-child(1){top:16px;left:16px;--tilt:-2deg}
.bt-window-chips .bt-sticker:nth-child(2){bottom:16px;right:16px;--tilt:2deg}
.bt-window-chips .bt-sticker:nth-child(3){bottom:-18px;left:-14px;--tilt:-4deg}
.bt-window-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 16px;border-top:var(--bt-outline);font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--bt-navy);background:var(--bt-sky)}

/* ── Checks (círculo navy con tick blanco; no hace falta SVG en el HTML) ── */
.bt-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bt-checks>li{position:relative;display:flex;align-items:flex-start;gap:10px;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:1.4;color:var(--bt-navy);max-width:none}
.bt-checks>li::before{content:"";flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--bt-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px 14px no-repeat}
.bt-checks>li:has(>svg:first-child)::before{display:none}
.bt-checks>li>svg:first-child{flex-shrink:0;width:22px;height:22px;padding:4px;margin-top:1px;border-radius:50%;background:var(--bt-navy);stroke:#FFFFFF;box-sizing:border-box}
.bt-checks>li strong{font-weight:800}
.bt-checks--white>li{color:#FFFFFF}
.bt-checks--white>li::before{background-color:#FFFFFF;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2A47' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.bt-checks--2col{grid-template-columns:1fr 1fr;gap:10px 20px}

/* ── Bandas a sangre ── */
.bt-band{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-top:var(--bt-outline);border-bottom:var(--bt-outline)}
.bt-band--navy{background:var(--bt-navy);color:#FFFFFF;padding:18px 20px}
.bt-band--navy ul{list-style:none;margin:0 auto;padding:0;max-width:1280px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.bt-band--navy li{display:inline-flex;align-items:center;gap:10px;padding:0 20px}
.bt-band--navy li+li::before{content:"•";color:var(--bt-sun);margin-right:20px}
.bt-band--navy svg{width:20px;height:20px;stroke:var(--bt-sun);flex-shrink:0}
.bt-band--navy .is-sun{color:var(--bt-sun)}
.bt-band--sea{background:var(--bt-sea);color:#FFFFFF;padding:16px 20px}
.bt-band--sea ul{list-style:none;margin:0 auto;padding:0;max-width:1280px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 20px;font-family:var(--font-body);font-weight:700;font-size:16px}
.bt-band--sea li{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}
.bt-band--sea li::before{content:"";flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231273E6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px 14px no-repeat}
.bt-band--sun{background:var(--bt-sun);color:var(--bt-navy);padding:16px 20px;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-align:center}

/* ── Cabecera de sección ── */
.bt-sec-head{text-align:center;max-width:60ch;margin:0 auto 40px}
.bt-sec-head .bt-sticker-row{margin-bottom:18px}
.bt-sec-head h2,.bt-sec-head .bt-h2{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,4.5vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;color:var(--bt-navy);text-wrap:balance}
.bt-sec-head p,.bt-sec-head .bt-lead{font-family:var(--font-body);font-weight:500;font-size:18px;line-height:1.55;color:var(--bt-ink-2);margin:0 auto;max-width:60ch}
.bt-sec-head--left{text-align:left;margin-left:0}
.bt-sec-head--left .bt-sticker-row{justify-content:flex-start}
.bt-sec-head--left p{margin-left:0}

/* ── Tarjetas de plan y caja de precio ── */
.bt-plan-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:stretch}
.bt-plan{position:relative;display:flex;flex-direction:column;background:var(--bt-white);color:var(--bt-navy);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:32px;min-width:0}
.bt-plan--cream{background:var(--bt-cream)}
.bt-plan--white{background:var(--bt-white)}
.bt-plan--pink{background:var(--bt-pink)}
.bt-plan--sky{background:var(--bt-sky)}
.bt-plan-badge{position:absolute;top:-16px;right:20px;--tilt:3deg}
.bt-plan-kicker{display:block;font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--bt-navy);opacity:.7;margin:0 0 10px}
.bt-plan-name{font-family:var(--font-display);font-weight:800;font-size:32px;line-height:1.05;letter-spacing:-.02em;margin:0 0 10px;color:var(--bt-navy)}
.bt-plan-desc{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.5;color:var(--bt-ink-2);margin:0 0 22px;max-width:none}
.bt-price-box{background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm);padding:16px 20px;margin:0 0 22px}
.bt-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;font-family:var(--font-display);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--bt-navy)}
.bt-price .bt-cur,.bt-price small{font-size:60%;font-weight:700;letter-spacing:-.02em}
.bt-price-per{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.02em;color:var(--bt-navy);opacity:.75;align-self:baseline}
.bt-price-then{display:block;font-family:var(--font-mono);font-weight:700;font-size:13px;line-height:1.5;color:var(--bt-terra-ink);margin:8px 0 0}
.bt-plan .bt-checks{margin:0 0 26px}
.bt-plan .bt-btn{margin-top:auto;width:100%}
.bt-plan-note{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:1.5;color:var(--bt-ink-2);margin:14px 0 0;max-width:none}
.bt-plan-grid--2{max-width:880px;margin-left:auto;margin-right:auto}
.bt-plan-grid--5 .bt-plan{padding:24px}
.bt-plan-grid--5 .bt-plan-name{font-size:26px}
.bt-plan-grid--5 .bt-price{font-size:36px}
@media (min-width:1000px){.bt-plan-grid{grid-template-columns:repeat(3,1fr)}.bt-plan-grid--2{grid-template-columns:repeat(2,1fr)}.bt-plan-grid--5{grid-template-columns:repeat(5,1fr);gap:18px}}
@media (min-width:700px) and (max-width:999px){.bt-plan-grid--5,.bt-plan-grid--2{grid-template-columns:repeat(2,1fr)}}

/* ── Extras y letra pequeña (/plans) ── */
.bt-extras{display:grid;gap:12px;max-width:880px;margin:0 auto}
.bt-extra{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:16px 20px;background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm)}
.bt-extra strong{font-family:var(--font-body);font-weight:800;font-size:17px}
.bt-extra span{font-family:var(--font-mono);font-weight:500;font-size:14px}
.bt-extra small{width:100%;font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2)}
.bt-fineprint{list-style:none;margin:0 auto;padding:20px 24px;max-width:880px;display:grid;gap:10px;font-family:var(--font-mono);font-weight:500;font-size:12.5px;line-height:1.6;color:var(--bt-ink-2);background:var(--bt-white);border:var(--bt-outline);border-radius:14px}
.bt-fineprint li{padding-left:16px;position:relative;max-width:none}
.bt-fineprint li::before{content:"//";position:absolute;left:0;top:0;color:var(--bt-terra);font-weight:700}

/* ── Pasos ── */
.bt-steps-pop{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
.bt-steps-title{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.02em;margin:0 0 20px;color:var(--bt-navy);text-wrap:balance}
.bt-steps-intro{font-family:var(--font-body);font-weight:500;font-size:18px;line-height:1.55;color:var(--bt-ink-2);margin:0 0 24px;max-width:44ch}
.bt-steps-list{display:grid;gap:18px}
.bt-step{position:relative;display:grid;grid-template-columns:56px 1fr;gap:10px 20px;align-items:start;padding:22px 24px 22px 22px;background:var(--bt-cream);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop)}
.bt-step--cream{background:var(--bt-cream)}
.bt-step--white{background:var(--bt-white)}
.bt-step--pink{background:var(--bt-pink)}
.bt-step--sky{background:var(--bt-sky)}
.bt-step-n{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm);transform:rotate(-4deg);font-family:var(--font-display);font-weight:800;font-size:26px;line-height:1;background:var(--bt-sun);color:var(--bt-navy)}
.bt-step-n--sun{background:var(--bt-sun);color:var(--bt-navy)}
.bt-step-n--sea{background:var(--bt-sea);color:#FFFFFF}
.bt-step-n--terra{background:var(--bt-terra);color:#FFFFFF}
.bt-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bt-step-title{font-family:var(--font-body);font-weight:800;font-size:20px;line-height:1.25;letter-spacing:-.01em;margin:0;color:var(--bt-navy);flex:1;min-width:0}
.bt-step-text{grid-column:2;font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.5;color:var(--bt-ink-2);margin:0;max-width:none}
.bt-step-time{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border:var(--bt-outline);border-radius:8px;background:var(--bt-white);color:var(--bt-navy);white-space:nowrap;flex-shrink:0}
.bt-step-time svg{width:14px;height:14px;stroke:currentColor}
.bt-note-box{display:flex;gap:10px;align-items:flex-start;padding:16px 18px;background:var(--bt-sky);border:var(--bt-outline);border-radius:14px;font-family:var(--font-mono);font-weight:500;font-size:14px;line-height:1.55;color:var(--bt-navy);max-width:none;margin:24px 0 0}
.bt-note-box b{font-weight:700}
.bt-note-box svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0;margin-top:2px}
@media (min-width:900px){.bt-steps-pop{grid-template-columns:5fr 7fr;gap:56px}}

/* ── Comparativa ── */
.bt-compare{border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);background:var(--bt-white);overflow:hidden;max-width:1100px;margin:0 auto}
.bt-compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bt-compare table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:16px;color:var(--bt-navy);min-width:560px}
.bt-compare th,.bt-compare td{padding:18px 22px;text-align:left;vertical-align:top;line-height:1.4}
.bt-compare thead th{background:var(--bt-navy);color:#FFFFFF;font-weight:800;font-size:16px;border-bottom:var(--bt-outline)}
.bt-compare thead th:nth-child(2){background:var(--bt-sea);color:#FFFFFF}
.bt-compare tbody tr+tr td{border-top:1px solid var(--bt-line)}
.bt-compare tbody td:first-child{font-weight:600}
.bt-compare tbody td:nth-child(2){background:var(--bt-sky);color:var(--bt-navy);font-weight:700;border-left:var(--bt-outline);border-right:var(--bt-outline)}
.bt-compare thead th:nth-child(2){border-left:var(--bt-outline);border-right:var(--bt-outline)}
.bt-compare tbody td:nth-child(3){color:var(--bt-ink-2);font-weight:500}
.bt-compare td svg{width:18px;height:18px;vertical-align:-3px;margin-right:6px;stroke:currentColor}
.bt-compare-foot{padding:12px 22px;border-top:var(--bt-outline);font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--bt-ink-2);background:var(--bt-paper)}

/* ── A quién le hablamos (btSegmentos) ── */
.bt-who{display:grid;grid-template-columns:1fr;gap:22px;max-width:1280px;margin:0 auto}
.bt-who-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 26px;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop)}
.bt-who-card--cream{background:var(--bt-cream)}
.bt-who-card--sky{background:var(--bt-sky)}
.bt-who-card--pink{background:var(--bt-pink)}
.bt-who-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm);transform:rotate(-4deg);background:var(--bt-sun);color:var(--bt-navy)}
.bt-who-ico--sky{background:var(--bt-sea);color:#FFFFFF}
.bt-who-ico--pink{background:var(--bt-terra);color:#FFFFFF}
.bt-who-ico svg{width:26px;height:26px;stroke:currentColor}
.bt-who-tag{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bt-navy);opacity:.75}
.bt-who-card h3{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.2vw,27px);line-height:1.08;letter-spacing:-.02em;margin:0}
.bt-who-card>p{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.55;color:var(--bt-ink-2);margin:0}
.bt-who-card .bt-checks{margin-top:6px;width:100%}
.bt-who-card .bt-checks>li{font-size:15px;font-weight:600}
@media (min-width:820px){.bt-who{grid-template-columns:repeat(3,1fr)}}

/* ── Panel a dos columnas (btUnaCuenta) ── */
.bt-panel{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:32px;max-width:1100px;margin:0 auto}
.bt-panel h3{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.05;letter-spacing:-.02em;margin:0 0 14px}
.bt-panel>div>p{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.55;color:var(--bt-ink-2);margin:14px 0 0}
.bt-panel-side{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.bt-panel-side .bt-checks>li{font-size:16px;font-weight:500;color:var(--bt-ink-2)}
.bt-panel-side .bt-checks>li strong{font-weight:800;color:var(--bt-navy)}
@media (min-width:900px){.bt-panel{grid-template-columns:1.05fr .95fr;gap:48px;padding:40px}}

/* ── Banda de estancia corta (btEstanciaCorta): Erasmus y nómadas, sin ser el titular ── */
.bt-band--cream{background:var(--bt-cream);color:var(--bt-navy);padding:40px 20px}
.bt-band--cream .bt-band-text{max-width:820px;margin:0 auto;text-align:center}
.bt-band--cream .bt-band-text b{display:block;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;opacity:.75}
.bt-band--cream .bt-band-text h3{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,3vw,34px);line-height:1.05;letter-spacing:-.02em;margin:0 0 12px}
.bt-band--cream .bt-band-text p{font-family:var(--font-body);font-weight:500;font-size:17px;line-height:1.55;color:var(--bt-ink-2);margin:0 auto 22px;max-width:66ch}
.bt-band--cream .bt-band-text .bt-btn{text-decoration:none}

/* ── Cobertura ── */
.bt-coverage-pop{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:32px;max-width:1100px;margin:0 auto}
.bt-coverage-pop h3{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.05;letter-spacing:-.02em;margin:0 0 14px}
.bt-coverage-pop p{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.55;color:var(--bt-ink-2);margin:14px 0 0}
.bt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.bt-chips li,.bt-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border:var(--bt-outline);border-radius:8px;background:var(--bt-white);color:var(--bt-navy);box-shadow:var(--bt-shadow-pop-sm)}
.bt-chip--sun{background:var(--bt-sun)}
.bt-chip--sky{background:var(--bt-sky)}
.bt-chip--cream{background:var(--bt-cream)}
.bt-coverage-art svg,.bt-coverage-art img{display:block;width:100%;height:auto;max-width:420px;margin:0 auto}
@media (min-width:900px){.bt-coverage-pop{grid-template-columns:1.1fr .9fr;gap:40px;padding:40px}}

/* ── FAQ (.bt-faq propio y el acordeón del maquetador) ── */
.bt-faq{display:grid;gap:12px;max-width:820px;margin:0 auto}
.bt-faq-item,.builder-accordion-item{background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm);margin:0;overflow:hidden}
.builder-accordion{display:grid;gap:12px;margin:0}
.bt-faq-item summary,.builder-accordion-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--font-body);font-weight:700;font-size:17px;line-height:1.3;color:var(--bt-navy);cursor:pointer;user-select:none}
.bt-faq-item summary::-webkit-details-marker,.builder-accordion-item summary::-webkit-details-marker{display:none}
.bt-faq-item summary::after,.builder-accordion-item summary::after{content:"+";flex-shrink:0;font-family:var(--font-mono);font-weight:700;font-size:20px;line-height:1;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:var(--bt-outline);border-radius:8px;background:var(--bt-cream)}
.bt-faq-item[open] summary::after,.builder-accordion-item[open] summary::after{content:"−";background:var(--bt-sun)}
.builder-accordion-item .acc-chevron{display:none}
.bt-faq-item>div,.bt-faq-body,.builder-accordion-item .acc-body{padding:0 22px 20px;font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.6;color:var(--bt-ink-2);opacity:1}
.bt-faq-item p,.builder-accordion-item .acc-body p{margin:0 0 10px;max-width:none}
.bt-faq-item p:last-child{margin-bottom:0}

/* ── Cierre a sangre en SOL ── */
.bt-cta-sun{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--bt-sun);color:var(--bt-navy);border-top:var(--bt-outline);border-bottom:var(--bt-outline);padding:88px 20px;text-align:center}
.bt-cta-sun>*{max-width:900px;margin-left:auto;margin-right:auto}
.bt-cta-sun .bt-sticker{--tilt:-2deg;margin-bottom:22px}
.bt-cta-sun h2,.bt-cta-sun .bt-h2{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,6vw,80px);line-height:1;letter-spacing:-.025em;color:var(--bt-navy);margin:0 auto 20px;max-width:900px;text-wrap:balance}
.bt-cta-sun p,.bt-cta-sun .bt-lead{font-family:var(--font-body);font-weight:600;font-size:20px;line-height:1.5;color:var(--bt-navy);margin:0 auto 30px;max-width:44ch}
.bt-cta-sun .bt-btn{margin:0 auto}
.bt-cta-sun .bt-cta-line{display:block;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:26px auto 0;color:var(--bt-navy)}

/* ── Pie del núcleo, sobrescrito: navy-deep, títulos mono en sol, «operator data sheet» ── */
.main-footer,.main-footer.footer-variant-full_columns,.main-footer.footer-variant-dark_cta{background:var(--bt-navy-deep);color:#FFFFFF;border-top:var(--bt-outline);padding:64px 0 28px}
.main-footer .container{max-width:1280px;margin:0 auto;padding:0 20px}
.main-footer .footer-grid{grid-template-columns:1fr;gap:36px;margin-bottom:40px}
.main-footer .footer-logo{filter:brightness(0) invert(1);height:34px;width:auto;margin-bottom:18px}
.main-footer .footer-brand{padding-right:0}
.main-footer .footer-brand p{font-family:var(--font-body);font-weight:500;font-size:15px;line-height:1.6;color:var(--bt-sky-2);max-width:36ch;margin:0 0 20px}
.main-footer .footer-links h4,.main-footer .footer-contact h4{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bt-sun);margin:0 0 16px}
.main-footer .footer-links ul,.main-footer .footer-contact ul{list-style:none;margin:0;padding:0}
.main-footer .footer-links ul li,.main-footer .footer-contact ul li{margin:0 0 10px}
.main-footer .footer-links a,.main-footer .footer-contact a{font-family:var(--font-body);font-weight:600;font-size:15px;color:#FFFFFF;text-decoration:none}
.main-footer .footer-links a:hover,.main-footer .footer-contact a:hover{color:var(--bt-sun);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.main-footer .footer-contact ul li{color:var(--bt-sky-2);font-family:var(--font-mono);font-size:14px}
.main-footer .footer-contact i{display:none}
.main-footer .footer-contact .bt-ico{display:inline-flex;flex-shrink:0}
.main-footer .footer-contact .bt-ico svg{width:18px;height:18px;stroke:var(--bt-sun)}
.main-footer .footer-contact:not(:has(li)){display:none}
.main-footer .footer-social a{width:40px;height:40px;background:transparent;border:2px solid #FFFFFF;border-radius:50%;color:#FFFFFF;box-shadow:none}
.main-footer .footer-social a:hover{background:var(--bt-sun);border-color:var(--bt-sun);color:var(--bt-navy);transform:none;box-shadow:none}
.main-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:22px;text-align:center}
.main-footer .footer-bottom p{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.02em;color:var(--bt-sky-2);margin:0;max-width:none}
.main-footer .footer-bottom a{color:#FFFFFF}
.bt-sheet{border:2px solid rgba(255,255,255,.2);border-radius:14px;padding:18px 20px;font-family:var(--font-mono);font-weight:500;font-size:13px;line-height:1.7;color:#FFFFFF;background:transparent}
.bt-sheet h4,.bt-sheet .bt-sheet-title{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bt-sun);margin:0 0 10px}
.bt-sheet dl{margin:0;display:grid;gap:4px}
.bt-sheet dt,.bt-sheet b{display:inline;font-weight:700;color:var(--bt-sun)}
.bt-sheet dd{display:inline;margin:0;color:#FFFFFF}
.bt-sheet a{color:#FFFFFF}
.bt-sheet--paper{border-color:var(--bt-navy);color:var(--bt-navy);background:var(--bt-white)}
.bt-sheet--paper dt,.bt-sheet--paper b,.bt-sheet--paper h4{color:var(--bt-terra-ink)}
.bt-sheet--paper dd,.bt-sheet--paper a{color:var(--bt-navy)}
@media (min-width:760px){.main-footer .container{padding:0 48px}.main-footer .footer-grid{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)) minmax(0,1.4fr);gap:40px}}
@media (min-width:760px) and (max-width:999px){.main-footer .footer-grid{grid-template-columns:1fr 1fr}}

/* ── Alertas ── */
.bt-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border:var(--bt-outline);border-radius:14px;background:var(--bt-sky);color:var(--bt-navy);font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1.5;max-width:none}
.bt-alert--error{background:var(--bt-pink)}
.bt-alert--ok{background:var(--bt-cream)}
.bt-alert--sun{background:var(--bt-sun)}
.bt-alert svg{width:20px;height:20px;stroke:currentColor;flex-shrink:0;margin-top:2px}
.bt-alert a{color:var(--bt-navy)}
.bt-alert p{margin:0;max-width:none}

/* ── Campos y formulario del núcleo ── */
.bt-field{display:block;margin:0 0 16px}
.bt-field>span,.bt-field>label,.bt-field-label{display:block;font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--bt-navy);margin:0 0 6px}
.bt-field small{font-weight:500;color:var(--bt-ink-2)}
.bt-input,.bt-field input:not([type=checkbox]):not([type=radio]),.bt-field select,.bt-field textarea,.dynamic-form .form-input,.form-input{display:block;width:100%;height:52px;padding:0 16px;font-family:var(--font-body);font-weight:500;font-size:16px;color:var(--bt-navy);background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:none;-webkit-appearance:none;appearance:none;transition:box-shadow .15s ease,transform .15s ease}
.bt-field textarea,.form-textarea,.dynamic-form .form-textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
.bt-field select,.form-select,.dynamic-form .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230E2A47' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px}
.bt-input:focus,.bt-field input:focus,.bt-field select:focus,.bt-field textarea:focus,.form-input:focus{outline:0;box-shadow:2px 2px 0 var(--bt-sea);border-color:var(--bt-sea)}
.bt-input::placeholder,.form-input::placeholder{color:#7A8A9C;opacity:1}
.bt-field .is-invalid,.form-input.error,.form-input.is-invalid{border-color:var(--bt-terra)!important;background:var(--bt-pink)!important}
.bt-field-err{display:block;font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--bt-terra-ink);margin:6px 0 0}
.bt-check-row{display:flex;gap:12px;align-items:flex-start;font-family:var(--font-body);font-weight:500;font-size:15px;color:var(--bt-navy);cursor:pointer}
.bt-check-row input{width:22px;height:22px;flex-shrink:0;margin-top:1px;accent-color:var(--bt-navy)}
.bt-form,.dynamic-form-container{max-width:760px;margin:0 auto;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:32px;text-align:left}
.bt-form-grid{display:grid;grid-template-columns:1fr;gap:0 16px}
.bt-form-full{grid-column:1/-1}
.bt-form-consent{display:flex!important;gap:12px;align-items:flex-start;margin:6px 0 20px;font-weight:500!important;font-size:15px!important;color:var(--bt-navy)!important}
.bt-form-consent input{margin-top:3px;width:22px;height:22px;accent-color:var(--bt-navy)}
.bt-form-msg,.form-message{margin:14px 0 0;font-family:var(--font-mono);font-weight:700;font-size:14px;min-height:1.4em;display:block;padding:0;background:transparent;border:0}
.bt-form-msg.is-ok,.form-message--success{color:var(--bt-ok)}
.bt-form-msg.is-error,.form-message--error{color:var(--bt-terra-ink)}
.bt-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bt-form-note{font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2);margin:14px 0 0;text-align:center;max-width:none}
.dynamic-form .form-field label,.dynamic-form label{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--bt-navy)}
.dynamic-form .form-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
.dynamic-form .btn,.dynamic-form .btn-primary,.dynamic-form .btn-outline{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;font-family:var(--font-body);font-weight:800;font-size:15px;letter-spacing:.02em;text-transform:uppercase;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);color:var(--bt-navy);box-shadow:var(--bt-shadow-pop);cursor:pointer}
.dynamic-form .btn-primary{background:var(--bt-sea);color:#FFFFFF}
.dynamic-form .btn:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop-lg)}
.dynamic-form .btn:disabled{opacity:.55;cursor:wait;transform:none}
.dynamic-form .form-progress__step{font-family:var(--font-mono);font-weight:700}
.form-error{font-family:var(--font-mono);color:var(--bt-terra-ink);font-weight:700}
@media (min-width:600px){.bt-form-grid{grid-template-columns:1fr 1fr}}

/* ── Barra fija de móvil: CRISTAL NAVY (la segunda y última superficie con blur) ── */
.bt-sticky{display:none}
@media (max-width:767px){
  .bt-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bt-glass-navy);-webkit-backdrop-filter:blur(var(--bt-blur)) saturate(140%);backdrop-filter:blur(var(--bt-blur)) saturate(140%);border-top:2px solid var(--bt-sun);color:#FFFFFF;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .bt-sticky span{font-family:var(--font-body);font-weight:700;font-size:15px;line-height:1.2;color:#FFFFFF;min-width:0}
  .bt-sticky small{display:block;font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--bt-sky-2);margin-top:2px}
  .bt-sticky .bt-btn{height:44px;padding:0 18px;font-size:13px;flex-shrink:0;box-shadow:var(--bt-shadow-pop-sm)}
  body:has(.bt-sticky){padding-bottom:84px}
  body:has(.bt-sticky) .cookie-consent.cc-bottom{bottom:84px}
}
@supports not (backdrop-filter:blur(1px)){.bt-sticky{background:var(--bt-navy)}}

/* ── Alta online (/signup): asistente .bt-wiz* (nombres intocables: el JS los usa) ── */
.bt-wiz{max-width:640px;margin:0 auto;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:28px 24px 30px;text-align:left;color:var(--bt-navy);font-family:var(--font-body)}
.bt-wiz h2{font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1.05;letter-spacing:-.02em;margin:0 0 10px;color:var(--bt-navy)}
.bt-wiz p{margin:0 0 18px;font-weight:500;font-size:16px;line-height:1.55;color:var(--bt-ink-2);max-width:none}
.bt-wiz p b{color:var(--bt-navy);font-weight:700}
.bt-wiz a{color:var(--bt-sea-ink);font-weight:700}
.bt-wiz-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.bt-wiz-head svg{width:44px;height:44px;flex-shrink:0}
.bt-wiz-head b{display:block;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;line-height:1.1}
.bt-wiz-head small{display:block;font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--bt-ink-2);margin-top:4px}
.bt-wiz-top{margin:0 0 22px}
.bt-wiz-progress{height:14px;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);overflow:hidden;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-progress i{display:block;height:100%;width:0;background:var(--bt-sun);border-right:var(--bt-outline);transition:width .35s ease}
.bt-wiz-steplabel{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-navy)}
.bt-wiz-steplabel .bt-wiz-stepnum{opacity:.7}
.bt-wiz-steplabel .bt-wiz-stepname{color:var(--bt-sea-ink)}
.bt-wiz-msg{margin:0 0 18px;padding:12px 16px;border:var(--bt-outline);border-radius:14px;background:var(--bt-sky);color:var(--bt-navy);font-weight:600;font-size:15px;line-height:1.45}
.bt-wiz-msg.is-error{background:var(--bt-pink);color:var(--bt-navy)}
.bt-wiz-msg.is-ok{background:var(--bt-cream);color:var(--bt-navy)}
.bt-wiz-msg.is-wait{background:var(--bt-cream)}
.bt-wiz label{display:block;font-weight:700;font-size:15px;color:var(--bt-navy);margin-bottom:16px}
.bt-wiz label>span{display:block;margin-bottom:6px}
.bt-wiz label small{font-weight:500;color:var(--bt-ink-2)}
.bt-wiz input:not([type=checkbox]):not([type=radio]),.bt-wiz select,.bt-wiz textarea{display:block;width:100%;height:52px;padding:0 16px;font-family:var(--font-body);font-weight:500;font-size:16px;color:var(--bt-navy);background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:none;-webkit-appearance:none;appearance:none;transition:box-shadow .15s ease}
.bt-wiz textarea{height:auto;min-height:110px;padding:14px 16px}
.bt-wiz select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230E2A47' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px}
.bt-wiz input:focus,.bt-wiz select:focus,.bt-wiz textarea:focus{outline:0;border-color:var(--bt-sea);box-shadow:2px 2px 0 var(--bt-sea)}
.bt-wiz input::placeholder{color:#7A8A9C;opacity:1}
.bt-wiz .is-invalid{border-color:var(--bt-terra)!important;background:var(--bt-pink)!important}
.bt-wiz-err{display:block;font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--bt-terra-ink);margin-top:6px}
.bt-wiz-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.bt-wiz-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.bt-wiz-seg label{margin:0;position:relative}
.bt-wiz-seg input{position:absolute;opacity:0;pointer-events:none}
.bt-wiz-seg span{display:block;text-align:center;padding:13px 8px;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;box-shadow:var(--bt-shadow-pop-sm);transition:transform .12s ease,box-shadow .12s ease}
.bt-wiz-seg input:checked+span{background:var(--bt-sun);color:var(--bt-navy);transform:translate(1px,1px);box-shadow:0 0 0 var(--bt-navy)}
.bt-wiz-seg input:focus-visible+span{outline:3px solid var(--bt-sea);outline-offset:2px}
.bt-wiz-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:500!important;font-size:15px!important;line-height:1.45;cursor:pointer}
.bt-wiz-check input{width:22px;height:22px;flex-shrink:0;margin-top:1px;accent-color:var(--bt-navy)}
.bt-wiz-toggle{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:var(--bt-outline);border-radius:14px;background:var(--bt-white);box-shadow:var(--bt-shadow-pop-sm);font-weight:700!important;cursor:pointer}
.bt-wiz-toggle input{width:44px;height:26px;accent-color:var(--bt-navy);flex-shrink:0}
.bt-wiz-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 20px}
.bt-wiz-plan{position:relative;text-align:left;font:inherit;padding:14px 16px;border:var(--bt-outline);border-radius:16px;background:var(--bt-white);color:var(--bt-navy);cursor:pointer;box-shadow:var(--bt-shadow-pop-sm);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;-webkit-appearance:none;appearance:none}
.bt-wiz-plan:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop)}
.bt-wiz-plan b{display:block;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;line-height:1.1}
.bt-wiz-plan span{display:block;font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:1.45;color:var(--bt-ink-2);margin-top:5px}
.bt-wiz-plan.is-selected{background:var(--bt-sun);transform:translate(2px,2px);box-shadow:0 0 0 var(--bt-navy)}
.bt-wiz-plan.is-selected span{color:var(--bt-navy)}
.bt-wiz-plan.is-hero{grid-column:1/-1;background:var(--bt-cream);padding:18px 20px;box-shadow:var(--bt-shadow-pop)}
.bt-wiz-plan.is-hero b{font-size:26px}
.bt-wiz-plan.is-hero.is-selected{background:var(--bt-sun);box-shadow:0 0 0 var(--bt-navy)}
.bt-wiz-plan.is-hero::after{content:"Most popular";position:absolute;top:-12px;right:14px;font-family:var(--font-body);font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border:var(--bt-outline);border-radius:999px;background:var(--bt-terra-ink);color:#FFFFFF;box-shadow:var(--bt-shadow-pop-sm);transform:rotate(3deg)}
.bt-wiz-plans .bt-wiz-plan-group{grid-column:1/-1;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bt-navy);opacity:.7;margin-top:10px}
.bt-wiz-recap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:var(--bt-outline);border-radius:14px;background:var(--bt-cream);margin-bottom:20px;font-weight:700;font-size:15px}
.bt-wiz-recap a{font-family:var(--font-mono);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.bt-wiz-next,.bt-wiz button.bt-wiz-next,.bt-wiz a.bt-wiz-next{display:flex;align-items:center;justify-content:center;width:100%;height:56px;padding:0 24px;margin-top:8px;font-family:var(--font-body);font-weight:800;font-size:16px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;text-align:center;color:#FFFFFF;background:var(--bt-sea);border:var(--bt-outline);border-radius:999px;box-shadow:var(--bt-shadow-pop);cursor:pointer;-webkit-appearance:none;appearance:none;transition:transform .12s ease,box-shadow .12s ease}
.bt-wiz-next:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop-lg);color:#FFFFFF}
.bt-wiz-next:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--bt-navy)}
.bt-wiz-next[disabled]{opacity:.55;cursor:wait;transform:none;box-shadow:var(--bt-shadow-pop)}
.bt-wiz-next.is-secondary,.bt-wiz a.bt-wiz-next.is-secondary{background:var(--bt-white);color:var(--bt-navy);margin-top:12px}
.bt-wiz-next.is-secondary:hover{color:var(--bt-navy)}
.bt-wiz-small{font-family:var(--font-mono);font-weight:500;font-size:13px;text-align:center;margin-top:18px!important;color:var(--bt-ink-2)}
/* Tarjeta simulada del alta (solo modo desarrollo, sin claves de Stripe) */
.bt-wiz-dev{font-family:var(--font-mono);font-weight:500;font-size:13px;line-height:1.5;color:var(--bt-navy);background:var(--bt-sun);border:var(--bt-outline);border-radius:14px;padding:12px 14px;margin-bottom:18px!important;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-dev b{font-family:var(--font-body);font-weight:800}
.bt-wiz-testcards{border:2px dashed var(--bt-navy);border-radius:14px;padding:12px 16px;margin-top:18px;background:var(--bt-cream)}
.bt-wiz-testcards summary{font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:var(--bt-navy);cursor:pointer}
.bt-wiz-testcards ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.bt-wiz-testcards li{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:1.4;color:var(--bt-ink-2);display:flex;flex-wrap:wrap;gap:4px 10px}
.bt-wiz-testcards li b{font-weight:700;color:var(--bt-navy);white-space:nowrap}
.bt-wiz-testcards p{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:1.5;color:var(--bt-ink-2);margin:12px 0 0}
.bt-wiz-link{font:inherit;color:var(--bt-sea-ink);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.bt-wiz-otp{text-align:center;font-family:var(--font-display)!important;font-size:34px!important;font-weight:800!important;letter-spacing:.3em;height:68px!important}
.bt-wiz-docs{display:grid;gap:14px;margin-bottom:20px}
.bt-wiz-doc{border:2px dashed var(--bt-navy);border-radius:16px;padding:20px;background:var(--bt-cream);text-align:center}
.bt-wiz-doc.is-done{border-style:solid;background:var(--bt-sky);box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-doc b{display:block;font-family:var(--font-display);font-weight:800;font-size:19px;margin-bottom:4px}
.bt-wiz-doc small{display:block;font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2);margin-bottom:14px}
.bt-wiz-doc img{max-width:100%;max-height:220px;border:var(--bt-outline);border-radius:12px;display:block;margin:0 auto 14px;object-fit:contain;background:var(--bt-white)}
.bt-wiz-doc-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bt-wiz-doc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border:var(--bt-outline);border-radius:999px;background:var(--bt-navy);color:var(--bt-sun);font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-doc-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop)}
.bt-wiz-doc-btn.is-light{background:var(--bt-white);color:var(--bt-navy)}
.bt-wiz-doc-btn input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bt-wiz-doc-btn svg{width:18px;height:18px;stroke:currentColor}
.bt-wiz-doc.is-busy{opacity:.6;pointer-events:none}
.bt-wiz-contract{max-height:52vh;overflow:auto;border:var(--bt-outline);border-radius:16px;padding:20px;background:var(--bt-white);margin-bottom:18px;font-size:15px;line-height:1.55;-webkit-overflow-scrolling:touch}
.bt-wiz-contract h1{font-family:var(--font-display);font-size:22px;margin:0 0 8px;letter-spacing:-.01em}
.bt-wiz-contract h2{font-family:var(--font-body);font-size:16px;font-weight:800;margin:18px 0 6px;color:var(--bt-sea-ink);letter-spacing:0}
.bt-wiz-contract p,.bt-wiz-contract li{color:var(--bt-navy);margin-bottom:8px;font-weight:500}
.bt-wiz-contract table.datos{width:100%;border-collapse:collapse;margin:6px 0 12px;font-size:14px}
.bt-wiz-contract table.datos td{border:1px solid var(--bt-line);padding:6px 8px;vertical-align:top}
.bt-wiz-contract table.datos td:first-child{width:34%;background:var(--bt-cream);font-weight:700}
.bt-wiz-contract .fine{font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2)}
.bt-wiz-contract .marca{color:var(--bt-sea-ink);font-weight:700}
.bt-wiz-sig{position:relative;border:var(--bt-outline);border-radius:16px;background:var(--bt-white);margin:16px 0 18px;touch-action:none;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-sig canvas{display:block;width:100%;height:190px;border-radius:14px}
.bt-wiz-sig-hint{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#7A8A9C;pointer-events:none}
.bt-wiz-sig.has-ink .bt-wiz-sig-hint{display:none}
.bt-wiz-sig-clear{position:absolute;right:10px;top:10px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);color:var(--bt-navy);cursor:pointer;box-shadow:var(--bt-shadow-pop-sm)}
#bt-wiz-payment-element{margin-bottom:18px;min-height:120px}
.bt-wiz-summary{display:grid;gap:8px;padding:18px 20px;border:var(--bt-outline);border-radius:16px;background:var(--bt-cream);margin-bottom:20px;font-size:15px;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-summary div{display:flex;justify-content:space-between;gap:12px;font-weight:500}
.bt-wiz-summary b{text-align:right;font-weight:800}
.bt-wiz-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:var(--bt-outline);border-radius:999px;background:var(--bt-cream);color:var(--bt-navy);font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px;box-shadow:var(--bt-shadow-pop-sm);transform:rotate(-2deg)}
.bt-wiz-badge.is-ok{background:var(--bt-sky)}
.bt-wiz-badge.is-wait{background:var(--bt-sun)}
.bt-wiz-badge.is-bad{background:var(--bt-terra-ink);color:#FFFFFF}
.bt-wiz .bt-sticker{margin-bottom:14px}
.bt-wiz-nostripe p{font-weight:600}

/* ── Banner de cookies del núcleo, neutralizado: hueso, contorno navy, sin radios raros ── */
#cookieConsent.cookie-consent{font-family:var(--font-body);font-size:15px;color:var(--bt-navy)}
#cookieConsent .cc-container{background:var(--bt-paper);color:var(--bt-navy);border-top:var(--bt-outline);box-shadow:none;padding:16px 20px;border-radius:0}
#cookieConsent.cc-bottom-left .cc-container,#cookieConsent.cc-bottom-right .cc-container{border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg)}
#cookieConsent .cc-icon{color:var(--bt-navy)}
#cookieConsent .cc-title{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.01em}
#cookieConsent .cc-description{opacity:1;font-weight:500;font-size:14px;color:var(--bt-ink-2)}
#cookieConsent .cc-link{color:var(--bt-sea-ink);font-weight:700;text-decoration-thickness:2px}
#cookieConsent .cc-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase;border:var(--bt-outline);border-radius:999px;background:var(--bt-white);color:var(--bt-navy);box-shadow:var(--bt-shadow-pop-sm);transition:transform .12s ease,box-shadow .12s ease}
#cookieConsent .cc-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--bt-shadow-pop);background:var(--bt-white);color:var(--bt-navy)}
#cookieConsent .cc-btn-primary,#cookieConsent .cc-btn-primary:hover{background:var(--bt-sun);color:var(--bt-navy)}
#cookieConsent .cc-btn-outline,#cookieConsent .cc-btn-outline:hover{background:var(--bt-white);color:var(--bt-navy)}
#cookieConsent .cc-btn-secondary,#cookieConsent .cc-btn-secondary:hover{background:var(--bt-white);color:var(--bt-navy)}
.cc-modal-content{font-family:var(--font-body);color:var(--bt-navy);background:var(--bt-paper);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg)}
.cc-modal-header h3{font-family:var(--font-display);font-weight:800}
.cc-modal-footer .cc-btn{border-radius:999px;border:var(--bt-outline);font-weight:800;text-transform:uppercase}

/* ── Movimiento ── */
.bt-sticker,.bt-plan,.bt-step,.bt-window{transition:transform .15s ease,box-shadow .15s ease}
a.bt-sticker:hover{transform:rotate(var(--tilt)) translate(-1px,-1px);box-shadow:var(--bt-shadow-pop)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
  .bt-marquee{white-space:normal;text-align:center;padding:11px 20px}
  .bt-marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:8px 0}
  .bt-marquee-track>span+span{display:none}
  .bt-marquee-track>span{white-space:normal;padding-right:0;line-height:1.6}
}

/* ── Responsive ── */
@media (max-width:1000px){
  .bt-band--sea ul{grid-template-columns:repeat(2,1fr)}
  .bt-compare th,.bt-compare td{padding:14px 16px;font-size:15px}
}
@media (max-width:760px){
  .builder-section{padding-left:16px!important;padding-right:16px!important}
  /* style.css pone padding:40px 20px!important en .section-content por debajo de 768px: las bandas a
     sangre (marquesina, banda navy, cierre en sol, ficha) deben ir pegadas, y el hero justo bajo la marquesina */
  .builder-section:has(>.section-content .bt-marquee) .section-content,.builder-section:has(>.section-content .bt-band) .section-content,.builder-section:has(>.section-content .bt-cta-sun) .section-content{padding:0!important}
  .builder-section:has(>.section-content .bt-hero-pop){padding-top:0!important}
  .builder-section:has(>.section-content .bt-hero-pop) .section-content{padding:0!important}
  .bt-hero-pop{gap:28px;padding:12px 0 40px}
  .bt-hero-h1{font-size:clamp(40px,11vw,56px);margin-bottom:18px}
  .bt-hero-lead{font-size:18px}
  .bt-offer-pop{grid-template-columns:1fr;gap:16px;padding:26px 20px 22px;box-shadow:var(--bt-shadow-pop)}
  .bt-offer-tag{width:84px;height:84px}
  .bt-offer-tag b{font-size:32px}
  .bt-hero-ctas{flex-direction:column}
  .bt-hero-ctas .bt-btn{width:100%}
  .bt-sticker-cloud{gap:10px}
  .bt-sticker{font-size:12px;padding:6px 12px}
  .bt-plan{padding:26px 22px;box-shadow:var(--bt-shadow-pop)}
  .bt-plan-name{font-size:28px}
  .bt-price{font-size:40px}
  .bt-step{grid-template-columns:48px 1fr;gap:8px 14px;padding:18px}
  .bt-step-n{width:48px;height:48px;font-size:22px}
  .bt-step-time{order:-1}
  .bt-cta-sun{padding:64px 20px}
  .bt-cta-sun p{font-size:18px}
  .bt-cta-sun .bt-btn{width:100%;max-width:420px}
  .bt-coverage-pop{padding:24px;box-shadow:var(--bt-shadow-pop)}
  .bt-panel{padding:24px;box-shadow:var(--bt-shadow-pop)}
  .bt-who-card{padding:22px 20px}
  .bt-band--cream{padding:32px 20px}
  .bt-compare{box-shadow:var(--bt-shadow-pop);border-radius:16px}
  /* Comparativa apilada: la cabecera se oculta y cada celda lleva su columna en data-label */
  .bt-compare table{min-width:0;display:block}
  .bt-compare thead{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .bt-compare tbody{display:grid;gap:0}
  .bt-compare tbody tr{display:grid;grid-template-columns:1fr 1fr;border-top:var(--bt-outline)}
  .bt-compare tbody tr:first-child{border-top:0}
  .bt-compare tbody td{display:block;padding:12px 14px;font-size:15px}
  .bt-compare tbody tr+tr td{border-top:0}
  .bt-compare tbody td:first-child{grid-column:1/-1;padding:12px 14px 6px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-navy)}
  .bt-compare tbody td:nth-child(2){border-left:0;border-right:var(--bt-outline);border-radius:0}
  .bt-compare tbody td:nth-child(2)::before,.bt-compare tbody td:nth-child(3)::before{content:attr(data-label);display:block;font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-ink-2);margin-bottom:4px}
  .bt-compare tbody td:nth-child(2)::before{color:var(--bt-sea-ink)}
  .bt-compare td svg{display:block;margin:0 0 4px}
  .bt-band--navy li{padding:0 12px}
  .bt-band--navy li+li::before{margin-right:12px}
  .bt-band--sea ul{grid-template-columns:1fr;gap:10px}
  .bt-band--sea li{justify-content:flex-start;text-align:left}
  .bt-checks--2col{grid-template-columns:1fr}
  .bt-form,.dynamic-form-container{padding:22px 18px;box-shadow:var(--bt-shadow-pop)}
  .bt-wiz{padding:22px 18px 26px;box-shadow:var(--bt-shadow-pop);border-radius:18px}
  .bt-wiz h2{font-size:26px}
  .bt-wiz-row,.bt-wiz-plans{grid-template-columns:1fr}
  .bt-wiz-plan.is-hero{grid-column:auto}
  .bt-wiz-contract{max-height:46vh;padding:14px}
  .bt-window-chips .bt-sticker:nth-child(3){bottom:-14px;left:8px}
  .main-footer{padding:48px 0 24px}
}
@media (min-width:761px) and (max-width:768px){
  .builder-section:has(>.section-content .bt-marquee) .section-content,.builder-section:has(>.section-content .bt-band) .section-content,.builder-section:has(>.section-content .bt-cta-sun) .section-content{padding:0!important}
  .builder-section:has(>.section-content .bt-hero-pop) .section-content{padding:0!important}
}
@media (max-width:400px){
  .bt-hero-h1{font-size:40px}
  .bt-hl{border-radius:8px}
  .bt-btn,.bt-wiz-next{padding:0 18px;font-size:14px}
  .bt-marquee{font-size:12px}
  .bt-plan{padding:22px 18px}
  .bt-price{font-size:36px}
  .bt-wiz-seg{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .bt-wiz-seg span{padding:12px 4px;font-size:12px}
  .bt-wiz-otp{font-size:28px!important;letter-spacing:.2em}
  .bt-sticky{padding:10px 12px}
  .bt-sticky span{font-size:14px}
  .bt-step{grid-template-columns:1fr}
  .bt-step-n{grid-row:auto}
  .bt-step-text{grid-column:auto}
}

/* ── Añadido 2026-09-15 (agente de portada/plans): clases que el contrato no traía ──
   .bt-service-grid / .bt-service (los 4 servicios de tarifas.php), la tarjeta del hero
   sin etiqueta de precio (.bt-offer-pop--service, .bt-offer-line), la pegatina bajo la
   ventana (.bt-window-under), la línea mono de la caja de precio (.bt-price-line), el
   texto de la banda eSIM (.bt-band-text) y los colores de icono de la banda navy. */
.bt-service-grid{display:grid;grid-template-columns:1fr;gap:20px}
.bt-service{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px;background:var(--bt-white);color:var(--bt-navy);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop);min-width:0}
.bt-service--cream{background:var(--bt-cream)}
.bt-service--sky{background:var(--bt-sky)}
.bt-service--pink{background:var(--bt-pink)}
.bt-service--white{background:var(--bt-white)}
.bt-service-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bt-white);border:var(--bt-outline);border-radius:14px;box-shadow:var(--bt-shadow-pop-sm);transform:rotate(-3deg);flex-shrink:0}
.bt-service-icon svg{width:30px;height:30px;stroke:var(--bt-navy)}
.bt-service h3{font-family:var(--font-body);font-weight:800;font-size:20px;line-height:1.2;letter-spacing:-.01em;margin:0;color:var(--bt-navy)}
.bt-service p{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.5;color:var(--bt-ink-2);margin:0;max-width:none}
.bt-service-grid--compact .bt-service{padding:20px;gap:10px;box-shadow:var(--bt-shadow-pop-sm);border-radius:16px}
.bt-service-grid--compact .bt-service-icon{width:44px;height:44px;border-radius:11px}
.bt-service-grid--compact .bt-service-icon svg{width:24px;height:24px}
.bt-service-grid--compact .bt-service h3{font-size:17px}
.bt-service-grid--compact .bt-service p{font-size:14px}
@media (min-width:700px){.bt-service-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.bt-service-grid{grid-template-columns:repeat(4,1fr)}}
.bt-offer-pop--service{grid-template-columns:1fr}
.bt-offer-pop--service .bt-kicker{margin-bottom:14px}
.bt-offer-pop--service .bt-checks>li{font-weight:500;font-size:15px;line-height:1.45}
.bt-offer-pop--service .bt-checks>li strong{display:block;font-weight:800;font-size:16px}
.bt-offer-pop--compact{padding:20px 24px 18px;margin-bottom:24px}
.bt-offer-pop--compact .bt-kicker{margin-bottom:12px}
.bt-offer-pop--compact .bt-checks{gap:8px 20px}
.bt-offer-pop--compact .bt-checks>li{align-items:center}
.bt-offer-pop--compact .bt-checks>li strong{font-size:15px;line-height:1.25}
.bt-offer-pop--compact .bt-offer-line{margin-top:14px;padding-top:12px}
.bt-offer-line{font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--bt-navy);margin:18px 0 0;padding-top:14px;border-top:2px solid var(--bt-navy);max-width:none}
.bt-window-under{position:relative;z-index:2;margin:-14px 0 0 22px}
@media (max-width:760px){.bt-window-under{white-space:normal;line-height:1.2;text-align:left;margin:-12px 0 0 12px;max-width:calc(100% - 24px)}}
.bt-price-line{display:block;font-family:var(--font-mono);font-weight:700;font-size:13px;line-height:1.5;color:var(--bt-navy);margin:8px 0 0}
.bt-price-line+.bt-price-then{margin-top:4px}
.bt-band--sea .bt-band-text{max-width:1100px;margin:0 auto;text-align:center;color:#FFFFFF}
.bt-band--sea .bt-band-text b{display:block;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;color:#FFFFFF}
.bt-band--sea .bt-band-text p{font-family:var(--font-body);font-weight:700;font-size:17px;line-height:1.5;color:#FFFFFF;margin:0 auto;max-width:70ch}
.bt-band--navy li.is-terra svg{stroke:var(--bt-terra)}
.bt-band--navy li.is-sea svg{stroke:var(--bt-sky-2)}
.bt-compare td svg{stroke:var(--bt-sea)}
@media (max-width:760px){.bt-offer-pop--service .bt-checks--2col{grid-template-columns:1fr}.bt-service{padding:22px}}
.bt-window-img picture{display:block;width:100%;height:100%}

/* ── Selector de idioma: panel en cuadrícula (31 idiomas) ──────────────────
   El desplegable en columna no cabía en pantalla. Aquí el panel se ancla bajo
   el botón en escritorio y ocupa el ancho en móvil, con los idiomas en celdas:
   código en mono + nombre en su propia lengua. Sin banderas: un idioma no es
   un país. */
.bt-langs{position:relative;margin-left:8px;font-family:var(--font-body)}
.bt-langs-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:var(--bt-white);color:var(--bt-navy);border:var(--bt-outline);border-radius:999px;box-shadow:var(--bt-shadow-pop-sm);font:800 13px/1 var(--font-body);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:background var(--t-fast,120ms) var(--ease,ease)}
.bt-langs-btn:hover{background:var(--bt-cream)}
.bt-langs-btn:active{transform:translate(1px,1px);box-shadow:none}
.bt-langs-code{font-family:var(--font-mono);font-weight:700;font-size:12px}
.bt-langs-now{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-langs-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--t-fast,120ms) var(--ease,ease)}
.bt-langs.is-open .bt-langs-caret{transform:rotate(-135deg) translate(-2px,-2px)}
.bt-langs-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(92vw,620px);background:var(--bt-paper);border:var(--bt-outline);border-radius:18px;box-shadow:var(--bt-shadow-pop-lg);padding:14px}
.bt-langs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px 12px;border-bottom:2px solid var(--bt-navy);margin-bottom:12px}
.bt-langs-title{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bt-navy)}
.bt-langs-close{background:none;border:0;font-size:26px;line-height:1;color:var(--bt-navy);cursor:pointer;padding:0 4px}
.bt-langs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0;max-height:min(62vh,520px);overflow-y:auto}
.bt-langs-item{display:flex;align-items:baseline;gap:8px;padding:9px 10px;border-radius:12px;color:var(--bt-navy);text-decoration:none;font-weight:600;font-size:14px;border:2px solid transparent}
.bt-langs-item:hover{background:var(--bt-sky)}
.bt-langs-item:focus-visible{outline:3px solid var(--bt-sea);outline-offset:1px}
.bt-langs-item-code{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--bt-ink-2,#5B6B7D);min-width:2.2em}
.bt-langs-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body),"Noto Sans","Noto Sans CJK SC","Noto Sans Arabic","Noto Sans Hebrew","Noto Sans Devanagari","Noto Sans Thai",system-ui,"Segoe UI",Roboto,"Helvetica Neue",sans-serif}
.bt-langs-item.is-current{background:var(--bt-sun);border-color:var(--bt-navy);box-shadow:var(--bt-shadow-pop-sm);font-weight:800}
.bt-langs-item.is-current .bt-langs-item-code{color:var(--bt-navy)}
@media (max-width:900px){
  .bt-langs{position:static}
  /* La cabecera lleva backdrop-filter: un position:fixed dentro de ella se ancla
     a la cabecera, no al viewport, y el panel salía cortado arriba. Se ancla a la
     cabecera a propósito, con ancho de pantalla. */
  .bt-langs-now{display:none}
  .bt-langs-panel{position:absolute;left:12px;right:12px;width:auto;top:calc(100% + 10px);bottom:auto;max-height:min(70vh,560px);overflow:auto;padding:16px}
  .bt-langs-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:62vh}
  .bt-langs-item{font-size:15px;padding:11px 10px}
}

/* ── Hero: rotación de fotos ───────────────────────────────────────────────
   Cuatro fotos reales de Barcelona en b/n que se relevan cada 6 s. El nombre
   del fichero de la barra de la ventana cambia con la foto. Los puntos van en
   la barra, no encima de la imagen, para no tapar nada. */
.bt-window--rota .bt-window-img{position:relative}
.bt-slide{position:absolute;inset:0;opacity:0;transition:opacity 700ms var(--ease,ease);pointer-events:none}
.bt-slide.is-on{opacity:1;position:relative;pointer-events:auto}
.bt-slide img{display:block;width:100%;height:100%;object-fit:cover}
.bt-window-dots{display:inline-flex;gap:6px;margin-left:auto;margin-right:10px}
.bt-slide-dot{width:9px;height:9px;padding:0;border:2px solid var(--bt-sky-2);border-radius:50%;background:transparent;cursor:pointer;transition:background var(--t-fast,120ms) var(--ease,ease)}
.bt-slide-dot:hover{background:var(--bt-sky-2)}
.bt-slide-dot.is-on{background:var(--bt-sun)}
.bt-slide-dot:focus-visible{outline:3px solid var(--bt-sea);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.bt-slide{transition:none}}
@media (max-width:600px){.bt-window-dots{margin-right:6px}.bt-slide-dot{width:8px;height:8px}}

/* ── Tienda de eSIM de viaje (/travel-esims) ── */
.bt-esimshop{background:var(--bt-paper);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop-lg);padding:28px;max-width:1100px;margin:0 auto}
.bt-esimshop-head{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.bt-esimshop-search{display:block;flex:1 1 280px}
.bt-esimshop-search input{width:100%;margin-top:6px;height:52px;padding:0 18px;background:var(--bt-white);border:var(--bt-outline);border-radius:999px;font-family:var(--font-body);font-weight:600;font-size:17px;color:var(--bt-navy)}
.bt-esimshop-search input::placeholder{color:var(--bt-ink-2);opacity:.75}
.bt-esimshop-note{font-size:12px;color:var(--bt-ink-2);margin:0}
.bt-esimshop-msg{font-family:var(--font-mono);font-weight:500;font-size:14px;color:var(--bt-ink-2);margin:10px 0}
.bt-esimshop-foot{margin-top:22px;padding-top:20px;border-top:2px dashed var(--bt-line)}
.bt-esimshop-foot .bt-checks>li{font-size:15px;font-weight:600}

.bt-esim-dests[hidden],.bt-esim-plans[hidden]{display:none}
.bt-esim-dests{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px;max-height:440px;overflow-y:auto;padding:2px}
.bt-esim-dest{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;background:var(--bt-white);border:var(--bt-outline);border-radius:16px;box-shadow:var(--bt-shadow-pop-sm);font-family:var(--font-body);color:var(--bt-navy);text-align:left;cursor:pointer}
.bt-esim-dest:hover{background:var(--bt-cream)}
.bt-esim-dest:active{transform:translate(1px,1px);box-shadow:none}
.bt-esim-dest .f{flex-shrink:0;min-width:42px;padding:4px 7px;background:var(--bt-navy);color:#FFFFFF;border-radius:8px;font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.06em;text-align:center}
.bt-esim-dest .n{flex:1;min-width:0;font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-esim-dest .p{font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2);flex-shrink:0}

.bt-esim-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;padding:8px 16px;background:var(--bt-white);border:var(--bt-outline);border-radius:999px;box-shadow:var(--bt-shadow-pop-sm);font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-navy);cursor:pointer}
.bt-esim-dest-title{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;line-height:1.05;margin:0 0 16px}
.bt-esim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px}
.bt-esim-card{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--bt-white);border:var(--bt-outline);border-radius:18px;box-shadow:var(--bt-shadow-pop)}
.bt-esim-card.is-hot{background:var(--bt-cream)}
.bt-esim-card h4{font-family:var(--font-display);font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1;margin:0}
.bt-esim-meta{font-family:var(--font-mono);font-size:12px;color:var(--bt-ink-2);margin:0}
.bt-esim-price{font-family:var(--font-display);font-weight:800;font-size:23px;letter-spacing:-.02em;margin:6px 0 10px}
.bt-esim-price small{display:block;font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-ink-2)}
.bt-esim-card .bt-btn{margin-top:auto;width:100%;justify-content:center}

.bt-esim-steps{display:grid;grid-template-columns:1fr;gap:18px;max-width:1280px;margin:0 auto}
.bt-esim-step{position:relative;padding:26px 24px;background:var(--bt-white);border:var(--bt-outline);border-radius:var(--bt-radius-card);box-shadow:var(--bt-shadow-pop)}
.bt-esim-step--sky{background:var(--bt-sky)}.bt-esim-step--cream{background:var(--bt-cream)}.bt-esim-step--pink{background:var(--bt-pink)}
.bt-esim-step-n{position:absolute;top:-14px;left:22px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--bt-navy);color:#FFFFFF;border:var(--bt-outline);border-radius:12px;transform:rotate(-5deg);font-family:var(--font-display);font-weight:800;font-size:19px}
.bt-esim-step-ico{display:block;margin:10px 0 12px}
.bt-esim-step-ico svg{width:30px;height:30px;stroke:var(--bt-navy)}
.bt-esim-step h3{font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em;line-height:1.1;margin:0 0 8px}
.bt-esim-step p{font-family:var(--font-body);font-weight:500;font-size:15.5px;line-height:1.55;color:var(--bt-ink-2);margin:0}
@media (min-width:860px){.bt-esim-steps{grid-template-columns:repeat(3,1fr);gap:22px}}
@media (max-width:699px){.bt-esimshop{padding:20px}.bt-esim-dests{max-height:none}}
.bt-band--sea .bt-band-cta{margin:14px 0 0}
.bt-band--sea .bt-band-cta a{color:#FFFFFF;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-decoration-thickness:2px;text-underline-offset:4px}
.bt-after-grid{margin:26px 0 0;font-size:14px;color:var(--bt-ink-2)}
/* En una columna estrecha el nombre del país no cabe en una línea: que envuelva
   en vez de recortarse («United Arab Emirates», no «Unit…»). */
@media (max-width:559px){
  .bt-esim-dest{flex-wrap:wrap;row-gap:2px;padding:12px 14px}
  .bt-esim-dest .n{flex:1 1 auto;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
  .bt-esim-dest .p{flex:1 0 100%;margin-left:54px;text-align:left}
}
/* ── Verificación de identidad en el alta (Stripe Identity) ── */
.bt-wiz-idcard{padding:22px;background:var(--bt-sky);border:var(--bt-outline);border-radius:16px;box-shadow:var(--bt-shadow-pop-sm)}
.bt-wiz-idcard>b{display:block;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;margin-bottom:6px}
.bt-wiz-idcard>span{display:block;font-size:15px;line-height:1.5;color:var(--bt-ink-2);margin-bottom:16px}
.bt-wiz-idcard .bt-wiz-next{margin:0}
.bt-wiz-idfail{margin:0 0 14px;padding:10px 12px;background:var(--bt-pink);border-radius:10px;font-family:var(--font-mono);font-size:13px;color:var(--bt-terra-ink)}
.bt-wiz-idok{display:flex;flex-direction:column;gap:4px;padding:20px 22px;background:var(--bt-ok-soft);border:var(--bt-outline);border-radius:16px}
.bt-wiz-idok>b{font-family:var(--font-display);font-weight:800;font-size:19px}
.bt-wiz-idok>span{font-size:15px;line-height:1.5;color:var(--bt-ink-2)}

/* ── Cámara en vivo del alta (webcam en PC; en móvil manda la cámara del sistema) ── */
.bt-cam{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(7,24,44,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bt-cam[hidden]{display:none}
.bt-cam-box{position:relative;width:100%;max-width:720px;background:var(--bt-navy-deep);border:var(--bt-outline);border-radius:var(--bt-radius-card);overflow:hidden}
.bt-cam-box video{display:block;width:100%;max-height:70vh;background:#000;object-fit:cover}
.bt-cam-guide{position:absolute;pointer-events:none;border:3px dashed rgba(255,255,255,.85);border-radius:14px}
.bt-cam-guide.is-doc{left:7%;right:7%;top:16%;bottom:30%}
.bt-cam-guide.is-cara{left:26%;right:26%;top:8%;bottom:26%;border-radius:50%}
.bt-cam-hint{position:absolute;left:0;right:0;top:12px;margin:0;padding:0 18px;text-align:center;font-family:var(--font-mono);font-size:12.5px;line-height:1.4;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.bt-cam-btns{display:flex;justify-content:center;padding:16px 0 4px;background:var(--bt-navy-deep)}
.bt-cam-shot{width:66px;height:66px;border-radius:50%;background:var(--bt-sun);border:4px solid #fff;box-shadow:0 0 0 3px var(--bt-navy);cursor:pointer}
.bt-cam-shot:active{transform:scale(.94)}
.bt-cam-bar{display:flex;justify-content:center;gap:24px;padding:10px 0 16px;background:var(--bt-navy-deep)}
.bt-cam-link{background:none;border:0;color:#fff;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;opacity:.85}
.bt-cam-link:hover{opacity:1}
.bt-cam-link[hidden]{display:none}
@media (max-width:559px){.bt-cam-box video{max-height:60vh}.bt-cam-shot{width:58px;height:58px}}