/* All selectors are scoped to the new product section. */
.wedding{--wc-ink:#191915;--wc-ivory:#f2f0eb;--wc-gold:#dbbd7e;scroll-margin-top:104px;background:var(--wc-ivory);color:var(--wc-ink);overflow:hidden;padding:0;margin:0}
.wedding figure{margin:0}.wedding p{line-height:1.65}.wedding-kicker{font-size:.78rem;letter-spacing:.16em;font-weight:600;margin:0 0 1.2rem}.wedding-name{font-size:.9rem;letter-spacing:.2em;margin:0 0 1.5rem;color:#6c5b37}.wedding-hero{display:grid;grid-template-columns:41% 59%;background:#191813;color:#f2f0eb}.wedding-intro{grid-column:1;grid-row:1;padding:4rem 3vw 1rem 6vw}.wedding-intro .wedding-kicker{color:#dbbd7e}.wedding-intro .wedding-name{color:#dfcfaa}.wedding h2{font-size:clamp(2.8rem,4.3vw,5.1rem);line-height:1.07;margin:0 0 1.5rem}.wedding-lead{font-size:1rem;color:#d6d0c6;max-width:440px;margin:0}.wedding-main-visual{grid-column:2;grid-row:1 / 3;align-self:center;position:relative}.wedding-main-visual img{height:auto;width:100%;aspect-ratio:16/9;object-fit:contain}.wedding-main-visual figcaption{padding:1rem 2rem;font-size:.78rem;color:#d4caba}.wedding-offer{grid-column:1;grid-row:2;padding:1rem 3vw 4rem 6vw}.wedding-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem}.wedding-price>span{flex-basis:100%;font-size:.85rem;color:#d6c8ad}.wedding-price del{font-size:1rem;color:#aaa393}.wedding-price strong{font-size:clamp(2rem,3vw,2.8rem);font-weight:500;letter-spacing:-.02em}.wedding-price small{font-size:.85rem;letter-spacing:.03em}.wedding-shipping{color:#ecd19c;font-size:.95rem;margin:.4rem 0 1rem}.wedding-format{font-size:.88rem;color:#ded8ce;margin:0 0 1.4rem}.wedding-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:#e8ce96;color:#241b0d;min-height:52px;padding:1rem 1.3rem;font-size:.85rem;font-weight:600;line-height:1.4;max-width:100%;border:1px solid #e8ce96}.wedding-button:hover{background:#f3dfb5}.wedding a:focus-visible,.wedding [tabindex]:focus-visible,.wedding summary:focus-visible{outline:2px solid #b99852;outline-offset:5px}.wedding-transform,.wedding-moments{padding:4.5rem 6vw}.wedding-heading{max-width:680px}.wedding h3{font-family:Italiana,Georgia,serif;font-weight:400;font-size:clamp(2.2rem,3.3vw,3.8rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 1.2rem}.wedding-heading>p:last-child{color:#605c53;max-width:550px;font-size:1rem;margin-bottom:2rem}.wedding-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b29a69 transparent;padding:0 0 1.2rem;overscroll-behavior-x:contain}.wedding-gallery-card{scroll-snap-align:start;min-width:0;background:#e7e2d8}.wedding-gallery-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.wedding-gallery-card figcaption{padding:1.2rem 1.5rem}.wedding-gallery-card figcaption span{display:block;font-size:.78rem;letter-spacing:.12em;color:#76664c;margin-bottom:.6rem}.wedding-gallery-card figcaption b{font-weight:400;font-family:Italiana,Georgia,serif;font-size:1.65rem;line-height:1.25;display:block}.wedding-hint{font-size:.8rem;color:#716d64;margin:1rem 0 0}.wedding-moments{border-top:1px solid #d6d0c3;padding-top:3.5rem}.wedding-choices{padding:0;border:0;margin:0}.wedding-choices legend{font-size:.9rem;color:#605c53;margin-bottom:1rem}.wedding-choices>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.wedding-choice{position:relative;cursor:pointer}.wedding-choice input{position:absolute;opacity:0;width:1px;height:1px}.wedding-choice>span{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:100px;padding:1rem;border:1px solid #c7beb0;font-size:1rem;transition:background .15s,color .15s}.wedding-choice small{font-size:.78rem;color:#8a795a;letter-spacing:.1em}.wedding-choice input:checked+span{background:#24231e;border-color:#24231e;color:#f8f2e8}.wedding-choice input:checked+span small{color:#e8ce96}.wedding-choice input:focus-visible+span{outline:2px solid #947435;outline-offset:3px}.wedding-choice input:disabled+span{opacity:.5;cursor:default}.wedding-selection{font-size:.88rem;color:#766343;margin:1.3rem 0 1rem}.wedding-selected{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.wedding-selected span{font-size:.9rem;color:#7b7569;padding:.9rem 0;border-bottom:1px solid #d6d0c3;line-height:1.5}.wedding-selected .is-chosen{color:#241b0d;border-color:#a48244}.wedding-process{padding:3.5rem 6vw;background:#e7e2d8}.wedding-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.wedding-process-grid article{border-top:1px solid #b1a798;padding-top:1rem}.wedding-process-grid article>span{font-size:.78rem;letter-spacing:.1em;color:#77654a}.wedding h4{font-family:Italiana,Georgia,serif;font-weight:400;font-size:2.2rem;line-height:1.1;margin:1.2rem 0 1rem}.wedding-process-grid p{font-size:1rem;color:#625c51;margin-bottom:0}.wedding-details{margin:0 6vw;border-bottom:1px solid #c9beac}.wedding-details summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;list-style:none;padding:1.5rem 0;font-size:1rem}.wedding-details summary::-webkit-details-marker{display:none}.wedding-details summary>span{font-size:1.4rem}.wedding-details[open] summary>span{transform:rotate(45deg)}.wedding-details>div{max-width:800px;padding-bottom:1rem}.wedding-details p{color:#625c51;font-size:1rem}.wedding-close{padding:3rem 6vw 4rem;text-align:center}.wedding-close p{font-family:Italiana,Georgia,serif;font-size:clamp(2rem,3.5vw,3rem);line-height:1.25;margin:0 0 1.8rem}.wedding-close em{font-style:normal;color:#7c6847}.wedding-close>span{display:block;font-size:.9rem;color:#766343;margin-top:1rem}
@media(max-width:900px){.wedding-hero{grid-template-columns:1fr 1fr}.wedding-intro,.wedding-offer{padding-left:5vw;padding-right:3vw}.wedding h2{font-size:2.9rem}.wedding-choices>div{grid-template-columns:repeat(2,1fr)}.wedding-process-grid{gap:1.5rem}.wedding h4{font-size:1.8rem}}
@media(max-width:600px){.wedding{scroll-margin-top:80px}.wedding-hero{display:flex;flex-direction:column}.wedding-intro{padding:2rem 6vw 1.3rem}.wedding-kicker{font-size:.75rem;letter-spacing:.12em;margin-bottom:.8rem}.wedding-name{font-size:.8rem;letter-spacing:.16em;margin-bottom:1rem}.wedding h2{font-size:2.65rem;margin-bottom:1rem}.wedding-lead{font-size:1rem}.wedding-main-visual{width:100%}.wedding-main-visual img{aspect-ratio:16/9;height:auto}.wedding-main-visual figcaption{font-size:.75rem;padding:.7rem 6vw}.wedding-offer{padding:1rem 6vw 2rem}.wedding-price strong{font-size:2.3rem}.wedding-button{width:100%;font-size:.86rem}.wedding-transform,.wedding-moments{padding:2.5rem 6vw}.wedding h3{font-size:2.4rem}.wedding-gallery{grid-auto-columns:92%;gap:1rem}.wedding-gallery-card figcaption{padding:1rem}.wedding-gallery-card figcaption b{font-size:1.5rem}.wedding-image-scroll img{width:100%;height:auto;aspect-ratio:16/9}.wedding-hint{font-size:.8rem}.wedding-choice>span{min-height:95px;padding:.85rem}.wedding-selected{gap:.6rem}.wedding-selected span{font-size:.82rem}.wedding-process{padding:2.5rem 6vw}.wedding-process-grid{grid-template-columns:1fr;gap:1.8rem}.wedding h4{font-size:2rem;margin:.8rem 0}.wedding-process-grid p{margin:0}.wedding-details summary{font-size:.95rem}.wedding-close{padding:2.5rem 6vw}.wedding-close p{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.wedding *{transition:none!important;scroll-behavior:auto!important}}

.wedding .wedding-image-scroll{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.wedding .wedding-lightbox{width:min(1200px,96vw);max-width:96vw;max-height:92dvh;padding:3.5rem 1rem 1rem;border:1px solid #b29a69;background:#191813;color:#f2f0eb}.wedding .wedding-lightbox::backdrop{background:#000c}.wedding .wedding-lightbox>button{position:absolute;right:1rem;top:1rem;background:none;border:0;color:#f2f0eb;font-size:1rem;cursor:pointer;padding:.3rem}.wedding .wedding-lightbox img{width:100%;height:auto;max-height:78dvh;object-fit:contain}

/* Wedding Collection limited promotion, isolated from other sections. */
.wedding .wedding-promo{margin:.9rem 0 1.2rem;padding:1rem 0;border-top:1px solid #65543a;border-bottom:1px solid #65543a}
.wedding .wedding-promo-title{font-size:.8rem;color:#dfcfaa;margin:0 0 .35rem}
.wedding .wedding-msi{font-size:1rem;margin:0 0 .7rem;color:#f2f0eb}
.wedding .wedding-countdown{display:flex;align-items:flex-start;gap:.6rem;font-variant-numeric:tabular-nums}
.wedding .wedding-countdown[hidden]{display:none}
.wedding .wedding-countdown span{display:flex;flex-direction:column;align-items:center;min-width:48px}
.wedding .wedding-countdown b{font-size:1.85rem;line-height:1.2;font-weight:500;color:#e8ce96}
.wedding .wedding-countdown small{font-size:.68rem;color:#c7bda9}
.wedding .wedding-countdown i{font-style:normal;font-size:1.5rem;line-height:1.4;color:#c7bda9}
.wedding .wedding-promo-note{font-size:.72rem;line-height:1.5;color:#c7bda9;margin:.75rem 0 0;max-width:360px}
.wedding .wedding-price del[hidden]{display:none}
@media(max-width:600px){.wedding .wedding-promo{padding:.9rem 0}.wedding .wedding-promo-note{max-width:none}}
