
/* ══════════════════════════════════════════════════════════════
   FASE 1 — Web pública premium · Momento360
   ══════════════════════════════════════════════════════════════ */

/* ── Header mejorado ─────────────────────────────────────────── */
.site-header.scrolled {
    background: rgba(5,12,26,0.98);
    box-shadow: 0 4px 32px rgba(0,0,0,0.5);
}
.site-header__account {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 0 18px; height: 40px; border-radius: 999px;
    background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14);
    color: #eef2ff; font-family: var(--font-h); font-size: 0.85rem; font-weight: 600;
    transition: var(--t); white-space: nowrap; flex-shrink: 0;
}
.site-header__account:hover { background: rgba(255,255,255,0.11); border-color: rgba(255,255,255,0.22); color: var(--cyan-2); }
.site-header__account svg { flex-shrink: 0; }
.site-header__points {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 0 14px; height: 36px; border-radius: 999px;
    background: rgba(255,107,53,0.12); border: 1px solid rgba(255,107,53,0.25);
    color: var(--orange); font-family: var(--font-h); font-size: 0.8rem; font-weight: 700;
    transition: var(--t); white-space: nowrap; flex-shrink: 0; cursor: pointer;
}
.site-header__points:hover { background: rgba(255,107,53,0.2); border-color: var(--orange); }
.site-header__divider { width: 1px; height: 24px; background: rgba(255,255,255,0.14); flex-shrink: 0; }
@media (max-width: 960px) {
    .site-nav { display: none; }
    .site-header__points,.site-header__divider,.site-header__account,.site-header__cta { display: none; }
    .hamburger { display: flex; margin-left: auto; }
}
.mobile-menu__account {
    margin-top: 8px; padding: 16px 20px; border-radius: 24px;
    background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14);
    color: #eef2ff; font-family: var(--font-h); font-size: 1rem; font-weight: 600;
    display: flex; align-items: center; gap: 10px;
}
.mobile-menu__points {
    padding: 14px 20px; border-radius: 24px;
    background: rgba(255,107,53,0.1); border: 1px solid rgba(255,107,53,0.2);
    color: var(--orange); font-family: var(--font-h); font-size: 0.9rem; font-weight: 700;
    display: flex; align-items: center; gap: 8px;
}
.mobile-menu__sep { height: 1px; background: rgba(255,255,255,0.08); margin: 8px 0; }

/* ── Hero: elementos nuevos ──────────────────────────────────── */
.s-hero__badge {
    display: inline-flex; align-items: center; gap: 6px; margin-bottom: 24px;
    padding: 6px 16px; border-radius: 999px;
    background: rgba(0,212,255,0.1); border: 1px solid rgba(0,212,255,0.2);
    color: var(--cyan-2); font-family: var(--font-h); font-size: 0.78rem; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
}
.s-hero__badge-dot {
    width: 7px; height: 7px; border-radius: 50%; background: var(--cyan);
    animation: pulse-dot 1.8s ease-in-out infinite;
}
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(0.7)} }
.s-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.s-hero__scroll {
    position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 2;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    color: rgba(255,255,255,0.4); font-size: 0.7rem; font-family: var(--font-h);
    font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase;
}
.s-hero__scroll svg { animation: bounce-arrow 2.5s ease-in-out infinite; }
@keyframes bounce-arrow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }

/* ── Social Proof Strip ──────────────────────────────────────── */
.s-proof {
    background: var(--bg-2); border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border); padding: 32px 0;
}
.s-proof__grid {
    width: var(--container); margin: 0 auto;
    display: grid; grid-template-columns: repeat(4,1fr); gap: 0;
}
.s-proof__item {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 12px 20px; border-right: 1px solid var(--border);
}
.s-proof__item:last-child { border-right: none; }
.s-proof__num {
    font-family: var(--font-h); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 900;
    letter-spacing: -0.03em; line-height: 1;
    background: linear-gradient(135deg, #fff 30%, var(--cyan-2));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.s-proof__label { font-size: 0.78rem; color: var(--text-3); margin-top: 4px; font-family: var(--font-h); }
@media (max-width:600px) {
    .s-proof__grid { grid-template-columns: repeat(2,1fr); }
    .s-proof__item:nth-child(2) { border-right: none; }
}

/* ── Eventos destacados home ─────────────────────────────────── */
.s-featured { padding: 96px 0 80px; background: var(--bg); }
.s-featured__head {
    width: var(--container); margin: 0 auto 52px;
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
}
.s-featured__title {
    font-family: var(--font-h); font-size: clamp(1.8rem,3.5vw,2.8rem);
    font-weight: 900; letter-spacing: -0.03em; color: var(--text); line-height: 1.1;
}
.s-featured__sub { font-size: 0.95rem; color: var(--text-2); margin-top: 8px; max-width: 42ch; }
.s-featured__link {
    font-family: var(--font-h); font-size: 0.88rem; font-weight: 700; color: var(--text-2);
    border-bottom: 1px solid rgba(255,255,255,0.14); padding-bottom: 2px;
    white-space: nowrap; transition: var(--t); flex-shrink: 0;
}
.s-featured__link:hover { color: var(--orange); border-color: var(--orange); }
.s-featured__grid {
    width: var(--container); margin: 0 auto;
    display: grid; grid-template-columns: repeat(3,1fr); gap: 24px;
}
.ev-vcard {
    background: var(--surface); border: 1px solid var(--border); border-radius: 32px;
    overflow: hidden; transition: var(--t); display: flex; flex-direction: column;
}
.ev-vcard:hover { border-color: rgba(255,255,255,0.22); box-shadow: 0 12px 48px rgba(0,0,0,0.55); transform: translateY(-6px); }
.ev-vcard__img { position: relative; overflow: hidden; aspect-ratio: 16/10; background: #0b1220; }
.ev-vcard__img img { width:100%; height:100%; display:block; object-fit:contain; transition: transform 0.6s ease; }
.ev-vcard:hover .ev-vcard__img img { transform: scale(1.06); }
.ev-vcard__badge {
    position: absolute; top:12px; left:12px; z-index:2;
    padding: 4px 12px; border-radius: 999px;
    font-family: var(--font-h); font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase;
}
.ev-vcard__badge--presencial { background: rgba(255,107,53,0.9); color:#fff; }
.ev-vcard__badge--streaming  { background: rgba(0,212,255,0.9); color:#000; }
.ev-vcard__badge--agotado    { background: rgba(220,38,38,0.9); color:#fff; }
.ev-vcard__urgency {
    position: absolute; bottom:12px; right:12px; z-index:2;
    padding: 3px 10px; border-radius: 999px;
    background: rgba(255,107,53,0.88); color:#fff;
    font-family: var(--font-h); font-size: 0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
}
.ev-vcard__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex:1; }
.ev-vcard__title { font-family: var(--font-h); font-size: 1.1rem; font-weight: 800; letter-spacing: -0.02em; color: var(--text); line-height: 1.25; }
.ev-vcard__meta { display: flex; flex-direction: column; gap: 5px; }
.ev-vcard__meta-row { display: flex; align-items: center; gap: 7px; font-size: 0.82rem; color: var(--text-2); }
.ev-vcard__price { font-family: var(--font-h); font-size: 1rem; font-weight: 800; color: var(--orange); margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border); }
.ev-vcard__cta {
    display:block; text-align:center; padding: 11px; border-radius: 999px;
    background: rgba(255,255,255,0.11); border: 1px solid rgba(255,255,255,0.22);
    font-family: var(--font-h); font-size:0.82rem; font-weight:700; color: var(--text);
    transition: var(--t); margin-top:4px;
}
.ev-vcard__cta:hover { background: linear-gradient(135deg,var(--orange),#d94400); color:#fff; border-color:transparent; }
@media (max-width:900px) { .s-featured__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:540px) { .s-featured__grid { grid-template-columns: 1fr; } }

/* ── Cómo funciona ───────────────────────────────────────────── */
.s-how { padding: 96px 0; background: var(--bg-3); }
.s-how__wrap { width: var(--container); margin: 0 auto; }
.s-how__head { text-align: center; margin-bottom: 64px; }
.s-how__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; position: relative; }
.s-how__grid::before {
    content:''; position:absolute; top:36px;
    left: calc(12.5% + 24px); right: calc(12.5% + 24px); height:2px;
    background: linear-gradient(90deg, var(--orange), var(--cyan)); border-radius:2px; z-index:0;
}
.s-how__step { display:flex; flex-direction:column; align-items:center; text-align:center; padding: 0 20px; position:relative; z-index:1; }
.s-how__num {
    width:72px; height:72px; border-radius:50%;
    background: var(--bg-2); border: 2px solid rgba(255,255,255,0.14);
    display:flex; align-items:center; justify-content:center;
    font-family: var(--font-h); font-size:1.4rem; font-weight:900; color: var(--text);
    margin-bottom: 24px; transition: var(--t);
    box-shadow: 0 0 0 6px var(--bg-3);
}
.s-how__step:hover .s-how__num {
    background: linear-gradient(135deg,var(--orange),#d94400); color:#fff;
    border-color:transparent; box-shadow: 0 0 0 6px var(--bg-3), 0 8px 24px rgba(255,107,53,0.35);
}
.s-how__label { font-family: var(--font-h); font-size:1rem; font-weight:700; color:var(--text); margin-bottom:8px; }
.s-how__desc { font-size:0.85rem; color:var(--text-2); line-height:1.65; }
@media (max-width:800px) { .s-how__grid { grid-template-columns: repeat(2,1fr); gap: 40px; } .s-how__grid::before { display:none; } }
@media (max-width:440px) { .s-how__grid { grid-template-columns: 1fr; } }

/* ── Puntos 360 Teaser ───────────────────────────────────────── */
.s-points {
    overflow: hidden;
    background: linear-gradient(135deg, var(--bg-4) 0%, var(--bg-2) 100%);
    border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.s-points__inner {
    width: var(--container); margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 520px; align-items: stretch;
}
.s-points__visual { position: relative; overflow: hidden; min-height: 420px; }
.s-points__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55; }
.s-points__visual-overlay { position:absolute; inset:0; background: linear-gradient(90deg, transparent 0%, var(--bg-4) 100%); }
.s-points__content { padding: 72px 52px 72px 40px; display:flex; flex-direction:column; justify-content:center; gap:28px; }
.s-points__eyebrow {
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-h); font-size:0.7rem; font-weight:700;
    letter-spacing:0.2em; text-transform:uppercase; color:var(--orange);
}
.s-points__eyebrow::before { content:''; width:24px; height:2px; background:currentColor; border-radius:2px; }
.s-points__title { font-family:var(--font-h); font-size:clamp(1.9rem,3.5vw,3rem); font-weight:900; letter-spacing:-0.03em; color:var(--text); line-height:1.05; }
.s-points__title em { font-style:normal; color:var(--orange); }
.s-points__desc { font-size:1rem; color:var(--text-2); line-height:1.75; max-width:46ch; }
.s-points__pills { display:flex; flex-wrap:wrap; gap:12px; }
.s-points__pill {
    padding: 10px 18px; border-radius: 999px;
    background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14);
    font-family: var(--font-h); font-size: 0.82rem; font-weight: 700; color: var(--text);
    display:flex; align-items:center; gap:8px;
}
.s-points__pill span { color: var(--orange); }
.s-points__cta { display:flex; gap:14px; flex-wrap:wrap; }
@media (max-width:800px) { .s-points__inner { grid-template-columns:1fr; } .s-points__visual { min-height:240px; } .s-points__content { padding: 48px 24px; } }

/* ── Por qué Momento360 ──────────────────────────────────────── */
.s-why { padding: 96px 0; background: var(--bg); }
.s-why__wrap { width: var(--container); margin: 0 auto; }
.s-why__head { text-align:center; margin-bottom: 56px; }
.s-why__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.s-why__card {
    padding: 32px 28px; border-radius: 32px;
    background: var(--surface); border: 1px solid var(--border);
    display: grid; gap: 14px; transition: var(--t);
}
.s-why__card:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.22); transform: translateY(-4px); box-shadow: 0 12px 48px rgba(0,0,0,0.55); }
.s-why__icon {
    width:48px; height:48px; border-radius: 18px;
    display:flex; align-items:center; justify-content:center; font-size:1.4rem;
}
.s-why__icon--orange { background: rgba(255,107,53,0.12); }
.s-why__icon--cyan   { background: rgba(0,212,255,0.10); }
.s-why__icon--green  { background: rgba(0,229,160,0.1); }
.s-why__card-title { font-family: var(--font-h); font-size:1rem; font-weight:700; color:var(--text); }
.s-why__card-desc { font-size:0.875rem; color:var(--text-2); line-height:1.7; }
@media (max-width:800px) { .s-why__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:480px) { .s-why__grid { grid-template-columns: 1fr; } }

/* ── Afiliados teaser ────────────────────────────────────────── */
.s-affiliate {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--bg-3) 0%, var(--bg-4) 100%);
    border-top: 1px solid var(--border);
}
.s-affiliate__inner { width: var(--container); margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.s-affiliate__left { max-width: 54ch; }
.s-affiliate__tag {
    display:inline-flex; align-items:center; gap:8px; padding:5px 14px; border-radius:999px;
    background:rgba(0,229,160,0.1); border:1px solid rgba(0,229,160,0.2);
    color:var(--green); font-family:var(--font-h); font-size:0.72rem; font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase; margin-bottom:16px;
}
.s-affiliate__title { font-family:var(--font-h); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:900; letter-spacing:-0.03em; color:var(--text); line-height:1.1; margin-bottom:14px; }
.s-affiliate__desc { font-size:0.95rem; color:var(--text-2); line-height:1.75; }
.s-affiliate__right { display:flex; flex-direction:column; gap:14px; min-width:200px; align-items:flex-start; }
.s-affiliate__stat { display:flex; flex-direction:column; }
.s-affiliate__stat-num { font-family:var(--font-h); font-size:2rem; font-weight:900; color:var(--green); letter-spacing:-0.03em; }
.s-affiliate__stat-lbl { font-size:0.8rem; color:var(--text-3); }
@media (max-width:700px) { .s-affiliate__inner { flex-direction:column; } .s-affiliate__right { flex-direction:row; gap:32px; } }

/* ── Filtros catálogo ─────────────────────────────────────────── */
.ev-filters {
    width: var(--container); margin: 0 auto 40px;
    display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
}
.ev-filter-btn {
    padding: 9px 20px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.04); color: var(--text-2);
    font-family: var(--font-h); font-size:0.82rem; font-weight:600;
    cursor:pointer; transition: var(--t);
}
.ev-filter-btn:hover { background: rgba(255,107,53,0.12); border-color: var(--orange); color: var(--orange); }
.ev-filter-btn.active { background: rgba(255,107,53,0.12); border-color: var(--orange); color: var(--orange); }
.ev-filter-btn.active[data-mode="streaming"] { background: rgba(0,212,255,0.10); border-color: var(--cyan); color: var(--cyan-2); }
.ev-filter-input {
    padding: 9px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.04); color: var(--text);
    font-family: var(--font-b); font-size:0.85rem; outline:none; transition: var(--t); min-width: 200px;
}
.ev-filter-input:focus { border-color: rgba(255,255,255,0.22); background: rgba(255,255,255,0.07); }
.ev-filter-input::placeholder { color: var(--text-3); }

/* Badges en tarjetas de la lista de eventos */
.ev-card__img-wrap { position:relative; aspect-ratio:16/9; overflow:hidden; display:block; }
.ev-card__badge {
    position:absolute; top:12px; left:12px; z-index:2;
    padding:4px 12px; border-radius:999px;
    font-family:var(--font-h); font-size:0.68rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
}
.ev-card__badge--presencial { background:rgba(255,107,53,0.88); color:#fff; }
.ev-card__badge--streaming  { background:rgba(0,212,255,0.88); color:#000; }
.ev-card__badge--agotado    { background:rgba(220,38,38,0.9); color:#fff; }
.ev-card--sold .btn { opacity:.5; pointer-events:none; }

/* ── Event detail: tipos de ticket ──────────────────────────── */
.s-ev-tickets { padding: 80px 0; background: var(--bg-3); }
.ev-ttype-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 20px; margin-top: 40px; }
.ev-ttype-card {
    padding: 28px 24px; border-radius: 32px;
    background: var(--surface); border: 2px solid var(--border);
    display: flex; flex-direction:column; gap:12px; transition: var(--t); position:relative; overflow:hidden;
}
.ev-ttype-card:hover { border-color: var(--orange); transform: translateY(-4px); box-shadow: 0 12px 48px rgba(0,0,0,0.55); }
.ev-ttype-name { font-family:var(--font-h); font-size:1.1rem; font-weight:800; color:var(--text); }
.ev-ttype-desc { font-size:0.85rem; color:var(--text-2); line-height:1.65; flex:1; }
.ev-ttype-price { font-family:var(--font-h); font-size:1.5rem; font-weight:900; color:var(--text); letter-spacing:-0.02em; }
.ev-ttype-price sub { font-size:0.6em; font-weight:600; color:var(--text-3); vertical-align:top; margin-top:6px; }
.ev-ttype-avail { font-size:0.75rem; color:var(--text-3); }
.ev-ttype-pts { display:flex; align-items:center; gap:6px; font-family:var(--font-h); font-size:0.8rem; font-weight:700; color:var(--orange); }
.ev-ttype-cta {
    display:block; text-align:center; padding:12px; border-radius:999px;
    background:linear-gradient(135deg,var(--orange),#d94400); color:#fff;
    font-family:var(--font-h); font-size:0.88rem; font-weight:700; transition: var(--t); margin-top:4px;
}
.ev-ttype-cta:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,107,53,0.4); }

/* Sticky CTA */
.ev-sticky-cta {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
    background: rgba(5,12,26,0.96); backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,0.14);
    padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    transform: translateY(100%); transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.ev-sticky-cta.visible { transform: translateY(0); }
.ev-sticky-cta__info { display:flex; flex-direction:column; }
.ev-sticky-cta__name { font-family:var(--font-h); font-size:0.88rem; font-weight:700; color:var(--text); }
.ev-sticky-cta__price { font-family:var(--font-h); font-size:1rem; font-weight:800; color:var(--orange); }
@media (max-width:500px) { .ev-sticky-cta__info { display:none; } }

/* ── Footer renovado ──────────────────────────────────────────── */
.site-footer { position:relative; z-index:1; background:var(--bg-2); border-top:1px solid var(--border); padding:0; }
.site-footer__top { padding: 72px 0 56px; }
.site-footer__grid {
    width: var(--container); margin: 0 auto;
    display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 48px;
}
.site-footer__brand { display:flex; flex-direction:column; gap:16px; }
.site-footer__brand img { height:44px; width:auto; object-fit:contain; opacity:.92; display:block; }
.site-footer__brand-desc { font-size:0.875rem; color:var(--text-2); line-height:1.75; max-width:30ch; }
.site-footer__social { display:flex; gap:10px; margin-top:4px; }
.site-footer__social a {
    width:36px; height:36px; border-radius:18px;
    background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.08);
    display:flex; align-items:center; justify-content:center; color:var(--text-2); transition:var(--t);
}
.site-footer__social a:hover { background:rgba(255,255,255,0.11); border-color:rgba(255,255,255,0.22); color:var(--text); }
.site-footer__col h3 { font-family:var(--font-h); font-size:0.72rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-3); margin-bottom:18px; }
.site-footer__links { display:flex; flex-direction:column; gap:10px; }
.site-footer__links a { font-size:0.875rem; color:var(--text-2); transition:var(--t); }
.site-footer__links a:hover { color:var(--text); }
.site-footer__trust {
    border-top:1px solid var(--border); padding:20px 0;
    width:var(--container); margin:0 auto;
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.site-footer__trust-badges { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.site-footer__trust-badge {
    padding:6px 14px; border-radius:999px;
    background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
    font-family:var(--font-h); font-size:0.72rem; font-weight:700; color:var(--text-3);
    display:flex; align-items:center; gap:6px;
}
.site-footer__bottom {
    border-top:1px solid var(--border); padding:20px 0;
    width:var(--container); margin:0 auto;
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.site-footer__bottom p { font-size:0.8rem; color:var(--text-3); }
.site-footer__bottom-links { display:flex; gap:20px; }
.site-footer__bottom-links a { font-size:0.8rem; color:var(--text-3); transition:var(--t); }
.site-footer__bottom-links a:hover { color:var(--text-2); }
@media (max-width:900px) { .site-footer__grid { grid-template-columns: 1fr 1fr; gap:36px; } }
@media (max-width:520px) { .site-footer__grid { grid-template-columns: 1fr; } .site-footer__bottom { flex-direction:column; align-items:flex-start; } }

/* ── CTA final home ───────────────────────────────────────────── */
.s-home-cta { position:relative; overflow:hidden; padding:120px 0; color:#fff; text-align:center; }
.s-home-cta__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.s-home-cta__overlay { position:absolute; inset:0; background: linear-gradient(135deg, rgba(5,12,26,0.88) 0%, rgba(5,12,26,0.75) 100%); }
.s-home-cta__content { position:relative; z-index:2; width:var(--container); margin:0 auto; }
.s-home-cta__title { font-family:var(--font-h); font-size:clamp(2.2rem,5vw,3.8rem); font-weight:900; letter-spacing:-0.03em; line-height:1.05; margin-bottom:20px; }
.s-home-cta__sub { font-size:1.05rem; color:rgba(255,255,255,0.7); line-height:1.8; max-width:48ch; margin:0 auto 40px; }
.s-home-cta__actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── Shared section utilities ─────────────────────────────────── */
.s-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-h); font-size:0.72rem; font-weight:700;
    letter-spacing:0.2em; text-transform:uppercase; color:var(--orange); margin-bottom:12px;
}
.s-eyebrow::before { content:''; width:24px; height:2px; background:currentColor; border-radius:2px; }
.s-eyebrow--cyan { color:var(--cyan-2); }
.s-eyebrow--cyan::before { background:var(--cyan-2); }
.s-eyebrow--center { justify-content:center; }
.s-eyebrow--center::before { display:none; }
.s-h2 { font-family:var(--font-h); font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; letter-spacing:-0.03em; color:var(--text); line-height:1.1; }
.s-p  { font-size:1rem; color:var(--text-2); line-height:1.75; max-width:52ch; margin-top:10px; }
.s-center { text-align:center; }
.s-center .s-p { margin-inline:auto; }

/* ── Responsive misc ──────────────────────────────────────────── */
@media (max-width:640px) {
    .s-ev-hero__h1 { font-size: 2rem; }
    .ev-meta-grid { grid-template-columns: repeat(2,1fr); }
    .ev-ttype-grid { grid-template-columns: 1fr; }
    .s-points__content { padding: 40px 20px; }
    .s-affiliate__inner { gap:32px; }
}

/* ── HTML view patch: class name aliases ──────────────────────── */

/* Badge variants used in PHP views */
.ev-card__badge--stream  { background:rgba(0,212,255,0.88); color:#000; }
.ev-card__badge--hybrid  { background:rgba(100,230,160,0.88); color:#000; }

/* s-how section layout helpers */
.s-how__inner { width: var(--container); margin: 0 auto; }
.s-how__item {
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding: 0 20px; position:relative; z-index:1;
}
.s-how__item:hover .s-how__num {
    background: linear-gradient(135deg,var(--orange),#d94400); color:#fff;
    border-color:transparent; box-shadow: 0 0 0 6px var(--bg-3), 0 8px 24px rgba(255,107,53,0.35);
}
.s-how__title { font-family: var(--font-h); font-size:1rem; font-weight:700; color:var(--text); margin-bottom:8px; }
.s-how__text  { font-size:0.85rem; color:var(--text-2); line-height:1.65; }

/* s-why section helpers */
.s-why__inner { width: var(--container); margin: 0 auto; }
.s-why__title { font-family: var(--font-h); font-size:1.05rem; font-weight:700; color:var(--text); }
.s-why__text  { font-size:0.875rem; color:var(--text-2); line-height:1.7; }
.s-why__icon svg { color:var(--orange); }

/* s-affiliate section helpers */
.s-affiliate__text { max-width:54ch; }
.s-affiliate__perks { display:flex; flex-direction:column; gap:14px; min-width:240px; }
.s-affiliate__perk  { display:flex; align-items:center; gap:12px; font-size:0.9rem; color:var(--text-2); }
.s-affiliate__perk svg { color:var(--orange); flex-shrink:0; }

/* sticky CTA: is-visible alias */
.ev-sticky-cta.is-visible { transform: translateY(0); }
.ev-sticky-cta__title { font-family:var(--font-h); font-size:0.88rem; font-weight:700; color:var(--text); }
.ev-sticky-cta__price { font-family:var(--font-h); font-size:1rem; font-weight:800; color:var(--orange); }

/* ev-filters pill bar */
.ev-filters {
    position:sticky; top:70px; z-index:40;
    background:var(--bg-2); border-bottom:1px solid var(--border); padding:14px 0;
    margin:0;
}
.ev-filters__inner { width:var(--container); margin:0 auto; }
.ev-filters__pills  { display:flex; gap:10px; flex-wrap:wrap; }
.ev-filters__pill {
    padding:8px 18px; border-radius:999px; border:1px solid rgba(255,255,255,0.14);
    background:rgba(255,255,255,0.04); color:var(--text-2);
    font-family:var(--font-h); font-size:0.82rem; font-weight:600;
    cursor:pointer; transition:var(--t);
}
.ev-filters__pill:hover  { background:rgba(255,107,53,0.12); border-color:var(--orange); color:var(--orange); }
.ev-filters__pill.is-active { background:rgba(255,107,53,0.12); border-color:var(--orange); color:var(--orange); }

/* ev-vcard extras */
.ev-vcard__actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:8px; }
.ev-vcard__meta span { display:flex; align-items:center; gap:7px; font-size:0.82rem; color:var(--text-2); }

/* ev-ttype-card content */
.ev-ttype-card__num {
    width:44px; height:44px; border-radius:50%;
    background:rgba(255,107,53,0.12); border:1px solid rgba(255,107,53,0.25);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    font-family:var(--font-h); font-size:1rem; font-weight:900; color:var(--orange);
}
.ev-ttype-card__text { font-size:0.9rem; color:var(--text-2); line-height:1.65; }

/* footer section headings and trust bar */
.site-footer__grid section > h2 {
    font-family:var(--font-h); font-size:0.72rem; font-weight:700;
    letter-spacing:0.18em; text-transform:uppercase; color:var(--text-3); margin-bottom:16px;
}
.site-footer__grid section > p { font-size:0.875rem; color:var(--text-2); line-height:1.75; max-width:28ch; }
.site-footer__trust {
    width:var(--container); margin:0 auto;
    display:flex; align-items:center; justify-content:space-around; gap:20px; flex-wrap:wrap;
    padding:20px 0; border-top:1px solid var(--border);
}
.site-footer__trust span {
    display:flex; align-items:center; gap:8px;
    font-family:var(--font-h); font-size:0.75rem; font-weight:600; color:var(--text-3);
}
.site-footer__trust span svg { color:var(--cyan-2); flex-shrink:0; }
.site-footer__bottom { padding:18px 0; }
.site-footer__bottom p { font-size:0.8rem; color:var(--text-3); }

@media (max-width:640px) {
    .s-how__item { padding: 0 10px; }
    .s-affiliate__inner { flex-direction:column; }
    .s-affiliate__perks { flex-direction:row; flex-wrap:wrap; }
}
