/* CICM · FRSE | Diseño adaptable 2026 */
:root{--cicm:#d10a2e;--cicm-deep:#a80523;--ink:#15283b;--navy:#102536;--muted:#5a6c7b;--line:#e1e8ed;--bg:#f2f5f8;--shadow:0 15px 48px rgba(15,36,53,.075)}
html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}
a{color:#124c73}a:hover{color:var(--cicm-deep)}.muted{color:var(--muted)}.text-cicm{color:var(--cicm)!important}
.navbar{background:var(--navy);box-shadow:0 2px 15px rgba(0,0,0,.12)}.navbar-brand{font-size:.95rem!important;white-space:normal;line-height:1.35;max-width:100%}.nav-inner{width:min(100%,1410px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-right{color:#f4e7eb;font-size:.84rem;text-decoration:none;border:1px solid #ffffff45;padding:.45rem .8rem;border-radius:8px;white-space:nowrap}.nav-right:hover{color:white;background:#ffffff20}
.hero{background:linear-gradient(100deg,#1a354b,#eef2f5 50%,#1a354b);border-bottom:4px solid var(--cicm);padding:0 18px}.hero-media{width:min(100%,1480px);margin:auto;aspect-ratio:1672/843;overflow:hidden;background:#fff;box-shadow:0 10px 30px #10253635}.hero-media img{display:block;width:100%;height:auto;max-height:none;object-fit:initial}.hero-caption{background:#102536;color:white;text-align:center;font-size:.84rem;padding:.65rem .9rem;font-weight:550}.hero-caption i{color:#f2bbca}
main.container-lg{max-width:1380px}.card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;background:white;overflow:hidden}.card p:last-child{margin-bottom:0}.intro-card{position:relative;background:linear-gradient(111deg,#fff,#fcfdff);border-top:4px solid var(--cicm)!important}.intro-top{font-size:.78rem;text-transform:uppercase;font-weight:800;color:var(--cicm);letter-spacing:1px}.intro-title{font-size:clamp(1.55rem,2vw,2.2rem);color:var(--navy);font-weight:800;letter-spacing:-.6px}.intro-text{max-width:640px;color:#586a79;font-size:1.02rem}.intro-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}.intro-pills span{border-radius:100px;background:#eff3f7;color:#27455e;font-weight:700;font-size:.78rem;padding:7px 12px}.intro-pills i{color:var(--cicm)}.intro-watermark{color:var(--cicm);font-size:clamp(3.5rem,5vw,5.5rem);opacity:.18;align-self:center}
.section-heading{display:flex;align-items:center;gap:.7rem;margin:0 0 1.2rem;padding:0 0 1rem;border-bottom:1px solid var(--line);font-size:1.18rem;font-weight:800;color:var(--ink)}.section-number{background:#fceaf0;border:1px solid #fbd5df;border-radius:10px;color:var(--cicm);display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;font-weight:900;flex:0 0 auto}
.form-label{font-weight:700;color:#264158;font-size:.9rem;margin-bottom:.45rem}.form-control,.form-select{border-radius:10px;min-height:46px;border-color:#cfd9e1;background:#fff;padding:.62rem .77rem;color:var(--ink)}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--cicm);box-shadow:0 0 0 .2rem #d10a2e18}.form-check-input:checked{background-color:var(--cicm);border-color:var(--cicm)}.form-check{padding-left:1.5rem}.form-check-label{color:#31495d}.btn{border-radius:10px;font-weight:650}.btn-cicm{background:var(--cicm);color:white;border:1px solid var(--cicm)}.btn-cicm:hover,.btn-cicm:focus{background:var(--cicm-deep);border-color:var(--cicm-deep);color:white}.btn-outline-dark:hover{background:var(--navy)}
.attendee-row{border:1px solid #dce5ec!important;border-radius:12px!important;background:linear-gradient(135deg,#fcfdff,#fff)!important}.attendee-row .count-pill{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;width:29px;height:29px;border-radius:8px;font-size:.85rem}.attendee-row .cost{color:var(--cicm);font-size:1.12rem}.attendee-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:#f8fafb;border:1px solid #e3ebef;border-radius:12px;padding:14px 17px}.badge-mode{font-size:.76rem;border-radius:8px;padding:5px 9px;background:#eaf3fa;color:#174a68;font-weight:800}.badge-mode.virtual{background:#f5ecfc;color:#68428b}
.fiscal-box{border:1px solid #d9e2ea!important;background:#fbfcfd!important;border-radius:12px!important}.invoice-choice{display:block;padding:12px 15px;border:1px solid #d9e2ea;border-radius:10px;background:#fff;cursor:pointer;min-width:225px}.invoice-choice:has(input:checked){border-color:var(--cicm);background:#fff5f7}.total-box{background:linear-gradient(110deg,#f5f8fa,#eef3f7)!important;border:1px solid #dce7ee!important;border-radius:13px!important}.total-number{font-size:clamp(1.55rem,2.6vw,2.15rem);color:var(--navy)}
.event-card{border-top:4px solid var(--cicm)!important}.event-card .event-meta{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f4}.event-card .event-meta>i{color:var(--cicm);font-size:1.1rem;margin-top:2px}.event-card .event-meta:last-of-type{border-bottom:0}.sticky-info{position:sticky;top:18px}.muted-helper{font-size:.85rem;line-height:1.6;color:#687986}.price-card .table{font-size:.91rem}.price-card .table td,.price-card .table th{padding:.65rem .35rem}.table-price{font-weight:850;color:var(--cicm)}.detail-list{font-size:.92rem;color:#475e70;padding-left:1.2rem;line-height:1.65}.btn-location{border-color:#b9cad4;color:#16405c;padding:.62rem}.btn-location:hover{background:#eef5f8;color:var(--navy);border-color:#809fad}
footer{color:#788795!important;font-size:.85rem}footer a{text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid #eab0c0;outline-offset:2px}
@media(max-width:1199.98px){.hero{padding:0}.hero-media{box-shadow:none}.intro-watermark{display:none}.sticky-info{position:static}}
@media(max-width:991.98px){main.container-lg{padding-top:1.5rem!important}.form-grid{gap:1rem}.event-card .event-meta{padding:11px 0}}
@media(max-width:767.98px){.navbar-brand{font-size:.79rem!important}.nav-right{font-size:.72rem;padding:7px}.hero-caption{font-size:.77rem}.intro-title{font-size:1.57rem}.intro-text{font-size:.94rem}.card{border-radius:12px}.event-card .event-meta{gap:9px}.section-heading{font-size:1.07rem}.invoice-choice{width:100%;min-width:0}.attendee-summary{display:block}.attendee-summary>div:not(:first-child){margin-top:8px}.btn-mobile-full{width:100%}}
@media(max-width:420px){.nav-right{display:none}.intro-pills span{font-size:.72rem}.hero-caption{font-size:.71rem}}

/* Ajustes de entrega v2: banner y rejilla responsiva */
.hero{padding:0;overflow:hidden}
.hero-media{max-width:1400px;width:100%;aspect-ratio:auto;margin:auto;box-shadow:none}
.hero-media img{display:block;width:100%;height:auto;object-fit:contain}
.form-grid>div,.form-grid>aside{min-width:0}
@media (max-width:767.98px){
 .hero-caption{line-height:1.6;padding:.6rem 1rem}
 .intro-card{margin-bottom:1rem!important}
 .intro-pills{gap:6px}
 .sticky-info{position:static}
}

/* V3 · registro simplificado y descuentos acreditados */
.first-payer-note {background:#eff8f4;border:1px solid #b4dacb;border-radius:12px;padding:14px 16px;color:#173d2b;}
.attendee-identity:not(.d-none) {margin-bottom:12px;}
.discount-panel {background:#fff8e6;border:1px solid #f0d28b;border-radius:12px;padding:14px 16px;color:#5e4715;}
.discount-panel .form-label{color:#523709;}
.discount-panel .small{line-height:1.5;}
.price-class{font-size:.75rem;letter-spacing:.02em;}
.primary-person{line-height:1.6;}
@media (max-width:575px){.discount-panel{padding:12px}.intro-pills{gap:8px}.asistente{padding:14px!important;}}

/* V8 · Vista previa de CFDI antes de pago */
.previa-comprobante{border:0;border-radius:18px;overflow:hidden}
.previa-comprobante .modal-header{background:#f8fafc;border-top:5px solid var(--cicm);padding:1.2rem 1.4rem}
.previa-comprobante .modal-body{padding:1.5rem}
.previa-comprobante .modal-footer{padding:1rem 1.4rem;background:#f8fafc}
.preview-grid{display:grid;grid-template-columns:minmax(110px,36%) 1fr;gap:.4rem 1rem;border:1px solid var(--line);padding:1rem;border-radius:12px;margin-top:.7rem;overflow-wrap:anywhere}
.preview-grid dt{font-weight:700;color:#465d6d}.preview-grid dd{margin:0;color:var(--ink)}
.previa-table{font-size:.83rem}.previa-table td:first-child{min-width:205px}.previa-table td:not(:first-child),.previa-table th:not(:first-child){text-align:right;white-space:nowrap}
.preview-totals{width:min(100%,340px);border-top:2px solid var(--navy);padding-top:.5rem}
@media(max-width:575px){.previa-comprobante .modal-body{padding:1rem}.preview-grid{grid-template-columns:1fr;gap:.15rem}.preview-grid dd{margin-bottom:.5rem}}
