.evc-wrap{--evc-navy:#12306b;--evc-navy-d:#0e2757;--evc-accent:#f26722;--evc-line:#e3e8f0;--evc-ink:#0f1c33;max-width:1180px;margin:0 auto;color:var(--evc-ink);font-family:inherit}
.evc-head{text-align:center;margin:0 0 30px}
.evc-head h1{margin:0 0 8px;font-size:44px;line-height:1.1;font-weight:800;color:var(--evc-navy)}
.evc-head h1 em{font-style:normal;color:var(--evc-accent);box-shadow:inset 0 -.18em 0 rgba(242,103,34,.22)}
.evc-head p{margin:0;color:#5b6880;font-size:15px}
.evc-layout{display:grid;grid-template-columns:1fr 380px;gap:26px;align-items:start}
.evc-main{display:grid;gap:22px}
.evc-card{position:relative;background:#fff;border:1px solid var(--evc-line);border-radius:16px;padding:26px 28px;box-shadow:0 10px 34px rgba(18,48,107,.07);overflow:hidden}
.evc-card::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:5px;border-radius:0 5px 5px 0;background:var(--evc-accent)}
.evc-step{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px dashed var(--evc-line)}
.evc-step-num{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--evc-navy);color:#fff;font-size:13px;font-weight:700}
.evc-step h3{margin:0;font-size:19px;font-weight:700;color:var(--evc-navy)}
.evc-grid{display:grid;gap:18px}.evc-grid-2{grid-template-columns:1fr 1fr}.evc-span-2{grid-column:1/-1}
.evc-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--evc-navy)}
.evc-field i{color:var(--evc-accent);font-style:normal}
.evc-field input,.evc-field select{padding:14px 15px;border:1px solid var(--evc-line);border-radius:11px;font-size:15px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--evc-ink);background:#f8fafc}
.evc-field input::placeholder{color:#9aa6bb}
.evc-field input:focus,.evc-field select:focus{outline:none;background:#fff;border-color:var(--evc-accent);box-shadow:0 0 0 3px rgba(242,103,34,.15)}
.evc-side{position:sticky;top:24px}
.evc-panel{background:var(--evc-navy);border-radius:16px;padding:26px;color:#fff;box-shadow:0 14px 40px rgba(18,48,107,.25)}
.evc-panel h4{margin:0 0 18px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--evc-accent);border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:12px}
.evc-line{display:flex;justify-content:space-between;gap:12px;padding:13px 0;font-size:14px;color:#d5deee;border-bottom:1px solid rgba(255,255,255,.12)}
.evc-line strong{color:#fff;font-weight:700}
.evc-line.evc-hl strong{color:var(--evc-accent)}
.evc-line.evc-total{margin-top:16px;border:0;background:rgba(255,255,255,.10);border-radius:12px;padding:16px 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.evc-line.evc-total strong{font-size:26px;letter-spacing:0}
.evc-btn{border:0;border-radius:12px;padding:16px 20px;font-size:16px;font-weight:700;cursor:pointer}
.evc-btn-primary{background:var(--evc-accent);color:#fff;width:100%;margin-top:18px}
.evc-btn-primary:hover{background:#dd5a17}
.evc-btn-primary:disabled{opacity:.65;cursor:progress}
.evc-fineprint{margin:12px 0 0;font-size:12px;color:#b8c5dc;text-align:center}
.evc-error{margin:0;padding:13px 16px;border-radius:11px;background:#fdecea;color:#b3261e;font-size:14px}
.evc-receipt{margin-top:24px}
.evc-receipt-list{list-style:none;padding:0;margin:14px 0}
.evc-receipt-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--evc-line);font-size:14px}
.evc-ticket{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--evc-line);border-radius:12px;padding:14px;margin-top:12px}
.evc-ticket .evc-tid{display:block;font-size:11px;letter-spacing:.1em;color:#8b9691}
.evc-ticket small{display:block;color:#5b6880}
@media (max-width:980px){.evc-layout{grid-template-columns:1fr}.evc-side{position:static}.evc-head h1{font-size:32px}}
@media (max-width:640px){.evc-grid-2{grid-template-columns:1fr}.evc-card{padding:20px}}
.evc-passcard{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--evc-line);border-radius:12px;background:#f8fafc}
.evc-passcard strong{display:block;font-size:17px;color:var(--evc-navy)}
.evc-passcard small{display:block;margin-top:4px;color:#5b6880;font-size:13px}
.evc-passprice{font-size:22px;font-weight:800;color:var(--evc-accent)}
.evc-qty{margin-top:20px;max-width:220px}
.evc-note{margin:10px 0 0;font-size:14px;color:#5b6880;padding:12px;border-radius:8px;background:#f1f5f9;border-left:4px solid var(--evc-navy)}
.evc-offer-banner{margin:20px 0;padding:20px;background:#fff7ed;border:2px solid #fed7aa;border-radius:16px;text-align:center}
.evc-offer-badge{display:inline-block;padding:4px 12px;background:var(--evc-accent);color:#fff;font-size:11px;font-weight:700;border-radius:99px;margin-bottom:10px;letter-spacing:1px}
.evc-offer-banner h3{margin:0 0 8px;color:var(--evc-navy);font-size:18px}
.evc-offer-banner p{margin:0;font-size:14px;color:#7c2d12}
.evc-is-free::before{background:#059669!important}
.evc-is-free .evc-step-num{background:#059669!important}

/* ---------- Success page (ACFI Member Visitor Pass) ---------- */
.evc-success{max-width:760px;margin:0 auto;background:var(--evc-navy);color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(18,48,107,.22)}
.evc-success-head{display:flex;align-items:center;gap:18px;padding:26px 30px;border-bottom:1px solid rgba(255,255,255,.16)}
.evc-success-icon{flex:0 0 auto;width:60px;height:60px;border-radius:50%;background:var(--evc-accent);display:grid;place-items:center;font-size:30px;font-weight:700;color:#fff}
.evc-success-head h2{margin:0;font-size:26px;font-weight:800;color:#fff}
.evc-success-head p{margin:5px 0 0;font-size:14px;color:#cdd9ee}
.evc-success-body{display:grid;grid-template-columns:1.15fr .85fr}
.evc-success-info{padding:28px 30px;border-right:1px dashed rgba(255,255,255,.2)}
.evc-success-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--evc-accent)}
.evc-success-code{margin:12px 0 22px;background:rgba(255,255,255,.12);border-radius:12px;padding:15px 18px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:.06em;word-break:break-all}
.evc-success-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.18);font-size:14px}
.evc-success-row:last-child{border-bottom:0}
.evc-success-row span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--evc-accent)}
.evc-success-row strong{color:#fff;text-align:right;word-break:break-word}
.evc-success-status{color:#5fe0a4!important}
.evc-success-qr{padding:28px 30px;text-align:center}
.evc-success-qrbox{background:#fff;border-radius:14px;padding:14px;display:inline-block}
.evc-success-qrbox img{display:block;width:210px;height:210px;max-width:100%}
.evc-success-scan{margin:14px 0 16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#cdd9ee}
.evc-success-pdf{display:inline-block;background:var(--evc-accent);color:#fff;text-decoration:none;border-radius:999px;padding:13px 26px;font-size:15px;font-weight:700}
.evc-success-pdf:hover{background:#dd5a17;color:#fff}
.evc-success-foot{padding:16px 26px;text-align:center;font-size:13px;color:#cdd9ee;border-top:1px solid rgba(255,255,255,.16)}
@media (max-width:760px){.evc-success-body{grid-template-columns:1fr}.evc-success-info{border-right:0;border-bottom:1px dashed rgba(255,255,255,.2)}.evc-success-head{flex-direction:column;text-align:center}.evc-success-head h2{font-size:22px}}
@media (max-width:420px){.evc-success-code{font-size:16px}.evc-success-qrbox img{width:170px;height:170px}}

.evc-success-additional{padding:26px 30px;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.12)}
.evc-success-additional h3{margin:0 0 16px;font-size:16px;color:var(--evc-accent)}
.evc-success-ticket{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:rgba(255,255,255,.06);border-radius:12px;margin-bottom:10px}
.evc-success-ticket strong{display:block;font-size:14px}
.evc-success-ticket small{display:block;font-size:11px;color:#cdd9ee;margin-top:3px}
.evc-btn-sm{padding:8px 16px;font-size:13px;border-radius:99px}
