/* Build 124 - parallel V2 public-page preview system.
   Presentation-only: original page content, forms, data and scripts are preserved. */
.page2-preview {
  --v2-dark: #070706;
  --v2-dark-soft: #11100e;
  --v2-light: #f4efe7;
  --v2-light-deep: #e9e0d3;
  --v2-ink: #17130e;
  --v2-gold: #d2a23a;
  --v2-gold-soft: #e7bf61;
  --v2-muted-dark: #6c6358;
  --v2-pad-x: clamp(28px, 5vw, 96px);
  --v2-pad-y: clamp(62px, 6vw, 104px);
  --v2-pad-y-compact: clamp(34px, 3.2vw, 58px);
  background: var(--v2-dark);
}

/* Full-width shell while retaining the current menu system and page content. */
.page2-preview .site-header .header-inner {
  width: 100%;
  max-width: none;
  padding-inline: clamp(24px, 3.4vw, 66px);
}
.page2-preview main {
  width: 100%;
  max-width: none;
  overflow: clip;
}
.page2-preview main > .preview-v2-section {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  position: relative;
  clear: both;
  overflow: hidden;
}
.page2-preview main > .preview-v2-section > .container,
.page2-preview main > .preview-v2-section > [class*="container"] {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: var(--v2-pad-y) var(--v2-pad-x) !important;
}

/* Strict dark / soft-white rhythm. */
.page2-preview .preview-v2-dark {
  background: var(--v2-dark) !important;
  color: #f7f1e7 !important;
  border-color: rgba(210,162,58,.30) !important;
}
.page2-preview .preview-v2-light {
  background: var(--v2-light) !important;
  color: var(--v2-ink) !important;
  border-color: rgba(61,48,31,.18) !important;
}
.page2-preview .preview-v2-light h1,
.page2-preview .preview-v2-light h2,
.page2-preview .preview-v2-light h3,
.page2-preview .preview-v2-light h4,
.page2-preview .preview-v2-light strong,
.page2-preview .preview-v2-light label,
.page2-preview .preview-v2-light legend {
  color: var(--v2-ink) !important;
}
.page2-preview .preview-v2-light p,
.page2-preview .preview-v2-light li,
.page2-preview .preview-v2-light .muted,
.page2-preview .preview-v2-light .detail-list,
.page2-preview .preview-v2-light figcaption,
.page2-preview .preview-v2-light small {
  color: var(--v2-muted-dark) !important;
}
.page2-preview .preview-v2-light .kicker,
.page2-preview .preview-v2-light .gold,
.page2-preview .preview-v2-light .text-link,
.page2-preview .preview-v2-light a:not(.btn):not(.nav-availability) {
  color: #7f5c17;
}
.page2-preview .preview-v2-dark .muted,
.page2-preview .preview-v2-dark p,
.page2-preview .preview-v2-dark li,
.page2-preview .preview-v2-dark figcaption {
  color: rgba(247,241,231,.78);
}
.page2-preview .preview-v2-dark .kicker,
.page2-preview .preview-v2-dark .gold,
.page2-preview .preview-v2-dark .text-link {
  color: var(--v2-gold-soft) !important;
}

/* Section text scale and internal breathing room: never external spacer bands. */
.page2-preview main .section-head {
  max-width: min(980px, 100%);
  margin: 0 0 clamp(28px, 3vw, 48px);
  text-align: left;
}
.page2-preview main .section-head h2,
.page2-preview main .resource-section-head h2 {
  font-size: clamp(2rem, 3vw, 3.4rem);
}
.page2-preview main .kicker {
  font-size: clamp(.77rem, .8vw, .9rem);
  letter-spacing: .18em;
}

/* Compact bands stay useful but shallow. */
.page2-preview main > .preview-v2-strip > .container,
.page2-preview main > .preview-v2-strip > [class*="container"] {
  padding-top: var(--v2-pad-y-compact) !important;
  padding-bottom: var(--v2-pad-y-compact) !important;
}

/* Full-width hero: text and imagery/panel fill the complete hero band. */
.page2-preview main > .preview-v2-hero {
  background: #050505 !important;
  color: #f7f1e7 !important;
  border-bottom: 1px solid rgba(210,162,58,.28);
}
.page2-preview main > .preview-v2-hero > .preview-v2-hero-split {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  min-height: clamp(500px, 61svh, 720px);
  padding: 0 !important;
}
.page2-preview .preview-v2-hero-copy {
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(58px, 6vw, 108px) var(--v2-pad-x) !important;
  background:
    radial-gradient(circle at 100% 20%, rgba(210,162,58,.12), transparent 32rem),
    #050505;
  position: relative;
  z-index: 2;
}
.page2-preview .preview-v2-hero-copy h1 {
  max-width: 13ch;
  font-size: clamp(2.65rem, 4.3vw, 5rem);
  line-height: 1.02;
}
.page2-preview .preview-v2-hero-copy p {
  max-width: 760px;
}
.page2-preview .preview-v2-hero-media {
  min-width: 0;
  min-height: clamp(500px, 61svh, 720px);
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  position: relative;
}
.page2-preview .preview-v2-hero-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}
.page2-preview .preview-v2-hero-media figcaption {
  position: absolute;
  left: 24px;
  bottom: 18px;
  z-index: 2;
  padding: 8px 12px;
  background: rgba(0,0,0,.68);
  color: #f7f1e7 !important;
  border-left: 2px solid var(--v2-gold);
}
.page2-preview .preview-v2-hero-panel {
  margin: 0 !important;
  padding: clamp(42px, 5vw, 80px) var(--v2-pad-x) !important;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0c0b09;
}
.page2-preview main > .preview-v2-hero > .preview-v2-hero-single {
  width: 100%;
  max-width: none;
  padding: clamp(64px, 7vw, 116px) var(--v2-pad-x) !important;
}

/* Prevent old card widths/radii from making the page look boxed-in. */
.page2-preview main .page-hero-card,
.page2-preview main .real-photo-card,
.page2-preview main .about-card,
.page2-preview main .review-card,
.page2-preview main .collab-card,
.page2-preview main .occasion-card,
.page2-preview main .contact-method-card,
.page2-preview main .resource-card,
.page2-preview main .package-card {
  border-radius: 0 !important;
}

/* Light-section cards/forms stay readable without reverting to an all-black page. */
.page2-preview .preview-v2-light input,
.page2-preview .preview-v2-light textarea,
.page2-preview .preview-v2-light select,
.page2-preview .preview-v2-light .page-hero-card,
.page2-preview .preview-v2-light [class*="card"],
.page2-preview .preview-v2-light [class*="panel"],
.page2-preview .preview-v2-light [class*="box"] {
  background: rgba(255,255,255,.48) !important;
  color: var(--v2-ink) !important;
  border-color: rgba(61,48,31,.22) !important;
  box-shadow: none !important;
}
.page2-preview .preview-v2-light input::placeholder,
.page2-preview .preview-v2-light textarea::placeholder { color: #7e756a; }
.page2-preview .preview-v2-light select option { background: #fff; color: #17130e; }

/* Media containment everywhere: no image bleed into the following section. */
.page2-preview main figure,
.page2-preview main [class*="media"],
.page2-preview main [class*="photo"],
.page2-preview main [class*="image"] {
  max-width: 100%;
  overflow: hidden;
}
.page2-preview main figure img,
.page2-preview main [class*="media"] img,
.page2-preview main [class*="photo"] img,
.page2-preview main [class*="image"] img {
  max-width: 100%;
}

/* Package and two-column layouts stretch across the page rather than sitting in a narrow island. */
.page2-preview main .package-detail-grid,
.page2-preview main .about-two-col,
.page2-preview main [class*="-grid"] {
  max-width: none;
}
.page2-preview main .package-detail-grid {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(34px, 5vw, 86px);
}

/* Map and form pages: use the width rather than leaving large margins. */
.page2-preview .performance-map-frame,
.page2-preview .booking-form-container,
.page2-preview .contact-enquiry-section .container,
.page2-preview .setup-layout {
  max-width: none !important;
  width: 100% !important;
}
.page2-preview .performance-map-frame iframe { width: 100%; }

/* Full-width footer, same content. */
.page2-preview .site-footer.footer-option-b {
  width: 100%;
  padding: 0 !important;
  margin: 0;
  background: #000;
}
.page2-preview .footer-option-b .footer-b-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;
  box-shadow: none;
}
.page2-preview .footer-option-b .footer-b-main,
.page2-preview .footer-option-b .footer-b-contact-row,
.page2-preview .footer-option-b .footer-b-bottom {
  padding-left: var(--v2-pad-x);
  padding-right: var(--v2-pad-x);
}

/* Standard section-scroll control for all V2 preview pages. */
.page2-preview .preview-v2-scroll-next {
  position: fixed !important;
  right: clamp(16px, 2vw, 30px) !important;
  bottom: clamp(16px, 2vw, 30px) !important;
  z-index: 45 !important;
  width: 50px !important;
  height: 50px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(210,162,58,.72) !important;
  border-radius: 50% !important;
  background: rgba(5,5,5,.82) !important;
  color: var(--v2-gold-soft) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.32) !important;
  backdrop-filter: blur(8px);
  cursor: pointer;
}
.page2-preview .preview-v2-scroll-next svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.page2-preview .preview-v2-scroll-next.is-at-end { opacity: .38; }

/* Page-specific containment refinements. */
.page2-preview--gallery .gallery-showcase,
.page2-preview--gallery .gallery-hero { overflow: hidden; }
.page2-preview--gallery .gallery-grid,
.page2-preview--gallery [class*="gallery-"] { max-width: none; }
.page2-preview--my-setup .setup-category-bar,
.page2-preview--my-setup .setup-affiliate-strip { min-height: 0; }
.page2-preview--my-setup .setup-category-bar > .container,
.page2-preview--my-setup .setup-affiliate-strip > .container {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
.page2-preview--weddings .wedding-photo-section img,
.page2-preview--occasions .occasions-section img,
.page2-preview--collaborations .collab-section img,
.page2-preview--to-hell-or-verona .thov-section img,
.page2-preview--about .about-section img,
.page2-preview--reviews .reviews-section img {
  object-fit: cover;
}

/* Legal pages retain their complete long-form content but gain the same full-width rhythm. */
.page2-preview--privacy-policy main > section:nth-of-type(2) > .container,
.page2-preview--cookie-policy main > section:nth-of-type(2) > .container,
.page2-preview--terms-of-use main > section:nth-of-type(2) > .container,
.page2-preview--booking-terms main > section:nth-of-type(2) > .container,
.page2-preview--accessibility main > section:nth-of-type(2) > .container {
  max-width: none !important;
  padding-inline: clamp(34px, 9vw, 170px) !important;
}

@media (max-width: 1100px) {
  .page2-preview {
    --v2-pad-x: clamp(24px, 4.5vw, 54px);
    --v2-pad-y: clamp(52px, 6vw, 78px);
  }
  .page2-preview main > .preview-v2-hero > .preview-v2-hero-split {
    grid-template-columns: 1fr 1fr !important;
    min-height: 520px;
  }
  .page2-preview .preview-v2-hero-media { min-height: 520px; }
}

@media (max-width: 900px) {
  .page2-preview .site-header .header-inner { width: calc(100% - 24px); padding-inline: 0; }
  .page2-preview main > .preview-v2-hero > .preview-v2-hero-split {
    grid-template-columns: 1fr !important;
    min-height: 0;
  }
  .page2-preview .preview-v2-hero-copy {
    padding: 52px var(--v2-pad-x) !important;
  }
  .page2-preview .preview-v2-hero-copy h1 { max-width: 18ch; }
  .page2-preview .preview-v2-hero-media { min-height: clamp(340px, 64vw, 520px); }
  .page2-preview main .package-detail-grid { grid-template-columns: 1fr; }
  .page2-preview .footer-option-b .footer-b-main { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .page2-preview {
    --v2-pad-x: 22px;
    --v2-pad-y: 42px;
    --v2-pad-y-compact: 26px;
  }
  .page2-preview .preview-v2-hero-copy { padding-block: 44px !important; }
  .page2-preview .preview-v2-hero-copy h1 { font-size: clamp(2.15rem, 10vw, 3rem); }
  .page2-preview .preview-v2-hero-media { min-height: 320px; }
  .page2-preview .preview-v2-scroll-next { width: 46px !important; height: 46px !important; }
}
