/* Wedding Pages 3–8 only; Page 1, Page 2 and other journeys retain their own systems. */
.step[data-step="feeling"] .vision-wedding-copy { display:none; }
body.context-wedding .step[data-step="feeling"] .vision-default-copy { display:none; }
body.context-wedding .step[data-step="feeling"] .vision-wedding-copy { display:inline; }
.step[data-step="recommendation"] .presentation-wedding-copy { display:none; }
body.context-wedding .step[data-step="recommendation"] .presentation-default-copy { display:none; }
body.context-wedding .step[data-step="recommendation"] span.presentation-wedding-copy { display:inline; }
body.context-wedding .step[data-step="recommendation"] a.presentation-wedding-copy { display:inline-block; }
body.context-wedding .step[data-step="recommendation"] details.presentation-wedding-copy { display:block; }
body.context-wedding .step[data-step="recommendation"] button.presentation-wedding-copy { display:inline-flex; }
body.context-wedding .step[data-step="recommendation"] .presentation-recommendation-only { display:none; }
.presentation-ceremony-copy,
.wedding-ceremony-quote-inclusion,
body.context-wedding:not(.wedding-ceremony-only) .step[data-step="recommendation"] .presentation-ceremony-copy { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] .presentation-reception-copy,
body.context-wedding.wedding-ceremony-only .step[data-step="quote"] .wedding-reception-quote-inclusion { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] .presentation-ceremony-copy { display:inline; }
body.context-wedding.wedding-ceremony-only .step[data-step="quote"] .wedding-ceremony-quote-inclusion { display:list-item; }
.wedding-ceremony-presentation,
.wedding-inclusions-step { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] .presentation-options,
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] > .reassurance,
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] > .optional-media,
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] > #presentation-gallery,
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] > #hear-vibe { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="recommendation"] .wedding-ceremony-presentation { display:block; padding:1.2rem 1.25rem; border:1px solid transparent; border-radius:18px; background:linear-gradient(#f8f2e9,#f8f2e9) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step[data-step="lighting"] .standard-lighting-step { display:none; }
body.context-wedding .step[data-step="lighting"] .wedding-inclusions-step { display:block; }
body.context-wedding .step[data-step="lighting"] .wedding-inclusion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin-top:1.2rem; }
body.context-wedding .step[data-step="lighting"] .wedding-inclusion-grid article { display:flex; flex-direction:column; gap:.35rem; padding:1rem 1.05rem; border:1px solid transparent; border-radius:14px; background:linear-gradient(#f8f2e9,#f8f2e9) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step[data-step="lighting"] .wedding-inclusion-grid strong { color:#513f49; font-size:1rem; }
body.context-wedding .step[data-step="lighting"] .wedding-inclusion-grid span { color:#6b5b62; font-size:.84rem; line-height:1.5; }
body.context-wedding .step[data-step="lighting"] .wedding-ceremony-inclusions { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="lighting"] .wedding-reception-inclusions { display:none; }
body.context-wedding.wedding-ceremony-only .step[data-step="lighting"] .wedding-ceremony-inclusions { display:grid; }
body.context-wedding.wedding-ceremony-only .step[data-step="lighting"] p.wedding-ceremony-inclusions { display:block; }

@media (max-width:680px) {
  body.context-wedding .step[data-step="lighting"] .wedding-inclusion-grid { grid-template-columns:1fr; }
}

body.context-wedding:has(.step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]).is-active) { background:radial-gradient(ellipse at 0 0,rgba(113,68,94,.09),transparent 60%),linear-gradient(135deg,#f3ebe0,#eeece1 65%,#e4e8dc); }

body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) { --wedding-edge:linear-gradient(125deg,#71445e,#b89b63 48%,#7f9a78); --white:#513f49; --muted:#6b5b62; --green:#71445e; --green-soft:#586044; --border:rgba(113,68,94,.24); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:linear-gradient(135deg,#f9f3ea,#f1efe5); border-color:transparent; box-shadow:0 18px 50px rgba(72,57,62,.11); }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"])::before { inset:0; height:auto; padding:1px; border-radius:inherit; background:var(--wedding-edge); opacity:.8; pointer-events:none; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) h1 { max-width:25ch; font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif; font-size:clamp(1.85rem,4vw,2.65rem); font-weight:800; line-height:1.08; letter-spacing:-.035em; color:#513f49; border:0; outline:none; box-shadow:none; }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) h1::before,
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) h1::after { content:none; }
body.context-wedding .step[data-step="recommendation"] h1 { max-width:19ch; font-size:clamp(2.25rem,5vw,3.5rem); line-height:1.05; }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) .eyebrow { font-family:inherit; font-weight:750; letter-spacing:.19em; color:#71445e; }
body.context-wedding .step[data-step="feeling"] .wedding-vision-accent { color:transparent; background:linear-gradient(100deg,#71445e,#70684f 52%,#52694e); background-clip:text; -webkit-background-clip:text; }
body.context-wedding .step[data-step="recommendation"] .wedding-presentation-accent { display:inline-block; color:transparent; background:linear-gradient(100deg,#71445e,#70684f 52%,#52694e); background-clip:text; -webkit-background-clip:text; }

body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"]) .choice-card { border:1px solid transparent; background:linear-gradient(#f8f2e9,#f8f2e9) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"]) .choice-card:hover { background:linear-gradient(#f0ebdf,#f0ebdf) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"]) .choice-card:has(input:checked) { background:linear-gradient(#e8e9db,#e8e9db) padding-box,var(--wedding-edge) border-box; box-shadow:inset 0 0 0 1px #71445e,0 4px 12px rgba(72,57,62,.1); }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"]) .choice-card:has(input:focus-visible) { outline:2px solid #52694e; outline-offset:3px; }
body.context-wedding .step[data-step="feeling"] .visual-swatch { background:linear-gradient(155deg,#7f9a78,#d3c098,#947284); }
body.context-wedding .step:is([data-step="feeling"],[data-step="lighting"]) .choice-icon { background:rgba(127,154,120,.14); color:#71445e; }
body.context-wedding .step:is([data-step="recommendation"],[data-step="lighting"]) .lighting-action-link { align-self:flex-start; color:#59454f; font-size:.85rem; font-weight:750; text-underline-offset:.2em; }
body.context-wedding .step:is([data-step="recommendation"],[data-step="lighting"]) .lighting-action-link:hover { color:#71445e; }
body.context-wedding .step:is([data-step="recommendation"],[data-step="lighting"]) .lighting-action-link:focus-visible { outline:2px solid #52694e; outline-offset:3px; border-radius:2px; }

body.context-wedding .step:is([data-step="recommendation"],[data-step="quote"]) :is(.recommendation-card,.quote-card),
body.context-wedding .step[data-step="quote"] .event-summary { border:1px solid transparent; background:linear-gradient(#f4efe6,#f4efe6) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step[data-step="recommendation"] .recommendation-card h2 { color:#513f49; font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif; }
body.context-wedding .step[data-step="recommendation"] .ready-mark { color:#fffaf3; background:linear-gradient(105deg,#71445e,#59634b); box-shadow:0 6px 18px rgba(113,68,94,.13); }
body.context-wedding .step:is([data-step="recommendation"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) :is(.optional-media,.notice,.consent) { border-color:rgba(113,68,94,.24); background:rgba(127,154,120,.06); }
body.context-wedding .step[data-step="recommendation"] :is(.media-toggle,.media-panel) { color:#513f49; border-color:rgba(113,68,94,.24); background:rgba(127,154,120,.06); }
body.context-wedding .step[data-step="recommendation"] .media-toggle span { color:#71445e; }
body.context-wedding .step[data-step="recommendation"] [data-presentation-media] { padding:1px; background:var(--wedding-edge); box-shadow:0 9px 22px rgba(72,57,62,.1); }
body.context-wedding .step[data-step="recommendation"] [data-presentation-media] small { color:#59454f; background:#f8f2e9; border-radius:0 0 11px 11px; }

body.context-wedding .step:is([data-step="extras"],[data-step="contact"]) .field label { color:#59454f; font-weight:650; }
body.context-wedding .step:is([data-step="extras"],[data-step="contact"]) .field :is(input,select) { color:#4e4248; background-color:#f9f5ee; border:1px solid #b8ada9; }
body.context-wedding .step:is([data-step="extras"],[data-step="contact"]) .field :is(input,select):focus { outline:2px solid #7f9a78; outline-offset:2px; border-color:#71445e; box-shadow:0 0 0 4px rgba(113,68,94,.08); }
body.context-wedding .step[data-step="contact"] .consent { color:#513f49; }

body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) .primary-button { background:linear-gradient(105deg,#71445e,#59634b); color:#fffaf3; box-shadow:0 6px 18px rgba(113,68,94,.13); }
body.context-wedding .step:is([data-step="feeling"],[data-step="recommendation"],[data-step="lighting"],[data-step="extras"],[data-step="contact"],[data-step="quote"]) .secondary-button { color:#59454f; border-color:#b8ada9; background:#f6f0e8; }
