.wedding-theme-v2{--theme-radius-sm: .75rem;--theme-radius-lg: var(--theme-radius, 1.75rem);--theme-card-radius: var(--theme-radius-override, var(--theme-radius-lg));--theme-section-space: var(--theme-section-gap-override, var(--theme-section-gap, clamp(4rem, 8vw, 7rem)));--theme-shadow: 0 24px 70px rgba(22, 22, 29, .12);--theme-border: color-mix(in srgb, var(--primary-color, var(--primary, #8a6d4b)) 20%, transparent);background:var(--background-color, var(--bg, #fff))}.wedding-theme-v2 .section,.wedding-theme-v2 .panel{position:relative;isolation:isolate}.wedding-theme-v2 .section{padding-block:var(--theme-section-space)}.wedding-theme-v2 .theme-hero-overlay{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:#000;opacity:var(--theme-hero-overlay-override, 0);pointer-events:none;transition:opacity .18s ease}.wedding-theme-v2 .event-card,.wedding-theme-v2 .panel,.wedding-theme-v2 .story-card,.wedding-theme-v2 .theme-information-card{border:1px solid var(--theme-border);border-radius:var(--theme-card-radius);box-shadow:var(--theme-shadow)}.wedding-theme-v2 .companion-card{border-color:var(--theme-border);border-radius:var(--theme-card-radius);background:var(--theme-surface-color, var(--surface-color, var(--surface, #fff)));color:var(--theme-text-color, var(--text-color, var(--text, currentColor)));box-shadow:var(--theme-shadow)}.wedding-theme-v2 .companion-remove-button{border:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-surface-color, var(--surface-color, var(--surface, #fff))) 82%,var(--theme-background-color, transparent));color:var(--theme-text-color, var(--text-color, var(--text, currentColor)));box-shadow:none}.wedding-theme-v2 .companion-remove-button:hover,.wedding-theme-v2 .companion-remove-button:focus-visible{border-color:var(--theme-primary-color, var(--primary));background:color-mix(in srgb,var(--theme-primary-color, var(--primary)) 14%,var(--theme-surface-color, var(--surface-color, var(--surface, #fff))));color:var(--theme-heading-color, var(--theme-text-color, currentColor))}.wedding-theme-v2[data-theme-surface=invitation] .sections[data-theme-section-container]{gap:var(--theme-section-gap-override, 28px)}.wedding-theme-v2[data-theme-surface=invitation] main.card{border-radius:var(--theme-radius-override, 24px)}.wedding-theme-v2[data-theme-surface=invitation] .step{border-radius:var(--theme-radius-override, 18px)}.wedding-theme-v2[data-theme-surface=rsvp] .card[data-theme-section-container]{overflow:hidden;border-radius:var(--theme-radius-override, var(--bs-card-border-radius, .375rem))}.wedding-theme-v2 .theme-section-kicker{display:block;margin-bottom:.65rem;color:var(--primary-color, var(--primary));font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.wedding-theme-v2 .theme-information-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1.25rem}.wedding-theme-v2 .theme-information-card{overflow:hidden;background:var(--surface-color, rgba(255, 255, 255, .94))}.wedding-theme-v2 .theme-information-card__image{width:100%;aspect-ratio:4 / 3;object-fit:cover}.wedding-theme-v2 .theme-accommodation-card .theme-information-card__image{display:block;aspect-ratio:16 / 9;max-height:clamp(11rem,22vw,17rem)}.wedding-theme-v2 .theme-information-card__body{padding:1.35rem}.wedding-theme-v2 .theme-palette{display:flex;justify-content:center;gap:.55rem;margin-top:1.25rem}.wedding-theme-v2 .theme-palette span{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.92);border-radius:999px;box-shadow:0 2px 10px #0000002e}.wedding-theme-v2 .theme-inline-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.wedding-theme-v2 .theme-inline-actions a{display:inline-flex;align-items:center;gap:.35rem}.wedding-theme-v2 [data-theme-section]{scroll-margin-top:2rem}.wedding-theme-v2 iframe[data-map-treatment=dark]{filter:grayscale(.35) invert(.9) hue-rotate(180deg) contrast(.88) brightness(.84)!important}.wedding-theme-v2 iframe[data-map-treatment=silver]{filter:grayscale(1) contrast(.84) brightness(1.14) opacity(.92)!important}.wedding-theme-v2 .theme-section-variant-framed.hero-section,.wedding-theme-v2 .theme-section-variant-framed[data-theme-section=hero]{margin:clamp(.75rem,2vw,2rem);min-height:calc(100vh - clamp(1.5rem,4vw,4rem));overflow:hidden;border-radius:var(--theme-radius-lg)}.wedding-theme-v2 .theme-section-variant-split[data-theme-section=hero] .hero-content,.wedding-theme-v2 .theme-section-variant-split[data-theme-section=rsvp]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.5rem,5vw,5rem)}.wedding-theme-v2 .theme-section-variant-split .row,.wedding-theme-v2 .theme-section-variant-split .grid-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,5vw,5rem)}.wedding-theme-v2 .theme-section-variant-split .row>[class*=col-]{width:100%;max-width:none}.wedding-theme-v2 [data-theme-section=events].theme-section-variant-split :is(.row,.grid-two){width:100%;margin-inline:0;grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-theme-v2 [data-theme-section=events].theme-section-variant-split .row>[class*=col-]{padding-inline:0}.wedding-theme-v2 .theme-section-variant-minimal{box-shadow:none!important;border-color:transparent!important;background:transparent!important}.wedding-theme-v2 .theme-section-variant-timeline .event-card,.wedding-theme-v2 .theme-section-variant-timeline.theme-information-card{border-left:3px solid var(--primary-color, var(--primary));border-radius:0 var(--theme-card-radius) var(--theme-card-radius) 0}.wedding-theme-v2 .theme-section-variant-compact .theme-information-grid,.wedding-theme-v2 .theme-information-grid--compact{grid-template-columns:1fr;gap:.75rem}.wedding-theme-v2 .theme-accommodation-card--compact{display:grid;grid-template-columns:minmax(9rem,.6fr) minmax(0,1.4fr);align-items:stretch}.wedding-theme-v2 .theme-accommodation-card--compact .theme-information-card__image{height:100%;min-height:9rem;max-height:13rem;aspect-ratio:auto}.wedding-theme-v2 .theme-accommodation-card--compact .theme-information-card__body{align-self:center}.wedding-theme-v2 .theme-section-variant-editorial .theme-information-card__body{padding:clamp(1.5rem,4vw,3rem);text-align:left}.wedding-theme-v2 .theme-section-variant-editorial .story-card{max-width:48rem;margin-inline:auto;padding:clamp(1.5rem,5vw,4rem);border-right:0;border-left:0;border-radius:0;text-align:center}.wedding-theme-v2 [data-theme-section=story] .story-card{max-width:min(48rem,100%);margin-inline:auto;text-align:center}.wedding-theme-v2 [data-theme-section=story] .story-card>:is(h3,p){text-align:inherit}.wedding-theme-v2 [data-theme-section=countdown]>:is(h3,p),.wedding-theme-v2 [data-theme-section=countdown] .countdown-date{text-align:center}.wedding-theme-v2 [data-theme-section=countdown] .countdown{justify-content:center;margin-inline:auto}.wedding-theme-v2 .theme-section-variant-timeline .story-card{border-left:3px solid var(--primary-color, var(--primary));border-radius:0 var(--theme-card-radius) var(--theme-card-radius) 0}.wedding-theme-v2 .theme-section-variant-palette .theme-palette span{width:clamp(2.25rem,5vw,3.5rem);height:clamp(2.25rem,5vw,3.5rem)}.wedding-theme-v2 .theme-section-variant-full-bleed[data-theme-section=hero]{width:100%;min-height:100vh;margin:0;border-radius:0}.wedding-theme-v2 .theme-section-variant-illustrated[data-theme-section=hero]:after{content:"";position:absolute;inset:clamp(1rem,4vw,3rem);border:1px solid color-mix(in srgb,currentColor 42%,transparent);border-radius:48% 52% 46% 54%/54% 45% 55% 46%;pointer-events:none}.wedding-theme-v2 .theme-section-variant-cards .theme-information-grid,.wedding-theme-v2 .theme-section-variant-cards .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1.25rem}.wedding-theme-v2 .theme-section-variant-inline .countdown{display:inline-flex;width:auto;padding:.75rem 1rem;border-top:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border)}.wedding-theme-v2 .theme-section-variant-statement .countdown-value{font-family:var(--heading-font);font-size:clamp(3rem,10vw,8rem);line-height:.85}.wedding-theme-v2 .theme-section-variant-grid .theme-information-grid,.wedding-theme-v2 .theme-section-variant-grid .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:stretch}.wedding-theme-v2 .theme-section-variant-masonry .theme-information-grid,.wedding-theme-v2 .theme-section-variant-masonry .gallery-grid{display:block;columns:3 240px;column-gap:1rem}.wedding-theme-v2 .theme-section-variant-masonry .theme-information-card,.wedding-theme-v2 .theme-section-variant-masonry .gallery-item{break-inside:avoid;margin-bottom:1rem}.wedding-theme-v2 .theme-section-variant-filmstrip .gallery-grid,.wedding-theme-v2 .theme-section-variant-filmstrip .theme-information-grid{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;grid-template-columns:none;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem}.wedding-theme-v2 .theme-section-variant-filmstrip .gallery-balanced-grid>.gallery-row{display:contents}.wedding-theme-v2 .theme-section-variant-filmstrip .gallery-item,.wedding-theme-v2 .theme-section-variant-filmstrip .theme-information-card{flex:0 0 min(78vw,460px);aspect-ratio:4 / 3;scroll-snap-align:center}.wedding-theme-v2 .theme-section-variant-route{border-left:2px dashed var(--primary-color, var(--primary));margin-left:clamp(1rem,5vw,4rem)}.wedding-theme-v2 .theme-section-variant-monogram:before{content:"✦";display:block;margin-bottom:.75rem;color:var(--primary-color, var(--primary));font-size:1.5rem;text-align:center}.wedding-theme-v2 .theme-section-variant-statement[data-theme-section=footer]{padding-block:clamp(3rem,8vw,7rem);font-family:var(--heading-font);font-size:clamp(1.4rem,4vw,2.4rem)}@media (prefers-reduced-motion: reduce){.wedding-theme-v2 *,.wedding-theme-v2 *:before,.wedding-theme-v2 *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 767.98px){.wedding-theme-v2{--theme-section-space: var(--theme-section-gap-override, 3.5rem);--theme-radius-lg: 1.25rem}.wedding-theme-v2 [data-theme-section-container],.wedding-theme-v2 [data-theme-section],.wedding-theme-v2 :is(.sections,.content,.container,.row,.grid-two,.panel,.event-card,.theme-information-grid,.theme-information-card){min-width:0;max-width:100%}.wedding-theme-v2 .row>[class*=col-]{min-width:0;max-width:100%}.wedding-theme-v2 :is(.event-card,.theme-information-card,.panel) :is(h2,h3,h4,p,a,span){overflow-wrap:anywhere}.wedding-theme-v2 :is(.event-card,.panel) :is(.venue-media-frame,iframe,img){max-width:100%}.wedding-theme-v2 .theme-section-variant-split[data-theme-section=hero] .hero-content,.wedding-theme-v2 .theme-section-variant-split[data-theme-section=rsvp],.wedding-theme-v2 .theme-section-variant-split .row,.wedding-theme-v2 .theme-section-variant-split .grid-two{grid-template-columns:1fr}.wedding-theme-v2 [data-theme-section=events].theme-section-variant-split :is(.row,.grid-two){grid-template-columns:1fr}.wedding-theme-v2 .theme-accommodation-card--compact{grid-template-columns:1fr}.wedding-theme-v2 .theme-accommodation-card--compact .theme-information-card__image{height:min(44vw,10rem);min-height:0;max-height:none;aspect-ratio:16 / 7}}
