:host{display:block;color:#1e1b18;background:#faf8f4;font:14px Arial,Helvetica,sans-serif;--gold:#9a7a3f;--line:#ddd5c7}*{box-sizing:border-box}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.catalog{max-width:1440px;padding:40px 48px 72px;margin:auto}.intro{text-align:center;padding:18px 0 30px}.eyebrow{letter-spacing:.18em;font-size:11px;color:var(--gold)}h1{font:400 44px/1.16 Georgia,serif;margin:12px 0 18px}h2{font-size:15px;line-height:1.5;font-weight:400;margin:16px 0 6px}.intro p,.muted{color:#72685c;line-height:1.7}.preview-note{font-size:12px;background:#f0e9dd;padding:12px 16px;line-height:1.6}.preview-note a{float:right;text-decoration:underline}.controls{display:flex;align-items:end;gap:24px;margin:28px 0}.controls label{max-width:280px;flex:1}.controls #count{margin-left:auto;padding-bottom:12px;color:#72685c}label{display:block;font-size:13px}select,input[type=search]{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid var(--line);background:transparent;color:inherit;min-height:44px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}.card-image{position:relative;display:flex;aspect-ratio:4/5;background:#f7f3ea;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:contain}.badge{display:inline-block;padding:5px 9px;font-size:11px;line-height:1.4;background:#ebe9e2;color:#51483c;border:1px solid #d5cbbc}.badge.draft{background:#f3e6ca;color:#775820}.card-image .badge{position:absolute;left:10px;top:10px}.grid article>p{font-size:13px;color:#72685c}.back{margin:0 0 30px;font-size:13px}.detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px}.main-photo{display:block;width:100%;aspect-ratio:3/4;border:0;padding:0;background:#f7f3ea;cursor:zoom-in}.main-photo img,.main-photo video{width:100%;height:100%;object-fit:contain}.main-photo:disabled{opacity:1}.thumbnails{display:flex;overflow-x:auto;gap:10px;padding:12px 2px}.thumbnails button{flex:0 0 72px;height:88px;padding:0;border:1px solid var(--line);background:#f7f3ea;cursor:pointer}.thumbnails img{width:100%;height:100%;object-fit:contain}.thumbnails [aria-pressed=true]{border:2px solid var(--gold)}.product-info h1{font-size:40px;margin-top:4px}.price{font-size:24px;margin:22px 0 12px}.options{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.options>label{margin-bottom:22px}.actions{display:grid;gap:10px;margin:24px 0}.primary,.secondary{display:block;padding:16px;text-align:center;border:1px solid var(--gold)}.primary{background:#1e1b18;color:#fff}.primary:disabled{background:#e9e3d9;color:#70685e;border-color:var(--line)}.secondary{background:transparent}.draft-note{font-size:13px;color:#775820;margin:0 0 8px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 0;font-size:14px}.description{line-height:1.8;overflow-wrap:anywhere;padding-bottom:22px;overflow-x:auto}.description table{max-width:100%;border-collapse:collapse}.description td,.description th{padding:8px;border:1px solid var(--line)}fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}legend{font-size:13px;margin-bottom:10px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices label{position:relative}.choices input{position:absolute;opacity:0}.choices label span,.choices button{display:block;border:1px solid var(--line);padding:12px 15px;background:transparent;cursor:pointer}.choices input:checked+span,.choices button[aria-pressed=true]{border-color:var(--gold);background:#efe7d7;box-shadow:inset 0 0 0 1px var(--gold)}.choices input:focus-visible+span{outline:2px solid var(--gold)}.choices button:disabled{opacity:.3}dialog{border:0;padding:35px;max-width:95vw;max-height:95vh;background:#faf8f4}dialog::backdrop{background:#0009}dialog img{display:block;max-width:85vw;max-height:80vh;object-fit:contain}.close{position:absolute;right:6px;top:2px;border:0;background:transparent;font-size:28px;cursor:pointer}@media(max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{gap:35px}.product-info h1{font-size:32px}}@media(max-width:760px){.catalog{padding:24px 18px 44px}.intro{padding:8px 0 18px}h1{font-size:32px}.controls{gap:12px;flex-wrap:wrap}.controls #count{width:100%;padding:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.detail{display:flex;flex-direction:column;gap:25px}.product-info h1{font-size:30px}.badge{font-size:10px}.card-image .badge{left:5px;top:5px}.preview-note a{float:none;margin-left:12px}.main-photo{aspect-ratio:4/5}}

.wedding-collection{max-width:1440px;padding:0 56px 72px}
.wedding-intro{text-align:center;padding:64px 20px 54px;max-width:760px;margin:auto}
.wedding-eyebrow{margin:0 0 18px;font-size:10px;line-height:1.6;letter-spacing:.22em;color:#9a7a3f}
.wedding-intro h1{font:400 clamp(38px,4.5vw,58px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:0;color:#1e1b18}
.wedding-intro h1::after{content:"";display:block;width:42px;height:1px;background:#9a7a3f;margin:24px auto 20px}
.wedding-intro-copy{font-size:14px;line-height:1.8;color:#70675d;margin:0}
.wedding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.wedding-card{min-width:0}
.wedding-image{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;overflow:hidden;background:#f7f3ea}
.wedding-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .45s ease}
.wedding-card-info{padding:19px 4px 0;text-align:center}
.wedding-card h2{font:400 18px/1.4 Georgia,"Times New Roman",serif;margin:0 auto 9px;max-width:310px;color:#1e1b18}
.wedding-card h2 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.wedding-price{font:400 13px/1.6 Arial,Helvetica,sans-serif;color:#70675d;margin:0;letter-spacing:.02em}
.wedding-draft{font:400 10px/1.5 Arial,Helvetica,sans-serif;color:#8a795d;letter-spacing:.08em;margin:0 0 8px}
.wedding-image-pending{font-size:12px;color:#70675d}
.wedding-empty{grid-column:1/-1;text-align:center;padding:40px 0;line-height:1.8;color:#70675d}
.wedding-guidance{border-top:1px solid #ded6c9;margin-top:64px;padding:34px 0 0;text-align:center}
.wedding-guidance p{font:400 23px/1.4 Georgia,"Times New Roman",serif;margin:0 0 15px}
.wedding-guidance a{display:inline-block;font-size:12px;line-height:1.8;color:#6f522b;border-bottom:1px solid #9a7a3f;padding-bottom:3px;min-height:32px}
@media(hover:hover){.wedding-image:hover img{transform:scale(1.035)}}
@media(max-width:1000px){.wedding-collection{padding:0 30px 60px}.wedding-grid{gap:36px 20px}.wedding-card h2{font-size:17px}.wedding-intro{padding:46px 16px 40px}}
@media(max-width:600px){.wedding-collection{padding:0 18px 44px}.wedding-intro{padding:36px 4px 32px}.wedding-eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:14px}.wedding-intro h1{font-size:38px}.wedding-intro h1::after{margin:20px auto 16px}.wedding-intro-copy{font-size:12px}.wedding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.wedding-card-info{padding:14px 0 0}.wedding-card h2{font-size:15px;line-height:1.45}.wedding-price{font-size:12px}.wedding-guidance{margin-top:40px;padding-top:28px}.wedding-guidance p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.wedding-image img{transition:none}.wedding-image:hover img{transform:none}}

