/* Weddings v1. Source: supplied page-weddings.php; approved AmanDagat palette. */
body.amandagat-weddings {
  --ink:#0c2340; --deep:#0c2340; --night:#0c2340;
  --limewash:#f4f8f9; --sand:#fff; --brass:#14549e;
  --brass-light:#d6a8a8; --gold:#d6a8a8; --white:#fff;
  color:#0c2340; background:#fff;
}
body.amandagat-weddings .util-strip { background:#f4f8f9; border-color:#ccd6df; }
body.amandagat-weddings .util-strip a { color:#0c2340; }
body.amandagat-weddings .util-strip a:hover { color:#14549e; }
body.amandagat-weddings .util-strip > span { color:#14549e !important; }
body.amandagat-weddings #nav.solid { background:rgba(255,255,255,.98); }
body.amandagat-weddings #nav .nav-dd-menu { background:#0c2340; border-color:#ccd6df; }
body.amandagat-weddings footer.starry { background:#0c2340; color:#fff; }
body.amandagat-weddings footer .fg h4 { color:#d6a8a8; }
body.amandagat-weddings .btn-brass { background:#14549e; color:#fff !important; border:1px solid #14549e; box-shadow:none; }
body.amandagat-weddings .btn-brass:hover { background:#0c2340; border-color:#0c2340; box-shadow:none; }
body.amandagat-weddings :focus-visible { outline:3px solid #14549e; outline-offset:5px; }

#amandagat-weddings {
  --ink:#0c2340; --deep:#0c2340; --night:#0c2340;
  --limewash:#f4f8f9; --sand:#fff; --brass:#14549e;
  --brass-light:#d6a8a8; --seafoam:#d6a8a8; --white:#fff;
  position:relative; font-family:var(--body); font-size:17px; line-height:1.7;
  background:#fff; color:#0c2340;
}
#amandagat-weddings :is(h1,h2,h3) { font-family:var(--display); font-weight:400; line-height:1.13; letter-spacing:-.025em; margin:0; }
#amandagat-weddings h2 { font-size:clamp(34px,4.4vw,56px); }
#amandagat-weddings h2 em { color:#14549e; font-style:italic; }
#amandagat-weddings p { margin:0; }
#amandagat-weddings .section { padding:88px max(24px,calc((100vw - 1180px)/2)); }
#amandagat-weddings .section-head { max-width:760px; margin:0 0 48px; }
#amandagat-weddings .section-head p { max-width:630px; margin-top:20px; color:#44515d; font-size:17px; }
#amandagat-weddings .eyebrow { font-family:var(--body); font-size:12px; line-height:1.5; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#14549e; display:block; margin-bottom:18px; }
#amandagat-weddings .btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:15px 26px; border-radius:6px; font-size:12px; line-height:1.4; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-align:center; white-space:normal; box-shadow:none; transition:background .2s,color .2s,border-color .2s; }
#amandagat-weddings .btn:hover { transform:none; box-shadow:none; }
#amandagat-weddings .btn-ghost { border:1px solid currentColor; background:transparent; }
#amandagat-weddings .btn-ghost:hover { background:rgba(255,255,255,.08); }
#amandagat-weddings .dome-dots { display:flex; gap:8px; margin-bottom:22px; }
#amandagat-weddings .dome-dots span { width:26px; height:15px; border:1.5px solid #d6a8a8; border-bottom:none; border-radius:13px 13px 0 0; }
#amandagat-weddings .dome-dots span:nth-child(2) { opacity:.7; }
#amandagat-weddings .dome-dots span:nth-child(3) { opacity:.4; }
#amandagat-weddings .frame { position:relative; overflow:hidden; background:#e5eef5; }
#amandagat-weddings .frame img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
#amandagat-weddings .frame.dome,
#amandagat-weddings .frame.dome-lg { border-radius:50% 50% 6px 6px / 36% 36% 6px 6px; }

/* Existing single hero and original two anchor actions. */
#amandagat-weddings .page-head { position:relative; padding:186px 24px 115px; min-height:650px; background:#0c2340; color:#fff; text-align:center; overflow:hidden; }
#amandagat-weddings .page-head .inner { position:relative; z-index:2; max-width:920px; margin:0 auto; }
#amandagat-weddings .page-head .dome-dots { justify-content:center; }
#amandagat-weddings .page-head .eyebrow { color:#d6a8a8; }
#amandagat-weddings .page-head h1 { color:#fff; font-size:clamp(50px,7vw,92px); line-height:1.08; }
#amandagat-weddings .page-head h1 em { color:#d6a8a8; }
#amandagat-weddings .page-head p { margin:24px auto 0; max-width:620px; font-size:18px; color:#e6eef4; }
#amandagat-weddings .cta-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-top:34px; }
#amandagat-weddings :is(.page-head,.closing) .btn-brass { background:#d6a8a8; color:#0c2340 !important; border-color:#d6a8a8; }
#amandagat-weddings :is(.page-head,.closing) .btn-brass:hover { background:#fff; border-color:#fff; }
#amandagat-weddings :is(.page-head,.closing) .btn-ghost { color:#fff; }
#amandagat-weddings :is(.page-head,.closing) :focus-visible { outline-color:#fff; }
#amandagat-weddings .scroll-cue { border-width:1px; }
#amandagat-weddings .wed-back { position:absolute; top:132px; left:max(24px,5vw); z-index:3; display:inline-flex; align-items:center; gap:7px; color:#e6eef4; font:600 13px/1.5 var(--body); text-decoration:none; }
#amandagat-weddings .stars { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
#amandagat-weddings .stars i { position:absolute; width:2px; height:2px; border-radius:50%; background:#fff; opacity:.3; animation:wed-twinkle 4s ease-in-out infinite; }
@keyframes wed-twinkle { 0%,100%{opacity:.15} 50%{opacity:.7} }

/* Original love note: readable text with its original bouquet photograph. */
#amandagat-weddings .lovenote { position:relative; background:#fff; overflow:hidden; }
#amandagat-weddings .lovenote .inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.94fr); align-items:center; gap:70px; max-width:1180px; margin:auto; }
#amandagat-weddings .lovenote .frame { aspect-ratio:1.2; }
#amandagat-weddings .lovenote p { margin-top:26px; color:#44515d; line-height:1.8; }
#amandagat-weddings .lovenote .stars i { background:#9bbad5; }

/* Three existing venues, retaining their order, photos and full descriptions. */
#amandagat-weddings .venues { background:#f4f8f9; }
#amandagat-weddings .venue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:34px; }
#amandagat-weddings .venue { min-width:0; }
#amandagat-weddings .venue:nth-child(2) { margin-top:58px; }
#amandagat-weddings .venue .frame { aspect-ratio:4 / 5; margin-bottom:26px; }
#amandagat-weddings .venue:nth-child(2) .frame { aspect-ratio:3 / 4; }
#amandagat-weddings .venue h3 { font-size:clamp(27px,3vw,36px); }
#amandagat-weddings .venue h3 em { color:#14549e; font-style:normal; }
#amandagat-weddings .venue p { margin-top:14px; color:#44515d; font-size:16.5px; line-height:1.75; }

/* The original package groups become clear individual blocks. */
#amandagat-weddings .package { background:#fff; }
#amandagat-weddings .package-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); align-items:start; gap:58px; }
#amandagat-weddings .package .frame { aspect-ratio:6 / 5; position:sticky; top:calc(136px + var(--preview-label-height,0px)); border-radius:46% 46% 6px 6px / 42% 42% 6px 6px; }
#amandagat-weddings .pkg-group { padding:26px 28px; border:1px solid #d8e3ec; border-top:2px solid #d6a8a8; background:#f4f8f9; border-radius:6px; margin-bottom:18px; }
#amandagat-weddings .pkg-group h3 { font-size:28px; margin-bottom:16px; }
#amandagat-weddings .pkg-group h3 span { color:#14549e; font-style:normal; }
#amandagat-weddings .pkg-group ul { list-style:none; margin:0; padding:0; }
#amandagat-weddings .pkg-group li { position:relative; padding-left:20px; margin-bottom:11px; font-size:16px; line-height:1.65; color:#44515d; }
#amandagat-weddings .pkg-group li:last-child { margin-bottom:0; }
#amandagat-weddings .pkg-group li::before { content:''; position:absolute; left:0; top:8px; width:7px; height:10px; border:1px solid #14549e; border-bottom:none; border-radius:7px 7px 0 0; }
#amandagat-weddings .wed-plan { margin-top:8px; }
#amandagat-weddings :is(#venues,#package,#inquire) { scroll-margin-top:calc(134px + var(--preview-label-height,0px)); }

/* Existing reception feature, with the original full-height table photograph. */
#amandagat-weddings .dressed { background:#f4f8f9; }
#amandagat-weddings .dressed-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:center; gap:88px; max-width:1080px; margin:auto; }
#amandagat-weddings .dressed-video { aspect-ratio:3 / 4; }
#amandagat-weddings .dressed p { margin-top:24px; max-width:510px; color:#44515d; line-height:1.8; }

/* Original closing background and inquiry destinations. */
#amandagat-weddings .closing { position:relative; background:linear-gradient(rgba(12,35,64,.68),rgba(12,35,64,.9)),url('../img/weddings/closing-bg.jpg') center 58% / cover no-repeat; color:#fff; text-align:center; overflow:hidden; padding-block:110px; }
#amandagat-weddings .closing .inner { position:relative; z-index:2; max-width:760px; margin:auto; }
#amandagat-weddings .closing h2 { color:#fff; }
#amandagat-weddings .closing h2 em { color:#d6a8a8; }
#amandagat-weddings .closing p { max-width:610px; margin:24px auto 0; color:#e6eef4; }

@media(hover:hover) and (pointer:fine) {
  #amandagat-weddings .venue:hover .frame img { transform:scale(1.025); }
}
@media(max-width:1080px) {
  body.amandagat-weddings #nav ul.open { background:#fff; }
  body.amandagat-weddings #nav .nav-dd-menu { background:transparent; }
  body.amandagat-weddings #nav ul.open :is(a,.nav-dd-btn) { color:#0c2340 !important; }
  body.amandagat-weddings #nav ul.open .btn-brass { color:#fff !important; }
  #amandagat-weddings .wed-back { top:110px; }
  #amandagat-weddings .lovenote .inner,
  #amandagat-weddings .package-grid,
  #amandagat-weddings .dressed-grid { gap:38px; }
  #amandagat-weddings .venue-grid { gap:24px; }
  #amandagat-weddings .package .frame { top:calc(112px + var(--preview-label-height,0px)); }
}
@media(max-width:820px) {
  #amandagat-weddings .section { padding:64px 24px; }
  #amandagat-weddings .lovenote .inner { grid-template-columns:1fr; }
  #amandagat-weddings .lovenote .frame { max-width:580px; width:100%; margin:auto; aspect-ratio:4 / 3; }
  #amandagat-weddings .venue-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  #amandagat-weddings .venue { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); grid-template-rows:auto 1fr; column-gap:28px; }
  #amandagat-weddings .venue:nth-child(2) { margin-top:0; }
  #amandagat-weddings .venue .frame,
  #amandagat-weddings .venue:nth-child(2) .frame { grid-row:1 / 3; margin:0; aspect-ratio:4 / 5; }
  #amandagat-weddings .venue h3 { margin-top:40px; }
  #amandagat-weddings .venue p { margin-top:18px; }
  #amandagat-weddings .package-grid { grid-template-columns:1fr; gap:32px; }
  #amandagat-weddings .package .frame { position:static; max-width:660px; width:100%; margin:auto; aspect-ratio:4 / 3; }
  #amandagat-weddings .dressed-grid { gap:30px; }
  #amandagat-weddings .section-head { margin-bottom:36px; }
}
@media(max-width:560px) {
  #amandagat-weddings .page-head { min-height:620px; padding:148px 22px 103px; }
  #amandagat-weddings .page-head h1 { font-size:clamp(43px,10.5vw,58px); }
  #amandagat-weddings .page-head p { font-size:17px; }
  #amandagat-weddings .page-head .cta-row { margin-top:26px; gap:12px; }
  #amandagat-weddings .page-head .btn { width:100%; max-width:340px; }
  #amandagat-weddings .section { padding:50px 22px; }
  #amandagat-weddings h2 { font-size:36px; }
  #amandagat-weddings .venue { display:block; }
  #amandagat-weddings .venue .frame,
  #amandagat-weddings .venue:nth-child(2) .frame { aspect-ratio:4 / 5; max-height:470px; margin-bottom:24px; }
  #amandagat-weddings .venue h3 { margin-top:0; font-size:32px; }
  #amandagat-weddings .venue p { margin-top:14px; }
  #amandagat-weddings .pkg-group { padding:23px 22px; }
  #amandagat-weddings .pkg-group h3 { font-size:27px; }
  #amandagat-weddings .dressed-grid { grid-template-columns:1fr; gap:32px; }
  #amandagat-weddings .dressed-video { max-width:430px; width:100%; margin:auto; }
  #amandagat-weddings .closing { padding-block:74px; }
  #amandagat-weddings .closing .cta-row { gap:12px; }
  #amandagat-weddings p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  #amandagat-weddings .stars i { animation:none; }
  #amandagat-weddings .frame img { transition:none; transform:none !important; }
  #amandagat-weddings .btn { transition:none; }
}

/* v1.3: align the two organic photo frames with the column ends; hearts between. */
#amandagat-weddings .pkg-photos {
  display:grid;
  grid-template-rows:auto minmax(36px,1fr) auto;
  gap:24px;
  align-self:stretch;
  min-width:0;
}
#amandagat-weddings .pkg-hearts {
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d6a8a8;
  pointer-events:none;
}
#amandagat-weddings .pkg-hearts svg { display:block; width:172px; max-width:100%; height:20px; }
#amandagat-weddings .package .pkg-photos > .frame {
  position:relative;
  top:auto;
  width:100%;
  aspect-ratio:4 / 3;
  border-radius:45% 55% 47% 53% / 56% 48% 52% 44%;
}
#amandagat-weddings .package .pkg-photos > .pkg-bride-photo {
  border-radius:55% 45% 52% 48% / 48% 54% 46% 52%;
}
#amandagat-weddings .package .pkg-bride-photo img { object-position:center top; }
@media(max-width:820px) {
  #amandagat-weddings .pkg-photos { width:100%; max-width:660px; margin-inline:auto; grid-template-rows:auto 36px auto; }
}
