@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Montserrat:wght@700;800;900&display=swap');

/* ── tokens ── */
:root{
  --navy:#303F69;
  --navy-dk:#1e2d50;
  --navy-lt:#3d5080;
  --cmpb:#00A2E8;
  --cmpb-dk:#0080bc;
  --white:#ffffff;
  --off:#f7f8fa;
  --g100:#f1f3f7;
  --g200:#e4e8ef;
  --g300:#c8cfdb;
  --g400:#8f9ab0;
  --g500:#5c6882;
  --g600:#3d4a61;
  --g700:#253045;
  --green:#1a9e5c;
  --green-bg:#eaf7f1;
  --red:#d93025;
  --red-bg:#fdecea;
  --gold:#d4900a;
  --gold-bg:#fdf6e3;
  --r4:4px; --r8:8px; --r12:12px; --r16:16px; --r24:24px; --r99:999px;
  --sh1:0 1px 4px rgba(0,0,0,.06),0 2px 10px rgba(0,0,0,.06);
  --sh2:0 4px 20px rgba(0,0,0,.10),0 1px 4px rgba(0,0,0,.06);
  --sh3:0 12px 40px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--off);color:var(--g700);line-height:1.6;min-height:100vh}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}
input,select,textarea{font-family:inherit;outline:none}
::selection{background:rgba(48,63,105,.15)}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TOP ADMIN BAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.admin-bar{
  background:var(--navy-dk);
  color:rgba(255,255,255,.55);
  font-size:.72rem;letter-spacing:.3px;
  padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:34px;
}
.admin-bar a{color:rgba(255,255,255,.7);transition:color .2s}
.admin-bar a:hover{color:#fff}
.admin-bar-left{display:flex;align-items:center;gap:18px}
.admin-bar-right{display:flex;align-items:center;gap:14px}
.ab-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);flex-shrink:0}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MAIN HEADER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.site-header{
  background:var(--white);
  border-bottom:1px solid var(--g200);
  position:sticky;top:0;z-index:100;
  box-shadow:var(--sh1);
}
.header-inner{
  max-width:1100px;margin:0 auto;
  padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;gap:20px;
}
.header-brand{display:flex;align-items:center;gap:14px}
.header-cmpb-logo img{height:38px;width:auto;display:block}
.header-sep{width:1px;height:38px;background:var(--g200)}
.header-event{display:flex;flex-direction:column;gap:1px}
.header-event-name{font-size:.75rem;font-weight:600;color:var(--g400);letter-spacing:.4px;text-transform:uppercase}
.header-event-title{font-family:'Montserrat',sans-serif;font-size:.9rem;font-weight:800;color:var(--navy);line-height:1.2;letter-spacing:-.2px}
.header-nav{display:flex;align-items:center;gap:6px}
.nav-link{padding:7px 14px;border-radius:var(--r8);font-size:.82rem;font-weight:500;color:var(--g500);transition:all .2s}
.nav-link:hover{background:var(--g100);color:var(--navy)}
.nav-cta{
  background:var(--navy);color:var(--white)!important;
  padding:9px 20px;border-radius:var(--r8);
  font-size:.82rem;font-weight:700;
  transition:all .2s;
  box-shadow:0 2px 8px rgba(48,63,105,.25);
}
.nav-cta:hover{background:var(--navy-lt);transform:translateY(-1px);box-shadow:0 4px 14px rgba(48,63,105,.35)}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO – full-width with the official image
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero{
  background:linear-gradient(170deg,#1e2d50 0%,var(--navy) 55%,#3a5280 100%);
  overflow:hidden;position:relative;
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='1.5' fill='white' fill-opacity='.06'/%3E%3C/svg%3E") repeat;
  pointer-events:none;
}
.hero-inner{
  max-width:1100px;margin:0 auto;
  padding:52px 24px 56px;
  display:grid;grid-template-columns:1fr 440px;
  gap:48px;align-items:center;
  position:relative;z-index:1;
}
/* left copy */
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r99);padding:5px 14px;
  font-size:.72rem;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;color:rgba(255,255,255,.85);
  margin-bottom:18px;
}
.hero-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#4fc68a;flex-shrink:0;animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero-h1{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2rem,3.5vw,3rem);font-weight:900;
  color:var(--white);line-height:1.1;letter-spacing:-.5px;
  margin-bottom:14px;
}
.hero-h1 em{font-style:normal;color:#f4c545}
.hero-lead{font-size:1rem;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:28px;max-width:420px}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.btn-hero-primary{
  background:#f4c545;color:var(--navy-dk);
  padding:13px 28px;border-radius:var(--r12);
  font-weight:800;font-size:.9rem;letter-spacing:.2px;
  transition:all .2s;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 16px rgba(244,197,69,.35);
}
.btn-hero-primary:hover{background:#f9d668;transform:translateY(-2px);box-shadow:0 6px 22px rgba(244,197,69,.45)}
.btn-hero-secondary{
  background:rgba(255,255,255,.12);color:var(--white);
  border:1.5px solid rgba(255,255,255,.28);
  padding:13px 24px;border-radius:var(--r12);
  font-weight:600;font-size:.9rem;
  transition:all .2s;display:inline-flex;align-items:center;gap:8px;
}
.btn-hero-secondary:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.hero-stats{display:flex;gap:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.hero-stat .val{font-family:'Montserrat',sans-serif;font-size:1.8rem;font-weight:900;color:#f4c545;display:block;line-height:1}
.hero-stat .lbl{font-size:.72rem;color:rgba(255,255,255,.55);letter-spacing:.4px;text-transform:uppercase;margin-top:3px;display:block}

/* right — the official image card */
.hero-image-card{
  background:var(--white);
  border-radius:20px;
  padding:20px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  position:relative;
}
.hero-image-card::before{
  content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;
  border-radius:22px;z-index:-1;
  background:linear-gradient(135deg,rgba(244,197,69,.5),rgba(0,162,232,.3));
}
.hero-image-card img{width:100%;border-radius:12px;display:block}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TRUST BAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.trust-bar{
  background:var(--white);
  border-bottom:1px solid var(--g200);
}
.trust-bar-inner{
  max-width:1100px;margin:0 auto;
  padding:0 24px;
  display:flex;align-items:stretch;
  overflow-x:auto;
}
.trust-item{
  display:flex;align-items:center;gap:10px;
  padding:14px 20px;
  border-right:1px solid var(--g200);
  white-space:nowrap;flex-shrink:0;
}
.trust-item:last-child{border-right:none}
.trust-icon{font-size:1.1rem;flex-shrink:0}
.trust-text strong{display:block;font-size:.78rem;font-weight:700;color:var(--g700)}
.trust-text span{font-size:.7rem;color:var(--g400)}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MAIN CONTENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.content-wrap{max-width:1100px;margin:0 auto;padding:48px 24px 64px;display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FORM CARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.form-card{
  background:var(--white);
  border-radius:var(--r16);
  box-shadow:var(--sh2);
  border:1px solid var(--g200);
  overflow:hidden;
}
.form-card-header{
  padding:24px 28px 0;
  border-bottom:1px solid var(--g100);
  padding-bottom:20px;
}
.form-card-header h2{
  font-family:'Montserrat',sans-serif;
  font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:4px;
}
.form-card-header p{font-size:.82rem;color:var(--g400)}
.form-steps{
  display:flex;align-items:center;gap:0;
  padding:16px 28px;
  background:var(--g100);
  border-bottom:1px solid var(--g200);
}
.step-pill{
  display:flex;align-items:center;gap:8px;
  flex:1;
}
.step-num{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:800;flex-shrink:0;
  border:2px solid var(--g300);color:var(--g400);background:var(--white);
  transition:all .25s;
}
.step-pill.active .step-num{border-color:var(--navy);color:var(--navy);background:rgba(48,63,105,.08)}
.step-pill.done .step-num{border-color:var(--green);background:var(--green);color:#fff}
.step-lbl{font-size:.75rem;font-weight:600;color:var(--g400);transition:color .25s}
.step-pill.active .step-lbl{color:var(--navy)}
.step-pill.done .step-lbl{color:var(--green)}
.step-line{height:2px;flex:1;background:var(--g200);margin:0 6px;border-radius:2px;transition:background .25s}
.step-line.done{background:var(--green)}
.form-body{padding:24px 28px 28px}
.form-section-title{font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--g400);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.form-section-title::after{content:'';flex:1;height:1px;background:var(--g200)}

/* Fields */
.field{margin-bottom:16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label.lbl{display:block;font-size:.75rem;font-weight:600;color:var(--g600);margin-bottom:5px;letter-spacing:.15px}
label.lbl .req{color:var(--red);margin-left:2px}
.inp{
  width:100%;padding:10px 13px;
  background:var(--g100);border:1.5px solid var(--g200);
  border-radius:var(--r8);font-size:.88rem;color:var(--g700);
  transition:all .2s;
}
.inp:focus{border-color:var(--navy);background:var(--white);box-shadow:0 0 0 3px rgba(48,63,105,.09)}
.inp::placeholder{color:var(--g300)}
.inp.has-error{border-color:var(--red);background:var(--red-bg)}
.field-err{font-size:.72rem;color:var(--red);margin-top:4px;display:none}
.field-err.show{display:block}
.field-hint{font-size:.72rem;color:var(--g400);margin-top:4px;line-height:1.5}
.sel-wrap{position:relative}
.sel-wrap::after{content:'▾';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--g400);pointer-events:none;font-size:.78rem}
select.inp{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:32px}

/* Date picker */
.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.date-btn{
  border:1.5px solid var(--g200);border-radius:var(--r12);
  padding:10px 6px;text-align:center;cursor:pointer;
  background:var(--g100);transition:all .2s;
  user-select:none;
}
.date-btn:hover{border-color:var(--navy);background:var(--white)}
.date-btn.sel{border-color:var(--navy);background:rgba(48,63,105,.06);box-shadow:0 0 0 3px rgba(48,63,105,.09)}
.date-btn .db-dow{font-size:.62rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--g400);margin-bottom:2px}
.date-btn .db-num{font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:900;color:var(--navy);line-height:1}
.date-btn .db-mon{font-size:.62rem;font-weight:600;color:var(--g400);margin-top:2px}
.date-btn.sel .db-dow,.date-btn.sel .db-mon{color:rgba(48,63,105,.6)}
.date-btn.sel .db-num{color:var(--navy-dk)}

/* Tariff picker */
.tariff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.tariff-btn{
  position:relative;padding:14px 12px 12px;border-radius:var(--r8);
  border:2px solid var(--g200);background:var(--white);
  cursor:pointer;transition:all .18s;text-align:center;
}
.tariff-btn:hover{border-color:var(--navy);background:rgba(48,63,105,.03)}
.tariff-btn.sel{border-color:var(--navy);background:rgba(48,63,105,.06);box-shadow:0 0 0 3px rgba(48,63,105,.09)}
.tariff-btn .tb-badge{
  display:inline-block;padding:2px 7px;border-radius:20px;
  font-size:.58rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  background:rgba(48,63,105,.1);color:var(--navy);margin-bottom:7px;
}
.tariff-btn.sel .tb-badge{background:var(--navy);color:#fff}
.tariff-btn .tb-price{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:900;color:var(--navy);line-height:1.1;margin-bottom:4px}
.tariff-btn .tb-desc{font-size:.7rem;color:var(--g400);font-weight:500}
.tariff-btn.sel .tb-price{color:var(--navy-dk)}


.cmode-row{display:flex;gap:0;border:1.5px solid var(--g200);border-radius:var(--r8);overflow:hidden;margin-bottom:12px}
.cmode-opt{
  flex:1;padding:9px 8px;text-align:center;
  font-size:.8rem;font-weight:600;color:var(--g400);
  cursor:pointer;transition:all .2s;
  border-right:1px solid var(--g200);
}
.cmode-opt:last-child{border-right:none}
.cmode-opt:hover{background:var(--g100)}
.cmode-opt.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Plate input */
.plate-inp{
  text-transform:uppercase;letter-spacing:2px;font-weight:700;font-size:.92rem;
  font-variant-numeric:tabular-nums;
}
.plate-inp::placeholder{text-transform:none;letter-spacing:0;font-weight:400;font-size:.85rem}

/* Checkbox */
.chk-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-top:16px}
.chk-row input{display:none}
.chk-box{
  width:18px;height:18px;min-width:18px;
  border:2px solid var(--g300);border-radius:4px;
  background:var(--white);transition:all .2s;
  display:flex;align-items:center;justify-content:center;
  margin-top:1px;
}
.chk-row input:checked + .chk-box{background:var(--navy);border-color:var(--navy)}
.chk-row input:checked + .chk-box::after{
  content:'';display:block;width:5px;height:9px;
  border:2px solid #fff;border-top:none;border-left:none;
  transform:rotate(45deg) translate(-1px,-2px);
}
.chk-label{font-size:.78rem;color:var(--g500);line-height:1.55}
.chk-label a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}

/* Submit btn */
.btn-submit{
  width:100%;margin-top:20px;padding:14px;
  background:linear-gradient(135deg,var(--navy-dk) 0%,var(--navy-lt) 100%);
  color:#fff;border-radius:var(--r12);
  font-family:'Montserrat',sans-serif;font-size:.92rem;font-weight:800;letter-spacing:.2px;
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:all .2s;box-shadow:0 4px 16px rgba(48,63,105,.3);
}
.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(48,63,105,.4)}
.btn-submit:disabled{opacity:.6;pointer-events:none}
.btn-submit .spin{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  animation:spin .7s linear infinite;display:none;
}
.btn-submit.loading .spin{display:block}
.btn-submit.loading .btn-txt{opacity:.65}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-back{
  padding:10px 0;font-size:.82rem;font-weight:600;color:var(--g400);
  display:flex;align-items:center;gap:6px;margin-bottom:6px;
  transition:color .2s;
}
.btn-back:hover{color:var(--navy)}
.form-divider{height:1px;background:var(--g100);margin:18px 0}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SIDEBAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px}

/* Event card */
.event-card{
  border-radius:var(--r16);overflow:hidden;
  box-shadow:var(--sh2);border:1px solid var(--g200);
}
.event-card-top{
  background:linear-gradient(135deg,var(--navy-dk),var(--navy));
  padding:18px 20px;display:flex;align-items:center;gap:14px;
}
.event-card-img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}
.event-card-info .ec-name{font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:3px}
.event-card-info .ec-sub{font-size:.75rem;color:rgba(255,255,255,.6);line-height:1.4}
.event-card-body{background:var(--white);padding:16px 20px}
.ec-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--g100)}
.ec-row:last-child{border-bottom:none}
.ec-ico{font-size:.95rem;width:20px;text-align:center;flex-shrink:0}
.ec-txt strong{display:block;font-size:.78rem;font-weight:700;color:var(--g700)}
.ec-txt span{font-size:.72rem;color:var(--g400)}

/* Summary card */
.summary-card{
  background:var(--white);border-radius:var(--r16);
  box-shadow:var(--sh1);border:1px solid var(--g200);
  overflow:hidden;
}
.summary-card-hd{
  background:var(--g100);border-bottom:1px solid var(--g200);
  padding:12px 18px;display:flex;align-items:center;gap:8px;
}
.summary-card-hd span{font-size:.78rem;font-weight:700;color:var(--g600);letter-spacing:.2px}
.summary-body{padding:14px 18px}
.sum-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:9px;gap:8px}
.sum-row:last-child{margin-bottom:0}
.sum-lbl{font-size:.78rem;color:var(--g400);flex-shrink:0}
.sum-val{font-size:.78rem;font-weight:600;color:var(--g700);text-align:right}
.sum-val.empty{color:var(--g300);font-weight:400;font-style:italic}
.sum-sep{height:1px;background:var(--g200);margin:10px 0}

/* Security badge */
.secure-badge{
  background:var(--green-bg);border-radius:var(--r8);
  padding:10px 14px;display:flex;align-items:center;gap:10px;margin-top:12px;
}
.secure-badge svg{width:16px;height:16px;color:var(--green);flex-shrink:0}
.secure-badge span{font-size:.72rem;color:var(--green);font-weight:600;line-height:1.4}

/* Info card */
.info-card{
  background:var(--white);border-radius:var(--r16);
  border:1px solid var(--g200);padding:16px 18px;
  display:flex;gap:12px;align-items:flex-start;
}
.info-card-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}
.info-card-body strong{font-size:.8rem;font-weight:700;color:var(--g700);display:block;margin-bottom:2px}
.info-card-body span{font-size:.74rem;color:var(--g400);line-height:1.55}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SUCCESS SCREEN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.success-wrap{padding:32px 28px;text-align:center;display:none}
.success-wrap.show{display:block}
.success-ring{
  width:72px;height:72px;border-radius:50%;
  background:var(--green-bg);display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.success-ring svg{width:34px;height:34px;color:var(--green)}
.success-wrap h3{font-family:'Montserrat',sans-serif;font-size:1.2rem;font-weight:900;color:var(--navy);margin-bottom:6px}
.success-wrap p{font-size:.84rem;color:var(--g400);margin-bottom:22px;line-height:1.6}
.ticket{
  background:var(--off);border:1.5px dashed var(--g300);border-radius:var(--r12);
  padding:20px 22px;text-align:left;margin-bottom:20px;
  position:relative;overflow:hidden;
}
.ticket::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--navy),var(--cmpb),var(--gold));
}
.ticket-id-label{font-size:.65rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--g400);margin-bottom:3px}
.ticket-id{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:900;color:var(--navy);letter-spacing:2px;margin-bottom:14px}
.ticket-qr-wrap{display:flex;justify-content:center;margin:16px 0 20px;padding:14px;background:#fff;border-radius:var(--r8);border:1px solid var(--g200)}
.ticket-qr-wrap img,.ticket-qr-wrap canvas{display:block;border-radius:4px}
.ticket-row{display:flex;justify-content:space-between;font-size:.8rem;padding:5px 0;border-bottom:1px dashed var(--g200)}
.ticket-row:last-child{border-bottom:none}
.ticket-row .tl{color:var(--g400)}
.ticket-row .tv{font-weight:600;color:var(--g700);text-align:right}
.ticket-row .tv.ok{color:var(--green)}
.success-actions{display:flex;gap:10px;justify-content:center}
.btn-dl{padding:10px 22px;border-radius:var(--r8);background:var(--navy);color:#fff;font-weight:700;font-size:.82rem;transition:all .2s}
.btn-dl:hover{background:var(--navy-lt)}
.btn-again{padding:10px 22px;border-radius:var(--r8);background:var(--g100);color:var(--g600);font-weight:600;font-size:.82rem;transition:all .2s}
.btn-again:hover{background:var(--g200)}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.site-footer{
  background:var(--navy-dk);color:rgba(255,255,255,.5);
  padding:32px 24px 24px;margin-top:0;
}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:32px;
  padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.footer-brand .fb-logo{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.footer-brand .fb-logo img{height:28px;filter:brightness(0) invert(1);opacity:.7}
.footer-brand .fb-desc{font-size:.75rem;line-height:1.7;max-width:280px}
.footer-links h4{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.4);margin-bottom:10px}
.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer-links ul li a{font-size:.78rem;transition:color .2s}
.footer-links ul li a:hover{color:#fff}
.footer-bottom{
  padding-top:18px;display:flex;align-items:center;justify-content:space-between;
  font-size:.7rem;flex-wrap:wrap;gap:8px;
}
.footer-bottom-logos{display:flex;align-items:center;gap:16px}
.footer-bottom-logos img{height:20px;filter:brightness(0) invert(1);opacity:.35}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TOAST
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.toast{
  position:fixed;bottom:22px;left:50%;
  transform:translateX(-50%) translateY(90px);
  background:var(--g700);color:#fff;
  padding:11px 22px;border-radius:var(--r99);
  font-size:.82rem;font-weight:500;letter-spacing:.1px;
  box-shadow:var(--sh3);transition:transform .38s cubic-bezier(.34,1.56,.64,1);
  z-index:999;white-space:nowrap;pointer-events:none;
  display:flex;align-items:center;gap:8px;
}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.ok{background:var(--green)}
.toast.bad{background:var(--red)}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1024px){
  .content-wrap{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .hero-inner{grid-template-columns:1fr;gap:28px}
  .hero-image-card{max-width:380px;margin:0 auto}
}
@media(max-width:768px){
  .admin-bar{display:none}
  .header-inner{height:60px}
  .header-nav{display:none}
  .hero-inner{padding:32px 16px 36px}
  .hero-h1{font-size:1.75rem}
  .hero-stats{gap:18px}
  .content-wrap{padding:28px 16px 48px}
  .sidebar{grid-template-columns:1fr}
  .date-grid{grid-template-columns:repeat(3,1fr)}
  .field-row{grid-template-columns:1fr}
  .form-body{padding:18px 20px 22px}
  .form-card-header{padding:18px 20px 16px}
  .form-steps{padding:12px 20px}
  .footer-top{flex-direction:column;gap:20px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
@media(max-width:420px){
  .hero-cta-row{flex-direction:column}
  .hero-image-card{display:none}
  .date-grid{grid-template-columns:repeat(2,1fr)}
  .trust-bar-inner{gap:0}
  .trust-item{padding:12px 14px}
}

/* ================================================================
   TARIFF GRID
================================================================ */
.tariff-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 4px;
}

.tariff-btn {
  position: relative;
  border: 2px solid var(--border);
  border-radius: 12px;
  padding: 16px 14px;
  cursor: pointer;
  transition: border-color .18s, background .18s, box-shadow .18s;
  background: #fff;
  text-align: center;
  user-select: none;
}

.tariff-btn:hover {
  border-color: var(--cmpb);
  background: #f0f9ff;
}

.tariff-btn.sel {
  border-color: var(--navy);
  background: #eef1f8;
  box-shadow: 0 0 0 3px rgba(48,63,105,.13);
}

.tb-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: var(--cmpb);
  color: #fff;
  border-radius: 20px;
  padding: 2px 9px;
  margin-bottom: 8px;
}

.tariff-btn.sel .tb-badge {
  background: var(--navy);
}

.tb-price {
  font-size: 15px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 4px;
  line-height: 1.2;
}

.tb-desc {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.3;
}

/* ── Icon alignment fixes ── */
.ec-ico { display:flex; align-items:center; justify-content:center; width:22px; flex-shrink:0; }
.ec-ico svg { display:block; }
.ticket-row .tl { display:inline-flex; align-items:center; gap:5px; color:var(--g400); }
.ticket-row .tl svg { opacity:.7; flex-shrink:0; }
.form-section-title svg { opacity:.75; flex-shrink:0; vertical-align:middle; }
.summary-card-hd svg { flex-shrink:0; }
.info-card-icon svg { display:block; }
.success-ring svg { width:34px; height:34px; }

/* ── Tariff card icon ── */
.tb-icon { display:flex; justify-content:center; margin-bottom:8px; opacity:.85; }
.tb-featured { border-color: var(--gold) !important; background: var(--gold-bg) !important; }
.tb-featured:hover { border-color: var(--gold) !important; }
.tb-featured.sel { border-color: var(--gold) !important; background: #fdf0c0 !important; box-shadow: 0 0 0 3px rgba(212,144,10,.18) !important; }
.tb-badge-gold { background: var(--gold) !important; color: #fff !important; }

/* ── Abonament day chips ── */
.abo-days { display:flex; flex-direction:column; gap:7px; margin-top:8px; }
.abo-day-chip {
  display:flex; align-items:center; gap:10px;
  padding:9px 14px; border-radius:var(--r8);
  background:var(--green-bg); border:1.5px solid #b8ead4;
}
.abo-day-check { color:var(--green); font-weight:800; font-size:.9rem; flex-shrink:0; }
.abo-day-label { font-size:.82rem; color:var(--g700); }
.abo-day-label strong { color:var(--navy); }

/* ── Field animate in ── */
.field-anim { animation: fadeSlideIn .22s ease forwards; }
@keyframes fadeSlideIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* ================================================================
   FACTURA FISCALA — CUI lookup + company fields
================================================================ */

/* Toggle row */
.inv-toggle-row { padding: 4px 0 8px; }

/* Invoice section container */
.inv-section {
  background: #f8faff;
  border: 1.5px solid #d0d8f0;
  border-radius: 10px;
  padding: 16px 18px 18px;
  margin-top: 12px;
}
.inv-title {
  color: var(--navy);
  font-weight: 700;
  margin-bottom: 14px !important;
}

/* CUI input row — input + button side by side */
.cui-input-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cui-inp {
  flex: 1;
  font-family: 'Barlow Condensed', monospace;
  font-size: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.btn-cui-lookup {
  flex-shrink: 0;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 0 18px;
  height: 42px;
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background .18s, transform .1s;
  white-space: nowrap;
}
.btn-cui-lookup:hover { background: #1e2e54; }
.btn-cui-lookup:active { transform: scale(.97); }

/* Loading state */
.cui-loading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: .875rem;
  margin-top: 8px;
  font-weight: 500;
}
.spin-sm {
  width: 16px;
  height: 16px;
  border: 2.5px solid #c0cce8;
  border-top-color: var(--navy);
  border-radius: 50%;
  animation: spin .7s linear infinite;
  flex-shrink: 0;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Found badge */
.cui-found-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--green-bg);
  color: var(--green);
  border: 1.5px solid #b8ead4;
  border-radius: 20px;
  padding: 5px 13px;
  font-size: .8rem;
  font-weight: 700;
  margin-top: 8px;
}

/* Company fields panel */
.inv-company-fields {
  border-top: 1px solid #d8e2f0;
  margin-top: 14px;
  padding-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}



/* ================================================================
   DARK MODE — html.dark overrides
================================================================ */
html.dark {
  --navy:#4a6fa5;
  --navy-dk:#2a3f6b;
  --navy-lt:#6080b0;
  --cmpb:#29b6f6;
  --cmpb-dk:#0288d1;
  --white:#1e2535;
  --off:#161c2d;
  --g100:#1e2535;
  --g200:#2a3347;
  --g300:#3d4f6e;
  --g400:#7a8aa8;
  --g500:#9aaac4;
  --g600:#b8c8e0;
  --g700:#dce6f5;
  --green:#2ecc71;
  --green-bg:rgba(46,204,113,.12);
  --red:#e74c3c;
  --red-bg:rgba(231,76,60,.12);
  --gold:#f0c040;
  --gold-bg:rgba(240,192,64,.12);
  --sh1:0 1px 4px rgba(0,0,0,.4),0 2px 10px rgba(0,0,0,.35);
  --sh2:0 4px 20px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3);
  --sh3:0 12px 40px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4);
}
html.dark body { background:var(--off); color:var(--g700); }
html.dark .site-header { background:#1e2535; border-color:#2a3347; }
html.dark .admin-bar { background:#111828; }
html.dark .form-card { background:#1e2535; border-color:#2a3347; }
html.dark .form-card-header { border-color:#2a3347; }
html.dark .form-steps { background:#161c2d; border-color:#2a3347; }
html.dark .inp { background:#161c2d; border-color:#2a3347; color:var(--g700); }
html.dark .inp:focus { background:#1e2535; border-color:var(--navy); }
html.dark .date-btn { background:#161c2d; border-color:#2a3347; }
html.dark .date-btn:hover { background:#1e2535; }
html.dark .date-btn.sel { background:rgba(74,111,165,.18); }
html.dark .tariff-btn { background:#1e2535; border-color:#2a3347; }
html.dark .tariff-btn:hover { background:rgba(74,111,165,.12); }
html.dark .tariff-btn.sel { background:rgba(74,111,165,.2); }
html.dark .summary-card, html.dark .info-card, html.dark .event-card-body { background:#1e2535; border-color:#2a3347; }
html.dark .summary-card-hd { background:#161c2d; border-color:#2a3347; }
html.dark .trust-bar { background:#1a2130; border-color:#2a3347; }
html.dark .trust-bar-inner .trust-item { border-color:#2a3347; }
html.dark .ticket { background:#161c2d; border-color:#3d4f6e; }
html.dark .inv-section { background:rgba(74,111,165,.08); border-color:#2a3347; }
html.dark .chk-box { background:#161c2d; border-color:#3d4f6e; }
html.dark .site-footer { background:#0e1420; }
html.dark .ec-row { border-color:#2a3347; }
html.dark .tb-featured { background:rgba(212,144,10,.08) !important; }
html.dark .cmode-opt { color:var(--g500); background:#161c2d; }
html.dark .cmode-opt.on { background:var(--navy); color:#fff; }

/* dark mode nav buttons */
html.dark .nav-dm-btn,
html.dark .nav-my-tickets { color:var(--g600); border-color:#3d4f6e; }
html.dark .nav-dm-btn:hover,
html.dark .nav-my-tickets:hover { background:#2a3347; color:var(--g700); }

/* ================================================================
   ENTRY ANIMATIONS
================================================================ */
.entry-anim {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease calc(var(--i,0) * .07s),
              transform .45s ease calc(var(--i,0) * .07s);
}
.entry-anim.entry-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ================================================================
   RIPPLE EFFECT
================================================================ */
.ripple { position: relative; overflow: hidden; }
.ripple-wave {
  position: absolute;
  border-radius: 50%;
  width: 10px; height: 10px;
  background: rgba(255,255,255,.45);
  transform: translate(-50%, -50%) scale(0);
  animation: ripple-anim .55s ease-out forwards;
  pointer-events: none;
}
@keyframes ripple-anim {
  to { transform: translate(-50%, -50%) scale(28); opacity: 0; }
}

/* ================================================================
   STEP LINE FILL — animated progress bar
================================================================ */
.step-line { position: relative; overflow: visible; }
.step-line-fill {
  position: absolute;
  top: 0; left: 0;
  height: 100%;
  width: 0;
  background: var(--green);
  border-radius: 2px;
  transition: width .55s cubic-bezier(.4,0,.2,1);
}
.step-line-fill.filled { width: 100%; }

/* ================================================================
   TARIFF CARD CHECKMARK
================================================================ */
.tb-check {
  position: absolute;
  top: 8px; right: 10px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: .7rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transform: scale(0.4);
  transition: opacity .2s, transform .25s cubic-bezier(.34,1.56,.64,1);
}
.tariff-btn.sel .tb-check {
  opacity: 1;
  transform: scale(1);
}

/* ================================================================
   COUNTDOWN PULSE ANIMATION
================================================================ */
@keyframes countdown-pulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.15); color: #f4c545; }
  100% { transform: scale(1); }
}
.countdown-pulse {
  animation: countdown-pulse .5s ease;
}

/* ================================================================
   NAV HEADER BUTTONS — dark mode toggle + biletele mele
================================================================ */
.nav-dm-btn {
  padding: 7px 10px;
  border-radius: var(--r8);
  border: 1.5px solid var(--g200);
  color: var(--g500);
  font-size: .82rem;
  display: inline-flex; align-items: center; gap: 5px;
  transition: all .2s; cursor: pointer;
  background: transparent;
}
.nav-dm-btn:hover { background: var(--g100); color: var(--navy); border-color: var(--g300); }

.nav-my-tickets {
  padding: 7px 13px;
  border-radius: var(--r8);
  border: 1.5px solid var(--g200);
  color: var(--g600);
  font-size: .82rem; font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  transition: all .2s; cursor: pointer;
  background: transparent;
  position: relative;
}
.nav-my-tickets:hover { background: var(--g100); color: var(--navy); border-color: var(--g300); }

.ticket-count-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px;
  background: var(--red);
  color: #fff;
  border-radius: var(--r99);
  font-size: .65rem; font-weight: 800;
  padding: 0 4px;
  line-height: 1;
}

/* ================================================================
   MY TICKETS SECTION — "Biletele mele" panel
================================================================ */
.my-tickets-section {
  background: var(--white);
  border-top: 2px solid var(--g200);
  border-bottom: 2px solid var(--g200);
  padding: 28px 24px 32px;
}
html.dark .my-tickets-section { background: #1e2535; border-color: #2a3347; }

.mts-header {
  max-width: 1100px; margin: 0 auto 20px;
  display: flex; align-items: center; gap: 10px;
}
.mts-header h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.1rem; font-weight: 800; color: var(--navy);
  flex: 1;
}
html.dark .mts-header h3 { color: var(--g700); }

.mts-close {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--g100); color: var(--g500);
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; cursor: pointer; border: none;
  transition: all .18s;
}
.mts-close:hover { background: var(--red-bg); color: var(--red); }

.my-tickets-grid {
  max-width: 1100px; margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}

.my-ticket-card {
  background: var(--off);
  border: 1.5px solid var(--g200);
  border-radius: var(--r12);
  padding: 14px 16px;
  display: flex; flex-direction: column; gap: 10px;
  transition: box-shadow .2s, transform .2s;
}
html.dark .my-ticket-card { background: #161c2d; border-color: #2a3347; }
.my-ticket-card:hover { box-shadow: var(--sh2); transform: translateY(-2px); }

.mt-top {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.mt-id {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'Montserrat', sans-serif;
  font-size: .88rem; font-weight: 800; color: var(--navy);
  cursor: pointer; user-select: none;
  transition: color .15s;
}
html.dark .mt-id { color: var(--cmpb); }
.mt-id:hover { color: var(--cmpb); }
.mt-copy-hint {
  font-size: .82rem; color: var(--g400); opacity: .7;
}
.mt-del {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--g100); color: var(--g400);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; cursor: pointer; border: none;
  flex-shrink: 0; transition: all .18s;
}
.mt-del:hover { background: var(--red-bg); color: var(--red); }

.mt-rows { display: flex; flex-direction: column; gap: 4px; }
.mt-row {
  display: flex; align-items: center; gap: 6px;
  font-size: .78rem; color: var(--g500);
}
html.dark .mt-row { color: var(--g600); }

.mt-actions { display: flex; gap: 8px; }
.btn-mt-wa {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  padding: 7px 10px;
  background: #25D366; color: #fff;
  border: none; border-radius: var(--r8);
  font-size: .78rem; font-weight: 700;
  cursor: pointer; transition: all .18s;
}
.btn-mt-wa:hover { background: #128C7E; }

/* ================================================================
   VERIFY SECTION
================================================================ */
.verify-section {
  padding: 0 28px 24px;
}
@media(max-width:768px){ .verify-section { padding: 0 20px 20px; } }

.verify-divider {
  display: flex; align-items: center; gap: 12px;
  margin: 4px 0 16px;
  color: var(--g400); font-size: .78rem;
}
.verify-divider::before, .verify-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--g200);
}
html.dark .verify-divider::before,
html.dark .verify-divider::after { background: #2a3347; }

.verify-row {
  display: flex; align-items: center; gap: 7px;
  font-size: .78rem; font-weight: 600; color: var(--g500);
  margin-bottom: 8px;
}

.verify-input-row {
  display: flex; gap: 8px; align-items: center;
}
.verify-inp { flex: 1; letter-spacing: 1px; font-family: 'Montserrat', sans-serif; font-weight: 600; }
.btn-verify {
  flex-shrink: 0;
  padding: 0 18px; height: 42px;
  background: var(--navy); color: #fff;
  border: none; border-radius: var(--r8);
  font-size: .85rem; font-weight: 700;
  cursor: pointer; transition: all .18s;
}
.btn-verify:hover { background: var(--navy-lt); }

.verify-ok {
  margin-top: 12px;
  background: var(--green-bg);
  border: 1.5px solid rgba(26,158,92,.3);
  border-radius: var(--r8);
  padding: 12px 14px;
  display: flex; gap: 10px; align-items: flex-start;
}
.verify-bad {
  margin-top: 12px;
  background: var(--red-bg);
  border: 1.5px solid rgba(217,48,37,.25);
  border-radius: var(--r8);
  padding: 12px 14px;
  display: flex; gap: 10px; align-items: center;
  font-size: .82rem; color: var(--red);
}
.vr-icon {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: .85rem; flex-shrink: 0;
}
.vr-icon-bad {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--red); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: .85rem; flex-shrink: 0;
}
.vr-rows { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.vr-row {
  display: flex; justify-content: space-between;
  font-size: .78rem; color: var(--g500);
  border-bottom: 1px dotted var(--g200);
  padding-bottom: 3px;
}
.vr-row strong { color: var(--g700); font-weight: 700; }
.vr-status {
  margin-top: 6px;
  font-size: .78rem; font-weight: 800;
  color: var(--green); letter-spacing: .3px;
}

/* ================================================================
   WHATSAPP BUTTON
================================================================ */
.btn-wa {
  padding: 10px 16px;
  background: #25D366; color: #fff;
  border: none; border-radius: var(--r8);
  font-weight: 700; font-size: .82rem;
  display: inline-flex; align-items: center; gap: 6px;
  cursor: pointer; transition: all .2s;
}
.btn-wa:hover { background: #128C7E; transform: translateY(-1px); }

/* ================================================================
   SUCCESS RING — animated checkmark
================================================================ */
.success-ring {
  width: 76px; height: 76px; border-radius: 50%;
  background: var(--green-bg);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
  animation: ring-pop .55s cubic-bezier(.34,1.56,.64,1) forwards;
  border: 2.5px solid rgba(26,158,92,.3);
}
@keyframes ring-pop {
  0%   { transform: scale(0.4); opacity: 0; }
  100% { transform: scale(1);   opacity: 1; }
}
.sr-check {
  font-size: 1.8rem;
  color: var(--green);
  font-weight: 800;
  line-height: 1;
  animation: check-in .3s .25s ease-out both;
}
@keyframes check-in {
  from { transform: scale(0) rotate(-20deg); opacity: 0; }
  to   { transform: scale(1) rotate(0); opacity: 1; }
}

/* ================================================================
   PREMIUM TICKET DESIGN
================================================================ */
.premium-ticket {
  background: var(--white);
  border: 1.5px solid var(--g200);
  border-radius: 14px;
  padding: 0;
  overflow: hidden;
  box-shadow: var(--sh3);
  text-align: left;
  margin-bottom: 20px;
  position: relative;
}
html.dark .premium-ticket { background: #1e2535; border-color: #2a3347; }

/* Rainbow top bar */
.pt-rainbow {
  height: 5px;
  background: linear-gradient(90deg,
    #e63946 0%,
    #f4a261 17%,
    #f4c545 34%,
    #2a9d8f 51%,
    #00A2E8 68%,
    #303F69 85%,
    #9b5de5 100%
  );
}

/* Ticket header */
.pt-header {
  background: linear-gradient(135deg, var(--navy-dk), var(--navy));
  padding: 14px 18px;
  display: flex; align-items: center; gap: 12px;
}
.pt-logo img { filter: brightness(0) invert(1); opacity: .9; }
.pt-header-text { flex: 1; }
.pt-event {
  font-size: .65rem; font-weight: 800;
  letter-spacing: .5px; text-transform: uppercase;
  color: #f4c545;
  line-height: 1;
  margin-bottom: 2px;
}
.pt-venue {
  font-size: .75rem; color: rgba(255,255,255,.7);
}

/* Ticket ID row */
.pt-id-row {
  padding: 14px 18px 10px;
  border-bottom: 1px dashed var(--g200);
  text-align: center;
}
html.dark .pt-id-row { border-color: #2a3347; }
.pt-id-label {
  font-size: .6rem; font-weight: 700; letter-spacing: .8px;
  text-transform: uppercase; color: var(--g400);
  margin-bottom: 4px;
}
.pt-id {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.7rem; font-weight: 900;
  color: var(--cmpb); letter-spacing: 3px;
  cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 8px;
  transition: color .15s;
}
.pt-id:hover { color: var(--cmpb-dk); }
.pt-copy-icon {
  font-size: 1rem; color: var(--g400);
  opacity: .75; cursor: pointer;
  transition: opacity .15s, transform .15s;
}
.pt-id:hover .pt-copy-icon { opacity: 1; transform: scale(1.2); }
.pt-id-hint {
  font-size: .65rem; color: var(--g400);
  margin-top: 3px;
}

/* QR area */
.pt-qr-wrap {
  display: flex; justify-content: center;
  padding: 14px 18px 8px;
  background: var(--off);
  border-bottom: 1px dashed var(--g200);
}
html.dark .pt-qr-wrap { background: #161c2d; border-color: #2a3347; }
.pt-qr-wrap svg { border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.pt-scan-hint {
  text-align: center;
  font-size: .68rem; color: var(--g400);
  padding: 6px 18px 12px;
  background: var(--off);
  border-bottom: 1px solid var(--g200);
}
html.dark .pt-scan-hint { background: #161c2d; border-color: #2a3347; }

/* Divider line */
.pt-divider {
  height: 1px; background: var(--g200);
  margin: 0;
}
html.dark .pt-divider { background: #2a3347; }

/* Data rows */
.pt-rows { padding: 12px 18px 6px; display: flex; flex-direction: column; gap: 0; }
.pt-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 6px 0;
  border-bottom: 1px dotted var(--g100);
  font-size: .8rem;
}
html.dark .pt-row { border-color: #2a3347; }
.pt-row:last-child { border-bottom: none; }
.pt-lbl {
  color: var(--g400); font-weight: 500;
  display: inline-flex; align-items: center; gap: 5px;
}
.pt-val { font-weight: 700; color: var(--g700); text-align: right; }
.pt-status .pt-val.pt-ok {
  color: var(--green); font-weight: 800;
  display: inline-flex; align-items: center; gap: 4px;
}

/* Footer strip */
.pt-footer {
  background: var(--g100);
  border-top: 1px solid var(--g200);
  padding: 8px 18px;
  font-size: .68rem; color: var(--g400);
  text-align: center;
}
html.dark .pt-footer { background: #161c2d; border-color: #2a3347; }

/* ================================================================
   RESPONSIVE — WOW additions
================================================================ */
@media(max-width:768px) {
  .header-nav .nav-my-tickets .nav-my-tickets-label { display: none; }
  .my-tickets-grid { grid-template-columns: 1fr; }
  .success-actions { flex-wrap: wrap; }
  .success-actions button { flex: 1; min-width: 120px; }
}
@media(max-width:480px) {
  .pt-id { font-size: 1.3rem; letter-spacing: 2px; }
  .hero-stat.entry-anim { --i: 0 !important; }
}

/* ================================================================
   DARK MODE — html.dark overrides
================================================================ */
html.dark {
  --off:#0f1420;
  --white:#1a2236;
  --g100:#1e2840;
  --g200:#263050;
  --g300:#364060;
  --g400:#7a8aaa;
  --g500:#9aaac8;
  --g600:#b8c8e0;
  --g700:#dde5f4;
  --green-bg:#0d2a1a;
  --red-bg:#2a0d0d;
  --gold-bg:#2a220a;
  --sh1:0 1px 4px rgba(0,0,0,.3),0 2px 10px rgba(0,0,0,.3);
  --sh2:0 4px 20px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3);
  --sh3:0 12px 40px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4);
}
html.dark body { background:var(--off); color:var(--g700); }
html.dark .site-header { background:#1a2236; border-color:#263050; }
html.dark .form-card { background:#1a2236; border-color:#263050; }
html.dark .inp { background:#1e2840; border-color:#364060; color:#dde5f4; }
html.dark .inp:focus { background:#263050; border-color:var(--cmpb); }
html.dark .inp::placeholder { color:#4a5870; }
html.dark .trust-bar { background:#1a2236; border-color:#263050; }
html.dark .trust-item { border-color:#263050; }
html.dark .summary-card,.html.dark .event-card { background:#1a2236; border-color:#263050; }
html.dark .summary-card { background:#1a2236; border-color:#263050; }
html.dark .event-card-body { background:#1a2236; }
html.dark .ec-row { border-color:#263050; }
html.dark .summary-card-hd { background:#263050; border-color:#364060; }
html.dark .sum-sep { background:#263050; }
html.dark .form-card-header { border-color:#263050; }
html.dark .form-steps { background:#1e2840; border-color:#263050; }
html.dark .form-divider { background:#263050; }
html.dark .info-card { background:#1a2236; border-color:#263050; }
html.dark .date-btn { background:#1e2840; border-color:#364060; }
html.dark .date-btn:hover { background:#263050; border-color:var(--cmpb); }
html.dark .date-btn.sel { background:rgba(0,162,232,.12); border-color:var(--cmpb); }
html.dark .tariff-btn { background:#1a2236; border-color:#364060; }
html.dark .tariff-btn:hover { background:#1e2840; border-color:var(--cmpb); }
html.dark .tariff-btn.sel { background:rgba(48,63,105,.3); border-color:var(--navy-lt); }
html.dark .tb-featured { background:#2a220a !important; border-color:var(--gold) !important; }
html.dark .cmode-opt { color:#7a8aaa; }
html.dark .cmode-opt:hover { background:#1e2840; }
html.dark .ticket { background:#1e2840; border-color:#364060; }
html.dark .inv-section { background:#1a2840; border-color:#2d3a5a; }
html.dark .abo-day-chip { background:#0d2a1a; border-color:#1a4a2e; }
html.dark .chk-box { background:#1e2840; border-color:#364060; }
html.dark .secure-badge { background:#0d2a1a; }
html.dark select.inp option { background:#1a2236; }
html.dark .admin-bar { background:#0c1428; }
html.dark .hero { background:linear-gradient(170deg,#080f1f 0%,#0c1428 55%,#182040 100%); }
html.dark .site-footer { background:#080f1f; }

/* ================================================================
   ENTRY ANIMATIONS
================================================================ */
.entry-anim {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
  transition-delay: calc(var(--i, 0) * 90ms);
}
.entry-anim.entry-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ================================================================
   RIPPLE EFFECT
================================================================ */
.ripple { position: relative; overflow: hidden; }
.ripple-wave {
  position: absolute;
  border-radius: 50%;
  width: 10px; height: 10px;
  background: rgba(255,255,255,.35);
  transform: translate(-50%,-50%) scale(0);
  animation: ripple-grow .55s ease-out forwards;
  pointer-events: none;
}
@keyframes ripple-grow {
  to { transform: translate(-50%,-50%) scale(28); opacity: 0; }
}

/* ================================================================
   STEP LINE FILL (animated progress)
================================================================ */
.step-line { position: relative; height: 2px; flex: 1; background: var(--g200); margin: 0 6px; border-radius: 2px; overflow: hidden; }
.step-line-fill {
  position: absolute; inset: 0;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
  border-radius: 2px;
}
.step-line-fill.filled { transform: scaleX(1); }

/* ================================================================
   TARIFF CARD CHECKMARK
================================================================ */
.tb-check {
  position: absolute;
  top: 8px; right: 8px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: .72rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transform: scale(0);
  transition: opacity .22s, transform .28s cubic-bezier(.34,1.56,.64,1);
}
.tariff-btn.sel .tb-check { opacity: 1; transform: scale(1); }
.tb-featured.sel .tb-check { background: var(--gold); }

/* ================================================================
   COUNTDOWN PULSE
================================================================ */
@keyframes countdown-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.12); color: #f4c545; }
  100% { transform: scale(1); }
}
.countdown-pulse { animation: countdown-pulse .6s ease; }

/* ================================================================
   NAV — Dark mode button + Biletele mele
================================================================ */
.nav-dm-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--g500);
  background: var(--g100);
  border: 1.5px solid var(--g200);
  transition: all .2s;
  flex-shrink: 0;
}
.nav-dm-btn:hover { background: var(--g200); color: var(--navy); transform: rotate(20deg); }
html.dark .nav-dm-btn { background: #263050; border-color: #364060; color: #9aaac8; }
html.dark .nav-dm-btn:hover { background: #364060; color: #fff; }

.nav-my-tickets {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: var(--r8);
  font-size: .82rem; font-weight: 600; color: var(--g500);
  background: var(--g100); border: 1.5px solid var(--g200);
  transition: all .2s; position: relative;
}
.nav-my-tickets:hover { background: var(--g200); color: var(--navy); }
html.dark .nav-my-tickets { background: #263050; border-color: #364060; color: #9aaac8; }
html.dark .nav-my-tickets:hover { background: #364060; color: #fff; }

.ticket-count-badge {
  background: var(--cmpb);
  color: #fff;
  font-size: .65rem; font-weight: 800;
  min-width: 18px; height: 18px;
  border-radius: 99px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 5px;
  animation: badge-pop .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes badge-pop { from { transform:scale(0); } to { transform:scale(1); } }

/* ================================================================
   MY TICKETS SECTION
================================================================ */
.my-tickets-section {
  background: var(--white);
  border-top: 2px solid var(--g200);
  border-bottom: 2px solid var(--g200);
  padding: 28px 24px;
  animation: slideDown .35s cubic-bezier(.4,0,.2,1);
}
@keyframes slideDown { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
html.dark .my-tickets-section { background: #1a2236; border-color: #263050; }

.mts-header {
  max-width: 1100px; margin: 0 auto 20px;
  display: flex; align-items: center; gap: 10px;
}
.mts-header h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem; font-weight: 800; color: var(--navy);
  flex: 1;
}
html.dark .mts-header h3 { color: #dde5f4; }
.mts-close {
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; color: var(--g400);
  background: var(--g100); border: 1.5px solid var(--g200);
  transition: all .2s;
}
.mts-close:hover { background: var(--red-bg); color: var(--red); border-color: var(--red); }

.my-tickets-grid {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}

.my-ticket-card {
  background: var(--off);
  border: 1.5px solid var(--g200);
  border-radius: var(--r12);
  padding: 14px 16px;
  transition: box-shadow .2s, transform .2s;
}
.my-ticket-card:hover { box-shadow: var(--sh2); transform: translateY(-2px); }
html.dark .my-ticket-card { background: #1e2840; border-color: #263050; }

.mt-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.mt-id {
  display: flex; align-items: center; gap: 6px;
  font-family: 'Montserrat', sans-serif;
  font-size: .88rem; font-weight: 800; color: var(--navy);
  cursor: pointer; user-select: none;
  transition: color .2s;
}
.mt-id:hover { color: var(--cmpb); }
html.dark .mt-id { color: #9aaac8; }
.mt-copy-hint {
  font-size: .78rem; color: var(--g400);
  transition: color .2s;
}
.mt-id:hover .mt-copy-hint { color: var(--cmpb); }
.mt-del {
  width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; color: var(--g400);
  background: var(--g100); border: 1px solid var(--g200);
  transition: all .2s;
}
.mt-del:hover { background: var(--red-bg); color: var(--red); border-color: var(--red); }

.mt-rows { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.mt-row {
  display: flex; align-items: center; gap: 7px;
  font-size: .76rem; color: var(--g500);
}
html.dark .mt-row { color: #7a8aaa; }

.mt-actions { display: flex; gap: 8px; }
.btn-mt-wa {
  flex: 1; padding: 8px 12px;
  background: #25D366; color: #fff;
  border-radius: var(--r8);
  font-size: .76rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  transition: all .2s;
}
.btn-mt-wa:hover { background: #20b858; transform: translateY(-1px); }

/* ================================================================
   VERIFY SECTION
================================================================ */
.verify-section {
  padding: 0 28px 24px;
  border-top: 1px solid var(--g100);
  margin-top: 4px;
}
html.dark .verify-section { border-color: #263050; }

.verify-divider {
  display: flex; align-items: center; gap: 12px;
  margin: 20px 0 16px;
  color: var(--g300); font-size: .75rem; font-weight: 600;
}
.verify-divider::before,.verify-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--g200);
}
html.dark .verify-divider::before,
html.dark .verify-divider::after { background: #263050; }
.verify-divider span { color: var(--g400); }

.verify-row {
  display: flex; align-items: center; gap: 8px;
  font-size: .8rem; font-weight: 600; color: var(--g500);
  margin-bottom: 10px;
}
html.dark .verify-row { color: #7a8aaa; }

.verify-input-row {
  display: flex; gap: 8px; align-items: center;
}
.verify-inp {
  flex: 1;
  font-family: 'Montserrat', monospace;
  font-size: .9rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase;
}
.btn-verify {
  flex-shrink: 0;
  background: var(--navy); color: #fff;
  border-radius: var(--r8);
  padding: 0 20px; height: 42px;
  font-size: .85rem; font-weight: 700;
  transition: all .2s;
  white-space: nowrap;
}
.btn-verify:hover { background: var(--navy-lt); transform: translateY(-1px); }

/* verify result cards */
.verify-ok {
  margin-top: 14px;
  background: var(--green-bg);
  border: 1.5px solid #b8ead4;
  border-radius: var(--r12);
  padding: 14px 16px;
  display: flex; gap: 12px; align-items: flex-start;
}
html.dark .verify-ok { background: #0a2016; border-color: #1a4a30; }
.vr-icon {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 900; flex-shrink: 0;
}
.vr-rows { flex: 1; }
.vr-row {
  display: flex; justify-content: space-between;
  font-size: .8rem; padding: 3px 0;
  border-bottom: 1px solid rgba(26,158,92,.15);
}
.vr-row:last-of-type { border-bottom: none; }
.vr-row span { color: var(--g400); }
.vr-row strong { color: var(--g700); }
.vr-status {
  margin-top: 8px;
  font-size: .75rem; font-weight: 800;
  color: var(--green); letter-spacing: .4px;
}
.verify-bad {
  margin-top: 14px;
  background: var(--red-bg);
  border: 1.5px solid #f5c6c4;
  border-radius: var(--r12);
  padding: 12px 16px;
  display: flex; gap: 10px; align-items: center;
  font-size: .82rem; color: var(--red); font-weight: 600;
}
html.dark .verify-bad { background: #2a0a0a; border-color: #5a1a1a; }
.vr-icon-bad {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--red); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 900; flex-shrink: 0;
}

/* ================================================================
   WHATSAPP BUTTON (success screen)
================================================================ */
.btn-wa {
  padding: 10px 18px;
  background: #25D366; color: #fff;
  border-radius: var(--r8);
  font-weight: 700; font-size: .82rem;
  display: inline-flex; align-items: center; gap: 7px;
  transition: all .2s;
  box-shadow: 0 2px 8px rgba(37,211,102,.3);
}
.btn-wa:hover { background: #20b858; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(37,211,102,.4); }

/* ================================================================
   SUCCESS RING — animated checkmark
================================================================ */
.success-ring {
  position: relative;
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--green-bg);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  animation: ring-pop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ring-pop {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.sr-check {
  font-size: 2rem; color: var(--green); font-weight: 900; line-height: 1;
  animation: check-draw .4s ease .3s both;
}
@keyframes check-draw {
  from { transform: scale(0) rotate(-30deg); opacity: 0; }
  to   { transform: scale(1) rotate(0deg); opacity: 1; }
}

/* ================================================================
   PREMIUM TICKET
================================================================ */
.premium-ticket {
  background: #fff;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(48,63,105,.18), 0 2px 8px rgba(0,0,0,.08);
  padding: 0 !important;
  overflow: hidden;
  margin-bottom: 20px;
  text-align: left;
}
html.dark .premium-ticket { background: #1a2236; box-shadow: 0 8px 40px rgba(0,0,0,.5); }

/* rainbow top bar */
.pt-rainbow {
  height: 7px;
  background: linear-gradient(90deg,
    #e63946 0%, #f4a261 17%, #f4c545 34%,
    #2a9d8f 51%, #00A2E8 68%, #303F69 85%, #9b5de5 100%);
}

/* header */
.pt-header {
  background: linear-gradient(135deg, var(--navy-dk), var(--navy));
  padding: 16px 20px;
  display: flex; align-items: center; gap: 14px;
}
.pt-logo img { height: 32px; filter: brightness(0) invert(1); opacity: .85; }
.pt-header-text {}
.pt-event {
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem; font-weight: 800; letter-spacing: .6px;
  color: #f4c545; text-transform: uppercase;
}
.pt-venue {
  font-size: .78rem; color: rgba(255,255,255,.7); margin-top: 2px;
}

/* ticket ID */
.pt-id-row {
  padding: 16px 20px 12px;
  text-align: center;
  background: #f6f8ff;
  border-bottom: 1px dashed var(--g200);
}
html.dark .pt-id-row { background: #1e2840; border-color: #364060; }
.pt-id-label {
  font-size: .62rem; font-weight: 700; letter-spacing: .8px;
  text-transform: uppercase; color: var(--g400); margin-bottom: 4px;
}
.pt-id {
  font-family: 'Montserrat', sans-serif;
  font-size: 2rem; font-weight: 900; letter-spacing: 4px;
  color: var(--navy); cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 10px;
  transition: color .2s;
}
html.dark .pt-id { color: #9aaac8; }
.pt-id:hover { color: var(--cmpb); }
.pt-copy-icon {
  font-size: 1rem; color: var(--g400);
  transition: color .2s, transform .2s;
}
.pt-id:hover .pt-copy-icon { color: var(--cmpb); transform: scale(1.2); }
.pt-id-hint {
  font-size: .68rem; color: var(--g400); margin-top: 4px;
}

/* QR area */
.pt-qr-wrap {
  display: flex; justify-content: center; align-items: center;
  padding: 20px 20px 8px;
  background: #fff;
}
html.dark .pt-qr-wrap { background: #f0f4ff; }
.pt-scan-hint {
  text-align: center; font-size: .68rem; color: var(--g400);
  padding: 0 20px 14px; background: #fff;
}
html.dark .pt-scan-hint { background: #f0f4ff; }

/* divider */
.pt-divider {
  height: 1px; background: var(--g200);
  margin: 0;
}
html.dark .pt-divider { background: #263050; }

/* rows */
.pt-rows { padding: 14px 20px 10px; }
.pt-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: .8rem; padding: 6px 0;
  border-bottom: 1px solid var(--g100);
}
.pt-row:last-child { border-bottom: none; }
html.dark .pt-row { border-color: #263050; }
.pt-lbl {
  color: var(--g400); display: flex; align-items: center; gap: 5px;
}
.pt-val { font-weight: 600; color: var(--g700); text-align: right; }
html.dark .pt-val { color: #b8c8e0; }
.pt-ok { color: var(--green) !important; font-weight: 800 !important; }

/* footer */
.pt-footer {
  background: var(--g100);
  text-align: center;
  font-size: .7rem; color: var(--g400);
  padding: 10px 20px;
  border-top: 1px solid var(--g200);
}
html.dark .pt-footer { background: #1e2840; border-color: #263050; }

/* ================================================================
   RESPONSIVE — dark mode + WOW on mobile
================================================================ */
@media (max-width: 768px) {
  .nav-my-tickets { font-size: 0; padding: 7px 10px; gap: 0; }
  .nav-my-tickets svg { display: none; }
  .nav-my-tickets::before { content: '🎟'; font-size: .95rem; }
  .my-tickets-grid { grid-template-columns: 1fr; }
  .verify-section { padding: 0 20px 20px; }
  .pt-id { font-size: 1.5rem; letter-spacing: 2px; }
  .success-actions { flex-wrap: wrap; }
  .success-actions .btn-dl,
  .success-actions .btn-wa,
  .success-actions .btn-again { flex: 1; min-width: 120px; justify-content: center; }
}
