:root {
  --bg: #02070d;
  --bg-2: #06111d;
  --panel: #0a1828;
  --panel-2: #0d2034;
  --panel-soft: rgba(12, 29, 47, .76);
  --text: #f4f8fc;
  --text-2: #c6d4e0;
  --muted: #8fa5b7;
  --line: rgba(165, 200, 229, .16);
  --line-strong: rgba(135, 190, 235, .34);
  --blue: #248ed9;
  --blue-2: #5cb9f5;
  --blue-3: #0b5d9d;
  --silver: #dce6ed;
  --silver-2: #9eb2c2;
  --success: #44d39a;
  --warning: #f2bd59;
  --danger: #ff7381;
  --container: 1240px;
  --shadow: 0 26px 80px rgba(0, 0, 0, .34);
  --shadow-soft: 0 16px 48px rgba(0, 0, 0, .22);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; overflow-x: clip; color: var(--text); background: var(--bg); font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
html { overflow-x: clip; }
body::before { content: ""; position: fixed; inset: 0; z-index: -4; pointer-events: none; background: radial-gradient(circle at 8% 0%, rgba(43, 145, 222, .17), transparent 32%), radial-gradient(circle at 100% 24%, rgba(81, 160, 219, .11), transparent 28%), linear-gradient(180deg, #02070d, #04101b 52%, #02070d); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { color: #fff; background: rgba(36, 142, 217, .55); }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; left: 18px; top: -80px; padding: 10px 14px; border-radius: 10px; color: #05101b; background: #fff; transition: top .2s; }
.skip-link:focus { top: 18px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 90; border-bottom: 1px solid transparent; background: rgba(2, 7, 13, .64); backdrop-filter: blur(18px); transition: .25s ease; }
.site-header.scrolled { border-color: var(--line); background: rgba(2, 8, 14, .94); box-shadow: 0 12px 40px rgba(0,0,0,.24); }
.header-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { position: relative; display: grid; place-items: center; width: 116px; height: 92px; flex: 0 0 116px; }
.brand::after { content: ""; position: absolute; width: 82px; height: 20px; bottom: 1px; border-radius: 50%; background: rgba(53, 155, 228, .20); filter: blur(15px); }
.brand img { position: relative; z-index: 1; width: 108px; height: 108px; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0,0,0,.35)); }
.main-nav { display: flex; align-items: center; gap: 7px; }
.main-nav a { position: relative; padding: 11px 13px; border-radius: 11px; color: #aebfcd; font-size: 13px; font-weight: 700; transition: .2s ease; }
.main-nav a:hover, .main-nav a.active { color: #fff; background: rgba(89, 173, 235, .09); }
.main-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 2px; border-radius: 99px; background: linear-gradient(90deg, transparent, var(--blue-2), transparent); transform: scaleX(0); transition: .2s; }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav .nav-cta { margin-left: 5px; padding-inline: 19px; color: #fff; border: 1px solid rgba(122, 197, 250, .38); background: linear-gradient(135deg, #247fc3, #0d548f); box-shadow: 0 10px 26px rgba(15, 104, 175, .28); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.04); cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; border-radius: 8px; background: #dbe8f2; }

/* Shared typography */
.section { position: relative; padding: 94px 0; }
.section-soft { border-block: 1px solid var(--line); background: linear-gradient(180deg, rgba(9, 23, 38, .70), rgba(4, 13, 23, .84)); }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 36px; }
.section-head.center { display: block; max-width: 780px; margin-inline: auto; text-align: center; }
.compact-head { margin-bottom: 38px !important; }
.section-kicker, .mini-kicker { color: var(--blue-2); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.section-title { margin: 7px 0 10px; color: #fff; font-size: clamp(34px, 5vw, 58px); line-height: 1.05; font-weight: 900; letter-spacing: -.045em; }
.section-text { max-width: 720px; margin: 0; color: var(--muted); font-size: 16px; }
.section-head.center .section-text { margin-inline: auto; }

.btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 13px; font-size: 14px; font-weight: 900; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, #2b93dc, #0d5a98); box-shadow: 0 14px 34px rgba(19, 111, 181, .28); }
.btn-primary:hover { box-shadow: 0 18px 42px rgba(19, 111, 181, .36); }
.btn-secondary { color: #d9e7f1; border-color: var(--line-strong); background: rgba(255,255,255,.035); }
.btn-secondary:hover { border-color: rgba(113, 194, 251, .62); background: rgba(58, 145, 211, .10); }
.btn-small { min-height: 42px; padding-inline: 15px; font-size: 12px; }
.btn-large { min-height: 58px; font-size: 15px; border-radius: 15px; }

/* Hero */
.hero { position: relative; min-height: calc(100vh - 96px); display: grid; align-items: center; overflow: hidden; padding: 42px 0 72px; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .18; background-image: linear-gradient(rgba(138, 188, 226, .10) 1px, transparent 1px), linear-gradient(90deg, rgba(138, 188, 226, .10) 1px, transparent 1px); background-size: 58px 58px; mask-image: radial-gradient(circle at 50% 45%, black, transparent 75%); }
.hero-glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.hero-glow-one { width: 620px; height: 620px; right: -180px; top: -160px; background: radial-gradient(circle, rgba(29, 133, 210, .25), transparent 65%); }
.hero-glow-two { width: 460px; height: 460px; left: -220px; bottom: -200px; background: radial-gradient(circle, rgba(129, 172, 204, .15), transparent 67%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(470px, .95fr); gap: 50px; align-items: center; }
.hero-content { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #b9cad7; background: rgba(255,255,255,.03); font-size: 12px; font-weight: 800; letter-spacing: .07em; }
.eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 18px var(--blue-2); }
.hero h1 { margin: 25px 0 20px; line-height: .93; }
.hero h1 span { display: block; color: transparent; background: linear-gradient(180deg, #fff 0%, #becdd9 55%, #6c8497 100%); -webkit-background-clip: text; background-clip: text; font-size: clamp(58px, 7.7vw, 108px); font-weight: 900; letter-spacing: -.075em; text-shadow: 0 18px 55px rgba(0,0,0,.28); }
.hero h1 em { display: block; margin-top: 17px; color: var(--blue-2); font-size: clamp(13px, 1.25vw, 18px); font-style: normal; font-weight: 900; letter-spacing: .22em; }
.hero-copy { max-width: 760px; margin: 0; color: #aebfcd; font-size: 17px; line-height: 1.8; }
.hero-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
.meta-pill { min-height: 94px; display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); }
.meta-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid rgba(95, 183, 247, .35); border-radius: 10px; color: var(--blue-2); background: rgba(47, 139, 207, .09); font-size: 11px; font-weight: 900; }
.meta-pill b { display: block; color: #f6f9fc; font-size: 12px; }
.meta-pill span:not(.meta-icon) { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rate-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; margin-top: 20px; color: #8ea6b9; font-size: 11px; }
.rate-strip strong { color: var(--silver); font-size: 12px; }
.hero-visual { position: relative; display: grid; place-items: center; min-width: 0; }
.hero-logo-orbit { position: relative; width: min(660px, 48vw); aspect-ratio: 1; display: grid; place-items: center; }
.hero-logo-orbit::before { content: ""; position: absolute; inset: 13%; border-radius: 50%; background: radial-gradient(circle, rgba(75, 163, 229, .20), rgba(5, 18, 31, .05) 60%, transparent 70%); filter: blur(8px); }
.orbit-ring { position: absolute; inset: 6%; border: 1px solid rgba(117, 183, 232, .20); border-radius: 50%; }
.ring-one { animation: spin 28s linear infinite; }
.ring-one::before, .ring-two::before { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 18px var(--blue-2); }
.ring-one::before { left: 11%; top: 19%; }
.ring-two { inset: 15%; border-style: dashed; animation: spinReverse 38s linear infinite; }
.ring-two::before { right: 9%; bottom: 22%; }
.hero-logo { position: relative; z-index: 2; width: 103%; height: 103%; object-fit: contain; filter: drop-shadow(0 34px 54px rgba(0,0,0,.48)); }
.countdown { position: relative; z-index: 4; width: min(500px, 90%); display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: -40px; padding: 8px; border: 1px solid var(--line-strong); border-radius: 18px; background: rgba(5, 16, 28, .88); box-shadow: var(--shadow-soft); backdrop-filter: blur(14px); }
.countdown > div { padding: 12px 6px; border-right: 1px solid var(--line); text-align: center; }
.countdown > div:last-child { border-right: 0; }
.countdown strong { display: block; color: #fff; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.countdown span { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spinReverse { to { transform: rotate(-360deg); } }

/* Home sections */
.country-section { padding-top: 78px; }
.country-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 11px; }
.country-card { min-height: 128px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 13px 8px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(150deg, rgba(255,255,255,.045), rgba(255,255,255,.014)); transition: .2s ease; }
.country-card:hover { transform: translateY(-3px); border-color: var(--line-strong); background: rgba(43, 130, 194, .08); }
.country-card img { width: 72px; height: 52px; object-fit: cover; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.country-card b { color: #dfe8ef; font-size: 11px; text-align: center; }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.price-card { position: relative; min-height: 220px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(13, 31, 50, .90), rgba(6, 17, 29, .94)); box-shadow: 0 16px 42px rgba(0,0,0,.13); transition: .22s ease; }
.price-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -70px; top: -80px; border-radius: 50%; background: radial-gradient(circle, rgba(55, 158, 233, .20), transparent 70%); }
.price-card:hover { transform: translateY(-5px); border-color: rgba(100, 184, 245, .42); box-shadow: 0 25px 58px rgba(0,0,0,.25); }
.price-card .number { position: relative; z-index: 1; color: var(--blue-2); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.price-card h3 { position: relative; z-index: 1; margin: 25px 0 auto; color: #fff; font-size: 19px; line-height: 1.35; }
.price-row { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); }
.price-row strong { color: var(--silver); font-size: 25px; letter-spacing: -.035em; }
.price-row span { color: var(--blue-2); font-size: 11px; font-weight: 800; text-align: right; }
.hotel-panel { overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; border: 1px solid var(--line-strong); border-radius: 26px; background: linear-gradient(135deg, #071828, #0b2945); box-shadow: var(--shadow); }
.hotel-intro { position: relative; overflow: hidden; padding: 52px; background: radial-gradient(circle at 0% 100%, rgba(59, 157, 230, .22), transparent 44%); }
.hotel-intro .location { color: var(--blue-2); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.hotel-intro h3 { margin: 12px 0 14px; color: #fff; font-size: clamp(32px, 4vw, 50px); line-height: 1.05; letter-spacing: -.04em; }
.hotel-intro p { max-width: 560px; margin: 0 0 26px; color: #a7bac9; }
.hotel-options { display: grid; align-content: center; gap: 9px; padding: 32px; background: rgba(255,255,255,.02); }
.hotel-option { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.hotel-option > span { color: #d7e1e9; font-size: 13px; }
.hotel-option div { text-align: right; }
.hotel-option strong { display: block; color: #fff; font-size: 18px; }
.hotel-option small { color: var(--blue-2); font-size: 10px; }
.steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.step { min-height: 210px; padding: 24px; border: 1px solid var(--line); border-radius: 19px; background: rgba(255,255,255,.025); }
.step-num { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(86, 177, 242, .32); border-radius: 11px; color: var(--blue-2); background: rgba(38, 123, 187, .08); font-size: 12px; font-weight: 900; }
.step h3 { margin: 25px 0 8px; color: #fff; font-size: 18px; }
.step p { margin: 0; color: var(--muted); font-size: 13px; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 42px 46px; border: 1px solid var(--line-strong); border-radius: 24px; background: radial-gradient(circle at 90% 0%, rgba(67, 166, 239, .25), transparent 32%), linear-gradient(135deg, #08192b, #0b3153); box-shadow: var(--shadow); }
.cta-panel h2 { margin: 5px 0 6px; color: #fff; font-size: clamp(28px, 4vw, 45px); letter-spacing: -.04em; }
.cta-panel p { margin: 0; color: #a9bdcc; }

/* Inner pages */
.page-hero { position: relative; overflow: hidden; padding: 70px 0 58px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 80% 0%, rgba(44, 151, 229, .19), transparent 38%), linear-gradient(180deg, #061522, #030a12); }
.page-hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, black, transparent); }
.page-hero .container { position: relative; z-index: 1; }
.form-shell { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 22px; align-items: start; }
.form-card, .summary-card, .status-card, .legal-content { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(13, 30, 48, .94), rgba(7, 18, 31, .96)); box-shadow: var(--shadow-soft); }
.form-card { padding: 30px; }
.summary-card { padding: 25px; }
.form-card h2, .summary-card h2, .status-card h2 { margin: 0; color: #fff; font-size: 24px; letter-spacing: -.03em; }
.form-note { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.form-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.secure-chip { padding: 7px 10px; border: 1px solid rgba(68,211,154,.30); border-radius: 999px; color: var(--success); background: rgba(68,211,154,.08); font-size: 10px; font-weight: 900; white-space: nowrap; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 24px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #d5e1ea; font-size: 12px; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; border: 1px solid var(--line); border-radius: 12px; color: #fff; background: rgba(255,255,255,.045); padding: 11px 13px; outline: none; transition: .18s ease; }
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(87, 180, 246, .65); box-shadow: 0 0 0 4px rgba(39, 139, 209, .11); }
.field option { color: #0b1b2b; }
.form-section { margin-top: 30px; }
.form-section-title { margin: 0 0 13px; color: #fff; font-size: 17px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.choice-card { position: relative; min-height: 104px; display: block; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-body { height: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 5px 14px; padding: 16px 17px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); transition: .2s ease; }
.choice-body strong { color: #dfe8ef; font-size: 13px; line-height: 1.4; }
.choice-body > span { color: #fff; font-size: 17px; font-weight: 900; text-align: right; }
.choice-body small { grid-column: 2; color: var(--blue-2); font-size: 10px; font-weight: 800; text-align: right; }
.choice-badge { position: absolute; right: 12px; top: 10px; opacity: 0; padding: 4px 7px; border-radius: 999px; color: #06271d; background: var(--success); font-size: 8px; font-weight: 900; letter-spacing: .07em; transform: translateY(-4px); transition: .2s ease; }
.choice-card:hover .choice-body { border-color: var(--line-strong); }
.choice-card.is-selected .choice-body { border-color: rgba(68,211,154,.58); background: linear-gradient(145deg, rgba(68,211,154,.10), rgba(44, 137, 207, .06)); box-shadow: inset 4px 0 0 var(--success); }
.choice-card.is-selected .choice-badge { opacity: 1; transform: translateY(0); }
.check-row { display: flex; align-items: flex-start; gap: 10px; color: #aebfcd; font-size: 12px; }
.check-row input { margin-top: 4px; accent-color: var(--blue); }
.check-row a { color: var(--blue-2); text-decoration: underline; }
.sticky-summary { position: sticky; top: 118px; }
.summary-total { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 19px; padding-top: 17px; border-top: 1px solid var(--line); }
.summary-total span { color: var(--muted); font-size: 12px; }
.summary-total strong { color: #fff; font-size: 25px; letter-spacing: -.04em; }
.rate-note { margin-top: 7px; color: var(--blue-2); font-size: 10px; font-weight: 700; }
.summary-list { display: grid; margin-top: 18px; }
.summary-row { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 17px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.summary-row span { color: var(--muted); font-size: 12px; }
.summary-row strong { max-width: 62%; color: #e8f0f6; font-size: 12px; text-align: right; }
.order-summary-list .summary-row strong b { display: block; color: #fff; font-size: 14px; }
.order-summary-list .summary-row strong small { display: block; color: var(--blue-2); font-size: 10px; }

/* Payment choice and bank */
.grand-total-card { margin: 22px 0; padding: 18px; border: 1px solid var(--line-strong); border-radius: 17px; background: radial-gradient(circle at 100% 0%, rgba(74, 170, 240, .16), transparent 42%), rgba(255,255,255,.035); }
.grand-total-card > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.money-pair { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.money-pair > div { min-width: 0; }
.money-pair small { display: block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.money-pair strong { display: block; margin-top: 3px; color: #fff; font-size: 22px; line-height: 1.2; letter-spacing: -.03em; }
.money-pair i { color: var(--blue-2); font-size: 17px; font-style: normal; font-weight: 900; }
.money-pair-compact { margin-top: 10px; }
.payment-choice { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.payment-option { position: relative; display: block; min-height: 196px; cursor: pointer; }
.payment-option input { position: absolute; opacity: 0; pointer-events: none; }
.payment-option-body { height: 100%; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.025); transition: .2s ease; }
.payment-option:hover .payment-option-body { border-color: var(--line-strong); transform: translateY(-2px); }
.payment-option-check { position: absolute; z-index: 2; right: 15px; top: 15px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: transparent; background: rgba(255,255,255,.03); font-size: 13px; }
.payment-option-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-right: 32px; }
.payment-option-top strong { color: #fff; font-size: 17px; }
.payment-option-top span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.option-money { display: flex; align-items: center; gap: 8px; margin-top: 18px; }
.option-money b { color: var(--silver); font-size: 18px; }
.option-money i { color: var(--blue-2); font-style: normal; }
.payment-option p { margin: 13px 0 0; color: var(--muted); font-size: 11px; }
.payment-option.is-selected .payment-option-body { border-color: rgba(68,211,154,.58); background: linear-gradient(145deg, rgba(68,211,154,.10), rgba(42, 137, 207, .07)); box-shadow: inset 4px 0 0 var(--success), 0 14px 32px rgba(0,0,0,.14); }
.payment-option.is-selected .payment-option-check { color: #052d20; border-color: var(--success); background: var(--success); }
.payment-option.is-selected .payment-option-top span { color: var(--success); }
.bank-box { margin-top: 24px; padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.025); }
.bank-box h3 { margin: 0; color: #fff; font-size: 18px; }
.bank-box-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.bank-badge { padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--silver); font-size: 10px; font-weight: 900; }
.bank-line { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.bank-line span { color: var(--muted); font-size: 11px; }
.bank-line strong { color: #ecf3f8; font-size: 12px; text-align: right; }
.bank-line-emphasis strong { color: var(--success); font-size: 14px; }
.iban-value { letter-spacing: .02em; }
.copy-btn { margin-left: 6px; padding: 5px 8px; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--blue-2); background: rgba(57, 151, 221, .08); font-size: 9px; font-weight: 900; cursor: pointer; }
.bank-payment-amount { margin-top: 17px; padding: 16px; border: 1px solid rgba(68,211,154,.24); border-radius: 14px; background: rgba(68,211,154,.055); }
.bank-payment-amount > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.payment-note { margin-top: 14px; }
.upload-drop { position: relative; min-height: 178px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px; border: 1px dashed var(--line-strong); border-radius: 18px; background: rgba(255,255,255,.022); text-align: center; cursor: pointer; transition: .2s ease; }
.upload-drop:hover, .upload-drop.dragging { border-color: rgba(95, 186, 249, .72); background: rgba(44, 135, 203, .08); }
.upload-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-symbol { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 4px; border: 1px solid var(--line-strong); border-radius: 13px; color: var(--blue-2); background: rgba(50, 146, 216, .08); font-size: 23px; }
.upload-drop strong { color: #eef4f8; font-size: 14px; }
.upload-drop small { color: var(--muted); font-size: 10px; }
.file-name { margin-top: 7px; padding: 6px 9px; border-radius: 999px; color: #a8bac8; background: rgba(255,255,255,.04); font-size: 9px; }
.upload-drop.has-file { border-style: solid; border-color: rgba(68,211,154,.56); background: rgba(68,211,154,.07); }
.upload-drop.has-file .upload-symbol { color: #052d20; border-color: var(--success); background: var(--success); }
.summary-eyebrow { margin-bottom: 5px; color: var(--blue-2); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.payment-summary-panel { border-color: rgba(80, 171, 239, .28); background: linear-gradient(180deg, rgba(12, 31, 50, .98), rgba(6, 17, 29, .98)); }
.summary-profile { display: flex; align-items: center; gap: 11px; margin-top: 17px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.summary-profile > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg, var(--blue), var(--blue-3)); font-weight: 900; }
.summary-profile strong, .summary-profile small { display: block; }
.summary-profile strong { color: #fff; font-size: 12px; }
.summary-profile small { color: var(--muted); font-size: 9px; }
.payment-breakdown { display: grid; gap: 8px; margin-top: 17px; }
.payment-breakdown-row { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.payment-breakdown-row span { color: var(--muted); font-size: 10px; }
.payment-breakdown-row strong { color: #eef5fa; font-size: 13px; text-align: right; }
.payment-breakdown-row.is-primary { border-color: rgba(68,211,154,.32); background: rgba(68,211,154,.065); }
.payment-breakdown-row.is-primary strong { color: var(--success); font-size: 18px; }
.dual-inline { display: grid; text-align: right; }
.dual-inline small { color: var(--blue-2); font-size: 10px; font-weight: 800; }
.summary-security { display: flex; align-items: flex-start; gap: 9px; margin-top: 15px; padding: 11px; border-radius: 11px; color: #9fb2c1; background: rgba(255,255,255,.025); font-size: 9px; }
.summary-security span { color: var(--success); }
.summary-security p { margin: 0; }

/* Status page */
.payment-status-section { padding-top: 30px; }
.lookup-shell { display: grid; grid-template-columns: .9fr 1.1fr; max-width: 1050px; margin-inline: auto; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 25px; background: linear-gradient(135deg, #071727, #0a2947); box-shadow: var(--shadow); }
.lookup-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 36px; text-align: center; background: radial-gradient(circle at 50% 15%, rgba(70, 167, 237, .18), transparent 42%); }
.lookup-visual img { width: 230px; height: 230px; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,.38)); }
.lookup-visual h2 { margin: 12px 0 10px; color: #fff; font-size: 25px; line-height: 1.2; }
.lookup-visual p { margin: 0; color: var(--muted); font-size: 12px; }
.lookup-card { border: 0; border-left: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.status-card { padding: 30px; }
.premium-status-card { max-width: 1180px; margin-inline: auto; }
.status-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.status-header h2 { margin: 4px 0 2px; font-size: 27px; }
.status-code { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.status-person { color: #b9c9d5; font-size: 12px; }
.status-person span { color: var(--blue-2); }
.badge { display: inline-flex; align-items: center; justify-content: center; max-width: 340px; min-height: 31px; padding: 7px 11px; border-radius: 999px; font-size: 10px; font-weight: 900; line-height: 1.3; text-align: center; }
.badge-success { color: var(--success); background: rgba(68,211,154,.11); }
.badge-warning { color: var(--warning); background: rgba(242,189,89,.11); }
.badge-danger { color: var(--danger); background: rgba(255,115,129,.11); }
.badge-neutral { color: #a8bac8; background: rgba(255,255,255,.06); }
.finance-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 11px; margin-top: 21px; }
.finance-box { min-height: 124px; display: flex; flex-direction: column; justify-content: center; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.finance-box > span { color: var(--muted); font-size: 10px; font-weight: 800; }
.finance-money { display: grid; gap: 2px; margin-top: 8px; }
.finance-money strong { color: #fff; font-size: 19px; letter-spacing: -.025em; }
.finance-money strong:last-child { color: var(--blue-2); font-size: 13px; }
.finance-money i { display: none; }
.finance-box em { display: block; margin-top: 6px; color: var(--success); font-size: 9px; font-style: normal; font-weight: 800; }
.application-facts { display: grid; grid-template-columns: 1.5fr 1fr .7fr; gap: 10px; margin-top: 14px; }
.application-facts > div { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.02); }
.application-facts span, .application-facts strong { display: block; }
.application-facts span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.application-facts strong { margin-top: 4px; color: #dce6ed; font-size: 11px; }
.content-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: 30px; }
.content-heading h3 { margin: 4px 0 0; color: #fff; font-size: 20px; }
.content-heading small { color: var(--muted); font-size: 10px; }
.timeline { position: relative; display: grid; gap: 12px; margin-top: 15px; }
.timeline::before { content: ""; position: absolute; left: 17px; top: 16px; bottom: 16px; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 12px; }
.timeline-dot { position: relative; z-index: 1; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--blue-2); background: #071724; font-size: 10px; font-weight: 900; }
.timeline-content { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.timeline-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.timeline-top strong { color: #fff; font-size: 14px; }
.payment-tl-line { margin-top: 2px; color: var(--blue-2); font-size: 11px; font-weight: 800; }
.timeline-content p { margin: 10px 0 0; color: #b2c2ce; font-size: 11px; }
.receipt-link { display: inline-block; margin-top: 11px; color: var(--blue-2); font-size: 10px; font-weight: 900; }
.balance-payment-card { overflow: hidden; margin-top: 30px; border: 1px solid rgba(80, 177, 246, .34); border-radius: 20px; background: linear-gradient(145deg, rgba(12, 34, 56, .96), rgba(6, 19, 33, .98)); }
.balance-payment-head { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 100% 0%, rgba(56, 158, 232, .17), transparent 40%); }
.balance-payment-head h2 { margin: 4px 0 5px; font-size: 23px; }
.balance-payment-head p { max-width: 650px; margin: 0; color: var(--muted); font-size: 11px; }
.balance-money { flex: 0 0 auto; min-width: 220px; padding: 14px; border: 1px solid rgba(68,211,154,.24); border-radius: 13px; background: rgba(68,211,154,.06); text-align: right; }
.balance-money span { display: block; color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.balance-money strong { display: block; color: #fff; font-size: 21px; }
.balance-money strong:last-child { color: var(--success); font-size: 14px; }
.balance-money i { display: none; }
.payment-action-body { padding: 22px; }
.pending-lock-message { margin-top: 27px; }
.status-footer-action { margin-top: 22px; }

.alert { padding: 14px 16px; border: 1px solid; border-radius: 13px; margin-bottom: 16px; font-size: 12px; }
.alert-success { color: #9ce7ca; border-color: rgba(68,211,154,.28); background: rgba(68,211,154,.08); }
.alert-info { color: #a9d7f7; border-color: rgba(80, 171, 239, .28); background: rgba(55, 151, 222, .08); }
.alert-warning { color: #f1d293; border-color: rgba(242,189,89,.28); background: rgba(242,189,89,.08); }
.alert-danger { color: #ffabb4; border-color: rgba(255,115,129,.28); background: rgba(255,115,129,.08); }

/* Content pages */
.poster-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.poster-card { overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: rgba(255,255,255,.025); box-shadow: var(--shadow-soft); }
.poster-frame { aspect-ratio: 16 / 9; display: grid; place-items: center; overflow: hidden; background: #02070c; }
.poster-frame img { width: 100%; height: 100%; object-fit: contain; }
.poster-info { padding: 17px 19px; }
.poster-info h3 { margin: 0; color: #fff; font-size: 17px; }
.poster-info p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.sponsor-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.sponsor-card { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.025); transition: .2s ease; }
.sponsor-card:hover { transform: translateY(-3px); border-color: var(--line-strong); }
.sponsor-card img { width: 100%; height: 120px; object-fit: contain; }
.sponsor-card b { font-size: 13px; text-align: center; }
.empty-state { padding: 58px 25px; text-align: center; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); }
.empty-state h2 { color: #fff; }
.legal-content { max-width: 960px; margin: 0 auto; padding: 38px; }
.legal-content h2, .legal-content h3 { color: #fff; }
.legal-content p, .legal-content li { color: #afc0cd; }

/* Footer */
.site-footer { border-top: 1px solid var(--line); padding: 66px 0 20px; background: #010408; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .8fr .9fr 1fr; gap: 34px; }
.footer-brand { display: flex; gap: 18px; align-items: center; }
.footer-brand img { width: 120px; height: 120px; object-fit: contain; filter: drop-shadow(0 12px 20px rgba(0,0,0,.35)); }
.footer-brand strong { font-size: 18px; }
.footer-brand p, .footer-legal p { color: var(--muted); font-size: 12px; }
.footer-grid h3 { margin: 0 0 13px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .10em; }
.footer-grid > div:not(.footer-brand) a { display: block; margin: 8px 0; color: #91a4b4; font-size: 12px; }
.footer-grid a:hover { color: #fff !important; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 18px; border-top: 1px solid var(--line); color: #687d8e; font-size: 10px; }
.toast-stack { position: fixed; z-index: 3000; right: 18px; bottom: 18px; top: auto; display: grid; gap: 9px; pointer-events: none; }
.toast { max-width: 390px; padding: 14px 16px; border-radius: 13px; background: #0d1b2b; border: 1px solid var(--line); box-shadow: var(--shadow); font-size: 12px; transition: opacity .3s; pointer-events: auto; }
.toast-success { border-color: rgba(68,211,154,.3); }
.toast-danger { border-color: rgba(255,115,126,.3); }

.chf-toast-host {
  position: fixed;
  right: 18px;
  bottom: 18px;
  top: auto;
  z-index: 3000;
  width: min(390px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.chf-toast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 14px 14px 14px 16px;
  border: 1px solid;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: auto;
}

.chf-toast.show { opacity: 1; transform: translateY(0); }
.chf-toast.is-success { color: #8ef0c8; border-color: rgba(68, 211, 154, .34); background: linear-gradient(145deg, rgba(12, 38, 28, .96), rgba(8, 24, 18, .98)); }
.chf-toast.is-danger { color: #ffb8c2; border-color: rgba(255, 115, 129, .34); background: linear-gradient(145deg, rgba(42, 14, 20, .96), rgba(28, 10, 14, .98)); }
.chf-toast.is-warning { color: #f1d293; border-color: rgba(242, 189, 89, .34); background: linear-gradient(145deg, rgba(38, 28, 10, .96), rgba(24, 18, 8, .98)); }
.chf-toast.is-info { color: #a9d7f7; border-color: rgba(80, 171, 239, .34); background: linear-gradient(145deg, rgba(10, 28, 42, .96), rgba(8, 20, 32, .98)); }
.chf-toast-copy { display: grid; gap: 4px; min-width: 0; }
.chf-toast-copy strong { font-size: 13px; line-height: 1.35; }
.chf-toast-copy small { display: block; font-size: 12px; line-height: 1.45; opacity: .88; }
.chf-toast-close {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: inherit;
  background: rgba(255, 255, 255, .08);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: .78;
}
.chf-toast-close:hover { opacity: 1; background: rgba(255, 255, 255, .16); }

@media (max-width: 720px) {
  .chf-toast-host, .toast-stack { right: 12px; bottom: 12px; width: min(390px, calc(100vw - 24px)); }
}

@media (max-width: 1120px) {
  .hero-grid { grid-template-columns: 1fr 430px; gap: 30px; }
  .hero-meta { grid-template-columns: 1fr; }
  .meta-pill { min-height: auto; }
  .country-grid { grid-template-columns: repeat(5,1fr); }
  .category-grid { grid-template-columns: repeat(2,1fr); }
  .steps { grid-template-columns: repeat(2,1fr); }
  .form-shell { grid-template-columns: minmax(0,1fr) 320px; }
  .application-facts { grid-template-columns: 1fr 1fr; }
  .application-facts > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .header-inner { min-height: 82px; }
  .brand { width: 88px; height: 76px; flex-basis: 88px; }
  .brand img { width: 86px; height: 86px; }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; left: 20px; right: 20px; top: 78px; display: none; flex-direction: column; align-items: stretch; padding: 13px; border: 1px solid var(--line-strong); border-radius: 17px; background: rgba(4, 14, 24, .98); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { text-align: center; }
  .main-nav .nav-cta { margin: 5px 0 0; }
  .hero { min-height: auto; padding-top: 38px; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { margin-inline: auto; }
  .hero-actions, .rate-strip { justify-content: center; }
  .hero-meta { max-width: 650px; margin-inline: auto; margin-block: 28px; text-align: left; }
  .hero-visual { margin-top: -8px; }
  .hero-logo-orbit { width: min(620px, 94vw); }
  .country-grid { grid-template-columns: repeat(4,1fr); }
  .hotel-panel { grid-template-columns: 1fr; }
  .hotel-intro { padding: 40px; }
  .form-shell { grid-template-columns: 1fr; }
  .sticky-summary { position: static; order: -1; }
  .lookup-shell { grid-template-columns: 1fr; }
  .lookup-card { border-left: 0; border-top: 1px solid var(--line); }
  .balance-payment-head { align-items: flex-start; flex-direction: column; }
  .balance-money { width: 100%; text-align: left; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 680px) {
  .container { width: min(var(--container), calc(100% - 24px)); }
  .section { padding: 67px 0; }
  .section-head { display: block; }
  .section-head .btn { width: 100%; margin-top: 20px; }
  .hero { padding: 27px 0 56px; }
  .hero h1 span { font-size: clamp(49px, 15.5vw, 74px); letter-spacing: -.065em; }
  .hero h1 em { letter-spacing: .11em; font-size: 12px; }
  .hero-copy { font-size: 15px; }
  .hero-actions .btn { width: 100%; }
  .hero-logo { width: 106%; height: 106%; max-width: none; }
  .countdown { width: 100%; margin-top: -24px; }
  .countdown strong { font-size: 24px; }
  .country-grid { grid-template-columns: repeat(3,1fr); gap: 9px; }
  .country-card { min-height: 108px; padding: 10px 5px; }
  .country-card img { width: 60px; height: 44px; }
  .country-card b { font-size: 10px; }
  .category-grid, .steps, .poster-grid, .sponsor-grid { grid-template-columns: 1fr; }
  .price-card { min-height: 190px; }
  .hotel-intro { padding: 29px; }
  .hotel-options { padding: 17px; }
  .hotel-option { align-items: flex-start; }
  .cta-panel { display: block; padding: 32px 25px; }
  .cta-panel .btn { width: 100%; margin-top: 23px; }
  .field-grid, .choice-grid, .payment-choice { grid-template-columns: 1fr; }
  .form-card, .summary-card, .status-card, .legal-content { padding: 21px; border-radius: 18px; }
  .form-card-heading { display: block; }
  .secure-chip { display: inline-flex; margin-top: 10px; }
  .payment-option { min-height: auto; }
  .money-pair { gap: 8px; }
  .money-pair strong { font-size: 17px; }
  .finance-grid { grid-template-columns: repeat(2,1fr); }
  .application-facts { grid-template-columns: 1fr; }
  .application-facts > div:first-child { grid-column: auto; }
  .status-header, .timeline-top, .content-heading { display: block; }
  .status-header .badge, .timeline-top .badge { margin-top: 10px; }
  .bank-line { display: block; }
  .bank-line strong { display: block; margin-top: 5px; text-align: left; word-break: break-word; }
  .bank-box-title { align-items: flex-start; }
  .lookup-visual { padding: 27px 21px; }
  .lookup-visual img { width: 185px; height: 185px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 5px; }
}

@media (max-width: 430px) {
  .country-grid { grid-template-columns: repeat(2,1fr); }
  .countdown { gap: 3px; padding: 7px; }
  .countdown > div { padding: 8px 2px; }
  .finance-grid { grid-template-columns: 1fr; }
  .money-pair { grid-template-columns: 1fr; }
  .money-pair i { display: none; }
  .money-pair > div + div { padding-top: 8px; border-top: 1px solid var(--line); }
}

/* v10 premium refinements */
html, body { min-height: 100%; }
body { display: flex; flex-direction: column; font-weight: 400; letter-spacing: 0; }
main { flex: 1 0 auto; }
.site-footer { flex-shrink: 0; }
strong, b { font-weight: 500; }
.section-kicker, .mini-kicker, .eyebrow, .meta-icon { font-weight: 500; letter-spacing: .13em; }
.section-title, .hero h1 span, .hero h1 em, .form-card h2, .summary-card h2, .form-section-title, .price-card h3, .step h3, .cta-panel h2 { font-weight: 500 !important; }
.btn, .main-nav a, .choice-badge, .payment-option-top span, .bank-badge, .copy-btn { font-weight: 500; }

.header-inner { min-height: 82px; }
.brand { width: 92px; height: 76px; flex-basis: 92px; overflow: visible; }
.brand::after { width: 58px; height: 12px; bottom: 4px; }
.brand img { width: 78px; height: 78px; object-fit: contain; }
.main-nav a { font-weight: 400; }
.main-nav .nav-cta { font-weight: 500; }

.hero { min-height: calc(100vh - 82px); padding-top: 54px; }
.hero h1 { margin-top: 28px; }
.hero h1 span { font-size: clamp(52px, 7.2vw, 96px); letter-spacing: -.055em; }
.hero-logo-orbit { width: min(640px, 46vw); margin-bottom: 28px; }
.countdown { margin-top: 18px; }
.hero-content { padding-top: 18px; }

.country-grid { padding: 0; border: 0; background: transparent; }
.country-card { border-color: rgba(141, 190, 229, .13); background: rgba(255,255,255,.028); box-shadow: none; }
.country-card img { border: 0; border-radius: 7px; box-shadow: 0 8px 18px rgba(0,0,0,.18); }
.country-card b { font-weight: 400; }

.hotel-panel.hotel-panel-premium { grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); align-items: stretch; background: linear-gradient(145deg, rgba(7,24,40,.92), rgba(7,37,64,.78)); }
.hotel-media { position: relative; min-height: 520px; overflow: hidden; }
.hotel-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(1.08) contrast(1.03); }
.hotel-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 45%, rgba(4,12,21,.58)); pointer-events: none; }
.hotel-intro.hotel-intro-premium { padding: 46px; display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 80% 0%, rgba(62, 158, 230, .20), transparent 40%); }
.hotel-intro h3 { font-weight: 500; letter-spacing: -.025em; }
.hotel-options { background: rgba(255,255,255,.018); }
.hotel-option { background: rgba(255,255,255,.035); }
.hotel-option strong { font-weight: 500; }
.hotel-option small { font-weight: 400; }

.form-card-heading { align-items: flex-start; }
.secure-chip { display: none !important; }
.choice-body { border-radius: 17px; background: rgba(255,255,255,.032); }
.choice-body strong { font-weight: 400; font-size: 14px; }
.choice-body > span { font-weight: 500; }
.choice-body small { font-weight: 400; }
.choice-badge { opacity: 1; transform: none; color: #a7bac9; background: rgba(255,255,255,.08); }
.choice-card.is-selected .choice-badge { color: #061720; background: linear-gradient(135deg, #82d6ff, #ffffff); }
.choice-card.is-selected .choice-body { border-color: rgba(98, 183, 247, .70); background: linear-gradient(145deg, rgba(37, 134, 207, .18), rgba(255,255,255,.035)); box-shadow: inset 0 0 0 1px rgba(137,202,247,.18); }
.payment-option-body strong, .payment-option-top strong { font-weight: 500; }
.option-money b, .money-pair strong, .summary-total strong { font-weight: 500; }
.payment-reference-note { margin: 14px 0 0; padding: 14px 16px; border: 1px solid rgba(93, 184, 251, .28); border-radius: 14px; color: #c5d5e1; background: rgba(47, 139, 207, .08); font-size: 13px; line-height: 1.6; }

.upload-drop { min-height: 168px; border-radius: 20px; border-style: solid; background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.018)); }
.upload-drop strong { font-weight: 500; }
.upload-drop small, .file-name { font-size: 12px; }
.file-name { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; margin-top: 8px; padding: 6px 12px; border-radius: 999px; color: #c6d6e4; background: rgba(255,255,255,.06); }
.upload-drop.has-file .file-name { color: #06271d; background: #94e6c3; }

.poster-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.poster-card { border-radius: 24px; }
.poster-frame { aspect-ratio: 9 / 16; cursor: zoom-in; background: linear-gradient(145deg, #02070c, #061528); }
.poster-frame img { width: 100%; height: 100%; object-fit: contain; }
.poster-info h3 { font-weight: 500; }
.lightbox { position: fixed; inset: 0; z-index: 999; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(0, 0, 0, .82); backdrop-filter: blur(8px); }
.lightbox.open { display: flex; }
.lightbox img { max-width: min(96vw, 760px); max-height: 92vh; object-fit: contain; border-radius: 18px; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.lightbox button { position: fixed; top: 18px; right: 18px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; background: rgba(0,0,0,.45); cursor: pointer; font-size: 26px; line-height: 1; }

.music-toggle { position: fixed; right: 18px; bottom: 18px; z-index: 88; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(119, 190, 242, .42); border-radius: 999px; color: #eff7ff; background: linear-gradient(135deg, rgba(15, 66, 111, .90), rgba(4, 19, 33, .92)); box-shadow: 0 18px 42px rgba(0,0,0,.26); cursor: pointer; }
.music-toggle.is-playing { border-color: rgba(114, 215, 255, .80); box-shadow: 0 0 0 4px rgba(60, 172, 241, .12), 0 18px 42px rgba(0,0,0,.32); }
.music-toggle span { font-size: 20px; transform: translateY(-1px); }

.footer-grid h3 { font-weight: 500; }
.footer-brand strong { font-weight: 500; }

@media (max-width: 1180px) {
  .hotel-panel.hotel-panel-premium { grid-template-columns: 1fr; }
  .hotel-media { min-height: 420px; }
  .hotel-media::after { background: linear-gradient(180deg, transparent 50%, rgba(4,12,21,.50)); }
  .poster-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .hero-grid { gap: 30px; }
  .hero-logo-orbit { width: min(520px, 78vw); margin-top: 12px; }
  .countdown { margin-top: 26px; }
}
@media (max-width: 760px) {
  .header-inner { min-height: 72px; }
  .brand { width: 74px; height: 64px; flex-basis: 74px; }
  .brand img { width: 62px; height: 62px; }
  .hero { min-height: auto; padding: 42px 0 56px; }
  .hero-logo-orbit { margin-top: 28px; margin-bottom: 16px; }
  .countdown { margin-top: 24px; }
  .hotel-media { min-height: 310px; }
  .hotel-intro.hotel-intro-premium { padding: 28px; }
  .poster-grid { grid-template-columns: 1fr; }
  .music-toggle { width: 44px; height: 44px; right: 14px; bottom: 14px; }
}


/* v10.1 ui refinements */
.header-inner, .site-header { overflow: visible; }
.menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; }
.menu-toggle span:not(.sr-only) { width: 100%; margin: 0; }
.hero-logo-orbit { margin-bottom: 42px; }
.countdown { margin-top: 28px; }
.payment-reference-note-critical { border-color: rgba(248, 101, 101, .45); color: #ffd2d2; background: rgba(139, 26, 26, .22); }
.payment-reference-note-critical strong { color: #ff9898; }
.consent-stack { display: grid; gap: 12px; }
.consent-card { align-items: flex-start; gap: 14px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.03); cursor: pointer; }
.consent-card input { margin-top: 4px; accent-color: #3fd18a; }
.consent-card span { display: grid; gap: 4px; }
.consent-card strong { color: #eef6fb; font-weight: 500; }
.consent-card small, .consent-card a { color: #a7bac9; font-size: 13px; }
.choice-card.is-selected .choice-badge, .payment-option.is-selected [data-option-state] { color: #073c24; background: linear-gradient(135deg, #72e4ad, #d6ffe7); }
.money-pair { align-items: stretch; }
.money-pair > div { min-width: 132px; }
.site-footer .footer-legal h3 { margin-bottom: 10px; }
@media (max-width: 980px) {
  .footer-grid, .footer-bottom { text-align: center; }
  .footer-brand { justify-content: center; text-align: left; }
}
@media (max-width: 760px) {
  .footer-brand { flex-direction: column; text-align: center; }
  .footer-grid > div, .footer-grid > div:not(.footer-brand) a, .footer-legal p, .footer-grid h3 { text-align: center; }
  .hero-logo-orbit { margin-bottom: 30px; }
}


/* v11 typography, selection and responsive refinements */
body { font-size: 16px; }
.section-text, .hero-copy, .form-note, .legal-content p, .legal-content li { font-size: 16px; }
.main-nav a { font-size: 14px; }
.menu-toggle { display: none !important; }
@media (max-width: 980px) { .menu-toggle { display: inline-flex !important; } }
.choice-card { overflow: hidden; }
.choice-badge { left: 0; right: 0; top: 0; bottom: 0; z-index: 3; display: grid; place-items: center; border-radius: 15px; padding: 0; opacity: 0; pointer-events: none; color: #073c24; background: rgba(96, 219, 143, .86); font-size: 15px; letter-spacing: .12em; backdrop-filter: blur(2px); }
.choice-card.is-selected .choice-badge { opacity: 1; transform: none; color: #06361f; background: linear-gradient(135deg, rgba(105, 227, 148, .90), rgba(204, 255, 223, .92)); }
.choice-card.is-selected .choice-body { filter: saturate(1.05); }
.price-row { align-items: center; }
.price-row span { font-size: 14px; line-height: 1.25; }
.choice-body small, .order-summary-list .summary-row strong small, .hotel-option small, .payment-tl-line, .dual-inline small, .rate-note { font-size: 12px; }
.js-tl-price { font-size: inherit; }
.legal-section { min-height: calc(100vh - 360px); display: grid; align-items: center; padding-block: 46px; }
.legal-content { width: min(960px, 100%); }
.footer-bottom { justify-content: center; text-align: center; }
.footer-brand strong { text-transform: none; }
@media (max-width: 760px) {
  body { font-size: 15.5px; }
  .section-text, .hero-copy, .form-note, .legal-content p, .legal-content li { font-size: 15px; }
  .price-row { align-items:flex-start; }
  .price-row span { font-size: 13px; }
  .choice-badge { font-size: 14px; }
}

/* v12 focused refinements */
html { font-size: 17px; }
body { font-size: 16px; }
.main-nav { flex: 1; justify-content: flex-end; }
.menu-toggle { display: none !important; }
@media (max-width: 980px) { .menu-toggle { display: inline-flex !important; } }

.section-text, .hero-copy { font-size: 18px; }
.main-nav a { font-size: 14px; }
.form-note, .summary-row span, .field label, .check-row { font-size: 14px; }
.choice-body strong { font-size: 15px; padding-top: 12px; }
.choice-body > span { font-size: 20px; }
.choice-body small, .order-summary-list .summary-row strong small, .price-row span, .hotel-option small, .js-tl-price { font-size: 14px !important; }
.price-row { align-items: center; gap: 18px; }
.price-row span { line-height: 1.3; text-align: right; }
.rate-note { font-size: 12px; }

.choice-badge { left: 12px; right: 12px; top: 9px; height: 28px; display: grid; place-items: center; padding: 0 10px; border-radius: 12px; font-size: 11px; letter-spacing: .12em; transform: translateY(-9px) scale(.92); background: linear-gradient(135deg, #36d989, #caffdf); color: #042415; box-shadow: 0 10px 22px rgba(26, 209, 124, .18); }
.choice-card.is-selected .choice-badge { opacity: 1; transform: translateY(0) scale(1); animation: selectedBadgeSet .34s ease both; }
.choice-card.is-selected .choice-body { padding-top: 42px; }
@keyframes selectedBadgeSet { 0% { opacity: .4; transform: scale(1.15); top: 22px; } 60% { opacity: 1; transform: scale(1.02); top: 6px; } 100% { opacity: 1; transform: scale(1); top: 9px; } }

.legal-section { padding: 34px 0 58px; }
.legal-content { max-width: 920px; margin-inline: auto; padding: 34px 38px; }
.legal-content p, .legal-content li { font-size: 16px; line-height: 1.75; }
.legal-content h2 { margin-top: 20px; }

.about-section { padding-top: 32px; }
.about-panel { align-items: center; grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); }
.about-photo-wrap { display: grid; place-items: center; padding: 42px; }
.galip-frame { width: min(420px, 82vw); aspect-ratio: 1; padding: 12px; border-radius: 50%; border: 1px solid rgba(122, 197, 250, .36); background: radial-gradient(circle at 30% 20%, rgba(93, 184, 251, .20), rgba(255,255,255,.035)); box-shadow: 0 24px 70px rgba(0,0,0,.30); }
.galip-frame img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.about-copy { padding: 48px; }
.status-notice-card { max-width: 1180px; margin: 0 auto 22px; display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 16px; align-items: start; padding: 22px 24px; border: 1px solid rgba(68,211,154,.34); border-radius: 20px; background: linear-gradient(145deg, rgba(68,211,154,.10), rgba(37,134,207,.08)); box-shadow: var(--shadow-soft); }
.status-notice-card h3 { margin: 0 0 6px; color: #fff; font-size: 20px; }
.status-notice-card p { margin: 0; color: #bfd0dc; line-height: 1.65; }
.status-notice-card p + p { margin-top: 8px; }
.notice-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: #052819; background: #67e3a2; font-weight: 700; }
.notice-important { color: #ffd9d9 !important; }

@media (max-width: 980px) { .about-panel { grid-template-columns: 1fr; } .about-copy { padding: 34px; } }
@media (max-width: 760px) { html { font-size: 16px; } body { font-size: 15.5px; } .section-text, .hero-copy { font-size: 16px; } .legal-content { padding: 24px; } .status-notice-card { grid-template-columns: 1fr; text-align: left; } }

/* v14 payment/status polish */
.payment-option.is-selected [data-option-state] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #69e8a6 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 11px;
  letter-spacing: .13em;
}
.payment-option [data-option-state] { background: transparent !important; }
.summary-security { display: none !important; }
.status-header .badge { min-height: 40px; padding: 10px 16px; font-size: 13px; letter-spacing: .02em; }
.status-code { font-size: 12px; }
.status-person { font-size: 14px; }
.finance-box > span { font-size: 12px; }
.finance-money strong { font-size: 22px; }
.finance-money strong:last-child { font-size: 16px; }
.application-facts span { font-size: 11px; }
.application-facts strong { font-size: 13px; }
.content-heading small { font-size: 12px; }
.timeline-top strong { font-size: 16px; }
.payment-tl-line { font-size: 13px; }
.timeline-content p { font-size: 13px; }
.receipt-link { font-size: 12px; }
.summary-total strong[data-live-total] { font-size: clamp(32px, 4vw, 42px); line-height: 1; }
.sticky-summary .rate-note { font-size: 14px; }
.legal-hero { padding: 42px 0 30px; }
.legal-section { min-height: auto; align-items: start; padding: 26px 0 48px; }
.legal-content { margin-top: 0; }
.about-hero { padding-bottom: 42px; }
@media (max-width: 760px) {
  .status-header .badge { font-size: 12px; min-height: 38px; }
  .legal-hero { padding: 34px 0 22px; }
  .legal-section { padding: 18px 0 38px; }
  .summary-total strong[data-live-total] { font-size: 34px; }
}

/* v15 requested refinements */
@media (min-width: 981px) {
  .menu-toggle { display: none !important; }
}
.choice-card.is-selected .choice-badge {
  left: 14px;
  right: auto;
  top: 10px;
  bottom: auto;
  width: auto;
  min-width: 88px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .11em;
  transform: translateY(-6px) scale(.92);
  animation: selectedBadgeCompact .32s ease forwards;
  background: linear-gradient(135deg, #45df91, #caffdf);
  color: #052816;
  box-shadow: 0 10px 22px rgba(42, 217, 126, .20);
}
.choice-card.is-selected .choice-body { padding-top: 36px; }
@keyframes selectedBadgeCompact {
  0% { opacity: 0; transform: translateY(6px) scale(1.18); }
  100% { opacity: 1; transform: translateY(0) scale(.92); }
}
.accommodation-card.is-vip .choice-body {
  border-color: rgba(75, 176, 246, .55);
  background: linear-gradient(145deg, rgba(34, 126, 195, .16), rgba(96, 219, 143, .05));
}
.accommodation-card.is-vip.is-selected .choice-body {
  border-color: rgba(92, 194, 255, .85);
  box-shadow: inset 0 0 0 1px rgba(105, 203, 255, .28), 0 16px 40px rgba(14, 104, 174, .16);
}
.vip-pill, .hotel-option em {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #e7f7ff;
  background: linear-gradient(135deg, rgba(39, 142, 219, .85), rgba(10, 82, 145, .85));
  border: 1px solid rgba(130, 209, 255, .45);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .06em;
  white-space: nowrap;
}
.hotel-option-vip {
  border-color: rgba(80, 176, 246, .35);
  background: linear-gradient(145deg, rgba(42, 136, 208, .12), rgba(255,255,255,.03));
}
.bank-box {
  border-color: rgba(107, 194, 255, .30);
  background: linear-gradient(145deg, rgba(8, 27, 45, .88), rgba(5, 17, 31, .92));
}
.bank-box h3 { font-size: 21px; }
.bank-badge { font-size: 12px; padding: 9px 12px; }
.bank-line { min-height: 58px; }
.bank-line span { color: #b8ccdc; font-size: 13px; }
.bank-line strong { color: #fff; font-size: 15px; line-height: 1.55; }
.iban-value { font-size: 16px !important; letter-spacing: .035em; }
.copy-btn { font-size: 11px; padding: 7px 10px; }
.bank-payment-amount { padding: 19px; }
.bank-payment-amount > span { font-size: 12px; }
.front-receipt-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(8px);
}
.front-receipt-modal.open { display: flex; }
.front-receipt-dialog {
  position: relative;
  width: min(980px, 96vw);
  height: min(86vh, 900px);
  border: 1px solid rgba(131, 202, 255, .32);
  border-radius: 22px;
  background: #071521;
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  overflow: hidden;
}
.front-receipt-dialog iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.front-receipt-dialog button {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  color: #fff;
  background: rgba(0,0,0,.58);
  font-size: 26px;
  cursor: pointer;
}
@media (max-width: 760px) {
  .front-receipt-dialog { width: 98vw; height: 84vh; border-radius: 16px; }
  .bank-line strong { text-align: left; }
}

/* v17 payment accounts, sold-out and responsive polish */
.transfer-method-section { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.transfer-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.transfer-heading h2, .transfer-heading h3 { margin: 4px 0 0; color: #fff; font-weight: 500; }
.fixed-method-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 14px; border: 1px solid rgba(89, 184, 248, .34); border-radius: 999px; color: #dff4ff; background: rgba(38, 132, 200, .14); font-size: 13px; white-space: nowrap; }
.transfer-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.transfer-method-card { position: relative; min-height: 92px; display: grid; grid-template-columns: 48px minmax(0,1fr) 28px; gap: 13px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); cursor: pointer; transition: .2s ease; }
.transfer-method-card input { position: absolute; opacity: 0; pointer-events: none; }
.transfer-method-card:hover { border-color: rgba(94, 184, 247, .54); transform: translateY(-1px); }
.transfer-method-card.is-selected { border-color: rgba(79, 211, 151, .68); background: linear-gradient(145deg, rgba(63, 206, 143, .11), rgba(43, 139, 207, .08)); box-shadow: inset 4px 0 0 #54d99a; }
.transfer-method-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: #ecf8ff; background: linear-gradient(145deg, #1978bc, #0c4d82); font-size: 22px; font-weight: 500; }
.transfer-method-card strong, .transfer-method-card small { display: block; }
.transfer-method-card strong { color: #fff; font-size: 16px; font-weight: 500; }
.transfer-method-card small { margin-top: 4px; color: #9eb2c2; font-size: 12px; }
.transfer-method-card > i { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: transparent; font-style: normal; }
.transfer-method-card.is-selected > i { color: #062719; border-color: #57d99a; background: #57d99a; }
.transfer-details { display: none; margin-top: 16px; }
.transfer-details.is-active { display: block; animation: accountPanelIn .22s ease both; }
@keyframes accountPanelIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.account-choice-grid { margin-top: 4px; }
.choice-card.is-sold-out { cursor: not-allowed; }
.choice-card.is-sold-out .choice-body { border-color: rgba(239, 82, 99, .48); background: linear-gradient(145deg, rgba(150, 28, 42, .20), rgba(75, 12, 22, .18)); opacity: .83; }
.choice-card.is-sold-out .choice-badge { opacity: 1 !important; left: 12px; right: 12px; top: 10px; width: auto; height: 30px; transform: none !important; color: #fff; background: linear-gradient(135deg, #db304a, #8e1529); box-shadow: 0 10px 24px rgba(182, 31, 56, .25); }
.price-card.is-sold-out { border-color: rgba(239, 82, 99, .44); background: linear-gradient(145deg, rgba(104, 17, 31, .24), rgba(255,255,255,.02)); }
.sold-out-label { display: inline-flex; margin-top: 12px; padding: 6px 10px; border-radius: 999px; color: #fff; background: #c92d45; font-size: 11px; letter-spacing: .08em; }
.status-code-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.code-copy-btn { min-height: 34px; padding: 7px 11px; }
.status-footer-action { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.status-notice-card { padding-block: 18px; }
.status-header > .badge { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.about-photo-wrap { min-width: 0; }
.galip-frame { margin-inline: auto; }
@media (max-width: 760px) {
  .transfer-method-grid { grid-template-columns: 1fr; }
  .transfer-heading { display: block; }
  .fixed-method-badge { margin-top: 10px; }
  .status-notice-card { margin-top: 0; padding: 17px; gap: 10px; }
  .status-notice-card .notice-icon { width: 42px; height: 42px; }
  .about-photo-wrap { padding: 24px 14px !important; }
  .galip-frame { width: min(320px, 78vw); padding: 8px; transform: none; }
  .status-code-row { align-items: flex-start; }
}
.sold-out-ribbon {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #dc3650, #8f162a);
  box-shadow: 0 10px 24px rgba(176, 28, 52, .26);
  font-size: 11px;
  letter-spacing: .08em;
}

/* v18 multilingual, VIP and responsive refinements */
.language-switcher { position: relative; margin-left: 6px; }
.language-current { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(119,190,242,.24); border-radius: 12px; color: #dbeaf5; background: rgba(255,255,255,.035); cursor: pointer; }
.language-current span { min-width: 29px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: #06192c; background: #8bcffc; font-size: 10px; font-weight: 700; }
.language-current b { font-size: 12px; font-weight: 400; white-space: nowrap; }
.language-current i { color: #7ea3bf; font-style: normal; transition: transform .2s ease; }
.language-switcher.open .language-current i { transform: rotate(180deg); }
.language-menu { position: absolute; z-index: 120; right: 0; top: calc(100% + 10px); width: 210px; display: none; padding: 8px; border: 1px solid rgba(128,194,240,.28); border-radius: 15px; background: rgba(4,15,26,.98); box-shadow: 0 22px 55px rgba(0,0,0,.42); }
.language-switcher.open .language-menu { display: grid; gap: 4px; animation: languageMenuIn .18s ease both; }
.language-menu a { min-height: 42px; display: flex !important; align-items: center; gap: 10px; padding: 8px 10px !important; border-radius: 10px; text-align: left !important; }
.language-menu a span { width: 32px; height: 26px; display: grid; place-items: center; border-radius: 7px; color: #9ec3dd; background: rgba(255,255,255,.06); font-size: 10px; }
.language-menu a b { font-size: 13px; font-weight: 400; }
.language-menu a.active { color: #fff; background: rgba(53,151,221,.16); }
@keyframes languageMenuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }

.accommodation-card.is-vip { overflow: hidden; }
.accommodation-card.is-vip .choice-body { min-height: 116px; padding-bottom: 42px; border-color: rgba(116,188,238,.52); background: linear-gradient(145deg, rgba(23,88,137,.34), rgba(5,26,44,.82)); }
.accommodation-card.is-vip .choice-body strong { color: #f4fbff; }
.accommodation-card.is-vip .choice-body > span { color: #aee0ff; }
.vip-corner { position: absolute; z-index: 4; left: 14px; bottom: 12px; min-width: 55px; height: 25px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid rgba(176,225,255,.48); border-radius: 999px; color: #06192c; background: linear-gradient(135deg, #8bd4ff, #effaff); box-shadow: 0 8px 20px rgba(52,158,223,.24); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .13em; }
.accommodation-card.is-vip.is-selected .choice-body { border-color: rgba(92,210,157,.8); background: linear-gradient(145deg, rgba(26,112,91,.30), rgba(5,31,47,.90)); }
.hotel-option-vip { position: relative; overflow: hidden; padding-bottom: 42px; border-color: rgba(89,182,244,.42); background: linear-gradient(145deg, rgba(25,100,157,.22), rgba(255,255,255,.025)); }
.hotel-vip-mark { position: absolute; left: 17px; bottom: 10px; min-width: 52px; display: inline-flex; justify-content: center; padding: 5px 11px; border-radius: 999px; color: #06192c; background: linear-gradient(135deg, #80ceff, #effaff); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .12em; }

html[dir="rtl"] body { direction: rtl; }
html[dir="rtl"] .main-nav, html[dir="rtl"] .hero-actions, html[dir="rtl"] .section-head, html[dir="rtl"] .footer-grid { direction: rtl; }
html[dir="rtl"] .language-menu { right: auto; left: 0; }
html[dir="rtl"] .choice-body > span, html[dir="rtl"] .choice-body small, html[dir="rtl"] .bank-line strong, html[dir="rtl"] .summary-row strong { text-align: left; }
html[dir="rtl"] .vip-corner, html[dir="rtl"] .hotel-vip-mark { left: auto; right: 14px; }
html[dir="rtl"] .choice-card.is-selected .choice-badge { left: auto; right: 14px; }

@media (max-width: 980px) {
  .language-switcher { width: 100%; margin: 5px 0 0; }
  .language-current { width: 100%; justify-content: center; }
  .language-menu { position: static; width: 100%; margin-top: 7px; box-shadow: none; }
  .language-menu a { justify-content: center; }
}
@media (max-width: 760px) {
  .accommodation-card.is-vip .choice-body { min-height: 112px; }
  .hotel-option-vip { padding-bottom: 40px; }
}

/* v19 accommodation cards and approved ticket */
.home-accommodation-card {
  position: relative;
  min-height: 92px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  overflow: hidden;
}
.home-accommodation-copy strong,
.home-accommodation-copy small,
.home-accommodation-price strong,
.home-accommodation-price small { display: block; }
.home-accommodation-copy strong { color: #eef6fb; font-size: 15px; font-weight: 500; }
.home-accommodation-copy small { margin-top: 5px; color: #8fa7b9; font-size: 12px; }
.home-accommodation-price { min-width: 140px; text-align: right; }
.home-accommodation-price strong { color: #fff; font-size: 19px; font-weight: 500; }
.home-accommodation-price small { margin-top: 5px; color: #78c9ff; font-size: 13px !important; }
.home-accommodation-card.is-vip {
  min-height: 112px;
  padding-bottom: 43px;
  border-color: rgba(92, 190, 250, .58);
  background: linear-gradient(145deg, rgba(24, 94, 147, .36), rgba(5, 27, 46, .9));
  box-shadow: inset 0 0 0 1px rgba(126, 204, 255, .08);
}
.home-vip-corner { bottom: 11px; left: 17px; }
.ticket-download-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  padding: 20px;
  border: 1px solid rgba(68, 211, 154, .36);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(68, 211, 154, .10), rgba(47, 139, 207, .08));
}
.ticket-download-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #052d20;
  background: linear-gradient(135deg, #72e4ad, #d6ffe7);
  font-size: 13px;
  font-weight: 700;
}
.ticket-download-card h3 { margin: 4px 0 5px; color: #fff; font-size: 20px; font-weight: 500; }
.ticket-download-card p { margin: 0; color: #afc3d2; font-size: 13px; }
@media (max-width: 760px) {
  .home-accommodation-card { grid-template-columns: 1fr; gap: 9px; align-items: start; }
  .home-accommodation-price { min-width: 0; text-align: left; }
  .ticket-download-card { grid-template-columns: auto 1fr; }
  .ticket-download-card .btn { grid-column: 1 / -1; width: 100%; }
}

/* v20 language menu, accommodation equality and payment notice alignment */
.language-current { position: relative; padding-right: 34px; }
.language-current i { position: absolute; right: 12px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid #8eb1ca; border-bottom: 2px solid #8eb1ca; transform: rotate(45deg); transform-origin: center; }
.language-switcher.open .language-current i { transform: rotate(225deg); margin-top: -1px; }
html[dir="rtl"] .language-current { padding-right: 11px; padding-left: 34px; }
html[dir="rtl"] .language-current i { right: auto; left: 12px; }

.hotel-options { grid-auto-rows: 1fr; }
.home-accommodation-card,
.home-accommodation-card.is-vip {
  min-height: 116px;
  height: 100%;
  padding: 17px 18px 44px;
  grid-template-columns: minmax(0,1fr) minmax(138px,auto);
  align-items: center;
}
.home-accommodation-card.is-standard { border-color: rgba(122,172,211,.24); background: rgba(255,255,255,.035); }
.home-room-tag { position: absolute; left: 17px; bottom: 11px; min-width: 68px; min-height: 25px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 12px; border: 1px solid rgba(173,199,219,.28); border-radius: 999px; color: #a9bdcc; background: rgba(255,255,255,.055); font-size: 10px; font-style: normal; font-weight: 600; letter-spacing: .08em; }
.home-room-tag.is-vip { color: #06192c; border-color: rgba(176,225,255,.48); background: linear-gradient(135deg,#8bd4ff,#effaff); }
html[dir="rtl"] .home-room-tag { left: auto; right: 17px; }
.status-notice-card { width: 100%; max-width: 1180px; box-sizing: border-box; }
.status-notice-info { border-color: rgba(83,178,239,.34); background: linear-gradient(145deg,rgba(52,143,207,.12),rgba(255,255,255,.025)); }
.status-notice-info .notice-icon { color: #06213a; background: linear-gradient(135deg,#73c9ff,#dff5ff); }
@media (max-width:760px) {
  .language-current { justify-content: flex-start; }
  .home-accommodation-card,
  .home-accommodation-card.is-vip { min-height: 132px; grid-template-columns: 1fr; padding-bottom: 42px; }
  .home-accommodation-price { text-align: left; }
  html[dir="rtl"] .home-accommodation-price { text-align: right; }
}


/* v20.1 language selector, equal accommodation cards and aligned status notices */
.language-current {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding-right: 13px;
}
.language-current i {
  position: static;
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin: -4px 1px 0 0;
  border-right: 2px solid #8eb1ca;
  border-bottom: 2px solid #8eb1ca;
  transform: rotate(45deg);
  transform-origin: center;
}
.language-switcher.open .language-current i { transform: rotate(225deg); margin-top: 4px; }
html[dir="rtl"] .language-current { padding-right: 13px; padding-left: 13px; }
html[dir="rtl"] .language-current i { margin-right: 0; margin-left: 1px; }

.hotel-options {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 122px;
  gap: 11px;
  align-content: center;
}
.home-accommodation-card,
.home-accommodation-card.is-vip,
.home-accommodation-card.is-standard {
  position: relative;
  min-height: 0;
  height: 122px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(145px, auto);
  align-items: center;
  gap: 18px;
  padding: 18px 18px 42px;
  overflow: hidden;
  border-radius: 16px;
}
.home-accommodation-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #3c91cf;
}
.home-accommodation-card.is-vip {
  border-color: rgba(102, 194, 255, .48);
  background: linear-gradient(145deg, rgba(30, 114, 176, .22), rgba(255,255,255,.034));
}
.home-accommodation-card.is-vip::before { background: linear-gradient(180deg, #bdeaff, #399ce3); }
.home-accommodation-copy,
.home-accommodation-price { min-width: 0; }
.home-accommodation-copy { text-align: left !important; }
.home-accommodation-copy strong {
  min-height: 42px;
  display: flex;
  align-items: center;
  color: #f6fbff;
  font-size: 15px;
  line-height: 1.35;
}
.home-accommodation-copy small {
  display: block;
  margin-top: 2px;
  color: #92aabd;
  font-size: 11px !important;
}
.home-accommodation-price { text-align: right !important; }
.home-accommodation-price strong { font-size: 20px; }
.home-accommodation-price small { display: block; margin-top: 3px; font-size: 12px !important; }
.home-room-tag {
  left: 18px;
  bottom: 10px;
  min-width: 74px;
  height: 24px;
  padding: 3px 12px;
  font-size: 10px;
}
html[dir="rtl"] .home-accommodation-card::before { left: auto; right: 0; }
html[dir="rtl"] .home-accommodation-copy { text-align: right !important; }
html[dir="rtl"] .home-accommodation-price { text-align: left !important; }

.status-notice-card {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 22px;
  box-sizing: border-box;
  border-radius: 22px;
}

@media (max-width: 760px) {
  .language-current { width: 100%; justify-content: center; }
  .hotel-options { grid-auto-rows: auto; }
  .home-accommodation-card,
  .home-accommodation-card.is-vip,
  .home-accommodation-card.is-standard {
    height: auto;
    min-height: 134px;
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 18px 18px 42px;
  }
  .home-accommodation-copy strong { min-height: 0; }
  .home-accommodation-price,
  html[dir="rtl"] .home-accommodation-price { text-align: left !important; }
  html[dir="rtl"] .home-accommodation-price { text-align: right !important; }
  .status-notice-card { margin-bottom: 16px; border-radius: 18px; }
}

/* v22 persistent music control */
.music-toggle {
  position: fixed;
  overflow: visible;
  isolation: isolate;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.music-toggle::before {
  content: '';
  position: absolute;
  inset: 5px;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(circle at 32% 28%, rgba(111,211,255,.38), transparent 52%), linear-gradient(145deg, rgba(21,102,166,.98), rgba(5,26,47,.98));
}
.music-toggle:hover { transform: translateY(-2px) scale(1.02); }
.music-toggle:active { transform: translateY(0) scale(.97); }
.music-icon { width: 23px; height: 23px; fill: currentColor; filter: drop-shadow(0 2px 5px rgba(0,0,0,.24)); }
.music-icon-pause { display: none; }
.music-toggle.is-playing .music-icon-note { display: none; }
.music-toggle.is-playing .music-icon-pause { display: block; }
.music-equalizer {
  position: absolute;
  right: -4px;
  bottom: -3px;
  width: 21px;
  height: 21px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  padding: 4px;
  border: 2px solid #081c31;
  border-radius: 999px;
  background: #55c8ff;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .2s ease, transform .2s ease;
}
.music-toggle.is-playing .music-equalizer { opacity: 1; transform: scale(1); }
.music-equalizer i { width: 2px; height: 5px; border-radius: 3px; background: #06233c; animation: chfMusicBar .72s ease-in-out infinite alternate; }
.music-equalizer i:nth-child(2) { height: 9px; animation-delay: -.28s; }
.music-equalizer i:nth-child(3) { height: 7px; animation-delay: -.48s; }
@keyframes chfMusicBar { from { transform: scaleY(.45); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .music-equalizer i { animation: none; } }
.music-toggle .music-equalizer { font-size: 0; transform: scale(.7); }
.music-toggle.is-playing .music-equalizer { transform: scale(1); }

.ticket-customer-status{display:inline-flex;margin-top:12px}.badge-info{color:#0b659f;background:#e9f5ff;border-color:#bddff5}


/* v25 global Inter typography */
html, body, button, input, select, textarea { font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }

/* v26 accommodation inventory, translated controls and payment typography */
.accommodation-card { position: relative; overflow: hidden; }
.room-corner {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  min-width: 72px; min-height: 28px; display: inline-flex; align-items: center; justify-content: center;
  padding: 5px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px;
  color: #d8e9f5; background: rgba(255,255,255,.07); font-size: 10px; font-style: normal; font-weight: 500; letter-spacing: .06em;
}
.room-corner.is-vip { color: #14220d; border-color: #c8e490; background: linear-gradient(135deg,#d8f1a7,#f3ffd9); }
.room-corner.is-standard { color: #0b4166; border-color: #b7dcf4; background: linear-gradient(135deg,#d8efff,#f5fbff); }
.accommodation-card .choice-body { padding-right: 88px; }
.accommodation-card.is-sold-out { opacity: .72; }
.accommodation-card.is-sold-out .room-corner { opacity: .75; }
.home-accommodation-card { position: relative; }
.home-accommodation-card.is-sold-out { opacity: .72; filter: saturate(.72); }
.home-room-soldout {
  position: absolute; left: 14px; bottom: 12px; display: inline-flex; align-items: center; min-height: 25px;
  padding: 4px 9px; border: 1px solid rgba(255,126,142,.35); border-radius: 999px;
  color: #ffc0c8; background: rgba(142,31,48,.22); font-size: 9px; font-weight: 500; letter-spacing: .08em;
}
.notice-icon-balance svg { width: 25px; height: 25px; fill: currentColor; }
.status-notice-card h3,
.premium-status-card .badge,
.payment-history .badge,
.payment-history-title,
.payment-history-label,
.alert-title { font-weight: 500; }
.payment-history-title { display: block; color: #fff; font-size: 16px; line-height: 1.45; }
.payment-history-label { color: #d7e4ed; }
.timeline-top strong { font-weight: 500; }
.ticket-customer-status { display: none !important; }
@media (max-width: 620px) {
  .room-corner { top: 10px; right: 10px; min-width: 64px; font-size: 9px; }
  .accommodation-card .choice-body { padding-right: 72px; }
}

/* v27 — unified accommodation cards and centered application lookup */
.room-option-card { position: relative; }
.room-option-title { min-width: 0; display: flex; align-items: center; gap: 9px; }
.room-option-title > strong { min-width: 0; }
.room-tier-badge {
  min-width: 72px; min-height: 27px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  padding: 4px 10px; border: 1px solid rgba(165,201,228,.32); border-radius: 999px;
  color: #b8d4e7; background: rgba(90,157,207,.09); font-size: 9px; line-height: 1; font-style: normal; font-weight: 500; letter-spacing: .05em;
}
.room-tier-badge.is-vip { color: #eaf6c9; border-color: rgba(202,225,143,.38); background: rgba(137,161,68,.13); }
.room-tier-badge.is-standard { color: #c7e7fa; border-color: rgba(143,201,238,.34); background: rgba(72,145,198,.11); }
.room-availability-badge {
  position: absolute; right: 16px; bottom: 11px; min-width: 64px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center;
  padding: 3px 9px; border-radius: 999px; font-size: 8px; font-weight: 500; letter-spacing: .06em;
}
.room-availability-badge.is-available { color: #9eddbc; border: 1px solid rgba(91,198,143,.26); background: rgba(57,146,105,.10); }
.room-availability-badge.is-sold-out { color: #ffc2ca; border: 1px solid rgba(238,112,130,.30); background: rgba(143,34,51,.18); }

.hotel-options { grid-auto-rows: auto; gap: 11px; }
.home-accommodation-card,
.home-accommodation-card.is-standard,
.home-accommodation-card.is-vip {
  height: auto; min-height: 118px; display: grid; grid-template-columns: minmax(0,1fr) minmax(145px,auto);
  align-items: center; gap: 18px; padding: 17px 17px 42px 20px; border: 1px solid rgba(138,183,216,.24);
  border-radius: 16px; background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
}
.home-accommodation-card::before { width: 3px; background: #4c9bd2; }
.home-accommodation-card.is-vip { border-color: rgba(180,203,116,.26); background: linear-gradient(145deg,rgba(128,153,62,.09),rgba(255,255,255,.022)); }
.home-accommodation-card.is-vip::before { background: #a8bf64; }
.home-accommodation-copy { min-width: 0; text-align: left !important; }
.home-accommodation-copy .room-option-title strong { min-height: 0; color: #f1f7fb; font-size: 14px; line-height: 1.35; font-weight: 550; }
.home-accommodation-copy > small { margin: 7px 0 0 81px; color: #8fa7b8; font-size: 10px !important; }
.home-accommodation-price { min-width: 130px; padding-right: 2px; text-align: right !important; }
.home-accommodation-price strong { color: #fff; font-size: 20px; font-weight: 600; }
.home-accommodation-price small { margin-top: 4px; color: #79c8fb; font-size: 11px !important; }
.home-room-tag, .home-room-soldout { display: none !important; }

.accommodation-card .choice-body {
  min-height: 118px; grid-template-columns: minmax(0,1fr) auto; align-content: center;
  padding: 17px 17px 42px; border-color: rgba(138,183,216,.24); border-radius: 16px;
  background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
}
.accommodation-card.is-vip .choice-body { border-color: rgba(180,203,116,.26); background: linear-gradient(145deg,rgba(128,153,62,.09),rgba(255,255,255,.022)); }
.accommodation-card .room-option-title { grid-column: 1 / -1; padding-right: 66px; }
.accommodation-card .room-option-title strong { color: #eaf2f7; font-size: 13px; font-weight: 550; }
.accommodation-card .choice-body > span:not(.room-option-title) { align-self: end; color: #fff; font-size: 18px; font-weight: 600; text-align: left; }
.accommodation-card .choice-body > small { grid-column: 2; align-self: end; color: #78c9fb; font-size: 10px; font-weight: 500; text-align: right; }
.accommodation-card .choice-badge {
  top: auto; right: 13px; bottom: 11px; opacity: 1; min-width: 58px; min-height: 24px;
  display: inline-flex; align-items: center; justify-content: center; padding: 3px 9px; transform: none;
  color: #abd3ea; border: 1px solid rgba(138,194,230,.22); background: rgba(68,133,181,.10); font-size: 8px; font-weight: 500;
}
.accommodation-card.is-selected .choice-body { border-color: rgba(94,199,151,.52); background: linear-gradient(145deg,rgba(54,154,111,.12),rgba(255,255,255,.025)); box-shadow: inset 3px 0 0 #55c993; }
.accommodation-card.is-selected .choice-badge { color: #082d20; border-color: transparent; background: #8ee1b6; animation: none; }
.accommodation-card.is-sold-out .choice-badge { left: auto; right: 13px; top: auto; bottom: 11px; width: auto; height: 24px; box-shadow: none; }
.room-corner { display: none !important; }

.payment-status-section { padding-top: 52px; }
.lookup-shell { max-width: 1060px; margin: 18px auto 0; align-items: stretch; }
.lookup-card { width: 100%; max-width: 540px; min-height: 100%; justify-self: center; display: flex; flex-direction: column; justify-content: center; padding: 42px; }
.lookup-card form { width: 100%; }

html[dir="rtl"] .home-accommodation-copy { text-align: right !important; }
html[dir="rtl"] .home-accommodation-copy > small { margin-right: 81px; margin-left: 0; }
html[dir="rtl"] .home-accommodation-price { text-align: left !important; }
html[dir="rtl"] .room-availability-badge { right: auto; left: 16px; }
html[dir="rtl"] .accommodation-card .room-option-title { padding-right: 0; padding-left: 66px; }
html[dir="rtl"] .accommodation-card .choice-badge { right: auto; left: 13px; }

@media (max-width: 760px) {
  .home-accommodation-card,
  .home-accommodation-card.is-standard,
  .home-accommodation-card.is-vip { grid-template-columns: 1fr; gap: 10px; min-height: 146px; padding: 17px 17px 42px; }
  .home-accommodation-copy > small { margin-left: 81px; }
  .home-accommodation-price, html[dir="rtl"] .home-accommodation-price { text-align: left !important; }
  html[dir="rtl"] .home-accommodation-price { text-align: right !important; }
  .room-availability-badge { right: 14px; bottom: 11px; }
  .accommodation-card .choice-body { min-height: 128px; }
  .accommodation-card .room-option-title { padding-right: 58px; }
  .lookup-shell { margin-top: 10px; border-radius: 20px; }
  .lookup-card { max-width: none; padding: 28px 20px 30px; }
  .payment-status-section { padding-top: 38px; }
}
@media (max-width: 430px) {
  .room-option-title { align-items: flex-start; flex-direction: column; gap: 7px; }
  .home-accommodation-copy > small, html[dir="rtl"] .home-accommodation-copy > small { margin: 6px 0 0; }
  .accommodation-card .room-option-title, html[dir="rtl"] .accommodation-card .room-option-title { padding: 0 54px 0 0; }
  html[dir="rtl"] .accommodation-card .room-option-title { padding: 0 0 0 54px; }
  .room-tier-badge { min-width: 66px; }
}

/* v28 configurable site branding */
.brand img, .footer-brand img, .lookup-visual img { object-fit: contain; }

/* v29 — GOLD accommodation system and restrained payment typography */
.room-tier-badge.is-vip {
  color: #3f2d05;
  border-color: #d7b85e;
  background: #f4d984;
}
.home-accommodation-card.is-vip,
.accommodation-card.is-vip .choice-body {
  border-color: rgba(202, 165, 64, .42);
  background: linear-gradient(145deg, rgba(139, 101, 19, .18), rgba(255,255,255,.025));
  box-shadow: none !important;
}
.home-accommodation-card.is-vip::before { background: #d3ad45; }
.home-accommodation-card.is-vip .home-accommodation-price small,
.accommodation-card.is-vip .choice-body > small { color: #e2c46e; }
.home-accommodation-card.is-vip .room-availability-badge.is-available {
  color: #ead89c;
  border-color: rgba(213, 181, 91, .34);
  background: rgba(139, 101, 19, .14);
}
.accommodation-card .choice-badge { display: none !important; }
.accommodation-card .choice-body { position: relative; padding-right: 54px; }
.accommodation-card .room-option-title { padding-right: 0; }
.room-selection-mark {
  position: absolute; top: 14px; right: 14px; width: 25px; height: 25px;
  display: grid; place-items: center; border: 1px solid rgba(146,190,221,.30); border-radius: 50%;
  color: transparent; background: rgba(255,255,255,.025); font-size: 13px; font-style: normal; font-weight: 600;
}
.accommodation-card.is-selected .choice-body {
  border-color: rgba(92, 183, 232, .62);
  background: linear-gradient(145deg, rgba(47, 127, 183, .14), rgba(255,255,255,.025));
  box-shadow: inset 3px 0 0 #58aee3 !important;
}
.accommodation-card.is-vip.is-selected .choice-body {
  border-color: rgba(214, 178, 77, .68);
  background: linear-gradient(145deg, rgba(139, 101, 19, .22), rgba(255,255,255,.025));
  box-shadow: inset 3px 0 0 #d3ad45 !important;
}
.accommodation-card.is-selected .room-selection-mark {
  color: #062b43; border-color: #9ed7f7; background: #9ed7f7;
}
.accommodation-card.is-vip.is-selected .room-selection-mark {
  color: #3a2903; border-color: #efd67d; background: #efd67d;
}
.room-soldout-label {
  position: absolute; right: 13px; bottom: 12px; min-height: 24px; display: inline-flex; align-items: center;
  padding: 3px 9px; border: 1px solid rgba(238,112,130,.30); border-radius: 999px;
  color: #ffc2ca; background: rgba(143,34,51,.18); font-size: 8px; font-weight: 500; letter-spacing: .06em;
}
.receipt-link-regular { font-weight: 400 !important; letter-spacing: 0 !important; }
@media (max-width: 430px) {
  .accommodation-card .room-option-title,
  html[dir="rtl"] .accommodation-card .room-option-title { padding: 0; }
}

/* v30 — refined category and accommodation selection system */
.home-category-card {
  border-color: rgba(87, 165, 220, .28);
  background: linear-gradient(145deg, rgba(12, 40, 65, .96), rgba(6, 22, 38, .96));
}
.home-category-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #4da7e4;
}
.home-category-card:hover { border-color: rgba(95, 186, 247, .58); }
.home-category-card.is-sold-out {
  border-color: rgba(232, 79, 99, .62) !important;
  background: linear-gradient(145deg, rgba(95, 17, 30, .84), rgba(48, 8, 18, .93)) !important;
  filter: none;
  opacity: 1;
}
.home-category-card.is-sold-out::before { background: #e04a60; }
.home-category-card .sold-out-ribbon {
  animation: publicSoldOutPulse 2.2s ease-in-out infinite;
}

.category-choice-card { min-height: 134px; }
.category-choice-card .choice-body {
  position: relative;
  height: 100%;
  min-height: 134px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  align-content: center;
  gap: 12px 18px;
  padding: 20px 58px 20px 20px !important;
  overflow: hidden;
  border-color: rgba(109, 174, 220, .28);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(16, 43, 66, .82), rgba(7, 25, 42, .90));
  box-shadow: inset 4px 0 0 #4da7e4;
}
.category-choice-card .category-choice-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
  text-align: left;
}
.category-choice-copy > small {
  grid-column: auto !important;
  color: #6fc1f1 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .13em;
  text-align: left !important;
}
.category-choice-copy > strong {
  padding: 0 !important;
  color: #f3f8fc !important;
  font-size: 15px !important;
  font-weight: 550 !important;
  line-height: 1.35;
}
.category-choice-price {
  display: grid;
  justify-items: end;
  gap: 5px;
  text-align: right;
}
.category-choice-price > b {
  color: #fff;
  font-size: 21px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.025em;
}
.category-choice-price > small {
  grid-column: auto !important;
  color: #74c5f3 !important;
  font-size: 11px !important;
  font-weight: 450 !important;
  text-align: right !important;
  white-space: nowrap;
}
.choice-checkmark {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(131, 194, 236, .35);
  border-radius: 50%;
  color: transparent;
  background: rgba(255,255,255,.035);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  transition: .2s ease;
}
.category-choice-card:hover .choice-body { border-color: rgba(100, 184, 241, .55); }
.category-choice-card.is-selected .choice-body {
  padding-top: 20px !important;
  border-color: rgba(94, 190, 241, .75);
  background: linear-gradient(145deg, rgba(33, 103, 150, .28), rgba(8, 29, 47, .94));
  box-shadow: inset 4px 0 0 #6cc4f6 !important;
  filter: none;
}
.category-choice-card.is-selected .choice-checkmark {
  color: #062b43;
  border-color: #a9defb;
  background: #a9defb;
  transform: scale(1.03);
}
.choice-soldout-state {
  position: absolute;
  right: 14px;
  bottom: 13px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border: 1px solid rgba(255, 150, 164, .34);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #d83c50, #9f1d33);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .08em;
  animation: publicSoldOutPulse 2.2s ease-in-out infinite;
}
.choice-soldout-state i { width: 7px; height: 7px; border-radius: 50%; background: #ffd5da; }
.category-choice-card.is-sold-out { opacity: 1; }
.category-choice-card.is-sold-out .choice-body {
  padding-top: 20px !important;
  border-color: rgba(235, 92, 111, .65) !important;
  background: linear-gradient(145deg, rgba(112, 21, 36, .58), rgba(51, 9, 19, .80)) !important;
  box-shadow: inset 4px 0 0 #df465b !important;
  opacity: 1;
}
.category-choice-card.is-sold-out .category-choice-copy > small,
.category-choice-card.is-sold-out .category-choice-price > small { color: #ffb2bc !important; }
.category-choice-card.is-sold-out .choice-checkmark { display: none; }

/* Application uses VIP wording with the same gold visual language as the home GOLD tier. */
.accommodation-card.is-vip .room-tier-badge.is-vip {
  color: #4b3605;
  border-color: #d8b84f;
  background: linear-gradient(135deg, #fae9a7, #edce67);
}
.accommodation-card.is-vip .choice-body {
  border-color: rgba(213, 178, 78, .52);
  background: linear-gradient(145deg, rgba(128, 90, 13, .24), rgba(11, 28, 42, .90));
}
.accommodation-card.is-sold-out { opacity: 1 !important; filter: none !important; }
.accommodation-card.is-sold-out .choice-body {
  border-color: rgba(235, 92, 111, .66) !important;
  background: linear-gradient(145deg, rgba(112, 21, 36, .58), rgba(51, 9, 19, .80)) !important;
  box-shadow: inset 4px 0 0 #df465b !important;
}
.accommodation-card.is-sold-out .room-soldout-label {
  color: #fff;
  border-color: rgba(255, 164, 176, .38);
  background: linear-gradient(135deg, #d83c50, #9f1d33);
  animation: publicSoldOutPulse 2.2s ease-in-out infinite;
}
.home-accommodation-card.is-sold-out {
  opacity: 1 !important;
  filter: none !important;
  border-color: rgba(235,92,111,.58) !important;
  background: linear-gradient(145deg, rgba(104,18,32,.62), rgba(38,8,15,.75)) !important;
}
.home-accommodation-card.is-sold-out::before { background: #df465b !important; }
.home-accommodation-card.is-sold-out .room-availability-badge {
  color: #fff;
  border-color: rgba(255,164,176,.38);
  background: linear-gradient(135deg, #d83c50, #9f1d33);
  animation: publicSoldOutPulse 2.2s ease-in-out infinite;
}
@keyframes publicSoldOutPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(224,74,96,0); }
  50% { box-shadow: 0 0 0 6px rgba(224,74,96,.10); }
}

html[dir="rtl"] .category-choice-card .choice-body { padding: 20px 20px 20px 58px !important; box-shadow: inset -4px 0 0 #4da7e4; }
html[dir="rtl"] .category-choice-copy { text-align: right; }
html[dir="rtl"] .category-choice-copy > small { text-align: right !important; }
html[dir="rtl"] .category-choice-price { justify-items: start; text-align: left; }
html[dir="rtl"] .category-choice-price > small { text-align: left !important; }
html[dir="rtl"] .choice-checkmark { right: auto; left: 15px; }
html[dir="rtl"] .choice-soldout-state { right: auto; left: 14px; }
html[dir="rtl"] .category-choice-card.is-selected .choice-body { box-shadow: inset -4px 0 0 #6cc4f6 !important; }
html[dir="rtl"] .category-choice-card.is-sold-out .choice-body { box-shadow: inset -4px 0 0 #df465b !important; }

@media (max-width: 620px) {
  .category-choice-card { min-height: 146px; }
  .category-choice-card .choice-body { min-height: 146px; grid-template-columns: 1fr; gap: 13px; padding: 18px 54px 18px 18px !important; }
  .category-choice-price { justify-items: start; text-align: left; }
  .category-choice-price > small { text-align: left !important; }
  html[dir="rtl"] .category-choice-card .choice-body { padding: 18px 18px 18px 54px !important; }
  html[dir="rtl"] .category-choice-price { justify-items: end; text-align: right; }
  html[dir="rtl"] .category-choice-price > small { text-align: right !important; }
}

/* v31 — accommodation alignment and receipt modal close control */
.home-accommodation-copy .room-option-title,
.accommodation-card .room-option-title {
  justify-content: flex-start;
  text-align: left;
}
.home-accommodation-copy .room-option-title strong,
.accommodation-card .room-option-title strong {
  text-align: left;
}
.front-receipt-dialog button[data-front-receipt-close] {
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
  font-family: Arial, sans-serif;
  font-weight: 400;
  text-align: center;
  appearance: none;
}
.front-receipt-dialog button[data-front-receipt-close]::first-line { line-height: 1; }
html[dir="rtl"] .home-accommodation-copy .room-option-title,
html[dir="rtl"] .accommodation-card .room-option-title,
html[dir="rtl"] .home-accommodation-copy .room-option-title strong,
html[dir="rtl"] .accommodation-card .room-option-title strong {
  text-align: right;
  justify-content: flex-start;
}

/* ========================================================================== 
   CREA HAIRFEST 7 · PREMIUM TICKETING EXPERIENCE · V40
   ========================================================================== */
:root {
  --bg: #03050a;
  --bg-2: #070b12;
  --panel: #0b1019;
  --panel-2: #111824;
  --panel-soft: rgba(15, 22, 34, .78);
  --text: #f8fafc;
  --text-2: #d4dbe4;
  --muted: #8995a5;
  --line: rgba(204, 218, 233, .13);
  --line-strong: rgba(208, 225, 241, .24);
  --blue: #1787d5;
  --blue-2: #55b9ff;
  --blue-3: #0c5d99;
  --red: #d51f32;
  --red-soft: rgba(213, 31, 50, .13);
  --silver: #e9eef4;
  --silver-2: #a9b5c2;
  --success: #37d695;
  --warning: #f2b84b;
  --danger: #ff6577;
  --container: 1320px;
  --shadow: 0 32px 100px rgba(0, 0, 0, .46);
  --shadow-soft: 0 18px 50px rgba(0, 0, 0, .28);
  --radius: 24px;
}
html { scroll-padding-top: 118px; }
body { font-family: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif; background: #03050a; }
body::before {
  background:
    radial-gradient(circle at 13% 0%, rgba(28, 131, 203, .14), transparent 30%),
    radial-gradient(circle at 94% 18%, rgba(201, 28, 50, .09), transparent 27%),
    linear-gradient(180deg, #03050a 0%, #070b12 48%, #03050a 100%);
}
.container { width: min(var(--container), calc(100% - 48px)); }
.section { padding: 112px 0; }
.section-kicker, .mini-kicker { color: #69c4ff; letter-spacing: .19em; }
.section-title { font-size: clamp(38px, 5vw, 68px); letter-spacing: -.055em; }
.section-text { color: #94a0af; font-size: 16px; line-height: 1.8; }

.event-ribbon { position: relative; z-index: 95; height: 36px; display: flex; align-items: center; color: #aeb9c6; border-bottom: 1px solid rgba(255,255,255,.08); background: #05070b; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.event-ribbon-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.event-ribbon span { display: inline-flex; align-items: center; gap: 8px; }
.event-ribbon span > i { display: block; flex: 0 0 6px; width: 6px; height: 6px; font-style: normal; line-height: 0; border-radius: 50%; background: #58c8ff; box-shadow: 0 0 14px rgba(88, 200, 255, .92); }
.event-ribbon b { color: #526070; }
.site-header { top: 0; height: 82px; border-bottom-color: rgba(255,255,255,.08); background: rgba(5, 7, 12, .76); backdrop-filter: blur(24px) saturate(150%); }
.site-header.scrolled { background: rgba(3, 5, 10, .94); }
.header-inner { min-height: 82px; }
.brand-lockup { width: auto; height: 70px; flex: 0 0 auto; display: flex; justify-content: flex-start; gap: 11px; }
.brand-lockup::after { display: none; }
.brand-emblem { width: 64px; height: 64px; display: grid; place-items: center; }
.brand-emblem img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 10px 16px rgba(0,0,0,.5)); }
.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { color: #f4f7fa; font-size: 12px; font-weight: 900; letter-spacing: .095em; }
.brand-copy small { color: #728090; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.main-nav { gap: 3px; }
.main-nav a { padding: 10px 11px; color: #9aa6b4; font-size: 11px; letter-spacing: .015em; }
.main-nav a:hover, .main-nav a.active { color: #fff; background: rgba(255,255,255,.045); }
.main-nav a:not(.nav-cta)::after { bottom: 3px; background: linear-gradient(90deg, transparent, #58baff, #e52b3e, transparent); }
.main-nav .track-link { color: #c7d2dd; }
.main-nav .nav-cta { min-height: 42px; gap: 12px; margin-left: 7px; padding-inline: 17px; color: #fff; border-color: rgba(104, 193, 255, .38); background: linear-gradient(135deg, #187fca, #0b4f84 72%); box-shadow: 0 12px 30px rgba(9, 94, 155, .3); }
.main-nav .nav-cta span { font-size: 17px; line-height: 1; }
.language-current { min-width: 42px; }
.language-current b { display: none; }

.hero-v40 { min-height: calc(100vh - 118px); padding: 80px 0 94px; isolation: isolate; }
.hero-v40::before { opacity: .24; background-size: 72px 72px; mask-image: radial-gradient(circle at 55% 42%, black 0%, transparent 70%); }
.hero-grid-lines { position: absolute; inset: 0; z-index: -3; opacity: .33; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px); background-size: 78px 78px; mask-image: linear-gradient(90deg, black, rgba(0,0,0,.35) 60%, transparent); }
.hero-grid-v40 { grid-template-columns: minmax(0, 1.03fr) minmax(460px, .97fr); gap: 62px; }
.hero-content-v40 { padding-top: 16px; }
.hero-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; }
.hero-edition { padding: 8px 12px; border: 1px solid rgba(231, 55, 72, .28); border-radius: 999px; color: #ff7784; background: rgba(205, 30, 48, .08); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.hero-v40 .eyebrow { padding: 8px 13px; color: #b5c0cd; border-color: rgba(255,255,255,.11); background: rgba(255,255,255,.025); font-size: 10px; letter-spacing: .09em; }
.hero-v40 .eyebrow i { background: #4bd9a3; box-shadow: 0 0 16px rgba(75,217,163,.7); }
.hero-v40 h1 { margin: 31px 0 24px; }
.hero-v40 h1 span { font-size: clamp(62px, 7.2vw, 108px); line-height: .85; background: linear-gradient(180deg, #fff 0%, #dce2e8 48%, #8995a3 100%); -webkit-background-clip: text; text-shadow: none; }
.hero-v40 h1 em { margin-top: 18px; color: #4eb4f5; font-size: clamp(18px, 2.1vw, 29px); letter-spacing: .16em; }
.hero-v40 .hero-copy { max-width: 790px; color: #a7b1bd; font-size: 16px; line-height: 1.86; }
.event-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 32px; }
.event-fact { min-height: 82px; display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid rgba(255,255,255,.105); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); }
.event-fact-icon { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border: 1px solid rgba(84, 183, 247, .31); border-radius: 11px; color: #64c2ff; background: rgba(27, 126, 193, .1); font-size: 13px; font-weight: 900; }
.event-fact .location-pin { font-size: 23px; }
.event-fact small { display: block; color: #718093; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.event-fact strong { display: block; margin-top: 4px; color: #e9edf2; font-size: 10px; line-height: 1.35; }
.btn { min-height: 54px; padding-inline: 21px; border-radius: 14px; font-size: 12px; letter-spacing: .01em; }
.btn-ticket { min-width: 260px; justify-content: space-between; }
.btn-primary { background: linear-gradient(135deg, #1f91de, #0c5b96 68%, #0a4779); box-shadow: 0 18px 42px rgba(15, 109, 176, .3); }
.btn-secondary { background: rgba(255,255,255,.025); }
.hero-trust-row { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 21px; color: #778697; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hero-trust-row span { display: inline-flex; align-items: center; gap: 6px; }
.hero-trust-row i { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: #4bd9a3; background: rgba(75,217,163,.08); font-style: normal; font-size: 9px; }
.hero-stage { position: relative; min-height: 620px; display: grid; place-items: center; }
.stage-halo { position: absolute; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(32, 134, 203, .2), rgba(6, 15, 25, .02) 56%, transparent 70%); filter: blur(3px); }
.stage-logo-wrap { position: absolute; top: -22px; width: min(520px, 42vw); aspect-ratio: 1; display: grid; place-items: center; opacity: .92; }
.stage-logo-wrap::before, .stage-logo-wrap::after { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(113, 190, 245, .14); border-radius: 50%; }
.stage-logo-wrap::after { inset: 18%; border-style: dashed; border-color: rgba(235, 63, 80, .15); animation: spin 36s linear infinite; }
.stage-logo-wrap .hero-logo { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 34px 50px rgba(0,0,0,.58)); }
.event-ticket-card { position: absolute; z-index: 4; right: 0; bottom: 102px; width: min(430px, 86%); overflow: hidden; border: 1px solid rgba(210, 225, 239, .2); border-radius: 22px; background: linear-gradient(145deg, rgba(19,27,40,.95), rgba(7,11,18,.96)); box-shadow: 0 36px 90px rgba(0,0,0,.53); transform: rotate(-2.3deg); backdrop-filter: blur(18px); }
.event-ticket-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 82% -10%, rgba(35,151,229,.25), transparent 38%), linear-gradient(90deg, transparent 74%, rgba(205,34,54,.07)); }
.ticket-card-top { position: relative; display: flex; justify-content: space-between; padding: 14px 18px; border-bottom: 1px dashed rgba(255,255,255,.15); color: #667589; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.ticket-card-top b { color: #68c2fa; }
.ticket-card-body { position: relative; display: flex; gap: 18px; padding: 25px 20px; }
.ticket-date-block { display: flex; align-items: center; gap: 8px; padding-right: 18px; border-right: 1px solid rgba(255,255,255,.11); }
.ticket-date-block strong { color: #fff; font-size: 58px; line-height: .85; letter-spacing: -.08em; }
.ticket-date-block span { color: #8d9aaa; font-size: 9px; font-weight: 800; line-height: 1.4; letter-spacing: .1em; }
.ticket-event-copy small { color: #e34252; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.ticket-event-copy h2 { margin: 7px 0 3px; font-size: 24px; letter-spacing: -.04em; }
.ticket-event-copy p { margin: 0; color: #8492a3; font-size: 10px; }
.ticket-card-meta { position: relative; display: grid; grid-template-columns: 1fr 1fr 62px; align-items: center; gap: 12px; padding: 14px 18px; border-top: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.018); }
.ticket-card-meta span { display: block; color: #637185; font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.ticket-card-meta strong { display: block; margin-top: 3px; font-size: 13px; }
.ticket-qr-mini { width: 42px; height: 42px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 5px; border-radius: 7px; background: #e8edf2; }
.ticket-qr-mini i { border: 3px solid #111820; }
.countdown-v40 { position: absolute; z-index: 5; left: 6px; bottom: 24px; display: flex; align-items: center; gap: 13px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(6,10,16,.77); box-shadow: 0 20px 50px rgba(0,0,0,.28); backdrop-filter: blur(20px); }
.countdown-v40 > i { width: 1px; height: 24px; background: rgba(255,255,255,.09); }
.countdown-v40 div { min-width: 46px; }
.countdown-v40 strong { font-size: 23px; }
.countdown-v40 span { font-size: 7px; letter-spacing: .12em; }

.confidence-strip { border-block: 1px solid rgba(255,255,255,.08); background: #070a10; }
.confidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.confidence-grid > div { min-height: 104px; display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-right: 1px solid rgba(255,255,255,.07); }
.confidence-grid > div:first-child { border-left: 1px solid rgba(255,255,255,.07); }
.confidence-icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid rgba(84,184,249,.22); border-radius: 10px; color: #58b8f4; background: rgba(31,128,192,.07); font-size: 9px; font-weight: 900; }
.confidence-grid p { margin: 0; }
.confidence-grid strong { display: block; color: #e6ebf0; font-size: 11px; }
.confidence-grid small { display: block; margin-top: 3px; color: #687689; font-size: 9px; }

.discovery-section { background: radial-gradient(circle at 100% 10%, rgba(26,112,175,.1), transparent 28%); }
.section-head-v40 { align-items: flex-end; margin-bottom: 46px; }
.section-head-v40 .section-title { margin-bottom: 12px; }
.text-link { display: inline-flex; align-items: center; gap: 11px; color: #b9c6d3; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.text-link span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; color: #60bdf8; transition: .2s ease; }
.text-link:hover span { transform: translateX(3px); border-color: rgba(89,186,249,.45); }
.ticket-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; }
.ticket-category-card { position: relative; min-height: 358px; overflow: hidden; border: 1px solid rgba(255,255,255,.105); border-radius: 22px; background: linear-gradient(155deg, #101722, #090d14 72%); box-shadow: 0 18px 50px rgba(0,0,0,.18); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ticket-category-card:hover { transform: translateY(-7px); border-color: rgba(84, 183, 247, .33); box-shadow: 0 28px 70px rgba(0,0,0,.34); }
.ticket-category-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(140deg, transparent 62%, rgba(34,130,194,.09)); }
.category-card-number { position: absolute; z-index: 2; left: 17px; top: 16px; color: #566476; font-size: 10px; font-weight: 900; }
.category-card-status { position: absolute; z-index: 2; right: 15px; top: 14px; padding: 6px 8px; border-radius: 999px; color: #49d6a0; background: rgba(48, 199, 144, .08); font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.ticket-category-card.is-sold-out .category-card-status { color: #ff6678; background: rgba(213,31,50,.09); }
.category-art { position: relative; height: 185px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.075); background: radial-gradient(circle at 62% 38%, rgba(45,151,219,.26), transparent 28%), linear-gradient(145deg, #0c121c, #080b11); }
.category-art::before { content: ""; position: absolute; width: 178px; height: 178px; right: -18px; top: 15px; border: 1px solid rgba(95,188,250,.2); border-radius: 50%; }
.category-art::after { content: "7"; position: absolute; right: 28px; bottom: -28px; color: rgba(228,237,246,.06); font-size: 174px; font-weight: 900; line-height: 1; letter-spacing: -.1em; }
.category-art span { position: absolute; width: 92px; height: 92px; left: 52%; top: 44%; border: 1px solid rgba(255,255,255,.12); border-radius: 50% 50% 45% 55%; transform: translate(-50%,-50%) rotate(-16deg); box-shadow: 22px 20px 0 rgba(211, 35, 53, .055), -17px -14px 0 rgba(42, 141, 205, .07); }
.category-art i { position: absolute; left: 17%; right: 17%; bottom: 22px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent); }
.category-card-body { position: relative; z-index: 2; padding: 22px 20px 20px; }
.category-card-body > small { color: #586679; font-size: 7px; font-weight: 900; letter-spacing: .15em; }
.category-card-body h3 { min-height: 46px; margin: 8px 0 20px; color: #eef2f6; font-size: 16px; line-height: 1.35; letter-spacing: -.025em; }
.category-price-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.075); }
.category-price-row strong { display: block; font-size: 20px; }
.category-price-row span { display: block; margin-top: 3px; color: #677587; font-size: 8px; }
.category-price-row > a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(88,184,246,.31); border-radius: 12px; color: #67c2fa; background: rgba(31,126,190,.08); font-size: 20px; transition: .2s; }
.category-price-row > a:hover { color: #fff; background: #167fc4; }
.rate-bar { display: flex; align-items: center; gap: 13px; margin-top: 20px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; color: #667487; background: rgba(255,255,255,.018); font-size: 9px; }
.rate-bar span { display: flex; align-items: center; gap: 7px; text-transform: uppercase; letter-spacing: .08em; }
.rate-bar i { width: 6px; height: 6px; border-radius: 50%; background: #45d29c; }
.rate-bar strong { color: #dce4eb; }
.rate-bar small { margin-left: auto; }

.program-section { border-block: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, #080c13, #05080d); }
.program-layout { display: grid; grid-template-columns: minmax(340px,.72fr) minmax(0,1.28fr); gap: 86px; align-items: start; }
.program-intro { position: sticky; top: 148px; }
.program-intro .btn { margin-top: 28px; }
.program-timeline { display: grid; }
.program-timeline article { position: relative; display: grid; grid-template-columns: 88px minmax(0,1fr) 40px; gap: 24px; min-height: 172px; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.program-timeline article:first-child { border-top: 1px solid rgba(255,255,255,.09); }
.program-timeline article::before { content: ""; position: absolute; left: 105px; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.06); }
.program-timeline time { color: #65bff9; font-size: 18px; font-weight: 900; letter-spacing: -.04em; }
.program-timeline span { color: #657487; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.program-timeline h3 { margin: 7px 0 6px; font-size: 19px; letter-spacing: -.03em; }
.program-timeline p { max-width: 590px; margin: 0; color: #778697; font-size: 12px; line-height: 1.7; }
.program-timeline b { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: #5f6c7d; font-size: 9px; }

.venue-section { background: radial-gradient(circle at 5% 60%, rgba(199, 31, 48, .07), transparent 26%); }
.venue-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(400px,.95fr); overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 28px; background: #0a0e15; box-shadow: 0 30px 90px rgba(0,0,0,.34); }
.venue-media { position: relative; min-height: 640px; overflow: hidden; }
.venue-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 66%, #0a0e15 100%), linear-gradient(0deg, rgba(3,5,9,.35), transparent 45%); }
.venue-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(1.03); }
.venue-label { position: absolute; z-index: 2; left: 22px; bottom: 22px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #edf2f6; background: rgba(4,7,12,.65); backdrop-filter: blur(14px); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.venue-content { display: flex; flex-direction: column; justify-content: center; padding: 55px 48px; }
.venue-content .section-title { font-size: clamp(40px,4vw,59px); }
.venue-options { display: grid; gap: 9px; margin: 28px 0 24px; }
.venue-option { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.018); }
.venue-option > div:first-child span { display: block; color: #5dbafa; font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.venue-option > div:first-child strong { display: block; margin-top: 4px; color: #dfe6ed; font-size: 11px; }
.venue-option > div:last-child { text-align: right; }
.venue-option > div:last-child strong { display: block; font-size: 15px; }
.venue-option > div:last-child small { display: block; color: #687789; font-size: 8px; }
.venue-option.is-sold-out { opacity: .46; }

.process-section { border-top: 1px solid rgba(255,255,255,.07); background: #05080d; }
.section-head-v40.center { max-width: 900px; margin-inline: auto; text-align: center; }
.section-head-v40.center .section-text { margin-inline: auto; }
.modern-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.modern-steps article { position: relative; min-height: 250px; padding: 26px 23px; border: 1px solid rgba(255,255,255,.09); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.026), rgba(255,255,255,.008)); }
.modern-steps article > span { color: #4f5d6d; font-size: 9px; font-weight: 900; }
.step-icon { width: 52px; height: 52px; display: grid; place-items: center; margin: 34px 0 25px; border: 1px solid rgba(85,184,247,.27); border-radius: 16px; color: #68c1f8; background: rgba(31,127,191,.07); font-size: 21px; }
.modern-steps h3 { margin: 0 0 8px; font-size: 16px; }
.modern-steps p { margin: 0; color: #728194; font-size: 11px; line-height: 1.7; }
.modern-steps article::after { content: "→"; position: absolute; right: -14px; top: 48%; z-index: 2; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; color: #566476; background: #06090e; font-size: 10px; }
.modern-steps article:last-child::after { display: none; }
.final-cta-section { padding-top: 24px; }
.final-cta { min-height: 220px; display: grid; grid-template-columns: 130px minmax(0,1fr) auto; align-items: center; gap: 34px; padding: 30px 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 26px; background: radial-gradient(circle at 11% 50%, rgba(38,139,204,.18), transparent 24%), radial-gradient(circle at 94% 0%, rgba(211,31,51,.11), transparent 28%), linear-gradient(135deg,#0c121c,#070b11); }
.final-cta-logo img { width: 120px; height: 120px; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.45)); }
.final-cta h2 { margin: 6px 0 6px; font-size: clamp(29px,3vw,45px); letter-spacing: -.045em; }
.final-cta p { margin: 0; color: #8391a2; font-size: 12px; }

/* Inner pages and purchase flow */
.page-hero { padding: 74px 0 44px; border-bottom: 1px solid rgba(255,255,255,.075); background: radial-gradient(circle at 78% -10%, rgba(28,132,201,.16), transparent 33%), linear-gradient(180deg,#070b12,#05080d); }
.page-hero .container { position: relative; }
.page-hero .section-title { max-width: 900px; font-size: clamp(42px,5.2vw,72px); }
.page-basvuru .page-hero .container::after { content: "01 — 02"; position: absolute; right: 0; bottom: 6px; color: #566577; font-size: 10px; font-weight: 900; letter-spacing: .17em; }
.form-shell { gap: 22px; }
.form-card, .summary-card, .status-card, .balance-payment-card, .ticket-download-card { border-color: rgba(255,255,255,.105); background: linear-gradient(145deg, rgba(16,23,34,.96), rgba(8,12,18,.97)); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.form-card { border-radius: 24px; }
.form-card > h2, .form-card-heading h2, .summary-card h2 { letter-spacing: -.035em; }
.field input, .field select, .field textarea { border-color: rgba(255,255,255,.12); background: #0a1018; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(80,181,247,.65); box-shadow: 0 0 0 4px rgba(31,126,195,.12); }
.choice-card .choice-body, .payment-option, .transfer-method-card, .upload-drop, .bank-box { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.018); }
.choice-card input:checked + .choice-body, .payment-option.is-selected, .transfer-method-card.is-selected { border-color: rgba(91,191,255,.46); background: rgba(34,126,190,.09); box-shadow: inset 3px 0 0 #56b9f8; }
.sticky-summary { top: 132px; }

/* Footer polish */
.site-footer { border-top: 1px solid rgba(255,255,255,.09); background: #04060a; }
.footer-grid { padding-top: 72px; }
.footer-bottom { border-top-color: rgba(255,255,255,.07); }
.music-toggle { border-color: rgba(255,255,255,.17); background: rgba(9,14,21,.88); }

@media (max-width: 1180px) {
  .main-nav a { padding-inline: 8px; font-size: 10px; }
  .brand-copy { display: none; }
  .hero-grid-v40 { grid-template-columns: minmax(0,1fr) 430px; gap: 30px; }
  .event-facts { grid-template-columns: 1fr; }
  .event-fact { min-height: 66px; }
  .ticket-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .venue-card { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 920px) {
  .event-ribbon-trust { display: none !important; }
  .site-header { height: 74px; }
  .header-inner { min-height: 74px; }
  .brand-emblem, .brand-emblem img { width: 58px; height: 58px; }
  .menu-toggle { display: block; }
  .main-nav { top: calc(100% + 1px); padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 0 0 18px 18px; background: rgba(5,8,13,.98); }
  .main-nav a { width: 100%; min-height: 44px; display: flex; align-items: center; font-size: 12px; }
  .main-nav .nav-cta { justify-content: space-between; margin: 6px 0 0; }
  .language-switcher { width: 100%; }
  .language-current { width: 100%; justify-content: flex-start; }
  .hero-v40 { min-height: auto; padding: 62px 0 76px; }
  .hero-grid-v40 { grid-template-columns: 1fr; }
  .hero-stage { min-height: 590px; }
  .stage-logo-wrap { width: min(520px,80vw); }
  .event-ticket-card { right: 5%; }
  .confidence-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .confidence-grid > div:nth-child(3) { border-left: 1px solid rgba(255,255,255,.07); }
  .program-layout { grid-template-columns: 1fr; gap: 48px; }
  .program-intro { position: static; }
  .venue-card { grid-template-columns: 1fr; }
  .venue-media { min-height: 460px; }
  .venue-media::after { background: linear-gradient(0deg,#0a0e15 0%, transparent 28%); }
  .modern-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .modern-steps article:nth-child(2)::after { display: none; }
  .final-cta { grid-template-columns: 100px minmax(0,1fr); }
  .final-cta .btn { grid-column: 1/-1; width: 100%; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, var(--container)); }
  .section { padding: 78px 0; }
  .event-ribbon { height: 32px; font-size: 8px; }
  .hero-v40 { padding-top: 46px; }
  .hero-v40 h1 span { font-size: clamp(50px,16vw,72px); }
  .hero-v40 h1 em { font-size: 15px; letter-spacing: .12em; }
  .hero-v40 .hero-copy { font-size: 14px; }
  .event-facts { gap: 8px; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .hero-stage { min-height: 480px; }
  .stage-logo-wrap { top: -18px; width: 92vw; }
  .event-ticket-card { right: 1%; bottom: 78px; width: 94%; transform: rotate(-1deg); }
  .ticket-card-body { gap: 12px; padding: 19px 15px; }
  .ticket-date-block strong { font-size: 46px; }
  .ticket-event-copy h2 { font-size: 19px; }
  .countdown-v40 { left: 0; right: 0; bottom: 4px; justify-content: center; gap: 8px; padding-inline: 10px; }
  .countdown-v40 div { min-width: 38px; }
  .countdown-v40 strong { font-size: 19px; }
  .confidence-grid { grid-template-columns: 1fr; }
  .confidence-grid > div { min-height: 82px; border-left: 1px solid rgba(255,255,255,.07); }
  .section-head-v40 { display: block; }
  .section-head-v40 .text-link { margin-top: 20px; }
  .ticket-category-grid { grid-template-columns: 1fr; }
  .ticket-category-card { min-height: 320px; }
  .category-art { height: 160px; }
  .rate-bar { align-items: flex-start; flex-direction: column; }
  .rate-bar small { margin-left: 0; }
  .program-timeline article { grid-template-columns: 68px minmax(0,1fr); gap: 18px; }
  .program-timeline article::before { left: 83px; }
  .program-timeline b { display: none; }
  .venue-media { min-height: 320px; }
  .venue-content { padding: 34px 22px; }
  .venue-option { align-items: flex-start; }
  .modern-steps { grid-template-columns: 1fr; }
  .modern-steps article::after { display: none; }
  .final-cta { grid-template-columns: 1fr; text-align: center; padding: 28px 20px; }
  .final-cta-logo { display: grid; place-items: center; }
  .final-cta-logo img { width: 105px; height: 105px; }
  .page-basvuru .page-hero .container::after { display: none; }
}
.purchase-steps { display: flex; align-items: center; gap: 12px; max-width: 660px; margin-top: 28px; }
.purchase-steps > div { display: flex; align-items: center; gap: 8px; color: #637184; font-size: 9px; font-weight: 800; }
.purchase-steps > div span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; color: #6c7a8d; background: rgba(255,255,255,.02); font-size: 8px; }
.purchase-steps > div.is-complete { color: #d8e1e9; }
.purchase-steps > div.is-complete span { color: #67c1f9; border-color: rgba(93,188,250,.3); background: rgba(33,128,191,.08); }
.purchase-steps > i { flex: 1; height: 1px; background: linear-gradient(90deg,rgba(83,183,247,.35),rgba(255,255,255,.08)); }
@media (max-width:640px) { .purchase-steps { align-items: flex-start; flex-direction: column; gap: 8px; } .purchase-steps > i { width: 1px; height: 10px; flex: 0 0 10px; margin-left: 13px; } }

/* ======================================================================
   V42 — Centered premium homepage, AI category visuals and payment UX
   ====================================================================== */
body { font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
h1, h2, h3, h4, .section-title, .hero h1, .btn { font-family: "Manrope", "Inter", sans-serif; }

.hero-v42 {
  min-height: 760px;
  padding: 64px 0 82px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 18%, rgba(33, 119, 190, .23), transparent 34%),
    radial-gradient(circle at 13% 62%, rgba(190, 24, 50, .10), transparent 29%),
    linear-gradient(180deg, rgba(1,5,10,.08), rgba(1,6,12,.72));
}
.hero-centered { max-width: 1050px; display: flex; flex-direction: column; align-items: center; }
.hero-brand-lockup { width: 132px; height: 132px; display: grid; place-items: center; margin-bottom: 10px; }
.hero-brand-lockup img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 34px rgba(0,0,0,.44)); }
.hero-v42 .eyebrow { justify-content: center; }
.hero-v42 h1 { margin: 24px 0 17px; }
.hero-v42 h1 span { font-size: clamp(54px, 8.3vw, 108px); }
.hero-v42 h1 em { margin-top: 15px; font-size: clamp(15px, 1.65vw, 21px); letter-spacing: .19em; }
.hero-v42 .hero-copy { max-width: 790px; margin-inline: auto; text-align: center; font-size: clamp(15px, 1.5vw, 18px); }
.event-facts-centered { width: min(900px,100%); grid-template-columns: repeat(3,minmax(0,1fr)); margin: 28px auto 0; text-align: left; }
.hero-actions-centered, .hero-trust-centered { justify-content: center; }
.countdown-shell { width: min(760px,100%); margin: 34px auto 0; padding: 18px 22px 20px; border: 1px solid rgba(128,183,227,.24); border-radius: 20px; background: linear-gradient(180deg,rgba(8,23,38,.76),rgba(4,13,22,.92)); box-shadow: 0 22px 58px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04); }
.countdown-label { display: block; margin-bottom: 13px; color: #e94b5f; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.countdown-v42 { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; justify-content: center; gap: 14px; }
.countdown-v42 > div { min-width: 112px; padding: 4px 10px; text-align: center; }
.countdown-v42 strong { display: block; color: #fff; font-family: "Manrope",sans-serif; font-size: clamp(34px,5vw,54px); line-height: 1; font-weight: 800; letter-spacing: -.06em; }
.countdown-v42 span { display: block; margin-top: 8px; color: #8da3b7; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.countdown-v42 > i { width: 1px; height: 44px; background: linear-gradient(transparent,rgba(152,194,226,.36),transparent); }

.section-head-v40 { align-items: center; text-align: center; }
.section-head-v40 > div { margin-inline: auto; }
.section-head-v40 .section-text { margin-inline: auto; }
.section-head-v40 .text-link { display: none; }
.ticket-category-grid { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); align-items: stretch; }
.ticket-category-card { overflow: hidden; text-align: center; border-color: rgba(126,178,220,.22); background: linear-gradient(180deg,#0b1724,#07111b); }
.category-art-photo { height: 205px; margin: 0; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); background: #07111b; }
.category-art-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .5s ease, filter .5s ease; }
.ticket-category-card:hover .category-art-photo img { transform: scale(1.045); filter: brightness(1.07); }
.ticket-category-card .category-card-body { display: flex; flex-direction: column; align-items: center; text-align: center; }
.ticket-category-card h3 { min-height: 54px; display: flex; align-items: center; justify-content: center; margin-inline: auto; line-height: 1.25; }
.category-price-row { width: 100%; justify-content: center; }
.category-price-row > div { text-align: center; }
.category-card-number, .category-card-status { z-index: 3; }

.payment-page-hero { padding: 66px 0 42px; text-align: center; background: radial-gradient(circle at 50% 0%,rgba(38,137,209,.18),transparent 40%); }
.payment-page-hero .section-text { margin-inline: auto; }
.payment-status-section { padding-top: 30px; }
.lookup-shell { gap: 22px; align-items: stretch; }
.lookup-visual, .lookup-card, .application-status-card, .balance-payment-card, .ticket-download-card { border: 1px solid rgba(130,183,225,.20); border-radius: 22px; box-shadow: 0 24px 66px rgba(0,0,0,.24); }
.lookup-visual { justify-content: center; text-align: center; background: radial-gradient(circle at 50% 12%,rgba(42,147,222,.18),transparent 35%),linear-gradient(150deg,#081827,#050d17); }
.lookup-visual img { margin-inline: auto; }
.lookup-visual p { margin-inline: auto; }
.lookup-card { align-self: center; }
.application-status-card { overflow: hidden; background: linear-gradient(180deg,rgba(10,25,41,.98),rgba(5,14,24,.99)); }
.application-status-head { align-items: center; }
.finance-grid { gap: 12px; }
.finance-box { min-height: 128px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.application-facts > div { text-align: center; }
.ticket-download-card { align-items: center; text-align: center; }
.ticket-download-card > div:nth-child(2) { flex: 1; }
.payment-history .timeline-content { border: 1px solid rgba(134,183,222,.16); border-radius: 17px; background: rgba(255,255,255,.025); }
.manual-record-label { display: inline-flex; margin-top: 10px; color: #9cb2c5; cursor: default; }

@media (max-width: 900px) {
  .hero-v42 { min-height: auto; padding-top: 42px; }
  .event-facts-centered { grid-template-columns: 1fr; text-align: center; }
  .event-facts-centered .event-fact { justify-content: center; }
  .countdown-v42 { gap: 7px; }
  .countdown-v42 > div { min-width: 0; padding-inline: 3px; }
  .countdown-v42 > i { height: 34px; }
  .ticket-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .hero-brand-lockup { width: 102px; height: 102px; }
  .hero-v42 h1 span { font-size: clamp(43px,15vw,68px); }
  .countdown-shell { padding-inline: 10px; }
  .countdown-v42 strong { font-size: clamp(28px,10vw,42px); }
  .countdown-v42 span { font-size: 8px; letter-spacing: .08em; }
  .ticket-category-grid { grid-template-columns: 1fr; }
  .category-art-photo { height: 235px; }
  .ticket-download-card { flex-direction: column; }
}

/* ========================================================================== 
   CREA HAIRFEST 7 · UNIFIED EXPERIENCE · V43
   ========================================================================== */
:root {
  --bg: #02050a;
  --bg-2: #07101a;
  --panel: #0a1420;
  --panel-2: #0e1c2b;
  --text: #f7fbff;
  --text-2: #d8e4ee;
  --muted: #8ea0b2;
  --line: rgba(177, 204, 226, .14);
  --line-strong: rgba(189, 219, 241, .25);
  --blue: #2c9fe9;
  --blue-2: #75d0ff;
  --red: #ea2d46;
  --success: #3bd69a;
  --radius: 22px;
  --shadow: 0 28px 80px rgba(0, 0, 0, .42);
}
html { scroll-behavior: smooth; }
body {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 10% -5%, rgba(38, 151, 224, .15), transparent 30rem),
    radial-gradient(circle at 94% 10%, rgba(234, 45, 70, .09), transparent 27rem),
    linear-gradient(180deg, #02050a 0%, #07101a 46%, #02050a 100%);
}
h1,h2,h3,h4,.brand-copy,.btn,.section-kicker,.eyebrow { font-family: "Sora", "Inter", sans-serif; }
.container { width: min(1280px, calc(100% - 48px)); }
.section { padding: 104px 0; }
.section-title { max-width: 900px; font-size: clamp(36px, 5vw, 64px); line-height: 1.03; }
.section-text { max-width: 720px; }

.event-ribbon { height: 34px; background: #02050a; border-bottom: 1px solid rgba(255,255,255,.07); }
.event-ribbon-inner { min-height: 34px; }
.site-header { height: 78px; background: rgba(2, 6, 12, .82); border-bottom: 1px solid rgba(255,255,255,.08); }
.header-inner { min-height: 78px; }
.brand-lockup { height: 68px; }
.brand-emblem, .brand-emblem img { width: 58px; height: 58px; }
.brand-copy strong { font-size: 11px; }
.brand-copy small { color: #74879a; }
.main-nav a { position: relative; border-radius: 10px; font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.main-nav a:hover { background: rgba(255,255,255,.055); }
.main-nav .nav-cta { overflow: hidden; border: 1px solid rgba(255,255,255,.13); background: linear-gradient(135deg, #ee314b, #b80f2c); box-shadow: 0 14px 34px rgba(220, 27, 58, .25); }
.main-nav .nav-cta::before,.btn-primary::before {
  content:""; position:absolute; inset:-80% auto -80% -40%; width:28%; transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); transition:transform .55s ease;
}
.main-nav .nav-cta:hover::before,.btn-primary:hover::before { transform:translateX(620%) rotate(18deg); }

.hero-v42 { min-height: calc(100vh - 112px); padding: 68px 0 84px; display: grid; align-items: center; overflow: hidden; }
.hero-v42::before { content:""; position:absolute; inset:0; z-index:-4; background:radial-gradient(circle at 50% 35%,rgba(29,132,205,.20),transparent 35%),linear-gradient(180deg,rgba(1,4,8,.15),rgba(1,4,8,.9)); }
.hero-centered { max-width: 1080px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.hero-brand-lockup { width: 114px; height: 114px; display:grid; place-items:center; margin-bottom: 16px; animation: heroFloat 5s ease-in-out infinite; }
.hero-brand-lockup img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 24px 34px rgba(0,0,0,.5)); }
.hero-v42 .eyebrow { justify-content:center; padding:9px 14px; border:1px solid rgba(113,199,255,.23); background:rgba(29,120,183,.08); color:#b9d6e9; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.hero-v42 h1 { margin:22px 0 18px; text-align:center; }
.hero-v42 h1 span { display:block; color:#fff; font-size:clamp(48px,8vw,96px); line-height:.92; letter-spacing:-.07em; }
.hero-v42 h1 em { display:block; margin-top:15px; color:transparent; background:linear-gradient(90deg,#75d0ff,#fff 48%,#ff6478); -webkit-background-clip:text; font-size:clamp(18px,2.5vw,32px); font-style:normal; letter-spacing:.20em; }
.hero-copy { max-width:780px; margin-inline:auto; color:#a9bac9; font-size:15px; line-height:1.8; }
.event-facts-centered { width:min(960px,100%); grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; }
.event-facts-centered .event-fact { justify-content:flex-start; text-align:left; border-color:rgba(167,205,233,.14); background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.countdown-shell { width:min(720px,100%); margin:32px auto 0; padding:20px 24px 18px; border:1px solid rgba(126,192,238,.20); border-radius:20px; background:rgba(5,15,25,.74); box-shadow:0 22px 70px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04); backdrop-filter:blur(16px); }
.countdown-label { display:block; margin-bottom:13px; color:#7fd2ff; font:800 9px/1 "Sora",sans-serif; letter-spacing:.18em; text-align:center; }
.countdown-v42 { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; justify-content:center; margin:0; }
.countdown-v42 > div { min-width:0; text-align:center; }
.countdown-v42 strong { display:block; color:#fff; font:700 clamp(30px,5vw,48px)/1 "Sora",sans-serif; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.countdown-v42 span { display:block; margin-top:7px; color:#7f91a3; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.countdown-v42 > i { width:1px; height:46px; background:linear-gradient(transparent,rgba(139,194,233,.28),transparent); }
.hero-actions-centered { justify-content:center; margin-top:24px; }
.btn { position:relative; overflow:hidden; min-height:54px; border-radius:14px; font-weight:800; transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.btn:hover { transform:translateY(-3px); }
.btn-primary { background:linear-gradient(135deg,#ee314b,#b5112c); box-shadow:0 18px 40px rgba(220,32,61,.26); }
.btn-secondary { border-color:rgba(160,201,231,.22); background:rgba(255,255,255,.035); }
.hero-trust-centered { justify-content:center; }

.confidence-strip { border-block:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.018); }
.confidence-grid > div { min-height:104px; }
.discovery-section { background:linear-gradient(180deg,rgba(5,13,22,.15),rgba(5,13,22,.8)); }
.ticket-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ticket-category-card { min-height:440px; overflow:hidden; border:1px solid rgba(165,201,228,.14); border-radius:20px; background:linear-gradient(180deg,#0b1724,#07101a); box-shadow:0 16px 46px rgba(0,0,0,.22); transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
.ticket-category-card:hover { transform:translateY(-8px); border-color:rgba(103,194,255,.38); box-shadow:0 28px 68px rgba(0,0,0,.36); }
.category-art-photo { height:230px; overflow:hidden; background:#07101a; }
.category-art-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(5,13,22,.95)); pointer-events:none; }
.category-art-photo img { width:100%; height:100%; object-fit:cover; object-position:center; filter:none; transform:scale(1.001); transition:transform .65s ease,filter .4s ease; }
.ticket-category-card:hover .category-art-photo img { transform:scale(1.065); filter:contrast(1.04) saturate(1.05); }
.category-card-body { min-height:205px; display:flex; flex-direction:column; padding:20px; }
.category-card-body small { color:#6fc9ff; }
.category-card-body h3 { min-height:46px; margin:8px 0 6px; font-size:18px; line-height:1.27; }
.category-card-body p { min-height:42px; margin:0 0 12px; color:#879bad; font-size:11px; line-height:1.55; }
.category-price-row { margin-top:auto; }
.category-price-row a { transition:transform .22s ease,background .22s ease; }
.category-price-row a:hover { transform:rotate(90deg) scale(1.08); background:#ea2d46; }
.rate-bar,.venue-card,.modern-steps article,.final-cta { border-color:rgba(170,207,234,.14); }
.venue-card { border-radius:24px; overflow:hidden; }
.venue-media img { filter:contrast(1.04) saturate(.96); }
.modern-steps article { transition:transform .28s ease,border-color .28s ease; }
.modern-steps article:hover { transform:translateY(-6px); border-color:rgba(99,193,255,.35); }
.final-cta { background:radial-gradient(circle at 10% 0%,rgba(45,156,229,.18),transparent 38%),linear-gradient(135deg,#07131f,#0c2236); }

/* Inner pages */
.page-hero { padding:64px 0 52px; }
.form-card,.summary-card,.status-card,.legal-content,.ticket-download-card { border-color:rgba(168,204,231,.15); background:linear-gradient(150deg,rgba(12,28,44,.96),rgba(6,16,27,.98)); }
.field input,.field select,.field textarea { border-color:rgba(166,205,234,.16); background:rgba(255,255,255,.045); }
.choice-body,.payment-option-body { border-color:rgba(164,203,232,.14); }
.choice-card:hover .choice-body,.payment-option:hover .payment-option-body { border-color:rgba(95,192,255,.4); }
.application-facts-dynamic { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }

@keyframes heroFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes softRise { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.hero-centered > *,.ticket-category-card,.modern-steps article { animation:softRise .7s both; }
.ticket-category-card:nth-child(2),.modern-steps article:nth-child(2){animation-delay:.06s}
.ticket-category-card:nth-child(3),.modern-steps article:nth-child(3){animation-delay:.12s}
.ticket-category-card:nth-child(4),.modern-steps article:nth-child(4){animation-delay:.18s}
.ticket-category-card:nth-child(5){animation-delay:.24s}
.ticket-category-card:nth-child(6){animation-delay:.30s}
.ticket-category-card:nth-child(7){animation-delay:.36s}
.ticket-category-card:nth-child(8){animation-delay:.42s}

@media (max-width: 1120px) {
  .ticket-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .main-nav a { padding-inline:8px; font-size:9px; }
}
@media (max-width: 860px) {
  .container { width:min(100% - 32px,1280px); }
  .event-ribbon-trust { display:none; }
  .site-header { height:72px; }
  .header-inner { min-height:72px; }
  .main-nav { top:72px; padding:15px; background:rgba(3,8,14,.98); }
  .main-nav a { min-height:46px; justify-content:center; }
  .hero-v42 { min-height:auto; padding:58px 0 70px; }
  .event-facts-centered { grid-template-columns:1fr; }
  .ticket-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .venue-card { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .container { width:min(100% - 24px,1280px); }
  .section { padding:72px 0; }
  .brand-copy { display:none; }
  .hero-brand-lockup { width:92px; height:92px; }
  .hero-v42 h1 span { font-size:clamp(42px,15vw,66px); }
  .hero-v42 h1 em { letter-spacing:.10em; }
  .countdown-shell { padding:18px 10px; border-radius:16px; }
  .countdown-v42 strong { font-size:30px; }
  .countdown-v42 > i { height:36px; }
  .event-fact { min-height:72px; }
  .hero-actions-centered { width:100%; flex-direction:column; }
  .hero-actions-centered .btn { width:100%; }
  .ticket-category-grid { grid-template-columns:1fr; }
  .ticket-category-card { min-height:0; }
  .category-art-photo { height:260px; }
  .category-card-body { min-height:190px; }
  .confidence-grid { grid-template-columns:1fr; }
  .confidence-grid > div { min-height:82px; }
  .section-head-v40 { align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}


/* V44 — aligned ticket UI, image-free category cards, social links and rebuilt payment portal */
:root {
  --v44-blue:#3da9f5;
  --v44-blue-deep:#0b5f9b;
  --v44-red:#ef3b54;
  --v44-navy:#06111d;
  --v44-panel:#091827;
  --v44-line:rgba(148,194,229,.18);
}
.event-fact-icon svg,.confidence-icon svg,.step-icon svg,.venue-ticket-mark svg,.payment-portal-icon svg,.payment-lookup-security svg,.payment-ticket-ready-icon svg,.footer-social svg {
  width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.countdown-shell {
  width:min(792px,100%) !important;
  box-sizing:border-box;
  padding:20px 26px 22px !important;
}
.countdown-label { display:block; width:100%; margin-bottom:14px; text-align:center; }
.countdown-v42 {
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  overflow:hidden;
  border:1px solid rgba(151,199,235,.27);
  border-radius:17px;
  background:rgba(4,13,22,.54);
}
.countdown-v42 > div {
  min-width:0 !important;
  padding:15px 10px 14px !important;
  position:relative;
}
.countdown-v42 > div + div::before {
  content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;
  background:linear-gradient(transparent,rgba(151,199,235,.28),transparent);
}
.countdown-v42 > i { display:none !important; }
.countdown-v42 strong { font-size:clamp(34px,5vw,56px) !important; }
.event-fact-icon { color:#65c5ff; }
.event-facts-centered .event-fact { text-align:left; }
.confidence-icon { width:42px;height:42px;flex-basis:42px; }
.confidence-icon svg { width:20px;height:20px; }

.ticket-category-grid-noimage { align-items:stretch; }
.category-ticket {
  min-height:340px !important;
  display:flex;
  flex-direction:column;
  overflow:visible !important;
  position:relative;
  border-color:rgba(143,194,232,.2) !important;
  background:
    linear-gradient(135deg,rgba(61,169,245,.08),transparent 42%),
    linear-gradient(180deg,#0a1827,#06111d) !important;
}
.category-ticket::before {
  content:"";position:absolute;left:18px;right:18px;top:92px;border-top:1px dashed rgba(151,199,235,.22);
}
.category-ticket::after {
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.035) 50%,transparent 65%);
  background-size:220% 100%;transition:background-position .6s ease;
}
.category-ticket:hover::after { background-position:100% 0; }
.category-ticket-head {
  min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:17px 18px 14px;
}
.category-ticket .category-card-number,.category-ticket .category-card-status { position:static; }
.category-ticket .category-card-number { color:#7891a6;font:800 12px/1 "Sora",sans-serif;letter-spacing:.12em; }
.category-ticket .category-card-status {
  padding:7px 9px;border:1px solid rgba(76,198,145,.24);border-radius:999px;
  color:#72dbae;background:rgba(44,166,112,.08);font-size:8px;font-weight:900;letter-spacing:.12em;
}
.category-ticket.is-sold-out .category-card-status { color:#ff8a99;border-color:rgba(239,59,84,.25);background:rgba(239,59,84,.08); }
.category-ticket-symbol {
  width:66px;height:66px;display:grid;place-items:center;margin:17px auto 5px;border:1px solid rgba(87,184,249,.27);
  border-radius:20px;color:#67c7ff;background:linear-gradient(145deg,rgba(53,158,226,.15),rgba(255,255,255,.025));
  box-shadow:0 15px 35px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.06);
}
.category-ticket-symbol svg { width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round; }
.category-ticket .category-card-body { flex:1;padding:15px 20px 21px !important; }
.category-ticket .category-card-body > small { color:#6c8296;font-size:8px;letter-spacing:.14em; }
.category-ticket h3 { min-height:54px !important;margin:8px 0 7px !important;font-size:17px !important; }
.category-ticket p { min-height:46px;margin:0;color:#8fa1b2;font-size:10px;line-height:1.55; }
.category-ticket .category-price-row {
  width:100%;margin-top:auto;padding-top:15px;border-top:1px dashed rgba(151,199,235,.17);
}
.category-ticket-notch { position:absolute;top:82px;width:20px;height:20px;border-radius:50%;background:#03080f;z-index:3; }
.category-ticket-notch-left { left:-11px; }
.category-ticket-notch-right { right:-11px; }
.category-ticket:hover { transform:translateY(-6px) !important; }

.venue-section-noimage { background:radial-gradient(circle at 15% 50%,rgba(51,154,222,.08),transparent 30%); }
.venue-ticket-card {
  display:grid !important;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr) !important;
  gap:0 !important;overflow:hidden;border:1px solid rgba(151,199,235,.2);border-radius:24px;
  background:linear-gradient(145deg,#081725,#050d16);box-shadow:0 28px 70px rgba(0,0,0,.25);
}
.venue-ticket-mark {
  min-height:430px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px;
  text-align:center;border-right:1px dashed rgba(151,199,235,.24);
  background:radial-gradient(circle at 50% 35%,rgba(61,169,245,.17),transparent 40%),rgba(255,255,255,.018);
}
.venue-ticket-mark::before,.venue-ticket-mark::after { content:"";position:absolute;right:-13px;width:25px;height:25px;border-radius:50%;background:#03080f; }
.venue-ticket-mark::before { top:-13px; }.venue-ticket-mark::after { bottom:-13px; }
.venue-ticket-mark > span { width:70px;height:70px;display:grid;place-items:center;margin-bottom:22px;border:1px solid rgba(92,191,255,.28);border-radius:22px;color:#65c5ff;background:rgba(48,150,218,.11); }
.venue-ticket-mark > span svg { width:32px;height:32px; }
.venue-ticket-mark small { color:#66c6ff;font-size:9px;font-weight:900;letter-spacing:.15em; }
.venue-ticket-mark strong { margin-top:12px;color:#fff;font:800 clamp(28px,3vw,40px)/1.08 "Sora",sans-serif;letter-spacing:-.05em; }
.venue-ticket-mark p { margin:12px 0 0;color:#7e91a3;font-size:11px; }
.venue-ticket-card .venue-content { padding:42px 46px; }
.step-icon { display:grid;place-items:center; }
.step-icon svg { width:24px;height:24px; }

.footer-bottom { align-items:center; }
.footer-socials { display:flex;flex-wrap:wrap;justify-content:center;gap:8px; }
.footer-social {
  min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.09);
  border-radius:12px;color:#98a9b9;background:rgba(255,255,255,.025);transition:transform .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease;
}
.footer-social svg { width:17px;height:17px; }
.footer-social .social-play { fill:currentColor;stroke:none; }
.footer-social span { font-size:9px;font-weight:800; }
.footer-social:hover { transform:translateY(-3px);color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.24); }
.footer-social-instagram:hover { border-color:#d85bd2;color:#f18bec; }
.footer-social-facebook:hover { border-color:#4a8ff2;color:#77aaf5; }
.footer-social-youtube:hover { border-color:#ff4e61;color:#ff7382; }
.footer-social-tiktok:hover { border-color:#49e4df;color:#76f4ef; }
.footer-social-x:hover { border-color:#d8e0e8;color:#fff; }

/* Payment portal */
.payment-portal-hero {
  padding:72px 0 38px;border-bottom:1px solid rgba(151,199,235,.09);
  background:radial-gradient(circle at 50% -15%,rgba(45,145,214,.18),transparent 42%);
}
.payment-portal-hero-inner { max-width:900px;display:flex;align-items:center;justify-content:center;gap:20px;text-align:left; }
.payment-portal-icon {
  width:66px;height:66px;flex:0 0 66px;display:grid;place-items:center;border:1px solid rgba(85,184,249,.28);
  border-radius:20px;color:#64c6ff;background:linear-gradient(145deg,rgba(43,148,219,.17),rgba(255,255,255,.025));box-shadow:0 16px 35px rgba(0,0,0,.22);
}
.payment-portal-icon svg { width:29px;height:29px; }
.payment-portal-hero h1 { margin:5px 0 8px;color:#fff;font:800 clamp(34px,5vw,56px)/1 "Sora",sans-serif;letter-spacing:-.055em; }
.payment-portal-hero p { max-width:650px;margin:0;color:#91a3b4;font-size:14px;line-height:1.65; }
.payment-portal-section { padding-top:34px; }
.payment-portal-alert { max-width:1080px;margin-inline:auto; }
.payment-lookup-layout {
  max-width:1080px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  overflow:hidden;border:1px solid rgba(151,199,235,.18);border-radius:24px;background:#07131f;box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.payment-lookup-info { padding:44px;background:radial-gradient(circle at 0 0,rgba(52,159,231,.18),transparent 38%),linear-gradient(145deg,#0a2238,#07131f); }
.payment-lookup-info h2 { max-width:520px;margin:8px 0 12px;color:#fff;font:750 clamp(28px,4vw,42px)/1.08 "Sora",sans-serif;letter-spacing:-.045em; }
.payment-lookup-info > p { max-width:600px;margin:0;color:#9aabba;font-size:13px;line-height:1.75; }
.payment-lookup-steps { display:grid;gap:10px;margin-top:30px; }
.payment-lookup-steps > div { display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid rgba(151,199,235,.12);border-radius:13px;background:rgba(255,255,255,.025); }
.payment-lookup-steps > div > span { width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#68c7ff;background:rgba(45,148,216,.12);font-size:9px;font-weight:900; }
.payment-lookup-steps strong,.payment-lookup-steps small { display:block; }.payment-lookup-steps strong { color:#eaf1f7;font-size:11px; }.payment-lookup-steps small { margin-top:3px;color:#75899c;font-size:9px; }
.payment-lookup-security { display:flex;align-items:center;gap:10px;margin-top:22px;color:#68d3a5; }
.payment-lookup-security svg { width:27px;height:27px; }.payment-lookup-security strong,.payment-lookup-security small { display:block; }.payment-lookup-security strong { font-size:10px; }.payment-lookup-security small { margin-top:2px;color:#72889b;font-size:9px; }
.payment-lookup-card { padding:42px;background:linear-gradient(180deg,#0a1826,#07111c); }
.payment-card-heading { margin-bottom:25px; }.payment-card-heading h2 { margin:7px 0 7px;color:#fff;font:750 27px/1.1 "Sora",sans-serif; }.payment-card-heading p { margin:0;color:#8094a6;font-size:11px;line-height:1.55; }
.payment-lookup-form { display:grid;gap:17px; }
.payment-lookup-form .field { gap:7px; }.payment-lookup-form .field label { color:#bdcad5;font-size:10px; }
.payment-input-wrap { min-height:54px;display:grid;grid-template-columns:58px 1fr;align-items:center;overflow:hidden;border:1px solid rgba(151,199,235,.2);border-radius:13px;background:#06101a;transition:border-color .2s,box-shadow .2s; }
.payment-input-wrap:focus-within { border-color:rgba(87,188,255,.55);box-shadow:0 0 0 3px rgba(50,150,218,.09); }
.payment-input-wrap > span { height:100%;display:grid;place-items:center;border-right:1px solid rgba(151,199,235,.14);color:#67c6ff;font-size:10px;font-weight:900; }
.payment-input-wrap input { width:100%;height:52px;padding:0 15px;border:0;outline:0;color:#fff;background:transparent;font-size:13px; }
.payment-lookup-submit { width:100%;justify-content:space-between;margin-top:5px; }

.payment-status-banner { max-width:1180px;display:flex;align-items:flex-start;gap:14px;margin:0 auto 14px;padding:17px 19px;border:1px solid;border-radius:16px; }
.payment-status-banner-icon { width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:10px;font-weight:900; }
.payment-status-banner h3 { margin:0 0 4px;font-size:14px; }.payment-status-banner p { margin:0;font-size:11px;line-height:1.55; }
.payment-status-banner.is-success { color:#9ae8c4;border-color:rgba(74,205,149,.25);background:rgba(45,157,109,.08); }
.payment-status-banner.is-success .payment-status-banner-icon { background:rgba(74,205,149,.14); }
.payment-status-banner.is-info { color:#98d9ff;border-color:rgba(69,166,229,.25);background:rgba(48,139,200,.08); }
.payment-status-banner.is-info .payment-status-banner-icon { background:rgba(69,166,229,.14); }
.payment-status-banner.is-danger { color:#ff9baa;border-color:rgba(239,69,91,.25);background:rgba(196,37,59,.08); }
.payment-status-banner.is-danger .payment-status-banner-icon { background:rgba(239,69,91,.14); }

.payment-dashboard { max-width:1180px;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(151,199,235,.17);border-radius:24px;background:linear-gradient(180deg,#081725,#050d16);box-shadow:0 28px 75px rgba(0,0,0,.26); }
.payment-dashboard-head { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border-bottom:1px solid rgba(151,199,235,.12);background:rgba(255,255,255,.018); }
.payment-code-line { display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:5px; }.payment-code-line h2 { margin:0;color:#fff;font:750 clamp(21px,3vw,31px)/1 "Sora",sans-serif;letter-spacing:-.03em; }
.payment-dashboard-person p { margin:8px 0 0;color:#899cad;font-size:11px; }.payment-dashboard-person p span { margin:0 6px;color:#40586c; }
.payment-dashboard-status { display:grid;justify-items:end;gap:7px; }.payment-dashboard-status small { color:#6e8295;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.payment-finance-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 20px; }
.payment-finance-card { min-height:134px;display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid rgba(151,199,235,.13);border-radius:15px;background:rgba(255,255,255,.024); }
.payment-finance-card > span { color:#8194a6;font-size:9px;font-weight:800;letter-spacing:.05em; }.payment-finance-card > strong { margin:8px 0 4px;color:#fff;font:750 clamp(23px,3vw,34px)/1 "Sora",sans-serif; }.payment-finance-card > small { color:#6dc9ff;font-size:9px; }.payment-finance-card > em { margin-top:6px;color:#78d7aa;font-size:8px;font-style:normal; }
.payment-finance-card-2 { border-color:rgba(68,201,147,.22);background:rgba(43,156,108,.06); }.payment-finance-card-3 { border-color:rgba(235,170,59,.2);background:rgba(202,131,22,.05); }.payment-finance-card-4 { border-color:rgba(239,65,88,.18);background:rgba(197,36,56,.045); }
.payment-detail-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;padding:0 20px 20px; }
.payment-detail-grid article { min-height:86px;padding:15px;border:1px solid rgba(151,199,235,.11);border-radius:13px;background:#07131f; }
.payment-detail-grid span,.payment-detail-grid strong { display:block; }.payment-detail-grid span { color:#6d8396;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }.payment-detail-grid strong { margin-top:7px;color:#eaf1f6;font-size:11px;line-height:1.5; }
.payment-ticket-ready { display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:15px;margin:0 20px 20px;padding:17px;border:1px solid rgba(66,203,147,.22);border-radius:15px;background:linear-gradient(135deg,rgba(39,157,105,.1),rgba(255,255,255,.018)); }
.payment-ticket-ready-icon { width:50px;height:50px;display:grid;place-items:center;border-radius:14px;color:#6ce0ad;background:rgba(47,176,120,.13);font-weight:900; }.payment-ticket-ready-icon svg { width:25px;height:25px; }
.payment-ticket-ready h3 { margin:5px 0 4px;color:#fff;font-size:15px; }.payment-ticket-ready p { margin:0;color:#89a092;font-size:10px; }.payment-ticket-ready.is-preparing { border-color:rgba(78,169,229,.21); }
.payment-history-panel,.payment-upload-panel { margin:0 20px 20px;padding:20px;border:1px solid rgba(151,199,235,.12);border-radius:17px;background:rgba(255,255,255,.018); }
.payment-panel-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px; }.payment-panel-heading h3 { margin:4px 0 0;color:#fff;font-size:18px; }.payment-panel-heading > small { color:#6f8396;font-size:9px; }
.payment-history-list { display:grid;gap:9px; }.payment-history-row { display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px; }.payment-history-index { width:34px;height:34px;display:grid;place-items:center;margin-top:12px;border:1px solid rgba(88,186,250,.24);border-radius:10px;color:#65c5ff;background:rgba(46,145,211,.09);font-size:9px;font-weight:900; }
.payment-history-main { padding:14px 15px;border:1px solid rgba(151,199,235,.1);border-radius:13px;background:#06111c; }.payment-history-top { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }.payment-history-top strong,.payment-history-top small { display:block; }.payment-history-top strong { color:#f0f5f8;font-size:11px; }.payment-history-top small { margin-top:4px;color:#6f8496;font-size:9px; }
.payment-history-money { display:flex;align-items:baseline;gap:9px;margin-top:10px; }.payment-history-money strong { color:#fff;font-size:18px; }.payment-history-money span { color:#67c7ff;font-size:9px; }.payment-history-main p { margin:11px 0 0;padding:9px;border-radius:9px;color:#ffb0ba;background:rgba(211,44,64,.07);font-size:9px;line-height:1.5; }.payment-history-main > a,.payment-history-main > .manual-record-label { display:inline-block;margin-top:10px;color:#72caff;font-size:9px;font-weight:800; }
.payment-history-empty { padding:24px;text-align:center;color:#73879a;border:1px dashed rgba(151,199,235,.13);border-radius:12px;font-size:10px; }
.payment-upload-heading { align-items:center; }.payment-upload-heading p { margin:5px 0 0;color:#8397a8;font-size:10px; }.payment-upload-total { min-width:170px;padding:12px 14px;border:1px solid rgba(89,188,251,.19);border-radius:12px;text-align:right;background:rgba(47,145,211,.07); }.payment-upload-total span,.payment-upload-total strong,.payment-upload-total small { display:block; }.payment-upload-total span { color:#6f8496;font-size:7px;font-weight:900;letter-spacing:.12em; }.payment-upload-total strong { margin:5px 0 3px;color:#fff;font-size:22px; }.payment-upload-total small { color:#65c5ff;font-size:9px; }
.payment-account-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.payment-account-card { position:relative;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:11px;padding:13px;border:1px solid rgba(151,199,235,.13);border-radius:13px;background:#06111c;cursor:pointer; }.payment-account-card input { position:absolute;opacity:0; }.payment-account-card > span { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#66c5ff;background:rgba(48,148,215,.11);font-weight:900; }.payment-account-card strong,.payment-account-card small { display:block; }.payment-account-card strong { color:#eaf1f6;font-size:10px; }.payment-account-card small { margin-top:3px;color:#6f8496;font-size:8px; }.payment-account-card > i { color:#4dd49a;font-style:normal;opacity:0; }.payment-account-card.is-selected,.payment-account-card:has(input:checked) { border-color:rgba(76,198,145,.42);background:rgba(43,159,109,.07); }.payment-account-card.is-selected > i,.payment-account-card:has(input:checked) > i { opacity:1; }
.payment-bank-details { display:none;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:10px;padding:14px;border:1px solid rgba(151,199,235,.12);border-radius:13px;background:#07131f; }.payment-bank-details.is-active { display:grid; }.payment-bank-details > div { display:grid;gap:5px; }.payment-bank-details span { color:#6e8295;font-size:8px;font-weight:900;letter-spacing:.08em; }.payment-bank-details strong { color:#eef4f8;font-size:10px;word-break:break-word; }.payment-bank-details button { justify-self:start;margin-top:4px; }
.payment-upload-drop { min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:12px;padding:20px;border:1px dashed rgba(102,195,255,.3);border-radius:14px;text-align:center;background:rgba(46,145,211,.045);cursor:pointer; }.payment-upload-drop input { position:absolute;opacity:0;pointer-events:none; }.payment-upload-drop .upload-symbol { width:42px;height:42px;display:grid;place-items:center;margin-bottom:10px;border-radius:12px;color:#67c7ff;background:rgba(47,145,211,.12);font-size:20px; }.payment-upload-drop strong { color:#eaf1f6;font-size:11px; }.payment-upload-drop small,.payment-upload-drop .file-name { margin-top:4px;color:#71879a;font-size:8px; }.payment-upload-submit { width:100%;margin-top:12px; }
.payment-pending-lock { margin:0 20px 20px;padding:14px 16px;border:1px solid rgba(227,166,59,.2);border-radius:13px;color:#e8be71;background:rgba(192,126,20,.07);font-size:10px;line-height:1.55; }
.payment-dashboard-actions { display:flex;justify-content:flex-end;gap:9px;padding:0 20px 20px; }

html[dir="rtl"] .payment-portal-hero-inner,html[dir="rtl"] .payment-lookup-info,html[dir="rtl"] .payment-card-heading,html[dir="rtl"] .payment-dashboard { text-align:right; }
html[dir="rtl"] .payment-input-wrap { grid-template-columns:1fr 58px; }
html[dir="rtl"] .payment-input-wrap > span { grid-column:2;border-right:0;border-left:1px solid rgba(151,199,235,.14); }
html[dir="rtl"] .payment-input-wrap input { grid-column:1;grid-row:1; }
html[dir="rtl"] .payment-dashboard-status { justify-items:start; }
html[dir="rtl"] .payment-upload-total { text-align:left; }

@media (max-width:980px) {
  .venue-ticket-card { grid-template-columns:1fr !important; }
  .venue-ticket-mark { min-height:280px;border-right:0;border-bottom:1px dashed rgba(151,199,235,.24); }
  .venue-ticket-mark::before,.venue-ticket-mark::after { top:auto;bottom:-13px; }
  .venue-ticket-mark::before { left:-13px;right:auto; }.venue-ticket-mark::after { right:-13px; }
  .payment-lookup-layout { grid-template-columns:1fr; }
  .payment-finance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .countdown-shell { padding:14px 10px 16px !important; }
  .countdown-v42 strong { font-size:clamp(27px,9vw,40px) !important; }
  .countdown-v42 span { font-size:7px !important;letter-spacing:.06em !important; }
  .event-facts-centered { grid-template-columns:1fr; }
  .confidence-grid { grid-template-columns:1fr 1fr; }
  .confidence-grid > div { border-bottom:1px solid rgba(255,255,255,.07); }
  .venue-ticket-card .venue-content { padding:28px 20px; }
  .payment-portal-hero { padding:48px 0 27px; }
  .payment-portal-hero-inner { align-items:flex-start;padding-inline:18px; }
  .payment-portal-icon { width:52px;height:52px;flex-basis:52px;border-radius:15px; }
  .payment-portal-hero h1 { font-size:32px; }
  .payment-portal-hero p { font-size:11px; }
  .payment-lookup-info,.payment-lookup-card { padding:25px 20px; }
  .payment-dashboard-head,.payment-panel-heading,.payment-history-top { align-items:flex-start;flex-direction:column; }
  .payment-dashboard-status { justify-items:start; }
  .payment-finance-grid { grid-template-columns:1fr;padding:13px; }
  .payment-detail-grid { grid-template-columns:1fr;padding:0 13px 13px; }
  .payment-ticket-ready { grid-template-columns:46px 1fr;margin:0 13px 13px; }
  .payment-ticket-ready .btn { grid-column:1/-1;width:100%; }
  .payment-history-panel,.payment-upload-panel { margin:0 13px 13px;padding:14px; }
  .payment-account-grid,.payment-bank-details { grid-template-columns:1fr; }
  .payment-dashboard-actions { flex-direction:column;padding:0 13px 13px; }
  .payment-dashboard-actions .btn { width:100%; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width:480px) {
  .countdown-v42 > div { padding:13px 3px 12px !important; }
  .countdown-v42 strong { font-size:29px !important; }
  .confidence-grid { grid-template-columns:1fr; }
  .category-ticket { min-height:310px !important; }
  .payment-portal-hero-inner { display:block;text-align:center; }
  .payment-portal-icon { margin:0 auto 12px; }
  .payment-history-row { grid-template-columns:1fr; }
  .payment-history-index { display:none; }
}

/* =====================================================================
   V45 — public typography, country flags and payment experience polish
   ===================================================================== */

/* Main navigation remains readable on wide and compact desktop screens. */
.main-nav > a {
  font-size: 12.5px !important;
  letter-spacing: .015em !important;
  line-height: 1.2;
}
.main-nav .nav-cta { font-size: 12px !important; }
.event-ribbon-inner { font-size: 11px !important; }

/* Participating countries — image flags return as a compact premium rail. */
.country-showcase {
  position:relative;
  overflow:hidden;
  padding: 34px 0 38px;
  border-top:1px solid rgba(137,189,229,.10);
  border-bottom:1px solid rgba(137,189,229,.10);
  background:
    radial-gradient(circle at 12% 0%,rgba(50,150,220,.08),transparent 32%),
    linear-gradient(180deg,#06111d,#071521);
}
.country-showcase::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.23;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);
}
.country-showcase .container { position:relative; }
.country-showcase-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
  align-items:end;
  gap:28px;
  margin-bottom:20px;
}
.country-showcase-head h2 {
  margin:7px 0 0;
  color:#f6f9fc;
  font-family:Sora,Inter,sans-serif;
  font-size:clamp(25px,3vw,39px);
  line-height:1.1;
  letter-spacing:-.045em;
}
.country-showcase-head p {
  margin:0;
  color:#8fa4b6;
  font-size:13px;
  line-height:1.65;
}
.country-flag-rail {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
}
.country-flag-pill {
  min-width:0;
  min-height:62px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid rgba(134,188,228,.12);
  border-radius:13px;
  color:#b8c8d4;
  background:rgba(255,255,255,.025);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.country-flag-pill:hover {
  transform:translateY(-2px);
  border-color:rgba(90,185,250,.34);
  background:rgba(48,145,211,.075);
}
.country-flag-pill img {
  width:38px;
  height:27px;
  flex:0 0 38px;
  object-fit:cover;
  border-radius:5px;
  box-shadow:0 5px 13px rgba(0,0,0,.28);
}
.country-flag-pill span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
  font-weight:700;
}

/* Payment step: balanced two-column experience and premium IBAN cards. */
.payment-form-shell {
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr) !important;
  align-items:start !important;
  gap:22px !important;
}
.payment-form-card,
.payment-summary-panel {
  border:1px solid rgba(112,181,230,.16) !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.20) !important;
}
.payment-form-card { padding:28px !important; }
.payment-form-card .form-card-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(139,193,232,.10);
}
.payment-form-card .form-card-heading h2 { margin-top:5px; font-size:24px; }
.order-summary-list {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:18px !important;
}
.order-summary-list .summary-row {
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px !important;
  border:1px solid rgba(134,188,228,.11) !important;
  border-radius:13px;
  background:#071522 !important;
}
.grand-total-card {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:14px 0 18px !important;
  padding:17px 18px !important;
  border:1px solid rgba(78,192,244,.25) !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(44,145,211,.11),rgba(43,193,137,.055)) !important;
}
.grand-total-card > span { font-size:11px !important; letter-spacing:.08em; }
.grand-total-card .money-pair { margin:0 !important; }
.payment-choice { gap:12px !important; }
.payment-option { min-height:185px !important; }
.payment-option-body { padding:19px !important; }
.payment-option-top strong { font-size:17px !important; }
.option-money { align-items:center; margin-top:18px !important; }
.option-money b { font-size:19px !important; }
.payment-option p { font-size:11px !important; line-height:1.6 !important; }

.transfer-method-section {
  margin-top:20px;
  padding:20px;
  border:1px solid rgba(128,185,227,.13);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.009));
}
.transfer-heading { padding-bottom:14px !important; }
.account-choice-grid { gap:10px !important; }
.transfer-method-card {
  min-height:82px !important;
  padding:14px !important;
  border-radius:14px !important;
}
.premium-bank-box {
  overflow:hidden;
  margin-top:12px !important;
  padding:0 !important;
  border:1px solid rgba(105,192,244,.22) !important;
  border-radius:17px !important;
  background:linear-gradient(145deg,#081b2b,#071521) !important;
}
.premium-bank-box .bank-box-title {
  padding:16px 17px;
  border-bottom:1px solid rgba(139,193,232,.11);
  background:radial-gradient(circle at 100% 0%,rgba(54,159,224,.12),transparent 45%);
}
.premium-bank-box .bank-line {
  min-height:58px;
  display:grid !important;
  grid-template-columns:145px minmax(0,1fr);
  align-items:center;
  gap:16px;
  margin:0 !important;
  padding:13px 17px !important;
  border-bottom:1px solid rgba(139,193,232,.09) !important;
}
.premium-bank-box .bank-line > span {
  color:#728a9d !important;
  font-size:9px !important;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.premium-bank-box .bank-line > strong {
  min-width:0;
  color:#f0f5f8 !important;
  font-size:12px !important;
  text-align:left !important;
}
.premium-bank-box .iban-value {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 10px 9px 13px;
  border:1px solid rgba(105,192,244,.18);
  border-radius:11px;
  color:#fff !important;
  background:#050e17;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px !important;
  letter-spacing:.055em;
  word-break:break-all;
}
.premium-bank-box .copy-btn {
  flex:0 0 auto;
  min-height:32px;
  margin:0 !important;
  padding:0 11px !important;
  border-color:rgba(87,188,247,.30) !important;
  color:#78ccff !important;
  background:rgba(47,148,215,.10) !important;
  font-family:Inter,sans-serif;
  font-size:10px !important;
}
.bank-payment-amount {
  margin:16px !important;
  padding:17px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,rgba(43,174,119,.11),rgba(46,145,211,.06)) !important;
}
.bank-payment-amount > span { font-size:9px !important; }
.bank-payment-amount .money-pair {
  display:grid !important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:13px;
  margin:0 !important;
}
.bank-payment-amount .money-pair > div {
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(97,194,154,.15);
  border-radius:11px;
  background:rgba(0,0,0,.14);
}
.bank-payment-amount .money-pair strong { font-size:18px !important; }
.premium-upload { min-height:165px !important; border-radius:16px !important; }
.payment-summary-panel { top:104px !important; padding:22px !important; }
.payment-summary-panel h2 { font-size:22px !important; }
.payment-breakdown-row { min-height:58px; }
.payment-breakdown-row span { font-size:11px !important; }
.payment-breakdown-row strong { font-size:14px !important; }
.payment-breakdown-row.is-primary strong { font-size:20px !important; }

/* Payment tracking portal: consistent heading, cards and spacing. */
.payment-portal-hero-inner {
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center !important;
  gap:18px !important;
}
.payment-portal-hero h1 { margin:3px 0 8px !important; line-height:1.08 !important; }
.payment-portal-hero p { max-width:760px !important; font-size:13px !important; line-height:1.65 !important; }
.payment-lookup-layout { align-items:stretch !important; }
.payment-lookup-info,.payment-lookup-card {
  height:100%;
  border-radius:20px !important;
}
.payment-lookup-info h2,.payment-lookup-card h2 { font-size:24px !important; line-height:1.2 !important; }
.payment-lookup-info p,.payment-lookup-card p { font-size:12px !important; line-height:1.65 !important; }
.payment-dashboard {
  overflow:hidden;
  border-radius:22px !important;
}
.payment-dashboard-head {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center !important;
  gap:24px !important;
  padding:23px 24px !important;
}
.payment-dashboard-head h2 { font-size:25px !important; line-height:1.15 !important; }
.payment-dashboard-head p { font-size:12px !important; line-height:1.6 !important; }
.payment-dashboard-status { min-width:210px; text-align:right; }
.payment-finance-grid {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:16px 20px !important;
}
.payment-finance-card {
  min-height:116px !important;
  padding:16px !important;
  border-radius:14px !important;
}
.payment-finance-card > span { font-size:9px !important; }
.payment-finance-card > strong { margin-top:10px !important; font-size:24px !important; }
.payment-finance-card > small { margin-top:6px !important; font-size:10px !important; }
.payment-detail-grid article { min-height:96px !important; }
.payment-detail-grid span { font-size:9px !important; }
.payment-detail-grid strong { font-size:12px !important; }
.payment-panel-heading { align-items:center !important; }
.payment-panel-heading h3 { font-size:20px !important; }
.payment-history-main { padding:16px !important; }
.payment-history-top strong { font-size:12px !important; }
.payment-history-top small,.payment-history-main p { font-size:10px !important; }
.payment-history-money strong { font-size:20px !important; }
.payment-account-card { min-height:76px; }
.payment-bank-details {
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr) !important;
  padding:15px !important;
}
.payment-bank-details > div:last-child {
  padding:11px 12px;
  border:1px solid rgba(105,192,244,.16);
  border-radius:11px;
  background:#050e17;
}
.payment-bank-details strong { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px !important; letter-spacing:.045em; }
.payment-upload-total { min-width:205px !important; }
.payment-upload-total strong { font-size:25px !important; }

/* Footer social area now shows only recognizable platform icons. */
.footer-socials { display:flex; align-items:center; gap:9px; }
.footer-social {
  width:42px;
  height:42px;
  display:grid !important;
  place-items:center;
  padding:0 !important;
  border:1px solid rgba(139,193,232,.15);
  border-radius:13px;
  color:#dce7ef !important;
  background:rgba(255,255,255,.035);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.footer-social:hover { transform:translateY(-3px) scale(1.03); }
.footer-social svg { width:20px; height:20px; fill:currentColor; stroke:currentColor; stroke-width:1.8; }
.footer-social-instagram:hover { color:#f15aa8 !important; border-color:rgba(241,90,168,.35); box-shadow:0 10px 25px rgba(241,90,168,.12); }
.footer-social-facebook:hover { color:#5c9dff !important; border-color:rgba(92,157,255,.35); }
.footer-social-youtube:hover { color:#ff3b52 !important; border-color:rgba(255,59,82,.35); }
.footer-social-tiktok:hover { color:#65f5ef !important; border-color:rgba(101,245,239,.30); }
.footer-social-x:hover { color:#fff !important; border-color:rgba(255,255,255,.30); }
.footer-social-instagram svg { fill:none; }
.footer-social-x svg { fill:none; }
.footer-social-youtube .social-play { fill:#07131f; stroke:none; }

@media (max-width:1120px) {
  .country-flag-rail { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .payment-form-shell { grid-template-columns:1fr !important; }
  .payment-summary-panel { position:relative !important; top:auto !important; }
}
@media (max-width:820px) {
  .country-showcase-head { grid-template-columns:1fr; gap:10px; }
  .country-flag-rail { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .order-summary-list { grid-template-columns:1fr; }
  .payment-dashboard-head { grid-template-columns:1fr !important; }
  .payment-dashboard-status { min-width:0; text-align:left; }
  .payment-finance-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:620px) {
  .main-nav > a { font-size:14px !important; }
  .country-showcase { padding:28px 0; }
  .country-flag-rail { display:flex; overflow-x:auto; padding-bottom:7px; scroll-snap-type:x proximity; }
  .country-flag-pill { flex:0 0 145px; scroll-snap-align:start; }
  .payment-form-card { padding:18px 14px !important; }
  .grand-total-card { align-items:flex-start; flex-direction:column; }
  .grand-total-card .money-pair { width:100%; }
  .payment-choice { grid-template-columns:1fr !important; }
  .transfer-method-section { padding:14px; }
  .premium-bank-box .bank-line { grid-template-columns:1fr; gap:7px; }
  .premium-bank-box .iban-value { align-items:flex-start; flex-direction:column; }
  .premium-bank-box .copy-btn { width:100%; }
  .bank-payment-amount .money-pair { grid-template-columns:1fr !important; }
  .bank-payment-amount .money-pair > i { transform:rotate(90deg); }
  .payment-finance-grid { grid-template-columns:1fr !important; padding:13px !important; }
  .payment-finance-card { min-height:100px !important; }
  .payment-bank-details { grid-template-columns:1fr !important; }
  .payment-upload-heading .payment-upload-total { width:100%; min-width:0 !important; text-align:left; }
  .footer-socials { width:100%; justify-content:center; }
}

/* =====================================================================
   V46 — remaining payment account workflow and receipt upload
   ===================================================================== */
.payment-upload-panel-v46 {
  padding: 24px;
  border-color: rgba(120,188,236,.18);
  background:
    radial-gradient(circle at 96% 0%,rgba(50,151,220,.09),transparent 32%),
    linear-gradient(150deg,rgba(11,27,42,.96),rgba(5,14,23,.98));
}
.payment-upload-panel-v46 .payment-upload-heading {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(139,193,232,.12);
}
.payment-upload-panel-v46 .payment-upload-heading h3 {
  font-family: "Sora",Inter,sans-serif;
  font-size: clamp(21px,2.2vw,29px);
  letter-spacing: -.035em;
}
.payment-upload-panel-v46 .payment-upload-heading p {
  max-width: 680px;
  font-size: 12px;
  line-height: 1.65;
}
.balance-payment-layout {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(330px,.92fr);
  gap: 16px;
  align-items: stretch;
}
.balance-payment-main,
.balance-bank-column {
  min-width: 0;
}
.balance-payment-main {
  padding: 18px;
  border: 1px solid rgba(139,193,232,.13);
  border-radius: 16px;
  background: rgba(3,12,20,.48);
}
.balance-section-heading { margin-bottom: 14px; }
.balance-section-heading h4 {
  margin: 5px 0 6px;
  color: #f4f8fb;
  font: 700 19px/1.2 "Sora",Inter,sans-serif;
  letter-spacing: -.025em;
}
.balance-section-heading p {
  margin: 0;
  color: #8296a8;
  font-size: 11px;
  line-height: 1.6;
}
.payment-upload-panel-v46 .payment-account-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.payment-upload-panel-v46 .payment-account-card {
  position: relative;
  min-height: 82px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 24px;
  align-items: center;
  gap: 11px;
  padding: 13px;
  overflow: hidden;
  border: 1px solid rgba(144,194,231,.16);
  border-radius: 14px;
  background: linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  cursor: pointer;
  transition: border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.payment-upload-panel-v46 .payment-account-card:hover {
  transform: translateY(-1px);
  border-color: rgba(95,188,249,.38);
  background: rgba(45,139,203,.055);
}
.payment-upload-panel-v46 .payment-account-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.payment-upload-panel-v46 .payment-account-card > .payment-account-currency {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(104,194,252,.18);
  border-radius: 12px;
  color: #72cbff;
  background: rgba(48,148,215,.1);
  font-size: 19px;
  font-weight: 800;
}
.payment-upload-panel-v46 .payment-account-card > .payment-account-copy {
  width: auto;
  height: auto;
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
}
.payment-upload-panel-v46 .payment-account-copy strong,
.payment-upload-panel-v46 .payment-account-copy small { display: block; }
.payment-upload-panel-v46 .payment-account-copy strong {
  color: #edf4f9;
  font-size: 12px;
  line-height: 1.35;
}
.payment-upload-panel-v46 .payment-account-copy small {
  margin-top: 4px;
  color: #71879a;
  font-size: 9px;
  line-height: 1.4;
}
.payment-upload-panel-v46 .payment-account-card > i {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(141,189,226,.22);
  border-radius: 50%;
  color: transparent;
  background: rgba(255,255,255,.025);
  font-size: 11px;
  font-style: normal;
  opacity: 1;
  transition: .2s ease;
}
.payment-upload-panel-v46 .payment-account-card.is-selected,
.payment-upload-panel-v46 .payment-account-card:has(input:checked) {
  border-color: rgba(232,53,78,.58);
  background: linear-gradient(145deg,rgba(207,34,59,.12),rgba(255,255,255,.018));
  box-shadow: inset 3px 0 0 #e52b45,0 12px 28px rgba(124,17,34,.12);
}
.payment-upload-panel-v46 .payment-account-card.is-selected > .payment-account-currency,
.payment-upload-panel-v46 .payment-account-card:has(input:checked) > .payment-account-currency {
  color: #fff;
  border-color: rgba(241,102,120,.42);
  background: linear-gradient(145deg,#e63850,#aa1830);
}
.payment-upload-panel-v46 .payment-account-card.is-selected > i,
.payment-upload-panel-v46 .payment-account-card:has(input:checked) > i {
  color: #fff;
  border-color: #e7354f;
  background: #e52b45;
}
.balance-bank-column { display: grid; }
.payment-bank-card {
  display: none;
  min-height: 100%;
  padding: 20px;
  border: 1px solid rgba(139,193,232,.15);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%,rgba(45,151,220,.13),transparent 36%),
    linear-gradient(150deg,#091b2b,#06121e);
}
.payment-bank-card.is-active { display: flex; flex-direction: column; }
.payment-bank-card-head {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(139,193,232,.12);
}
.payment-bank-currency {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg,#328fc9,#155e91);
  font-size: 20px;
  font-weight: 850;
  box-shadow: 0 10px 25px rgba(18,91,141,.22);
}
.payment-bank-card-head small {
  display: block;
  color: #698297;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
}
.payment-bank-card-head h4 {
  margin: 4px 0 0;
  color: #f2f6f9;
  font: 700 15px/1.25 "Sora",Inter,sans-serif;
}
.payment-bank-card-head > b {
  max-width: 130px;
  padding: 7px 9px;
  overflow: hidden;
  border: 1px solid rgba(111,189,241,.2);
  border-radius: 9px;
  color: #8fd5ff;
  background: rgba(45,142,207,.07);
  font-size: 9px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.payment-bank-info-row {
  display: grid;
  grid-template-columns: 105px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(139,193,232,.09);
}
.payment-bank-info-row > span {
  color: #6f8497;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: none;
}
.payment-bank-info-row > strong {
  min-width: 0;
  color: #edf3f7;
  font-size: 12px;
  line-height: 1.5;
  word-break: break-word;
}
.payment-bank-iban {
  grid-template-columns: 105px minmax(0,1fr) auto;
}
.payment-bank-iban .copy-btn { align-self: center; }
.payment-bank-due {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 15px;
  padding: 15px;
  border: 1px solid rgba(234,59,83,.24);
  border-radius: 13px;
  background: linear-gradient(145deg,rgba(193,31,54,.10),rgba(255,255,255,.018));
}
.payment-bank-due > span {
  color: #d58b97;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}
.payment-bank-due > div { text-align: right; }
.payment-bank-due strong,
.payment-bank-due small { display: block; }
.payment-bank-due strong {
  color: #fff;
  font: 750 25px/1 "Sora",Inter,sans-serif;
}
.payment-bank-due small {
  margin-top: 5px;
  color: #74caff;
  font-size: 10px;
}
.payment-bank-card > p {
  margin: auto 0 0;
  padding-top: 15px;
  color: #7b8fa0;
  font-size: 9px;
  line-height: 1.6;
}
.payment-upload-panel-v46 .payment-upload-drop {
  position: relative;
  min-height: 154px;
  margin-top: 14px;
  overflow: hidden;
  border-color: rgba(104,194,252,.34);
  background: linear-gradient(145deg,rgba(48,148,215,.065),rgba(255,255,255,.015));
  transition: border-color .2s ease,background .2s ease,transform .2s ease;
}
.payment-upload-panel-v46 .payment-upload-drop:hover,
.payment-upload-panel-v46 .payment-upload-drop.dragging {
  transform: translateY(-1px);
  border-color: rgba(98,201,255,.65);
  background: rgba(48,148,215,.10);
}
.payment-upload-panel-v46 .payment-upload-drop input[type="file"] {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  pointer-events: auto;
}
.payment-upload-panel-v46 .payment-upload-drop .file-name {
  max-width: 90%;
  margin-top: 8px;
  padding: 6px 9px;
  overflow: hidden;
  border-radius: 8px;
  color: #8297a9;
  background: rgba(255,255,255,.025);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.payment-upload-panel-v46 .payment-upload-drop.has-file {
  border-style: solid;
  border-color: rgba(78,203,149,.47);
  background: rgba(44,158,109,.075);
}
.payment-upload-panel-v46 .payment-upload-drop.has-file .upload-symbol {
  color: #7de1b4;
  background: rgba(48,171,117,.15);
}
.payment-upload-panel-v46 .payment-upload-drop.has-file .file-name {
  color: #9de7c5;
  background: rgba(48,171,117,.12);
}
.payment-upload-panel-v46 .payment-upload-submit {
  min-height: 54px;
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  border-radius: 13px;
}
.payment-upload-panel-v46 .payment-upload-submit b { font-size: 18px; }

html[dir="rtl"] .payment-bank-due > div { text-align: left; }
html[dir="rtl"] .payment-upload-panel-v46 .payment-account-card.is-selected,
html[dir="rtl"] .payment-upload-panel-v46 .payment-account-card:has(input:checked) { box-shadow: inset -3px 0 0 #e52b45,0 12px 28px rgba(124,17,34,.12); }

@media (max-width: 900px) {
  .balance-payment-layout { grid-template-columns: 1fr; }
  .payment-bank-card { min-height: 0; }
}
@media (max-width: 620px) {
  .payment-upload-panel-v46 { padding: 15px; }
  .payment-upload-panel-v46 .payment-upload-heading { align-items: stretch; }
  .payment-upload-panel-v46 .payment-upload-total { width: 100%; text-align: left; }
  .payment-upload-panel-v46 .payment-account-grid { grid-template-columns: 1fr; }
  .payment-bank-card-head { grid-template-columns: 42px minmax(0,1fr); }
  .payment-bank-card-head > b { grid-column: 1/-1; max-width: none; justify-self: start; }
  .payment-bank-info-row,
  .payment-bank-iban { grid-template-columns: 1fr; gap: 5px; }
  .payment-bank-iban .copy-btn { justify-self: start; }
  .payment-bank-due { align-items: flex-start; flex-direction: column; }
  .payment-bank-due > div { text-align: left; }
}


/* =====================================================================
   V47 — aligned bank workflow, readable typography and mobile flag grid
   ===================================================================== */

/* Public interface readability: remove micro-copy that became too small. */
body { font-size:16px; }
.main-nav > a { font-size:14px !important; padding-inline:14px; }
.main-nav .nav-cta { font-size:13.5px !important; }
.section-kicker,.mini-kicker { font-size:12px; }
.section-text,.hero-copy { font-size:17px; }
.form-note,.field label,.choice-card small,.summary-row span,.summary-row small,
.payment-option p,.payment-breakdown-row span,.payment-breakdown-row small,
.country-showcase-head p,.footer-copy,.footer-links a,.legal-links a { font-size:12px !important; }
.meta-pill b { font-size:13px; }
.meta-pill span:not(.meta-icon),.rate-strip,.rate-strip strong { font-size:12px; }
.country-flag-pill span { font-size:11.5px; }
.payment-account-copy strong { font-size:13px !important; }
.payment-account-copy small { font-size:10.5px !important; }
.payment-bank-card-head small,.payment-bank-info-row > span,.payment-bank-due > span { font-size:10px !important; }
.payment-bank-card-head h4 { font-size:16px; }
.payment-bank-card-head > b { font-size:10.5px; }
.payment-bank-info-row > strong { font-size:13px; }
.payment-bank-card > p { font-size:11px; }
.payment-upload-drop strong { font-size:13px !important; }
.payment-upload-drop small,.payment-upload-drop .file-name { font-size:10.5px !important; }
.payment-history-top strong { font-size:13px !important; }
.payment-history-top small,.payment-history-main p,.payment-history-main > a,.payment-history-main > .manual-record-label { font-size:11px !important; }
.payment-detail-grid span,.payment-finance-card > span { font-size:10px !important; }
.payment-detail-grid strong,.payment-finance-card > small { font-size:12px !important; }

/* Balance payment: account selection and selected account are equal cards. */
.balance-payment-layout {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.balance-payment-main,
.balance-bank-column { min-height:100%; }
.balance-payment-main,
.initial-transfer-selector {
  padding:20px;
  border:1px solid rgba(139,193,232,.15);
  border-radius:16px;
  background:linear-gradient(150deg,rgba(8,24,38,.94),rgba(3,12,20,.78));
}
.balance-bank-column { display:grid; }
.payment-bank-card { height:100%; min-height:100%; }
.balance-payment-receipt,
.initial-payment-receipt {
  grid-column:1/-1;
  margin-top:0 !important;
}

/* First application payment uses the same Havale/EFT interaction. */
.initial-transfer-method-section { margin-top:20px; }
.initial-transfer-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding-bottom:16px !important;
  border-bottom:1px solid rgba(139,193,232,.12);
}
.initial-transfer-heading h2 { margin:5px 0 5px; font-size:25px; }
.initial-transfer-layout {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.initial-transfer-selector { min-width:0; }
.initial-transfer-selector .payment-account-grid { grid-template-columns:1fr; }
.initial-transfer-method-section .payment-bank-card { min-height:100%; }
.initial-transfer-method-section .payment-upload-drop { min-height:155px; }

/* Mobile flags wrap naturally; no horizontal scrollbar or clipped countries. */
@media (max-width:620px) {
  body { font-size:16px; }
  .container { width:min(var(--container),calc(100% - 28px)); }
  .section { padding:70px 0; }
  .section-text,.hero-copy { font-size:16px !important; line-height:1.72; }
  .main-nav > a { font-size:15px !important; }
  .country-flag-rail {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px;
    overflow:visible !important;
    padding-bottom:0 !important;
    scroll-snap-type:none !important;
  }
  .country-flag-pill {
    min-width:0 !important;
    min-height:82px;
    display:flex;
    flex:initial !important;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    padding:9px 6px;
    text-align:center;
    scroll-snap-align:none !important;
  }
  .country-flag-pill img { width:40px; height:28px; flex:0 0 auto; }
  .country-flag-pill span {
    width:100%;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    font-size:11px;
    line-height:1.25;
  }

  .balance-payment-layout,
  .initial-transfer-layout { grid-template-columns:1fr; }
  .balance-payment-main,
  .initial-transfer-selector { order:1; padding:15px; }
  .balance-bank-column,.initial-bank-column { order:2; }
  .balance-payment-receipt,.initial-payment-receipt { order:3; grid-column:auto; }
  .payment-upload-panel-v46 .payment-upload-drop { min-height:150px; }
  .initial-transfer-heading { flex-direction:column; }
  .fixed-method-badge { align-self:flex-start; }
}

@media (max-width:430px) {
  .country-flag-rail { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .country-flag-pill { min-height:78px; }
  .payment-upload-panel-v46 { padding:14px; }
  .balance-payment-main,.initial-transfer-selector { padding:13px; }
  .payment-bank-card { padding:16px; }
}

/* V47 readability pass for the homepage and checkout micro-copy. */
body small { font-size:12px; line-height:1.45; }
.event-ribbon-inner { font-size:12.5px !important; }
.brand-copy small { font-size:10.5px !important; }
.event-fact small { font-size:10.5px !important; }
.event-fact strong { font-size:13px !important; }
.hero-trust-row { font-size:11.5px !important; }
.confidence-grid strong { font-size:13px !important; }
.confidence-grid small { font-size:11.5px !important; }
.countdown-label { font-size:11.5px !important; }
.countdown-v42 span { font-size:10.5px !important; letter-spacing:.10em !important; }
.category-ticket .category-card-body > small { font-size:10.5px !important; }
.category-card-body h3 { font-size:19px !important; }
.category-card-body p { font-size:13px !important; }
.category-card-status,.category-card-number { font-size:10.5px !important; }
.text-link { font-size:13px !important; }
.modern-steps h3,.experience-card h3 { font-size:17px !important; }
.modern-steps p,.experience-card p { font-size:12.5px !important; }
.field label { font-size:12px !important; }
.field input,.field select,.field textarea { font-size:15px !important; }
.choice-card strong { font-size:14px !important; }
.choice-card small { font-size:11.5px !important; }
.payment-option-top span,.fixed-method-badge,.summary-eyebrow { font-size:10.5px !important; }
.payment-upload-total span { font-size:10px !important; }
.payment-upload-total small { font-size:11px !important; }
.payment-dashboard-status small,.payment-history-index { font-size:10px !important; }
.payment-pending-lock,.payment-history-empty { font-size:12px !important; }

@media (max-width:620px) {
  .countdown-v42 span { font-size:10px !important; }
  .event-fact small { font-size:10.5px !important; }
  .event-fact strong { font-size:13px !important; }
  .hero-trust-row { font-size:11px !important; gap:12px; }
  .confidence-grid strong { font-size:13px !important; }
  .confidence-grid small { font-size:11.5px !important; }
}

/* =====================================================================
   V48 — equal bank account workflow, centered mobile language selector
   ===================================================================== */
.transfer-method-section.payment-upload-panel-v46,
.payment-upload-panel.payment-upload-panel-v46 {
  --pay-panel-border: rgba(139,193,232,.18);
}
.balance-payment-layout,
.initial-transfer-layout {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  align-items: stretch !important;
  gap: 18px !important;
}
.balance-payment-main,
.balance-bank-column,
.initial-transfer-selector,
.initial-bank-column {
  min-width: 0 !important;
  min-height: 100% !important;
  height: 100% !important;
  padding: 20px !important;
  border: 1px solid var(--pay-panel-border) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(45,151,220,.10), transparent 34%),
    linear-gradient(150deg, rgba(8,24,38,.95), rgba(3,12,20,.84)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.balance-bank-column,
.initial-bank-column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: stretch !important;
}
.balance-bank-column .payment-bank-card,
.initial-bank-column .payment-bank-card {
  flex: 1 1 auto;
  min-height: 100% !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.balance-bank-column .payment-bank-card:not(.is-active),
.initial-bank-column .payment-bank-card:not(.is-active) { display:none !important; }
.balance-bank-column .payment-bank-card.is-active,
.initial-bank-column .payment-bank-card.is-active { display:flex !important; }
.payment-bank-card-head {
  min-height: 92px;
  align-items: center !important;
  padding: 0 0 16px !important;
}
.balance-section-heading { min-height: 92px; display:flex; flex-direction:column; justify-content:center; margin-bottom:14px !important; }
.payment-upload-panel-v46 .payment-account-grid { margin-top: 0 !important; }
.payment-bank-info-row { min-height: 56px; }
.payment-bank-due { margin-top: 14px !important; }
.balance-payment-receipt,
.initial-payment-receipt { grid-column: 1 / -1; order: 3; }
.payment-upload-panel-v46 .payment-upload-drop { margin-top: 0 !important; }

@media (max-width: 900px) {
  .balance-payment-layout,
  .initial-transfer-layout { grid-template-columns: 1fr !important; }
  .balance-payment-main,
  .initial-transfer-selector { order: 1 !important; }
  .balance-bank-column,
  .initial-bank-column { order: 2 !important; }
  .balance-payment-receipt,
  .initial-payment-receipt { order: 3 !important; grid-column: auto !important; }
  .balance-payment-main,
  .balance-bank-column,
  .initial-transfer-selector,
  .initial-bank-column { min-height: 0 !important; height: auto !important; }
  .balance-section-heading,
  .payment-bank-card-head { min-height: auto !important; }
}

@media (max-width: 900px) {
  .main-nav .language-switcher {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 14px auto 0 !important;
  }
  .main-nav .language-current {
    width: auto !important;
    min-width: 104px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .main-nav .language-current i {
    position: static !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin: -3px 0 0 0 !important;
    flex: 0 0 8px !important;
  }
  .main-nav .language-switcher.open .language-current i {
    transform: rotate(225deg) !important;
    margin-top: 2px !important;
  }
  .main-nav .language-menu {
    width: min(280px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =====================================================================
   V50 — WhatsApp danışma CTA and PDF ticket status alignment polish
   ===================================================================== */
.nav-whatsapp,
.btn-whatsapp {
  --wa: #22c55e;
  --wa-dark: #128c4a;
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(34, 197, 94, .46) !important;
  color: var(--wa-dark) !important;
  background: linear-gradient(135deg, #ffffff, #eefdf4) !important;
  box-shadow: 0 14px 34px rgba(34, 197, 94, .16), inset 0 0 0 1px rgba(255,255,255,.72);
  overflow: hidden;
}
.nav-whatsapp::before,
.btn-whatsapp::before {
  content: "";
  position: absolute;
  inset: -65% auto -65% -45%;
  width: 28%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(34,197,94,.22), transparent);
  transition: transform .55s ease;
}
.nav-whatsapp:hover::before,
.btn-whatsapp:hover::before { transform: translateX(680%) rotate(18deg); }
.main-nav a.nav-whatsapp::after { display: none !important; }
.nav-whatsapp .wa-mark,
.btn-whatsapp .wa-mark {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #25d366, #128c4a);
  box-shadow: 0 8px 20px rgba(18, 140, 74, .30);
}
.nav-whatsapp svg,
.btn-whatsapp svg { width: 19px; height: 19px; fill: currentColor; display: block; }
.nav-whatsapp b,
.btn-whatsapp span:not(.wa-mark) {
  position: relative;
  z-index: 1;
  font-weight: 900;
  letter-spacing: .01em;
}
.main-nav .nav-whatsapp {
  min-height: 42px;
  padding: 7px 13px !important;
  border-radius: 14px;
  font-size: 12.5px !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}
.btn-whatsapp-hero {
  min-width: 178px;
  min-height: 56px;
  padding-inline: 17px;
  border-radius: 16px;
  font-size: 14px;
}
.hero-actions-centered { align-items: center; }

@media (max-width: 1180px) {
  .main-nav .nav-whatsapp b { display: none; }
  .main-nav .nav-whatsapp { padding-inline: 9px !important; }
}

@media (max-width: 920px) {
  .main-nav .nav-whatsapp {
    width: 100%;
    min-height: 48px;
    margin: 6px 0 0 !important;
    justify-content: center !important;
    padding: 9px 14px !important;
    font-size: 14px !important;
  }
  .main-nav .nav-whatsapp b { display: inline; }
  .main-nav .nav-whatsapp .wa-mark { width: 30px; height: 30px; flex-basis: 30px; }
  .hero-actions.hero-actions-centered {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 12px;
  }
  .hero-actions.hero-actions-centered .btn { width: 100%; }
  .btn-whatsapp-hero { min-width: 0; }
}

/* =====================================================================
   V51 — icon-only WhatsApp CTA and tighter homepage closing CTA
   ===================================================================== */
.nav-whatsapp,
.btn-whatsapp {
  --wa: #25d366;
  --wa-dark: #128c4a;
  color: #fff !important;
  border-color: rgba(37, 211, 102, .78) !important;
  background: linear-gradient(135deg, #25d366 0%, #18b858 52%, #128c4a 100%) !important;
  box-shadow: 0 14px 32px rgba(18, 140, 74, .26), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.nav-whatsapp:hover,
.btn-whatsapp:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(18, 140, 74, .32), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
.nav-whatsapp::before,
.btn-whatsapp::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent) !important;
}
.nav-whatsapp .wa-mark,
.btn-whatsapp .wa-mark {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  color: #fff !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.nav-whatsapp svg,
.btn-whatsapp svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor !important;
}
.nav-whatsapp b,
.btn-whatsapp span:not(.wa-mark) { display: none !important; }
.main-nav .nav-whatsapp {
  width: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 14px !important;
}
.btn-whatsapp-hero {
  width: 58px !important;
  min-width: 58px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border-radius: 16px !important;
}
.hero-actions-centered { gap: 11px !important; }
.process-section { padding-bottom: 46px !important; }
.final-cta-section { padding-top: 0 !important; margin-top: -6px !important; }
.final-cta { min-height: 190px !important; padding-top: 24px !important; padding-bottom: 24px !important; }

@media (max-width: 920px) {
  .main-nav .nav-whatsapp {
    width: 54px !important;
    min-width: 54px !important;
    min-height: 50px !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
  }
  .hero-actions.hero-actions-centered {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 10px !important;
  }
  .hero-actions.hero-actions-centered .btn-ticket { grid-column: 1; width: 100% !important; }
  .hero-actions.hero-actions-centered .btn-whatsapp-hero { grid-column: 2; width: 58px !important; min-width: 58px !important; }
  .hero-actions.hero-actions-centered .btn-secondary { grid-column: 1 / -1; width: 100% !important; }
  .final-cta-section { margin-top: -4px !important; }
}


/* =====================================================================
   V53 — WhatsApp hizalama ve siteyle uyumlu CTA rengi
   ===================================================================== */
.nav-whatsapp,
.btn-whatsapp {
  color: #ffffff !important;
  border-color: rgba(128, 194, 240, .34) !important;
  background:
    radial-gradient(circle at 28% 12%, rgba(96, 186, 255, .28), transparent 38%),
    linear-gradient(135deg, rgba(9, 31, 54, .98) 0%, rgba(13, 72, 117, .95) 48%, rgba(189, 23, 47, .92) 100%) !important;
  box-shadow: 0 16px 36px rgba(6, 28, 49, .34), 0 8px 24px rgba(194, 26, 51, .14), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.nav-whatsapp:hover,
.btn-whatsapp:hover {
  color: #ffffff !important;
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 20px 44px rgba(6, 28, 49, .40), 0 10px 30px rgba(194, 26, 51, .22), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.nav-whatsapp::before,
.btn-whatsapp::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent) !important;
}
.nav-whatsapp .wa-mark,
.btn-whatsapp .wa-mark {
  color: #ffffff !important;
  background: transparent !important;
  box-shadow: none !important;
}
.btn-whatsapp-hero {
  border-radius: 16px !important;
}

@media (min-width: 921px) {
  .hero-actions.hero-actions-centered .btn-whatsapp-hero {
    width: 60px !important;
    min-width: 60px !important;
    min-height: 56px !important;
  }
}

@media (max-width: 920px) {
  .main-nav {
    display: none;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
  }
  .main-nav.open { display: flex !important; }
  .main-nav > a:not(.nav-whatsapp) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .main-nav > .nav-whatsapp {
    order: 98 !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    align-self: center !important;
  }
  .main-nav > .language-switcher {
    order: 99 !important;
    flex: 0 0 110px !important;
    width: 110px !important;
    max-width: 110px !important;
    margin: 8px 0 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .main-nav > .language-switcher .language-current {
    width: 110px !important;
    min-width: 110px !important;
    min-height: 50px !important;
    height: 50px !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }
  .main-nav > .language-switcher .language-current i {
    position: static !important;
    margin: -3px 0 0 0 !important;
  }
  .main-nav > .language-switcher.open .language-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    right: auto !important;
    width: min(280px, 86vw) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 150 !important;
  }
  html[dir="rtl"] .main-nav > .language-switcher.open .language-menu {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}


.country-flag-emoji{width:44px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:27px;line-height:1;border-radius:8px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}

/* V63 — homepage country flags unified for admin-selected countries */
.country-flag-pill{
  align-items:center !important;
}
.country-flag-media{
  width:42px !important;
  height:30px !important;
  flex:0 0 42px !important;
  display:inline-grid !important;
  place-items:center !important;
  padding:3px !important;
  border-radius:9px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 8px 18px rgba(0,0,0,.23) !important;
  overflow:hidden !important;
}
.country-flag-media img,
.country-flag-pill img{
  width:34px !important;
  height:23px !important;
  max-width:34px !important;
  max-height:23px !important;
  flex:0 0 auto !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:5px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.12) !important;
}
.country-flag-media .country-flag-emoji{
  width:34px !important;
  height:23px !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:22px !important;
  line-height:1 !important;
  border-radius:5px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.country-flag-name{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:11px !important;
  font-weight:800 !important;
  color:#c5d3df !important;
}
@media (max-width:620px){
  .country-flag-media{width:42px !important;height:30px !important;flex:0 0 auto !important;}
  .country-flag-name{width:100% !important;overflow:visible !important;text-overflow:clip !important;white-space:normal !important;font-size:11px !important;line-height:1.25 !important;}
}

/* =====================================================================
   V64 — premium status badges & action buttons
   ===================================================================== */

@keyframes badgePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .72; transform: scale(.88); }
}

.badge {
  position: relative;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.4;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .14);
  backdrop-filter: blur(8px);
}

.badge::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
}

.badge-success {
  color: #8ef0c8;
  border-color: rgba(68, 211, 154, .32);
  background: linear-gradient(135deg, rgba(68, 211, 154, .16), rgba(37, 134, 95, .08));
}
.badge-success::before {
  background: #44d39a;
  box-shadow: 0 0 0 3px rgba(68, 211, 154, .18);
}

.badge-warning {
  color: #ffe4a8;
  border-color: rgba(242, 189, 89, .38);
  background: linear-gradient(135deg, rgba(242, 189, 89, .20), rgba(180, 120, 20, .10));
}
.badge-warning::before {
  background: #f2bd59;
  box-shadow: 0 0 0 3px rgba(242, 189, 89, .20);
  animation: badgePulse 2.4s ease-in-out infinite;
}

.badge-danger {
  color: #ffb8c2;
  border-color: rgba(255, 115, 129, .34);
  background: linear-gradient(135deg, rgba(255, 115, 129, .16), rgba(180, 40, 60, .08));
}
.badge-danger::before {
  background: #ff7381;
  box-shadow: 0 0 0 3px rgba(255, 115, 129, .18);
}

.badge-neutral {
  color: #c8d8e4;
  border-color: rgba(168, 186, 200, .22);
  background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
}
.badge-neutral::before {
  background: #8fa5b7;
  box-shadow: 0 0 0 3px rgba(143, 165, 183, .14);
}

.payment-dashboard-status .badge {
  max-width: 300px;
  min-height: 44px;
  padding: 11px 18px;
  font-size: 11.5px;
  text-align: center;
}

.payment-history-top .badge {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 8px 14px;
  font-size: 10.5px;
}

.btn {
  letter-spacing: .01em;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}

.btn:active {
  transform: translateY(0) scale(.98);
}

.btn-primary {
  color: #fff;
  border-color: rgba(255, 255, 255, .12);
  background: linear-gradient(135deg, #ee314b 0%, #c81835 52%, #9e0f28 100%);
  box-shadow: 0 14px 36px rgba(220, 32, 61, .30), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.btn-primary:hover {
  box-shadow: 0 18px 44px rgba(220, 32, 61, .38), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.btn-primary b,
.btn-large b {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .14);
  font-size: 14px;
  font-weight: 900;
  transition: background .2s ease, transform .2s ease;
}

.btn-primary:hover b,
.btn-large:hover b {
  background: rgba(255, 255, 255, .22);
  transform: translateX(2px);
}

.btn-secondary {
  color: #e4eef6;
  border-color: rgba(160, 201, 231, .28);
  background: linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
}

.btn-secondary:hover {
  color: #fff;
  border-color: rgba(113, 194, 251, .55);
  background: linear-gradient(145deg, rgba(58, 145, 211, .14), rgba(255, 255, 255, .04));
  box-shadow: 0 12px 28px rgba(19, 111, 181, .16);
}

.btn-small {
  min-height: 44px;
  padding-inline: 18px;
  font-size: 12.5px;
  border-radius: 12px;
}

.btn-large {
  min-height: 60px;
  padding-inline: 24px;
  font-size: 15px;
  border-radius: 16px;
}

.copy-btn,
.code-copy-btn {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid rgba(113, 194, 251, .30);
  border-radius: 10px;
  color: #7ec9ff;
  background: linear-gradient(145deg, rgba(57, 151, 221, .12), rgba(57, 151, 221, .05));
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.copy-btn:hover,
.code-copy-btn:hover {
  transform: translateY(-1px);
  color: #fff;
  border-color: rgba(113, 194, 251, .55);
  background: linear-gradient(145deg, rgba(57, 151, 221, .28), rgba(57, 151, 221, .12));
}

.payment-dashboard-actions {
  gap: 12px;
  padding: 4px 20px 22px;
}

.payment-dashboard-actions .btn-primary {
  min-width: 200px;
}

@media (max-width: 720px) {
  .payment-dashboard-status .badge {
    max-width: 100%;
    width: 100%;
  }
  .payment-dashboard-actions .btn-primary {
    min-width: 0;
  }
}

/* SEO content pages */
.content-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.content-card {
  padding: 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(8, 14, 24, .72);
}
.content-card h2 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}
.content-card.full-width {
  grid-column: 1 / -1;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  font-size: .88rem;
  color: #8fa7b9;
}
.breadcrumb a {
  color: #b9d7f0;
}
.province-list {
  columns: 3;
  gap: 24px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.province-list li {
  break-inside: avoid;
  padding: 4px 0;
  color: #c7d6e3;
}
.faq-item {
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 12px;
  background: rgba(8, 14, 24, .55);
}
.faq-item summary {
  cursor: pointer;
  font-weight: 600;
}
.home-link-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.home-link-grid a {
  display: block;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(8, 14, 24, .55);
  color: #e8f2fb;
  text-decoration: none;
}
.home-link-grid a:hover {
  border-color: rgba(113, 194, 251, .45);
}
@media (max-width: 720px) {
  .province-list {
    columns: 2;
  }
}

/* V67 — Mobil event ribbon kaydırma */
.event-ribbon-marquee {
  display: flex;
  align-items: center;
  width: 100%;
}

.event-ribbon-marquee-group {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.event-ribbon-marquee-group > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  line-height: 1;
}

.event-ribbon-marquee-group > span > i {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  font-style: normal;
  line-height: 0;
  margin: 0;
  border-radius: 50%;
  background: #58c8ff;
  box-shadow: 0 0 14px rgba(88, 200, 255, .92);
}

@media (min-width: 921px) {
  .event-ribbon-marquee-group[aria-hidden="true"] {
    display: none;
  }

  .event-ribbon-marquee-group:first-child {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 920px) {
  .event-ribbon-inner {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    padding-inline: 0 !important;
  }

  .event-ribbon-marquee {
    width: max-content;
    gap: 40px;
    padding-inline: 14px;
    animation: eventRibbonMarquee 22s linear infinite;
  }

  .event-ribbon-marquee-group {
    gap: 40px;
  }

  .event-ribbon-trust {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
  }
}

@keyframes eventRibbonMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .event-ribbon-marquee {
    animation: none;
    width: 100%;
    justify-content: center;
  }

  .event-ribbon-marquee-group[aria-hidden="true"] {
    display: none;
  }
}

/* =====================================================================
   V69–V74 — Hero stage (no portrait images)
   ===================================================================== */
.hero-v42.hero-stage {
  overflow: hidden;
  align-items: start;
  align-content: start;
  justify-items: center;
  min-height: auto;
  padding: clamp(16px, 2.5vh, 28px) 0 clamp(56px, 7vh, 80px);
}

.hero-stage {
  position: relative;
  isolation: isolate;
  place-items: start center;
}

.hero-stage .hero-glow-one {
  width: 520px;
  height: 520px;
  right: -6%;
  top: 18%;
  background: radial-gradient(circle, rgba(234, 45, 70, .18), transparent 68%);
}

.hero-stage .hero-glow-two {
  width: 640px;
  height: 640px;
  left: -14%;
  bottom: -12%;
  background: radial-gradient(circle, rgba(29, 133, 210, .24), transparent 66%);
}

.hero-stage-arc-blue {
  position: absolute;
  left: -8%;
  top: 50%;
  width: min(40vw, 480px);
  height: min(40vw, 480px);
  transform: translateY(-50%);
  border: 1.5px solid rgba(61, 169, 245, .28);
  border-radius: 50%;
  box-shadow: 0 0 90px rgba(29, 133, 210, .16), inset 0 0 70px rgba(29, 133, 210, .06);
  pointer-events: none;
  z-index: 0;
}

.hero-stage-ring-red {
  position: absolute;
  right: -8%;
  top: 50%;
  width: min(40vw, 480px);
  height: min(40vw, 480px);
  transform: translateY(-50%);
  border: 1.5px solid rgba(239, 59, 84, .3);
  border-radius: 50%;
  box-shadow: 0 0 90px rgba(234, 45, 70, .12), inset 0 0 70px rgba(234, 45, 70, .05);
  pointer-events: none;
  z-index: 0;
}

.hero-stage .hero-centered {
  position: relative;
  z-index: 2;
}

.hero-v42.hero-stage h1 em {
  color: inherit;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.hero-v42.hero-stage h1 .hero-fest-brand {
  color: #75d0ff;
}

.hero-v42.hero-stage h1 .hero-fest-edition {
  color: #ef3b54;
}

.hero-v42.hero-stage .hero-intro-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: min(100%, 760px);
  margin: 0 auto 2px;
  text-align: center;
}

.hero-v42.hero-stage .hero-brand-lockup {
  width: clamp(148px, 15vw, 180px);
  height: clamp(148px, 15vw, 180px);
  margin: 0;
  animation: none;
}

.hero-v42.hero-stage .hero-brand-lockup img {
  filter: drop-shadow(0 24px 38px rgba(0, 0, 0, .52));
}

.hero-v42.hero-stage .hero-intro-lockup .eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: min(100%, 680px);
  margin: 0;
  padding: 10px 18px;
  line-height: 1.35;
  text-align: center;
}

.hero-v42.hero-stage .hero-intro-lockup .eyebrow i {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin-top: 0;
}

.hero-title-lockup {
  width: min(960px, 100%);
  margin: 16px 0 18px;
  line-height: 0;
}

.hero-title-lockup img {
  display: block;
  width: 100%;
  height: auto;
  max-height: clamp(112px, 20vw, 280px);
  margin-inline: auto;
  object-fit: contain;
}

@media (max-width: 640px) {
  .hero-title-lockup {
    width: min(100%, 560px);
    margin: 18px 0 16px;
  }

  .hero-title-lockup img {
    max-height: none;
    min-height: 88px;
  }
}

.hero-stage .countdown-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #b9d6e9;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: none;
}

.hero-stage .countdown-label::before,
.hero-stage .countdown-label::after {
  content: "";
  flex: 1;
  max-width: 110px;
  height: 1px;
}

.hero-stage .countdown-label::before {
  background: linear-gradient(90deg, transparent, rgba(61, 169, 245, .75));
}

.hero-stage .countdown-label::after {
  background: linear-gradient(90deg, rgba(239, 59, 84, .75), transparent);
}

@media (max-width: 860px) {
  .hero-v42.hero-stage {
    padding-top: 14px;
    padding-bottom: 58px;
  }

  .hero-v42.hero-stage .hero-intro-lockup {
    gap: 12px;
  }

  .hero-v42.hero-stage .hero-brand-lockup {
    width: clamp(132px, 24vw, 168px);
    height: clamp(132px, 24vw, 168px);
  }

  .hero-v42.hero-stage .hero-intro-lockup .eyebrow {
    max-width: min(100%, 560px);
    padding: 9px 14px;
    font-size: 9px;
    letter-spacing: .1em;
  }

  .hero-stage-arc-blue,
  .hero-stage-ring-red {
    opacity: .45;
  }
}

@media (max-width: 600px) {
  .hero-v42.hero-stage {
    padding-top: 10px;
    padding-bottom: 48px;
  }

  .hero-v42.hero-stage .hero-intro-lockup {
    gap: 10px;
    width: 100%;
    padding-inline: 2px;
  }

  .hero-v42.hero-stage .hero-brand-lockup {
    width: clamp(120px, 32vw, 152px);
    height: clamp(120px, 32vw, 152px);
  }

  .hero-v42.hero-stage .hero-intro-lockup .eyebrow {
    width: 100%;
    max-width: none;
    padding: 8px 12px;
    font-size: 8.5px;
    letter-spacing: .08em;
    line-height: 1.4;
  }

  .hero-title-lockup {
    margin-top: 14px;
  }

  .hero-stage-arc-blue {
    left: -14%;
    width: 240px;
    height: 240px;
  }

  .hero-stage-ring-red {
    right: -14%;
    width: 240px;
    height: 240px;
    opacity: .4;
  }

  .hero-stage .countdown-label::before,
  .hero-stage .countdown-label::after {
    max-width: 48px;
  }
}

/* =====================================================================
   V81 — International participation block (mockup layout)
   ===================================================================== */
.intl-participation-section {
  position: relative;
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(ellipse 130% 70% at 50% -8%, rgba(0, 132, 210, .28), transparent 58%),
    radial-gradient(ellipse 90% 45% at 50% 100%, rgba(0, 110, 190, .18), transparent 62%),
    linear-gradient(180deg, #02060d 0%, #041525 42%, #030912 100%);
}

.intl-participation-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 168, 255, .35) 18%, rgba(0, 220, 255, .95) 50%, rgba(0, 168, 255, .35) 82%, transparent 100%);
  box-shadow: 0 0 18px rgba(0, 190, 255, .45);
}

.intl-participation-glow {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 168, 255, .35) 18%, rgba(0, 220, 255, .95) 50%, rgba(0, 168, 255, .35) 82%, transparent 100%);
  box-shadow: 0 0 18px rgba(0, 190, 255, .45);
}

.intl-participation-glow-top {
  top: 0;
  margin: 0;
}

.intl-participation-inner {
  position: relative;
  z-index: 2;
  padding: 24px 0 26px;
}

.intl-participation-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle at 18% 42%, rgba(0, 180, 255, .14) 0, rgba(0, 180, 255, .14) 1px, transparent 2px),
    radial-gradient(circle at 34% 36%, rgba(0, 180, 255, .12) 0, rgba(0, 180, 255, .12) 1px, transparent 2px),
    radial-gradient(circle at 52% 48%, rgba(0, 180, 255, .1) 0, rgba(0, 180, 255, .1) 1px, transparent 2px),
    radial-gradient(circle at 68% 40%, rgba(0, 180, 255, .12) 0, rgba(0, 180, 255, .12) 1px, transparent 2px),
    radial-gradient(circle at 82% 44%, rgba(0, 180, 255, .1) 0, rgba(0, 180, 255, .1) 1px, transparent 2px),
    radial-gradient(circle at 24% 58%, rgba(0, 180, 255, .08) 0, rgba(0, 180, 255, .08) 1px, transparent 2px),
    radial-gradient(circle at 46% 62%, rgba(0, 180, 255, .09) 0, rgba(0, 180, 255, .09) 1px, transparent 2px),
    radial-gradient(circle at 72% 60%, rgba(0, 180, 255, .08) 0, rgba(0, 180, 255, .08) 1px, transparent 2px);
  background-size: 48px 48px, 56px 56px, 64px 64px, 52px 52px, 60px 60px, 54px 54px, 58px 58px, 50px 50px;
  mask-image: radial-gradient(ellipse 88% 78% at 50% 50%, #000 20%, transparent 88%);
}

.intl-participation-glow-bottom {
  display: none;
}

.confidence-grid-v81 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 22px 0 30px !important;
}

.confidence-grid-v81 > div {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(56, 168, 240, .38) !important;
  border-radius: 14px !important;
  background: rgba(3, 16, 30, .78) !important;
  box-shadow: 0 0 28px rgba(0, 140, 220, .1), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

.confidence-grid-v81 .confidence-icon {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  border: 1px solid rgba(72, 188, 255, .42) !important;
  border-radius: 11px !important;
  color: #58c8ff !important;
  background: rgba(8, 40, 68, .55) !important;
  box-shadow: 0 0 18px rgba(0, 160, 255, .16) !important;
}

.confidence-grid-v81 strong {
  display: block;
  color: #eef6fc !important;
  font-size: 13px !important;
  line-height: 1.25;
}

.confidence-grid-v81 small {
  display: block;
  margin-top: 4px !important;
  color: #7fa0b8 !important;
  font-size: 11px !important;
  line-height: 1.4;
}

.country-showcase-head-v81 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) auto minmax(0, .95fr) !important;
  align-items: center !important;
  gap: clamp(20px, 3vw, 36px) !important;
  margin-bottom: 26px !important;
}

.country-showcase-head-v81 .section-kicker {
  display: block;
  margin-bottom: 10px;
  color: #67c8ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.country-showcase-head-v81 h2 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 !important;
  line-height: 1.04;
  letter-spacing: -.04em;
}

.country-showcase-title-accent {
  font-family: Sora, Inter, sans-serif;
  font-size: clamp(30px, 4.2vw, 48px);
  font-weight: 800;
  background: linear-gradient(90deg, #58c8ff 0%, #dff4ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.country-showcase-title-main {
  font-family: Sora, Inter, sans-serif;
  font-size: clamp(30px, 4.2vw, 48px);
  font-weight: 800;
  color: #fff;
}

.country-showcase-head-divider {
  width: 2px;
  height: clamp(64px, 8vw, 88px);
  background: linear-gradient(180deg, transparent, rgba(0, 188, 255, .75), transparent);
  box-shadow: 0 0 14px rgba(0, 180, 255, .45);
}

.country-showcase-head-text {
  margin: 0 !important;
  color: #d8e6f0 !important;
  font-size: clamp(14px, 1.5vw, 17px) !important;
  line-height: 1.65 !important;
}

.country-flag-rail-v81 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 10px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}

.country-flag-pill-v81 {
  min-height: 54px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(48, 162, 235, .42) !important;
  border-radius: 12px !important;
  color: #eef6fc !important;
  background: rgba(2, 14, 26, .82) !important;
  box-shadow: 0 0 20px rgba(0, 130, 220, .1), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.country-flag-pill-v81:hover {
  transform: translateY(-2px);
  border-color: rgba(72, 196, 255, .62) !important;
  box-shadow: 0 0 26px rgba(0, 160, 255, .22), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

.country-flag-pill-v81 .country-flag-name {
  color: #eef6fc !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 1100px) {
  .country-flag-rail-v81 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  .confidence-grid-v81 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .country-showcase-head-v81 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .country-showcase-head-divider {
    display: none;
  }

  .country-flag-rail-v81 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .intl-participation-inner {
    padding-bottom: 22px;
  }

  .confidence-grid-v81 {
    grid-template-columns: 1fr !important;
    padding-top: 16px !important;
    padding-bottom: 22px !important;
  }

  .country-flag-rail-v81 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .country-flag-pill-v81 {
    min-height: 50px !important;
    padding: 9px 10px !important;
  }

  .country-showcase-title-accent,
  .country-showcase-title-main {
    font-size: clamp(26px, 8vw, 34px);
  }
}

/* V82 — tighter hero top spacing on desktop */
@media (min-width: 861px) {
  .hero.hero-v42.hero-stage {
    padding-top: 6px !important;
  }

  .hero-v42.hero-stage .hero-intro-lockup {
    margin-top: -4px;
    gap: 12px;
  }
}

/* V83 — mobile header: hide nav logo, menu right */
@media (max-width: 980px) {
  .site-header .brand-lockup {
    display: none !important;
  }

  .site-header {
    height: auto !important;
  }

  .site-header .header-inner {
    justify-content: flex-end !important;
    min-height: 52px !important;
    padding-block: 6px;
  }

  .site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 12px 11px;
    border: 1px solid rgba(88, 170, 240, .32);
    border-radius: 13px;
    background: rgba(6, 20, 34, .82);
    box-shadow: 0 0 20px rgba(0, 140, 220, .14);
  }

  .site-header .menu-toggle span:not(.sr-only) {
    display: block;
    width: 18px;
    height: 2px;
    margin: 0;
    border-radius: 2px;
    background: #edf6ff;
  }

  .site-header .main-nav {
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    border-radius: 0 0 18px 18px;
  }
}

/* V86 — equal country flag box sizes */
.country-flag-pill-v81 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.country-flag-pill-v81 .country-flag-media {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  flex: 0 0 40px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: rgba(0, 0, 0, .32) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1) !important;
}

.country-flag-pill-v81 .country-flag-media img,
.country-flag-pill-v81 img {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  min-height: 28px !important;
  max-width: 40px !important;
  max-height: 28px !important;
  flex: 0 0 40px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.country-flag-pill-v81 .country-flag-media .country-flag-emoji {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  min-height: 28px !important;
  flex: 0 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.country-flag-pill-v81 .country-flag-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* =====================================================================
   V87 — Premium hero background
   ===================================================================== */
.hero.hero-v42.hero-stage {
  background: #020508;
}

.hero.hero-v42.hero-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 58% 46% at 50% 18%, rgba(42, 148, 220, .16), transparent 70%),
    radial-gradient(ellipse 44% 58% at 6% 50%, rgba(0, 128, 220, .24), transparent 74%),
    radial-gradient(ellipse 44% 58% at 94% 50%, rgba(220, 48, 78, .2), transparent 74%),
    linear-gradient(180deg, #020508 0%, #040c16 46%, #020508 100%);
}

.hero.hero-v42.hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 88% 78% at 50% 44%, transparent 36%, rgba(2, 5, 8, .48) 100%),
    linear-gradient(180deg, rgba(2, 5, 8, .35) 0%, transparent 18%, transparent 82%, rgba(2, 5, 8, .5) 100%);
}

.hero-v42.hero-stage .hero-grid-lines {
  z-index: 1;
  opacity: .1;
  mask-image: radial-gradient(ellipse 72% 64% at 50% 38%, #000 18%, transparent 80%);
}

.hero-v42.hero-stage .hero-glow {
  z-index: 1;
  filter: blur(90px);
  opacity: .9;
}

.hero-v42.hero-stage .hero-glow-one {
  width: min(54vw, 720px);
  height: min(54vw, 720px);
  right: -14%;
  top: 44%;
  bottom: auto;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(235, 52, 82, .34) 0%, rgba(235, 52, 82, .1) 42%, transparent 70%);
}

.hero-v42.hero-stage .hero-glow-two {
  width: min(54vw, 720px);
  height: min(54vw, 720px);
  left: -14%;
  top: 44%;
  bottom: auto;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(38, 158, 240, .36) 0%, rgba(38, 158, 240, .11) 42%, transparent 70%);
}

.hero-v42.hero-stage .hero-stage-arc-blue {
  left: -11%;
  top: 44%;
  width: min(38vw, 500px);
  height: min(38vw, 500px);
  opacity: .5;
  border-width: 1px;
  border-color: rgba(72, 180, 255, .24);
  box-shadow: 0 0 70px rgba(29, 133, 210, .14), inset 0 0 50px rgba(29, 133, 210, .05);
}

.hero-v42.hero-stage .hero-stage-ring-red {
  right: -11%;
  top: 44%;
  width: min(38vw, 500px);
  height: min(38vw, 500px);
  opacity: .5;
  border-width: 1px;
  border-color: rgba(240, 70, 95, .24);
  box-shadow: 0 0 70px rgba(234, 45, 70, .12), inset 0 0 50px rgba(234, 45, 70, .05);
}

.hero-v42.hero-stage .hero-centered {
  z-index: 2;
}

@media (max-width: 860px) {
  .hero-v42.hero-stage .hero-glow-one,
  .hero-v42.hero-stage .hero-glow-two {
    width: min(70vw, 420px);
    height: min(70vw, 420px);
    filter: blur(70px);
    opacity: .75;
  }

  .hero-v42.hero-stage .hero-stage-arc-blue,
  .hero-v42.hero-stage .hero-stage-ring-red {
    width: min(52vw, 320px);
    height: min(52vw, 320px);
    opacity: .38;
  }
}

/* =====================================================================
   V88 — mobile: logo in menu, hero top aligned
   ===================================================================== */
.nav-menu-brand {
  display: none;
}

@media (max-width: 980px) {
  .nav-menu-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 2px 0 14px;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: none !important;
  }

  .nav-menu-brand::after {
    display: none !important;
  }

  .nav-menu-brand img {
    width: 108px;
    height: 108px;
    object-fit: contain;
    filter: drop-shadow(0 14px 28px rgba(0, 0, 0, .42));
  }

  .page-index .nav-menu-brand {
    display: none !important;
  }

  .hero-v42.hero-stage .hero-intro-lockup {
    gap: 0;
    margin: 0 auto 4px;
    width: min(100%, 680px);
  }

  .hero-v42.hero-stage .hero-intro-lockup .eyebrow {
    margin-top: 0;
  }

  .hero-v42.hero-stage .hero-title-lockup {
    margin-top: 12px;
  }
}

@media (max-width: 600px) {
  .hero-v42.hero-stage {
    padding-top: 6px;
  }

  .hero-v42.hero-stage .hero-intro-lockup {
    padding-inline: 0;
  }

  .hero-v42.hero-stage .hero-title-lockup {
    margin-top: 10px;
  }
}

/* =====================================================================
   V89 — equal flags, premium flag frame, admin-added countries fix
   ===================================================================== */
.intl-participation-section .country-flag-rail-v81 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 10px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
  scroll-snap-type: none !important;
}

.intl-participation-section .country-flag-pill-v81 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  flex: unset !important;
  scroll-snap-align: none !important;
}

.intl-participation-section .country-flag-pill-v81 .country-flag-media {
  width: 44px !important;
  height: 30px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 7px !important;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .04) 58%, rgba(0, 0, 0, .18)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .14),
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 8px 18px rgba(0, 0, 0, .28) !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.intl-participation-section .country-flag-pill-v81 .country-flag-media img,
.intl-participation-section .country-flag-pill-v81 img.country-flag-img {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  flex: 0 0 40px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .22) !important;
  background: rgba(0, 0, 0, .12) !important;
}

.intl-participation-section .country-flag-pill-v81 .country-flag-media .country-flag-emoji {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  flex: 0 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, .06) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1) !important;
}

.intl-participation-section .country-flag-pill-v81 .country-flag-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #eef6fc !important;
}

@media (max-width: 1100px) {
  .intl-participation-section .country-flag-rail-v81 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  .intl-participation-section .country-flag-rail-v81 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .intl-participation-section .country-flag-rail-v81 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }

  .intl-participation-section .country-flag-pill-v81 {
    flex-direction: row !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (max-width: 430px) {
  .intl-participation-section .country-flag-rail-v81 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =====================================================================
   V90 — mobile event ribbon: top marquee scroll left
   ===================================================================== */
@media (max-width: 980px) {
  .event-ribbon {
    display: flex !important;
    align-items: center !important;
    height: 34px !important;
    color: #f4f8fc !important;
    background: #000 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    z-index: 96 !important;
    overflow: hidden !important;
  }

  .event-ribbon .event-ribbon-inner.container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .event-ribbon-marquee {
    display: flex !important;
    align-items: center !important;
    width: max-content !important;
    gap: 48px !important;
    padding-inline: 16px !important;
    animation: eventRibbonMarquee 26s linear infinite !important;
  }

  .event-ribbon-marquee-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 48px !important;
    flex-shrink: 0 !important;
  }

  .event-ribbon-marquee-group[aria-hidden="true"] {
    display: inline-flex !important;
  }

  .event-ribbon-marquee-group > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #f4f8fc !important;
  }

  .event-ribbon-trust {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #f4f8fc !important;
  }

  .event-ribbon b {
    color: rgba(255, 255, 255, .42) !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 980px) and (prefers-reduced-motion: reduce) {
  .event-ribbon-marquee {
    animation: none !important;
    width: 100% !important;
    justify-content: center !important;
    padding-inline: 12px !important;
  }

  .event-ribbon-marquee-group[aria-hidden="true"] {
    display: none !important;
  }
}

/* =====================================================================
   V92 — mobile hero fix (centered logo, pill under logo)
   ===================================================================== */
@media (max-width: 980px) {
  .page-index .hero-v42.hero-stage {
    display: block !important;
    min-height: auto !important;
    padding: 10px 0 36px !important;
    overflow: hidden !important;
  }

  .page-index .hero-v42.hero-stage .container.hero-centered {
    width: min(1280px, calc(100% - 32px)) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .page-index .hero-v42.hero-stage .hero-intro-lockup {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto 18px !important;
    padding: 8px 0 0 !important;
    box-sizing: border-box !important;
  }

  .page-index .hero-v42.hero-stage .hero-brand-lockup {
    display: grid !important;
    place-items: center !important;
    width: min(64vw, 260px) !important;
    height: min(64vw, 260px) !important;
    margin: 0 auto !important;
    flex: none !important;
    align-self: center !important;
  }

  .page-index .hero-v42.hero-stage .hero-brand-lockup img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .52)) !important;
  }

  .page-index .hero-v42.hero-stage .hero-eyebrow-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 999px !important;
    background: rgba(3, 10, 18, .55) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
    color: #eef6fc !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .page-index .hero-v42.hero-stage .hero-eyebrow-pill > i {
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #58c8ff !important;
    box-shadow: 0 0 14px rgba(88, 200, 255, .95) !important;
  }

  .page-index .hero-v42.hero-stage .hero-title-lockup {
    width: 100% !important;
    margin-top: 4px !important;
  }
}

/* =====================================================================
   V93 — mobile header/menu: transparent background
   ===================================================================== */
@media (max-width: 980px) {
  .site-header,
  .site-header.scrolled {
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .site-header .menu-toggle {
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* =====================================================================
   V95 — mobile index: menu aligned with logo (slightly above)
   ===================================================================== */
@media (max-width: 980px) {
  .page-index .site-header {
    position: relative !important;
    top: auto !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  .page-index .site-header .header-inner {
    position: static !important;
    min-height: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .page-index .site-header .menu-toggle {
    pointer-events: auto !important;
    position: fixed !important;
    top: calc(34px + 10px + 8px - 6px) !important;
    right: 16px !important;
    z-index: 101 !important;
    margin: 0 !important;
  }

  .page-index .site-header .main-nav {
    pointer-events: auto !important;
    position: fixed !important;
    top: calc(34px + 10px + 8px - 6px + 46px + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
  }

  .page-index .hero-v42.hero-stage {
    padding-top: 10px !important;
  }

  .page-index .hero-v42.hero-stage .hero-intro-lockup {
    padding-top: 8px !important;
  }
}

/* =====================================================================
   V96 — mobile open menu: aligned panel & items
   ===================================================================== */
@media (max-width: 980px) {
  .site-header .main-nav,
  .site-header .main-nav.open {
    display: none;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    padding: 8px 16px 18px !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 20px 20px !important;
    background: rgba(5, 10, 18, .97) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .48) !important;
    z-index: 100 !important;
  }

  .site-header .main-nav.open {
    display: flex !important;
  }

  .site-header .main-nav > .nav-menu-brand {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 2px 0 12px !important;
    margin: 0 0 4px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    background: none !important;
  }

  .site-header .main-nav > .nav-menu-brand::after {
    display: none !important;
  }

  .page-index .site-header .main-nav > .nav-menu-brand {
    display: none !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 11px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #c8d6e2 !important;
    text-align: center !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand):hover,
  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand).active {
    color: #fff !important;
    background: rgba(255, 255, 255, .06) !important;
  }

  .site-header .main-nav > a.active::after {
    left: 22% !important;
    right: 22% !important;
    bottom: 5px !important;
    transform: scaleX(1) !important;
  }

  .site-header .main-nav .nav-cta {
    order: 10 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 52px !important;
    margin: 10px 0 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  .site-header .main-nav .nav-cta span {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .site-header .main-nav > .nav-whatsapp {
    order: 98 !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;
    align-self: center !important;
  }

  .site-header .main-nav > .language-switcher {
    order: 99 !important;
    flex: 0 0 100px !important;
    width: 100px !important;
    max-width: 100px !important;
    margin: 10px auto 0 !important;
    align-self: center !important;
    display: flex !important;
    justify-content: center !important;
  }

  .site-header .main-nav > .language-switcher .language-current {
    width: 100px !important;
    min-width: 100px !important;
    min-height: 50px !important;
    height: 50px !important;
    justify-content: center !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }

  .page-index .site-header .main-nav {
    top: calc(34px + 10px + 8px - 6px + 46px + 4px) !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* =====================================================================
   V97 — mobile hero background image (harmonized)
   ===================================================================== */
@media (max-width: 980px) {
  .page-index .hero.hero-v42.hero-stage {
    background: #020508 !important;
  }

  .page-index .hero.hero-v42.hero-stage::before {
    display: block !important;
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: url('../images/hero-mobile-bg.png?v=3') center top / cover no-repeat;
    filter: hue-rotate(-32deg) saturate(0.78) brightness(0.66) contrast(1.08);
    transform: scale(1.03);
    transform-origin: center top;
  }

  .page-index .hero.hero-v42.hero-stage::after {
    display: block !important;
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      radial-gradient(ellipse 62% 48% at 12% 78%, rgba(88, 200, 255, .24), transparent 66%),
      radial-gradient(ellipse 50% 42% at 90% 76%, rgba(239, 59, 84, .11), transparent 62%),
      radial-gradient(ellipse 78% 58% at 50% 20%, rgba(38, 158, 240, .14), transparent 72%),
      linear-gradient(180deg, rgba(2, 5, 8, .84) 0%, rgba(2, 8, 16, .24) 40%, rgba(2, 5, 8, .52) 70%, rgba(2, 5, 8, .9) 100%);
  }

  .page-index .hero-v42.hero-stage .hero-grid-lines,
  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two,
  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    display: none !important;
  }
}

/* =====================================================================
   V98 — mobile menu: fill top gap, WA + lang side by side
   ===================================================================== */
@media (min-width: 981px) {
  .nav-mobile-tools {
    display: contents;
  }
}

@media (max-width: 980px) {
  .site-header .main-nav.open {
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    padding-top: calc(12px + 46px + 8px) !important;
    z-index: 99 !important;
  }

  body:not(.page-index) .site-header .main-nav.open {
    padding-top: calc(52px + 10px) !important;
  }

  .site-header .nav-mobile-tools {
    order: 98 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
  }

  .site-header .nav-mobile-tools .language-switcher {
    flex: 0 0 52px !important;
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: center !important;
    border-radius: 14px !important;
    font-size: 11px !important;
    letter-spacing: .06em !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current span {
    font-size: 11px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current i {
    display: none !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 30px !important;
    height: 30px !important;
  }
}

/* =====================================================================
   V99 — logo turquoise status dots (ribbon + eyebrow, PC & mobile)
   ===================================================================== */
.event-ribbon span > i,
.event-ribbon-marquee-group > span > i,
.hero-eyebrow-pill > i,
.hero-v42.hero-stage .hero-intro-lockup .eyebrow i {
  background: #58c8ff !important;
  box-shadow: 0 0 14px rgba(88, 200, 255, .92) !important;
}

/* =====================================================================
   V101 — mobile left half drawer menu
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop {
    display: none;
    position: fixed;
    top: 34px;
    left: min(50vw, 340px);
    right: 0;
    bottom: 0;
    z-index: 98;
    background: rgba(0, 0, 0, .52);
    border: 0;
    padding: 0;
  }

  .nav-mobile-backdrop.active {
    display: block;
  }

  body.menu-open {
    overflow: hidden;
  }

  .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    margin: 0 !important;
    padding: 10px 14px 22px !important;
    gap: 4px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border: none !important;
    border-right: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 18px 18px 0 !important;
    box-shadow: 12px 0 40px rgba(0, 0, 0, .42) !important;
    z-index: 100 !important;
    animation: menuDrawerIn .22s ease both;
  }

  body.menu-open .site-header .main-nav > .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 0 8px !important;
    padding: 11px !important;
    z-index: 1 !important;
  }

  body:not(.menu-open) .site-header .menu-toggle {
    position: fixed !important;
    top: calc(34px + 12px) !important;
    right: 16px !important;
    left: auto !important;
    z-index: 101 !important;
  }

  body:not(.menu-open).page-index .site-header .menu-toggle {
    top: calc(34px + 10px + 8px - 6px) !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 10px 12px !important;
    min-height: 44px !important;
    font-size: 12px !important;
    letter-spacing: .09em !important;
  }

  .site-header .main-nav > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
    transform: scaleX(1) !important;
  }

  .site-header .main-nav .nav-cta {
    margin-top: 8px !important;
    justify-content: space-between !important;
  }

  .site-header .nav-mobile-tools {
    justify-content: flex-start !important;
    margin-top: 12px !important;
  }
}

@keyframes menuDrawerIn {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* =====================================================================
   V103 — mobile menu: full width from right, wide tool buttons
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  .site-header .main-nav.open {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 10px 16px 24px !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 0 0 0 !important;
    box-shadow: -8px 0 36px rgba(0, 0, 0, .38) !important;
    animation: menuDrawerInRight .24s ease both !important;
  }

  body.menu-open .site-header .main-nav > .menu-toggle {
    align-self: flex-end !important;
    margin: 0 0 10px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: center !important;
    text-align: center !important;
    padding: 11px 14px !important;
  }

  .site-header .main-nav > a.active::after {
    left: 22% !important;
    right: 22% !important;
    width: auto !important;
  }

  .site-header .nav-mobile-tools {
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
  }

  .site-header .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: stretch !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current i {
    display: inline-block !important;
    margin-left: 4px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 32px !important;
    height: 32px !important;
  }
}

@keyframes menuDrawerInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* =====================================================================
   V104 — right half drawer + homepage scroll menu fix
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: block !important;
    left: 0 !important;
    right: min(50vw, 340px) !important;
    background: rgba(0, 0, 0, .58) !important;
  }

  .site-header .main-nav.open {
    left: auto !important;
    right: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    padding: 10px 14px 22px !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 18px 0 0 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    backdrop-filter: none !important;
    box-shadow: -10px 0 40px rgba(0, 0, 0, .45) !important;
    animation: menuDrawerInRight .24s ease both !important;
  }

  body.menu-open .site-header .main-nav > .menu-toggle {
    align-self: flex-end !important;
    background: rgba(8, 18, 30, .96) !important;
    box-shadow: none !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .site-header .main-nav > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
  }

  /* Ana sayfa: kaydırınca menü butonu opak, glow yok */
  body.page-index:not(.menu-open) .site-header .menu-toggle {
    background: rgba(4, 10, 18, .55) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .28) !important;
  }

  body.page-index:not(.menu-open) .site-header.scrolled .menu-toggle {
    background: rgba(5, 12, 22, .96) !important;
    backdrop-filter: blur(14px) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .38) !important;
  }

  body.page-index.menu-open .site-header .menu-toggle {
    background: rgba(8, 18, 30, .96) !important;
    box-shadow: none !important;
  }

  body.page-index .site-header .menu-toggle {
    box-shadow: 0 6px 18px rgba(0, 0, 0, .28) !important;
  }
}

/* =====================================================================
   V105 — mobile menu icon hamburger ↔ X animation
   ===================================================================== */
@media (max-width: 980px) {
  .site-header .menu-toggle {
    gap: 5px !important;
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .18s ease !important;
    -webkit-tap-highlight-color: transparent;
  }

  .site-header .menu-toggle:active:not([aria-expanded="true"]) {
    transform: scale(.94);
  }

  .site-header .menu-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    transform-origin: center !important;
    transition:
      transform .32s cubic-bezier(.4, 0, .2, 1),
      opacity .22s ease,
      background .22s ease !important;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  .site-header .menu-toggle[aria-expanded="true"] {
    border-color: rgba(88, 200, 255, .35) !important;
  }
}

/* =====================================================================
   V106 — mobile menu drawer: neon stage background image
   ===================================================================== */
@media (max-width: 980px) {
  .site-header .main-nav.open {
    overflow: hidden !important;
    isolation: isolate !important;
    background: #020508 !important;
    backdrop-filter: none !important;
  }

  .site-header .main-nav.open::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background: url('../images/menu-mobile-bg.png?v=1') right top / cover no-repeat !important;
    filter: hue-rotate(-18deg) saturate(0.92) brightness(0.72) contrast(1.06) !important;
    transform: scale(1.04) !important;
    transform-origin: right top !important;
  }

  .site-header .main-nav.open::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
      radial-gradient(ellipse 90% 55% at 100% 18%, rgba(239, 59, 84, .16), transparent 58%),
      radial-gradient(ellipse 70% 48% at 0% 72%, rgba(88, 200, 255, .14), transparent 62%),
      linear-gradient(180deg, rgba(2, 5, 10, .78) 0%, rgba(2, 6, 12, .52) 45%, rgba(2, 5, 10, .82) 100%) !important;
  }

  .site-header .main-nav.open > * {
    position: relative !important;
    z-index: 2 !important;
  }
}

/* =====================================================================
   V107 — mobile menu open: logo opposite toggle (same size)
   ===================================================================== */
@media (max-width: 980px) {
  .site-header .main-nav .nav-mobile-head {
    display: none !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 0 0 12px !important;
    margin: 0 0 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-mobile-head {
    display: flex !important;
  }

  .site-header .main-nav .nav-mobile-head .nav-menu-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 12px !important;
    background: rgba(8, 18, 30, .96) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .28) !important;
  }

  .site-header .main-nav .nav-mobile-head .nav-menu-brand img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    filter: none !important;
  }

  body.menu-open .site-header .main-nav .nav-mobile-head > .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    align-self: auto !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 12px 11px !important;
    z-index: 1 !important;
  }
}

/* =====================================================================
   V108 — neon stage bg on mobile hero (not menu)
   ===================================================================== */
@media (max-width: 980px) {
  .page-index .hero.hero-v42.hero-stage::before {
    background: url('../images/hero-mobile-bg.png?v=4') center top / cover no-repeat !important;
    filter: brightness(0.88) contrast(1.04) saturate(1.02) !important;
    transform: scale(1.02) !important;
    transform-origin: center top !important;
  }

  .page-index .hero.hero-v42.hero-stage::after {
    background:
      radial-gradient(ellipse 55% 40% at 8% 82%, rgba(88, 200, 255, .18), transparent 62%),
      radial-gradient(ellipse 48% 38% at 92% 80%, rgba(239, 59, 84, .14), transparent 58%),
      linear-gradient(180deg, rgba(2, 5, 8, .62) 0%, rgba(2, 6, 12, .18) 42%, rgba(2, 5, 8, .55) 100%) !important;
  }

  .site-header .main-nav.open {
    overflow-y: auto !important;
    isolation: auto !important;
    background: rgba(5, 10, 18, .98) !important;
  }

  .site-header .main-nav.open::before,
  .site-header .main-nav.open::after {
    content: none !important;
    display: none !important;
  }

  .site-header .main-nav.open > * {
    position: relative !important;
    z-index: auto !important;
  }
}

/* =====================================================================
   V109 — menu open: logo + close button matching styles
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .site-header .main-nav .nav-mobile-head .nav-menu-brand,
  body.menu-open .site-header .main-nav .nav-mobile-head > .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    backdrop-filter: none !important;
  }

  body.menu-open .site-header .main-nav .nav-mobile-head > .menu-toggle {
    padding: 12px 11px !important;
  }

  body.menu-open .site-header .main-nav .nav-mobile-head > .menu-toggle[aria-expanded="true"] {
    border-color: rgba(88, 170, 240, .32) !important;
  }
}

/* =====================================================================
   V110 — mobile menu: right half + bottom half (bottom-right panel)
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, .58) !important;
  }

  .site-header .main-nav.open {
    top: auto !important;
    bottom: 0 !important;
    left: auto !important;
    right: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: 50vh !important;
    max-height: 50vh !important;
    min-height: 0 !important;
    padding: 10px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    padding-top: 10px !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-top: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 18px 0 0 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: menuDrawerInBR .26s cubic-bezier(.22, 1, .36, 1) both !important;
  }

  .page-index .site-header .main-nav.open {
    top: auto !important;
    bottom: 0 !important;
    left: auto !important;
    right: 0 !important;
    margin: 0 !important;
  }

  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 11.5px !important;
  }

  .site-header .main-nav .nav-cta {
    min-height: 46px !important;
    margin-top: 6px !important;
  }

  .site-header .nav-mobile-tools {
    margin-top: 10px !important;
  }
}

@keyframes menuDrawerInBR {
  from {
    opacity: 0;
    transform: translate(18%, 12%);
  }

  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

/* =====================================================================
   V111 — mobile hero sahne: neon stage bg visible & harmonized
   ===================================================================== */
@media (max-width: 980px) {
  .page-index .hero.hero-v42.hero-stage {
    background: #020508 !important;
    position: relative !important;
    isolation: isolate !important;
  }

  .page-index .hero.hero-v42.hero-stage::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: min(68vh, 520px) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background: url('../images/hero-mobile-bg.png?v=5') center bottom / cover no-repeat !important;
    filter: saturate(1.08) brightness(0.94) contrast(1.06) !important;
    transform: none !important;
  }

  .page-index .hero.hero-v42.hero-stage::after {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: min(68vh, 520px) !important;
    z-index: 1 !important;
    background:
      radial-gradient(ellipse 42% 38% at 8% 58%, rgba(88, 200, 255, .22), transparent 68%),
      radial-gradient(ellipse 42% 38% at 92% 58%, rgba(239, 59, 84, .18), transparent 68%),
      radial-gradient(ellipse 70% 52% at 50% 72%, rgba(88, 200, 255, .1), transparent 62%),
      linear-gradient(180deg, rgba(2, 5, 8, .42) 0%, rgba(2, 6, 12, .08) 38%, rgba(2, 5, 8, .28) 100%) !important;
  }

  .page-index .hero-v42.hero-stage .hero-centered,
  .page-index .hero-v42.hero-stage .hero-intro-lockup,
  .page-index .hero-v42.hero-stage .hero-title-lockup {
    position: relative !important;
    z-index: 2 !important;
  }
}

/* =====================================================================
   V112 — revert half menu: full-width full-height mobile menu
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  .site-header .main-nav.open {
    top: 34px !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 10px 16px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    border: none !important;
    border-left: none !important;
    border-top: none !important;
    border-radius: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: menuDrawerInRight .24s ease both !important;
  }

  .page-index .site-header .main-nav.open {
    top: 34px !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: center !important;
    text-align: center !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    font-size: 12.5px !important;
  }

  .site-header .main-nav > a.active::after {
    left: 22% !important;
    right: 22% !important;
    width: auto !important;
  }

  .site-header .main-nav .nav-cta {
    min-height: 52px !important;
    margin-top: 8px !important;
  }

  .site-header .nav-mobile-tools {
    margin-top: 14px !important;
  }
}

/* =====================================================================
   V113 — EUR/TRY rate bar: readable on mobile & desktop
   ===================================================================== */
.rate-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  margin-top: 20px !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(88, 170, 240, .28) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(8, 20, 34, .92), rgba(5, 12, 22, .96)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 24px rgba(0, 0, 0, .22) !important;
  font-size: 11px !important;
}

.rate-bar span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #c8dced !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}

.rate-bar i {
  flex: 0 0 auto !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #45d29c !important;
  box-shadow: 0 0 10px rgba(69, 210, 156, .75) !important;
}

.rate-bar strong {
  color: #fff !important;
  font-size: clamp(15px, 2.2vw, 18px) !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .rate-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 14px 16px !important;
  }

  .rate-bar span {
    font-size: 10px !important;
    letter-spacing: .08em !important;
  }

  .rate-bar strong {
    font-size: 17px !important;
  }
}

/* =====================================================================
   V114 — hotel section: photo background + text overlay
   ===================================================================== */
.venue-section-hotel {
  background: transparent !important;
}

.venue-hotel-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  min-height: 520px !important;
  border: 1px solid rgba(151, 199, 235, .22) !important;
  border-radius: 24px !important;
  background: #050d16 !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .32) !important;
}

.venue-hotel-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: url('../images/venue-hotel-bg.jpg?v=1') center center / cover no-repeat !important;
  transform: scale(1.02) !important;
}

.venue-hotel-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(115deg, rgba(2, 6, 12, .9) 0%, rgba(2, 6, 12, .62) 42%, rgba(2, 6, 12, .78) 100%),
    linear-gradient(180deg, rgba(2, 6, 12, .35) 0%, rgba(2, 6, 12, .2) 40%, rgba(2, 6, 12, .55) 100%) !important;
}

.venue-hotel-panel {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
  padding: 36px 40px !important;
}

.venue-hotel-head {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 22px 22px 20px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 18px !important;
  background: rgba(4, 10, 18, .55) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

.venue-hotel-icon {
  width: 56px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  margin-bottom: 16px !important;
  border: 1px solid rgba(92, 191, 255, .28) !important;
  border-radius: 16px !important;
  color: #65c5ff !important;
  background: rgba(48, 150, 218, .14) !important;
}

.venue-hotel-icon svg {
  width: 28px !important;
  height: 28px !important;
}

.venue-hotel-head small {
  color: #7ecfff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.venue-hotel-head strong {
  margin-top: 10px !important;
  color: #fff !important;
  font: 800 clamp(26px, 3.2vw, 38px)/1.08 "Sora", sans-serif !important;
  letter-spacing: -.04em !important;
}

.venue-hotel-head p {
  margin: 10px 0 0 !important;
  color: #c5d4e2 !important;
  font-size: 12px !important;
}

.venue-hotel-card .venue-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 18px !important;
  background: rgba(4, 10, 18, .62) !important;
  backdrop-filter: blur(12px) !important;
}

.venue-hotel-card .venue-content .section-kicker,
.venue-hotel-card .venue-content .section-text,
.venue-hotel-card .venue-content h2 {
  color: #eef4fa !important;
}

.venue-hotel-card .venue-content .section-text {
  color: #b8c9d8 !important;
  line-height: 1.65 !important;
}

.venue-hotel-card .venue-option {
  background: rgba(6, 14, 24, .72) !important;
  border-color: rgba(255, 255, 255, .12) !important;
}

.venue-hotel-card .venue-option > div:first-child strong {
  color: #eef4fa !important;
  font-size: 12px !important;
}

.venue-hotel-card .venue-option > div:last-child small {
  color: #9eb2c4 !important;
  font-size: 10px !important;
}

@media (max-width: 980px) {
  .venue-hotel-card {
    min-height: 0 !important;
  }

  .venue-hotel-card::before {
    background-position: center 35% !important;
  }

  .venue-hotel-panel {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 18px 16px 20px !important;
  }

  .venue-hotel-head {
    padding: 18px 16px !important;
  }

  .venue-hotel-card .venue-content {
    padding: 18px 16px !important;
  }
}

/* =====================================================================
   V115 — top-right half menu + inner pages mobile header with logo
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, .58) !important;
  }

  .site-header .main-nav.open {
    top: 34px !important;
    bottom: auto !important;
    left: auto !important;
    right: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: min(50vh, 520px) !important;
    max-height: min(50vh, 520px) !important;
    min-height: 0 !important;
    padding: 10px 14px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 0 18px !important;
    background: rgba(5, 10, 18, .98) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: menuDrawerInTR .26s cubic-bezier(.22, 1, .36, 1) both !important;
  }

  body:not(.page-index) .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 11.5px !important;
  }

  .site-header .main-nav > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
  }

  .site-header .nav-mobile-tools {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  /* Inner pages: visible header + logo */
  body:not(.page-index) .site-header {
    position: sticky !important;
    top: 34px !important;
    z-index: 90 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  body:not(.page-index) .site-header.scrolled {
    background: rgba(3, 8, 14, .98) !important;
    border-bottom-color: rgba(255, 255, 255, .1) !important;
  }

  body:not(.page-index) .site-header .header-inner {
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
  }

  body:not(.page-index) .site-header .brand-emblem {
    flex: 0 0 auto !important;
  }

  body:not(.page-index) .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
  }

  body:not(.page-index) .site-header .brand-copy {
    min-width: 0 !important;
    line-height: 1.15 !important;
  }

  body:not(.page-index) .site-header .brand-copy strong {
    display: block !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.page-index) .site-header .brand-copy small {
    display: block !important;
    margin-top: 2px !important;
    font-size: 7.5px !important;
    letter-spacing: .12em !important;
    color: #8fa3b5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.page-index) .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    background: rgba(6, 20, 34, .88) !important;
    border-color: rgba(88, 170, 240, .32) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
  }

  body:not(.page-index).menu-open .site-header .menu-toggle {
    z-index: 101 !important;
  }
}

@keyframes menuDrawerInTR {
  from {
    opacity: 0;
    transform: translate(14%, -10%);
  }

  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

/* =====================================================================
   V116 — hero: animated neon stage bg (PC + mobile)
   ===================================================================== */
.page-index .hero.hero-v42.hero-stage {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #020508 !important;
}

.page-index .hero.hero-v42.hero-stage::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: url('../images/hero-mobile-bg.png?v=6') center 58% / cover no-repeat !important;
  transform-origin: center center !important;
  animation: heroBgKen 22s ease-in-out infinite alternate !important;
  filter: saturate(1.1) brightness(0.92) contrast(1.06) !important;
}

.page-index .hero.hero-v42.hero-stage::after {
  inset: 0 !important;
  height: auto !important;
  z-index: 1 !important;
  background:
    radial-gradient(ellipse 38% 32% at 10% 62%, rgba(88, 200, 255, .24), transparent 68%),
    radial-gradient(ellipse 36% 30% at 90% 64%, rgba(239, 59, 84, .2), transparent 66%),
    radial-gradient(ellipse 55% 40% at 50% 78%, rgba(88, 200, 255, .12), transparent 62%),
    linear-gradient(180deg, rgba(2, 5, 8, .48) 0%, rgba(2, 6, 12, .12) 36%, rgba(2, 5, 8, .62) 100%) !important;
  animation: heroOverlayPulse 10s ease-in-out infinite alternate !important;
}

.page-index .hero-v42.hero-stage .hero-glow-one,
.page-index .hero-v42.hero-stage .hero-glow-two {
  display: block !important;
  z-index: 1 !important;
  opacity: .42 !important;
  filter: blur(70px) !important;
  animation: heroGlowDrift 8s ease-in-out infinite alternate !important;
}

.page-index .hero-v42.hero-stage .hero-glow-two {
  animation-delay: -4s !important;
}

.page-index .hero-v42.hero-stage .hero-stage-arc-blue,
.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  display: block !important;
  z-index: 1 !important;
  opacity: .34 !important;
  animation: heroArcPulse 6s ease-in-out infinite alternate !important;
}

.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  animation-delay: -3s !important;
}

.page-index .hero-v42.hero-stage .hero-grid-lines {
  display: block !important;
  z-index: 1 !important;
  opacity: .06 !important;
}

.page-index .hero-v42.hero-stage .hero-centered {
  position: relative !important;
  z-index: 2 !important;
}

.page-index .hero-v42.hero-stage .hero-brand-lockup {
  animation: heroFloat 5.5s ease-in-out infinite, heroRevealUp .85s cubic-bezier(.22, 1, .36, 1) both !important;
}

.page-index .hero-v42.hero-stage .hero-eyebrow-pill {
  animation: heroRevealUp .85s .12s cubic-bezier(.22, 1, .36, 1) both, heroPillGlow 4s ease-in-out infinite alternate 1s !important;
}

.page-index .hero-v42.hero-stage .hero-eyebrow-pill > i {
  animation: heroDotPulse 2.2s ease-in-out infinite !important;
}

.page-index .hero-v42.hero-stage .hero-title-lockup {
  animation: heroRevealUp .9s .2s cubic-bezier(.22, 1, .36, 1) both !important;
}

.page-index .hero-v42.hero-stage .hero-title-lockup img {
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .45)) !important;
  animation: heroTitleShimmer 5s ease-in-out infinite alternate .9s !important;
}

.page-index .hero-v42.hero-stage .hero-copy {
  animation: heroRevealUp .85s .28s cubic-bezier(.22, 1, .36, 1) both !important;
}

.page-index .hero-v42.hero-stage .event-facts-centered {
  animation: heroRevealUp .85s .36s cubic-bezier(.22, 1, .36, 1) both !important;
}

.page-index .hero-v42.hero-stage .event-facts-centered .event-fact {
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

.page-index .hero-v42.hero-stage .event-facts-centered .event-fact:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(88, 200, 255, .28) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24) !important;
}

.page-index .hero-v42.hero-stage .countdown-shell {
  animation: heroRevealUp .9s .44s cubic-bezier(.22, 1, .36, 1) both, heroCountdownGlow 5s ease-in-out infinite alternate 1.2s !important;
}

.page-index .hero-v42.hero-stage .hero-actions-centered {
  animation: heroRevealUp .9s .52s cubic-bezier(.22, 1, .36, 1) both !important;
}

.page-index .hero-v42.hero-stage .hero-actions-centered .btn-ticket {
  animation: heroCtaPulse 3.5s ease-in-out infinite !important;
}

.page-index .hero-v42.hero-stage .hero-trust-centered {
  animation: heroRevealUp .85s .6s cubic-bezier(.22, 1, .36, 1) both !important;
}

@media (max-width: 980px) {
  .page-index .hero.hero-v42.hero-stage::before {
    background-position: center 46% !important;
    animation: heroBgKenMobile 20s ease-in-out infinite alternate !important;
  }

  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two {
    opacity: .28 !important;
    filter: blur(55px) !important;
  }

  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    opacity: .22 !important;
  }
}

@media (min-width: 981px) {
  .page-index .hero.hero-v42.hero-stage::before {
    background-position: center 62% !important;
  }

  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two {
    opacity: .5 !important;
  }

  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    opacity: .4 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-index .hero.hero-v42.hero-stage::before,
  .page-index .hero.hero-v42.hero-stage::after,
  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two,
  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red,
  .page-index .hero-v42.hero-stage .hero-brand-lockup,
  .page-index .hero-v42.hero-stage .hero-eyebrow-pill,
  .page-index .hero-v42.hero-stage .hero-title-lockup img,
  .page-index .hero-v42.hero-stage .countdown-shell,
  .page-index .hero-v42.hero-stage .hero-actions-centered .btn-ticket {
    animation: none !important;
  }

  .page-index .hero-v42.hero-stage [class*="heroReveal"],
  .page-index .hero-v42.hero-stage .hero-copy,
  .page-index .hero-v42.hero-stage .event-facts-centered,
  .page-index .hero-v42.hero-stage .countdown-shell,
  .page-index .hero-v42.hero-stage .hero-actions-centered,
  .page-index .hero-v42.hero-stage .hero-trust-centered,
  .page-index .hero-v42.hero-stage .hero-eyebrow-pill,
  .page-index .hero-v42.hero-stage .hero-title-lockup,
  .page-index .hero-v42.hero-stage .hero-brand-lockup {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

@keyframes heroBgKen {
  0% { transform: scale(1.03) translate(0, 0); filter: saturate(1.08) brightness(0.9) contrast(1.05); }
  100% { transform: scale(1.08) translate(-1.2%, -.8%); filter: saturate(1.14) brightness(0.97) contrast(1.08); }
}

@keyframes heroBgKenMobile {
  0% { transform: scale(1.04) translate(0, 0); }
  100% { transform: scale(1.09) translate(-1.5%, -1%); }
}

@keyframes heroOverlayPulse {
  0% { opacity: 1; }
  100% { opacity: .92; }
}

@keyframes heroGlowDrift {
  0% { transform: translateY(-50%) scale(1); opacity: .34; }
  100% { transform: translateY(calc(-50% - 12px)) scale(1.06); opacity: .48; }
}

@keyframes heroArcPulse {
  0% { opacity: .24; transform: translateY(-50%) scale(1); }
  100% { opacity: .4; transform: translateY(-50%) scale(1.04); }
}

@keyframes heroRevealUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heroPillGlow {
  0% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 0 rgba(88, 200, 255, 0); }
  100% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 22px rgba(88, 200, 255, .16); }
}

@keyframes heroDotPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 14px rgba(88, 200, 255, .95); }
  50% { transform: scale(1.18); box-shadow: 0 0 22px rgba(88, 200, 255, 1); }
}

@keyframes heroTitleShimmer {
  0% { filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .45)); }
  100% { filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .5)) drop-shadow(0 0 28px rgba(88, 200, 255, .12)); }
}

@keyframes heroCountdownGlow {
  0% { box-shadow: 0 22px 58px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .04); }
  100% { box-shadow: 0 22px 58px rgba(0, 0, 0, .32), 0 0 24px rgba(88, 200, 255, .1), inset 0 1px 0 rgba(255, 255, 255, .06); }
}

@keyframes heroCtaPulse {
  0%, 100% { box-shadow: 0 14px 34px rgba(211, 31, 51, .32); transform: translateY(0); }
  50% { box-shadow: 0 18px 34px rgba(211, 31, 51, .46), 0 0 24px rgba(239, 59, 84, .18); transform: translateY(-2px); }
}

/* =====================================================================
   V117 — Hollanda + tüm bayraklar eşit kutu
   ===================================================================== */
.intl-participation-section .country-flag-pill-v81 .country-flag-media img.country-flag-img {
  width: 40px !important;
  height: 28px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* =====================================================================
   V118 — hotel: separate photo card + room details card
   ===================================================================== */
.venue-section-hotel {
  background: radial-gradient(circle at 8% 60%, rgba(51, 154, 222, .08), transparent 32%) !important;
}

.venue-hotel-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

.venue-hotel-photo-card {
  overflow: hidden !important;
  border: 1px solid rgba(151, 199, 235, .22) !important;
  border-radius: 22px !important;
  background: #050d16 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .3) !important;
}

.venue-hotel-photo-media {
  position: relative !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #081018 !important;
}

.venue-hotel-photo-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.venue-hotel-photo-caption {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: 18px 20px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
  background: linear-gradient(180deg, rgba(6, 14, 24, .96), rgba(4, 10, 18, .98)) !important;
}

.venue-hotel-photo-caption .venue-hotel-icon {
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 12px !important;
}

.venue-hotel-photo-caption small {
  color: #7ecfff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.venue-hotel-photo-caption strong {
  margin-top: 8px !important;
  color: #fff !important;
  font: 800 clamp(22px, 2.8vw, 32px)/1.12 "Sora", sans-serif !important;
  letter-spacing: -.03em !important;
}

.venue-hotel-photo-caption p {
  margin: 8px 0 0 !important;
  color: #b8c9d8 !important;
  font-size: 12px !important;
}

.venue-hotel-details-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 24px 26px !important;
  border: 1px solid rgba(151, 199, 235, .18) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(8, 18, 30, .96), rgba(4, 10, 18, .98)) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .26) !important;
}

.venue-hotel-details-card .section-kicker,
.venue-hotel-details-card h2 {
  color: #eef4fa !important;
}

.venue-hotel-details-card h2 {
  margin: 0 0 14px !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  letter-spacing: -.03em !important;
}

.venue-hotel-details-card .section-text {
  margin: 0 0 18px !important;
  color: #b8c9d8 !important;
  line-height: 1.65 !important;
}

.venue-hotel-details-card .venue-options {
  margin: 0 0 18px !important;
}

.venue-hotel-details-card .venue-option {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .1) !important;
}

.venue-hotel-details-card .venue-option > div:first-child strong {
  color: #eef4fa !important;
  font-size: 12px !important;
}

.venue-hotel-details-card .venue-option > div:last-child small {
  color: #9eb2c4 !important;
  font-size: 10px !important;
}

.venue-hotel-details-card .text-link,
.venue-hotel-details-card .btn-primary {
  align-self: flex-start !important;
  margin-top: 4px !important;
}

@media (max-width: 980px) {
  .venue-hotel-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .venue-hotel-photo-media {
    aspect-ratio: 16 / 11 !important;
  }

  .venue-hotel-photo-caption {
    padding: 16px !important;
  }

  .venue-hotel-details-card {
    padding: 18px 16px !important;
  }
}

/* =====================================================================
   V119 — fix homepage menu: right half drawer (override V112/V98/V95)
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop.active {
    display: block !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .58) !important;
    z-index: 98 !important;
  }

  .site-header .main-nav.open,
  .page-index .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    bottom: auto !important;
    left: auto !important;
    right: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: auto !important;
    max-height: min(58vh, 580px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    padding-top: 10px !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 0 18px !important;
    background: rgba(5, 10, 18, .98) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 100 !important;
    animation: menuDrawerInTR .26s cubic-bezier(.22, 1, .36, 1) both !important;
  }

  body:not(.page-index) .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
  }

  .page-index .site-header .main-nav:not(.open) {
    display: none !important;
  }

  .page-index .site-header .main-nav.open {
    pointer-events: auto !important;
  }

  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .site-header .main-nav.open > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
  }
}

/* =====================================================================
   V120 — hero: no entrance anim + premium static neon bg (PC + mobile)
   ===================================================================== */
.page-index .hero.hero-v42.hero-stage,
.page-index .hero.hero-v42.hero-stage::before,
.page-index .hero.hero-v42.hero-stage::after,
.page-index .hero-v42.hero-stage .hero-brand-lockup,
.page-index .hero-v42.hero-stage .hero-eyebrow-pill,
.page-index .hero-v42.hero-stage .hero-eyebrow-pill > i,
.page-index .hero-v42.hero-stage .hero-title-lockup,
.page-index .hero-v42.hero-stage .hero-title-lockup img,
.page-index .hero-v42.hero-stage .hero-copy,
.page-index .hero-v42.hero-stage .event-facts-centered,
.page-index .hero-v42.hero-stage .countdown-shell,
.page-index .hero-v42.hero-stage .hero-actions-centered,
.page-index .hero-v42.hero-stage .hero-actions-centered .btn-ticket,
.page-index .hero-v42.hero-stage .hero-trust-centered,
.page-index .hero-v42.hero-stage .hero-glow-one,
.page-index .hero-v42.hero-stage .hero-glow-two,
.page-index .hero-v42.hero-stage .hero-stage-arc-blue,
.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

.page-index .hero.hero-v42.hero-stage {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #010408 !important;
}

.page-index .hero.hero-v42.hero-stage::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  bottom: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: url('../images/hero-mobile-bg.png?v=7') center center / cover no-repeat !important;
  filter: saturate(1.18) brightness(0.86) contrast(1.1) !important;
  transform: none !important;
}

.page-index .hero.hero-v42.hero-stage::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  bottom: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse 46% 52% at 6% 58%, rgba(88, 200, 255, .38), transparent 68%),
    radial-gradient(ellipse 44% 50% at 94% 58%, rgba(239, 59, 84, .32), transparent 66%),
    radial-gradient(ellipse 72% 58% at 50% 88%, rgba(88, 200, 255, .2), transparent 62%),
    radial-gradient(ellipse 85% 55% at 50% 38%, rgba(2, 6, 14, .62), transparent 72%),
    linear-gradient(180deg, rgba(1, 4, 8, .72) 0%, rgba(2, 6, 12, .22) 42%, rgba(1, 4, 8, .78) 100%) !important;
}

.page-index .hero-v42.hero-stage .hero-glow-one,
.page-index .hero-v42.hero-stage .hero-glow-two {
  display: block !important;
  z-index: 1 !important;
  opacity: .55 !important;
  filter: blur(80px) !important;
}

.page-index .hero-v42.hero-stage .hero-glow-one {
  width: min(58vw, 680px) !important;
  height: min(58vw, 680px) !important;
  right: -8% !important;
  top: 42% !important;
}

.page-index .hero-v42.hero-stage .hero-glow-two {
  width: min(58vw, 680px) !important;
  height: min(58vw, 680px) !important;
  left: -8% !important;
  top: 42% !important;
}

.page-index .hero-v42.hero-stage .hero-stage-arc-blue,
.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  display: block !important;
  z-index: 1 !important;
  opacity: .48 !important;
  top: 44% !important;
}

.page-index .hero-v42.hero-stage .hero-grid-lines {
  display: block !important;
  z-index: 1 !important;
  opacity: .08 !important;
}

.page-index .hero-v42.hero-stage .hero-centered,
.page-index .hero-v42.hero-stage .hero-intro-lockup,
.page-index .hero-v42.hero-stage .hero-title-lockup {
  position: relative !important;
  z-index: 2 !important;
}

.page-index .hero-v42.hero-stage .hero-brand-lockup img {
  filter: drop-shadow(0 22px 42px rgba(0, 0, 0, .55)) !important;
}

.page-index .hero-v42.hero-stage .hero-title-lockup img {
  filter: drop-shadow(0 20px 38px rgba(0, 0, 0, .5)) !important;
}

.page-index .hero-v42.hero-stage .hero-eyebrow-pill > i {
  box-shadow: 0 0 14px rgba(88, 200, 255, .9) !important;
}

@media (max-width: 980px) {
  .page-index .hero.hero-v42.hero-stage::before {
    background-position: center 44% !important;
    filter: saturate(1.14) brightness(0.84) contrast(1.08) !important;
  }

  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two {
    opacity: .38 !important;
    filter: blur(60px) !important;
  }

  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    opacity: .32 !important;
  }
}

@media (min-width: 981px) {
  .page-index .hero.hero-v42.hero-stage::before {
    background-position: center 56% !important;
  }

  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two {
    opacity: .62 !important;
  }

  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    opacity: .52 !important;
  }
}

/* =====================================================================
   V121 — Hollanda bayrağı: görsel kutu eşitliği + önbellek kırıcı
   ===================================================================== */
.intl-participation-section .country-flag-pill-v81 .country-flag-media img.country-flag-img {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  flex: 1 1 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 1px !important;
  box-sizing: border-box !important;
}

/* =====================================================================
   V122 — hotel cards: PC eşit yükseklik + görünür otel ikonu
   ===================================================================== */
.venue-hotel-layout {
  align-items: stretch !important;
}

.venue-hotel-photo-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.venue-hotel-photo-media {
  flex: 1 1 auto !important;
  min-height: 240px !important;
  aspect-ratio: auto !important;
}

.venue-hotel-photo-caption {
  flex: 0 0 auto !important;
}

.venue-hotel-details-card {
  height: 100% !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.venue-hotel-details-card .venue-options {
  flex: 1 1 auto !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.venue-hotel-photo-caption .venue-hotel-icon {
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(126, 207, 255, .55) !important;
  border-radius: 14px !important;
  color: #b8ecff !important;
  background:
    linear-gradient(145deg, rgba(72, 170, 235, .34), rgba(24, 92, 150, .22)) !important;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

.venue-hotel-icon svg,
.venue-hotel-photo-caption .venue-hotel-icon svg {
  width: 26px !important;
  height: 26px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 980px) {
  .venue-hotel-photo-media {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 11 !important;
  }

  .venue-hotel-details-card .venue-options {
    justify-content: flex-start !important;
  }
}

/* =====================================================================
   V123 — mobile menu: tıklanabilir + taşma düzeltmesi
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    z-index: 120 !important;
    background: rgba(0, 0, 0, .58) !important;
  }

  .nav-mobile-backdrop.active {
    display: block !important;
  }

  body.menu-open .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .page-index .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: min(50vw, 320px) !important;
    max-width: calc(100vw - 8px) !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: min(58vh, calc(100dvh - 34px - 12px)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 0 16px !important;
    background: rgba(5, 10, 18, .98) !important;
    box-shadow: -12px 16px 40px rgba(0, 0, 0, .42) !important;
    z-index: 130 !important;
    pointer-events: auto !important;
    transform: none !important;
    animation: none !important;
  }

  body:not(.page-index).menu-open .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
    max-height: min(58vh, calc(100dvh - 34px - 56px - 12px)) !important;
  }

  body.menu-open .main-nav.open > *,
  body.menu-open .site-header .main-nav.open > * {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    max-width: 100% !important;
  }

  body.menu-open .main-nav.open > a,
  body.menu-open .main-nav.open .nav-cta,
  body.menu-open .main-nav.open .nav-mobile-tools,
  body.menu-open .main-nav.open .nav-mobile-tools * {
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.menu-open .main-nav.open .language-switcher.open .language-menu {
    right: 0 !important;
    left: auto !important;
    max-width: 100% !important;
  }

  body.menu-open .page-index .site-header .main-nav:not(.open) {
    display: none !important;
  }
}

/* =====================================================================
   V124 — hero arkaplan: orijinal gradient (V87), PNG kaldır
   ===================================================================== */
.page-index .hero.hero-v42.hero-stage {
  background: #020508 !important;
}

.page-index .hero.hero-v42.hero-stage::before {
  background:
    radial-gradient(ellipse 58% 46% at 50% 18%, rgba(42, 148, 220, .16), transparent 70%),
    radial-gradient(ellipse 44% 58% at 6% 50%, rgba(0, 128, 220, .24), transparent 74%),
    radial-gradient(ellipse 44% 58% at 94% 50%, rgba(220, 48, 78, .2), transparent 74%),
    linear-gradient(180deg, #020508 0%, #040c16 46%, #020508 100%) !important;
  filter: none !important;
}

.page-index .hero.hero-v42.hero-stage::after {
  background:
    radial-gradient(ellipse 88% 78% at 50% 44%, transparent 36%, rgba(2, 5, 8, .48) 100%),
    linear-gradient(180deg, rgba(2, 5, 8, .35) 0%, transparent 18%, transparent 82%, rgba(2, 5, 8, .5) 100%) !important;
}

.page-index .hero-v42.hero-stage .hero-grid-lines {
  opacity: .1 !important;
}

.page-index .hero-v42.hero-stage .hero-glow-one,
.page-index .hero-v42.hero-stage .hero-glow-two {
  display: block !important;
  z-index: 1 !important;
  opacity: .9 !important;
  filter: blur(90px) !important;
  width: min(54vw, 720px) !important;
  height: min(54vw, 720px) !important;
  top: 44% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

.page-index .hero-v42.hero-stage .hero-glow-one {
  right: -14% !important;
  left: auto !important;
  background: radial-gradient(circle, rgba(235, 52, 82, .34) 0%, rgba(235, 52, 82, .1) 42%, transparent 70%) !important;
}

.page-index .hero-v42.hero-stage .hero-glow-two {
  left: -14% !important;
  right: auto !important;
  background: radial-gradient(circle, rgba(38, 158, 240, .36) 0%, rgba(38, 158, 240, .11) 42%, transparent 70%) !important;
}

.page-index .hero-v42.hero-stage .hero-stage-arc-blue,
.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  display: block !important;
  z-index: 1 !important;
  opacity: .5 !important;
  top: 44% !important;
  width: min(38vw, 500px) !important;
  height: min(38vw, 500px) !important;
  transform: translateY(-50%) !important;
}

.page-index .hero-v42.hero-stage .hero-stage-arc-blue {
  left: -11% !important;
  right: auto !important;
  border-color: rgba(72, 180, 255, .24) !important;
  box-shadow: 0 0 70px rgba(29, 133, 210, .14), inset 0 0 50px rgba(29, 133, 210, .05) !important;
}

.page-index .hero-v42.hero-stage .hero-stage-ring-red {
  right: -11% !important;
  left: auto !important;
  border-color: rgba(240, 70, 95, .24) !important;
  box-shadow: 0 0 70px rgba(234, 45, 70, .12), inset 0 0 50px rgba(234, 45, 70, .05) !important;
}

@media (max-width: 860px) {
  .page-index .hero-v42.hero-stage .hero-glow-one,
  .page-index .hero-v42.hero-stage .hero-glow-two {
    width: min(70vw, 420px) !important;
    height: min(70vw, 420px) !important;
    filter: blur(70px) !important;
    opacity: .75 !important;
  }

  .page-index .hero-v42.hero-stage .hero-stage-arc-blue,
  .page-index .hero-v42.hero-stage .hero-stage-ring-red {
    width: min(52vw, 320px) !important;
    height: min(52vw, 320px) !important;
    opacity: .38 !important;
  }
}

/* =====================================================================
   V125 — kur barı ile otel bölümü arası boşluk azalt
   ===================================================================== */
.discovery-section {
  padding-bottom: 22px !important;
}

.discovery-section .rate-bar {
  margin-bottom: 0 !important;
}

.venue-section.venue-section-hotel {
  padding-top: 22px !important;
}

@media (max-width: 980px) {
  .discovery-section {
    padding-bottom: 14px !important;
  }

  .venue-section.venue-section-hotel {
    padding-top: 14px !important;
  }
}

/* =====================================================================
   V126 — mobil menü: X ikonu, WA+dil yan yana, toggle düzeltmesi
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .main-nav.open .nav-mobile-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 0 10px !important;
    margin: 0 0 4px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 12px 11px !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .menu-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background: #dbe8f2 !important;
    transform-origin: center !important;
    transition:
      transform .32s cubic-bezier(.4, 0, .2, 1),
      opacity .22s ease,
      background .22s ease !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  .menu-toggle[aria-expanded="true"] {
    border-color: rgba(88, 200, 255, .35) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    overflow: visible !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: stretch !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    justify-content: center !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    display: inline-flex !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 30px !important;
    height: 30px !important;
  }

  body:not(.menu-open) .menu-toggle {
    pointer-events: auto !important;
    z-index: 140 !important;
  }
}

/* =====================================================================
   V127 — mobil: final CTA + footer arası boşluk azalt
   ===================================================================== */
@media (max-width: 980px) {
  .process-section.section {
    padding-bottom: 24px !important;
  }

  .final-cta-section.section {
    padding-top: 16px !important;
    padding-bottom: 8px !important;
  }

  .final-cta {
    min-height: 0 !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .final-cta-logo {
    display: none !important;
  }

  .final-cta h2 {
    margin: 4px 0 6px !important;
    font-size: clamp(24px, 7vw, 32px) !important;
  }

  .final-cta p {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .final-cta .btn {
    width: 100% !important;
    margin-top: 2px !important;
  }

  .site-footer {
    padding-top: 0 !important;
    padding-bottom: 16px !important;
  }

  .footer-grid {
    padding-top: 14px !important;
    gap: 18px !important;
  }

  .footer-brand {
    gap: 10px !important;
  }

  .footer-brand img {
    width: 92px !important;
    height: 92px !important;
  }
}

/* =====================================================================
   V128 — footer alt satır: PC ortada yazı + sağda sosyal, mobil aralık
   ===================================================================== */
@media (min-width: 981px) {
  .footer-bottom {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    text-align: center !important;
  }

  .footer-bottom > span {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .footer-bottom .footer-socials {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    width: auto !important;
    justify-content: flex-end !important;
  }
}

@media (max-width: 980px) {
  .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding-top: 16px !important;
    margin-top: 24px !important;
  }

  .footer-bottom > span {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.45 !important;
  }

  .footer-bottom .footer-socials {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
    justify-content: center !important;
    width: auto !important;
    gap: 10px !important;
  }
}

/* =====================================================================
   V129 — PC: otel / CTA / footer arası boşluk azalt
   ===================================================================== */
@media (min-width: 981px) {
  .venue-section.venue-section-hotel.section {
    padding-bottom: 36px !important;
  }

  .process-section.section {
    padding-top: 56px !important;
    padding-bottom: 36px !important;
  }

  .final-cta-section.section {
    padding-top: 20px !important;
    padding-bottom: 24px !important;
  }

  .final-cta {
    min-height: 0 !important;
    padding: 24px 32px !important;
    gap: 28px !important;
  }

  .site-footer {
    padding-top: 24px !important;
    padding-bottom: 18px !important;
  }

  .footer-grid {
    padding-top: 0 !important;
    gap: 28px !important;
  }

  .footer-bottom {
    margin-top: 24px !important;
    padding-top: 16px !important;
  }
}

/* =====================================================================
   V130 — mobil menü açık: sol logo butonu, sağ X (aynı kutu stili)
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .main-nav.open .nav-mobile-head {
    position: fixed !important;
    top: calc(34px + env(safe-area-inset-top, 0px) + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border-bottom: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
    z-index: 135 !important;
    pointer-events: auto !important;
  }

  body:not(.page-index).menu-open .main-nav.open .nav-mobile-head {
    top: calc(34px + 56px + 8px) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand,
  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    -webkit-tap-highlight-color: transparent !important;
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    flex-direction: column !important;
    gap: 5px !important;
    padding: 12px 11px !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
    display: block !important;
    filter: none !important;
  }

  body.menu-open .main-nav.open,
  body.menu-open .page-index .main-nav.open {
    top: calc(34px + 8px + 46px + 12px) !important;
    max-height: min(58vh, calc(100dvh - 34px - 8px - 46px - 12px - 12px)) !important;
  }

  body:not(.page-index).menu-open .main-nav.open {
    top: calc(34px + 56px + 8px + 46px + 12px) !important;
    max-height: min(58vh, calc(100dvh - 34px - 56px - 8px - 46px - 12px - 12px)) !important;
  }

  body.menu-open:not(.page-index) .site-header .brand-lockup {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* =====================================================================
   V131 — yatay çizgi hizası: PC + mobil (container ile aynı inset)
   ===================================================================== */
:root {
  --layout-max: 1280px;
  --site-gutter-min: 24px;
  --content-inset: max(var(--site-gutter-min), calc((100vw - var(--layout-max)) / 2));
  --line-soft: rgba(255, 255, 255, .08);
  --line-accent: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 168, 255, .35) 12%,
    rgba(0, 220, 255, .95) 50%,
    rgba(0, 168, 255, .35) 88%,
    transparent 100%
  );
}

@media (max-width: 980px) {
  :root {
    --site-gutter-min: 16px;
  }
}

@media (max-width: 640px) {
  :root {
    --site-gutter-min: 12px;
  }
}

.container {
  width: min(var(--layout-max), calc(100% - (var(--site-gutter-min) * 2))) !important;
  margin-inline: auto !important;
}

.intl-participation-glow-top,
.intl-participation-section::after {
  left: var(--content-inset) !important;
  right: var(--content-inset) !important;
  width: auto !important;
}

.process-section,
.program-section,
.section-soft,
.confidence-strip {
  border-top: none !important;
  border-bottom: none !important;
}

.process-section::before,
.program-section::before,
.section-soft::before,
.confidence-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--content-inset);
  right: var(--content-inset);
  height: 1px;
  background: var(--line-soft);
  pointer-events: none;
  z-index: 2;
}

.program-section::after,
.section-soft::after,
.confidence-strip::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--content-inset);
  right: var(--content-inset);
  height: 1px;
  background: var(--line-soft);
  pointer-events: none;
  z-index: 2;
}

.site-footer {
  border-top: none !important;
  position: relative;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--content-inset);
  right: var(--content-inset);
  height: 1px;
  background: rgba(255, 255, 255, .09);
  pointer-events: none;
}

.page-hero {
  border-bottom: none !important;
}

.page-hero::before {
  content: "";
  position: absolute;
  left: var(--content-inset);
  right: var(--content-inset);
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, .075);
  pointer-events: none;
  z-index: 2;
}

.footer-bottom {
  border-top: 1px solid var(--line-soft) !important;
}

@media (max-width: 980px) {
  body.menu-open .main-nav.open .nav-mobile-head {
    border-bottom: none !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head::after {
    content: "";
    position: absolute;
    left: var(--content-inset);
    right: var(--content-inset);
    bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, .1);
    pointer-events: none;
  }
}

/* =====================================================================
   V132 — mobil menü: tam genişlik, aşağı açılır, logo menü içinde sol
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.menu-open .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .page-index .site-header .main-nav.open,
  body.menu-open .page-index .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: calc(100dvh - 34px) !important;
    margin: 0 !important;
    padding: 12px var(--site-gutter-min, 16px) calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    box-shadow: none !important;
    z-index: 130 !important;
    pointer-events: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: none !important;
    animation: menuSlideDownFull .28s cubic-bezier(.4, 0, .2, 1) both !important;
  }

  body:not(.page-index).menu-open .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
    min-height: calc(100dvh - 34px - 56px) !important;
  }

  @keyframes menuSlideDownFull {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  body.menu-open .main-nav.open .nav-mobile-head {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    padding: 0 0 12px !important;
    margin: 0 0 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    background: transparent !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand {
    order: 1 !important;
    margin-right: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    order: 2 !important;
    margin-left: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand,
  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
  }

  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: center !important;
    text-align: center !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
  }

  body.menu-open .main-nav.open > a.active::after {
    left: 22% !important;
    right: 22% !important;
    width: auto !important;
  }

  body.menu-open .main-nav.open .nav-cta {
    justify-content: center !important;
    min-height: 52px !important;
    margin-top: 8px !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools {
    margin-top: auto !important;
    padding-top: 14px !important;
  }
}

/* =====================================================================
   V133 — mobil menü stabil + ana sayfa scroll header + WA/dil hizası
   ===================================================================== */
@media (max-width: 980px) {
  /* --- Ana sayfa: üstte sadece menü ikonu, kaydırınca logo sol + çizgi --- */
  .page-index .site-header:not(.scrolled) {
    position: relative !important;
    top: auto !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .page-index .site-header:not(.scrolled) .brand-lockup {
    display: none !important;
  }

  .page-index .site-header:not(.scrolled) .header-inner {
    min-height: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .page-index .site-header:not(.scrolled) .menu-toggle {
    position: fixed !important;
    top: calc(34px + 10px) !important;
    right: var(--site-gutter-min, 16px) !important;
    left: auto !important;
    z-index: 120 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
  }

  .page-index .site-header.scrolled {
    position: sticky !important;
    top: 34px !important;
    z-index: 90 !important;
    height: auto !important;
    min-height: 0 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  .page-index .site-header.scrolled .header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  .page-index .site-header.scrolled .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
    pointer-events: auto !important;
  }

  .page-index .site-header.scrolled .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
  }

  .page-index .site-header.scrolled .brand-copy {
    min-width: 0 !important;
    line-height: 1.15 !important;
  }

  .page-index .site-header.scrolled .brand-copy strong {
    display: block !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-index .site-header.scrolled .brand-copy small {
    display: block !important;
    margin-top: 2px !important;
    font-size: 7.5px !important;
    letter-spacing: .12em !important;
    color: #8fa3b5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-index .site-header.scrolled .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  /* --- İç sayfalar: sabit header --- */
  body:not(.page-index) .site-header {
    position: sticky !important;
    top: 34px !important;
    z-index: 90 !important;
    height: auto !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  body:not(.page-index) .site-header .header-inner {
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
  }

  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
  }

  body:not(.page-index) .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
  }

  body:not(.page-index) .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
  }

  /* --- Mobil menü: kapalı --- */
  .main-nav:not(.open) {
    display: none !important;
  }

  .nav-mobile-head {
    display: none !important;
  }

  body:not(.menu-open) .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 12px 11px !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    pointer-events: auto !important;
    z-index: 120 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* --- Mobil menü: açık (tam ekran, header içinde kalır) --- */
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.menu-open .main-nav.open {
    display: flex !important;
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    min-height: calc(100dvh - 34px) !important;
    margin: 0 !important;
    padding: 14px var(--site-gutter-min, 16px) calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    box-shadow: none !important;
    z-index: 130 !important;
    pointer-events: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: v133MenuIn .26s cubic-bezier(.4, 0, .2, 1) both !important;
  }

  body:not(.page-index).menu-open .main-nav.open {
    top: calc(34px + 56px) !important;
    min-height: calc(100dvh - 34px - 56px) !important;
  }

  @keyframes v133MenuIn {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  body.menu-open .main-nav.open .nav-mobile-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 0 0 14px !important;
    margin: 0 0 10px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    background: transparent !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 1 !important;
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand,
  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    flex-direction: column !important;
    gap: 5px !important;
    padding: 12px 11px !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
  }

  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;
    border-radius: 10px !important;
  }

  body.menu-open .main-nav.open > a.active::after {
    left: 22% !important;
    right: 22% !important;
    width: auto !important;
  }

  body.menu-open .main-nav.open .nav-cta {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 8px !important;
    border-radius: 14px !important;
  }

  /* WhatsApp + dil — tüm sayfalarda yan yana eşit */
  body.menu-open .main-nav.open .nav-mobile-tools {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: auto !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    overflow: visible !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    margin-left: 0 !important;
    width: auto !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current span {
    display: inline !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    display: inline-block !important;
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher.open .language-current i {
    transform: rotate(225deg) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 10 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 28px !important;
    height: 28px !important;
  }

  /* Hamburger ↔ X */
  .menu-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background: #dbe8f2 !important;
    transform-origin: center !important;
    transition:
      transform .32s cubic-bezier(.4, 0, .2, 1),
      opacity .22s ease !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.menu-open:not(.page-index) .site-header .brand-lockup {
    visibility: visible !important;
    pointer-events: none !important;
  }
}

/* =====================================================================
   V134 — mobil menü kesin düzeltme (eski yarım/kutu kurallarını ezer)
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .site-header .header-inner .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .page-index .site-header .main-nav.open,
  body.menu-open .main-nav.open {
    display: flex !important;
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: calc(100dvh - 34px) !important;
    max-height: none !important;
    min-height: calc(100dvh - 34px) !important;
    margin: 0 !important;
    padding: 12px var(--site-gutter-min, 16px) 12px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .99) !important;
    box-shadow: none !important;
    z-index: 140 !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    transform: none !important;
    animation: v134MenuDrop .24s ease both !important;
  }

  body:not(.page-index).menu-open .site-header .header-inner .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open .main-nav.open {
    top: calc(34px + 56px) !important;
    height: calc(100dvh - 34px - 56px) !important;
    min-height: calc(100dvh - 34px - 56px) !important;
  }

  @keyframes v134MenuDrop {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  body.menu-open .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.page-index.menu-open .site-header .brand-lockup,
  body.page-index.menu-open .site-header.scrolled .brand-lockup {
    display: none !important;
    visibility: hidden !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 0 12px !important;
    margin: 0 0 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    background: transparent !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand,
  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    flex-direction: column !important;
    gap: 5px !important;
    padding: 12px 11px !important;
  }

  body.menu-open .main-nav.open .nav-mobile-head .nav-menu-brand img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
  }

  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand):not(.nav-cta) {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    margin: 0 !important;
    text-align: center !important;
    border-radius: 10px !important;
    background: transparent !important;
  }

  body.menu-open .main-nav.open > a.active:not(.nav-cta) {
    background: rgba(255, 255, 255, .04) !important;
  }

  body.menu-open .main-nav.open > a.active::after {
    left: 20% !important;
    right: 20% !important;
    width: auto !important;
  }

  body.menu-open .main-nav.open .nav-cta {
    min-height: 50px !important;
    margin-top: 6px !important;
    border-radius: 14px !important;
  }

  /* WA + dil — menü içinde altta sabit, yan yana */
  body.menu-open .main-nav.open .nav-mobile-tools {
    order: 99 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-top: auto !important;
    padding: 14px 0 calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    background: rgba(5, 10, 18, .99) !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    align-self: stretch !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    margin-left: 0 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 20 !important;
  }

  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 28px !important;
    height: 28px !important;
  }

  /* Eski kurallar: doğrudan çocuk WA/dil gizle (nav-mobile-tools dışı) */
  body.menu-open .main-nav.open > .nav-whatsapp,
  body.menu-open .main-nav.open > .language-switcher {
    display: none !important;
  }

  body.menu-open .music-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* =====================================================================
   V135 — PC header: WhatsApp + dil grubu hizası
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .main-nav {
    align-items: center !important;
    gap: 6px !important;
  }

  .site-header .main-nav .nav-cta {
    margin-left: 6px !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }

  .site-header .nav-mobile-tools {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-left: 12px !important;
    flex: 0 0 auto !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 26px !important;
    height: 26px !important;
  }

  .site-header .nav-mobile-tools .language-switcher {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
  }
}

/* =====================================================================
   V136 — mobil menü: v70 öncesi klasik dropdown (V83+ geri al)
   ===================================================================== */
@media (max-width: 980px) {
  .site-header,
  .site-header.scrolled,
  .page-index .site-header,
  .page-index .site-header:not(.scrolled),
  .page-index .site-header.scrolled,
  body:not(.page-index) .site-header,
  body:not(.page-index) .site-header.scrolled {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: rgba(2, 7, 13, .94) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px) !important;
    z-index: 90 !important;
  }

  .site-header .brand-lockup,
  .page-index .site-header .brand-lockup,
  .page-index .site-header:not(.scrolled) .brand-lockup,
  .page-index .site-header.scrolled .brand-lockup,
  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
  }

  .site-header .header-inner,
  .page-index .site-header .header-inner,
  .page-index .site-header:not(.scrolled) .header-inner,
  .page-index .site-header.scrolled .header-inner,
  body:not(.page-index) .site-header .header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 74px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  .site-header .menu-toggle,
  .page-index .site-header .menu-toggle,
  .page-index .site-header:not(.scrolled) .menu-toggle,
  .page-index .site-header.scrolled .menu-toggle,
  body:not(.page-index) .site-header .menu-toggle,
  body.menu-open .site-header .menu-toggle,
  body.menu-open .main-nav.open .nav-mobile-head > .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    z-index: auto !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .nav-mobile-head,
  .nav-menu-brand,
  .site-header .main-nav > .nav-menu-brand {
    display: none !important;
  }

  .nav-mobile-backdrop,
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.menu-open {
    overflow: auto !important;
  }

  .site-header .main-nav,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open,
  body.menu-open .page-index .site-header .main-nav.open,
  body.menu-open .page-index .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open .main-nav.open,
  .page-index .site-header .main-nav:not(.open) {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 20px !important;
    right: 20px !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px !important;
    display: none !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 18px 18px !important;
    background: rgba(5, 8, 13, .98) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .48) !important;
    z-index: 100 !important;
    overflow: visible !important;
    transform: none !important;
    animation: none !important;
    pointer-events: auto !important;
  }

  .site-header .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open {
    display: flex !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand),
  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12px !important;
    padding: 11px 13px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
  }

  .site-header .main-nav > a.active::after,
  body.menu-open .main-nav.open > a.active::after {
    left: 13px !important;
    right: 13px !important;
    width: auto !important;
  }

  .site-header .main-nav .nav-cta,
  body.menu-open .main-nav.open .nav-cta {
    width: 100% !important;
    justify-content: center !important;
    margin: 6px 0 0 !important;
    min-height: 44px !important;
  }

  .site-header .nav-mobile-tools,
  body.menu-open .main-nav.open .nav-mobile-tools {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
    margin-top: 8px !important;
    padding: 0 !important;
    border-top: none !important;
    order: unset !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    height: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    justify-content: center !important;
    min-height: 44px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    justify-content: center !important;
    padding: 10px 14px !important;
  }

  body.menu-open .main-nav.open > .nav-whatsapp,
  body.menu-open .main-nav.open > .language-switcher {
    display: none !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1),
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2),
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* =====================================================================
   V137 — PC header: BİLETİNİ AL + WhatsApp + dil eşit yükseklik/hiza
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .main-nav {
    align-items: center !important;
    gap: 8px !important;
  }

  .site-header .main-nav .nav-cta,
  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }

  .site-header .main-nav .nav-cta {
    padding: 0 18px !important;
    margin-left: 6px !important;
    margin-right: 0 !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    transform: none !important;
  }

  .site-header .main-nav .nav-cta span {
    line-height: 1 !important;
    font-size: 16px !important;
  }

  .site-header .nav-mobile-tools {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    gap: 8px !important;
    height: 46px !important;
    margin-left: 10px !important;
    flex: 0 0 auto !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transform: none !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp:hover {
    transform: translateY(-2px) !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 24px !important;
    height: 24px !important;
  }

  .site-header .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    height: 46px !important;
    margin: 0 !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    padding: 0 12px 0 10px !important;
    gap: 8px !important;
    position: relative !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current i {
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  .site-header .nav-mobile-tools .language-switcher.open .language-current i {
    transform: rotate(225deg) !important;
    margin-top: 0 !important;
  }
}

/* =====================================================================
   V138 — mobil: menü ikonu header satırında (fixed kayma düzelt)
   ===================================================================== */
@media (max-width: 980px) {
  body.page-index .site-header,
  body.page-index .site-header:not(.scrolled),
  body.page-index .site-header.scrolled,
  body:not(.page-index) .site-header {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    background: rgba(2, 7, 13, .94) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  }

  body.page-index .site-header .header-inner,
  body.page-index .site-header:not(.scrolled) .header-inner,
  body.page-index .site-header.scrolled .header-inner,
  body:not(.page-index) .site-header .header-inner {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  body.page-index .site-header .brand-lockup,
  body.page-index .site-header:not(.scrolled) .brand-lockup,
  body.page-index .site-header.scrolled .brand-lockup,
  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not(.menu-open) .site-header .menu-toggle,
  body:not(.menu-open).page-index .site-header .menu-toggle,
  body.page-index:not(.menu-open) .site-header .menu-toggle,
  body.page-index .site-header .menu-toggle,
  body.page-index .site-header:not(.scrolled) .menu-toggle,
  body.page-index .site-header.scrolled .menu-toggle,
  body:not(.page-index) .site-header .menu-toggle,
  body.menu-open .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 12px 11px !important;
    align-self: center !important;
    transform: none !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }

  body.page-index .site-header .main-nav:not(.open),
  body:not(.page-index) .site-header .main-nav:not(.open) {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 20px !important;
    right: 20px !important;
    bottom: auto !important;
    display: none !important;
  }

  body.page-index .site-header .main-nav.open,
  body:not(.page-index) .site-header .main-nav.open {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 20px !important;
    right: 20px !important;
    display: flex !important;
  }
}

/* =====================================================================
   V139 — PC header: tek satır, kayma yok, hizalı nav + aksiyonlar
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 72px !important;
  }

  .site-header .brand-lockup {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 48px !important;
    height: 48px !important;
  }

  .site-header .brand-copy {
    min-width: 0 !important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-copy small {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header .brand-copy strong {
    font-size: 10px !important;
    letter-spacing: .07em !important;
  }

  .site-header .brand-copy small {
    font-size: 7px !important;
    letter-spacing: .1em !important;
  }

  .site-header .main-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand),
  .site-header .main-nav .nav-cta {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
  }

  .site-header .main-nav .track-link {
    font-size: 9px !important;
    letter-spacing: .015em !important;
    padding-inline: 5px !important;
  }

  .site-header .main-nav .nav-cta {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin-left: 4px !important;
    padding: 0 14px !important;
    font-size: 10.5px !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }

  .site-header .main-nav .nav-cta span {
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .site-header .nav-mobile-tools {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    align-self: center !important;
    gap: 6px !important;
    height: 42px !important;
    margin-left: 6px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
  }

  .site-header .nav-mobile-tools .language-switcher {
    height: 42px !important;
    margin: 0 !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    padding: 0 10px 0 8px !important;
    gap: 6px !important;
    font-size: 10px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current span {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    font-size: 9px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 22px !important;
    height: 22px !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .site-header .brand-copy {
    display: none !important;
  }

  .site-header .header-inner {
    gap: 10px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 9px !important;
    padding-inline: 5px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 8.5px !important;
    padding-inline: 4px !important;
  }

  .site-header .main-nav .nav-cta {
    padding-inline: 11px !important;
    font-size: 10px !important;
  }
}

@media (min-width: 1281px) {
  .site-header .header-inner {
    gap: 18px !important;
  }

  .site-header .main-nav {
    gap: 4px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 10.5px !important;
    padding-inline: 9px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 9.5px !important;
    padding-inline: 7px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 11px !important;
    padding-inline: 16px !important;
  }
}

/* =====================================================================
   V140 — mobil menü: sol çekmece (ilk/orijinal düzen)
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop {
    display: none !important;
    position: fixed !important;
    top: 34px !important;
    left: min(50vw, 340px) !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 98 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(0, 0, 0, .52) !important;
  }

  .nav-mobile-backdrop.active {
    display: block !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  .nav-mobile-head,
  .nav-menu-brand,
  .site-header .main-nav > .nav-menu-brand {
    display: none !important;
  }

  .site-header .main-nav:not(.open),
  body.page-index .site-header .main-nav:not(.open),
  body:not(.page-index) .site-header .main-nav:not(.open) {
    display: none !important;
  }

  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open,
  .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 12px 14px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    border: none !important;
    border-right: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 18px 18px 0 !important;
    background: rgba(5, 10, 18, .97) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    box-shadow: 12px 0 40px rgba(0, 0, 0, .42) !important;
    z-index: 100 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: menuDrawerIn .22s ease both !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand),
  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    color: #c8d6e2 !important;
    border-radius: 10px !important;
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand):hover,
  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active,
  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active {
    color: #fff !important;
    background: rgba(255, 255, 255, .05) !important;
  }

  body.menu-open .site-header .main-nav.open > a.active::after,
  .site-header .main-nav.open > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
    bottom: 6px !important;
    transform: scaleX(1) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools,
  .site-header .main-nav.open .nav-mobile-tools {
    order: 90 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    border-top: none !important;
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    margin: 0 !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 14px !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 14px !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    display: inline-flex !important;
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 32px !important;
    height: 32px !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta,
  .site-header .main-nav.open .nav-cta {
    order: 100 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 8px 0 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta span,
  .site-header .main-nav.open .nav-cta span {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-whatsapp,
  body.menu-open .site-header .main-nav.open > .language-switcher {
    display: none !important;
  }

  body:not(.menu-open) .site-header .menu-toggle,
  body.menu-open .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    z-index: 101 !important;
  }

  .menu-toggle span:not(.sr-only) {
    transition:
      transform .32s cubic-bezier(.4, 0, .2, 1),
      opacity .22s ease,
      background .22s ease !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
    opacity: 1 !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
    opacity: 1 !important;
  }
}

/* =====================================================================
   V141 — mobil menü: logo yanında marka yazısı
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .site-header .main-nav.open > .nav-mobile-head,
  .site-header .main-nav.open > .nav-mobile-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    padding: 0 0 12px !important;
    margin: 0 0 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-head .nav-menu-brand,
  .site-header .main-nav.open .nav-mobile-head .nav-menu-brand {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-head .nav-menu-brand::after,
  .site-header .main-nav.open .nav-mobile-head .nav-menu-brand::after {
    display: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-head .nav-menu-brand img,
  .site-header .main-nav.open .nav-mobile-head .nav-menu-brand img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .4)) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-menu-copy,
  .site-header .main-nav.open .nav-menu-copy {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.menu-open .site-header .main-nav.open .nav-menu-copy strong,
  .site-header .main-nav.open .nav-menu-copy strong {
    color: #f4f7fa !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  body.menu-open .site-header .main-nav.open .nav-menu-copy small,
  .site-header .main-nav.open .nav-menu-copy small {
    color: #74879a !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================================
   V142 — PC header: daha büyük yazı/buton, tek satır korunur
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 76px !important;
    gap: 12px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 52px !important;
    height: 52px !important;
  }

  .site-header .brand-copy strong {
    font-size: 10.5px !important;
  }

  .site-header .brand-copy small {
    font-size: 7.5px !important;
  }

  .site-header .main-nav {
    gap: 3px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    letter-spacing: .035em !important;
  }

  .site-header .main-nav .track-link {
    font-size: 10px !important;
    padding-inline: 6px !important;
  }

  .site-header .main-nav .nav-cta {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 16px !important;
    font-size: 11.5px !important;
    gap: 7px !important;
    margin-left: 6px !important;
  }

  .site-header .main-nav .nav-cta span {
    font-size: 16px !important;
  }

  .site-header .nav-mobile-tools {
    height: 46px !important;
    gap: 8px !important;
    margin-left: 8px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    padding: 0 12px 0 10px !important;
    font-size: 11px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 10px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 24px !important;
    height: 24px !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .site-header .brand-copy {
    display: none !important;
  }

  .site-header .header-inner {
    gap: 10px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 48px !important;
    height: 48px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 10px !important;
    padding-inline: 6px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 9.5px !important;
    padding-inline: 5px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 10.5px !important;
    padding-inline: 13px !important;
  }

  .site-header .main-nav .nav-cta,
  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .site-header .nav-mobile-tools {
    height: 44px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
}

@media (min-width: 1281px) {
  .site-header .header-inner {
    gap: 16px !important;
    min-height: 78px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 56px !important;
    height: 56px !important;
  }

  .site-header .brand-copy strong {
    font-size: 11px !important;
  }

  .site-header .brand-copy small {
    font-size: 8px !important;
  }

  .site-header .main-nav {
    gap: 5px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 12px !important;
    padding-inline: 10px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 11px !important;
    padding-inline: 8px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 12.5px !important;
    padding-inline: 18px !important;
  }
}

@media (min-width: 1440px) {
  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 12.5px !important;
    padding-inline: 11px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 11.5px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 13px !important;
    padding-inline: 20px !important;
  }
}

/* =====================================================================
   V142 — PC header: daha büyük yazı/buton, tek satır korunur
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 76px !important;
    gap: 12px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 52px !important;
    height: 52px !important;
  }

  .site-header .brand-copy strong {
    font-size: 10.5px !important;
  }

  .site-header .brand-copy small {
    font-size: 7.5px !important;
  }

  .site-header .main-nav {
    gap: 3px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    letter-spacing: .035em !important;
  }

  .site-header .main-nav .track-link {
    font-size: 10px !important;
    padding-inline: 6px !important;
  }

  .site-header .main-nav .nav-cta {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 16px !important;
    font-size: 11.5px !important;
    gap: 7px !important;
    margin-left: 6px !important;
  }

  .site-header .main-nav .nav-cta span {
    font-size: 16px !important;
  }

  .site-header .nav-mobile-tools {
    height: 46px !important;
    gap: 8px !important;
    margin-left: 8px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    padding: 0 12px 0 10px !important;
    font-size: 11px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 10px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp .wa-mark {
    width: 24px !important;
    height: 24px !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .site-header .brand-copy {
    display: none !important;
  }

  .site-header .header-inner {
    gap: 10px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 48px !important;
    height: 48px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 10px !important;
    padding-inline: 6px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 9.5px !important;
    padding-inline: 5px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 10.5px !important;
    padding-inline: 13px !important;
  }

  .site-header .main-nav .nav-cta,
  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher .language-current {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .site-header .nav-mobile-tools {
    height: 44px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
}

@media (min-width: 1281px) {
  .site-header .header-inner {
    gap: 16px !important;
    min-height: 78px !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    width: 56px !important;
    height: 56px !important;
  }

  .site-header .brand-copy strong {
    font-size: 11px !important;
  }

  .site-header .brand-copy small {
    font-size: 8px !important;
  }

  .site-header .main-nav {
    gap: 5px !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 12px !important;
    padding-inline: 10px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 11px !important;
    padding-inline: 8px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 12.5px !important;
    padding-inline: 18px !important;
  }
}

@media (min-width: 1440px) {
  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    font-size: 12.5px !important;
    padding-inline: 11px !important;
  }

  .site-header .main-nav .track-link {
    font-size: 11.5px !important;
  }

  .site-header .main-nav .nav-cta {
    font-size: 13px !important;
    padding-inline: 20px !important;
  }
}

/* =====================================================================
   V143 — mobil menü: tam ekran, hizalı, WA PC stili, sıra düzelt
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop,
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    z-index: 220 !important;
  }

  body.menu-open .site-header .menu-toggle {
    position: relative !important;
    z-index: 225 !important;
  }

  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open,
  .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: calc(100dvh - 34px) !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 18px 20px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    box-shadow: none !important;
    z-index: 200 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-mobile-head,
  .site-header .main-nav.open > .nav-mobile-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    padding: 0 0 14px !important;
    margin: 0 0 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand),
  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #c8d6e2 !important;
    border-radius: 11px !important;
    background: transparent !important;
    order: 1 !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active,
  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active {
    color: #fff !important;
    background: rgba(255, 255, 255, .06) !important;
  }

  body.menu-open .site-header .main-nav.open > a.active::after,
  .site-header .main-nav.open > a.active::after {
    left: 22% !important;
    right: 22% !important;
    width: auto !important;
    bottom: 5px !important;
    transform: scaleX(1) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools,
  .site-header .main-nav.open .nav-mobile-tools {
    order: 90 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    margin: auto 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 54px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    border: 1px solid rgba(37, 211, 102, .78) !important;
    background: linear-gradient(135deg, #25d366 0%, #18b858 52%, #128c4a 100%) !important;
    box-shadow: 0 14px 32px rgba(18, 140, 74, .26), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::before,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -65% auto -65% -45% !important;
    width: 28% !important;
    transform: rotate(18deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .30), transparent) !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    position: relative !important;
    z-index: 1 !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    color: #fff !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp svg,
  .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp svg {
    width: 26px !important;
    height: 26px !important;
    fill: currentColor !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher {
    order: 2 !important;
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    width: 100% !important;
    min-height: 54px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 16px !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    display: inline-flex !important;
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu,
  .site-header .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 20 !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta,
  .site-header .main-nav.open .nav-cta {
    order: 100 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 10px 0 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    background: linear-gradient(135deg, #ee314b, #b80f2c) !important;
    box-shadow: 0 14px 34px rgba(220, 27, 58, .25) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta span,
  .site-header .main-nav.open .nav-cta span {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-whatsapp,
  body.menu-open .site-header .main-nav.open > .language-switcher {
    display: none !important;
  }
}

/* V143b — PC: nav-cta WhatsApp/dilden önce kalsın */
@media (min-width: 981px) {
  .site-header .main-nav .nav-cta {
    order: 8 !important;
  }

  .site-header .nav-mobile-tools {
    order: 9 !important;
  }
}

/* =====================================================================
   V144 — PC header: logo yanındaki marka yazısını gizle
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .brand-lockup .brand-copy {
    display: none !important;
  }
}

/* =====================================================================
   V145 — mobil menü: tam ekran, X net, PC buton renkleri
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-backdrop,
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header,
  body.menu-open.page-index .site-header,
  body.menu-open:not(.page-index) .site-header {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 320 !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  body.menu-open .site-header .header-inner {
    justify-content: flex-end !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header .brand-lockup {
    display: none !important;
  }

  body.menu-open .site-header .menu-toggle {
    position: relative !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 12px 11px !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .92) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
    z-index: 325 !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .menu-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background: #dbe8f2 !important;
    transform-origin: center !important;
    opacity: 1 !important;
    transition:
      transform .32s cubic-bezier(.4, 0, .2, 1),
      opacity .22s ease !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.menu-open .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open.page-index .site-header .main-nav.open,
  body.menu-open.page-index .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open .main-nav.open,
  html body.menu-open .site-header .main-nav.open {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: calc(34px + 56px + 16px) 20px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    box-shadow: none !important;
    z-index: 300 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-mobile-head,
  .site-header .main-nav.open > .nav-mobile-head {
    display: none !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand),
  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    color: #9aa6b4 !important;
    border-radius: 10px !important;
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active,
  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand).active {
    color: #fff !important;
    background: rgba(255, 255, 255, .05) !important;
  }

  body.menu-open .site-header .main-nav.open > a.active::after,
  body.menu-open .main-nav.open > a.active::after {
    left: 13px !important;
    right: 13px !important;
    width: auto !important;
    bottom: 5px !important;
    transform: scaleX(1) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta,
  body.menu-open .main-nav.open .nav-cta {
    order: 80 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: auto 0 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    background: linear-gradient(135deg, #ee314b, #b80f2c) !important;
    box-shadow: 0 14px 34px rgba(220, 27, 58, .25) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-cta span,
  body.menu-open .main-nav.open .nav-cta span {
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools,
  body.menu-open .main-nav.open .nav-mobile-tools {
    order: 90 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border-top: none !important;
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    color: #fff !important;
    border: 1px solid rgba(37, 211, 102, .78) !important;
    background: linear-gradient(135deg, #25d366 0%, #18b858 52%, #128c4a 100%) !important;
    box-shadow: 0 14px 32px rgba(18, 140, 74, .26), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::before,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -65% auto -65% -45% !important;
    width: 28% !important;
    transform: rotate(18deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .30), transparent) !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    position: relative !important;
    z-index: 1 !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    color: #fff !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp svg,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    font-size: 10px !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    display: inline-flex !important;
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu,
  body.menu-open .main-nav.open .nav-mobile-tools .language-switcher.open .language-menu {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 20 !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-whatsapp,
  body.menu-open .site-header .main-nav.open > .language-switcher {
    display: none !important;
  }
}

/* =====================================================================
   V146 — PC: header marka yazısı tamamen gizle (CREA HAIRFEST vb.)
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .brand-lockup .brand-copy,
  .site-header .brand-copy,
  body.page-index .site-header .brand-copy,
  body.page-index .site-header.scrolled .brand-copy,
  body.page-index .site-header:not(.scrolled) .brand-copy,
  body:not(.page-index) .site-header .brand-copy,
  .site-header .brand-copy strong,
  .site-header .brand-copy small,
  body.page-index .site-header.scrolled .brand-copy strong,
  body.page-index .site-header.scrolled .brand-copy small,
  body:not(.page-index) .site-header .brand-copy strong,
  body:not(.page-index) .site-header .brand-copy small {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
  }

  .site-header .brand-lockup {
    gap: 0 !important;
  }
}

/* =====================================================================
   V147 — mobil menü: görünür X, PC buton renkleri (nav-cta fix)
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .site-header .header-inner .menu-toggle,
  body.menu-open.page-index .site-header .menu-toggle,
  body.page-index.menu-open .site-header .menu-toggle,
  body.page-index.menu-open .site-header:not(.scrolled) .menu-toggle,
  body.page-index.menu-open .site-header.scrolled .menu-toggle,
  body.menu-open:not(.page-index) .site-header .menu-toggle,
  body.menu-open .site-header .menu-toggle {
    position: fixed !important;
    top: calc(34px + 10px) !important;
    right: max(16px, env(safe-area-inset-right, 16px)) !important;
    left: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 12px 11px !important;
    border: 1px solid rgba(88, 200, 255, .55) !important;
    border-radius: 12px !important;
    background: rgba(6, 20, 34, .98) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .12) !important;
    z-index: 999 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.menu-open .site-header .menu-toggle span:not(.sr-only) {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    transform-origin: center !important;
    opacity: 1 !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
    opacity: 1 !important;
    background: #ffffff !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  body.menu-open .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
    opacity: 1 !important;
    background: #ffffff !important;
  }

  body.menu-open .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand):not(.nav-cta),
  body.menu-open .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand):not(.nav-cta) {
    background: transparent !important;
  }

  body.menu-open .site-header .main-nav.open a.nav-cta,
  body.menu-open .main-nav.open a.nav-cta {
    position: relative !important;
    overflow: hidden !important;
    order: 80 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: auto 0 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    background: linear-gradient(135deg, #ee314b, #b80f2c) !important;
    box-shadow: 0 14px 34px rgba(220, 27, 58, .25) !important;
  }

  body.menu-open .site-header .main-nav.open a.nav-cta::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .site-header .main-nav.open a.nav-cta::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -80% auto -80% -40% !important;
    width: 28% !important;
    transform: rotate(18deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .42), transparent) !important;
    transition: transform .55s ease !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header .main-nav.open a.nav-cta span {
    position: relative !important;
    z-index: 1 !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    color: #fff !important;
    border: 1px solid rgba(37, 211, 102, .78) !important;
    background: linear-gradient(135deg, #25d366 0%, #18b858 52%, #128c4a 100%) !important;
    box-shadow: 0 14px 32px rgba(18, 140, 74, .26), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -65% auto -65% -45% !important;
    width: 28% !important;
    transform: rotate(18deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .30), transparent) !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp .wa-mark {
    position: relative !important;
    z-index: 1 !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    color: #fff !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
  }
}

/* =====================================================================
   V148 — mobil menü butonları = PC (V53 WA, kırmızı CTA, dil kutusu)
   ===================================================================== */
@media (max-width: 980px) {
  html body.menu-open .site-header .main-nav.open > a.nav-cta,
  html body.menu-open .site-header .main-nav.open a.nav-cta,
  html body.menu-open .main-nav.open > a.nav-cta {
    position: relative !important;
    overflow: hidden !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    background: linear-gradient(135deg, #ee314b, #b80f2c) !important;
    box-shadow: 0 14px 34px rgba(220, 27, 58, .25) !important;
  }

  html body.menu-open .site-header .main-nav.open > a.nav-cta::after {
    display: none !important;
    content: none !important;
  }

  html body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp,
  html body.menu-open .main-nav.open .nav-mobile-tools .nav-whatsapp {
    color: #fff !important;
    border: 1px solid rgba(128, 194, 240, .34) !important;
    background:
      radial-gradient(circle at 28% 12%, rgba(96, 186, 255, .28), transparent 38%),
      linear-gradient(135deg, rgba(9, 31, 54, .98) 0%, rgba(13, 72, 117, .95) 48%, rgba(189, 23, 47, .92) 100%) !important;
    box-shadow: 0 16px 36px rgba(6, 28, 49, .34), 0 8px 24px rgba(194, 26, 51, .14), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
  }

  html body.menu-open .site-header .main-nav.open .nav-mobile-tools .nav-whatsapp::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent) !important;
  }

  html body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current,
  html body.menu-open .main-nav.open .nav-mobile-tools .language-switcher .language-current {
    color: #dbeaf5 !important;
    border: 1px solid rgba(119, 190, 242, .24) !important;
    background: rgba(255, 255, 255, .035) !important;
  }

  html body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current span {
    color: #06192c !important;
    background: #8bcffc !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  html body.menu-open .site-header .main-nav.open .nav-mobile-tools .language-switcher .language-current i {
    color: #7ea3bf !important;
    border-right: 2px solid #8eb1ca !important;
    border-bottom: 2px solid #8eb1ca !important;
    background: none !important;
    width: 8px !important;
    height: 8px !important;
  }
}

/* =====================================================================
   V149 — mobil BİLETİNİ AL = PC kırmızı gradient (şeffaf override fix)
   ===================================================================== */
@media (max-width: 980px) {
  html body.menu-open .site-header #main-nav.open > a.nav-cta,
  html body.menu-open #main-nav.open > a.nav-cta,
  html body.menu-open .site-header .main-nav.open > a.nav-cta.active,
  html body.menu-open .main-nav.open > a.nav-cta.active {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    background-color: #c41830 !important;
    background-image: linear-gradient(135deg, #ee314b 0%, #b80f2c 100%) !important;
    box-shadow: 0 14px 34px rgba(220, 27, 58, .25) !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta::after,
  html body.menu-open #main-nav.open > a.nav-cta::after {
    display: none !important;
    content: none !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta::before,
  html body.menu-open #main-nav.open > a.nav-cta::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -80% auto -80% -40% !important;
    width: 28% !important;
    transform: rotate(18deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .42), transparent) !important;
    pointer-events: none !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta span,
  html body.menu-open #main-nav.open > a.nav-cta span {
    position: relative !important;
    z-index: 1 !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }
}

@keyframes mobileNavCtaShine {
  0% {
    transform: translateX(0) rotate(18deg);
  }

  100% {
    transform: translateX(620%) rotate(18deg);
  }
}

/* =====================================================================
   V150 — mobil BİLETİNİ AL: PC shimmer geçiş efekti
   ===================================================================== */
@media (max-width: 980px) {
  html body.menu-open .site-header #main-nav.open > a.nav-cta,
  html body.menu-open #main-nav.open > a.nav-cta {
    transition: transform .24s ease, box-shadow .24s ease !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta::before,
  html body.menu-open #main-nav.open > a.nav-cta::before {
    z-index: 0 !important;
    transition: transform .55s ease !important;
    animation: mobileNavCtaShine 2.6s ease-in-out infinite !important;
    animation-delay: .4s !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta:active,
  html body.menu-open #main-nav.open > a.nav-cta:active {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 40px rgba(220, 27, 58, .32) !important;
  }

  html body.menu-open .site-header #main-nav.open > a.nav-cta:active::before,
  html body.menu-open #main-nav.open > a.nav-cta:active::before {
    animation: none !important;
    transform: translateX(620%) rotate(18deg) !important;
    transition: transform .55s ease !important;
  }

  @media (hover: hover) and (pointer: fine) {
    html body.menu-open .site-header #main-nav.open > a.nav-cta:hover::before,
    html body.menu-open #main-nav.open > a.nav-cta:hover::before {
      animation: none !important;
      transform: translateX(620%) rotate(18deg) !important;
    }

    html body.menu-open .site-header #main-nav.open > a.nav-cta:hover,
    html body.menu-open #main-nav.open > a.nav-cta:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 18px 40px rgba(220, 27, 58, .32) !important;
    }
  }
}

/* =====================================================================
   V151 — mobil menü üst: logo (Etkinlik üstü)
   ===================================================================== */
@media (min-width: 981px) {
  .nav-mobile-brand {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .nav-mobile-brand {
    display: none !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    order: 0 !important;
    padding: 2px 0 14px !important;
    margin: 0 0 4px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand::after,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand img,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand img {
    width: 68px !important;
    height: 68px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .42)) !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline {
    display: grid !important;
    gap: 2px !important;
    text-align: center !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline strong,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline strong {
    color: #f4f7fa !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    line-height: 1.2 !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline small,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline small {
    color: #74879a !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    line-height: 1.2 !important;
  }
}

/* V152 — Menü kapandığında header çizgisi / ikon beyaz halesi */
@media (max-width: 980px) {
  body:not(.menu-open).page-index .site-header:not(.scrolled) {
    position: relative !important;
    top: auto !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body:not(.menu-open).page-index .site-header:not(.scrolled) .brand-lockup {
    display: none !important;
  }

  body:not(.menu-open).page-index .site-header:not(.scrolled) .header-inner {
    min-height: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  body:not(.menu-open).page-index .site-header:not(.scrolled) .menu-toggle,
  body:not(.menu-open).page-index .site-header:not(.scrolled) .header-inner .menu-toggle {
    position: fixed !important;
    top: calc(34px + 10px) !important;
    right: max(16px, env(safe-area-inset-right, 16px)) !important;
    left: auto !important;
    z-index: 120 !important;
    pointer-events: auto !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
  }

  body:not(.menu-open) .site-header .menu-toggle[aria-expanded="false"] {
    border-color: rgba(88, 170, 240, .32) !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
  }

  body:not(.menu-open) .site-header .menu-toggle[aria-expanded="false"] span:not(.sr-only) {
    background: #dbe8f2 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body:not(.menu-open):not(.page-index) .site-header .menu-toggle,
  body:not(.menu-open).page-index .site-header.scrolled .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
  }
}

/* =====================================================================
   V153 — logo yanı marka yazısı (PC + mobil header + mobil menü)
   ===================================================================== */
.site-header .brand-edition,
.nav-menu-tagline .brand-edition {
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  background: linear-gradient(135deg, #ff5a72 0%, #ee314b 48%, #c41a33 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.site-header .brand-copy,
.site-header .brand-lockup .brand-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: static !important;
  clip: auto !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

.site-header .brand-copy strong,
.site-header .brand-lockup .brand-copy strong {
  display: block !important;
  color: #f4f7fa !important;
  font-family: "Sora", "Inter", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.site-header .brand-copy small,
.site-header .brand-lockup .brand-copy small {
  display: block !important;
  margin-top: 1px !important;
  color: #7d92a6 !important;
  font-family: "Sora", "Inter", sans-serif !important;
  font-size: 7.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (min-width: 981px) {
  .site-header .brand-lockup {
    gap: 10px !important;
    align-items: center !important;
  }

  .site-header .brand-copy strong {
    font-size: 12px !important;
    letter-spacing: .11em !important;
  }

  .site-header .brand-copy small {
    font-size: 8px !important;
    letter-spacing: .15em !important;
    color: #74879a !important;
  }
}

@media (max-width: 980px) {
  .site-header .brand-lockup {
    gap: 10px !important;
    align-items: center !important;
  }

  .site-header .brand-emblem,
  .site-header .brand-emblem img {
    flex: 0 0 auto !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    padding: 10px 0 16px !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand {
    flex: 0 0 auto !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand img,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand img {
    width: 52px !important;
    height: 52px !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline {
    display: grid !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 2px !important;
    text-align: left !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline strong,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline strong {
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-tagline small,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-tagline small {
    font-size: 7.5px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* =====================================================================
   V154 — mobil menü: marka yazısı yok, logo büyük
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-brand .nav-menu-tagline {
    display: none !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: center !important;
    padding: 8px 0 18px !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand img,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand img {
    width: 92px !important;
    height: 92px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .45)) !important;
  }
}

/* =====================================================================
   V155 — menü kapanınca beyaz çizgi + ikon halesi (kalıcı fix)
   ===================================================================== */
@media (max-width: 980px) {
  .site-header,
  body.page-index .site-header,
  body.page-index .site-header:not(.scrolled),
  body.page-index .site-header.scrolled,
  body:not(.page-index) .site-header,
  body:not(.page-index) .site-header.scrolled {
    border-bottom: none !important;
    border-bottom-color: transparent !important;
  }

  body:not(.menu-open) .site-header .menu-toggle,
  body:not(.menu-open) .site-header .menu-toggle[aria-expanded="true"],
  body:not(.menu-open) .site-header .menu-toggle[aria-expanded="false"] {
    border: 1px solid rgba(88, 170, 240, .32) !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
    transition: transform .18s ease !important;
  }

  body:not(.menu-open) .site-header .menu-toggle span:not(.sr-only) {
    background: #dbe8f2 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body:not(.menu-open).page-index .site-header:not(.scrolled) .menu-toggle {
    box-shadow: 0 0 20px rgba(0, 140, 220, .14) !important;
  }

  body.menu-open .site-header .main-nav.open > .nav-mobile-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand {
    border-bottom: none !important;
  }
}

/* V156 — marka yazısı: mobil header + PC (V146/V1882 ezmesin) */
@media (max-width: 980px) {
  body:not(.menu-open):not(.page-index) .site-header .brand-lockup .brand-copy,
  body:not(.menu-open).page-index .site-header .brand-lockup .brand-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: min(46vw, 210px) !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
  }
}

@media (min-width: 981px) {
  .site-header .brand-lockup .brand-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
  }

  .site-header .brand-lockup {
    gap: 10px !important;
  }
}

/* =====================================================================
   V157 — ana sayfa: header her zaman görünsün (scroll ile gelme yok)
   ===================================================================== */
@media (max-width: 980px) {
  body:not(.menu-open).page-index .site-header,
  body:not(.menu-open).page-index .site-header:not(.scrolled),
  body:not(.menu-open).page-index .site-header.scrolled {
    position: sticky !important;
    top: 34px !important;
    z-index: 90 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: none !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  body:not(.menu-open).page-index .site-header .header-inner,
  body:not(.menu-open).page-index .site-header:not(.scrolled) .header-inner {
    position: relative !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  body:not(.menu-open).page-index .site-header .brand-lockup,
  body:not(.menu-open).page-index .site-header:not(.scrolled) .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not(.menu-open).page-index .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
  }

  body:not(.menu-open).page-index .site-header .menu-toggle,
  body:not(.menu-open).page-index .site-header:not(.scrolled) .menu-toggle,
  body:not(.menu-open).page-index .site-header:not(.scrolled) .header-inner .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  body:not(.menu-open).page-index .hero-v42.hero-stage {
    padding-top: 24px !important;
  }
}

/* =====================================================================
   V158 — mobil menü: logo ortalı, büyük, eşit boşluk
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .site-header .brand-lockup,
  body.menu-open .site-header .brand-copy {
    display: none !important;
    visibility: hidden !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand {
    display: grid !important;
    place-items: center !important;
    justify-items: center !important;
    align-content: center !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    order: 0 !important;
    margin: 0 !important;
    padding: clamp(20px, 6vw, 32px) clamp(16px, 5vw, 24px) !important;
    border-bottom: none !important;
    box-sizing: border-box !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand {
    display: grid !important;
    place-items: center !important;
    justify-items: center !important;
    width: min(100%, 168px) !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: clamp(10px, 3vw, 16px) !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand::after,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand::after {
    display: none !important;
    content: none !important;
  }

  body.menu-open .site-header #main-nav.open > .nav-mobile-brand .nav-menu-brand img,
  body.menu-open #main-nav.open > .nav-mobile-brand .nav-menu-brand img {
    display: block !important;
    width: min(58vw, 136px) !important;
    height: min(58vw, 136px) !important;
    max-width: 136px !important;
    max-height: 136px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    filter: drop-shadow(0 16px 36px rgba(0, 0, 0, .5)) !important;
  }
}

/* =====================================================================
   V159 — ribbon+header sticky, menü/scroll üst kesilme fix
   ===================================================================== */
@media (max-width: 980px) {
  .event-ribbon {
    position: sticky !important;
    top: 0 !important;
    z-index: 110 !important;
    flex-shrink: 0 !important;
  }

  .site-header,
  .site-header.scrolled,
  .page-index .site-header,
  .page-index .site-header:not(.scrolled),
  .page-index .site-header.scrolled,
  body:not(.menu-open).page-index .site-header,
  body:not(.menu-open).page-index .site-header:not(.scrolled),
  body:not(.menu-open).page-index .site-header.scrolled,
  body:not(.page-index) .site-header,
  body:not(.page-index) .site-header.scrolled {
    position: sticky !important;
    top: 34px !important;
    z-index: 100 !important;
    flex-shrink: 0 !important;
  }

  body.menu-open .site-header,
  body.menu-open.page-index .site-header,
  body.menu-open:not(.page-index) .site-header {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 330 !important;
    background: rgba(3, 8, 14, .98) !important;
    border-bottom: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .32) !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  body.menu-open .site-header .header-inner {
    pointer-events: auto !important;
  }

  body.menu-open .main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open.page-index .site-header .main-nav.open,
  body.menu-open.page-index .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open .main-nav.open,
  html body.menu-open .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 34px - 56px) !important;
    min-height: calc(100dvh - 34px - 56px) !important;
    max-height: calc(100dvh - 34px - 56px) !important;
    padding: 12px 20px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    background: rgba(5, 10, 18, .98) !important;
    z-index: 320 !important;
  }

  body.menu-open .site-header .header-inner .menu-toggle,
  body.menu-open.page-index .site-header .menu-toggle,
  body.page-index.menu-open .site-header .menu-toggle,
  body.menu-open:not(.page-index) .site-header .menu-toggle,
  body.menu-open .site-header .menu-toggle {
    top: calc(34px + 10px) !important;
  }
}

/* V160 — mobil menüden logo kaldır */
@media (max-width: 980px) {
  .nav-mobile-brand {
    display: none !important;
  }
}

/* =====================================================================
   V161 — menü açıkken header bozulmasın (logo+yazı+X aynı bar)
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open .event-ribbon {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 350 !important;
    width: 100% !important;
  }

  body.menu-open .site-header,
  body.menu-open.page-index .site-header,
  body.menu-open:not(.page-index) .site-header {
    position: fixed !important;
    top: 34px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 340 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(3, 8, 14, .98) !important;
    border-bottom: none !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  body.menu-open .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .brand-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: min(46vw, 210px) !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
  }

  body.menu-open .site-header .menu-toggle,
  body.menu-open .site-header .header-inner .menu-toggle,
  body.menu-open.page-index .site-header .menu-toggle,
  body.page-index.menu-open .site-header .menu-toggle,
  body.page-index.menu-open .site-header:not(.scrolled) .menu-toggle,
  body.page-index.menu-open .site-header.scrolled .menu-toggle,
  body.menu-open:not(.page-index) .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    background: rgba(6, 20, 34, .82) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
    transform: none !important;
  }

  body.menu-open .site-header .menu-toggle span:not(.sr-only) {
    background: #dbe8f2 !important;
  }

  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open,
  body.menu-open.page-index .site-header .main-nav.open,
  body.menu-open.page-index .main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open .main-nav.open,
  html body.menu-open .site-header .main-nav.open {
    position: fixed !important;
    top: calc(34px + 56px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: calc(100dvh - 34px - 56px) !important;
    min-height: calc(100dvh - 34px - 56px) !important;
    max-height: calc(100dvh - 34px - 56px) !important;
    margin: 0 !important;
    padding: 12px 20px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    box-shadow: none !important;
    z-index: 330 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .main-nav.open::before,
  body.menu-open .main-nav.open::before {
    display: none !important;
    content: none !important;
  }

  body.menu-open .site-header .main-nav.open::after,
  body.menu-open .main-nav.open::after {
    background: linear-gradient(180deg, rgba(5, 10, 18, .98), rgba(3, 8, 14, .98)) !important;
  }
}

/* =====================================================================
   V162 — PC: logo yanı marka yazısı (V146 strong/small width:0 fix)
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
  }

  .site-header .brand-lockup .brand-copy,
  .site-header .brand-copy,
  body.page-index .site-header .brand-copy,
  body.page-index .site-header.scrolled .brand-copy,
  body.page-index .site-header:not(.scrolled) .brand-copy,
  body:not(.page-index) .site-header .brand-copy {
    display: grid !important;
    gap: 2px !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
    line-height: 1.15 !important;
    text-align: left !important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-copy small,
  .site-header .brand-lockup .brand-copy strong,
  .site-header .brand-lockup .brand-copy small,
  body.page-index .site-header .brand-copy strong,
  body.page-index .site-header .brand-copy small,
  body:not(.page-index) .site-header .brand-copy strong,
  body:not(.page-index) .site-header .brand-copy small {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-lockup .brand-copy strong {
    color: #f4f7fa !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .site-header .brand-copy small,
  .site-header .brand-lockup .brand-copy small {
    margin-top: 1px !important;
    color: #74879a !important;
    font-family: "Sora", "Inter", sans-serif !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .15em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }
}

/* =====================================================================
   V165 — mobil menü: header çizgisinin altından açılır (renklere dokunma)
   ===================================================================== */
@media (max-width: 980px) {
  body.menu-open {
    overflow: hidden !important;
    --menu-ribbon-h: 34px;
    --menu-header-h: 56px;
    --menu-top: 91px;
  }

  body.menu-open .event-ribbon {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 400 !important;
    height: var(--menu-ribbon-h) !important;
  }

  body.menu-open .site-header,
  body.menu-open.page-index .site-header,
  body.menu-open:not(.page-index) .site-header {
    position: fixed !important;
    top: var(--menu-ribbon-h) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 390 !important;
    height: var(--menu-header-h) !important;
    min-height: var(--menu-header-h) !important;
    max-height: var(--menu-header-h) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.menu-open .site-header .header-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    pointer-events: auto !important;
    position: relative !important;
  }

  body.menu-open .site-header .brand-lockup {
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    pointer-events: auto !important;
  }

  body.menu-open .site-header .header-inner > .menu-toggle,
  body.menu-open .site-header .menu-toggle,
  body.menu-open .site-header .header-inner .menu-toggle,
  body.menu-open.page-index .site-header .menu-toggle,
  body.page-index.menu-open .site-header .menu-toggle,
  body.page-index.menu-open .site-header:not(.scrolled) .menu-toggle,
  body.page-index.menu-open .site-header.scrolled .menu-toggle,
  body.menu-open:not(.page-index) .site-header .menu-toggle {
    order: 2 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    align-self: center !important;
    pointer-events: auto !important;
    z-index: 2 !important;
    transform: none !important;
  }

  body.menu-open .site-header .main-nav:not(.open) {
    display: none !important;
  }

  body.menu-open .site-header .main-nav.open,
  body.menu-open #main-nav.open,
  body.menu-open .site-header #main-nav.open,
  body.menu-open.page-index .site-header .main-nav.open,
  body.menu-open.page-index #main-nav.open,
  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open #main-nav.open,
  body.menu-open .site-header .header-inner > .main-nav.open,
  html body.menu-open .site-header .main-nav.open {
    position: fixed !important;
    top: var(--menu-top, 91px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - var(--menu-top, 91px)) !important;
    min-height: calc(100dvh - var(--menu-top, 91px)) !important;
    max-height: calc(100dvh - var(--menu-top, 91px)) !important;
    margin: 0 !important;
    padding: 14px 20px calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .98) !important;
    z-index: 380 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    pointer-events: auto !important;
    animation: none !important;
    transform: none !important;
  }

  body.menu-open .site-header .main-nav.open::before,
  body.menu-open .site-header .main-nav.open::after,
  body.menu-open #main-nav.open::before,
  body.menu-open #main-nav.open::after {
    display: none !important;
    content: none !important;
  }
}

/* V166 — menü top: JS ölçümü (--menu-top), eski top kurallarını ez */
@media (max-width: 980px) {
  html body.menu-open .site-header .header-inner > #main-nav.open,
  html body.menu-open .site-header .header-inner > .main-nav.open,
  html body.menu-open .site-header #main-nav.open,
  html body.menu-open #main-nav.open,
  html body.menu-open.page-index .site-header .main-nav.open,
  html body.menu-open:not(.page-index) .site-header .main-nav.open {
    inset: auto auto 0 0 !important;
    top: var(--menu-top, 91px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: calc(100dvh - var(--menu-top, 91px)) !important;
    min-height: calc(100dvh - var(--menu-top, 91px)) !important;
    max-height: calc(100dvh - var(--menu-top, 91px)) !important;
  }
}

/* =====================================================================
   V168 — header/menü: V116 geri yükleme (V117+ header/menu override iptal)
   ===================================================================== */
@media (max-width: 980px) {
  .nav-mobile-brand,
  .nav-mobile-head,
  .nav-menu-brand {
    display: none !important;
  }

  body.menu-open {
    overflow: auto !important;
  }

  /* Ana sayfa: şeffaf header + sabit menü ikonu (V91/V93/V95) */
  .page-index .site-header,
  .page-index .site-header.scrolled {
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .page-index .site-header.scrolled {
    background: rgba(2, 8, 14, .94) !important;
    border-bottom-color: rgba(255, 255, 255, .08) !important;
    backdrop-filter: blur(18px) !important;
  }

  .page-index .site-header {
    position: relative !important;
    top: auto !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  .page-index .site-header .brand-lockup {
    display: none !important;
  }

  .page-index .site-header .header-inner {
    position: static !important;
    min-height: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .page-index .site-header .menu-toggle {
    pointer-events: auto !important;
    position: fixed !important;
    top: calc(34px + 12px) !important;
    right: 16px !important;
    left: auto !important;
    z-index: 101 !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* İç sayfalar: sticky header + logo (V115) */
  body:not(.page-index) .site-header {
    position: sticky !important;
    top: 34px !important;
    z-index: 90 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  body:not(.page-index) .site-header.scrolled {
    background: rgba(3, 8, 14, .98) !important;
    border-bottom-color: rgba(255, 255, 255, .1) !important;
  }

  body:not(.page-index) .site-header .header-inner {
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 56px !important;
    padding: 8px 0 !important;
    pointer-events: auto !important;
  }

  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 9px !important;
  }

  body:not(.page-index) .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
  }

  body:not(.page-index) .site-header .brand-copy {
    display: grid !important;
    min-width: 0 !important;
    line-height: 1.15 !important;
  }

  body:not(.page-index) .site-header .brand-copy strong {
    display: block !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.page-index) .site-header .brand-copy small {
    display: block !important;
    margin-top: 2px !important;
    font-size: 7.5px !important;
    letter-spacing: .12em !important;
    color: #8fa3b5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.page-index) .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    background: rgba(6, 20, 34, .88) !important;
    border-color: rgba(88, 170, 240, .32) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
  }

  body:not(.page-index).menu-open .site-header .menu-toggle {
    z-index: 101 !important;
  }

  /* Mobil menü: sağ üstten yarım çekmece (V115) */
  .nav-mobile-backdrop.active {
    display: block !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .58) !important;
    z-index: 98 !important;
  }

  html body.menu-open .site-header .main-nav.open,
  html body.menu-open #main-nav.open,
  html body.menu-open.page-index .site-header .main-nav.open,
  html body.menu-open.page-index #main-nav.open,
  html body.menu-open:not(.page-index) .site-header .main-nav.open,
  html body.menu-open:not(.page-index) #main-nav.open,
  body.menu-open .site-header .main-nav.open,
  body.menu-open .main-nav.open,
  .site-header .main-nav.open,
  .page-index .site-header .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    bottom: auto !important;
    left: auto !important;
    right: 0 !important;
    inset: auto 0 auto auto !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: auto !important;
    max-height: min(58vh, 580px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 0 18px !important;
    background: rgba(5, 10, 18, .98) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 100 !important;
    pointer-events: auto !important;
    animation: menuDrawerInTR .26s cubic-bezier(.22, 1, .36, 1) both !important;
    transform: none !important;
  }

  body:not(.page-index).menu-open .site-header .main-nav.open,
  body:not(.page-index).menu-open #main-nav.open {
    top: calc(34px + 56px) !important;
    max-height: min(58vh, calc(100dvh - 34px - 56px - 12px)) !important;
  }

  .page-index .site-header .main-nav:not(.open) {
    display: none !important;
  }

  .page-index .site-header .main-nav.open {
    pointer-events: auto !important;
  }

  body.menu-open .site-header,
  body.menu-open.page-index .site-header,
  body.menu-open:not(.page-index) .site-header {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  body.menu-open:not(.page-index) .site-header {
    position: sticky !important;
    top: 34px !important;
    pointer-events: auto !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
  }

  body.menu-open .site-header .header-inner {
    pointer-events: none !important;
  }

  body.menu-open:not(.page-index) .site-header .header-inner {
    pointer-events: auto !important;
  }

  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand),
  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 11.5px !important;
  }

  .site-header .main-nav.open > a.active::after,
  .site-header .main-nav > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
  }

  .site-header .nav-mobile-tools {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  .site-header .nav-mobile-tools .nav-whatsapp,
  .site-header .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  .site-header .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
  }
}

@media (min-width: 981px) {
  .nav-mobile-brand,
  .nav-mobile-head,
  .nav-menu-brand {
    display: none !important;
  }

  .nav-mobile-tools {
    display: contents !important;
  }

  .site-header .header-inner {
    min-height: 96px !important;
    gap: 28px !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    height: 70px !important;
    gap: 11px !important;
    flex: 0 0 auto !important;
  }

  .site-header .brand-lockup .brand-copy,
  .site-header .brand-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    clip: auto !important;
    position: static !important;
    pointer-events: auto !important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-copy small,
  .site-header .brand-lockup .brand-copy strong,
  .site-header .brand-lockup .brand-copy small {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    clip: auto !important;
    position: static !important;
    overflow: visible !important;
  }

  .main-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 7px !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .main-nav.open {
    display: flex !important;
  }

  .main-nav a {
    font-size: 13px !important;
    padding: 11px 13px !important;
    white-space: nowrap !important;
    width: auto !important;
    min-height: 0 !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .main-nav .nav-cta {
    margin-left: 5px !important;
    padding-inline: 19px !important;
    min-height: 42px !important;
    height: auto !important;
    width: auto !important;
  }

  .main-nav .nav-whatsapp {
    min-height: 42px !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 7px 13px !important;
  }

  .main-nav .language-switcher {
    width: auto !important;
    margin-left: 6px !important;
    height: auto !important;
  }

  .main-nav .language-switcher .language-current {
    width: auto !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 10px 15px !important;
  }
}

/* =====================================================================
   V172 — mobile menu rebuilt from scratch
   ===================================================================== */
:root {
  --menu-ribbon-h: 34px;
  --menu-mobile-header-h: 64px;
}

@media (max-width: 980px) {
  body.mobile-menu-v3 .site-header {
    position: sticky !important;
    top: var(--menu-ribbon-h) !important;
    z-index: 220 !important;
    background: rgba(3, 8, 14, .95) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .2) !important;
    backdrop-filter: blur(14px) !important;
  }

  body.mobile-menu-v3 .site-header .header-inner {
    min-height: var(--menu-mobile-header-h) !important;
    padding: 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body.mobile-menu-v3 .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.mobile-menu-v3 .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
  }

  body.mobile-menu-v3 .site-header .brand-copy {
    display: grid !important;
    max-width: min(52vw, 230px) !important;
    overflow: hidden !important;
  }

  body.mobile-menu-v3 .site-header .brand-copy strong {
    font-size: 11px !important;
    letter-spacing: .08em !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  body.mobile-menu-v3 .site-header .brand-copy small {
    font-size: 7.5px !important;
    letter-spacing: .12em !important;
    color: #8fa3b5 !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  body.mobile-menu-v3 .site-header .menu-toggle {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 11px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(88, 170, 240, .32) !important;
    background: rgba(6, 20, 34, .86) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .22) !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    z-index: 245 !important;
  }

  body.mobile-menu-v3 .site-header .menu-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background: #dbe8f2 !important;
    transition: transform .22s ease, opacity .18s ease !important;
    transform-origin: center !important;
  }

  body.mobile-menu-v3 .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  body.mobile-menu-v3 .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  body.mobile-menu-v3 .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.mobile-menu-v3 .site-header .main-nav {
    display: none !important;
    position: fixed !important;
    top: calc(var(--menu-ribbon-h) + var(--menu-mobile-header-h)) !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: min(88vw, 360px) !important;
    min-width: min(82vw, 280px) !important;
    max-width: 360px !important;
    height: calc(100dvh - (var(--menu-ribbon-h) + var(--menu-mobile-header-h))) !important;
    min-height: calc(100dvh - (var(--menu-ribbon-h) + var(--menu-mobile-header-h))) !important;
    max-height: calc(100dvh - (var(--menu-ribbon-h) + var(--menu-mobile-header-h))) !important;
    margin: 0 !important;
    padding: 0 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    border: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 0 !important;
    background: rgba(5, 10, 18, .99) !important;
    box-shadow: -14px 0 34px rgba(0, 0, 0, .3) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: translateX(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .2s ease, opacity .2s ease !important;
    z-index: 255 !important;
  }

  body.mobile-menu-v3 .site-header .main-nav.open {
    display: flex !important;
    transform: translateX(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.mobile-menu-v3 .site-header .main-nav::before,
  body.mobile-menu-v3 .site-header .main-nav::after,
  body.mobile-menu-v3 .site-header .main-nav > .nav-mobile-brand,
  body.mobile-menu-v3 .site-header .main-nav > .nav-mobile-head,
  body.mobile-menu-v3 .site-header .main-nav > .nav-menu-brand {
    display: none !important;
    content: none !important;
  }

  body.mobile-menu-v3 .site-header .main-nav > a:not(.nav-whatsapp) {
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    font-size: 12px !important;
    letter-spacing: .03em !important;
  }

  body.mobile-menu-v3 .site-header .main-nav > a.nav-cta {
    margin-top: auto !important;
    min-height: 46px !important;
    justify-content: center !important;
  }

  body.mobile-menu-v3 .site-header .main-nav .nav-mobile-tools {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  body.mobile-menu-v3 .site-header .main-nav .nav-mobile-tools .nav-whatsapp,
  body.mobile-menu-v3 .site-header .main-nav .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
  }

  body.mobile-menu-v3 .site-header .main-nav .nav-mobile-tools .language-current {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }

  body.mobile-menu-v3 .nav-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .56) !important;
    z-index: 235 !important;
  }

  body.mobile-menu-v3 .nav-mobile-backdrop.active {
    display: block !important;
  }

  body.mobile-menu-v3.menu-open {
    overflow: hidden !important;
  }
}

@media (min-width: 981px) {
  body.mobile-menu-v3 .site-header .menu-toggle {
    display: none !important;
  }

  body.mobile-menu-v3 .site-header .main-nav {
    position: static !important;
    display: flex !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }
}

/* =====================================================================
   V173 — mobile drawer strict right lock
   ===================================================================== */
@media (max-width: 980px) {
  html body.mobile-menu-v3 .site-header #main-nav,
  html body.mobile-menu-v3 #main-nav {
    left: auto !important;
    right: 0 !important;
    inset: auto 0 0 auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: translateX(100%) !important;
  }

  html body.mobile-menu-v3.menu-open .site-header #main-nav.open,
  html body.mobile-menu-v3.menu-open #main-nav.open,
  html body.mobile-menu-v3 .site-header #main-nav.open,
  html body.mobile-menu-v3 #main-nav.open {
    left: auto !important;
    right: 0 !important;
    inset: auto 0 0 auto !important;
    width: min(88vw, 360px) !important;
    min-width: min(82vw, 280px) !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: translateX(0) !important;
    transform-origin: right center !important;
    border-left: 1px solid rgba(255, 255, 255, .12) !important;
    border-right: 0 !important;
  }
}

/* =====================================================================
   V174 — rollback to V116 menu/header behavior
   ===================================================================== */
@media (max-width: 980px) {
  /* Mobile menu: top-right half drawer (V115) */
  body.menu-open .nav-mobile-backdrop.active,
  .nav-mobile-backdrop.active {
    display: block !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .58) !important;
    z-index: 220 !important;
  }

  html body .site-header #main-nav.open,
  html body .site-header .main-nav.open,
  html body #main-nav.open,
  html body .main-nav.open,
  html body.menu-open .site-header #main-nav.open,
  html body.menu-open .site-header .main-nav.open,
  html body.menu-open #main-nav.open,
  html body.menu-open .main-nav.open {
    position: fixed !important;
    top: 34px !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    inset: 34px 0 auto auto !important;
    width: min(50vw, 340px) !important;
    max-width: 340px !important;
    min-width: min(50vw, 280px) !important;
    height: min(50vh, 520px) !important;
    max-height: min(50vh, 520px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 14px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 0 0 0 18px !important;
    background: rgba(5, 10, 18, .98) !important;
    box-shadow: -12px 16px 40px rgba(0, 0, 0, .42) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 230 !important;
  }

  html body:not(.page-index) .site-header #main-nav.open,
  html body:not(.page-index) .site-header .main-nav.open,
  html body:not(.page-index).menu-open .site-header #main-nav.open,
  html body:not(.page-index).menu-open .site-header .main-nav.open {
    top: calc(34px + 56px) !important;
    inset: calc(34px + 56px) 0 auto auto !important;
  }

  /* Remove ghost wrappers that create top blank area */
  .site-header .main-nav.open::before,
  .site-header .main-nav.open::after,
  #main-nav.open::before,
  #main-nav.open::after,
  .site-header .main-nav > .nav-mobile-brand,
  .site-header .main-nav > .nav-mobile-head,
  .site-header .main-nav > .nav-menu-brand {
    content: none !important;
    display: none !important;
  }

  .site-header .main-nav.open > :first-child,
  #main-nav.open > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .site-header .main-nav > a:not(.nav-whatsapp):not(.nav-menu-brand),
  .site-header .main-nav.open > a:not(.nav-whatsapp):not(.nav-menu-brand) {
    justify-content: flex-start !important;
    text-align: left !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 11.5px !important;
  }

  .site-header .main-nav > a.active::after,
  .site-header .main-nav.open > a.active::after {
    left: 12px !important;
    right: auto !important;
    width: 42px !important;
  }

  .site-header .main-nav .nav-mobile-tools {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding: 0 !important;
  }

  .site-header .main-nav .nav-mobile-tools .nav-whatsapp,
  .site-header .main-nav .nav-mobile-tools .language-switcher {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
  }

  .site-header .main-nav .nav-mobile-tools .language-switcher .language-current {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  /* Inner pages: logo visible sticky header */
  body:not(.page-index) .site-header {
    position: sticky !important;
    top: 34px !important;
    z-index: 210 !important;
    background: rgba(3, 8, 14, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(14px) !important;
  }

  body:not(.page-index) .site-header .header-inner {
    min-height: 56px !important;
    padding: 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body:not(.page-index) .site-header .brand-lockup {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
  }

  body:not(.page-index) .site-header .brand-emblem img {
    width: 42px !important;
    height: 42px !important;
  }

  body:not(.page-index) .site-header .menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    background: rgba(6, 20, 34, .88) !important;
    border-color: rgba(88, 170, 240, .32) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24) !important;
  }
}

/* =====================================================================
   V175 — Mobile menu rebuilt from scratch (isolated drawer)
   The legacy .main-nav drawer is fully disabled on mobile; a brand-new
   #chf drawer is built in <body> by JS, immune to all legacy cascade.
   ===================================================================== */
@media (max-width: 980px) {
  /* Kill every legacy mobile-nav behaviour */
  .site-header .main-nav,
  .site-header .main-nav.open,
  #main-nav,
  #main-nav.open {
    display: none !important;
  }
  .nav-mobile-backdrop,
  .nav-mobile-backdrop.active {
    display: none !important;
  }

  /* Hamburger stays visible & tidy */
  .site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Drawer is JS-built and lives at <body> level, so no media guard needed for
   its base hidden state. It is only ever shown on tap (mobile). */
.chf-drawer {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
}
.chf-drawer.open { display: block; }
@media (min-width: 981px) {
  .chf-drawer.open { display: none; } /* never on desktop */
}

.chf-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 12, .62);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .28s ease;
}
.chf-drawer.open .chf-drawer-backdrop { opacity: 1; }

.chf-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(86vw, 360px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 64px 18px calc(22px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(7, 14, 24, .99), rgba(4, 9, 16, .99));
  border-left: 1px solid rgba(122, 197, 250, .18);
  box-shadow: -22px 0 60px rgba(0, 0, 0, .5);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}
.chf-drawer.open .chf-drawer-panel { transform: translateX(0); }

.chf-drawer-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 26px;
  line-height: 1;
  color: #eaf3ff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(122, 197, 250, .28);
  border-radius: 12px;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.chf-drawer-close:hover { background: rgba(255, 255, 255, .12); transform: rotate(90deg); }

.chf-drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp) {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 11px 14px 13px;
  color: #d8e6f3;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  text-decoration: none;
  border-radius: 10px;
  transition: background .18s ease, color .18s ease;
}
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp):hover { background: rgba(255, 255, 255, .06); color: #fff; }
.chf-drawer-nav > a.active:not(.nav-cta) { color: #fff; }

/* Signature gradient line under each name — hidden, slides in on hover/active (like PC) */
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp)::after {
  content: "";
  display: block;
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, #58baff, #e52b3e, transparent);
  transform: scaleX(0);
  transition: transform .22s ease;
}
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp):hover::after,
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp):active::after,
.chf-drawer-nav > a:not(.nav-cta):not(.nav-whatsapp):focus-visible::after { transform: scaleX(1); }

/* CTA keeps the signature red gradient + shine */
.chf-drawer-nav .nav-cta {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  margin: 12px 0 4px;
  padding: 0 18px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: linear-gradient(135deg, #ee314b, #b80f2c);
  box-shadow: 0 14px 34px rgba(220, 27, 58, .3);
}
.chf-drawer-nav .nav-cta span { font-size: 18px; line-height: 1; }
.chf-drawer-nav .nav-cta::before {
  content: ""; position: absolute; inset: -80% auto -80% -40%; width: 28%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .42), transparent);
  transition: transform .55s ease;
}
.chf-drawer-nav .nav-cta:hover::before { transform: translateX(620%) rotate(18deg); }

/* Bottom tools row: WhatsApp + language, side by side & equal */
.chf-drawer-nav .nav-mobile-tools {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin-top: 12px;
}
.chf-drawer-nav .nav-mobile-tools .nav-whatsapp,
.chf-drawer-nav .nav-mobile-tools .language-switcher {
  flex: 1 1 0;
  min-width: 0;
  height: 50px;
  margin: 0;
}
.chf-drawer-nav .nav-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 50px;
  color: #eafff4;
  font-weight: 700;
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid rgba(75, 217, 163, .4);
  background: linear-gradient(135deg, #1fae6a, #128a52);
  box-shadow: 0 12px 28px rgba(18, 138, 82, .28);
}
.chf-drawer-nav .nav-mobile-tools .language-switcher { position: relative; }
.chf-drawer-nav .language-current {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 50px;
  color: #eaf3ff;
  font-weight: 700;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(122, 197, 250, .28);
  border-radius: 12px;
  cursor: pointer;
}
.chf-drawer-nav .language-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  display: none;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  background: rgba(8, 16, 26, .99);
  border: 1px solid rgba(122, 197, 250, .22);
  border-radius: 12px;
  box-shadow: 0 -12px 30px rgba(0, 0, 0, .45);
  z-index: 5;
}
.chf-drawer-nav .language-switcher.open .language-menu { display: flex; }
.chf-drawer-nav .language-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  color: #d8e6f3;
  font-size: 13px;
  text-decoration: none;
  border-radius: 8px;
}
.chf-drawer-nav .language-menu a:hover { background: rgba(255, 255, 255, .07); color: #fff; }

body.menu-open { overflow: hidden; }

/* =====================================================================
   V180 — desktop header: match the content area to the visible bar
   height (78px) so the nav row is vertically centered between the
   ribbon line and the header bottom border (fixes ~9px downward drift).
   ===================================================================== */
@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 78px !important;
  }
}

/* V183 - representatives page and submenu */
.main-nav .nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.main-nav .nav-dropdown > .nav-parent {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 13px;
  border-radius: 11px;
  border: 0;
  color: #aebfcd;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: default;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  transition: .2s ease;
}
.main-nav .nav-dropdown:hover > .nav-parent,
.main-nav .nav-dropdown:focus-within > .nav-parent,
.main-nav .nav-dropdown > .nav-parent.active {
  color: #fff;
  background: rgba(89, 173, 235, .09);
}
.main-nav .nav-dropdown > .nav-parent::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  order: 2;
  opacity: .72;
}
.main-nav .nav-submenu {
  position: absolute;
  left: 50%;
  top: 100%;
  z-index: 40;
  min-width: 245px;
  padding: 20px 8px 8px;
  border: 1px solid rgba(122, 197, 250, .22);
  border-radius: 14px;
  background: rgba(7, 14, 24, .98);
  box-shadow: 0 20px 45px rgba(0, 0, 0, .34);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease;
}
.main-nav .nav-dropdown:hover .nav-submenu,
.main-nav .nav-dropdown:focus-within .nav-submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.main-nav .nav-submenu a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  white-space: nowrap;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.main-nav .nav-submenu a::after {
  display: none;
}
.chf-drawer-nav .nav-dropdown {
  display: grid;
  gap: 4px;
}
.chf-drawer-nav .nav-dropdown > .nav-parent {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 11px 14px 13px;
  width: 100%;
  border: 0;
  color: #d8e6f3;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  text-decoration: none;
  border-radius: 10px;
  font-family: inherit;
  cursor: default;
  appearance: none;
  -webkit-appearance: none;
}
.chf-drawer-nav .nav-dropdown > .nav-parent::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .75;
  transition: transform .18s ease;
  order: 2;
}
.chf-drawer-nav .nav-dropdown.open > .nav-parent::before {
  transform: rotate(225deg) translate(-2px, -1px);
}
.chf-drawer-nav .nav-dropdown > .nav-parent::after {
  content: "";
  display: block;
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, #58baff, #e52b3e, transparent);
  transform: scaleX(0);
  transition: transform .22s ease;
}
.chf-drawer-nav .nav-dropdown > .nav-parent.active::after,
.chf-drawer-nav .nav-dropdown.open > .nav-parent::after {
  transform: scaleX(1);
}
.chf-drawer-nav .nav-submenu {
  display: none;
  gap: 4px;
  padding: 0 0 4px 14px;
}
.chf-drawer-nav .nav-dropdown.open .nav-submenu {
  display: grid;
}
.chf-drawer-nav .nav-submenu a {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  color: #cce0f0;
  font-size: 13px;
  font-weight: 800;
  text-transform: none;
  text-decoration: none;
  border-left: 1px solid rgba(122, 197, 250, .22);
  border-radius: 0 10px 10px 0;
  background: rgba(255, 255, 255, .035);
}
.representatives-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}
.representatives-heading h2 {
  margin: 5px 0 0;
  color: #f6fbff;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
}
.representative-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.representative-card {
  overflow: hidden;
  border: 1px solid rgba(119, 197, 250, .18);
  border-radius: 18px;
  background: rgba(8, 16, 27, .82);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .28);
}
.representative-photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #14191d, #05070a);
}
.representative-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: var(--rep-img-x, 50%) var(--rep-img-y, 20%);
  transform: scale(var(--rep-img-zoom, 1.08));
  transform-origin: var(--rep-img-x, 50%) var(--rep-img-y, 20%);
}
body.page-uluslararasi-hakem .representative-photo img {
  object-position: var(--rep-img-x, 50%) var(--rep-img-y, 17%);
  transform: scale(var(--rep-img-zoom, 1.16));
  transform-origin: var(--rep-img-x, 50%) var(--rep-img-y, 17%);
}
.representative-body {
  padding: 20px;
}
.representative-body > span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #8bd4ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.representative-body h3 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 24px;
  line-height: 1.15;
}
.representative-contact-list {
  display: grid;
  gap: 9px;
}
.representative-contact {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  color: #dce9f5;
  background: rgba(255, 255, 255, .045);
  text-decoration: none;
}
.representative-contact i {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #76caff;
  background: rgba(118, 202, 255, .10);
}
.representative-contact svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.representative-contact b {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.35;
}
a.representative-contact:hover {
  color: #fff;
  border-color: rgba(118, 202, 255, .28);
  background: rgba(118, 202, 255, .09);
}
@media (max-width: 1040px) {
  .representative-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .representatives-heading { align-items: start; flex-direction: column; }
  .representative-grid { grid-template-columns: 1fr; gap: 16px; }
  .representative-body { padding: 17px; }
  .representative-body h3 { font-size: 21px; }
}
@media (min-width: 981px) and (max-width: 1240px) {
  .site-header .main-nav { gap: 2px; }
  .site-header .main-nav > a:not(.nav-cta) {
    padding-inline: 8px !important;
    font-size: 10px !important;
    letter-spacing: .01em !important;
  }
  .site-header .main-nav .nav-parent {
    padding-inline: 8px !important;
    font-size: 10px !important;
    letter-spacing: .01em !important;
  }
  .site-header .main-nav .nav-cta {
    padding-inline: 13px !important;
    font-size: 11px !important;
  }
}
