/* ViaHub static — white Viagogo-inspired theme */
:root{
  --green:#0a8a4a; --green-dark:#076636; --green-light:#e8f6ee;
  --red:#e94560; --red-soft:#fdecef;
  --orange:#ff6b35; --amber:#f5a623; --amber-soft:#fff7e1;
  --ink:#0f172a; --ink-2:#334155; --muted:#64748b;
  --line:#e5e7eb; --line-2:#eef0f3;
  --bg:#ffffff; --bg-2:#f7faf8; --card:#ffffff;
  --shadow:0 1px 2px rgba(15,23,42,.05), 0 4px 16px rgba(15,23,42,.06);
  --shadow-lg:0 10px 30px rgba(15,23,42,.12);
  --radius:14px; --radius-sm:10px; --radius-pill:999px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Inter','Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1240px;margin:0 auto;padding:0 16px}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}
.brand{font-weight:900;font-size:26px;letter-spacing:-.5px;color:var(--ink)}
.brand span{color:var(--green)}
.hbtns{display:flex;align-items:center;gap:12px}
.icon-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);transition:.15s;position:relative}
.icon-btn:hover{background:var(--bg-2);color:var(--ink)}
.icon-btn svg{width:20px;height:20px}
.sell-btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:10px 18px;border-radius:var(--radius-pill);font-weight:700;font-size:14px;box-shadow:0 6px 16px rgba(10,138,74,.25);transition:.15s}
.sell-btn:hover{background:var(--green-dark);transform:translateY(-1px)}
.sell-btn svg{width:16px;height:16px}
.lang-toggle{font-weight:700;font-size:13px;border:1px solid var(--line);padding:6px 10px;border-radius:var(--radius-pill);color:var(--ink-2);background:#fff}
.lang-toggle:hover{border-color:var(--green);color:var(--green)}

/* Trust strip */
.trust-strip{background:var(--green-light);color:var(--green-dark);font-size:13px;font-weight:600;border-bottom:1px solid #d4ebd9}
.trust-strip .container{display:flex;align-items:center;gap:10px;justify-content:space-between;height:38px;overflow:hidden;white-space:nowrap}
.trust-strip .scroll{flex:1;overflow:hidden;text-overflow:ellipsis}
.trust-strip svg{width:18px;height:18px;flex-shrink:0}

/* Search */
.searchwrap{padding:14px 0;background:#fff;border-bottom:1px solid var(--line-2)}
.search{position:relative;max-width:760px;margin:0 auto}
.search input{width:100%;height:48px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:0 48px 0 20px;font-size:15px;outline:none;transition:.15s;background:#fff}
[dir="rtl"] .search input{padding:0 20px 0 48px}
.search input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,138,74,.12)}
.search svg{position:absolute;right:16px;top:14px;width:20px;height:20px;color:var(--muted)}
[dir="rtl"] .search svg{right:auto;left:16px}

/* Hero */
.hero{padding:28px 0 8px}
.hero h1{font-size:34px;line-height:1.1;margin:0 0 6px;letter-spacing:-.5px}
.hero p{color:var(--muted);margin:0 0 14px;font-size:15px}
.hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.stat-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:var(--radius-pill);font-size:13px;color:var(--ink-2);box-shadow:var(--shadow)}
.stat-pill b{color:var(--ink);font-weight:800}
.stat-pill .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;padding:16px 0;align-items:center;justify-content:flex-end}
.filter{position:relative}
.filter-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;color:var(--ink);transition:.15s}
.filter-btn:hover{border-color:var(--green);color:var(--green)}
.filter-btn svg{width:14px;height:14px}
.dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:240px;max-height:340px;overflow:auto;z-index:30;display:none;padding:6px}
[dir="rtl"] .dropdown{right:auto;left:0}
.dropdown.open{display:block}
.dropdown a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--ink);cursor:pointer}
.dropdown a:hover{background:var(--bg-2)}
.dropdown a.active{background:var(--green-light);color:var(--green-dark);font-weight:700}
.geo-btn{width:36px;height:36px;border-radius:50%;background:#0a0a0a;color:#fff;display:inline-flex;align-items:center;justify-content:center}

/* Matches */
.matches-head{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 8px}
.matches-head h2{font-size:24px;margin:0;font-weight:800;letter-spacing:-.3px}
.matches-meta{color:var(--muted);font-size:13px}
.matches{display:grid;grid-template-columns:1fr;gap:14px;padding-bottom:24px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.15s;box-shadow:var(--shadow);position:relative}
.mcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#d8e7df}
.mcard .demand{background:var(--red-soft);color:var(--red);font-weight:700;font-size:12.5px;padding:8px 16px;display:flex;align-items:center;gap:6px}
.mcard .body{display:grid;grid-template-columns:130px 1fr 90px;gap:14px;align-items:center;padding:14px 16px}
[dir="rtl"] .mcard .body{grid-template-columns:90px 1fr 130px}
.see-tickets{background:var(--green);color:#fff;border-radius:var(--radius-pill);padding:12px 16px;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:6px;justify-content:center;white-space:nowrap;transition:.15s}
.see-tickets:hover{background:var(--green-dark)}
.see-tickets svg{width:16px;height:16px}
.save-strip{font-size:12px;color:var(--green);font-weight:700;margin-top:6px;text-align:center}
.mc-mid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.mc-teams{font-weight:800;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.mc-teams .vs{color:var(--muted);font-weight:600;font-size:13px}
.mc-meta{color:var(--muted);font-size:13px;line-height:1.55}
.mc-meta .pin{color:var(--green);vertical-align:-2px;margin:0 2px}
.mc-date{background:var(--green-light);border-radius:var(--radius-sm);padding:10px 8px;text-align:center;font-weight:800;color:var(--green-dark);min-width:64px}
.mc-date .mo{font-size:11px;color:var(--green);letter-spacing:1px}
.mc-date .dy{font-size:22px;line-height:1;margin:2px 0}
.mc-date .wd{font-size:11px;color:var(--muted);font-weight:600}
.flag{font-size:20px;line-height:1}

/* Match detail */
.detail{padding:18px 0 80px;display:none}
.detail.open{display:block}
.list-view{display:block}
.list-view.hidden{display:none}
.detail .back{color:var(--green);font-weight:700;font-size:14px;display:inline-block;margin-bottom:10px}
.detail-head{background:var(--green-light);border-radius:var(--radius);padding:18px;text-align:center;border:1px solid #d8ebde}
.detail-head .stage{color:var(--green);font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase}
.detail-head h2{font-size:28px;margin:6px 0 4px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.detail-head h2 .vs{color:var(--muted);font-weight:600;font-size:18px}
.detail-head .when{margin-top:4px;color:var(--ink-2);font-weight:600}
.detail-head .venue{color:var(--muted);margin-top:2px;font-size:14px}
.demand-row{background:var(--red-soft);color:var(--red);border-radius:var(--radius);padding:12px 14px;margin-top:14px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.demand-row .pdot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.6s infinite}
.notice{background:#fff8e1;border:1px solid #f3d77a;border-radius:var(--radius);padding:14px;color:#8a6700;margin-top:14px;font-size:14px;font-weight:600;line-height:1.5}

.section-title{font-size:20px;font-weight:800;margin:22px 0 10px;text-align:center}
/* SVG stadium map */
.stadium-map{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;position:relative}
.stadium-map .badge-save{position:absolute;top:10px;right:10px;background:var(--green);color:#fff;font-weight:700;font-size:12px;padding:6px 12px;border-radius:var(--radius-pill)}
[dir="rtl"] .stadium-map .badge-save{right:auto;left:10px}
.stadium-svg{width:100%;height:auto;display:block}

.cat-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.cat-chip{border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;background:#fff;cursor:pointer;transition:.15s}
.cat-chip:hover{border-color:#cdd5de}
.cat-chip.active{border-color:var(--green);background:var(--green-light)}
.cat-chip .dot{width:10px;height:10px;border-radius:50%}

.timer{display:flex;align-items:center;gap:10px;background:#fff7e1;border:1px solid #f3d77a;border-radius:var(--radius);padding:10px 14px;font-weight:700;color:#8a6700;margin-top:8px}
.timer .pill{background:var(--orange);color:#fff;padding:6px 10px;border-radius:8px;font-variant-numeric:tabular-nums}

.tickets-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px;gap:8px;flex-wrap:wrap}
.save-pill{background:var(--green);color:#fff;font-weight:800;padding:8px 14px;border-radius:var(--radius-pill);font-size:12.5px}
.tickets-head h3{margin:0;font-size:18px;font-weight:800}

.tcard{background:#fff;border:1.5px solid var(--green);border-radius:var(--radius);padding:14px;display:grid;grid-template-columns:130px 1fr 130px;gap:14px;align-items:center;margin-bottom:12px;box-shadow:var(--shadow)}
[dir="rtl"] .tcard{grid-template-columns:130px 1fr 130px}
.tcard .price-col{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.tcard .strike{color:var(--muted);text-decoration:line-through;font-size:13px}
.tcard .price{color:var(--green);font-weight:900;font-size:26px;line-height:1}
.tcard .currency-sec{color:var(--muted);font-size:12px}
.tcard .incl{background:var(--amber-soft);color:#8a6700;font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-pill)}
.tcard .buy{background:var(--green);color:#fff;border-radius:var(--radius-pill);padding:10px 16px;font-weight:700;font-size:14px;width:100%;text-align:center;margin-top:4px}
.tcard .buy:hover{background:var(--green-dark)}
.tcard .mid h4{margin:0 0 4px;font-size:15px;font-weight:800}
.tcard .mid .meta{color:var(--muted);font-size:13px;line-height:1.5}
.tcard .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.bv{background:var(--green-light);color:var(--green);font-weight:700;font-size:11px;padding:3px 8px;border-radius:var(--radius-pill)}
.only{background:var(--red-soft);color:var(--red);font-weight:700;font-size:11px;padding:3px 8px;border-radius:var(--radius-pill)}
.seat-view{width:130px;height:90px;border-radius:10px;overflow:hidden;position:relative;background:#1b2a36}
.seat-view .label{position:absolute;bottom:6px;right:8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;padding:2px 6px;border-radius:6px;font-weight:600}
.seat-view svg{width:100%;height:100%;display:block}

/* Modals */
.backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:80;display:none;align-items:center;justify-content:center;padding:16px}
.backdrop.open{display:flex}
.modal{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:22px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}
.modal h3{margin:0 0 12px;font-size:20px;font-weight:800;display:flex;align-items:center;gap:8px;justify-content:space-between}
.modal .close{font-size:22px;color:var(--muted);background:none}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:14px;font-family:inherit;background:#fff;outline:none;transition:.15s}
.field textarea{height:auto;padding:10px 12px;min-height:80px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,138,74,.12)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-primary{background:var(--green);color:#fff;border-radius:12px;padding:14px;font-weight:800;width:100%;font-size:15px;transition:.15s;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-primary:hover{background:var(--green-dark)}
.btn-orange{background:var(--orange);color:#fff;border-radius:12px;padding:14px;font-weight:800;width:100%;font-size:15px}
.btn-dark{background:#0a0a0a;color:#fff;border-radius:12px;padding:14px;font-weight:700;width:100%;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;font-weight:700;width:100%;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px}
.qty-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0}
.qty-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;font-weight:700}
.qty-num{font-size:28px;font-weight:800;min-width:30px;text-align:center}
.qty-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.qty-pills .p{border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;font-weight:700;background:#fff;cursor:pointer}
.qty-pills .p.active{background:var(--green);color:#fff;border-color:var(--green)}
.total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-bottom:12px}
.total-row b{color:var(--green);font-size:22px;font-weight:900}
.fineprint{color:var(--muted);font-size:12px;text-align:center;margin-top:10px;display:flex;justify-content:center;gap:6px;align-items:center}

/* Checkout page */
.checkout{padding:18px 0 80px;display:none}
.checkout.open{display:block}
.checkout h1{font-size:28px;margin:0 0 14px;font-weight:900}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}
.box h4{margin:0 0 8px;font-size:16px;font-weight:800}
.box .muted{color:var(--muted);font-size:14px}
.ssl-pill{display:flex;align-items:center;gap:10px;background:var(--green-light);color:var(--green-dark);border:1px solid #d4ebd9;border-radius:var(--radius);padding:10px 14px;margin-bottom:12px;font-weight:600;font-size:13.5px;justify-content:space-between}
.pay-logos{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;margin:6px 0 14px;font-size:13px;color:var(--muted)}
.pay-logos span{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:700}
.summary-line{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
.summary-line.tot{border-top:1px dashed var(--line);padding-top:10px;margin-top:6px;font-weight:800;font-size:16px;color:var(--ink)}

.toggle{position:relative;display:inline-flex;align-items:center;width:42px;height:24px;background:var(--green);border-radius:999px;cursor:pointer;transition:.15s}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.15s}
.toggle.off{background:#cbd5e1}
.toggle.off::after{left:21px}

.otp-row{display:flex;gap:8px;justify-content:center;margin:14px 0}
.otp-row input{width:44px;height:54px;text-align:center;font-size:22px;font-weight:800;border:1px solid var(--line);border-radius:10px;outline:none}
.otp-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,138,74,.12)}

.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite;margin:14px auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* Toasts / cookie / whatsapp */
.toast{position:fixed;bottom:20px;left:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-lg);font-size:13.5px;max-width:300px;z-index:60;animation:slideup .35s ease}
[dir="rtl"] .toast{left:auto;right:20px}
@keyframes slideup{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#0f172a;color:#fff;border-radius:14px;padding:12px 16px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-lg);font-size:13.5px;z-index:70;max-width:560px;width:calc(100% - 32px)}
.cookie button{background:var(--green);color:#fff;padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px}
.wa{position:fixed;bottom:20px;right:20px;background:#25d366;color:#fff;border-radius:999px;padding:12px 18px;display:inline-flex;align-items:center;gap:8px;font-weight:700;box-shadow:var(--shadow-lg);z-index:65}
[dir="rtl"] .wa{right:auto;left:20px}
.wa svg{width:18px;height:18px}

/* Footer */
footer{background:#0b1220;color:#cbd5e1;padding:36px 0 20px;margin-top:30px}
footer h5{color:#fff;margin:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer .badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
footer .badges span{background:#1e293b;color:#e2e8f0;font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:999px}
footer ul{list-style:none;padding:0;margin:0}
footer ul li{padding:4px 0;font-size:13.5px}
footer ul li a:hover{color:#fff}
footer .brand{color:#fff;font-size:22px}
footer p{font-size:13px;line-height:1.6;color:#94a3b8}
.copy{border-top:1px solid #1e293b;margin-top:24px;padding-top:14px;text-align:center;font-size:12.5px;color:#94a3b8}
.pay-strip{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.pay-strip span{background:#fff;color:#0b1220;font-weight:800;padding:6px 10px;border-radius:6px;font-size:11.5px}

.ticker{background:#0f172a;color:#fff;padding:8px 0;overflow:hidden;white-space:nowrap;font-size:13px;font-weight:600}
.ticker .move{display:inline-block;padding-left:100%;animation:tick 38s linear infinite}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-100%)}}

.rating-row{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--muted);font-size:13px;margin:10px 0}
.stars{color:#f5a623;font-size:16px;letter-spacing:1px}

.price-alert{background:var(--red-soft);color:var(--red);font-weight:700;font-size:13px;padding:8px 14px;border-radius:var(--radius);margin:10px 0;text-align:center}

.faq{margin:30px 0}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden}
.faq-q{padding:14px 16px;font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:14.5px}
.faq-a{padding:0 16px 14px;color:var(--muted);font-size:14px;line-height:1.6;display:none}
.faq-item.open .faq-a{display:block}

/* Responsive */
@media(min-width:768px){
  .matches{grid-template-columns:1fr 1fr}
  .hero h1{font-size:42px}
  .mcard .body{grid-template-columns:160px 1fr 90px}
}
@media(min-width:1100px){
  .matches{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:520px){
  .fgrid{grid-template-columns:1fr 1fr}
  .tcard{grid-template-columns:1fr;}
  .seat-view{width:100%;height:130px}
  .mcard .body{grid-template-columns:90px 1fr 70px;padding:12px}
}

/* ===== Polish patches ===== */
html,body{overflow-x:hidden;width:100%}
.container{padding-left:20px;padding-right:20px}
@media(max-width:520px){
  .container{padding-left:14px;padding-right:14px}
  .hero h1{font-size:26px}
  .matches-head h2{font-size:20px}
  .detail-head h2{font-size:22px}
  .section-title{font-size:18px}
}

/* Filter row: clean grid on mobile, flex on desktop */
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;justify-content:initial}
.filters .filter{min-width:0}
.filters .filter-btn{width:100%;justify-content:space-between;border-radius:10px}
.filters .geo-btn{display:none}
@media(min-width:768px){
  .filters{display:flex;flex-wrap:wrap;justify-content:flex-end}
  .filters .filter-btn{width:auto}
  .filters .geo-btn{display:inline-flex}
}

/* Buttons consistency */
.sell-btn,.see-tickets,.tcard .buy,.btn-primary,.btn-orange,.btn-dark,.btn-ghost{
  border-radius:10px !important;letter-spacing:.1px
}
.sell-btn{padding:10px 16px}
.lang-toggle{border-radius:10px}
.icon-btn{border-radius:10px}
.hbtns{gap:8px}

/* Hide noisy currency line until rate available */
.tcard .currency-sec:empty{display:none}

/* Tickets card: cleaner stacked layout, better breathing room */
.tcard{
  grid-template-columns:1fr;
  gap:14px;padding:16px;margin-bottom:16px;
  border-radius:14px;border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.tcard .price-col{align-items:stretch;gap:6px}
.tcard .price{font-size:24px}
.tcard .strike{font-size:13px}
.tcard .incl{align-self:flex-start}
.tcard .mid{order:-1}
.tcard .seat-view{width:100%;height:120px}
.tcard .buy{padding:12px 18px;font-size:14px}

@media(min-width:720px){
  .tcard{grid-template-columns:140px 1fr 160px;align-items:center}
  .tcard .mid{order:0}
  .tcard .seat-view{height:100px}
  .tcard .price-col{align-items:flex-start}
}

/* Stadium map centered + responsive */
.stadium-map{max-width:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.stadium-svg{max-width:100%;height:auto}

/* Category chips: symmetrical grid */
.cat-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px;margin-left:auto;margin-right:auto}
@media(min-width:720px){.cat-chips{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Typography breathing */
.detail-head{margin-bottom:8px}
.tickets-head{margin-top:24px}
.section-title{margin-top:28px}

/* Match card body safe on tight widths */
.mcard .body{min-width:0}
.mcard .mc-mid{min-width:0}
.mcard .mc-teams{font-size:15px}

/* Search */
.searchwrap{padding:16px 0}

/* Header brand truncation */
.brand{white-space:nowrap}
.header-row{min-width:0}

/* Modal field rows safe */
.row2{grid-template-columns:1fr}
@media(min-width:480px){.row2{grid-template-columns:1fr 1fr}}

/* === Header lock (don't swap sides on language switch) === */
.header-row{direction:ltr;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:64px}
.header-row .h-left{display:flex;align-items:center;gap:10px;justify-self:start}
.header-row .h-right{display:flex;align-items:center;gap:8px;justify-self:end}
.header-row .brand{justify-self:center;text-align:center}
[dir="rtl"] .header-row .h-left .lang-toggle,
[dir="rtl"] .header-row .h-right .icon-btn{direction:rtl}

/* Sell button — compact rectangle */
.sell-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;background:var(--green);color:#fff;padding:8px 16px;border-radius:8px;font-weight:700;font-size:13px;line-height:1;height:36px;letter-spacing:.2px;box-shadow:0 4px 12px rgba(10,138,74,.22);transition:.15s;white-space:nowrap}
.sell-btn:hover{background:var(--green-dark);transform:translateY(-1px)}
.sell-btn svg{display:none}

/* Stat bar under search */
.statbar-wrap{background:#fff;border-bottom:1px solid var(--line-2);padding:10px 0}
.statbar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(180deg,#f7faf8,#fff);border:1px solid var(--line);border-radius:12px;padding:10px 16px;box-shadow:var(--shadow)}
.sb-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);font-weight:500;white-space:nowrap}
.sb-item b{color:var(--ink);font-weight:800;font-size:14px}
.sb-item svg{width:14px;height:14px;flex-shrink:0}
.sb-sep{width:1px;height:18px;background:var(--line)}
.sb-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse 2s infinite;flex-shrink:0}
@media (max-width:640px){
  .statbar{gap:8px;padding:8px 10px;font-size:12px}
  .sb-item{font-size:12px}
  .sb-item b{font-size:13px}
  .sb-sep{display:none}
  .header-row{height:58px}
  .brand{font-size:22px}
  .sell-btn{padding:7px 12px;font-size:12px;height:32px}
  .header-row .h-right .icon-btn:nth-child(2),
  .header-row .h-right .icon-btn:nth-child(3){display:none}
}

/* === Hide moving recent-purchase ticker (kept as toasts only) === */
.ticker{display:none !important}

/* === Stat box: single rectangle, 2 rows === */
.statbar-wrap{background:transparent;border:0;padding:10px 0 6px}
.statbar{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow)}
.sb-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.sb-row svg{width:16px;height:16px;flex-shrink:0}
.sb-row b{color:var(--ink);font-weight:800}
.sb-row-top{border-bottom:1px dashed var(--line-2);padding-bottom:6px;font-weight:600}
.sb-row-bot{gap:18px}
.sb-row-bot .sb-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
@media (max-width:520px){
  .sb-row{font-size:12px}
  .sb-row-bot{gap:10px}
}

/* === Filters: symmetrical row === */
.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;justify-content:stretch}
.filters .geo-btn{display:none}
.filters .filter{width:100%}
.filters .filter-btn{width:100%;justify-content:space-between;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:10px;font-weight:600;font-size:13px;color:var(--ink)}
.filters .filter-btn:hover{border-color:var(--green);color:var(--green)}
@media (min-width:760px){
  .filters{grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px;margin:0 auto}
}

/* ===== v3 layout polish ===== */
/* Hide noisy bars on detail & checkout */
body.subpage .statbar-wrap, body.subpage .searchwrap { display:none !important; }

/* Match card — horizontal Viagogo style */
.matches { grid-template-columns: 1fr; gap: 12px; }
@media(min-width:768px){ .matches{ grid-template-columns: 1fr; max-width:760px; margin:0 auto; } }
.mcard { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 14px 16px; align-items: stretch; border-radius: 12px; }
[dir="rtl"] .mcard { grid-template-columns: 72px 1fr; }
.mcard .demand { display:none; }
.mcard .body { display: contents; }
.mcard .mc-date { background:#f1f5f4; color:#475569; border:1px solid var(--line); border-radius:10px; padding:10px 6px; text-align:center; min-width:0; align-self:start; }
.mcard .mc-date .mo { font-size: 11px; letter-spacing: .5px; color:#64748b; }
.mcard .mc-date .dy { font-size: 22px; font-weight: 900; color: var(--ink); margin: 2px 0; line-height:1; }
.mcard .mc-date .wd { font-size: 11px; color:#94a3b8; font-weight: 600; text-transform: capitalize; }
.mcard .mc-body { display:flex; flex-direction:column; gap:4px; min-width:0; }
.mcard .mc-teams { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:16px; font-weight:800; color:var(--ink); }
.mcard .mc-teams .flag { font-size: 20px; }
.mcard .mc-teams .vs { color: var(--muted); font-weight: 500; font-size: 13px; padding: 0 2px; }
.mcard .mc-teams b { font-weight: 800; }
.mcard .mc-meta { color:#475569; font-size: 13.5px; line-height: 1.45; overflow:hidden; text-overflow:ellipsis; }
.mcard .mc-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.mcard .mc-tags span { font-size: 11.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; display:inline-flex; align-items:center; gap:4px; }
.tag-soon { background:#eaf2ff; color:#1d4ed8; }
.tag-today { background:#f1f5f9; color:#334155; }
.tag-new { background:#eff6ff; color:#0284c7; }

/* Remove old hero-stats artifacts (just in case) */
.hero-stats, .price-alert { display: none !important; }

/* Filters — 3 buttons inline */
.filters { grid-template-columns: repeat(3, minmax(0,1fr)) !important; max-width: 760px; margin: 0 auto; gap:8px; }
@media(min-width:760px){ .filters{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; } }
.filters .filter-btn { padding: 9px 12px; font-size: 13px; }

/* === v4: match list polish — date pill on the side, finished state === */
.mcard { grid-template-columns: 1fr 64px !important; gap: 14px; padding: 14px 16px; align-items: center; }
[dir="rtl"] .mcard { grid-template-columns: 1fr 64px !important; }
.mcard .mc-date { order: 2; min-width: 64px; }
.mcard .mc-body { order: 1; }
.mcard .mc-date .mo { color: var(--green); }
.mcard.mcard-finished { opacity: .78; background: #fafafa; }
.mcard.mcard-finished .mc-teams b { color: #475569; }
.mcard.mcard-finished .mc-date { background: #f1f5f9; }
.mcard.mcard-finished .mc-date .mo { color: #94a3b8; }
.mcard.mcard-live { border-color: #e94560; box-shadow: 0 0 0 1px rgba(233,69,96,.15), var(--shadow); }

.tag-finished { background: #f1f5f9; color: #64748b; }
.tag-live { background: #fdecef; color: #e94560; animation: pulse 1.6s infinite; }

/* Tickets card seat-view: real stadium photo */
.seat-view img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Interactive seat map image */
.stadium-map img.stadium-svg { width: 100%; max-width: 720px; height: auto; border-radius: 10px; }

/* Filters: lock to ONE horizontal row at every width */
.filters { display: flex !important; flex-wrap: nowrap !important; gap: 8px; max-width: 760px; margin: 12px auto; }
.filters .filter { flex: 1 1 0; min-width: 0; }
.filters .filter-btn { width: 100%; justify-content: space-between; padding: 10px 12px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.filters .filter-btn span { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 380px){
  .filters .filter-btn { padding: 9px 8px; font-size: 12px; }
}

/* Card responsive tightening */
@media (max-width: 380px){
  .mcard { grid-template-columns: 1fr 56px !important; padding: 12px; gap: 10px; }
  .mcard .mc-teams { font-size: 14px; }
  .mcard .mc-date .dy { font-size: 20px; }
}

/* ===== Final precision pass: English-only responsive Viagogo-style UI ===== */
html,body{max-width:100%;overflow-x:hidden;background:#f4f6f8;color:#020817}
body{font-family:Arial,Helvetica,sans-serif}
.container{width:100%;max-width:760px;padding-left:10px;padding-right:10px}
.header{background:#fff}.header-row{height:58px;grid-template-columns:auto 1fr auto}.header-row .brand{font-size:23px}.h-left{min-width:0}.h-right{min-width:0}.sell-btn{border-radius:6px!important;height:34px;padding:0 14px;font-size:12px}.icon-btn{width:34px;height:34px;border-radius:8px}
@media(max-width:430px){.header-row{gap:8px}.header-row .brand{font-size:21px}.h-right .icon-btn:nth-child(2),.h-right .icon-btn:nth-child(3){display:none}.sell-btn{padding:0 10px;max-width:92px;overflow:hidden;text-overflow:ellipsis}}
.trust-strip,.statbar-wrap,.searchwrap{background:#fff}.hero{padding:22px 0 8px;text-align:left}.hero h1{font-size:30px;letter-spacing:0}.hero p{font-size:14px;line-height:1.45}.rating-row{justify-content:flex-start}
.search input{height:46px;border-radius:8px;background:#fff}.filters{max-width:760px;width:100%;margin:10px auto 14px;gap:7px}.filters .filter-btn{height:42px;border-radius:8px;padding:0 10px;font-size:12.5px;background:#fff}.dropdown{left:0;right:auto;min-width:min(290px,calc(100vw - 24px));border-radius:8px}.dropdown a{display:flex;align-items:center;gap:8px;white-space:nowrap}
.matches-head{margin:10px 0 8px}.matches-head h2{font-size:22px}.matches-meta{font-size:12px}.matches{gap:10px;padding-bottom:18px}
.mcard{grid-template-columns:84px minmax(0,1fr)!important;gap:14px!important;padding:14px!important;background:#fff;border:1px solid #dce2e8;border-radius:18px!important;box-shadow:none;align-items:start;cursor:pointer;min-width:0;overflow:hidden}.mcard:hover{transform:none;box-shadow:0 2px 10px rgba(15,23,42,.08)}.mcard .mc-date{order:0;grid-column:1;grid-row:1;background:linear-gradient(#fff,#f8fafc);border:1px solid #d9e0e7;border-radius:12px;min-width:84px;width:84px;padding:9px 6px;color:#0f172a}.mcard .mc-date .mo{font-size:16px;line-height:1.05;font-weight:700;color:#111827;text-transform:none;letter-spacing:0}.mcard .mc-date .dy{font-size:24px;line-height:1.05;font-weight:900;color:#000;margin:2px 0}.mcard .mc-date .wd{font-size:15px;color:#475569;line-height:1}.mcard .mc-body{order:0;grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px}.mcard .mc-teams{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-start;font-size:20px;line-height:1.15;color:#000}.mcard .mc-teams b{font-weight:800;min-width:0}.mcard .mc-teams .vs{font-size:18px;font-weight:700;color:#111827;padding:0}.flag-img{width:29px;height:20px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08);display:inline-block;flex:0 0 auto}.flag-emoji{font-size:22px;line-height:1}.flag-empty{width:0;height:0}.mcard .mc-meta{font-size:18px;line-height:1.32;color:#526173;width:100%;white-space:normal;overflow:visible;text-overflow:clip}.mcard .mc-tags{gap:6px;margin-top:4px}.mcard .mc-tags span{font-size:16px;line-height:1.1;padding:5px 8px;border-radius:7px}.tag-today{background:#f0f2f4;color:#020817}.tag-low{background:#ffe9f1;color:#d00067}.tag-value{background:#cbf8cf;color:#07822d}.tag-finished{background:#eef2f7;color:#64748b}.tag-live{background:#ffe6e9;color:#e11d48}
@media(max-width:520px){.container{padding-left:10px;padding-right:10px}.hero h1{font-size:25px}.mcard{grid-template-columns:84px minmax(0,1fr)!important;border-radius:18px!important;padding:16px 14px!important}.mcard .mc-teams{font-size:20px}.mcard .mc-meta{font-size:18px}.mcard .mc-tags span{font-size:16px}.matches{gap:11px}.statbar{padding:9px 10px}.sb-row-bot{display:grid;grid-template-columns:1fr;gap:5px}.sb-row-bot .sb-item{justify-content:center}}
@media(max-width:380px){.mcard{grid-template-columns:74px minmax(0,1fr)!important;gap:10px!important;padding:13px 10px!important}.mcard .mc-date{width:74px;min-width:74px}.mcard .mc-teams{font-size:17px}.mcard .mc-meta{font-size:15.5px}.mcard .mc-tags span{font-size:13px}.flag-img{width:25px;height:17px}}

#ticketList{background:#fff}.tickets-head{max-width:760px;margin:22px auto 8px}.tcard{display:grid!important;grid-template-columns:188px minmax(0,1fr)116px!important;gap:30px!important;align-items:start!important;background:#fff;border:0!important;border-bottom:1px solid #dbe1e7!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:22px 8px!important;cursor:pointer}.tcard.featured-ticket{outline:2px solid #b998ff;outline-offset:-2px}.tcard .seat-view{width:188px!important;height:124px!important;border-radius:6px!important;background:#111;overflow:hidden;position:relative}.tcard .seat-view img{width:100%;height:100%;object-fit:cover}.fav-star{position:absolute;top:9px;left:9px;width:28px;height:28px;border-radius:5px;background:#fff;color:#111;display:grid;place-items:center;font-size:16px}.tcard .mid{order:0!important;min-width:0}.tcard .mid h4{font-size:20px;line-height:1.15;margin:0 0 8px;color:#000;font-weight:800}.row-line,.ticket-count{font-size:16px;line-height:1.35;color:#000;font-weight:700}.ticket-count{font-weight:400}.view-line,.warn-line{font-size:16px;line-height:1.35;color:#526173}.tcard .badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.only{background:#ffe3ee;color:#e00067;border-radius:5px;padding:5px 7px;font-size:16px;font-weight:700}.sponsored{font-size:16px;color:#526173;margin-top:10px}.tcard .price-col{align-items:flex-end!important;text-align:right;gap:3px!important}.tcard .price{font-size:22px!important;color:#000!important;font-weight:900;line-height:1}.tcard .incl{background:transparent!important;color:#000!important;padding:0!important;border-radius:0!important;font-size:16px!important;font-weight:400}.rating-badge{display:inline-flex;align-items:center;gap:5px;background:#5b8f0f;color:#fff;border-radius:5px;padding:3px 5px;font-size:16px;font-weight:800;margin-top:10px}.rating-badge b{background:#fff;color:#5b8f0f;border-radius:3px;padding:1px 3px;font-size:14px}
@media(max-width:700px){.tcard{grid-template-columns:116px minmax(0,1fr)86px!important;gap:10px!important;padding:16px 4px!important}.tcard .seat-view{width:116px!important;height:86px!important}.tcard .mid h4{font-size:16px}.row-line,.ticket-count,.view-line,.warn-line,.only,.sponsored,.tcard .incl,.rating-badge{font-size:12px}.tcard .price{font-size:18px!important}.rating-badge{padding:3px 4px}.fav-star{width:24px;height:24px;top:6px;left:6px}.tickets-head h3{font-size:16px}.save-pill{font-size:11px;padding:7px 9px}}
@media(max-width:390px){.tcard{grid-template-columns:100px minmax(0,1fr)76px!important;gap:8px!important}.tcard .seat-view{width:100px!important;height:78px!important}.tcard .price{font-size:16px!important}.tcard .mid h4{font-size:15px}.only{padding:4px 5px}.rating-badge b{font-size:11px}.rating-badge{font-size:11px}}

/* === Final UI tweaks: compact match cards + WA button with number === */
.searchwrap{display:none !important;}
.mcard{padding:11px 12px !important;border-radius:14px !important;gap:11px !important;grid-template-columns:64px minmax(0,1fr) !important;}
.mcard .mc-date{width:64px;min-width:64px;padding:7px 4px;border-radius:10px}
.mcard .mc-date .mo{font-size:11px !important;letter-spacing:.4px;text-transform:uppercase;font-weight:700}
.mcard .mc-date .dy{font-size:19px !important;margin:1px 0}
.mcard .mc-date .wd{font-size:11px !important}
.mcard .mc-teams{font-size:14px !important;gap:5px !important;line-height:1.2}
.mcard .mc-teams .vs{font-size:12px !important;font-weight:600;color:#64748b}
.mcard .mc-teams b{font-weight:700}
.mcard .mc-meta{font-size:12px !important;line-height:1.35;color:#5b6573}
.mcard .mc-tags{gap:5px;margin-top:4px}
.mcard .mc-tags span{font-size:10.5px !important;padding:3px 7px !important;border-radius:999px;font-weight:700}
.flag-img{width:22px !important;height:15px !important;border-radius:2px}
.flag-emoji{font-size:16px !important}
.mcard.mcard-finished{order:2;opacity:.72}

@media(max-width:520px){
  .mcard{grid-template-columns:60px minmax(0,1fr) !important;padding:10px 11px !important;border-radius:14px !important;gap:10px !important}
  .mcard .mc-date{width:60px;min-width:60px}
  .mcard .mc-date .dy{font-size:18px !important}
  .mcard .mc-teams{font-size:13.5px !important}
  .mcard .mc-meta{font-size:11.5px !important}
  .mcard .mc-tags span{font-size:10px !important;padding:2.5px 6px !important}
  .flag-img{width:20px !important;height:14px !important}
}
@media(max-width:380px){
  .mcard{grid-template-columns:54px minmax(0,1fr) !important;padding:9px !important}
  .mcard .mc-date{width:54px;min-width:54px}
  .mcard .mc-teams{font-size:12.5px !important}
  .mcard .mc-meta{font-size:11px !important}
}

/* WhatsApp floating button with phone number */
.wa{display:inline-flex !important;align-items:center;gap:8px;padding:10px 14px !important;background:#25d366;color:#fff;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px rgba(37,211,102,.35);font-weight:700;line-height:1.1}
.wa svg{width:20px;height:20px;flex:0 0 auto}
.wa .wa-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.wa .wa-title{font-size:12px;opacity:.95}
.wa .wa-num{font-size:13px;font-weight:800;letter-spacing:.3px}
@media(max-width:520px){
  .wa{padding:9px 12px !important}
  .wa .wa-title{font-size:11px}
  .wa .wa-num{font-size:12px}
}

/* ============ Phase 1: Disclaimer + Legal pages ============ */
.disclaimer-top{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#78350f;font-size:12.5px;font-weight:600;border-bottom:1px solid #fbbf24}
.disclaimer-top .container{padding:8px 16px;line-height:1.45;text-align:center}
@media(max-width:520px){.disclaimer-top{font-size:11.5px} .disclaimer-top .container{padding:6px 12px}}

.legalpage{display:none;padding:24px 0 60px}
.legalpage.open{display:block}
.legal-article{max-width:780px;margin:0 auto;background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid #e5e7eb}
.legal-article h1{font-size:28px;font-weight:800;margin:0 0 12px;color:#0f172a}
.legal-article h3{font-size:18px;font-weight:700;margin:20px 0 8px;color:#0f172a}
.legal-article p,.legal-article li{font-size:14.5px;line-height:1.65;color:#334155;margin:8px 0}
.legal-article ol,.legal-article ul{padding-inline-start:22px;margin:8px 0}
.legal-article b{color:#0f172a}
.legal-disclaimer{background:#fef3c7;border:1px solid #fbbf24;color:#78350f;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;margin:8px 0 18px}
@media(max-width:520px){.legal-article{padding:20px 18px;border-radius:10px} .legal-article h1{font-size:22px}}

/* Currency selector bar */
/* Currency selector permanently hidden — currency is auto-detected from visitor IP */
.curr-bar{display:none !important}

/* Buyer Guarantee box on checkout */
.guarantee-box{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #bbf7d0;border-radius:14px;padding:16px;margin:14px 0 18px;box-shadow:0 4px 14px rgba(10,138,74,.08)}
.guarantee-box .gb-icon{font-size:30px;line-height:1}
.guarantee-box .gb-title{font-weight:800;font-size:16px;color:#065f46;margin-bottom:4px}
.guarantee-box .gb-text{font-size:13.5px;color:#0f172a;line-height:1.5;margin-bottom:8px}
.guarantee-box .gb-row{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;font-weight:700;color:#065f46}
.guarantee-box .gb-row span{background:#fff;border:1px solid #bbf7d0;border-radius:999px;padding:3px 10px}

/* Demand banner above matches */
.demand-banner{background:linear-gradient(90deg,#fff4e5,#ffe7d1);border:1px solid #ffd0a3;color:#8a4a00;font-weight:700;font-size:13.5px;padding:10px 14px;border-radius:12px;margin:10px 0 12px;text-align:center;box-shadow:0 1px 0 rgba(0,0,0,.02)}

/* Ensure seat-perspective photos fill the thumbnail naturally */
.seat-view img{width:100%;height:100%;object-fit:cover;display:block}

/* Wallet (Apple/Google Pay) unavailability notice */
.wallet-notice{background:linear-gradient(90deg,#fff7e6,#fff1d6);border:1px solid #f0c97a;color:#7a4a00;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.5}
.wallet-notice.small{font-size:12.5px;padding:10px 12px;margin:6px 0 12px}
.wallet-notice b{color:#5a3300}

/* ===== Payment Gateway styled OTP / 3-D Secure modal ===== */
.gw{position:relative;margin:-22px;border-radius:18px;overflow:hidden;background:#fff}
.gw-close{position:absolute;top:10px;right:12px;z-index:2;background:rgba(255,255,255,.15);color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:20px}
.gw-head{background:linear-gradient(135deg,#0f2e57 0%,#143b73 60%,#0a8a4a 100%);color:#fff;padding:22px 20px 18px;text-align:center;position:relative}
.gw-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:repeating-linear-gradient(90deg,#0a8a4a 0 12px,#fff 12px 16px,#e94560 16px 28px,#fff 28px 32px)}
.gw-lock{font-size:26px;line-height:1;margin-bottom:6px}
.gw-title{font-size:17px;font-weight:800;letter-spacing:.3px}
.gw-sub{font-size:11.5px;opacity:.85;margin-top:3px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.gw-amt{background:#f7faf8;border-bottom:1px solid var(--line);padding:12px 20px}
.gw-amt-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);padding:3px 0}
.gw-amt-row b{color:var(--ink);font-weight:700}
.gw-amt-total{border-top:1px dashed var(--line);margin-top:6px;padding-top:8px;font-size:14px}
.gw-amt-total b{font-size:18px;color:var(--green-dark)}
.gw-body{padding:18px 20px 20px}
.gw-step{font-size:11px;font-weight:800;color:var(--green-dark);background:var(--green-light);display:inline-block;padding:4px 10px;border-radius:999px;letter-spacing:.5px;text-transform:uppercase}
.gw-info{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:10px 0 6px}
.gw-info b{color:var(--ink)}
.gw-msg{font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;margin:8px 0 4px;background:rgba(233,69,96,.08);color:#c62b48;border:1px solid rgba(233,69,96,.3)}
.gw-timer{font-size:12.5px;color:var(--muted);text-align:center;margin:4px 0 10px}
.gw-timer b{color:var(--ink);font-variant-numeric:tabular-nums}
.gw-btn{width:100%;margin-top:4px;background:linear-gradient(135deg,#0a8a4a,#076636);font-size:15px;padding:14px}
.gw-cancel{width:100%;margin-top:6px;color:var(--muted);font-size:13px}
.gw-foot{text-align:center;font-size:11.5px;color:var(--muted);margin-top:12px;border-top:1px solid var(--line-2);padding-top:10px}

/* Confirmation screen */
.gw.conf{padding:24px 22px 22px;margin:-22px}
.conf-check{font-size:54px;text-align:center;line-height:1;margin:4px 0 10px;animation:pop .4s ease}
@keyframes pop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
.conf-ref{background:linear-gradient(135deg,#e8f6ee,#f7faf8);border:1px dashed var(--green);border-radius:12px;padding:14px;text-align:center;margin:12px 0 14px}
.conf-ref-label{font-size:11px;font-weight:700;color:var(--green-dark);letter-spacing:.5px;text-transform:uppercase}
.conf-ref-code{font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:1.5px;margin:6px 0 4px;user-select:all}
.conf-ref-hint{font-size:11.5px;color:var(--muted)}
.conf-list{background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.conf-list-title{font-weight:800;font-size:13px;color:var(--ink);margin-bottom:6px}
.conf-list ol{margin:0;padding-left:20px;font-size:13px;line-height:1.65;color:var(--ink-2)}
.conf-list ol li{margin-bottom:3px}
.conf-list ol b{color:var(--ink)}
.conf-check svg{color:var(--green,#0a8a4a);display:block;margin:0 auto;animation:pop .4s ease}

/* OTP enhancements */
.gw-att{font-size:11px;font-weight:600;color:var(--muted);margin-left:6px}
.gw-msg-err{background:rgba(233,69,96,.08);color:#c62b48;border:1px solid rgba(233,69,96,.3)}
.gw-msg-ok{background:rgba(10,138,74,.08);color:#0a6d3b;border:1px solid rgba(10,138,74,.3)}
.otp-row input.otp-err{border-color:#c62b48;animation:shake .35s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.gw-resend{text-align:center;margin:8px 0 12px;font-size:12.5px}
.gw-resend-link{color:var(--brand,#0a66c2);text-decoration:none;font-weight:600;cursor:pointer}
.gw-resend-link.disabled{color:var(--muted);pointer-events:none;cursor:default;font-weight:500}
.gw-resend-link:hover:not(.disabled){text-decoration:underline}
.gw-lock-ico{vertical-align:-2px;margin-right:6px}
.gw-badges{display:flex;justify-content:center;gap:8px;margin:14px 0 6px;flex-wrap:wrap}
.gw-badge{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#1a1f71;background:#fff;border:1px solid #d6dbe6;padding:6px 10px;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.gw-badge:last-child{color:#eb001b}

/* Payment method buttons on checkout */
.pay-method-btn{width:100%;margin-bottom:12px;border-radius:12px !important}
.pay-method-btn:last-child{margin-bottom:0}

/* Checkout info-card spacing */
.checkout .box{margin-bottom:18px}
.checkout .guarantee-box{margin-bottom:18px}

/* Checkout support link in place of floating WA */
.checkout-support{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}
.checkout-support a{color:var(--green);font-weight:700;text-decoration:underline}
.checkout-support a:hover{color:var(--green-dark)}
body.checkout-active .wa{display:none !important}

/* 3-D Secure header card logos */
.gw-card-logos{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:10px}
.gw-logo{height:18px;width:auto;display:block}
.gw-logo.visa text{font-family:Arial,Helvetica,sans-serif;font-style:italic;font-weight:800;letter-spacing:.5px}

/* ===== Auth modal (Lovable Cloud) ===== */
.auth-card{position:relative;background:#fff;border-radius:18px;padding:28px 26px 22px;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}
.auth-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;color:var(--muted);background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center}
.auth-close:hover{background:#e5e7eb;color:var(--ink)}
.auth-brand{text-align:center;font-weight:900;font-size:24px;letter-spacing:-.5px;color:var(--ink);margin-bottom:14px}
.auth-brand span{color:var(--green)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:18px}
.auth-tab{padding:9px 10px;font-weight:700;font-size:13.5px;color:var(--muted);border-radius:9px;background:transparent;transition:.18s}
.auth-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(15,23,42,.08)}
.auth-title{margin:2px 0 4px;font-size:21px;font-weight:800;letter-spacing:-.2px;color:var(--ink)}
.auth-sub{margin:0 0 16px;font-size:13.5px;color:var(--muted);line-height:1.5}
.auth-form{display:flex;flex-direction:column;gap:12px}
.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-field>span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.auth-field input{height:44px;border:1px solid var(--line);border-radius:11px;padding:0 14px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:.15s;outline:none}
.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,138,74,.12)}
.auth-row-end{display:flex;justify-content:flex-end;margin-top:-4px}
.auth-row-end a{font-size:12.5px;color:var(--green);font-weight:600}
.auth-row-end a:hover{text-decoration:underline}
.auth-submit{margin-top:6px;height:46px;background:var(--green);color:#fff;font-weight:700;font-size:15px;border-radius:11px;transition:.15s;box-shadow:0 4px 12px rgba(10,138,74,.22)}
.auth-submit:hover:not(:disabled){background:var(--green-dark)}
.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-msg{font-size:13px;padding:8px 12px;border-radius:9px;display:none}
.auth-msg.err{display:block;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.auth-msg.ok{display:block;background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}
.auth-foot{text-align:center;font-size:13px;color:var(--muted);margin-top:16px}
.auth-foot a{color:var(--green);font-weight:700}
.auth-foot a:hover{text-decoration:underline}
.auth-legal{text-align:center;font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.auth-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;font-weight:800;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.acct-initial{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center}

@media (max-width:480px){
  .auth-card{padding:22px 18px 18px;border-radius:16px}
  .auth-title{font-size:19px}
  .auth-field input{height:42px;font-size:14.5px}
}
