/* The same offer remains pinned; the native header is shown at the page start.
   Both wrappers retain their layout space to avoid moving the page content. */
.ww-september-sticky { position:sticky; top:0; z-index:1002; display:flow-root; background:#fff; }
.ww-cta-stack { position:sticky; top:var(--ww-promo-height,72px); z-index:1000; background:#fff; transition:transform .22s ease; }
.ww-cta-stack--hidden { transform:translateY(-100%); pointer-events:none; }
html.ww-cta-upper body:not(.modal-open) { height:auto!important; min-height:100vh; }
.ww-cta { --ww-bg:#edeef0; --ww-ink:#252525; --ww-button:#252525; --ww-button-ink:#fff; box-sizing:border-box; font-family:'Nunito Sans','NunitoSans',Arial,sans-serif; font-size:16px; line-height:1.35; color:var(--ww-ink); background:var(--ww-bg); }
.ww-cta *, .ww-cta *::before, .ww-cta *::after { box-sizing:border-box; }
.ww-cta--bottom { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.ww-cta--visible { opacity:1; visibility:visible; pointer-events:auto; }
.ww-cta__inner { max-width:1440px; min-height:64px; padding:9px 40px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:20px; }
.ww-cta p { margin:0; padding:0; color:inherit; }
.ww-cta__banner-text { font-size:16px; font-weight:700; overflow-wrap:anywhere; }
.ww-cta__spark { font-size:25px; line-height:1; flex:none; }
.ww-cta .ww-cta__button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; max-width:360px; padding:12px 24px; border:0; border-radius:12px; background:var(--ww-button); color:var(--ww-button-ink); font:700 15px/1.3 'Nunito Sans','NunitoSans',Arial,sans-serif; text-decoration:none; text-align:center; overflow-wrap:anywhere; white-space:normal; flex-shrink:0; cursor:pointer; transition:box-shadow .15s,transform .15s; }
.ww-cta .ww-cta__button:hover { color:var(--ww-button-ink); background:var(--ww-button); box-shadow:0 4px 15px #25252524; transform:translateY(-1px); text-decoration:none; }
.ww-cta .ww-cta__button:active { transform:translateY(0); box-shadow:none; }
.ww-cta :is(a,button):focus-visible { outline:none!important; box-shadow:none; text-decoration:underline; text-underline-offset:4px; }
.ww-cta--bottom { position:fixed; z-index:1001; left:50%; bottom:calc(24px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); display:flex; align-items:center; gap:20px; width:calc(100% - 80px); max-width:1000px; padding:18px 20px; border:0; border-radius:24px; box-shadow:0 12px 48px #25252524,0 2px 8px #2525250c; }
.ww-cta--bottom:not(.ww-cta--visible) { transform:translate(-50%,12px); }
.ww-cta__badge { display:grid; place-items:center; width:48px; height:48px; flex:none; border:0; border-radius:50%; font-size:29px; }
.ww-cta__copy { flex:1; min-width:0; }
.ww-cta .ww-cta__title { font-size:19px; line-height:1.35; font-weight:800; overflow-wrap:anywhere; }
.ww-cta .ww-cta__caption { margin-top:3px; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.ww-cta--bottom .ww-cta__button { min-height:50px; padding:14px 26px; }
.ww-cta .ww-cta__close { flex:none; width:44px; height:44px; display:grid; place-items:center; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; font:28px/1 Arial,sans-serif; cursor:pointer; }
.ww-cta .ww-cta__close:hover { background:#ffffff33; }
.ww-cta [hidden], .ww-cta[hidden] { display:none!important; }
html.ww-cta-upper { scroll-padding-top:var(--ww-stack-height,160px); }
html.ww-cta-lower { scroll-padding-bottom:var(--ww-bottom-height,140px); }
.ww-cta-reserve { clear:both; height:var(--ww-bottom-height,140px); }
html.ww-cta-lower body:not(.modal-open) { padding-bottom:0!important; }
@media(max-width:990px) {
  .ww-cta__inner { padding:8px 20px; gap:12px; }
  .ww-cta__spark { display:none; }
  .ww-cta--bottom { width:calc(100% - 40px); gap:16px; }
  .ww-cta__badge { display:none; }
  .ww-cta .ww-cta__title { font-size:17px; }
}
@media(max-width:600px) {
  .ww-cta__inner { padding:8px 16px; gap:12px; justify-content:space-between; }
  .ww-cta__banner-text { font-size:13px; line-height:1.35; flex:1; }
  .ww-cta--bottom { display:grid; grid-template-columns:1fr; width:calc(100% - 24px); padding:14px; gap:10px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); border-radius:20px; }
  .ww-cta .ww-cta__title { font-size:15px; line-height:1.3; text-align:center; }
  .ww-cta .ww-cta__caption { display:none; }
  .ww-cta--bottom .ww-cta__button { width:100%; max-width:none; min-height:46px; font-size:15px; padding:12px 16px; }
  .ww-cta--bottom:has(.ww-cta__close:not([hidden])) { grid-template-columns:1fr 44px; }
  .ww-cta--bottom .ww-cta__close { grid-row:1; grid-column:2; }
  .ww-cta--bottom:has(.ww-cta__close:not([hidden])) .ww-cta__button { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .ww-cta-stack, .ww-cta, .ww-cta .ww-cta__button { transition:none; } }
@media print { .ww-cta-stack { position:static; } .ww-cta--bottom { position:static; transform:none; margin:20px auto; } }

/* Preserve the existing mobile navigation below the conversion panel. */
@media (max-width:767px) {
  .ww-cta--bottom { bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--ww-native-bottom-height,0px)); }
  body.submenu_mobile .ww-cta, body.open-modal .ww-cta { visibility:hidden; pointer-events:none; }
}

/* Integration with the existing WedWed fixed header. Load after header CSS.
   The header now occupies its own space inside the sticky banner/header stack. */
html.ww-cta-upper body:not(.modal-open) { padding-top:0!important; }
.ww-cta-stack #lodingHeader {
  position:relative!important;
  filter:none!important;
  top:auto!important;
  width:100%;
  margin:0!important;
  transform:none!important;
  z-index:auto!important;
}
/* Production mobile hero padding includes the fixed 72px header (95px total).
   Our header occupies layout space, so retain only the original 23px gap. */
@media(max-width:767px) {
  html.ww-cta-upper #pageIDinvitations .ip-main { padding-top:23px; }
}
/* A closed off-canvas navigation must not protrude from the sticky stack. */
.ww-cta-stack #lodingHeader .org-hide_new { position:relative; }
@media(max-width:1279px) {
  .ww-cta-stack #lodingHeader .nav:not(.open) { display:none; }
}

/* Native menus and dialogs retain their own overlay and focus behavior. */
body:is(.modal-open,.open-modal,.submenu_mobile) .ww-september-sticky,
body:has(#lodingHeader .nav.open) .ww-september-sticky,
body:is(.modal-open,.open-modal,.submenu_mobile) .ww-cta,
body:has(#lodingHeader .nav.open) .ww-cta { visibility:hidden; pointer-events:none; }

/* September campaign: the initial offer keeps its appearance while scrolling. */
.ww-september { --sep-ink:#47292d; box-sizing:border-box; position:relative; margin:4px; color:var(--sep-ink); background:#ffcc99; background:linear-gradient(110deg,#ffd999 0%,#ffcca4 62%,#f7b9b7 100%); border-radius:32px; font-family:'Graphik',Arial,sans-serif; }
.ww-september *, .ww-september *::before, .ww-september *::after { box-sizing:border-box; }
.ww-september__inner { max-width:1120px; min-height:64px; margin:auto; padding:0 28px 0 12px; display:grid; grid-template-columns:180px minmax(0,1fr) auto; align-items:center; gap:24px; }
.ww-september p { margin:0; padding:0; color:inherit; }
.ww-september__designs { position:relative; height:64px; overflow:hidden; }
.ww-september__orbit { position:absolute; width:140px; height:140px; left:12px; top:4px; border:0; border-radius:50%; background:radial-gradient(circle,#ffffff35,transparent 70%); }
.ww-september__design { position:absolute; width:42px; height:78px; background:#fff8ee; border:0; border-radius:6px; box-shadow:0 4px 10px #60301f30; overflow:hidden; }
.ww-september__design img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.ww-september__design--one { left:18px; transform:rotate(-14deg); top:10px; }
.ww-september__design--two { left:58px; z-index:2; transform:rotate(-2deg); top:3px; }
.ww-september__design--three { left:97px; transform:rotate(13deg); top:9px; }
.ww-september__heart { position:absolute; color:#8f4a4e; right:9px; top:12px; font:25px/1 Georgia,serif; transform:rotate(12deg); }
.ww-september__copy { min-width:0; padding:8px 0; }
.ww-september .ww-september__title { font-size:20px; line-height:1.2; font-weight:600; letter-spacing:-.45px; }
.ww-september .ww-september__caption { font-size:13px; line-height:1.4; margin-top:3px; }
.ww-september__action { display:flex; align-items:center; }
.ww-september .ww-cta__button, .ww-september-bottom .ww-cta__button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 22px; border:0; border-radius:12px; font:500 13px/1.2 'Graphik',Arial,sans-serif; color:#252525; background:#fff; text-decoration:none; white-space:normal; text-align:center; transition:background .15s,box-shadow .15s; }
.ww-september .ww-cta__button:hover, .ww-september-bottom .ww-cta__button:hover { color:#252525; background:#f7f7f7; box-shadow:0 5px 14px #25252516; transform:none; }
.ww-september .ww-cta__button:focus-visible, .ww-september-bottom .ww-cta__button:focus-visible { outline:none!important; box-shadow:none; background:#fff1e2; color:#252525; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.ww-september-bottom { --ww-ink:#47292d; --ww-button:#fff; --ww-button-ink:#252525; background:linear-gradient(110deg,#ffd999,#ffcca4 62%,#f7b9b7); font-family:'Graphik',Arial,sans-serif; display:grid; grid-template-columns:150px minmax(0,1fr) auto; max-width:940px; min-height:78px; padding:0 22px 0 8px; gap:18px; box-shadow:0 10px 36px #61322724; }
.ww-september-bottom .ww-september__designs { height:76px; }
.ww-september-bottom .ww-cta__copy { padding:10px 0; }
.ww-september-bottom .ww-cta__title { font-size:17px; line-height:1.3; font-weight:500; letter-spacing:-.3px; }
.ww-september-bottom .ww-cta__caption { font-size:12px; line-height:1.4; }
@media(max-width:1000px) {
  .ww-september__inner { grid-template-columns:145px minmax(0,1fr) auto; gap:16px; padding-right:20px; }
  .ww-september__heart { display:none; }
  .ww-september .ww-september__title { font-size:18px; }
  .ww-september .ww-september__caption { font-size:12px; }
  .ww-september .ww-cta__button { padding:12px 16px; }
}
@media(max-width:800px) {
  .ww-september-bottom { grid-template-columns:110px minmax(0,1fr) auto; padding-right:16px; gap:14px; }
  .ww-september__inner { grid-template-columns:110px minmax(0,1fr) auto; gap:14px; padding:0 16px 0 6px; }
  .ww-september__design { width:34px; height:64px; }
  .ww-september__design--one { left:5px; }
  .ww-september__design--two { left:36px; }
  .ww-september__design--three { left:68px; }
  .ww-september .ww-september__title { font-size:16px; letter-spacing:-.3px; }
  .ww-september .ww-cta__button { font-size:12px; padding:12px 14px; }
}
@media(max-width:600px) {
  .ww-september { border-radius:20px; }
  .ww-september__inner { grid-template-columns:74px minmax(0,1fr); gap:8px 10px; padding:10px 14px 10px 6px; min-height:118px; }
  .ww-september__designs { grid-row:1/3; height:94px; align-self:center; }
  .ww-september__design { width:29px; height:60px; }
  .ww-september__design--one { left:3px; top:22px; }
  .ww-september__design--two { left:23px; top:13px; }
  .ww-september__design--three { left:43px; top:22px; }
  .ww-september__copy { padding:0; }
  .ww-september .ww-september__title { font-size:16px; line-height:1.2; letter-spacing:-.3px; }
  .ww-september .ww-september__caption { font-size:11px; line-height:1.35; margin-top:3px; }
  .ww-september__action { grid-column:2; align-items:stretch; gap:0; }
  .ww-september .ww-cta__button { width:100%; padding:10px; font-size:12px; border-radius:10px; }
  .ww-september-bottom { grid-template-columns:74px minmax(0,1fr); min-height:118px; padding:10px 12px 10px 6px; gap:8px 10px; }
  .ww-september-bottom .ww-september__designs { grid-row:1/3; height:94px; }
  .ww-september-bottom .ww-cta__copy { padding:0; }
  .ww-september-bottom .ww-cta__title { font-size:15px; line-height:1.2; text-align:left; }
  .ww-september-bottom .ww-cta__caption { display:block; font-size:11px; line-height:1.35; }
  .ww-september-bottom .ww-cta__button { grid-column:2; font-size:12px; padding:10px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .ww-september .ww-cta__button, .ww-september-bottom .ww-cta__button { transition:none; }
}
@media print { .ww-september-sticky { display:none!important; } .ww-cta-stack { transform:none; } }

