/* Isolated Wedding Experience presentation; existing package styles stay intact. */
.wedding-experience {max-width:1280px;margin:72px auto;padding:40px;border:1px solid rgba(0,240,255,.3);border-radius:24px;background:radial-gradient(ellipse at top right,rgba(0,240,255,.07),transparent 60%),#0a0a18;scroll-margin-top:100px;color:#e8e8f0}
.wedding-heading {margin-bottom:30px}.wedding-eyebrow{color:#00f0ff;text-transform:uppercase;letter-spacing:3px;font-size:.72rem;font-weight:700;margin-bottom:14px}
.wedding-heading h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;margin:0 0 16px}.wedding-heading h2 strong{color:#00f0ff}.wedding-heading>p:last-child{color:#bcbccc;line-height:1.6}
.wedding-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}.wedding-layout>*{min-width:0}
.wedding-preview{position:sticky;top:105px}.wedding-preview figure{margin:0}.wedding-image-stack{position:relative;border-radius:14px;overflow:hidden;background:#f5f5f5;isolation:isolate}
.wedding-image-stack img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.wedding-photo-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.wedding-photo-picker button{appearance:none;display:block;width:100%;min-width:0;border:1px solid #343447;background:#05050f;border-radius:9px;padding:3px;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}.wedding-photo-picker button:hover{transform:translateY(-1px);border-color:#747484}.wedding-photo-picker button:focus-visible{outline:3px solid #ff2d78;outline-offset:3px}.wedding-photo-picker button.is-active{border-color:#00f0ff;box-shadow:0 0 0 1px #00f0ff,0 0 16px #00f0ff24}.wedding-photo-picker img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.wedding-preview figcaption{font-size:.7rem;color:#aaaaba;line-height:1.65;margin-top:12px}
.wedding-finish{border:0;padding:0;margin:25px 0 15px;min-width:0}.wedding-finish legend{font-size:.9rem;font-weight:700;line-height:1.6;margin-bottom:12px}.wedding-finish legend span{display:block;font-size:.7rem;font-weight:400;color:#aaaaba}
.wedding-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#05050f;border:1px solid #424252;border-radius:14px;padding:5px;isolation:isolate}
.wedding-switch::before{content:"";position:absolute;z-index:-1;inset:5px auto 5px 5px;width:calc(50% - 5px);background:#f3f3fa;border-radius:9px;box-shadow:0 3px 12px #0005;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s}
.wedding-preview[data-finish="black"] .wedding-switch::before{transform:translateX(100%);background:#252539;box-shadow:inset 0 0 0 1px #00f0ff,0 0 18px #00f0ff20}
.wedding-finish label{position:relative;cursor:pointer;padding:15px 8px;text-align:center;font-weight:700;font-size:.85rem;border-radius:9px;transition:transform .15s;color:#aaaaba;user-select:none}
.wedding-finish label:active{transform:scale(.96)}.wedding-finish input{position:absolute;width:1px;height:1px;opacity:0}.wedding-finish label:has(input:focus-visible){outline:3px solid #ff2d78;outline-offset:3px}
.wedding-finish label:has(input:checked){color:#0a0a18}.wedding-preview[data-finish="black"] label:has(input:checked){color:#fff}
.wedding-finish label span::before{content:"";display:inline-block;width:12px;height:12px;background:#fff;border:1px solid #aaa;border-radius:50%;margin-right:9px;vertical-align:-1px}.wedding-finish label:last-child span::before{background:#111;border-color:#747484}
.wedding-finish label:has(input:checked) span::after{content:" ✓";margin-left:4px}.wedding-finish-note{font-size:.78rem;line-height:1.7;color:#bcbccc;min-height:5em}
.wedding-price{font-size:2.8rem;font-weight:800;line-height:1.15;margin:0 0 22px}.wedding-price span{display:block;font-size:.8rem;color:#aaaaba;font-weight:400;margin-top:8px}
.wedding-timeline{display:flex;gap:18px;align-items:center;background:#111124;border:1px solid #323249;padding:18px;border-radius:12px}.wedding-timeline div{flex:1}.wedding-timeline strong,.wedding-timeline span{display:block}.wedding-timeline strong{font-size:1.25rem;color:#00f0ff}.wedding-timeline div span{font-size:.8rem;color:#c6c6d3;margin-top:6px}.wedding-timeline>span{color:#ff2d78}
.wedding-intro{font-size:.87rem;line-height:1.8;color:#bcbccc;margin:22px 0}.wedding-details h3{font-size:1rem;margin:24px 0 16px}.wedding-includes{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0 0 25px}.wedding-includes li{position:relative;padding-left:16px;font-size:.78rem;line-height:1.6;color:#c8c8d6}.wedding-includes li::before{content:"✓";color:#00f0ff;position:absolute;left:0}.wedding-includes strong{color:#fff}
.wedding-policy{font-size:.72rem;line-height:1.75;color:#aaaaba;margin-top:18px}.wedding-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #333345;padding-top:28px;margin-top:32px}.wedding-specs dt{color:#00f0ff;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.wedding-specs dd{margin:0;font-size:.82rem;line-height:1.7}.wedding-links{font-size:.78rem;line-height:1.8;margin-top:26px;color:#aaaaba}.wedding-links a{color:#00f0ff;text-decoration:underline;text-underline-offset:3px}.wedding-links a:focus-visible,#choose-wedding:focus-visible{outline:3px solid #ff2d78;outline-offset:4px}#wedding-selection-status{font-size:.8rem;line-height:1.6;color:#ff8cb5}
@media(max-width:900px){.wedding-experience{margin:48px 18px;padding:28px}.wedding-layout{grid-template-columns:1fr}.wedding-preview{position:static}.wedding-finish-note{min-height:0}.wedding-specs{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.wedding-experience{margin:40px 12px;padding:20px 16px;border-radius:18px}.wedding-includes,.wedding-specs{grid-template-columns:1fr}.wedding-timeline{gap:12px;padding:14px}.wedding-finish label{font-size:.8rem;padding:14px 5px}}
@media(prefers-reduced-motion:reduce){.wedding-image-stack img,.wedding-photo-picker button,.wedding-switch::before,.wedding-finish label{transition:none}}
