/* Local design directions: consistent contrast, inputs and content across each theme. */
.wedding-theme {--theme-paper:#fff8f7;--theme-soft:#f8e9e7;--theme-line:#e7cdca;--theme-deep:#56373f;--theme-radius:22px;background:var(--theme-paper);color:var(--venue-ink);}
.theme-romantic {--venue-accent:#8b435a;--venue-ink:#493039;--venue-muted:#72575e;--theme-paper:#fff8f7;--theme-soft:#f8e9e7;--theme-line:#e7cdca;--theme-deep:#493039;}
.theme-garden {--venue-accent:#3f654f;--venue-ink:#263e31;--venue-muted:#54665b;--theme-paper:#f7f8f1;--theme-soft:#e8eddf;--theme-line:#cbd7c5;--theme-deep:#263e31;--theme-radius:10px;}
.theme-champagne {--venue-accent:#79532b;--venue-ink:#33271f;--venue-muted:#6b5c50;--theme-paper:#fbf6ed;--theme-soft:#f0e4cf;--theme-line:#dbc6a4;--theme-deep:#30251d;--theme-radius:2px;}
.wedding-theme .venue-hero {position:relative;isolation:isolate;padding-top:44px;}
.wedding-theme .venue-copy h1 {font-family:Georgia,serif;font-weight:400;}
.wedding-theme .venue-copy h1 em {font-style:italic;}
.wedding-theme .venue-eyebrow {color:var(--venue-accent);letter-spacing:.14em;}
.wedding-theme .venue-cta {border-radius:var(--theme-radius);box-shadow:0 6px 18px color-mix(in srgb,var(--venue-accent) 15%,transparent);}
.wedding-theme .venue-cta:hover,.wedding-theme.quiz-shell .btn:hover {background:var(--theme-deep);}
.wedding-theme .venue-photo {padding:10px;background:var(--theme-soft);border:1px solid var(--theme-line);border-radius:24px;}
.wedding-theme .venue-photo img,.wedding-theme .venue-image-link {border-radius:16px;}
.wedding-theme .venue-process {background:var(--theme-soft);border-color:var(--theme-line);}
.wedding-theme .venue-next {border-color:var(--theme-line);}
.wedding-theme .venue-next h3 {color:var(--venue-ink);}
.wedding-theme .venue-reviews {background:var(--theme-paper);}
.wedding-theme .review-grid figure {border-color:var(--theme-line);border-radius:var(--theme-radius);background:#fffdfb;}
.wedding-theme .review-grid blockquote {font-style:italic;}
.wedding-theme .venue-footer {background:var(--theme-deep);}
.wedding-theme .venue-sticky:not([hidden]) {background:var(--theme-paper);}
.theme-romantic .venue-hero:before {content:'❦';position:absolute;z-index:-1;right:22px;top:-28px;font:180px Georgia,serif;color:#e6bac330;transform:rotate(-15deg);}
.theme-romantic .venue-photo {border-radius:100px 100px 24px 24px;}
.theme-romantic .venue-photo img,.theme-romantic .venue-image-link {border-radius:90px 90px 16px 16px;}
.theme-romantic .process-number {border:1px solid var(--theme-line);border-radius:50%;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-basis:34px;padding:0;}
.theme-romantic .venue-process h2:after {content:' ✧';color:var(--venue-accent);}
.theme-garden .venue-hero:before {content:'❧';position:absolute;z-index:-1;right:10px;top:-20px;font:190px Georgia,serif;color:#64816325;transform:rotate(-25deg);}
.theme-garden .venue-photo {border-radius:90px 12px 90px 12px;}
.theme-garden .venue-image-link,.theme-garden .venue-photo img {border-radius:80px 6px 80px 6px;}
.theme-garden .venue-process h2:after {content:' ❧';color:var(--venue-accent);}
.theme-champagne .venue-eyebrow {border-top:1px solid var(--theme-line);padding-top:14px;width:fit-content;}
.theme-champagne .venue-photo {border-radius:2px;padding:8px;outline:1px solid var(--theme-line);outline-offset:4px;}
.theme-champagne .venue-photo img,.theme-champagne .venue-image-link {border-radius:0;}
.theme-champagne .venue-process {background:var(--theme-deep);--venue-ink:#fff5df;--venue-muted:#e2cfb4;--venue-accent:#f0d5a5;--theme-line:#63503d;}
.theme-champagne .venue-process .venue-cta {background:#eed5a8;color:#30251d;}
.theme-champagne .venue-process .venue-cta:hover {background:#fff1d9;}
.theme-champagne .process-number {color:#e8ca95;}
.wedding-theme.quiz-shell {background:var(--theme-paper);}
.wedding-theme.quiz-shell .quiz-card {border:1px solid var(--theme-line);border-radius:24px;box-shadow:0 18px 60px color-mix(in srgb,var(--venue-accent) 9%,transparent);}
.wedding-theme.quiz-shell .q-step h2,.wedding-theme .brief-transition h2 {font-family:Georgia,serif;font-weight:500;color:var(--venue-ink);}
.wedding-theme.quiz-shell .btn {border-radius:var(--theme-radius);}
.wedding-theme.quiz-shell .btn.ghost {background:transparent;}
.wedding-theme.quiz-shell .q-options label {border-color:var(--theme-line);border-radius:var(--theme-radius);background:var(--theme-paper);}
.wedding-theme.quiz-shell .q-options label:has(input:checked) {background:var(--theme-soft);border-color:var(--venue-accent);}
.wedding-theme.quiz-shell .q-field input,.wedding-theme.quiz-shell .q-field textarea {border-color:var(--theme-line);}
.wedding-theme.quiz-shell .match-banner,.wedding-theme .brief-summary div,.wedding-theme .quiz-progress-header.is-preparing {background:var(--theme-soft);border-color:var(--theme-line);}
.wedding-theme .quiz-progress-header.is-preparing .progress {background:var(--theme-line);}
@media(max-width:760px) {
 .wedding-theme .venue-hero {padding-top:28px;}
 .wedding-theme .venue-eyebrow {letter-spacing:.08em;}
 .wedding-theme .venue-copy h1 {font-size:34px;}
 .wedding-theme .venue-photo {padding:7px;}
 .theme-champagne .venue-photo {margin:4px;}
}
/* Contain decorative flourishes without creating a sideways mobile scroll. */
.wedding-theme .venue-hero {overflow:clip;}
