/* ===================================================================
   LUXE HERITAGE — global style lift layered over site.css
   Additive only: depth, gold ornament, paper texture, motion.
   No token/font/button-class changes.
   =================================================================== */

/* ---- ornamental gold rule (diamond accent) ---- */
.gold-rule { position: relative; overflow: visible; }
.gold-rule::after {
  content: ''; position: absolute; right: -2px; top: 50%;
  width: 7px; height: 7px; background: var(--gold);
  transform: translateY(-50%) rotate(45deg);
  box-shadow: 0 0 0 3px rgba(201,169,110,0.18);
}
/* centred rules (under centred headings) get a diamond each side */
.wo-worldcup-head .gold-rule, .fd-menu-head .gold-rule { overflow: visible; }
.wo-worldcup-head .gold-rule::before, .fd-menu-head .gold-rule::before {
  content: ''; position: absolute; left: -2px; top: 50%;
  width: 7px; height: 7px; background: var(--gold);
  transform: translateY(-50%) rotate(45deg);
  box-shadow: 0 0 0 3px rgba(201,169,110,0.18);
}

/* ---- refined serif headings ---- */
.hero-h1, .wo-hero h1, .fd-hero h1,
.intro-copy h2, .food-content h2, .whatson-content h2, .hire-copy h2,
.spaces-header h2, .wo-worldcup-head h2, .wo-menu-head h2, .wo-music-head h2,
.fd-story h2, .fd-menu-head h2, .section-booking-cta h2, .wo-fixtures-head h2 {
  letter-spacing: -0.012em;
  text-wrap: balance;
}

/* ---- drop-cap on lead paragraphs of story sections ---- */
.intro-copy > p:first-of-type::first-letter,
.food-content > p:first-of-type::first-letter,
.fd-story-copy > p:first-of-type::first-letter {
  font-family: var(--font-serif);
  font-size: 3.4em;
  font-weight: 700;
  line-height: 0.72;
  float: left;
  margin: 0.06em 0.12em 0 0;
  color: var(--gold);
}

/* ---- buttons: gold shimmer sweep + lift ---- */
.btn { position: relative; overflow: hidden; }
.btn::after {
  content: ''; position: absolute; top: 0; left: -130%;
  width: 55%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.45), transparent);
  transform: skewX(-20deg); transition: left 0.6s ease; pointer-events: none;
}
.btn:hover::after { left: 150%; }
.btn-gold:hover, .btn-burgundy:hover, .btn-teal:hover, .btn-cream:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
}

/* ---- depth + hover lift on cards ---- */
.wo-benefit, .wo-fixture, .wo-night, .wo-menu-card, .wo-feature-card,
.wo-highlight, .space-card, .gallery-card, .week-pill, .fd-menu-group {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.wo-benefit:hover, .wo-night:hover, .wo-menu-card:hover, .wo-fixture:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(0,0,0,0.28);
}
.wo-feature-card { box-shadow: 0 30px 70px rgba(0,0,0,0.42); }

/* ---- gold-framed imagery: deeper shadow + slow zoom ---- */
.fd-story-img, .intro-images img, .hire-image img {
  box-shadow: 0 30px 60px rgba(0,0,0,0.32);
  transition: transform 0.6s ease, box-shadow 0.4s ease;
}
.fd-story-img:hover, .intro-images img:hover {
  transform: scale(1.02);
  box-shadow: 0 36px 72px rgba(0,0,0,0.4);
}
/* The "Got something to celebrate" image stays completely static — no hover zoom. */
.hire-image img, .hire-image img:hover { transform: none; }

/* ---- subtle paper grain on cream/light sections ---- */
.fd-story.light, .wo-fixtures { position: relative; isolation: isolate; }
.fd-story.light::before, .wo-fixtures::before {
  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}
.fd-story.light > .container, .wo-fixtures > .container { position: relative; z-index: 1; }

/* ---- deepen full-width section shadows for separation ---- */
.wo-feature-card, .wo-highlight, .foody-friday { box-shadow: 0 24px 60px rgba(0,0,0,0.35); }

/* ---- nav polish ---- */
.site-nav { box-shadow: 0 6px 24px rgba(0,0,0,0.25); }
.nav-logo img, .nav-wordmark { transition: transform 0.3s ease; }
.nav-logo:hover img, .nav-logo:hover .nav-wordmark { transform: scale(1.04); }

/* ---- scroll-reveal (only active when luxe.js adds .luxe-js to body) ---- */
body.luxe-js .reveal { opacity: 0; transform: translateY(26px); }
body.luxe-js .reveal.in {
  opacity: 1; transform: none;
  transition: opacity 0.7s cubic-bezier(.2,.6,.2,1), transform 0.7s cubic-bezier(.2,.6,.2,1);
}

@media (prefers-reduced-motion: reduce) {
  body.luxe-js .reveal { opacity: 1; transform: none; }
  .btn::after { display: none; }
}
