/* ══════════════════════════════════════════════════════════════════════════
   REGISTER / PASS-SELECTION page — scoped styles. Ported verbatim from
   register.blade.php. (The shared .lu-nav / button-reskin / footer rules live
   in lu-chrome.css; only the page-specific .ps-* / mobile-pass-card styles
   are here.)
   ══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   PASS SELECTION PAGE
═══════════════════════════════════════════ */
:root {
    --dp:#2C2F73;--ov:#1F2257;--lp:#5A5ACF;
    --cyan:#7ED6D1;--mint:#9FE3B3;--gold:#F5C842;
    --white:#fff;--soft:#E6E8F0;
}
html { scroll-behavior:smooth; }
body { background:#07071c; color:var(--soft); }

/* ── PAGE HERO ── */
.ps-hero {
    background: linear-gradient(160deg, #1F2257 0%, #2C2F73 50%, #07071c 100%);
    padding: 80px 0 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.ps-hero::before {
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(rgba(127,214,209,.055) 1px,transparent 1px);
    background-size:44px 44px;pointer-events:none;
}
.ps-hero::after {
    content:'';position:absolute;top:-20%;left:50%;transform:translateX(-50%);
    width:700px;height:400px;
    background:radial-gradient(ellipse,rgba(90,90,207,.35) 0%,transparent 68%);
    pointer-events:none;
}
.ps-hero-inner { position:relative;z-index:1; }
.ps-hero-tag {
    font-family:'LEMONMILK','Futura',sans-serif;
    font-size:9px;letter-spacing:.28em;text-transform:uppercase;
    color:var(--cyan);margin-bottom:16px;display:block;
}
.ps-hero-title {
    font-family:'LEMONMILK','Futura',sans-serif;
    font-weight:300;font-size:clamp(32px,5vw,68px);
    text-transform:uppercase;letter-spacing:-.02em;
    color:#fff;line-height:.95;margin-bottom:16px;
}
.ps-hero-title span { color:var(--cyan); }
.ps-hero-sub {
    font-family:'Futura','Trebuchet MS',sans-serif;
    font-size:clamp(17px,2.1vw,20px);color:rgba(230,232,240,.62);line-height:1.6;
    max-width:600px;margin:0 auto;
}

/* ── PASS CARDS — visit page ticket style ── */
.ps-cards-section { padding:64px 0 60px; background:#07071c; }

/* card base */
.ps-ticket-card { padding:42px 36px 40px; height:100%; position:relative; overflow:hidden; border:1px solid rgba(127,214,209,.14); backdrop-filter:blur(14px); transition:transform .35s,box-shadow .35s,border-color .35s; display:flex; flex-direction:column; }
.ps-ticket-card:hover { transform:translateY(-6px); }

/* HOF */
.ps-ticket-hof { background:linear-gradient(145deg,rgba(31,34,87,.85) 0%,rgba(44,47,115,.75) 50%,rgba(90,90,207,.55) 100%); border:1px solid rgba(127,214,209,.35); }
.ps-ticket-hof:hover { box-shadow:0 0 60px rgba(127,214,209,.2),0 20px 60px rgba(31,34,87,.7); border-color:rgba(127,214,209,.6); }
.ps-ticket-hof::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--lp),var(--cyan),var(--lp)); }
/* EXCLUSIVE ribbon */
.ps-ticket-hof::after { content:'EXCLUSIVE'; position:absolute; top:22px; right:-30px; transform:rotate(45deg); background:var(--cyan); color:#1F2257; font-family:'LEMONMILK','Futura',sans-serif; font-size:7px; font-weight:700; letter-spacing:.14em; padding:5px 42px; }
.ps-hof-orb { position:absolute; bottom:-60px; right:-60px; width:200px; height:200px; background:radial-gradient(circle,rgba(90,90,207,.28) 0%,transparent 70%); pointer-events:none; }

/* VIP */
.ps-ticket-vip { background:linear-gradient(145deg,rgba(31,34,87,.85) 0%,rgba(44,47,115,.8) 100%); border:1px solid rgba(245,200,66,.3); }
.ps-ticket-vip:hover { box-shadow:0 0 50px rgba(245,200,66,.15),0 20px 50px rgba(31,34,87,.6); border-color:rgba(245,200,66,.55); }
.ps-ticket-vip::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,rgba(245,200,66,.4),var(--gold),rgba(245,200,66,.4)); }
.ps-vip-orb { position:absolute; bottom:-60px; right:-60px; width:200px; height:200px; background:radial-gradient(circle,rgba(245,200,66,.15) 0%,transparent 70%); pointer-events:none; }

/* GEN */
.ps-ticket-gen { background:rgba(31,34,87,.75); border:1px solid rgba(230,232,240,.1); }
.ps-ticket-gen:hover { box-shadow:0 12px 40px rgba(31,34,87,.6); border-color:rgba(230,232,240,.22); }
.ps-ticket-gen::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,rgba(230,232,240,.35),transparent); }

/* badge pill */
.ps-ticket-badge { font-family:'LEMONMILK','Futura',sans-serif; font-size:8px; letter-spacing:.22em; text-transform:uppercase; display:inline-block; padding:4px 12px; margin-bottom:16px; border:1px solid; }
.ps-ticket-badge.hof { color:var(--cyan); border-color:rgba(127,214,209,.35); background:rgba(127,214,209,.06); }
.ps-ticket-badge.vip { color:var(--gold); border-color:rgba(245,200,66,.35); background:rgba(245,200,66,.06); }
.ps-ticket-badge.gen { color:rgba(230,232,240,.6); border-color:rgba(230,232,240,.2); background:rgba(230,232,240,.04); }

/* name */
.ps-ticket-name { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(22px,2.6vw,32px); text-transform:uppercase; line-height:1.05; margin-bottom:8px; }
.ps-ticket-name.hof { color:var(--white); }
.ps-ticket-name.vip { color:var(--gold); }
.ps-ticket-name.gen { color:var(--white); }

/* subtitle */
.ps-ticket-sub { font-family:'LEMONMILK','Futura',sans-serif; font-size:9px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
.ps-ticket-sub.hof { color:var(--cyan); }
.ps-ticket-sub.vip { color:var(--goldl,#FDE68A); }
.ps-ticket-sub.gen { color:rgba(230,232,240,.4); }

/* price */
.ps-ticket-price { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(36px,4.5vw,58px); line-height:1; margin-bottom:6px; }
.ps-ticket-price.hof { color:var(--white); text-shadow:0 0 30px rgba(127,214,209,.35); }
.ps-ticket-price.vip { color:var(--gold); text-shadow:0 0 28px rgba(245,200,66,.35); }
.ps-ticket-price.gen { color:var(--white); }
.ps-ticket-price span { font-size:.38em; font-weight:400; vertical-align:super; opacity:.7; }

/* divider */
.ps-ticket-divider { height:1px; background:rgba(127,214,209,.12); margin:22px 0; }
.ps-ticket-divider.gold { background:rgba(245,200,66,.15); }

/* features list */
.ps-ticket-ul { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:9px; flex:1; }
.ps-ticket-li { display:flex; align-items:flex-start; gap:10px; font-family:'Futura','Trebuchet MS',sans-serif; font-size:13px; color:rgba(230,232,240,.72); }
.ps-ticket-li i.hof { color:var(--cyan); font-size:11px; margin-top:3px; flex-shrink:0; }
.ps-ticket-li i.vip { color:var(--gold); font-size:11px; margin-top:3px; flex-shrink:0; }
.ps-ticket-li i.gen { color:rgba(230,232,240,.45); font-size:11px; margin-top:3px; flex-shrink:0; }

/* CTA buttons */

.ps-cta-hof:hover { opacity:.9; transform:scale(1.02); }

.ps-cta-vip:hover { opacity:.9; transform:scale(1.02); }

.ps-cta-gen:hover { border-color:rgba(230,232,240,.55); transform:scale(1.02); }

/* ── CTA buttons ── */
.ps-cta-hof { border-radius:50px; font-size:11px; letter-spacing:.14em; padding:14px 32px; display:block; text-align:center; background:linear-gradient(90deg,var(--lp),var(--cyan)); color:#1F2257 !important; font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; text-decoration:none; border:none; cursor:pointer; width:100%; transition:opacity .3s,transform .2s; }
.ps-cta-hof:hover { opacity:.9; transform:scale(1.02); }
.ps-cta-vip { border-radius:50px; font-size:11px; letter-spacing:.14em; padding:14px 32px; display:block; text-align:center; background:var(--gold); color:#1F2257 !important; font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; text-decoration:none; border:none; cursor:pointer; width:100%; transition:opacity .3s,transform .2s; }
.ps-cta-vip:hover { opacity:.9; transform:scale(1.02); }
.ps-cta-gen { border-radius:50px; font-size:11px; letter-spacing:.14em; padding:14px 32px; display:block; text-align:center; background:transparent; border:1px solid rgba(230,232,240,.25); color:var(--white) !important; font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; text-decoration:none; cursor:pointer; width:100%; transition:border-color .3s,transform .2s; }
.ps-cta-gen:hover { border-color:rgba(230,232,240,.55); transform:scale(1.02); }

    /* ── COMPARISON TABLE ── */
.ps-compare { padding:0 0 80px; background:#07071c; }
.ps-compare-table { width:100%; border-collapse:collapse; }
.ps-compare-table th {
    font-family:'LEMONMILK','Futura',sans-serif;font-size:10px;
    letter-spacing:.14em;text-transform:uppercase;
    padding:16px 20px;text-align:center;background:rgba(44,47,115,.45);
    border:1px solid rgba(127,214,209,.1);color:#fff;
}
.ps-compare-table th:first-child { text-align:left;color:rgba(230,232,240,.5); }
.ps-compare-table td {
    padding:12px 20px;border:1px solid rgba(127,214,209,.07);
    font-family:'Futura','Trebuchet MS',sans-serif;font-size:13px;
    color:rgba(230,232,240,.62);text-align:center;
    background:rgba(10,10,42,.6);
}
.ps-compare-table td:first-child { text-align:left;color:rgba(230,232,240,.8); }
.ps-compare-table tr:hover td { background:rgba(22,22,72,.7); }
.ps-compare-table .ps-yes { color:var(--cyan); }
.ps-compare-table .ps-gold-yes { color:var(--gold); }
.ps-compare-table .ps-no { color:rgba(230,232,240,.45); }
.ps-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── REGISTRATION MODAL ── */
#ps-modal {
    display:none;position:fixed;inset:0;z-index:99999;
    align-items:center;justify-content:center;
    background:rgba(5,5,28,.82);backdrop-filter:blur(8px);padding:20px;
}
.ps-modal-box {
    background:linear-gradient(150deg,#1F2257,#2C2F73);
    border:1px solid rgba(127,214,209,.25);
    width:100%;max-width:600px;max-height:90vh;overflow-y:auto;
    padding:48px 44px;position:relative;
    box-shadow:0 40px 100px rgba(5,5,28,.9);
    animation:psModalIn .3s ease;
}
@keyframes psModalIn { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.ps-modal-close {
    position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.ps-modal-close:hover { background:rgba(255,255,255,.15); }
.ps-modal-pass-tag {
    font-family:'LEMONMILK','Futura',sans-serif;font-size:8px;
    letter-spacing:.22em;text-transform:uppercase;
    display:inline-block;padding:4px 12px;border:1px solid;margin-bottom:14px;
}
.ps-modal-title {
    font-family:'LEMONMILK','Futura',sans-serif;font-weight:300;
    font-size:clamp(20px,2.8vw,30px);text-transform:uppercase;
    color:#fff;margin-bottom:6px;line-height:1.1;
}
.ps-modal-sub {
    font-family:'Futura','Trebuchet MS',sans-serif;font-size:13px;
    color:rgba(230,232,240,.5);margin-bottom:28px;line-height:1.6;
}
.ps-modal-box .form-control {
    background:rgba(31,34,87,.7) !important;border:1px solid rgba(127,214,209,.16) !important;
    border-radius:0 !important;color:#fff !important;
    font-family:'Futura','Trebuchet MS',sans-serif;font-size:14px;padding:12px 16px;
}
.ps-modal-box .form-control:focus {
    border-color:var(--cyan) !important;box-shadow:0 0 0 3px rgba(127,214,209,.1) !important;
}
.ps-modal-box label {
    font-family:'LEMONMILK','Futura',sans-serif;font-size:7.5px;
    letter-spacing:.18em;text-transform:uppercase;
    color:rgba(230,232,240,.42);margin-bottom:5px;display:block;
}
/* success state */
.ps-success {
    display:none;text-align:center;padding:20px 0;
}
.ps-success i { font-size:52px;color:var(--mint);margin-bottom:18px;display:block; }
.ps-success-title {
    font-family:'LEMONMILK','Futura',sans-serif;font-weight:300;
    font-size:22px;text-transform:uppercase;color:#fff;margin-bottom:10px;
}
.ps-success-sub {
    font-family:'Futura','Trebuchet MS',sans-serif;font-size:13px;
    color:rgba(230,232,240,.5);line-height:1.7;
}

@media(max-width:575px) {
    .ps-modal-box { padding:28px 20px; }
    .ps-card { padding:28px 22px; }
}

/* ═══════════════════════════════════════════
   MOBILE PASS CARDS (< 768px)
   Inspired by old pass-selection mobile layout
═══════════════════════════════════════════ */
.mobile-pass-card {
    border-radius: 16px;
    padding: 24px 20px 20px;
    margin-bottom: 16px;
    overflow: hidden;
    position: relative;
}
.mobile-pass-card.gold {
    background: #F5C842;
    color: #1a1a1a;
}
.mobile-pass-card.hof {
    background: linear-gradient(145deg, #1F2257, #2C2F73, #3F3F8F);
    border: 1.5px solid rgba(127,214,209,.5);
    color: #fff;
}
.mobile-pass-card.general {
    background: #fff;
    color: #1a1a1a;
}
/* header area */
.mobile-pass-card h5 {
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 6px;
}
.mobile-pass-card.gold h5,
.mobile-pass-card.general h5 { color: #1a1a1a; }
.mobile-pass-card.hof h5 { color: #fff; }

.mobile-pass-card .price {
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 6px;
}
.mobile-pass-card.gold .price,
.mobile-pass-card.general .price { color: #1a1a1a; }
.mobile-pass-card.hof .price { color: var(--cyan,#7ED6D1); }

.mobile-pass-card .desc {
    font-family: 'Futura','Trebuchet MS',sans-serif;
    font-size: 13px;
    line-height: 1.55;
    margin-bottom: 14px;
    opacity: .75;
}

/* collapsible benefits toggle */
.toggle-benefits {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    border-radius: 6px;
    border: 1.5px dashed rgba(0,0,0,.18);
    background: transparent;
    transition: background .2s;
    margin-bottom: 0;
}
.mobile-pass-card.hof .toggle-benefits {
    border-color: rgba(127,214,209,.4);
    color: var(--cyan,#7ED6D1);
}
.mobile-pass-card.gold .toggle-benefits,
.mobile-pass-card.general .toggle-benefits { color: #1a1a1a; }

.toggle-benefits .arrow {
    display: inline-block;
    transition: transform .3s;
    font-size: 10px;
}
.toggle-benefits.open .arrow { transform: rotate(180deg); }

/* benefits list — hidden by default */
.mobile-benefits-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height .38s ease, padding .3s ease;
}
.mobile-benefits-list.show {
    max-height: 600px;
    padding: 14px 0 6px;
}
.mobile-benefits-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: 'Futura','Trebuchet MS',sans-serif;
    font-size: 13px;
    line-height: 1.5;
    padding: 5px 0;
}
.mobile-benefits-list li .check { flex-shrink: 0; }
.mobile-pass-card.gold .mobile-benefits-list li,
.mobile-pass-card.general .mobile-benefits-list li { color: #1a1a1a; }
.mobile-pass-card.hof .mobile-benefits-list li { color: rgba(255,255,255,.88); }

/* CTA button inside mobile card */
.btn-mobile-pass {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 18px;
    padding: 13px 20px;
    border-radius: 50px;
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: opacity .2s, transform .2s;
}
.btn-mobile-pass:hover { opacity: .88; transform: scale(1.02); }
.mobile-pass-card.gold .btn-mobile-pass {
    background: #1a1a1a;
    color: #F5C842 !important;
}
.mobile-pass-card.hof .btn-mobile-pass {
    background: linear-gradient(90deg, var(--lp,#5A5ACF), var(--cyan,#7ED6D1));
    color: #1F2257 !important;
}
.mobile-pass-card.general .btn-mobile-pass {
    background: #1a1a1a;
    color: #fff !important;
}

/* hide desktop table + cards on mobile, show mobile cards */
@media(max-width:767px) {
    .ps-cards-section { display: none !important; }
    .ps-compare       { display: none; }
    .ps-mobile-only   { display: block; }
}
@media(min-width:768px) {
    .ps-mobile-only { display: none; }
}

/* ── GENERAL PASS — ZOHO REGISTRATION MODAL ── */
.ps-zoho-modal { display:none; position:fixed; inset:0; z-index:10000; background:rgba(7,7,20,.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding:32px 16px; overflow-y:auto; }
.ps-zoho-modal.open { display:block; }
.ps-zoho-modal-box { background:#0e0e2e; border:1px solid rgba(127,214,209,.18); border-radius:18px; width:100%; max-width:760px; margin:0 auto; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.6); overflow:hidden; max-height:94vh; display:flex; flex-direction:column; }
.ps-zoho-modal-close { position:absolute; top:14px; right:14px; z-index:3; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.35); color:#fff; font-size:15px; line-height:1; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.ps-zoho-modal-close:hover { background:var(--cyan); color:#1F2257; border-color:var(--cyan); }
.ps-zoho-modal-head { text-align:center; padding:32px 26px 20px; flex-shrink:0; }
.ps-zoho-modal-head .ps-zoho-eyebrow { font-family:'LEMONMILK','Futura',sans-serif; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--cyan); }
.ps-zoho-modal-head .ps-zoho-title { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(22px,3vw,34px); color:#fff; margin-top:10px; text-transform:uppercase; line-height:1.1; }
.ps-zoho-modal-head .ps-zoho-title span { color:var(--cyan); }
.ps-zoho-modal-body { background:#fff; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.ps-zoho-modal-body iframe { display:block; width:100%; border:none; min-height:520px; }
@media (max-width:575px){ .ps-zoho-modal { padding:0; } .ps-zoho-modal-box { border-radius:0; min-height:100vh; } }
