/* ==========================================================
   Magic Win UK — skin v3 "Gilded Masquerade"
   Plum night, antique gold, emerald glow. Art-deco notched
   shapes, centred logo, mirrored hero, open editorial article.
   Loaded after theme.css.
   ========================================================== */

@font-face { font-family: 'Cinzel'; src: url('../fonts/cinzel-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cinzel'; src: url('../fonts/cinzel-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('../fonts/outfit-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
  --mx-bg: #0b0612;
  --mx-gold: #e3b45c;
  --mx-gold-2: #f7dc9c;
  --mx-emerald: #9cf55a;
  --mx-plum: #9d4edd;
  --mx-text-2: #d6cae2;
  --mx-line: rgba(227, 180, 92, .18);
  --mx-line-2: rgba(227, 180, 92, .42);
  --mx-display: 'Cinzel', 'Times New Roman', serif;
  --mx-body: 'Outfit', 'Rubik', system-ui, sans-serif;
  --mx-notch: 14px;
  --mx-diamond: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  --grad-primary: linear-gradient(180deg, #fbe7b4 0%, #e8bb62 45%, #b9832f 100%);
  --grad-primary-hover: linear-gradient(180deg, #fff0c8 0%, #f0c873 45%, #c8923a 100%);
}

html, body { background-color: var(--mx-bg); }
body {
  font-family: var(--mx-body);
  color: var(--mx-text-2);
  background:
    radial-gradient(1100px 600px at 12% -10%, rgba(157, 78, 221, .24), transparent 62%),
    radial-gradient(900px 500px at 110% 35%, rgba(156, 245, 90, .07), transparent 60%),
    repeating-linear-gradient(45deg, rgba(227, 180, 92, .025) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(-45deg, rgba(227, 180, 92, .025) 0 1px, transparent 1px 34px),
    var(--mx-bg);
}
button, input, textarea, select { font-family: var(--mx-body); }

/* ---------- notched art-deco shape ---------- */
.sp-btn, .mw-banner, .mw-promo__track, .mw-hero__track, .mw-hero__card, .mw-cta, .mw-inline-cta, .mw-sport, .mw-pc, .mw-help {
  clip-path: polygon(var(--mx-notch) 0, calc(100% - var(--mx-notch)) 0, 100% var(--mx-notch), 100% calc(100% - var(--mx-notch)), calc(100% - var(--mx-notch)) 100%, var(--mx-notch) 100%, 0 calc(100% - var(--mx-notch)), 0 var(--mx-notch));
  border-radius: 0 !important;
}
.sp-btn { --mx-notch: 9px; }

/* ---------- buttons ---------- */
.sp-btn__title { font-family: var(--mx-display); font-weight: 700; letter-spacing: .08em; }
.sp-btn--primary { color: #1a0f02; background-image: var(--grad-primary); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -3px 0 rgba(90, 55, 10, .35); }
.sp-btn--primary:hover { background-image: var(--grad-primary-hover); }
.sp-btn--warn { color: var(--mx-gold-2); background-image: linear-gradient(180deg, rgba(157, 78, 221, .35), rgba(157, 78, 221, .12)); box-shadow: inset 0 0 0 1.5px rgba(227, 180, 92, .55); }

/* ---------- header: nav | centred logo | actions ---------- */
.head-bar__bar { background: linear-gradient(180deg, rgba(14, 8, 22, .97), rgba(14, 8, 22, .9)); border-bottom: 1px solid var(--mx-line-2); box-shadow: 0 12px 30px rgba(0,0,0,.35); }
@media (min-width: 1024px) {
  .head-bar__logo img { height: 52px; }
}

.head-bar__link { font-family: var(--mx-display); font-size: 12.5px; text-transform: uppercase; letter-spacing: .08em; border-radius: 0 !important; color: var(--mx-text-2); background: none !important; box-shadow: none !important; position: relative; padding: 8px 11px !important; }
.head-bar__link::after { content: ''; position: absolute; left: 11px; right: 11px; bottom: 2px; height: 1px; background: var(--mx-gold); transform: scaleX(0); transition: transform .25s; }
.head-bar__link:hover { color: var(--mx-gold-2); }
.head-bar__link:hover::after, .head-bar__link.is-active::after { transform: scaleX(1); }
.head-bar__link.is-active { color: var(--mx-gold); }

/* ---------- home title ---------- */
.mw-titlebar { padding-top: 34px; }
.mw-titlebar__h1, .mw-page__title {
  font-family: var(--mx-display); letter-spacing: .03em;
  background: linear-gradient(180deg, #fff6dd 0%, #f2d08a 55%, #c9953f 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: none; filter: drop-shadow(0 2px 14px rgba(227, 180, 92, .25));
}
.mw-titlebar::before { content: 'Independent UK guide · updated October 2026'; display: block; margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--mx-emerald); text-align: center; }
.mw-titlebar__h1::after { width: 260px; height: 14px; background: linear-gradient(90deg, transparent, var(--mx-gold) 35%, var(--mx-gold) 65%, transparent) center/100% 1px no-repeat, radial-gradient(circle, var(--mx-gold) 0 4px, transparent 5px) center/14px 14px no-repeat; box-shadow: none; }

/* ---------- hero: mirrored (girl left, ticket card right) ---------- */
.mw-hero__track { border: 0 !important; box-shadow: none !important; }
.mw-hero__slide { border: 0 !important; }
.mw-hero__slide::before { background: linear-gradient(270deg, rgba(11, 6, 18, .94) 0%, rgba(11, 6, 18, .62) 36%, rgba(11, 6, 18, .05) 68%), linear-gradient(0deg, rgba(11, 6, 18, .8) 0%, transparent 34%) !important; }
.mw-hero__inner { align-items: flex-end !important; }
.mw-hero__girl { right: auto !important; left: 5% !important; filter: drop-shadow(0 0 34px rgba(156, 245, 90, .2)) !important; }
.mw-hero__slide--sport .mw-hero__girl { -webkit-mask: radial-gradient(75% 60% at 50% 45%, #000 62%, transparent 100%); mask: radial-gradient(75% 60% at 50% 45%, #000 62%, transparent 100%); }
.mw-hero__card { width: 360px !important; padding: 30px 30px 24px !important; background: linear-gradient(160deg, rgba(36, 18, 52, .94), rgba(14, 8, 22, .92)) !important; border: 0 !important; box-shadow: inset 0 0 0 1px var(--mx-line-2), inset 0 0 0 6px rgba(14, 8, 22, .9), inset 0 0 0 7px rgba(227, 180, 92, .3) !important; text-align: center; }
.mw-hero__kicker { color: var(--mx-emerald) !important; letter-spacing: .24em; }
.mw-hero__value { font-family: var(--mx-display); background: linear-gradient(180deg, #fff3cf, #e8bb62 60%, #b9832f) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; }
.mw-hero__steps { justify-content: flex-end; }
.mw-hero__step { border-radius: 0 !important; border: 0 !important; border-bottom: 1px solid var(--mx-line-2) !important; background: rgba(11, 6, 18, .72) !important; }
.mw-hero__num { border-radius: 0 !important; clip-path: var(--mx-diamond); box-shadow: none !important; width: 32px !important; height: 32px !important; }
.mw-dot { border-radius: 0 !important; clip-path: var(--mx-diamond); }
.mw-dot.is-active { background: var(--mx-gold) !important; width: 14px !important; }
.mw-arrow { border-radius: 0 !important; clip-path: var(--mx-diamond); width: 48px !important; height: 48px !important; color: #1a0f02 !important; background: var(--grad-primary) !important; border: 0 !important; }
@media (max-width: 767px) {
  .mw-hero__inner { align-items: stretch !important; }
  .mw-hero__girl { left: 50% !important; transform: translateX(-50%); }
  .mw-hero__card { width: 100% !important; }
}

/* ---------- stats: one gilded ribbon ---------- */
.mw-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; margin-top: 30px !important; border-top: 1px solid var(--mx-line-2); border-bottom: 1px solid var(--mx-line-2); background: linear-gradient(90deg, transparent, rgba(157, 78, 221, .14), transparent); }
.mw-stat { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 18px 20px !important; position: relative; }
.mw-stat::after { display: none !important; }
.mw-stat + .mw-stat::before { content: ''; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: linear-gradient(180deg, transparent, var(--mx-gold), transparent); }
.mw-stat__ic { border-radius: 0 !important; clip-path: var(--mx-diamond); width: 54px !important; height: 54px !important; color: #1a0f02 !important; background: var(--grad-primary) !important; border: 0 !important; }
.mw-stat__ic svg { width: 22px; height: 22px; }
.mw-stat b { font-family: var(--mx-display); color: var(--mx-gold-2) !important; }
@media (max-width: 1023px) { .mw-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .mw-stat:nth-child(3)::before { display: none; } }

/* ---------- article: open editorial layout ---------- */
.mw-article { background: none !important; border: 0 !important; box-shadow: none !important; max-width: none !important; width: 100%; margin: 0 auto !important; padding: 30px 0 !important; font-size: 17px !important; line-height: 1.78 !important; color: var(--mx-text-2); counter-reset: sec; }
.mw-page .mw-article { background: linear-gradient(180deg, rgba(22, 12, 32, .96), rgba(14, 8, 22, .96)) !important; padding: 36px 44px !important; box-shadow: inset 0 0 0 1px var(--mx-line), 0 30px 70px rgba(0,0,0,.4) !important; border-radius: 0 !important; }
@media (max-width: 760px) { .mw-page .mw-article { padding: 24px 16px !important; } .mw-article { font-size: 16px !important; } }
.mw-article p, .mw-article li { color: var(--mx-text-2); }
.mw-article strong { color: #fff; }
.mw-article a:not(.sp-btn) { color: var(--mx-emerald); text-decoration-color: rgba(156, 245, 90, .4); }
.mw-article h2 { counter-increment: sec; display: grid; grid-template-columns: 46px 1fr; align-items: center; column-gap: 16px; font-family: var(--mx-display); color: #fff; font-weight: 700; padding: 0 !important; margin-top: 52px !important; }
.mw-article h2::before { content: counter(sec, decimal-leading-zero) !important; position: static !important; display: grid !important; place-items: center; width: 46px !important; height: 46px !important; margin: 0 !important; font-size: 15px !important; font-family: var(--mx-display); color: #1a0f02 !important; background: var(--grad-primary) !important; clip-path: var(--mx-diamond); box-shadow: none !important; transform: none !important; border-radius: 0 !important; }
.mw-article h2::after { grid-column: 1 / -1; height: 1px !important; margin-top: 14px !important; background: linear-gradient(90deg, var(--mx-gold), rgba(157, 78, 221, .4) 50%, transparent) !important; }
.mw-faq h2::before { content: '?' !important; }
.mw-article h3 { color: var(--mx-gold-2); font-weight: 700; }
.mw-article ul li::marker { color: var(--mx-gold); }
.mw-steps li { border-radius: 0 !important; border: 0 !important; border-left: 2px solid var(--mx-gold) !important; background: linear-gradient(90deg, rgba(227, 180, 92, .09), transparent) !important; }
.mw-steps li::before { border-radius: 0 !important; clip-path: var(--mx-diamond); background: var(--grad-primary) !important; color: #1a0f02 !important; box-shadow: none !important; }

/* tables: open ledger style */
.mw-table { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; border-top: 2px solid var(--mx-gold) !important; border-bottom: 1px solid var(--mx-line-2) !important; }
.mw-table th { background: rgba(227, 180, 92, .08) !important; color: var(--mx-gold-2) !important; font-family: var(--mx-display); font-size: 12.5px !important; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--mx-line-2) !important; }
.mw-table td { background: none !important; border-bottom: 1px solid rgba(227, 180, 92, .1) !important; }
.mw-table tbody tr:hover td { background: rgba(157, 78, 221, .1) !important; }

/* screenshots: gilded frame with offset plate */
.mw-shot { border: 0 !important; border-radius: 0 !important; padding: 6px; background: linear-gradient(135deg, #f7dc9c, #a8792e) !important; box-shadow: 12px 12px 0 rgba(157, 78, 221, .3), 0 24px 50px rgba(0,0,0,.5) !important; margin: 8px 12px 28px 34px !important; }
.mw-shot img { border-radius: 0 !important; }
@media (max-width: 640px) { .mw-shot { margin: 6px 12px 26px 0 !important; } }
.mw-banner { border: 0 !important; box-shadow: none !important; }

/* widgets */
.mw-toc { background: none !important; border: 0 !important; border-top: 1px solid var(--mx-line-2) !important; border-bottom: 1px solid var(--mx-line-2) !important; border-radius: 0 !important; padding: 14px 4px !important; }
.mw-toc ol { columns: auto !important; display: flex !important; flex-wrap: wrap; gap: 8px; }
.mw-toc li { margin: 0 !important; }
.mw-toc a { padding: 6px 14px 6px 36px !important; border: 1px solid var(--mx-line) !important; border-radius: 999px !important; font-size: 13.5px !important; }
.mw-toc a::before { color: var(--mx-gold) !important; top: 7px !important; left: 13px !important; }
.mw-toc a:hover, .mw-toc a.is-current { background: rgba(227, 180, 92, .12) !important; border-color: var(--mx-line-2) !important; color: #fff !important; }
.mw-w__t { color: var(--mx-gold) !important; font-family: var(--mx-display); letter-spacing: .12em; }
.mw-inline-cta, .mw-help { background: linear-gradient(110deg, rgba(157, 78, 221, .34), rgba(22, 12, 32, .92) 60%) !important; border: 0 !important; }
.mw-help__tel { color: var(--mx-emerald) !important; font-family: var(--mx-display); }
.mw-help { flex-wrap: wrap; gap: 10px 16px; }
@media (max-width: 400px) { .mw-help__tel { font-size: 18px !important; white-space: nowrap; } .mw-help > div { min-width: 0; } }
.mw-chips li { border-radius: 0 !important; clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%); border: 0 !important; padding: 8px 22px !important; background: rgba(227, 180, 92, .2) !important; color: var(--mx-gold-2) !important; box-shadow: none !important; }

/* pros only: one emerald panel, two columns */
.mw-proscons { display: block !important; }
.mw-pc--pro { border: 0 !important; background: linear-gradient(120deg, rgba(156, 245, 90, .15), rgba(22, 12, 32, .92) 70%) !important; padding: 26px 30px !important; }
.mw-pc--pro ul { columns: 2 300px !important; column-gap: 34px; }
.mw-pc--pro li { break-inside: avoid; }
.mw-pc--pro li::before { background: var(--mx-emerald) !important; color: #0e1a05 !important; border-radius: 0 !important; clip-path: var(--mx-diamond); }
.mw-pc--pro .mw-pc__t { color: var(--mx-emerald) !important; font-family: var(--mx-display); letter-spacing: .14em; text-transform: uppercase; }

/* FAQ */
.mw-faq__item { border-radius: 0 !important; background: none !important; border: 0 !important; border-bottom: 1px solid var(--mx-line) !important; border-left: 2px solid transparent !important; }
.mw-faq__item[open] { border-left-color: var(--mx-gold) !important; background: linear-gradient(90deg, rgba(227, 180, 92, .08), transparent) !important; }
.mw-faq__q h3 { color: #fff !important; }
.mw-faq__icon { border-radius: 0 !important; clip-path: var(--mx-diamond); background: rgba(227, 180, 92, .18) !important; border: 0 !important; color: var(--mx-gold) !important; }

/* CTA blocks */
.mw-cta { background: radial-gradient(500px 220px at 100% 0, rgba(156, 245, 90, .14), transparent 70%), linear-gradient(120deg, #2a1838, #150b1f) !important; border: 0 !important; }
.mw-cta__text strong { color: var(--mx-gold-2); font-family: var(--mx-display); }

/* promo + sport */
.mw-promo__slide { border: 0 !important; }
.mw-promo__kicker, .mw-sport__kicker { color: var(--mx-emerald) !important; letter-spacing: .22em; }
.mw-promo__title { font-family: var(--mx-display); color: var(--mx-gold-2) !important; }
.mw-sport { background: radial-gradient(500px 260px at 85% 50%, rgba(156, 245, 90, .16), transparent 70%), linear-gradient(120deg, #20122d, #120a1a) !important; border: 0 !important; }
.mw-sport__title { font-family: var(--mx-display); color: var(--mx-gold-2) !important; }

/* inner page head: framed title plate */
.mw-page__head { position: relative; isolation: isolate; }
.mw-page__head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 140px; background: linear-gradient(180deg, transparent, var(--mx-bg)); pointer-events: none; z-index: -1; }
.mw-page__title { display: inline-block; padding: 14px 34px; border-top: 1px solid var(--mx-line-2); border-bottom: 1px solid var(--mx-line-2); }
.mw-crumbs, .mw-crumbs a { color: var(--mx-gold-2); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }

/* forms */
.mw-form input, .mw-form textarea { border-radius: 0 !important; background: #0d0714; border: 0 !important; border-bottom: 1px solid var(--mx-line-2) !important; color: #fff; }
.mw-form input:focus, .mw-form textarea:focus { outline: 1px solid var(--mx-gold); }

/* ---------- footer (classic four-column layout) ---------- */
.mw-foot { position: relative; background: radial-gradient(800px 260px at 50% 0, rgba(157, 78, 221, .16), transparent 70%), linear-gradient(180deg, #120a1a, #08050c) !important; border-top: 1px solid transparent; border-image: linear-gradient(90deg, transparent, var(--mx-gold), transparent) 1; }
.mw-foot__t { color: var(--mx-gold) !important; font-family: var(--mx-display); letter-spacing: .12em; }
.mw-foot__col a { color: var(--mx-text-2); }
.mw-foot__col a:hover { color: var(--mx-gold-2); }
.mw-trust__age { background: var(--grad-primary) !important; color: #1a0f02 !important; }
.mw-trust__item { border-color: var(--mx-line-2) !important; }
.mw-progress { background: linear-gradient(90deg, var(--mx-plum), var(--mx-gold), var(--mx-emerald)) !important; }
.mw-top { background: var(--grad-primary) !important; color: #1a0f02 !important; }
.mw-cookie { border-radius: 0 !important; border: 1px solid var(--mx-line-2); background: rgba(18, 10, 26, .97) !important; }

/* stacking + float hygiene */
.mw-promo__slide, .mw-sport, .mw-hero__slide { isolation: isolate; }
.mw-banner, .mw-promo, .mw-inline-banner, .mw-proscons, .mw-table, .mw-faq, .mw-cta, .mw-inline-cta, .mw-help, .mw-toc { clear: both; }
.mw-shot { width: 42% !important; }
@media (max-width: 640px) { .mw-shot { width: auto !important; float: none !important; } }

@media (max-width: 640px) {
  .mw-titlebar__h1 { font-size: 24px; }
  .mw-article h2 { font-size: 19px; grid-template-columns: 38px 1fr; column-gap: 12px; }
  .mw-article h2::before { width: 38px !important; height: 38px !important; font-size: 13px !important; }
  .mw-page__title { padding: 10px 6px; }
}

/* ---------- 1 cm side gutters on every page ---------- */
:root { --g: 1cm !important; }
.head-bar__bar { padding-inline: 1cm !important; }
.head-bar__content { max-width: none !important; }
.mw-wrap, .mw-hero, .mw-titlebar, .mw-layout { padding-inline: 1cm !important; }
.mw-home-text .mw-article { padding-inline: 0 !important; }
.mw-foot { padding-inline: 1cm !important; }
.mw-page__head { padding-inline: 1cm !important; }
.mw-cookie { left: 1cm !important; right: 1cm !important; }
