/* ═══════════════════════════════════════════════════════════════
   YA-EVENT MAGAZINE v4 — Proper editorial layout
   ═══════════════════════════════════════════════════════════════ */

*,*:before,*:after { box-sizing:border-box; }

body.magazine {
  margin:0; padding:0;
  font-family:'Inter','Manrope',Arial,sans-serif;
  color:var(--ink,#1a1a1a);
  background:
    radial-gradient(ellipse at 50% 35%, #353230, #2a2825 50%, #1f1d1b);
  height:100dvh; overflow:hidden;
  display:flex; flex-direction:column;
  --bg:#fafafa; --card:#fff; --ink:#1a1a1a; --muted:#71717a;
  --line:rgba(0,0,0,0.07); --accent:#b8966c; --dark:#111;
  --page-bg:linear-gradient(168deg,#ffffff 0%,#fdfcfb 30%,#faf9f7 60%,#f7f5f2 100%);
  --serif:'Cormorant Garamond',Georgia,serif;
  --display:'Playfair Display',Georgia,serif;
  --cursive:'Marck Script',cursive;
  --sans:'Inter','Manrope',Arial,sans-serif;
  font-feature-settings:'liga' 1,'kern' 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.magazine:before,body.magazine:after { display:none !important; }

h1,h2,h3,h4,.section-title,.mini-title,.note-title,.spread-title,
.mag-card-title,.mag-card-price,.mag-metric strong,.mag-venue-link-body strong,
.pull-quote { font-family:var(--serif); letter-spacing:-0.02em; margin:0; }

/* Display font for hero titles */
.spread-title-display { font-family:var(--display); letter-spacing:-0.03em; }

/* Italic serif for elegant accents */
.mag-italic { font-family:var(--display); font-style:italic; font-weight:400; }

/* ── Cover intro ──────────────────────────────────────────── */
#mag-cover {
  position:fixed; inset:0; z-index:10000;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(ellipse at 30% 40%,rgba(255,255,255,0.06),transparent 60%),
    linear-gradient(135deg,#18181b,#27272a 50%,#18181b);
  transition:opacity 0.9s cubic-bezier(.4,0,.2,1),transform 0.9s cubic-bezier(.4,0,.2,1);
}
#mag-cover.open { opacity:0; transform:scale(1.06); pointer-events:none; }
.cover-logo { text-align:center; color:#fafafa; }
.cover-logo .logo-mark {
  font-family:var(--display);
  font-size:clamp(60px,14vw,130px); font-weight:700;
  line-height:0.85; letter-spacing:-0.04em; text-transform:uppercase;
}
.cover-logo .logo-sub {
  display:block; margin-top:14px;
  font-family:var(--cursive);
  font-size:clamp(18px,4vw,34px); color:rgba(255,255,255,0.5);
}
.cover-logo .logo-year {
  display:block; margin-top:24px;
  font-family:var(--sans);
  font-size:11px; letter-spacing:0.35em; text-transform:uppercase;
  color:rgba(255,255,255,0.22); font-weight:600;
}
.cover-open-anim .mag-book {
  animation:bookOpen 0.9s cubic-bezier(.4,0,.2,1) 0.15s both;
}
@keyframes bookOpen {
  from { transform:perspective(2000px) rotateY(-6deg) scale(0.94); opacity:0; }
  to   { transform:perspective(2000px) rotateY(0) scale(1); opacity:1; }
}

/* ── Book container (viewport page area) ──────────────────── */
.mag-book {
  flex:1 1 0; position:relative; overflow:hidden;
  margin:0 auto; width:100%; max-width:100%;
}
.mag-book:before,.mag-book:after { display:none !important; }

/* ── Spread (single viewport-height "loose page") ─────────── */
.mag-spread {
  position:absolute; display:grid; grid-template-columns:1fr 1fr;
  inset:10px 16px 6px;
  max-width:1360px; margin:0 auto; left:0; right:0;
  background:var(--page-bg);
  border-radius:5px;
  box-shadow:
    0 1px 3px rgba(0,0,0,0.12),
    0 6px 24px rgba(0,0,0,0.28),
    0 16px 56px rgba(0,0,0,0.45),
    inset 0 0 0 1px rgba(255,255,255,0.08);
  overflow:hidden;
  visibility:hidden; opacity:0;
  transition:opacity 0.25s ease;
}
/* Glossy paper sheen overlay */
.mag-spread:after {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0.03) 30%,
      rgba(255,255,255,0.09) 47%,
      rgba(255,255,255,0.16) 49.5%,
      rgba(255,255,255,0.09) 52%,
      rgba(255,255,255,0.03) 60%,
      rgba(255,255,255,0) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.mag-spread.active { visibility:visible; opacity:1; }
.mag-spread:last-of-type { border-bottom:none; }
.mag-page {
  position:relative; padding:36px 36px 32px;
  overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column;
  scrollbar-width:none; -ms-overflow-style:none;
}
.mag-page::-webkit-scrollbar { display:none; }
/* Spine shadow — left page inner edge */
.mag-page-left {
  border-right:1px solid rgba(0,0,0,0.04);
  background:
    linear-gradient(to left,
      rgba(0,0,0,0.04) 0px,
      rgba(0,0,0,0.015) 8px,
      transparent 40px),
    linear-gradient(to left,
      rgba(255,255,255,0.5) 0px,
      transparent 2px);
}
/* Spine shadow — right page inner edge + subtle gloss */
.mag-page-right {
  background:
    linear-gradient(to right,
      rgba(0,0,0,0.05) 0px,
      rgba(0,0,0,0.02) 6px,
      rgba(0,0,0,0.005) 20px,
      transparent 50px),
    linear-gradient(to right,
      rgba(255,255,255,0.4) 0px,
      transparent 2px);
}
/* Top page edge highlight (like light catching glossy paper) */
.mag-page:before {
  content:""; position:absolute; top:0; left:0; right:0; height:1px; z-index:2;
  background:linear-gradient(90deg,
    rgba(255,255,255,0.2),
    rgba(255,255,255,0.5) 30%,
    rgba(255,255,255,0.3) 70%,
    rgba(255,255,255,0.15));
  pointer-events:none;
}

.mag-page-num {
  position:absolute; bottom:20px;
  font-family:var(--display);
  font-size:12px; color:rgba(0,0,0,0.18); letter-spacing:0.12em;
  font-style:italic;
}
.mag-page-left .mag-page-num { left:44px; }
.mag-page-right .mag-page-num { right:44px; }

/* ── Section header (top of page) ─────────────────────────── */
.mag-header {
  display:flex; justify-content:space-between; align-items:baseline;
  padding-bottom:14px; margin-bottom:28px;
  border-bottom:1px solid rgba(0,0,0,0.06);
  font-size:9px; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--muted); font-weight:700;
}
.mag-header .script {
  font-size:16px; letter-spacing:0; text-transform:none;
  font-weight:400; color:var(--accent);
  font-family:var(--cursive);
}

/* ── Typography ═══════════════════════════════════════════ */
.spread-title {
  font-size:clamp(32px,4.5vw,56px); line-height:0.94;
  margin-bottom:20px; font-weight:600; color:var(--ink);
}
.spread-subtitle {
  font-family:var(--cursive);
  font-size:clamp(20px,2.6vw,32px); color:var(--accent); margin-bottom:22px;
}
.spread-text {
  font-size:15px; line-height:1.85; color:var(--muted); max-width:520px;
  font-family:var(--sans); font-weight:400;
}
.spread-text.cols-2 { column-count:2; column-gap:28px; max-width:100%; }

/* Drop cap */
.drop-cap::first-letter {
  float:left; font-family:var(--display);
  font-size:4.2em; line-height:0.78; font-weight:700;
  color:var(--ink); margin:0 10px 0 -2px; padding-top:4px;
}

/* Pull quote */
.pull-quote {
  font-family:var(--display); font-style:italic;
  font-size:clamp(19px,2.2vw,26px);
  line-height:1.4; color:var(--ink); margin:22px 0;
  padding:18px 0 18px 22px;
  border-left:3px solid var(--accent);
}

/* Section divider */
.mag-divider {
  display:flex; align-items:center; gap:14px; margin:24px 0 20px;
  font-size:9px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--muted); font-weight:700;
}
.mag-divider:after {
  content:""; flex:1; height:1px; background:rgba(0,0,0,0.08);
}

/* ═══ PHOTOS ══════════════════════════════════════════════ */
.mag-photo {
  width:100%; border-radius:4px; overflow:hidden;
  position:relative; background:#f0f0ee;
}
.mag-photo img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.6s cubic-bezier(.4,0,.2,1);
}
.mag-photo:hover img { transform:scale(1.03); }
.mag-caption {
  position:absolute; bottom:14px; left:14px;
  padding:6px 12px; border-radius:3px;
  background:rgba(0,0,0,0.5); backdrop-filter:blur(8px);
  color:#fff; font-size:9px; letter-spacing:0.16em;
  text-transform:uppercase; font-weight:700;
}

/* Hero full-bleed photo (venue left page) */
.mag-hero-page {
  padding:0 !important;
  display:grid !important; grid-template-rows:1fr;
}
.mag-hero-page .hero-bg {
  position:absolute; inset:0; z-index:0;
}
.mag-hero-page .hero-bg img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(0.7) saturate(0.9);
}
.mag-hero-page .hero-bg:after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.08) 55%,rgba(0,0,0,0.02) 100%);
}
.mag-hero-page .hero-content {
  position:relative; z-index:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:48px 44px;
  color:#fff;
}
.mag-hero-page .hero-content .spread-title { color:#fff; }
.mag-hero-page .hero-content .spread-subtitle { color:rgba(255,255,255,0.6); }
.mag-hero-page .hero-content .mag-badge {
  background:rgba(255,255,255,0.1); color:#fff; border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(4px);
}
.mag-hero-page .mag-page-num { color:rgba(255,255,255,0.25); left:44px; }

/* Photo aspect-ratio grid */
.mag-photo-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0;
}
.mag-photo-grid .mag-photo { aspect-ratio:4/3; height:auto; }
.mag-photo-grid .mag-photo.wide { grid-column:span 2; aspect-ratio:16/9; }
.mag-photo-grid .mag-photo.tall { aspect-ratio:3/4; grid-row:span 2; }

/* Single feature photo */
.mag-photo-feature { aspect-ratio:16/10; margin:16px 0; }

/* ═══ CARDS ═══════════════════════════════════════════════ */
.mag-card {
  background:#fff; border:1px solid rgba(0,0,0,0.05);
  border-radius:8px; padding:20px; margin-bottom:12px;
  transition:box-shadow 0.2s,transform 0.2s;
  box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.mag-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.06); transform:translateY(-1px); }
.mag-card-title { font-size:19px; font-weight:700; margin-bottom:6px; color:var(--ink); }
.mag-card-text { font-size:13.5px; line-height:1.7; color:var(--muted); }
.mag-card-price {
  display:inline-block; font-size:15px; font-weight:800;
  color:var(--accent); margin-bottom:6px;
  padding:3px 10px; border-radius:4px;
  background:rgba(196,164,110,0.1);
}

/* ═══ METRICS ═════════════════════════════════════════════ */
.mag-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:24px 0; }
.mag-metric {
  padding-top:12px; border-top:2px solid var(--accent);
  text-align:center;
}
.mag-metric strong { font-size:28px; font-weight:800; line-height:1; display:block; }
.mag-metric span { font-size:10px; color:var(--muted); margin-top:4px; display:block; text-transform:uppercase; letter-spacing:0.08em; }

/* ═══ BADGES ══════════════════════════════════════════════ */
.mag-badges { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0; }
.mag-badge {
  padding:5px 12px; border-radius:999px; background:rgba(0,0,0,0.03);
  font-size:10px; font-weight:600; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted);
  border:1px solid rgba(0,0,0,0.05);
}

/* ═══ CTA ═════════════════════════════════════════════════ */
.mag-cta {
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 28px; border-radius:8px;
  background:linear-gradient(135deg,#18181b,#27272a);
  color:#fff; text-decoration:none; font-weight:700;
  font-size:14px; letter-spacing:0.02em;
  transition:transform 0.2s,box-shadow 0.2s;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.mag-cta:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,0.14); }
.mag-cta-secondary {
  background:#fff; color:var(--ink);
  border:1.5px solid rgba(0,0,0,0.1); font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.mag-cta-secondary:hover { background:#fafafa; box-shadow:0 4px 12px rgba(0,0,0,0.06); }
.mag-cta .tg-icon {
  width:20px; height:20px; border-radius:999px; flex:0 0 20px;
  background:url('https://static.tildacdn.com/tild6664-6239-4237-a533-393939383430/Telegram_.png') center/11px no-repeat,rgba(255,255,255,.14);
}
.mag-cta-row {
  display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;
}
.mag-cta-row .mag-cta {
  padding:11px 20px; font-size:13px;
}
.mag-cta-row .mag-cta:first-child {
  padding:12px 24px; font-size:14px;
}
@media(max-width:960px) {
  .mag-cta-row .mag-cta { padding:10px 16px; font-size:12px; flex:1 1 auto; text-align:center; justify-content:center; }
}

/* ═══ ACCENT BLOCK (AI assistant highlight) ═══════════════ */
.mag-accent-block {
  display:flex; gap:14px; align-items:flex-start;
  padding:18px 20px; margin:20px 0;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(184,150,108,0.08),rgba(184,150,108,0.03));
  border:1.5px solid rgba(184,150,108,0.18);
}
.mag-accent-icon {
  flex:0 0 auto; line-height:1;
  /* Sized via ci-phone-ring class when used together */
}
.mag-accent-body strong {
  display:block; font-family:var(--serif);
  font-size:17px; font-weight:700; color:var(--ink); margin-bottom:4px;
}
.mag-accent-body p {
  margin:0; font-size:13px; line-height:1.65; color:var(--muted);
}

/* ═══ FAQ ═════════════════════════════════════════════════ */
.mag-faq { margin:20px 0; }
.mag-faq details {
  border-bottom:1px solid rgba(0,0,0,0.06); padding:12px 0;
}
.mag-faq summary {
  cursor:pointer; list-style:none; font-weight:600; font-size:14.5px;
  color:var(--ink); display:flex; align-items:center; gap:8px;
}
.mag-faq summary::-webkit-details-marker { display:none; }
.mag-faq summary:before {
  content:"+"; flex:0 0 20px; width:20px; height:20px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:rgba(0,0,0,0.04);
  font-size:14px; font-weight:700; color:var(--muted);
  transition:transform 0.2s;
}
.mag-faq details[open] summary:before { transform:rotate(45deg); }
.mag-faq p { margin:8px 0 0 28px; font-size:13.5px; line-height:1.7; color:var(--muted); }

/* ═══ VENUE GRID (index page) ════════════════════════════ */
.mag-venue-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mag-venue-link {
  display:block; text-decoration:none; color:inherit;
  border:1px solid rgba(0,0,0,0.05); border-radius:6px;
  overflow:hidden; background:#fff;
  transition:transform 0.25s,box-shadow 0.25s;
  box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.mag-venue-link:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(0,0,0,0.09); }
.mag-venue-link img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.mag-venue-link-body { padding:12px 14px; }
.mag-venue-link-body strong { font-size:17px; display:block; line-height:1.2; }
.mag-venue-link-body span { font-size:11px; color:var(--muted); margin-top:2px; display:block; }

/* Feature item for details pages */
.mag-feature {
  display:grid; grid-template-columns:40px 1fr; gap:14px;
  padding:16px 0; border-bottom:1px solid rgba(0,0,0,0.05);
}
.mag-feature:last-child { border-bottom:none; }
.mag-feature-num {
  font-family:var(--display);
  font-size:36px; font-weight:700; line-height:1;
  color:var(--accent); text-align:center;
  font-style:italic;
}
.mag-feature h4 { font-size:17px; font-weight:700; margin-bottom:4px; }
.mag-feature p { font-size:13px; line-height:1.65; color:var(--muted); margin:0; }

/* Address block */
.mag-address {
  display:flex; align-items:flex-start; gap:10px;
  padding:14px 16px; margin:16px 0;
  background:rgba(0,0,0,0.02); border-radius:6px;
  border-left:3px solid var(--accent);
  font-size:13px; color:var(--ink); line-height:1.55;
}
.mag-address:before {
  content:""; flex:0 0 16px; width:16px; height:16px; margin-top:1px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8966c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ═══ NEXT PAGE HINT ════════════════════════════════════════ */
.mag-turn-hint {
  position:absolute; bottom:0; right:0;
  width:70px; height:70px; cursor:pointer; z-index:50;
}
/* Folded corner */
.mag-turn-hint:before {
  content:""; position:absolute; bottom:0; right:0;
  width:0; height:0; border-style:solid;
  border-width:0 0 44px 44px;
  border-color:transparent transparent var(--bg,#eee) transparent;
  transition:border-width 0.35s cubic-bezier(.4,0,.2,1);
  filter:drop-shadow(-2px -2px 3px rgba(0,0,0,0.1));
}
.mag-turn-hint:after {
  content:""; position:absolute; bottom:0; right:0;
  width:0; height:0; border-style:solid;
  border-width:44px 44px 0 0;
  border-color:#f5f4f2 transparent transparent transparent;
  transition:border-width 0.35s cubic-bezier(.4,0,.2,1);
}
.mag-turn-hint:hover:before { border-width:0 0 70px 70px; }
.mag-turn-hint:hover:after  { border-width:70px 70px 0 0; }

/* ═══ 3D PAGE TURN OVERLAY ════════════════════════════════ */
#mag-transition {
  position:fixed; inset:0; z-index:9999;
  pointer-events:none; display:none;
  perspective:2200px;
  perspective-origin:50% 50%;
}
#mag-transition.active { display:block; pointer-events:auto; }

/* The turning page sheet (front) */
.turn-page {
  position:absolute; top:0; right:0;
  width:50%; height:100%;
  transform-origin:left center;
  backface-visibility:hidden;
  will-change:transform;
  background:
    linear-gradient(90deg,rgba(0,0,0,0.04) 0%,transparent 8%),
    var(--page-bg,linear-gradient(180deg,#fff,#faf9f7));
  box-shadow:-4px 0 24px rgba(0,0,0,0.15);
  border-left:1px solid rgba(0,0,0,0.05);
}
/* Subtle paper texture lines on front */
.turn-page:before {
  content:""; position:absolute; inset:0; opacity:0.02;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(0,0,0,0.3) 28px,rgba(0,0,0,0.3) 29px);
}

/* Back of the page */
.turn-page-back {
  position:absolute; top:0; right:0;
  width:50%; height:100%;
  transform-origin:left center;
  transform:rotateY(180deg);
  backface-visibility:hidden;
  background:
    repeating-linear-gradient(90deg,
      rgba(0,0,0,0.008) 0,rgba(0,0,0,0.008) 1px,
      transparent 1px,transparent 32px),
    linear-gradient(180deg,#f3f2f0 0%,#eae8e5 100%);
}
.turn-page-back:before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,0.06) 0%,transparent 40%);
}

/* Shadow on the underlying page during turn */
.turn-shadow {
  position:absolute; top:0; left:0;
  width:100%; height:100%;
  background:rgba(0,0,0,0);
  transition:background 0.1s;
}
#mag-transition.active .turn-shadow {
  background:rgba(0,0,0,0.08);
}

/* Center spine shadow */
.turn-spine-shadow {
  position:absolute; top:0; bottom:0; left:50%;
  width:60px; transform:translateX(-50%);
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,0.06) 35%,
    rgba(0,0,0,0.12) 50%,
    rgba(0,0,0,0.06) 65%,
    transparent 100%);
  opacity:0; transition:opacity 0.2s;
  pointer-events:none;
}
#mag-transition.active .turn-spine-shadow { opacity:1; }

/* Keyframes for the turn */
@keyframes pageTurnForward {
  0%   { transform:rotateY(0deg); }
  100% { transform:rotateY(-180deg); }
}
@keyframes pageTurnBackward {
  0%   { transform:rotateY(-180deg); }
  100% { transform:rotateY(0deg); }
}

/* ═══ SPREAD ENTRANCE ═════════════════════════════════════ */
@keyframes spreadIn {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}
.mag-spread.entering .mag-page { animation:spreadIn 0.4s ease both; }
.mag-spread.entering .mag-page-right { animation-delay:0.05s; }

.mag-footer { display:none; }

/* ═══ NAV BAR (dark desk theme) ═════════════════════════ */
.mag-nav {
  flex:0 0 auto; z-index:50;
  display:flex; justify-content:center; align-items:center; gap:4px; flex-wrap:wrap;
  padding:10px 20px;
  background:rgba(30,28,26,0.95);
  border-bottom:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(8px);
}
.mag-nav a {
  padding:5px 13px; border-radius:999px;
  font-size:11px; font-weight:600; text-decoration:none;
  color:rgba(255,255,255,0.55); letter-spacing:0.04em;
  transition:background 0.2s,color 0.2s;
}
.mag-nav a:hover {
  background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.9);
}
.mag-nav a.active {
  background:var(--accent); color:#fff;
}
/* Venues dropdown (dark) */
.mag-nav-group {
  position:relative; display:inline-flex;
}
.mag-nav-group > a:after {
  content:" ▾"; font-size:9px; opacity:0.5;
}
.mag-nav-dropdown {
  display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  margin-top:6px; padding:8px 6px;
  background:#353230; border-radius:10px;
  box-shadow:0 12px 40px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06);
  z-index:100; min-width:180px;
  flex-direction:column; gap:2px;
}
.mag-nav-group:hover .mag-nav-dropdown { display:flex; }
.mag-nav-dropdown a {
  display:block; padding:8px 16px; border-radius:6px;
  font-size:12px; white-space:nowrap; color:rgba(255,255,255,0.55);
}
.mag-nav-dropdown a:hover { background:rgba(255,255,255,0.06); color:rgba(255,255,255,0.85); }
.mag-nav-dropdown a.active { color:rgba(255,255,255,0.85); }

/* ═══ MOBILE ══════════════════════════════════════════════ */
@media(max-width:960px) {
  /* Mobile: normal vertical scroll, no absolute positioning */
  body.magazine {
    height:auto; overflow:auto;
    background:#fafafa;
  }
  .mag-nav {
    position:sticky; top:0; z-index:100;
    background:rgba(24,24,27,0.97);
    backdrop-filter:blur(10px);
    gap:3px; padding:8px 10px;
    overflow-x:auto; flex-wrap:nowrap;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .mag-nav::-webkit-scrollbar { display:none; }
  .mag-nav a { font-size:10px; padding:5px 10px; white-space:nowrap; }
  .mag-book {
    flex:none; position:static; overflow:visible;
  }
  .mag-spread {
    position:static !important;
    display:block !important;
    visibility:visible !important; opacity:1 !important;
    inset:auto; margin:0; max-width:100%;
    border-radius:0;
    box-shadow:none;
    border-bottom:8px solid #f0efed;
  }
  .mag-spread:last-of-type { border-bottom:none; }
  /* Remove glossy overlay on mobile */
  .mag-spread:after { display:none; }
  .mag-page:before { display:none; }
  .mag-page {
    padding:24px 16px 20px;
    overflow:visible;
  }
  .mag-page-left { background:none; border-right:none; border-bottom:1px solid rgba(0,0,0,0.05); }
  .mag-page-right { background:none; }
  .mag-hero-page { min-height:240px; max-height:50vh; }
  .mag-hero-page .hero-content { padding:20px 16px; }
  .mag-turn-hint { display:none; }
  .mag-pager { display:none; }
  #mag-transition { display:none !important; }
  .spread-text.cols-2 { column-count:1; }
  .mag-photo-grid .mag-photo { aspect-ratio:4/3; }
  .mag-photo-grid .mag-photo.wide { aspect-ratio:16/10; }
  .mag-photo-grid .mag-photo.tall { aspect-ratio:4/3; grid-row:span 1; }
  .mag-venue-grid { grid-template-columns:1fr; }
  .mag-venue-mini-grid { grid-template-columns:repeat(2,1fr); }
  .mag-metrics { grid-template-columns:1fr 1fr; }
  .mag-page-num { display:none; }
  .mag-feature { grid-template-columns:30px 1fr; gap:10px; }
  /* Sticky phone CTA */
  .mag-mobile-cta {
    display:flex !important;
    position:fixed; bottom:0; left:0; right:0; z-index:200;
    padding:10px 16px; gap:8px;
    background:rgba(24,24,27,0.97);
    backdrop-filter:blur(10px);
    border-top:1px solid rgba(255,255,255,0.08);
    justify-content:center;
  }
  .mag-mobile-cta a {
    padding:12px 20px; border-radius:8px;
    font-size:13px; font-weight:700; text-decoration:none;
    text-align:center; flex:1; max-width:200px;
  }
  .mag-mobile-cta .mob-cta-primary {
    background:var(--accent); color:#fff;
  }
  .mag-mobile-cta .mob-cta-secondary {
    background:rgba(255,255,255,0.1); color:#fff;
  }
  body.magazine { padding-bottom:70px; }
}

@media(prefers-reduced-motion:reduce) {
  #mag-cover { display:none; }
  #mag-transition { display:none !important; }
  .cover-open-anim .mag-book,.mag-spread.entering .mag-page {
    animation:none !important;
  }
  .mag-photo img { transition:none; }
}

/* ═══ LIGHTBOX ════════════════════════════════════════════ */
#mag-lightbox {
  position:fixed; inset:0; z-index:99999;
  background:rgba(0,0,0,0.92); backdrop-filter:blur(12px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity 0.3s ease;
  cursor:zoom-out;
}
#mag-lightbox.open { opacity:1; pointer-events:all; }
#mag-lightbox img {
  max-width:92vw; max-height:90vh; object-fit:contain;
  border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,0.5);
  transform:scale(0.92); transition:transform 0.35s cubic-bezier(.4,0,.2,1);
}
#mag-lightbox.open img { transform:scale(1); }
#mag-lightbox .lb-close {
  position:absolute; top:20px; right:24px;
  width:44px; height:44px; border:none; background:rgba(255,255,255,0.1);
  border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background 0.2s;
}
#mag-lightbox .lb-close:hover { background:rgba(255,255,255,0.2); }
#mag-lightbox .lb-close:before,#mag-lightbox .lb-close:after {
  content:""; position:absolute; width:20px; height:2px; background:#fff; border-radius:1px;
}
#mag-lightbox .lb-close:before { transform:rotate(45deg); }
#mag-lightbox .lb-close:after { transform:rotate(-45deg); }
#mag-lightbox .lb-caption {
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  padding:8px 20px; background:rgba(0,0,0,0.5); backdrop-filter:blur(8px);
  border-radius:999px; color:rgba(255,255,255,0.7);
  font-size:11px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600;
  white-space:nowrap;
}
.mag-photo { cursor:zoom-in; }

/* ═══ VENUE MINI GRID (for service pages) ═════════════════ */
.mag-venue-mini-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0;
}
.mag-venue-mini {
  text-decoration:none; color:inherit; border-radius:6px; overflow:hidden;
  background:#fff; border:1px solid rgba(0,0,0,0.05);
  transition:transform 0.2s,box-shadow 0.2s;
  box-shadow:0 1px 2px rgba(0,0,0,0.03);
}
.mag-venue-mini:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.08); }
.mag-venue-mini img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.mag-venue-mini span {
  display:block; padding:8px 10px; font-family:var(--serif);
  font-size:14px; font-weight:700; text-align:center;
}
.mag-venue-mini small {
  display:block; padding:0 10px 8px; text-align:center;
  font-size:10px; color:var(--muted); letter-spacing:0.03em;
}

/* ═══ STAT ROW (inline stats for services) ════════════════ */
.mag-stat-row {
  display:flex; flex-wrap:wrap; gap:16px; margin:18px 0;
  padding:16px; background:rgba(0,0,0,0.015); border-radius:8px;
}
.mag-stat-item {
  flex:1 1 auto; text-align:center; min-width:100px;
}
.mag-stat-item strong {
  display:block; font-family:var(--display); font-size:28px;
  font-weight:700; color:var(--ink); line-height:1.1;
}
.mag-stat-item span {
  display:block; font-size:10px; color:var(--muted); margin-top:4px;
  text-transform:uppercase; letter-spacing:0.08em;
}

/* ═══ CHECKLIST ═══════════════════════════════════════════ */
.mag-checklist {
  margin:16px 0; padding:0; list-style:none;
}
.mag-checklist li {
  padding:9px 0 9px 28px; position:relative;
  font-size:14px; line-height:1.6; color:var(--ink);
  border-bottom:1px solid rgba(0,0,0,0.04);
}
.mag-checklist li:last-child { border-bottom:none; }
.mag-checklist li:before {
  content:"✓"; position:absolute; left:0; top:9px;
  color:var(--accent); font-weight:800; font-size:14px;
}

/* ═══ SECTION INTRO (big italic lead) ═════════════════════ */
.mag-intro {
  font-family:var(--display); font-style:italic;
  font-size:clamp(17px,2vw,22px); line-height:1.55;
  color:var(--ink); margin:0 0 20px; max-width:520px;
}

/* ═══ EXPANDABLE MENU CARD ════════════════════════════════ */
.mag-menu-card {
  border:1px solid rgba(0,0,0,0.06); border-radius:10px;
  margin-bottom:10px; background:#fff;
  transition:box-shadow 0.25s,border-color 0.25s;
  box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.mag-menu-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.05); }
.mag-menu-card[open] {
  border-color:var(--accent);
  box-shadow:0 4px 16px rgba(184,150,108,0.1);
}
.mag-menu-card summary {
  display:flex; align-items:center; gap:12px;
  padding:14px 18px; cursor:pointer; list-style:none;
  outline:none;
}
.mag-menu-card summary:focus { outline:none; }
.mag-menu-card summary:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:10px; }
.mag-menu-card summary::-webkit-details-marker { display:none; }
.mag-menu-card summary:after {
  content:"▾"; margin-left:auto; font-size:14px; color:var(--muted);
  transition:transform 0.25s; flex:0 0 auto;
}
.mag-menu-card[open] summary:after { transform:rotate(180deg); color:var(--accent); }
.mag-menu-card .mc-price {
  flex:0 0 auto; padding:4px 10px; border-radius:4px;
  background:rgba(184,150,108,0.1); font-family:var(--serif);
  font-size:15px; font-weight:800; color:var(--accent);
}
.mag-menu-card .mc-title {
  font-family:var(--serif);
  font-size:17px; font-weight:700; color:var(--ink);
}
.mag-menu-card .mc-brief {
  font-size:12px; color:var(--muted); margin-top:2px;
}
.mag-menu-card .mc-detail {
  padding:0 18px 16px;
  border-top:1px solid rgba(184,150,108,0.12);
  margin-top:0;
}
.mag-menu-card .mc-detail ul {
  margin:10px 0 0; padding:0 0 0 16px;
  font-size:13px; line-height:1.7; color:var(--muted);
}
.mag-menu-card .mc-detail ul li { margin-bottom:3px; }
.mag-menu-card .mc-detail ul li strong { color:var(--ink); font-weight:600; }

/* ═══ CONTACT ROW (clickable phone/tg/wa) ═════════════════ */
.mag-contacts { margin:20px 0; }
.mag-contact-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:14px 0;
}
.mag-contact-item {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:16px 10px; border-radius:8px;
  background:rgba(0,0,0,0.02); border:1px solid rgba(0,0,0,0.05);
  text-decoration:none; color:var(--ink);
  transition:transform 0.2s,box-shadow 0.2s,background 0.2s;
}
.mag-contact-item:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  background:rgba(184,150,108,0.06);
}
/* ─ CSS icons (SVG-based, no emoji) ─ */
.ci-icon {
  width:28px; height:28px; flex:0 0 28px;
  background-size:20px 20px; background-repeat:no-repeat; background-position:center;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.ci-phone {
  background-color:rgba(184,150,108,0.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8966c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.ci-tg {
  background-color:rgba(0,136,204,0.1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230088cc'%3E%3Cpath d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0h-.056zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.479.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E");
  background-size:18px 18px;
}
.ci-wa {
  background-color:rgba(37,211,102,0.1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2325d366'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z'/%3E%3C/svg%3E");
  background-size:18px 18px;
}
.ci-phone-ring {
  width:36px; height:36px; flex:0 0 36px;
  background-color:rgba(184,150,108,0.14);
  background-size:22px 22px; background-repeat:no-repeat; background-position:center;
  border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8966c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.11 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.ci-label {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.08em; color:var(--muted);
}
.ci-val {
  font-size:13px; font-weight:600; color:var(--accent);
}
@media(max-width:960px) {
  .mag-contact-row { grid-template-columns:1fr; gap:8px; }
  .mag-contact-item { flex-direction:row; gap:12px; padding:12px 16px; }
}

/* ═══ PAGER DOTS ══════════════════════════════════════════ */
.mag-pager {
  flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:8px 0 12px;
}
.mag-pager .dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.15);
  transition:background 0.25s, transform 0.25s;
  cursor:pointer;
}
.mag-pager .dot.active {
  background:rgba(255,255,255,0.6);
  transform:scale(1.3);
}
.mag-pager .page-label {
  font-size:10px; color:rgba(255,255,255,0.2);
  letter-spacing:0.1em; font-weight:600;
  margin-left:12px;
  font-family:var(--sans);
}
.pager-hint {
  font-size:10px; color:rgba(255,255,255,0.25);
  letter-spacing:0.12em; font-weight:600;
  font-family:var(--sans);
  animation:hintPulse 3s ease-out forwards;
}
@keyframes hintPulse {
  0% { opacity:1; }
  60% { opacity:1; }
  100% { opacity:0; }
}
/* Mobile CTA bar hidden on desktop */
.mag-mobile-cta { display:none !important; }
@media(max-width:960px) {
  .mag-mobile-cta { display:flex !important; }
}

/* ═══ DESKTOP NAV ARROWS ══════════════════════════════════ */
.mag-nav-arrow {
  position:fixed; top:50%; transform:translateY(-50%);
  z-index:80; padding:12px 14px; height:auto;
  background:rgba(30,28,26,0.7); color:#fff;
  border:none; border-radius:8px; cursor:pointer;
  backdrop-filter:blur(6px);
  transition:background 0.2s,opacity 0.2s,transform 0.2s;
  opacity:0.45; display:flex; align-items:center; gap:6px;
  font-family:var(--sans);
}
.mag-nav-arrow:hover { opacity:0.95; background:rgba(30,28,26,0.88); }
.mag-nav-arrow .arrow-icon {
  font-size:28px; font-weight:300; line-height:1;
}
.mag-nav-arrow .arrow-label {
  font-size:11px; font-weight:600; letter-spacing:0.04em;
  max-width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.mag-nav-prev { left:8px; }
.mag-nav-next { right:8px; }
.mag-nav-arrow:active { transform:translateY(-50%) scale(0.95); }
@media(max-width:960px) {
  .mag-nav-arrow { display:none !important; }
}

/* ═══ DATE CHECKER ════════════════════════════════════════ */
.mag-date-modal {
  position:fixed; inset:0; z-index:99998;
  background:rgba(0,0,0,0.6); backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center;
  padding:20px;
}
.mag-date-modal.open { display:flex; }
.mag-date-modal-inner {
  background:var(--page-bg); border-radius:12px; padding:36px 32px;
  max-width:460px; width:100%; position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,0.3),0 0 0 1px rgba(184,150,108,0.12);
  max-height:90vh; overflow-y:auto;
  border-top:3px solid var(--accent);
}
.mag-date-modal-close {
  position:absolute; top:12px; right:16px;
  width:36px; height:36px; border:none; background:rgba(0,0,0,0.04);
  border-radius:99px; cursor:pointer; font-size:22px; color:var(--muted);
  display:flex; align-items:center; justify-content:center;
  transition:background 0.2s;
}
.mag-date-modal-close:hover { background:rgba(0,0,0,0.08); }
.mag-date-modal-inner h3 {
  font-family:var(--display); font-size:26px; font-weight:700;
  margin:0 0 6px; color:var(--ink); letter-spacing:-0.02em;
}
.mag-date-modal-desc {
  margin:0 0 20px; font-size:13px; line-height:1.6;
  color:var(--muted);
}
#date-checker-form { display:flex; flex-direction:column; gap:14px; }
#date-checker-form label {
  display:flex; flex-direction:column; gap:4px;
  font-size:13px; font-weight:600; color:var(--muted);
  text-transform:uppercase; letter-spacing:0.06em;
}
#date-checker-form input {
  padding:12px 14px; border:1.5px solid rgba(0,0,0,0.1);
  border-radius:8px; font-size:16px; font-family:var(--sans);
  color:var(--ink); outline:none; transition:border-color 0.2s;
}
#date-checker-form input:focus { border-color:var(--accent); }
#date-checker-form .mag-cta { text-align:center; justify-content:center; margin-top:4px; }

/* ─ Date results ─ */
#dc-results { margin-top:20px; }
.dc-venue-item {
  display:flex; align-items:center; gap:12px;
  padding:12px; border-radius:8px;
  border:1px solid rgba(0,0,0,0.05); margin-bottom:8px;
  transition:background 0.2s;
}
.dc-venue-item:hover { background:rgba(0,0,0,0.015); }
.dc-status {
  flex:0 0 auto; width:12px; height:12px; border-radius:50%;
}
.dc-status.available { background:#22c55e; }
.dc-status.booked { background:#ef4444; }
.dc-status.partial { background:#f59e0b; }
.dc-venue-info { flex:1; }
.dc-venue-name { font-weight:700; font-size:15px; color:var(--ink); }
.dc-venue-detail { font-size:12px; color:var(--muted); margin-top:2px; }
.dc-venue-cta {
  padding:6px 14px; border-radius:6px; font-size:12px; font-weight:600;
  background:var(--accent); color:#fff; text-decoration:none;
  transition:opacity 0.2s;
}
.dc-venue-cta:hover { opacity:0.85; }
.dc-loading { text-align:center; padding:20px; color:var(--muted); font-size:14px; }
.dc-error { text-align:center; padding:16px; color:#ef4444; font-size:14px; }

/* ═══ INLINE DATE CHECK (venue pages) ═════════════════════ */
.mag-date-inline {
  margin:24px 0 8px; padding:20px;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(184,150,108,0.06),rgba(184,150,108,0.02));
  border:1.5px solid rgba(184,150,108,0.15);
}
.mag-date-inline-text {
  font-size:13px; color:var(--muted); line-height:1.6; margin:0 0 14px;
}
.mag-date-inline-text strong { color:var(--ink); }
.mag-date-inline-form {
  display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end;
}
.mag-date-inline-form input {
  flex:1 1 120px; padding:10px 12px;
  border:1.5px solid rgba(0,0,0,0.1); border-radius:8px;
  font-size:14px; font-family:var(--sans); color:var(--ink);
  outline:none; min-width:0;
}
.mag-date-inline-form input:focus { border-color:var(--accent); }
.mag-date-inline-form input[type="number"] { flex:0 1 90px; }
.mag-date-inline-result { margin-top:12px; }
.mag-date-inline-result .dc-venue-item { border-radius:6px; }

/* ═══ CONTACTS PAGE ═══════════════════════════════════════ */
.mag-venue-list {
  display:flex; flex-direction:column; gap:0; margin:8px 0;
}
.mag-venue-list--compact .mag-venue-list-item { padding:5px 10px; }
.mag-venue-list--compact .mag-vli-name { font-size:13px; margin-bottom:1px; }
.mag-venue-list--compact .mag-vli-addr { font-size:11px; }
.mag-venue-list--compact .mag-vli-metro { font-size:10px; margin-top:1px; }
.mag-venue-list-item {
  display:block; padding:10px 14px;
  text-decoration:none; color:var(--ink);
  border-bottom:1px solid rgba(0,0,0,0.05);
  transition:background 0.15s;
}
.mag-venue-list-item:last-child { border-bottom:none; }
.mag-venue-list-item:hover { background:rgba(184,150,108,0.04); }
.mag-vli-name {
  font-family:var(--serif); font-size:15px; font-weight:700;
  margin-bottom:2px;
}
.mag-vli-addr {
  font-size:12px; color:var(--muted); line-height:1.4;
}
.mag-vli-metro {
  font-size:11px; color:var(--ink); font-weight:600;
  display:flex; align-items:center; gap:5px;
  margin-top:2px;
}
.mag-vli-metro:before {
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--accent); flex:0 0 7px;
}
@media(max-width:960px) {
  .mag-venue-list-item { padding:8px 12px; }
  .mag-vli-name { font-size:14px; }
}

/* ═══ REVIEWS HIGHLIGHT ═══════════════════════════════════ */
.mag-reviews-highlight {
  margin:12px 0 16px;
  padding:18px 22px;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(184,150,108,0.07),rgba(184,150,108,0.02));
  border:1.5px solid rgba(184,150,108,0.18);
  text-align:center;
}
.mag-reviews-stat {
  display:flex; align-items:baseline; justify-content:center; gap:8px;
  margin-bottom:6px;
}
.mag-reviews-stat strong {
  font-family:var(--display); font-size:36px; font-weight:700;
  color:var(--ink); letter-spacing:-0.02em;
}
.mag-reviews-stat span {
  font-size:13px; color:var(--muted); font-weight:500;
}
.mag-reviews-stars {
  display:flex; align-items:center; justify-content:center; gap:2px;
  margin-bottom:4px;
}
.mag-star {
  font-size:22px; color:var(--accent);
}
.mag-reviews-rating {
  font-family:var(--display); font-size:18px; font-weight:700;
  color:var(--ink); margin-left:8px;
}
