/* Cyprus Events Map design system (from the design handoff, Foundations + Components). Shared by every page.
   Category colours: .cat-<key> sets --c (base) --g (gradient) --on (icon colour on the gradient) --tint --ct (tag text). */
:root{
  --ink:#1D1828;--slate:#334055;--muted:#4A5568;--subtle:#657186;--deco:#8E99AB;
  --bg:#F3F5F9;--surface:#FFFFFF;--hair:#E8ECF2;--border:#D8DEE8;--border-strong:#BCC5D3;
  --brand:#C8186E;--brand-700:#A3105A;--brand-800:#7A0C44;--brand-50:#FDF0F6;--brand-100:#FAD6E7;--brand-200:#F4A9CC;
  --grad:linear-gradient(120deg,#C8186E,#F26B1D);--grad-text:linear-gradient(120deg,#FF2E93,#FF7A1A);
  --free:#157F3B;--free-bg:#E6F6EC;--warn:#8F5400;--warn-bg:#FDF1DC;--error:#C62828;--error-bg:#FCE9E8;--info:#1F5FC9;--info-bg:#E7EEFB;
  --sea:#CFE2EA;--land:#EEF1F5;--adult:#7F1D1D;
  --sh-card:0 1px 2px rgba(29,24,40,.06),0 0 0 1px #D8DEE8;--sh-hover:0 6px 16px -4px rgba(29,24,40,.14),0 0 0 1px #BCC5D3;
  --sh-raised:0 16px 40px -8px rgba(29,24,40,.28),0 2px 6px rgba(29,24,40,.08);--sh-pin:0 4px 10px rgba(29,24,40,.4);
  --display:'Fira Sans Extra Condensed','Arial Narrow',sans-serif;--body:'Manrope',system-ui,sans-serif;
  --maxw:1320px;--gutter:clamp(16px,3vw,40px);
}
.cat-theatre{--c:#9F1239;--g:linear-gradient(135deg,#9F1239,#6D28D9);--on:#FFFFFF;--tint:#f3e3e7;--ct:#770e2b;--ci:#9F1239}
.cat-sports{--c:#E11D48;--g:linear-gradient(135deg,#E11D48,#EA580C);--on:#FFFFFF;--tint:#fbe4e9;--ct:#a91636;--ci:#E11D48}
.cat-festival{--c:#C2410C;--g:linear-gradient(135deg,#DC2626, #C2410C, #EAB308);--on:#FFFFFF;--tint:#f8e8e2;--ct:#923109;--ci:#C2410C}
.cat-food{--c:#A16207;--g:linear-gradient(135deg,#A16207,#C2410C);--on:#FFFFFF;--tint:#f4ece1;--ct:#794a05;--ci:#A16207}
.cat-comedy{--c:#FACC15;--g:linear-gradient(135deg,#FACC15,#F97316);--on:#1D1828;--tint:#fde896;--ct:#1D1828;--ci:#1D1828}
.cat-tours{--c:#0E7490;--g:linear-gradient(135deg,#0E7490,#65A30D);--on:#FFFFFF;--tint:#e2eef2;--ct:#0b576c;--ci:#0E7490}
.cat-markets{--c:#4D7C0F;--g:linear-gradient(135deg,#4D7C0F,#A16207);--on:#FFFFFF;--tint:#eaefe2;--ct:#3a5d0b;--ci:#4D7C0F}
.cat-christmas{--c:#166534;--g:linear-gradient(135deg,#166534,#B91C1C);--on:#FFFFFF;--tint:#e3ede7;--ct:#104c27;--ci:#166534}
.cat-easter{--c:#86EFAC;--g:linear-gradient(135deg,#86EFAC,#FDE047);--on:#1D1828;--tint:#c9f8da;--ct:#1D1828;--ci:#1D1828}
.cat-family{--c:#0F766E;--g:linear-gradient(135deg,#0F766E,#15803D);--on:#FFFFFF;--tint:#e2efee;--ct:#0b5852;--ci:#0F766E}
.cat-talks{--c:#7DD3FC;--g:linear-gradient(135deg,#7DD3FC,#A5B4FC);--on:#1D1828;--tint:#c4ebfe;--ct:#1D1828;--ci:#1D1828}
.cat-film{--c:#0369A1;--g:linear-gradient(135deg,#0369A1,#4338CA);--on:#FFFFFF;--tint:#e1edf4;--ct:#024f79;--ci:#0369A1}
.cat-business{--c:#1E40AF;--g:linear-gradient(135deg,#1E40AF,#0F766E);--on:#FFFFFF;--tint:#e4e8f5;--ct:#163083;--ci:#1E40AF}
.cat-nightlife{--c:#1E1B4B;--g:linear-gradient(135deg,#1E1B4B,#7C3AED);--on:#FFFFFF;--tint:#e4e4e9;--ct:#161438;--ci:#1E1B4B}
.cat-music{--c:#7C3AED;--g:linear-gradient(135deg,#7C3AED,#2563EB);--on:#FFFFFF;--tint:#efe7fd;--ct:#5d2cb2;--ci:#7C3AED}
.cat-art{--c:#A21CAF;--g:linear-gradient(135deg,#A21CAF,#E11D48);--on:#FFFFFF;--tint:#f4e4f5;--ct:#7a1583;--ci:#A21CAF}
.cat-dance{--c:#F0ABFC;--g:linear-gradient(135deg,#F0ABFC,#FDA4AF);--on:#1D1828;--tint:#f8d9fe;--ct:#1D1828;--ci:#1D1828}
.cat-secret{--c:#1C1917;--g:linear-gradient(135deg,#1C1917,#A8730A);--on:#FFFFFF;--tint:#e4e3e3;--ct:#151311;--ci:#1C1917}
.cat-adult{--c:#7F1D1D;--g:linear-gradient(135deg,#7F1D1D,#DC2626);--on:#FFFFFF;--tint:#f0e4e4;--ct:#5f1616;--ci:#7F1D1D}
.cat-other{--c:#64748B;--g:linear-gradient(135deg,#64748B,#8E99AB);--on:#FFFFFF;--tint:#eceef1;--ct:#4b5768;--ci:#64748B}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.5 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--brand-700);text-underline-offset:2px}
a:hover{color:var(--brand-800)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}
.ph,.ph-fill,.ph-bold{line-height:1}
.display,h1.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;margin:0}
.hl{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}

/* ---------- logo ---------- */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.logo:hover{color:var(--ink)}
.logo-mark{width:45px;height:28px;flex:none;transform:rotate(-8deg);border-radius:5px;background:var(--grad);display:flex;align-items:center;justify-content:center;
  -webkit-mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 5px,#000 5.5px) right/51% 100% no-repeat;
  mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 5px,#000 5.5px) right/51% 100% no-repeat}
.logo-mark i{width:30px;height:18px;background:#fff;-webkit-mask:url(/assets/cyprus-smooth.svg) center/contain no-repeat;mask:url(/assets/cyprus-smooth.svg) center/contain no-repeat}
.logo-word{display:flex;flex-direction:column;line-height:.9;font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase}
.logo-word b{font-weight:800;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;height:68px;display:flex;align-items:center;gap:32px;padding:0 20px 0 24px;background:#fff;border-bottom:1px solid var(--border)}
.site-nav{display:flex;gap:2px;flex:1;align-items:center}
.site-nav>a,.site-nav summary{display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}
.site-nav summary::-webkit-details-marker{display:none}
.site-nav>a:hover,.site-nav summary:hover,.site-nav details[open] summary{background:var(--bg)}
.site-nav a[aria-current="page"]{font-weight:800;background:var(--bg)}
.site-nav details{position:relative}
.dd{position:absolute;top:50px;left:0;min-width:240px;background:#fff;border-radius:14px;box-shadow:var(--sh-raised);padding:8px;display:grid;gap:2px;z-index:60}
.dd.cols{grid-template-columns:repeat(2,minmax(200px,1fr));min-width:440px}
.dd a{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}
.dd a:hover{background:var(--bg)}
.header-actions{display:flex;align-items:center;gap:8px}
.menu-toggle{display:none}
.mobile-menu{display:none}
@media (max-width:1179px){
  .site-header{height:56px;gap:8px;padding:0 8px 0 16px}
  .site-header .logo-mark{width:38px;height:24px}.site-header .logo-mark i{width:26px;height:15px}
  .site-header .logo-word{font-size:18px}
  .site-nav,.header-actions .btn{display:none}
  .header-actions{margin-left:auto}
  .menu-toggle{display:block}
  .menu-toggle summary{list-style:none;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer}
  .menu-toggle summary::-webkit-details-marker{display:none}
  .menu-toggle[open] .mobile-menu{display:flex}
  .mobile-menu{position:fixed;top:56px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;gap:4px;padding:12px 16px 32px;overflow:auto;z-index:70}
  .mobile-menu a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:16px}
  .mobile-menu a:hover{background:var(--bg)}
  .mobile-menu .mm-h{margin:14px 12px 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}
  .mobile-menu .btn{display:flex;margin-top:12px}
}
.icon-btn{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--ink);text-decoration:none}
.icon-btn:hover{background:var(--bg);color:var(--ink)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--ink);font:700 15px/1.2 var(--body);text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--bg);color:var(--ink);border-color:var(--border-strong)}
.btn.sm{min-height:40px;padding:0 14px;font-size:14px}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-700);border-color:var(--brand-700);color:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{background:#000;color:#fff}
.btn.ghost{border-color:transparent;background:transparent}
.btn i{font-size:18px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--brand-700);text-decoration:none}
.link-arrow:hover{text-decoration:underline}

/* ---------- chips, tags, badges ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 6px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.chip:hover{background:var(--bg);color:var(--ink);border-color:var(--border-strong)}
.chip.plain{padding:0 14px}
.chip .ico-disc{width:32px;height:32px}
.chip .n{font-weight:600;color:var(--subtle);font-size:13px}
.chip[aria-current="page"],.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip[aria-current="page"] .n,.chip.on .n{color:#fff}
.ico-disc{width:28px;height:28px;flex:none;border-radius:50%;background:var(--g,var(--grad));color:var(--on,#fff);display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.ico-disc.tint{background:var(--tint);color:var(--ci)}
.tag{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px 0 4px;border-radius:999px;background:var(--tint,#E8ECF2);color:var(--ct,var(--slate));font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.tag .ico-disc{width:20px;height:20px;font-size:11px}
a.tag:hover{filter:brightness(.97);color:var(--ct)}
.cat-label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ct)}
.cat-label>i{color:var(--ci)}
.cat-label .ico-disc{width:20px;height:20px;font-size:11px}
.cat-label .ico-disc i{color:var(--on)}
.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:800;white-space:nowrap}
.badge.today{background:var(--brand-50);color:var(--brand-700)}
.badge.adult{background:var(--adult);color:#fff}
.badge.secret{background:#1C1917;color:#fff}
.badge.free{background:var(--free-bg);color:var(--free)}
.badge.weekly{background:#fff;border:1px solid var(--border);color:var(--slate)}
.badge.warn{background:var(--warn-bg);color:var(--warn)}
.badge.live{background:transparent;color:var(--error);padding:0}
.price{font-weight:800;color:var(--ink);white-space:nowrap}
.price.free{color:var(--free)}
.date-badge{min-width:48px;padding:4px 6px 5px;border-radius:8px;background:#fff;display:inline-flex;flex-direction:column;align-items:center;box-shadow:0 1px 3px rgba(29,24,40,.2)}
.date-badge small{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--brand);text-transform:uppercase}
.date-badge b{font-family:var(--display);font-weight:800;font-size:22px;line-height:1;white-space:nowrap}

/* ---------- category placeholder (no photo) ---------- */
.ph-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--g);color:rgba(255,255,255,.45);font-size:56px}
.cat-comedy .ph-tile,.cat-easter .ph-tile,.cat-talks .ph-tile,.cat-dance .ph-tile{color:rgba(29,24,40,.35)}

/* ---------- event cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.ecard{position:relative;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--sh-card);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.ecard:hover{box-shadow:var(--sh-hover);transform:translateY(-1px)}
.ecard-img{display:block;aspect-ratio:16/9;position:relative;background:var(--g);overflow:hidden}
.ecard-img img{width:100%;height:100%;object-fit:cover;display:block}
.ecard-img .date-badge{position:absolute;left:10px;top:10px}
.ecard-img .badges{position:absolute;left:10px;bottom:10px;display:flex;gap:6px}
.ecard-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.ecard h3{margin:0;font-size:17px;font-weight:700;line-height:1.3;text-wrap:pretty}
.ecard h3 a{color:var(--ink);text-decoration:none}
.ecard h3 a::after{content:"";position:absolute;inset:0}
.ecard h3 a:hover{color:var(--brand-700)}
.ecard .when{font-size:13px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums}
.ecard .meta{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--slate)}
.ecard .meta.venue{font-weight:500;color:var(--muted)}
.ecard .meta i{font-size:16px;flex:none}
.ecard .foot{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;align-items:center;gap:8px}
/* compact row */
.erow{position:relative;display:flex;gap:12px;padding:10px;border-radius:12px;text-decoration:none;color:var(--ink)}
.erow:hover{background:var(--bg);color:var(--ink)}
.erow-img{width:76px;height:76px;flex:none;border-radius:8px;overflow:hidden;background:var(--g);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:40px}
.erow-img img{width:100%;height:100%;object-fit:cover}
.erow-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.erow-body b{font-size:15px;font-weight:700;line-height:1.3}
.erow-body .when{font-size:13px;font-weight:600;color:var(--slate)}
.erow-body .where{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}
.erow-body .where span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- page layout ---------- */
main.page{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) clamp(48px,6vw,96px)}
.crumbs{font-size:13px;color:var(--muted);padding:16px 0 4px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--deco)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--brand-700);text-decoration:underline}
.page-hero{padding:clamp(20px,3vw,40px) 0 clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:14px}
.page-hero h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;margin:0;font-size:clamp(44px,7vw,104px)}
.page-hero .lede{margin:0;max-width:760px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;font-weight:600;color:var(--slate)}
.page-hero .count{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,26px);text-transform:uppercase;color:var(--brand)}
.section{margin-top:clamp(40px,5vw,72px)}
.section>h2,.sec-head h2{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:1;margin:0 0 14px;font-size:clamp(30px,4vw,52px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.sec-head h2{margin:0}
.wk-day{margin:22px 0 10px;display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-weight:800;font-size:24px;text-transform:uppercase}
.wk-day small{font-family:var(--body);font-size:13px;font-weight:700;color:var(--subtle);text-transform:none}
.panel{background:#fff;border-radius:16px;box-shadow:var(--sh-card);padding:clamp(16px,2vw,24px)}
.note{padding:12px 16px;border-radius:12px;background:var(--warn-bg);color:var(--warn);font-size:14px;font-weight:600;max-width:780px}
.note.info{background:var(--info-bg);color:var(--info)}
.prose{max-width:780px;font-size:17px;line-height:1.75;color:var(--slate)}
.prose h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(26px,3vw,36px);line-height:1;color:var(--ink);margin:36px 0 10px}
.prose p{margin:0 0 14px}
.facts{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;margin:0;font-size:15px}
.facts dt{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding-top:2px}
.facts dd{margin:0;font-weight:600;color:var(--slate)}
.btns{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- footer (dark, design PageTemplate) ---------- */
.site-footer{background:var(--ink);color:#BCC5D3;font-size:14px;margin-top:clamp(48px,6vw,96px)}
.site-footer .inner{max-width:var(--maxw);margin:0 auto;padding:clamp(36px,4vw,56px) var(--gutter) 24px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.site-footer .logo{color:#fff}
.site-footer .ft-h{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.site-footer a{color:#E8ECF2;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .about p{margin:14px 0 0;max-width:340px;line-height:1.55}
.site-footer .legal{max-width:var(--maxw);margin:0 auto;padding:16px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px}
@media (max-width:900px){.site-footer .inner{grid-template-columns:1fr 1fr}.site-footer .about,.site-footer .inner > div:last-child{grid-column:1/-1}}
/* footer categories as pills in their colours (Tim 2026-10-27) */
.site-footer .ft-cats{display:flex;flex-wrap:wrap;gap:8px}
.site-footer .ft-pill{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;background:var(--g);color:var(--on);font-size:13px;font-weight:700;line-height:1.2}
.site-footer .ft-pill:hover{color:var(--on);text-decoration:none;filter:brightness(1.08)}
.site-footer .legal .sep{margin:0 6px;color:rgba(255,255,255,.35)}
/* phones: bigger, well-spaced legal links (44 px tap height) */
@media (max-width:640px){
  .site-footer .legal{font-size:15px;flex-direction:column;gap:6px}
  .site-footer .legal > span:last-child{display:flex;flex-wrap:wrap;gap:0 20px}
  .site-footer .legal .sep{display:none}
  .site-footer .legal a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:560px){.cards{grid-template-columns:1fr}.facts{grid-template-columns:1fr;gap:2px 0}.facts dd{margin-bottom:10px}}

/* ---------- homepage sections below the map (HomeSections) + shared FAQ ---------- */
.home-sec{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,6vw,96px) var(--gutter) 0}
.home-sec h2.display{font-size:clamp(34px,5vw,64px);margin-bottom:8px}
.home-sec .sec-head{margin-bottom:22px}
.home-sec .muted{margin:0;max-width:640px;color:var(--muted);font-size:15px}
.muted{color:var(--subtle)}
.day-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin-bottom:18px}
.day-tabs::-webkit-scrollbar{display:none}
.day-tab{flex:none;min-width:84px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;font-family:var(--body);color:var(--ink);text-align:left}
.day-tab small{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--subtle)}
.day-tab b{font-family:var(--display);font-weight:800;font-size:22px;line-height:1;white-space:nowrap}
.day-tab em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}
.day-tab:hover{border-color:var(--border-strong)}
.day-tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.day-tab.on small{color:var(--brand-200)}.day-tab.on em{color:#D8DEE8}
.more-row{display:flex;justify-content:center;margin-top:18px}
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.city-box{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh-card);display:flex;flex-direction:column}
.city-head{min-height:104px;padding:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;color:#fff;text-decoration:none;
  background:var(--ink) repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px)}
.city-head:hover{color:#fff}
.city-head b{font-size:34px;line-height:.9}
.city-head .pill{background:rgba(255,255,255,.14);color:#fff}
.minis{display:flex;flex-direction:column;padding:6px 8px}
.mini{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;text-decoration:none;color:var(--ink)}
.mini:hover{background:var(--bg);color:var(--ink)}
.mini .ico-disc{width:32px;height:32px;font-size:16px}
.mini>span:not(.ico-disc):not(.price){flex:1;min-width:0;display:flex;flex-direction:column}
.mini strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini small{font-size:12px;color:var(--muted)}
.mini .price{font-size:14px}
.city-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--hair);font-size:14px;font-weight:700;color:var(--brand-700);text-decoration:none}
.city-box.run{background:var(--ink);color:#E8ECF2;padding:22px;gap:12px;justify-content:flex-start}
.city-box.run b{font-size:34px;line-height:.95;color:#fff}
.city-box.run p{margin:0;font-size:15px;line-height:1.5}
.city-box.run .btn{width:fit-content;margin-top:auto}
.qa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
.qa .muted{margin:8px 0 16px}
.qa h2{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:1;font-size:clamp(34px,4.6vw,60px);margin:4px 0 0}
.faq{background:#fff;border-radius:16px;box-shadow:var(--sh-card);overflow:hidden}
.faq details{border-top:1px solid var(--hair)}
.faq details:first-child{border-top:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;font-weight:700;font-size:15px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{color:var(--brand);font-size:16px;transition:transform .15s}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 16px 16px;font-size:15px;line-height:1.55;color:var(--slate)}
.about-text{max-width:900px;margin-left:auto;margin-right:auto}
.about-text p{font-size:16px;line-height:1.7;color:var(--slate);max-width:780px}
@media (max-width:900px){.qa{grid-template-columns:1fr}}

/* cookie consent banner (assets/consent.js): Reject and Accept look the same, neither is pre-selected */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;
  padding:16px 18px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:var(--sh-raised),0 0 0 1px var(--border)}
.consent[hidden]{display:none}
.consent-text{flex:1 1 320px;min-width:0}
.consent-text b{font-size:15px;font-weight:800}
.consent-text p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--slate)}
.consent-btns{display:flex;gap:8px;flex:none}
.consent-btns .btn{min-width:104px;min-height:44px;justify-content:center}
@media (max-width:520px){.consent{left:8px;right:8px;bottom:8px}.consent-btns{width:100%}.consent-btns .btn{flex:1}}
