/* Wedding Indicative Quote (data-step="quote") and Enquiry Complete
   (data-step="confirmation") pages only. Other journeys and other steps
   keep their existing appearance untouched. */

/* --- Neutral copy toggling (matches the extras-default-copy / extras-wedding-copy
   and presentation-default-copy / presentation-wedding-copy pattern already used
   elsewhere) so non-wedding journeys see the original confirmation copy. --- */
.step[data-step="confirmation"] .confirmation-wedding-copy { display: none; }
body.context-wedding .step[data-step="confirmation"] .confirmation-default-copy { display: none; }
body.context-wedding .step[data-step="confirmation"] .confirmation-wedding-copy { display: inline; }

/* --- Quote heading accent: reuses the exact plum-to-olive gradient already
   used for the wedding vision / presentation / extras headings. A solid
   fallback colour is set first so the text stays readable if background-clip
   text isn't supported. --- */
body.context-wedding .step[data-step="quote"] .wedding-quote-accent { display: inline-block; color: #513f49; color: transparent; background: linear-gradient(100deg,#71445e,#70684f 52%,#52694e); background-clip: text; -webkit-background-clip: text; }
body.context-wedding .step[data-step="quote"] #quote-package { font-family:"Avenir Next",Avenir,Inter,system-ui,sans-serif; font-weight:800; letter-spacing:-.02em; }
.wedding-service-includes { display:none; }
body.context-wedding .step[data-step="quote"] .wedding-service-includes { display:block; margin-top:1.25rem; padding:1.1rem 1.2rem; border:1px solid transparent; border-radius:18px; background:linear-gradient(#f8f2e9,#f8f2e9) padding-box,linear-gradient(125deg,#71445e,#b89b63 48%,#7f9a78) border-box; }
body.context-wedding .step[data-step="quote"] .wedding-service-includes h2 { margin-bottom:.75rem; color:#513f49; font-family:"Avenir Next",Avenir,Inter,system-ui,sans-serif; font-size:1.25rem; font-weight:800; }
body.context-wedding .step[data-step="quote"] .wedding-service-includes ul { display:grid; gap:.5rem; margin:0; padding-left:1.15rem; color:#6b5b62; font-size:.84rem; line-height:1.45; }

/* --- Confirmation page inherits the same ivory/plum/olive wedding surface
   already used on feeling / recommendation / lighting / extras / contact / quote. --- */
body.context-wedding:has(.step[data-step="confirmation"].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[data-step="confirmation"] { --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[data-step="confirmation"]::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[data-step="confirmation"] 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[data-step="confirmation"] .eyebrow { font-family: inherit; font-weight: 750; letter-spacing: .19em; color: #71445e; }

/* Branded secondary message: sized like a heading, with the gradient
   applied only to "on its way." so the rest stays plain, readable plum text. */
body.context-wedding .step[data-step="confirmation"] .confirmation-wedding-copy { display: block; max-width: 34ch; margin-inline: auto; font-family: 'Arial Narrow','Helvetica Neue',Arial,sans-serif; font-weight: 800; font-size: clamp(1.5rem,3.4vw,2.05rem); line-height: 1.18; letter-spacing: -.03em; color: #513f49; }
body.context-wedding .step[data-step="confirmation"] .wedding-confirmation-accent { display: inline-block; color: #513f49; color: transparent; background: linear-gradient(100deg,#71445e,#70684f 52%,#52694e); background-clip: text; -webkit-background-clip: text; }

/* Success ring reuses the same gradient treatment as the recommendation step's ready-mark. */
body.context-wedding .step[data-step="confirmation"] .success-ring { color: #fffaf3; background: linear-gradient(105deg,#71445e,#59634b); box-shadow: 0 6px 18px rgba(113,68,94,.13); }

/* Next-step summary card reuses the same edge-border card treatment as the quote/recommendation cards. */
body.context-wedding .step[data-step="confirmation"] .confirmation-summary { border: 1px solid transparent; background: linear-gradient(#f4efe6,#f4efe6) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step[data-step="confirmation"] .confirmation-summary span { color: #71445e; }
body.context-wedding .step[data-step="confirmation"] .confirmation-summary strong { color: #513f49; }
body.context-wedding .step[data-step="confirmation"] .prototype-note { color: #6b5b62; }

body.context-wedding .step[data-step="confirmation"] .secondary-button { color: #59454f; border-color: #b8ada9; background: #f6f0e8; }

/* Social panel: replace the dark translucent card (designed for the darker
   party/corporate backgrounds) with the ivory/plum card treatment already
   used for notices and cards elsewhere in the wedding journey, so it no
   longer looks disabled against the light wedding background. */
body.context-wedding .step[data-step="confirmation"] .social-follow { border: 1px solid transparent; background: linear-gradient(#f8f2e9,#f8f2e9) padding-box,var(--wedding-edge) border-box; }
body.context-wedding .step[data-step="confirmation"] .social-follow h2 { color: #513f49; font-family: 'Arial Narrow','Helvetica Neue',Arial,sans-serif; }
body.context-wedding .step[data-step="confirmation"] .social-follow > p:not(.eyebrow), body.context-wedding .step[data-step="confirmation"] .social-follow > small { color: #6b5b62; }
body.context-wedding .step[data-step="confirmation"] .social-link { border-color: rgba(113,68,94,.24); background: #fffaf3; color: #513f49; }
body.context-wedding .step[data-step="confirmation"] .social-link:hover { border-color: #71445e; background: rgba(127,154,120,.1); }
body.context-wedding .step[data-step="confirmation"] .social-link:focus-visible { outline: 2px solid #52694e; outline-offset: 2px; box-shadow: none; }
body.context-wedding .step[data-step="confirmation"] .social-link span { color: #71445e; }

/* Quote and completion keep the active journey's established theme. */
body.context-party .step[data-step="quote"] .wedding-quote-accent,
body.context-party .step[data-step="confirmation"] h1 { color:transparent; background:linear-gradient(100deg,#f153aa,#a968ff 52%,#39ff14); background-clip:text; -webkit-background-clip:text; }
body.context-party .step[data-step="quote"] .quote-card,
body.context-party .step[data-step="quote"] .event-summary,
body.context-party .step[data-step="confirmation"] .confirmation-summary,
body.context-party .step[data-step="confirmation"] .social-follow { border-color:rgba(57,255,20,.3); background:linear-gradient(145deg,rgba(241,83,170,.09),rgba(57,255,20,.06)); }
body.context-corporate .step[data-step="quote"] .wedding-quote-accent,
body.context-corporate .step[data-step="confirmation"] h1 { color:transparent; background:linear-gradient(100deg,#754096,#59616c 52%,#6f963f); background-clip:text; -webkit-background-clip:text; }
body.context-corporate .step[data-step="quote"] .quote-card,
body.context-corporate .step[data-step="quote"] .event-summary,
body.context-corporate .step[data-step="confirmation"] .confirmation-summary,
body.context-corporate .step[data-step="confirmation"] .social-follow { border-color:rgba(93,137,42,.28); background:rgba(255,255,255,.54); }
