/* Springfield T4 — Base styles extracted from approved design */

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{font-family:"Poppins",sans-serif;overflow-x:hidden}

/* TOPBAR */
.topbar{position:fixed;top:0;left:0;right:0;z-index:9000;height:52px;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:12px;padding:0 20px}

.tb-brand{font-size:11px;font-weight:800;letter-spacing:.14em;color:#CC0000;flex-shrink:0;text-transform:uppercase}

.tb-sep{width:1px;height:14px;background:rgba(255,255,255,.15);flex-shrink:0}

.tb-lbl{font-size:10px;color:rgba(255,255,255,.3);white-space:nowrap;flex-shrink:0}

.tb-style-tabs{display:flex;gap:4px;flex-shrink:0}

.tb-tab{font-family:"Poppins",sans-serif;font-size:11px;font-weight:600;padding:5px 13px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:none;color:rgba(255,255,255,.4);cursor:pointer;white-space:nowrap;transition:all .18s}

.tb-tab:hover{color:rgba(255,255,255,.8)}

.tb-tab.active{background:#CC0000;color:#fff;border-color:#CC0000}

.tb-sep2{flex:1}

.tb-snav{display:flex;gap:3px;overflow-x:auto;flex-shrink:0}

.tb-snav::-webkit-scrollbar{height:0}

.snav-btn{font-family:"Poppins",sans-serif;font-size:10px;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.08);background:none;color:rgba(255,255,255,.3);cursor:pointer;white-space:nowrap;transition:all .15s}

.snav-btn:hover{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.2)}

/* TREND PANELS */
.main{padding-top:52px}

.trend{display:none}

.trend.active{display:block}

/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:8000;width:50px;height:50px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s}

.wa-float:hover{transform:scale(1.08)}

.wa-float svg{width:26px;height:26px;fill:#fff}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   T4 — TYPOGRAPHIC MINIMAL (white, bold type)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-theme="t4"]{background:#fff;color:#111}

[data-theme="t4"] .site-nav{background:rgba(255,255,255,.97);border-bottom:1px solid #e8e6e1;display:flex;align-items:center;justify-content:space-between;padding:0 64px;height:56px;position:sticky;top:52px;z-index:100}

[data-theme="t4"] .nav-logo{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#111}

[data-theme="t4"] .nav-links{display:flex;gap:24px;align-items:center}

[data-theme="t4"] .nav-link{font-size:11px;color:#bbb;text-decoration:none;cursor:pointer}

[data-theme="t4"] .nav-link:hover{color:#111}

[data-theme="t4"] .btn-cta-nav{font-family:"Poppins",sans-serif;font-size:11px;font-weight:700;padding:7px 16px;background:#CC0000;color:#fff;border:none;border-radius:3px;cursor:pointer;letter-spacing:.04em}

[data-theme="t4"] .sec-hero{min-height:calc(100vh - 108px);padding:80px 64px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}

[data-theme="t4"] .sec-hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,0,0,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.022) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}

[data-theme="t4"] .sec-hero::after{content:"";position:absolute;top:0;left:64px;width:2px;height:100%;background:#CC0000;opacity:.1;pointer-events:none}

[data-theme="t4"] .eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#bbb;margin-bottom:20px;position:relative;z-index:1}

[data-theme="t4"] .hero-h1{font-size:clamp(56px,9vw,112px);font-weight:900;color:#111;line-height:.87;letter-spacing:-.04em;margin-bottom:32px;position:relative;z-index:1}

[data-theme="t4"] .hero-h1 em{font-style:italic;font-weight:300;color:#ccc;font-family:"Playfair Display",serif}

[data-theme="t4"] .hero-h1 strong{color:#CC0000;font-weight:900}

[data-theme="t4"] .hero-sub-row{display:flex;align-items:flex-end;justify-content:space-between;position:relative;z-index:1;padding-top:26px;border-top:1px solid #e8e6e1}

[data-theme="t4"] .hero-sub{font-size:15px;color:#888;line-height:1.7;max-width:380px;font-weight:300;margin:0}

[data-theme="t4"] .hero-right{display:none}

[data-theme="t4"] .hero-badges{display:none}

[data-theme="t4"] .hero-btns{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-bottom:0}

[data-theme="t4"] .btn-primary{font-family:"Poppins",sans-serif;font-size:12px;font-weight:700;padding:12px 24px;background:#CC0000;color:#fff;border:none;border-radius:3px;cursor:pointer;letter-spacing:.03em;transition:background .15s}

[data-theme="t4"] .btn-primary:hover{background:#990000}

[data-theme="t4"] .btn-secondary{font-size:12px;font-weight:600;color:#CC0000;background:none;border:none;cursor:pointer;letter-spacing:.01em}

[data-theme="t4"] .trust-bar{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e8e6e1;border-bottom:1px solid #e8e6e1}

[data-theme="t4"] .trust-item{padding:22px 20px;border-right:1px solid #e8e6e1}

[data-theme="t4"] .trust-item:last-child{border-right:none}

[data-theme="t4"] .trust-val{font-size:13px;font-weight:700;color:#111}

[data-theme="t4"] .trust-lbl{font-size:10px;color:#bbb;margin-top:3px;letter-spacing:.04em}

[data-theme="t4"] .content-sec{padding:64px}

[data-theme="t4"] .content-sec.alt{background:#f6f5f3}

[data-theme="t4"] .sec-eyebrow{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#bbb;margin-bottom:10px}

[data-theme="t4"] .sec-h2{font-size:clamp(28px,4vw,50px);font-weight:900;color:#111;line-height:.93;letter-spacing:-.035em;margin-bottom:8px}

[data-theme="t4"] .sec-sub{font-size:15px;color:#999;font-weight:300;max-width:520px;line-height:1.6;margin-bottom:36px}

[data-theme="t4"] .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #e8e6e1}

[data-theme="t4"] .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e8e6e1}

[data-theme="t4"] .benefit-card{padding:28px 24px;border-right:1px solid #e8e6e1;cursor:pointer;transition:background .15s}

[data-theme="t4"] .benefit-card:hover{background:#f6f5f3}

[data-theme="t4"] .benefit-card:nth-child(3n){border-right:none}

[data-theme="t4"] .benefit-num{font-size:32px;font-weight:900;color:#CC0000;opacity:.4;line-height:1;margin-bottom:10px}

[data-theme="t4"] .benefit-title{font-size:14px;font-weight:700;color:#111;margin-bottom:5px}

[data-theme="t4"] .benefit-sub{font-size:12px;color:#888;line-height:1.6;font-weight:300}

[data-theme="t4"] .alert-bar{background:#CC0000;padding:14px 64px;font-size:13px;font-weight:500;color:#fff;line-height:1.6}

[data-theme="t4"] .alert-bar strong{font-weight:800}

[data-theme="t4"] .metodo-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}

[data-theme="t4"] .big-quote{font-size:clamp(18px,2.5vw,28px);font-weight:900;color:#111;line-height:1.1;margin-bottom:20px;letter-spacing:-.02em}

[data-theme="t4"] .pilares-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e8e6e1}

[data-theme="t4"] .pilar-card{padding:20px 18px;border-right:1px solid #e8e6e1;border-bottom:1px solid #e8e6e1}

[data-theme="t4"] .pilar-card:nth-child(2n){border-right:none}

[data-theme="t4"] .pilar-card:nth-child(3),[data-theme="t4"] .pilar-card:nth-child(4){border-bottom:none}

[data-theme="t4"] .pilar-title{font-size:13px;font-weight:700;color:#111;margin-bottom:5px}

[data-theme="t4"] .pilar-sub{font-size:11px;color:#888;line-height:1.6;font-weight:300}

[data-theme="t4"] .cta-band{background:#CC0000;padding:36px 64px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

[data-theme="t4"] .cta-band-h{font-size:22px;font-weight:900;color:#fff;letter-spacing:-.01em}

[data-theme="t4"] .cta-band-s{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px}

[data-theme="t4"] .btn-cta-band{font-family:"Poppins",sans-serif;font-size:12px;font-weight:700;padding:12px 26px;background:#fff;color:#CC0000;border:none;border-radius:3px;cursor:pointer;white-space:nowrap;letter-spacing:.03em}

[data-theme="t4"] .modal-card{padding:28px 24px;border-right:1px solid #e8e6e1;cursor:pointer;transition:background .15s;position:relative}

[data-theme="t4"] .modal-card:last-child{border-right:none}

[data-theme="t4"] .modal-card:hover{background:#f6f5f3}

[data-theme="t4"] .modal-featured{background:#f6f5f3}

[data-theme="t4"] .modal-featured::before{content:"Recomendado";position:absolute;top:0;left:0;right:0;background:#CC0000;color:#fff;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:5px}

[data-theme="t4"] .modal-badge{display:none}

[data-theme="t4"] .modal-title{font-size:14px;font-weight:700;color:#111;margin-bottom:4px;margin-top:16px}

[data-theme="t4"] .modal-dur{font-size:11px;color:#bbb;margin-bottom:14px}

[data-theme="t4"] .modal-price{font-size:32px;font-weight:900;color:#CC0000;letter-spacing:-.02em;line-height:1;margin-bottom:3px}

[data-theme="t4"] .modal-price-sub{font-size:10px;color:#bbb;margin-bottom:16px}

[data-theme="t4"] .modal-feats{list-style:none;border-top:1px solid #e8e6e1;padding-top:12px}

[data-theme="t4"] .modal-feats li{font-size:12px;color:#666;padding:5px 0;border-bottom:1px solid #e8e6e1;display:flex;align-items:center;gap:6px;font-weight:300}

[data-theme="t4"] .modal-feats li::before{content:"—";color:#CC0000;font-weight:700;font-size:10px;flex-shrink:0}

[data-theme="t4"] .modal-feats li:last-child{border-bottom:none}

[data-theme="t4"] .btn-modal{width:100%;margin-top:16px;padding:10px;background:#111;color:#fff;border:none;border-radius:3px;font-family:"Poppins",sans-serif;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:background .15s}

[data-theme="t4"] .btn-modal:hover{background:#CC0000}

[data-theme="t4"] .btn-modal-fill,[data-theme="t4"] .btn-modal-out{background:#111;color:#fff;border:none}

[data-theme="t4"] .fecha-card{padding:26px 22px;border-right:1px solid #e8e6e1;cursor:pointer;transition:background .15s}

[data-theme="t4"] .fecha-card:last-child{border-right:none}

[data-theme="t4"] .fecha-card:hover{background:#f6f5f3}

[data-theme="t4"] .fecha-periodo{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#CC0000;margin-bottom:6px}

[data-theme="t4"] .fecha-grados{font-size:16px;font-weight:700;color:#111;margin-bottom:14px}

[data-theme="t4"] .fecha-linea{font-size:12px;color:#666;padding:6px 0;border-bottom:1px solid #e8e6e1;font-weight:300}

[data-theme="t4"] .fecha-linea:last-of-type{border-bottom:none}

[data-theme="t4"] .btn-fecha{width:100%;margin-top:14px;padding:9px;background:#CC0000;color:#fff;border:none;border-radius:3px;font-family:"Poppins",sans-serif;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.02em}

[data-theme="t4"] .homo-price{font-size:56px;font-weight:900;color:#111;letter-spacing:-.03em;line-height:1;margin-bottom:5px}

[data-theme="t4"] .homo-price-lbl{font-size:13px;color:#bbb}

[data-theme="t4"] .stats-band{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e8e6e1;border-bottom:1px solid #e8e6e1}

[data-theme="t4"] .stat-item{padding:28px 36px;border-right:1px solid #e8e6e1}

[data-theme="t4"] .stat-item:last-child{border-right:none}

[data-theme="t4"] .stat-num{font-size:34px;font-weight:900;color:#111;letter-spacing:-.02em;line-height:1}

[data-theme="t4"] .stat-lbl{font-size:10px;color:#bbb;margin-top:5px;letter-spacing:.06em;text-transform:uppercase}

[data-theme="t4"] .nivel-card{padding:24px 20px;border-right:1px solid #e8e6e1}

[data-theme="t4"] .nivel-card:last-child{border-right:none}

[data-theme="t4"] .nivel-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;color:#CC0000;border:1px solid #CC0000;padding:2px 7px;margin-bottom:8px;border-radius:2px}

[data-theme="t4"] .nivel-name{font-size:13px;font-weight:700;color:#111;margin-bottom:5px}

[data-theme="t4"] .nivel-desc{font-size:11px;color:#888;line-height:1.6;font-weight:300}

[data-theme="t4"] .faq-list{margin-top:24px}

[data-theme="t4"] .faq-item{border-bottom:1px solid #e8e6e1}

[data-theme="t4"] .faq-q{padding:16px 0;font-size:14px;font-weight:600;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;letter-spacing:-.01em}

[data-theme="t4"] .faq-icon{font-size:18px;color:#CC0000;flex-shrink:0;transition:transform .2s}

[data-theme="t4"] .faq-item.open .faq-icon{transform:rotate(45deg)}

[data-theme="t4"] .faq-a{font-size:13px;color:#888;line-height:1.75;padding-bottom:16px;display:none;font-weight:300}

[data-theme="t4"] .faq-item.open .faq-a{display:block}

[data-theme="t4"] .sec-form{background:#fff}

[data-theme="t4"] .form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}

[data-theme="t4"] .sec-sub-sm{font-size:14px;color:#888;line-height:1.75;margin-bottom:20px;font-weight:300}

[data-theme="t4"] .wa-btn{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#f6f5f3;border:1px solid #e8e6e1;border-radius:4px;cursor:pointer}

[data-theme="t4"] .wa-btn span{font-size:12px;color:#888}

[data-theme="t4"] .wa-btn strong{color:#111}

[data-theme="t4"] .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}

[data-theme="t4"] .ff{display:flex;flex-direction:column;gap:4px}

[data-theme="t4"] .full{grid-column:1/-1}

[data-theme="t4"] .ff label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb}

[data-theme="t4"] .ff input,[data-theme="t4"] .ff select{background:#fff;border:none;border-bottom:1px solid #e8e6e1;padding:10px 0;font-size:14px;color:#111;font-family:"Poppins",sans-serif;outline:none;transition:border-color .15s;border-radius:0}

[data-theme="t4"] .ff input:focus,[data-theme="t4"] .ff select:focus{border-bottom-color:#CC0000}

[data-theme="t4"] .btn-submit{margin-top:16px;padding:13px 32px;background:#CC0000;color:#fff;border:none;border-radius:3px;font-family:"Poppins",sans-serif;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .15s}

[data-theme="t4"] .btn-submit:hover{background:#990000}

[data-theme="t4"] .pago-wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:24px}

[data-theme="t4"] .pago-left{background:#f6f5f3;border:1px solid #e8e6e1;padding:26px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}

[data-theme="t4"] .pago-logo{font-size:26px;font-weight:900;color:#CC0000;margin-bottom:4px}

[data-theme="t4"] .pago-sub{font-size:12px;color:#bbb}

[data-theme="t4"] .pago-title{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#bbb;margin-bottom:12px}

[data-theme="t4"] .pago-steps{list-style:none;counter-reset:step}

[data-theme="t4"] .pago-steps li{counter-increment:step;display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #e8e6e1;font-size:13px;color:#666;font-weight:300}

[data-theme="t4"] .pago-steps li:last-child{border-bottom:none}

[data-theme="t4"] .pago-steps li::before{content:counter(step);background:#CC0000;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}

[data-theme="t4"] .site-footer{background:#f6f5f3;border-top:1px solid #e8e6e1;padding:36px 64px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}

[data-theme="t4"] .footer-logo{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#111;margin-bottom:6px}

[data-theme="t4"] .footer-sub{font-size:11px;color:#aaa;line-height:1.6}

[data-theme="t4"] .footer-contact-title{font-size:12px;font-weight:700;color:#444;margin-bottom:8px}

[data-theme="t4"] .footer-socials{font-size:12px;color:#bbb}

[data-theme="t4"] .footer-right{font-size:10px;color:#bbb;line-height:1.6}

/* T4 hero fix: rearrange layout to vertical */
[data-theme="t4"] .sec-hero{grid-template-columns:1fr!important;grid-template-rows:auto}

[data-theme="t4"] .hero-left{display:contents}

/* ═══════════════════════════════════════════════════
   FECHAS — ACCORDION MOBILE-FIRST
═══════════════════════════════════════════════════ */

/* List container */
.fb-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }

/* Accordion wrapper */
.fb-accordion { border-radius: 10px; overflow: hidden; transition: box-shadow .2s; }

.fb-accordion[data-open="true"] { box-shadow: 0 4px 24px rgba(0,0,0,.12); }

/* Trigger button */
.fb-acc-trigger {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; gap: 12px; font-family: "Poppins", sans-serif;
  text-align: left; transition: background .15s;
}

.fb-acc-left { flex: 1; min-width: 0; }

.fb-acc-label { font-size: 14px; font-weight: 700; line-height: 1.2; margin-bottom: 3px; }

.fb-acc-tag { font-size: 12px; font-weight: 600; margin-bottom: 3px; }

.fb-acc-hint { font-size: 11px; font-weight: 400; opacity: .65; line-height: 1.4; }

.fb-acc-right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }

.fb-acc-count { font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }

.fb-acc-icon { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: transform .25s, background .15s; }

.fb-acc-icon svg { width: 14px; height: 14px; }

.fb-accordion[data-open="true"] .fb-acc-icon { transform: rotate(180deg); }

/* Accordion body */
.fb-acc-body { padding: 0 14px 14px; }

.fb-acc-body[hidden] { display: none; }

/* Modals list — horizontal scroll on mobile */
.fb-modals-list {
  display: flex; flex-direction: column; gap: 10px;
}

/* Modal item card */
.fb-modal-item {
  border-radius: 8px; padding: 16px;
  display: flex; flex-direction: column; gap: 12px;
}

/* Modal header */
.fb-mi-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.fb-mi-badge {
  font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 3px; flex-shrink: 0;
}

.fb-mi-name { font-size: 14px; font-weight: 700; flex: 1; min-width: 0; }

.fb-mi-dur { font-size: 11px; font-weight: 500; opacity: .6; flex-shrink: 0; }

/* Dates row */
.fb-mi-dates {
  display: flex; align-items: center; gap: 10px;
  background: rgba(0,0,0,.04); border-radius: 6px; padding: 10px 12px;
}

.fb-date-box { flex: 1; }

.fb-date-lbl { font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .5; margin-bottom: 2px; }

.fb-date-val { font-size: 14px; font-weight: 700; }

.fb-date-arrow { font-size: 16px; opacity: .3; flex-shrink: 0; }

/* Horarios */
.fb-hor-lbl { font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .5; margin-bottom: 6px; }

.fb-hor-items { display: flex; flex-wrap: wrap; gap: 5px; }

.fh-item { font-size: 11px; font-weight: 500; padding: 4px 9px; border-radius: 20px; }

/* Precios */
.fb-mi-precios { display: flex; flex-direction: column; gap: 4px; }

.fb-precio-item { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }

.fb-precio-lbl { font-size: 11px; font-weight: 500; opacity: .55; flex-shrink: 0; }

.fb-precio-val { font-size: 15px; font-weight: 800; }

.fb-precio-small { font-size: 12px; font-weight: 500; }

/* Nota */
.fb-mi-nota { font-size: 11px; opacity: .55; line-height: 1.5; }

/* CTA */
.fb-inscribete-btn {
  width: 100%; padding: 12px; border-radius: 6px; border: none;
  font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 700;
  cursor: pointer; letter-spacing: .02em; transition: background .15s, transform .1s;
  background: #CC0000; color: #fff;
}

.fb-inscribete-btn:hover { background: #ff2020; }

.fb-inscribete-btn:active { transform: scale(.98); }

/* Table */
.fb-table-wrap { margin-top: 8px; }

.fb-table-title { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .5; margin-bottom: 10px; }

.fb-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 8px; }

.fb-table { width: 100%; border-collapse: collapse; font-size: 12px; min-width: 380px; }

.fb-table th { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 10px 12px; text-align: left; }

.fb-table td { padding: 10px 12px; }

.fb-table tbody tr:last-child td { border-bottom: none; }

/* Tablet+ */
@media (min-width: 640px) {
  .fb-acc-trigger { padding: 22px 28px; }

.fb-acc-body { padding: 0 18px 18px; }

.fb-acc-label { font-size: 16px; }

.fb-modals-list { flex-direction: row; gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }

.fb-modal-item { min-width: 260px; flex: 1; }

.fb-date-val { font-size: 15px; }

}

@media (min-width: 1024px) {
  .fb-modals-list { overflow-x: visible; flex-wrap: nowrap; }

.fb-modal-item { min-width: 0; }

/* ─── T4 TYPOGRAPHIC ─── */
[data-theme="t4"] .fb-accordion { background: #fff; border: 1px solid #e8e6e1; border-radius: 4px; }

[data-theme="t4"] .fb-accordion[data-open="true"] { border-color: #CC0000; border-left-width: 3px; }

[data-theme="t4"] .fb-acc-trigger { color: #111; }

[data-theme="t4"] .fb-acc-trigger:hover { background: #f6f5f3; }

[data-theme="t4"] .fb-acc-label { color: #111; font-size: 15px; letter-spacing: -.02em; font-weight: 800; }

[data-theme="t4"] .fb-acc-tag { color: #CC0000; font-weight: 700; letter-spacing: -.01em; }

[data-theme="t4"] .fb-acc-hint { color: #aaa; }

[data-theme="t4"] .fb-acc-icon { color: #CC0000; }

[data-theme="t4"] .fb-accordion[data-open="true"] .fb-acc-icon { color: #CC0000; }

[data-theme="t4"] .fb-modal-item { background: #f6f5f3; border: 1px solid #e8e6e1; border-radius: 3px; }

[data-theme="t4"] .fb-mi-name { color: #111; letter-spacing: -.01em; }

[data-theme="t4"] .fb-mi-dates { background: #fff; border: 1px solid #e8e6e1; border-radius: 3px; }

[data-theme="t4"] .fb-date-val { color: #111; letter-spacing: -.02em; }

[data-theme="t4"] .fh-item { background: #fff; color: #666; border: 1px solid #e8e6e1; border-radius: 3px; font-size: 10px; letter-spacing: .04em; }

[data-theme="t4"] .fb-precio-val { color: #CC0000; letter-spacing: -.02em; }

[data-theme="t4"] .fb-precio-small { color: #888; }

[data-theme="t4"] .fb-mi-nota { color: #bbb; letter-spacing: .01em; }

[data-theme="t4"] .fb-mi-badge { border-radius: 2px; letter-spacing: .1em; }

[data-theme="t4"] .fb-mi-badge.fb-pop { background: #fff0f0; color: #CC0000; }

[data-theme="t4"] .fb-mi-badge.fb-int { background: #faeeda; color: #633806; }

[data-theme="t4"] .fb-mi-badge.fb-virt { background: #e6f1fb; color: #185fa5; }

[data-theme="t4"] .fb-inscribete-btn { border-radius: 3px; background: #111; letter-spacing: .04em; }

[data-theme="t4"] .fb-inscribete-btn:hover { background: #CC0000; }

[data-theme="t4"] .fb-table th { color: #bbb; background: #f6f5f3; border-bottom: 1px solid #e8e6e1; letter-spacing: .1em; }

[data-theme="t4"] .fb-table td { color: #444; border-bottom: 1px solid #e8e6e1; font-weight: 300; }

[data-theme="t4"] .fb-table-title { color: #bbb; letter-spacing: .14em; }

/* ═══════════════════════════════════════════════════
   MODALIDADES — CARDS + BOTTOM SHEET + COMPARATIVA
═══════════════════════════════════════════════════ */

/* ── CARDS GRID ── */
.mc-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 20px;
}

@media (min-width: 640px) {
  .mc-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

.mc-card {
  border-radius: 12px;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  cursor: default;
  position: relative;
}

.mc-card:hover { transform: translateY(-3px); }

.mc-card-inner { padding: 22px 20px; display: flex; flex-direction: column; gap: 10px; }

.mc-badge {
  display: inline-block; font-size: 9px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 3px; align-self: flex-start;
}

.mc-nombre { font-size: 18px; font-weight: 700; line-height: 1.15; }

.mc-dur { font-size: 12px; opacity: .6; }

.mc-precio { font-size: 24px; font-weight: 900; letter-spacing: -.02em; line-height: 1; }

.mc-precio-sub { font-size: 11px; opacity: .5; margin-top: -4px; }

.mc-diff { font-size: 12px; line-height: 1.6; opacity: .7; padding: 10px; border-radius: 6px; }

.mc-bullets { list-style: none; display: flex; flex-direction: column; gap: 5px; }

.mc-bullets li { font-size: 12px; display: flex; align-items: flex-start; gap: 6px; line-height: 1.45; opacity: .8; }

.mc-bullets li::before { content: "✓"; font-weight: 800; font-size: 10px; flex-shrink: 0; margin-top: 2px; }

.mc-card-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }

.mc-btn-details {
  width: 100%; padding: 10px; border-radius: 6px;
  font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 600;
  cursor: pointer; transition: all .15s; text-align: center;
  background: transparent;
}

.mc-btn-inscribe {
  width: 100%; padding: 10px; border-radius: 6px;
  font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 700;
  cursor: pointer; transition: background .15s;
  background: #CC0000; color: #fff; border: none;
}

.mc-btn-inscribe:hover { background: #ff2020; }

/* ── COMPARE TRIGGER ── */
.mc-compare-trigger { display: flex; justify-content: center; margin: 8px 0 0; }

.mc-compare-btn {
  display: flex; align-items: center; gap: 8px;
  font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 600;
  padding: 10px 20px; border-radius: 6px; cursor: pointer;
  transition: all .2s; background: none;
}

.mc-compare-btn svg { width: 16px; height: 16px; flex-shrink: 0; }

.mc-compare-btn[aria-expanded="true"] svg { transform: rotate(45deg); }

.mc-compare-btn svg { transition: transform .2s; }

/* ── COMPARATIVA TABLE ── */
.mc-comparativa {
  margin-top: 16px; border-radius: 10px; overflow: hidden;
  animation: fadeUp .25s ease;
}

.mc-comparativa[hidden] { display: none !important; }

.ct-title {
  font-size: 11px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; opacity: .5; padding: 14px 16px 10px;
}

.ct-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.ct-table { width: 100%; border-collapse: collapse; min-width: 480px; }

.ct-table thead tr th { padding: 12px 14px; text-align: center; vertical-align: bottom; }

.ct-table thead tr th:first-child { text-align: left; }

.ct-th-name { font-size: 12px; font-weight: 700; margin-top: 5px; }

.ct-table tbody tr th { font-size: 12px; font-weight: 500; text-align: left; padding: 10px 14px; }

.ct-table tbody tr td { font-size: 12px; text-align: center; padding: 10px 14px; font-weight: 600; }

.ct-yes { color: #2d9e3c; }

.ct-no { color: #CC0000; opacity: .7; }

.ct-rec {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 14px 16px; font-size: 12px; line-height: 1.6;
  border-top: 1px solid rgba(0,0,0,.06);
}

.ct-rec-icon { font-size: 16px; flex-shrink: 0; }

/* ── BOTTOM SHEET ── */
.bottom-sheet {
  position: fixed; inset: 0; z-index: 9000;
  display: flex; align-items: flex-end;
  pointer-events: none; opacity: 0;
  transition: opacity .25s;
}

.bottom-sheet.bs-open {
  pointer-events: all; opacity: 1;
}

.bs-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.5);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.bs-panel {
  position: relative; z-index: 1;
  width: 100%; max-height: 90dvh; max-height: 90vh;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  display: flex; flex-direction: column;
  transform: translateY(100%);
  transition: transform .3s cubic-bezier(.32,.72,0,1);
}

.bottom-sheet.bs-open .bs-panel { transform: translateY(0); }

/* Desktop: convert to side panel */
@media (min-width: 768px) {
  .bottom-sheet { align-items: center; justify-content: center; }

.bs-panel {
    width: min(520px, 90vw); max-height: 88vh;
    border-radius: 16px;
    transform: scale(.94) translateY(16px);
  }

.bottom-sheet.bs-open .bs-panel { transform: scale(1) translateY(0); }

.bs-handle { display: none; }

}

.bs-handle {
  width: 36px; height: 4px; border-radius: 2px;
  margin: 10px auto 0; flex-shrink: 0;
  background: rgba(0,0,0,.15);
}

.bs-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 16px 20px 12px; flex-shrink: 0; gap: 12px;
}

.bs-header-left { display: flex; flex-direction: column; gap: 6px; }

.bs-title { font-size: 18px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }

.bs-close {
  background: none; border: none; cursor: pointer;
  padding: 4px; flex-shrink: 0; margin-top: 2px;
  border-radius: 50%; transition: background .15s;
}

.bs-close svg { width: 18px; height: 18px; display: block; }

.bs-close:hover { background: rgba(0,0,0,.07); }

.bs-body { overflow-y: auto; -webkit-overflow-scrolling: touch; flex: 1; padding: 0 20px 24px; }

.bs-section { padding: 14px 0; }

.bs-section-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .5; margin-bottom: 10px; }

.bs-divider { height: 1px; }

.bs-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 7px 0; }

.bs-row-lbl { font-size: 12px; opacity: .55; flex-shrink: 0; }

.bs-row-val { font-size: 13px; font-weight: 600; text-align: right; }

.bs-price { font-size: 20px; font-weight: 900; letter-spacing: -.02em; color: #CC0000; }

.bs-price-sm { font-size: 13px; font-weight: 500; }

.bs-feats { list-style: none; display: flex; flex-direction: column; gap: 7px; }

.bs-feats li { font-size: 13px; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }

.bs-feats li::before { content: "✓"; font-weight: 800; font-size: 11px; flex-shrink: 0; margin-top: 2px; color: #CC0000; }

.sh-hor-grid { display: flex; flex-direction: column; gap: 10px; }

@media (min-width: 400px) { .sh-hor-grid { flex-direction: row; gap: 10px; flex-wrap: wrap; }
}

.sh-hor-col { flex: 1; min-width: 140px; border-radius: 8px; padding: 10px 12px; }

.sh-hor-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 7px; opacity: .6; }

.sh-slot { font-size: 12px; font-weight: 500; padding: 4px 0; opacity: .85; }

.bs-ideal { list-style: none; display: flex; flex-direction: column; gap: 7px; }

.bs-ideal li { font-size: 13px; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }

.bs-ideal li::before { content: "✓"; font-weight: 800; font-size: 11px; flex-shrink: 0; margin-top: 2px; color: #2d9e3c; }

.bs-cta-wrap { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; padding-top: 16px; }

.bs-cta {
  width: 100%; padding: 14px; background: #CC0000; color: #fff; border: none;
  border-radius: 8px; font-family: "Poppins", sans-serif;
  font-size: 14px; font-weight: 700; cursor: pointer; transition: background .15s;
}

.bs-cta:hover { background: #ff2020; }

.bs-cta-ghost {
  width: 100%; padding: 12px; background: transparent;
  font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 600;
  cursor: pointer; border-radius: 8px; transition: all .15s;
}

/* prevent body scroll when sheet open */
body.bs-lock { overflow: hidden; }

/* ── KEYFRAME ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); }

to { opacity: 1; transform: translateY(0); }

/* ────────────────────────────────────────────────────
   T4 — TYPOGRAPHIC MINIMAL
──────────────────────────────────────────────────── */
[data-theme="t4"] .mc-card { background: #fff; border: 1px solid #e8e6e1; border-radius: 4px; }

[data-theme="t4"] .mc-card.mc-featured { border-left: 3px solid #CC0000; background: #f6f5f3; }

[data-theme="t4"] .mc-nombre { color: #111; letter-spacing: -.02em; }

[data-theme="t4"] .mc-dur { color: #aaa; letter-spacing: .02em; font-size: 11px; }

[data-theme="t4"] .mc-precio { color: #CC0000; letter-spacing: -.03em; }

[data-theme="t4"] .mc-precio-sub { color: #bbb; }

[data-theme="t4"] .mc-diff { background: #f0eeec; color: #777; border-radius: 3px; font-size: 11px; }

[data-theme="t4"] .mc-bullets li { color: #555; font-weight: 300; }

[data-theme="t4"] .mc-bullets li::before { color: #CC0000; }

[data-theme="t4"] .mc-badge { border-radius: 2px; letter-spacing: .12em; }

[data-theme="t4"] .mc-badge.mb-pop { background: #fff0f0; color: #CC0000; }

[data-theme="t4"] .mc-badge.mb-int { background: #faeeda; color: #633806; }

[data-theme="t4"] .mc-badge.mb-virt { background: #e6f1fb; color: #185fa5; }

[data-theme="t4"] .mc-btn-details { color: #888; border: 1px solid #e8e6e1; border-radius: 3px; letter-spacing: .03em; font-size: 11px; }

[data-theme="t4"] .mc-btn-details:hover { border-color: #999; color: #111; }

[data-theme="t4"] .mc-btn-inscribe { border-radius: 3px; background: #111; letter-spacing: .04em; }

[data-theme="t4"] .mc-btn-inscribe:hover { background: #CC0000; }

[data-theme="t4"] .mc-compare-btn { color: #888; border: 1px solid #e8e6e1; border-radius: 3px; letter-spacing: .06em; font-size: 11px; text-transform: uppercase; }

[data-theme="t4"] .mc-compare-btn:hover { background: #f6f5f3; border-color: #ccc; color: #111; }

[data-theme="t4"] .mc-comparativa { background: #fff; border: 1px solid #e8e6e1; border-radius: 4px; overflow: hidden; }

[data-theme="t4"] .ct-table thead th { background: #f6f5f3; color: #bbb; border-bottom: 1px solid #e8e6e1; letter-spacing: .06em; font-size: 10px; text-transform: uppercase; }

[data-theme="t4"] .ct-table tbody th { color: #666; border-bottom: 1px solid #e8e6e1; font-weight: 400; font-size: 11px; letter-spacing: .02em; }

[data-theme="t4"] .ct-table tbody td { color: #444; border-bottom: 1px solid #e8e6e1; font-weight: 500; }

[data-theme="t4"] .ct-rec { color: #777; background: #f6f5f3; border-color: #e8e6e1; font-weight: 300; }

[data-theme="t4"] .bs-panel { background: #fff; border-radius: 16px 16px 0 0; }

[data-theme="t4"] .bs-handle { background: #ddd; }

[data-theme="t4"] .bs-header { border-bottom: 1px solid #e8e6e1; }

[data-theme="t4"] .bs-title { color: #111; letter-spacing: -.02em; font-weight: 900; }

[data-theme="t4"] .bs-close { color: #aaa; }

[data-theme="t4"] .bs-row { border-bottom: 1px solid #e8e6e1; }

[data-theme="t4"] .bs-row-lbl { color: #bbb; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }

[data-theme="t4"] .bs-row-val { color: #111; letter-spacing: -.01em; }

[data-theme="t4"] .bs-divider { background: #e8e6e1; }

[data-theme="t4"] .bs-section-title { color: #bbb; letter-spacing: .14em; }

[data-theme="t4"] .bs-feats li { color: #444; font-weight: 300; }

[data-theme="t4"] .sh-hor-col { background: #f6f5f3; border-radius: 3px; }

[data-theme="t4"] .sh-slot { color: #555; font-weight: 300; }

[data-theme="t4"] .bs-ideal li { color: #444; font-weight: 300; }

[data-theme="t4"] .bs-cta-wrap { border-top: 1px solid #e8e6e1; }

[data-theme="t4"] .bs-cta { border-radius: 3px; background: #111; letter-spacing: .04em; }

[data-theme="t4"] .bs-cta:hover { background: #CC0000; }

[data-theme="t4"] .bs-cta-ghost { color: #888; border: 1px solid #e8e6e1; border-radius: 3px; letter-spacing: .03em; font-size: 12px; }

[data-theme="t4"] .bs-cta-ghost:hover { background: #f6f5f3; border-color: #ccc; }

/* ═══════════════════════════════════════════════════════════════
   MOBILE FIRST — Pixel 8 Pro (393px) up to desktop
   Base = 393px · Tablet = 640px · Desktop = 900px
   Zero horizontal scroll guaranteed
═══════════════════════════════════════════════════════════════ */

/* ── GLOBAL OVERFLOW LOCK ─────────────────────────────────── */
html, body { overflow-x: hidden; max-width: 100%; }

.trend { overflow-x: hidden; width: 100%; }

*, *::before, *::after { box-sizing: border-box; }

img, video, iframe, svg { max-width: 100%; }

/* ── TOPBAR ───────────────────────────────────────────────── */
@media (max-width: 639px) {
  .topbar {
    padding: 0 12px;
    height: 48px;
    gap: 8px;
    flex-wrap: nowrap;
  }

.tb-lbl  { display: none; }

.tb-sep  { display: none; }

.tb-sep2 { display: none; }

.tb-snav { display: none; }

.tb-style-tabs {
    flex: 1;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
    scrollbar-width: none;
  }

.tb-style-tabs::-webkit-scrollbar { display: none; }

.tb-tab { font-size: 10px; padding: 4px 10px; flex-shrink: 0; }

.main { padding-top: 48px; }

}

/* ── SITE NAV (sticky under topbar) ──────────────────────── */
@media (max-width: 639px) {
  .site-nav {
    padding: 0 16px !important;
    height: 50px !important;
    top: 48px !important;
  }

.nav-links { display: none !important; }

.btn-cta-nav {
    font-size: 11px !important;
    padding: 7px 12px !important;
    min-height: 36px;
  }

}

/* ── HERO ─────────────────────────────────────────────────── */
@media (max-width: 899px) {
  .sec-hero {
    grid-template-columns: 1fr !important;
    padding: 36px 20px 32px !important;
    gap: 24px !important;
    min-height: auto !important;
    align-items: flex-start !important;
  }

/* Hide the right image column — no room on mobile */
  .hero-right { display: none !important; }

.hero-h1 {
    font-size: clamp(28px, 8vw, 46px) !important;
    letter-spacing: -0.025em !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }

.hero-sub  { font-size: 14px !important; margin-bottom: 18px !important; max-width: 100% !important; }

.hero-badges { gap: 6px !important; margin-bottom: 18px !important; }

.badge-pill  { font-size: 10px !important; }

.hero-btns   { flex-direction: column !important; gap: 8px !important; }

.btn-primary,
  .btn-secondary { width: 100% !important; text-align: center !important; min-height: 48px !important; }

/* T4 specific hero layout */
  [data-theme="t4"] .hero-sub-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding-top: 20px !important;
  }

[data-theme="t4"] .t4-h1 {
    font-size: clamp(36px, 11vw, 64px) !important;
  }

[data-theme="t4"] .t4-bign { display: none !important; }

[data-theme="t4"] .hero-btns {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }

[data-theme="t4"] .btn-primary  { width: auto !important; flex: 1; min-width: 120px; }

[data-theme="t4"] .btn-secondary { width: auto !important; }

}

/* Show hero image col on desktop */
@media (min-width: 900px) {
  .hero-right { display: flex !important; }

}

/* ── TRUST BAR ────────────────────────────────────────────── */
@media (max-width: 639px) {
  .trust-bar {
    grid-template-columns: 1fr 1fr !important;
  }

.trust-item {
    padding: 14px 10px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(128,128,128,.12) !important;
  }

.trust-item:nth-child(odd)  { border-right: 1px solid rgba(128,128,128,.12) !important; }

.trust-item:nth-last-child(1):nth-child(odd) { grid-column: 1 / -1; border-right: none !important; }

.trust-val { font-size: 12px !important; }

.trust-lbl { font-size: 10px !important; }

}

/* ── CONTENT SECTIONS ─────────────────────────────────────── */
@media (max-width: 639px) {
  .content-sec { padding: 32px 20px !important; }

.sec-h2 { font-size: clamp(20px, 6.5vw, 30px) !important; line-height: 1.1 !important; }

.sec-sub { font-size: 14px !important; margin-bottom: 20px !important; max-width: 100% !important; }

.sec-eyebrow { margin-bottom: 6px !important; }

}
@media (min-width: 640px) and (max-width: 899px) {
  .content-sec { padding: 44px 28px !important; }

}
@media (min-width: 900px) {
  .content-sec { padding: 64px !important; }

}

/* ── CTA BAND ─────────────────────────────────────────────── */
@media (max-width: 639px) {
  .cta-band {
    padding: 24px 20px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

.cta-band-h   { font-size: 17px !important; }

.cta-band-s   { font-size: 13px !important; }

.btn-cta-band { width: 100% !important; text-align: center !important; min-height: 48px !important; }

}
@media (min-width: 640px) and (max-width: 899px) {
  .cta-band { padding: 28px !important; gap: 16px !important; }

}
@media (min-width: 900px) {
  .cta-band { padding: 36px 64px !important; }

}

/* ── ALERT BAR ────────────────────────────────────────────── */
@media (max-width: 639px) {
  .alert-bar { padding: 14px 20px !important; font-size: 12px !important; }

}
@media (min-width: 640px) and (max-width: 899px) {
  .alert-bar { padding: 14px 28px !important; }

}
@media (min-width: 900px) {
  .alert-bar { padding: 16px 64px !important; }

}

/* ── SITE NAV desktop restore ─────────────────────────────── */
@media (min-width: 900px) {
  .site-nav    { padding: 0 64px !important; height: 56px !important; }

.nav-links   { display: flex !important; }

.main        { padding-top: 52px !important; }

.topbar      { height: 52px !important; padding: 0 20px !important; }

.tb-lbl      { display: block !important; }

.tb-sep      { display: block !important; }

.tb-sep2     { display: flex !important; }

.tb-snav     { display: flex !important; }

}

/* ── GRIDS ────────────────────────────────────────────────── */
/* Mobile: all grids → 1 column */
@media (max-width: 639px) {
  .grid3, .grid4 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

[data-theme="t4"] .grid3 { border: none !important; }

[data-theme="t4"] .grid4 { border: none !important; }

[data-theme="t4"] .benefit-card,
  [data-theme="t4"] .nivel-card {
    border: 1px solid #e8e6e1 !important;
    border-radius: 4px !important;
  }

[data-theme="t4"] .benefit-card:nth-child(3n) { border-right: 1px solid #e8e6e1 !important; }

}
/* Tablet: grid3 → 2-col, grid4 → 2-col */
@media (min-width: 640px) and (max-width: 899px) {
  .grid3 { grid-template-columns: repeat(2,1fr) !important; }

.grid4 { grid-template-columns: repeat(2,1fr) !important; }

[data-theme="t4"] .benefit-card:nth-child(3n) { border-right: 1px solid #e8e6e1 !important; }

[data-theme="t4"] .benefit-card:nth-child(2n) { border-right: none !important; }

}
/* Desktop: restore */
@media (min-width: 900px) {
  .grid3 { grid-template-columns: repeat(3,1fr) !important; }

.grid4 { grid-template-columns: repeat(4,1fr) !important; }

}

/* ── METODOLOGÍA ──────────────────────────────────────────── */
@media (max-width: 899px) {
  .metodo-wrap {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

.pilares-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

[data-theme="t4"] .pilares-grid { border: none !important; }

[data-theme="t4"] .pilar-card {
    border: 1px solid #e8e6e1 !important;
    border-radius: 4px !important;
  }

.big-quote { font-size: 16px !important; line-height: 1.4 !important; }

}
@media (max-width: 400px) {
  .pilares-grid { grid-template-columns: 1fr !important; }

}
@media (min-width: 900px) {
  .metodo-wrap  { grid-template-columns: 1fr 1fr !important; gap: 60px !important; }

.pilares-grid { grid-template-columns: 1fr 1fr !important; }

}

/* ── MODAL CARDS (Elige tu modalidad) ────────────────────── */
@media (max-width: 639px) {
  .mc-grid        { grid-template-columns: 1fr !important; gap: 12px !important; }

.mc-card-inner  { padding: 18px 16px !important; }

.mc-nombre      { font-size: 16px !important; }

.mc-precio      { font-size: 22px !important; }

.mc-card-actions { flex-direction: column !important; gap: 8px !important; }

.mc-btn-details,
  .mc-btn-inscribe { min-height: 44px !important; width: 100% !important; }

}
@media (min-width: 640px) {
  .mc-grid { grid-template-columns: repeat(3,1fr) !important; }

}

/* ── STATS BAND ───────────────────────────────────────────── */
@media (max-width: 639px) {
  .stats-band { grid-template-columns: 1fr 1fr !important; }

.stat-item  { padding: 20px 14px !important; }

.stat-num   { font-size: 26px !important; }

/* Fix borders for 2-col */
  .stat-item:nth-child(odd)  { border-right: 1px solid rgba(128,128,128,.15) !important; }

.stat-item:nth-child(even) { border-right: none !important; }

.stat-item:nth-child(3),
  .stat-item:nth-child(4)    { border-top: 1px solid rgba(128,128,128,.1) !important; }

}
@media (min-width: 900px) {
  .stats-band { grid-template-columns: repeat(4,1fr) !important; }

.stat-item  { padding: 32px 22px !important; }

.stat-num   { font-size: 36px !important; }

}

/* ── FECHAS ACCORDION ─────────────────────────────────────── */
@media (max-width: 639px) {
  .fb-acc-trigger  { padding: 16px !important; min-height: 56px !important; }

.fb-acc-label    { font-size: 14px !important; }

.fb-acc-body     { padding: 0 12px 14px !important; }

/* Modal items: stack vertically — NO horizontal scroll */
  .fb-modals-list  {
    flex-direction: column !important;
    overflow-x: visible !important;
    gap: 10px !important;
  }

.fb-modal-item   { min-width: 0 !important; width: 100% !important; }

/* Table scroll contained */
  .fb-table-scroll { max-width: 100% !important; -webkit-overflow-scrolling: touch; }

.fb-table        { font-size: 11px !important; min-width: 320px !important; }

.fb-table th,
  .fb-table td     { padding: 8px 10px !important; }

.fb-mi-dates     { flex-direction: column !important; gap: 6px !important; }

.fb-date-arrow   { display: none !important; }

.fb-hor-items    { gap: 4px !important; }

.fh-item         { font-size: 10px !important; padding: 3px 7px !important; }

}
@media (min-width: 640px) {
  .fb-modals-list {
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 12px !important;
  }

.fb-modals-list::-webkit-scrollbar { display: none; }

.fb-modal-item   { min-width: 240px !important; flex: 1; }

}

/* ── BOTTOM SHEET (Ver detalles modalidades) ─────────────── */
@media (max-width: 767px) {
  .bs-panel {
    max-height: 92svh !important;
    max-height: 92vh !important;
    padding-bottom: env(safe-area-inset-bottom, 0) !important;
    border-radius: 20px 20px 0 0 !important;
  }

.bs-body {
    padding: 0 20px calc(20px + env(safe-area-inset-bottom,0)) !important;
    -webkit-overflow-scrolling: touch;
  }

.sh-hor-grid { flex-direction: column !important; gap: 8px !important; }

.sh-hor-col  { min-width: 0 !important; }

.bs-cta, .bs-cta-ghost { min-height: 48px !important; }

}

/* ── COMPARATIVA TABLE ────────────────────────────────────── */
@media (max-width: 639px) {
  .mc-compare-btn { font-size: 12px !important; padding: 10px 14px !important; min-height: 44px !important; width: 100% !important; }

.ct-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }

.ct-table  { min-width: 300px !important; font-size: 11px !important; }

.ct-table th,
  .ct-table td { padding: 8px 10px !important; }

.ct-th-name  { font-size: 11px !important; }

}

/* ── FAQ ──────────────────────────────────────────────────── */
@media (max-width: 639px) {
  .faq-q   { font-size: 13px !important; min-height: 52px !important; padding: 14px 0 !important; }

.faq-a   { font-size: 13px !important; }

.faq-icon { font-size: 16px !important; }

}

/* ── FORMULARIO ───────────────────────────────────────────── */
@media (max-width: 639px) {
  .form-wrap  { grid-template-columns: 1fr !important; gap: 22px !important; }

.form-grid  { grid-template-columns: 1fr !important; gap: 10px !important; }

.full       { grid-column: 1 !important; }

.ff label   { font-size: 11px !important; }

.ff input,
  .ff select  { font-size: 16px !important; /* prevents iOS zoom */ min-height: 44px !important; padding: 10px 12px !important; }

.btn-submit,
  .t4-submit4 { width: 100% !important; min-height: 50px !important; }

.wa-btn     { min-height: 48px !important; }

.sec-form   { padding: 32px 20px !important; }

}
@media (min-width: 640px) and (max-width: 899px) {
  .form-wrap { grid-template-columns: 1fr !important; }

.form-grid { grid-template-columns: 1fr 1fr !important; }

}
@media (min-width: 900px) {
  .form-wrap  { grid-template-columns: 1fr 1fr !important; gap: 60px !important; }

.form-grid  { grid-template-columns: 1fr 1fr !important; }

}

/* ── PAGOS ────────────────────────────────────────────────── */
@media (max-width: 899px) {
  .pago-wrap { grid-template-columns: 1fr !important; gap: 16px !important; }

}
@media (min-width: 900px) {
  .pago-wrap { grid-template-columns: 1fr 1fr !important; }

}

/* ── FOOTER ───────────────────────────────────────────────── */
@media (max-width: 639px) {
  .site-footer {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 28px 20px !important;
  }

.footer-right   { text-align: left !important; }

.footer-logo    { font-size: 16px !important; }

.footer-sub,
  .footer-right   { font-size: 11px !important; }

}
@media (min-width: 640px) and (max-width: 899px) {
  .site-footer {
    grid-template-columns: 1fr 1fr !important;
    padding: 28px 28px !important;
    gap: 24px !important;
  }

.footer-right { grid-column: 1 / -1 !important; text-align: left !important; }

}
@media (min-width: 900px) {
  .site-footer   { grid-template-columns: 1fr 1fr 1fr !important; padding: 36px 64px !important; }

.footer-right  { text-align: right !important; }

}

/* ── WA FLOAT ─────────────────────────────────────────────── */
.wa-float {
  bottom: calc(20px + env(safe-area-inset-bottom, 0)) !important;
  right: 16px !important;
  width: 52px !important;
  height: 52px !important;
}

@media (min-width: 640px) {
  .wa-float { right: 24px !important; bottom: 28px !important; width: 54px !important; height: 54px !important; }
}

/* ── TOUCH TARGETS (min 44px — Apple/Google HIG) ─────────── */
@media (max-width: 899px) {
  .btn-primary, .btn-secondary,
  .btn-cta-nav, .btn-cta-band,
  .mc-btn-inscribe, .mc-btn-details,
  .btn-fecha, .fb-inscribete-btn,
  .bs-cta, .bs-cta-ghost,
  .tb-tab, .mc-compare-btn,
  .btn-submit, .t4-submit4,
  .t4-btn {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

.bs-close {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

.fb-acc-trigger { min-height: 56px !important; }

.faq-q          { min-height: 52px !important; }

}

/* ── PREVENT iOS INPUT ZOOM ───────────────────────────────── */
@media (max-width: 639px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select { font-size: 16px !important; }

}

/* ── T4 HERO SPECIFIC ─────────────────────────────────────── */
@media (max-width: 899px) {
  [data-theme="t4"] .t4-rl   { left: 20px !important; }

[data-theme="t4"] .t4-bign { display: none !important; }

[data-theme="t4"] .sec-hero { padding: 36px 20px 32px !important; min-height: auto !important; }

[data-theme="t4"] .t4-h1   { font-size: clamp(36px,11vw,64px) !important; }

[data-theme="t4"] .t4-form-sec h2 { font-size: clamp(26px,8vw,42px) !important; margin-bottom: 24px !important; }

[data-theme="t4"] .btn-submit { width: 100% !important; }

[data-theme="t4"] .t4-data-band {
    grid-template-columns: 1fr 1fr !important;
  }

[data-theme="t4"] .t4-di { padding: 18px 14px !important; }

[data-theme="t4"] .t4-dv { font-size: clamp(18px,5vw,28px) !important; }

}
@media (min-width: 900px) {
  [data-theme="t4"] .t4-data-band { grid-template-columns: repeat(4,1fr) !important; }

[data-theme="t4"] .t4-di { padding: 26px 36px !important; }