/* Page-specific styles for weddings.html */
/* #home-logo/#call-now and header nav-link color come from style.css (shared, identical on every page). */
/* Additional .wedding-page rules also live in style.css (shared section near the bottom). */
#weddings-text {
  width:50%;
}
@media only screen and (max-width:749px) {
  #weddings-text {
    width:85%;
  }
}

#wedding-planning-guide-preview {
    position: relative;
    width:100%;
}

/* #weddings-bg: single source of truth — image, position, sizing, spacing all live here. */
#weddings-bg {
  background-image: linear-gradient(rgba(0,0,0,.42), rgba(0,0,0,.55)), url('../images/uploads/weddings-bg.jpg');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  min-height: 400px;
  padding: 72px 0;
}
@media only screen and (max-width:749px) {
  #weddings-bg {
    background-attachment: inherit;
    padding: 48px 0;
  }
}

/* #weddings-bg2: single source of truth — image, position, sizing, spacing all live here.
   "top" keeps subjects' heads from being cropped out of the box (this is the last section on
   the page, so with background-attachment:fixed there's no scrolling further to reveal more). */
#weddings-bg2 {
  background-image: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.48)), url('../images/uploads/weddings-bg2.jpg');
  background-attachment: fixed;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 340px;
  padding: 64px 0;
}
@media only screen and (max-width:749px) {
  #weddings-bg2 {
    background-attachment: inherit;
    min-height: 280px;
    padding: 48px 0;
  }
}

/* border-radius/background/overflow live on the wrapper, not the <video> itself — putting
   border-radius directly on a <video> leaves a hairline gap at the top edge where the box's
   background color peeks through (a sub-pixel rounding artifact); a wrapper with overflow:hidden
   clips cleanly. Native fullscreen bypasses all of this, which is why the line disappears there. */
.wedding-planning-video-wrap { justify-content:center; display:flex; max-width: 900px; margin: 0 auto; border-radius: 8px; overflow: hidden; background: #151515; }
.wedding-planning-container { margin-top:0; margin-bottom:0; }
.wedding-price-amount { font-size:2.5rem; font-weight:800; color:#000; line-height:1.2; margin-bottom:24px; }

/* Moved from style.css — this was page-specific (.wedding-page scoped) and belongs
   in this page's own file, not the shared stylesheet. */
.wedding-page header { position: relative; top: 0; }
.wedding-page #home-logo { content: url('../images/uploads/logos/home-logo-HD.png'); }
.wedding-page .wedding-main { text-align: center; overflow-wrap: break-word; }
.wedding-page .wedding-main .section { padding: 56px 0; }
.wedding-page .wedding-copy { max-width: 900px; }
.wedding-page .wedding-main .lead { font-size: 18px; line-height: 1.8; }
.wedding-page .wedding-main h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.25; }
.wedding-page .wedding-hero h1 { color: #fff; font-size: clamp(36px, 5vw, 48px); font-weight: 700; margin-bottom: 24px; }
.wedding-page .wedding-intro { max-width: 740px; margin: 0 auto 28px; color: #fff; font-size: clamp(18px, 2vw, 23px); line-height: 1.7; }
.wedding-page .wedding-main .btn { min-height: 48px; max-width: 100%; padding: 14px 24px; border-radius: 8px; font-size: 15px; font-weight: 700; text-transform: none; letter-spacing: .02em; white-space: normal; }
.wedding-page .wedding-main .btn-primary { background: #0075bc; border-color: #0075bc; color: #fff; }
.wedding-page .wedding-main .btn-primary:hover,
.wedding-page .wedding-main .btn-primary:focus { background: #005f9b; border-color: #005f9b; transform: none; }
.wedding-page .wedding-main a:focus-visible,
.wedding-page .wedding-main video:focus-visible { outline: 3px solid #0075bc; outline-offset: 5px; }
.wedding-page .wedding-hero a:focus-visible { outline-color: #fff; }
/* .wedding-reviews-row / the review buttons themselves use the shared .review-badges / .review-badge
   classes in style.css — don't redefine their look here. */
.wedding-page .wedding-reviews-cta { margin: 20px 0 0; font-size: 16px; }
.wedding-page .wedding-reviews-cta a { font-weight: 700; color: #0075bc; }
.wedding-page .wedding-reviews-cta a:hover { color: #005f9b; }
/* No CSS aspect-ratio here on purpose: the video's width/height="960"/"470" HTML attributes
   already give the browser the intrinsic ratio for height:auto — adding a second, redundant
   aspect-ratio source is what caused a hairline gap at the top from sub-pixel rounding
   (invisible in fullscreen because native fullscreen bypasses this CSS box entirely). */
.wedding-page #wedding-planning-guide-preview { display: block; width: 100%; height: auto; }
.wedding-page .wedding-banner h2 { color: #fff; max-width: 800px; margin: 0 auto; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.wedding-page #pricing { scroll-margin-top: 24px; }
@media (max-width: 1199.98px) {
  .wedding-page #home-logo { content: url('../images/uploads/logos/home-logo-white-HD.png'); }
  .wedding-page header .nav-link, .wedding-page header .dropdown-toggle,
  .wedding-page header .dropdown-menu a { color: #fff !important; }
}
@media (max-width: 767.98px) {
  .wedding-page .wedding-main .section { padding: 40px 0; }
  .wedding-page .wedding-main .lead { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .wedding-page .wedding-main .btn { transition: none; }
}
