/* Shared, accessible visual language for the venue finder. */
:root { --venue-accent:#76531e; --venue-ink:#30281f; --venue-muted:#655d54; }
.venue-header {max-width:1160px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--venue-muted);font-size:13px;}
.venue-header img {width:150px;height:60px;object-fit:contain;}
.venue-hero {max-width:1160px;margin:auto;padding:24px 24px 60px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:52px;}
.venue-eyebrow {font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--venue-accent);margin:0 0 16px;}
.venue-copy h1 {font-family:Georgia,serif;font-weight:500;font-size:clamp(36px,4.1vw,54px);line-height:1.12;color:var(--venue-ink);margin-bottom:20px;letter-spacing:-.025em;}
.venue-copy h1 em {color:var(--venue-accent);font-style:normal;}
.venue-intro {font-size:17px;line-height:1.65;color:var(--venue-muted);margin-bottom:24px;max-width:520px;}
.venue-cta {display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;background:var(--venue-accent);color:#fff;padding:15px 24px;border-radius:8px;font-size:16px;font-weight:700;text-align:center;line-height:1.4;}
.venue-cta:hover {background:#533a15;}
.venue-cta:focus-visible,.venue-footer a:focus-visible {outline:3px solid #30281f;outline-offset:4px;}
.venue-reassurance {font-size:12px;line-height:1.6;color:var(--venue-muted);margin:12px 0 0;max-width:430px;}
.venue-photo {margin:0;}
.venue-photo img {display:block;width:100%;height:auto;aspect-ratio:1.08;object-fit:cover;border-radius:100px 100px 12px 12px;}
.venue-photo figcaption {font-size:12px;color:var(--venue-muted);text-align:center;margin-top:10px;}
.venue-process {padding:52px 24px;text-align:center;background:#fff;border-top:1px solid #e6dfd5;}
.venue-process h2 {font-family:Georgia,serif;font-size:32px;line-height:1.2;color:var(--venue-ink);font-weight:500;}
.venue-process ol {max-width:1080px;margin:32px auto;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:left;}
.venue-process li {border-top:1px solid #ded3c0;padding-top:20px;}
.process-number {color:var(--venue-accent);font-size:13px;font-weight:700;}
.venue-process h3 {margin:10px 0;font-size:18px;color:var(--venue-ink);}
.venue-process li p {font-size:15px;color:var(--venue-muted);}
.venue-note {font-size:13px;color:var(--venue-muted);margin:12px 0 0;}
.venue-footer {background:#30281f;color:#e8ded0;text-align:center;padding:30px 24px;}
.venue-footer nav {display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:14px 0;font-size:13px;}
.venue-footer a {color:#f2e9dc;}
.venue-footer p {max-width:650px;margin:auto;font-size:12px;}
.venue-sticky {display:none;}
@media(max-width:760px) {
  .venue-header {padding:12px 20px;}
  .venue-header img {width:118px;height:46px;}
  .venue-header span {font-size:11px;max-width:100px;text-align:right;}
  .venue-hero {grid-template-columns:1fr;padding:16px 20px 32px;gap:28px;}
  .venue-eyebrow {font-size:10px;margin-bottom:12px;}
  .venue-copy h1 {font-size:34px;margin-bottom:14px;}
  .venue-intro {font-size:15px;line-height:1.55;margin-bottom:18px;}
  .venue-cta {width:100%;padding:15px 12px;gap:10px;}
  .venue-reassurance {font-size:12px;}
  .venue-photo img {aspect-ratio:16/10;border-radius:40px 40px 10px 10px;}
  .venue-process {padding:36px 20px;}
  .venue-process h2 {font-size:28px;}
  .venue-process ol {grid-template-columns:1fr;gap:12px;margin:24px 0;}
  .venue-footer {padding-bottom:110px;}
  .venue-sticky:not([hidden]) {display:block;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #30281f18;}
}
/* Scope the quiz refresh so scheduling pages retain their existing layout. */
.quiz-shell {background:#faf7f2;padding:24px 16px;}
.quiz-shell .quiz-card {margin:0 auto;max-width:640px;background:#fff;color:var(--venue-ink);padding:24px 28px;backdrop-filter:none;}
.quiz-shell .quiz-card img.deed {height:52px;width:130px;object-fit:contain;max-width:none;}
.quiz-shell .q-step p {color:var(--venue-muted)!important;}
.quiz-shell .q-step h2 {font-size:25px;line-height:1.25;margin:18px 0 12px;}
.quiz-shell .progress-bar {background:var(--venue-accent);}
.quiz-progress-label {color:var(--venue-muted);font-size:12px;text-align:center;margin-bottom:8px;}
.quiz-shell .btn {background:var(--venue-accent);color:#fff;border-radius:8px;letter-spacing:0;}
.quiz-shell .btn:hover {background:#533a15;}
.quiz-shell .btn.ghost {background:#fff;color:var(--venue-accent);border:1px solid var(--venue-accent);}
.quiz-shell .btn:focus-visible,.quiz-shell .q-options label:has(input:focus-visible) {outline:3px solid var(--venue-accent);outline-offset:3px;}
.quiz-shell .q-options input[type=radio],.quiz-shell .q-options input[type=checkbox] {display:block;position:absolute;width:1px;height:1px;opacity:0;}
.quiz-shell .q-options label {position:relative;min-height:48px;}
.quiz-shell .q-options label:has(input:checked) {border-color:var(--venue-accent);}
.quiz-shell .q-options input:checked + span {color:var(--venue-accent);}
.quiz-shell .q-options.multi label:has(input:checked)::after {background-color:var(--venue-accent);border-color:var(--venue-accent);}
.quiz-shell .match-banner h2 {display:block;font-size:23px;}
.quiz-shell .contact-note {font-size:12px;line-height:1.6;margin-top:16px;}
.quiz-shell .contact-note a {color:var(--venue-accent);text-decoration:underline!important;}
.quiz-shell .step-error {color:#a02828!important;font-size:14px;text-align:center;margin:12px 0;}
@media(max-width:640px) {
  .quiz-shell {padding:16px 12px;}
  .quiz-shell .quiz-card {padding:20px 18px;}
  .quiz-shell .q-step h2 {font-size:23px;}
  .quiz-shell .q-nav {gap:10px;}
  .quiz-shell .q-nav .btn {padding:13px 16px;font-size:15px;}
}
@media(prefers-reduced-motion:reduce) {.quiz-shell .q-step.active {animation:none;}.quiz-shell .progress-bar {transition:none;}}
/* Compact proof and process for the venue CTA-copy experiment. */
.venue-rating {display:block;width:fit-content;color:var(--venue-ink);font-size:13px;margin:0 0 14px;}
.venue-rating span {color:var(--venue-accent);font-size:18px;}
.venue-rating:hover,.review-source a:hover,.review-grid a:hover {text-decoration:underline!important;}
.venue-reviews {max-width:1160px;margin:auto;padding:44px 24px 52px;text-align:center;}
.venue-reviews h2 {font:500 32px/1.2 Georgia,serif;color:var(--venue-ink);}
.review-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left;margin:28px 0 20px;}
.review-grid figure {margin:0;padding:24px;background:white;border:1px solid #e6dfd5;border-radius:12px;}
.review-grid figcaption {font-size:12px;color:var(--venue-muted);}
.review-grid blockquote {font:500 21px/1.5 Georgia,serif;margin:12px 0;color:var(--venue-ink);}
.review-grid p {font-size:13px;font-weight:700;margin:0 0 10px;}
.review-grid a,.review-source a {font-size:12px;color:var(--venue-accent);text-decoration:underline!important;text-underline-offset:3px;}
.review-source {font-size:12px;color:var(--venue-muted);margin-bottom:24px;}
.venue-whatsapp {display:inline-flex;align-items:center;min-height:44px;color:#23533d;font-weight:700;text-decoration:underline!important;text-underline-offset:3px;}
.venue-rating:focus-visible,.review-grid a:focus-visible,.review-source a:focus-visible,.venue-whatsapp:focus-visible {outline:3px solid var(--venue-accent);outline-offset:4px;}
.quiz-shell .venue-first-options {grid-template-columns:1fr 1fr;}
.quiz-shell .venue-first-options label {display:flex;align-items:center;justify-content:center;text-align:center;min-height:68px;border:1px solid #ded3c0;}
.quiz-shell .venue-first-options label:last-child {grid-column:1 / -1;min-height:48px;}
@media(max-width:760px) {
  .venue-hero {gap:22px;padding-top:12px;}
  .venue-copy h1 {font-size:32px;}
  .venue-intro {margin-bottom:12px;}
  .venue-rating {margin-bottom:12px;}
  .venue-process {padding:28px 20px;}
  .venue-process ol {gap:16px;margin:22px 0 0;}
  .venue-process li {display:flex;gap:14px;border:0;padding:0;}
  .process-number {flex:0 0 32px;padding-top:1px;}
  .venue-process h3 {margin:0 0 3px;font-size:16px;}
  .venue-process li p {font-size:14px;margin:0;}
  .venue-reviews {padding:32px 20px;}
  .venue-reviews h2 {font-size:28px;}
  .review-grid {grid-template-columns:1fr;gap:12px;margin:22px 0 16px;}
  .review-grid figure {padding:18px;}
  .review-grid blockquote {font-size:20px;margin:8px 0;}
}

/* Approved mobile preview: action first, original image, proof after the second CTA. */
.venue-hero {padding-top:52px;}
.venue-eyebrow {letter-spacing:.06em;}
.venue-image-link {display:block;border-radius:12px;overflow:hidden;}
.venue-image-link:focus-visible {outline:3px solid var(--venue-accent);outline-offset:5px;}
.venue-photo img {aspect-ratio:1;object-fit:contain;border-radius:12px;}
.venue-next {max-width:560px;margin:30px auto 0;padding-top:24px;border-top:1px solid #e6dfd5;}
.venue-next h3 {font:500 25px/1.3 Georgia,serif;margin:0 0 10px;}
.venue-next p {font-size:15px;line-height:1.6;color:var(--venue-muted);margin:0 0 20px;}
.venue-reviews .venue-rating {margin:20px auto 8px;}
.review-attribution {font-size:12px;color:var(--venue-muted);}
.venue-footer-logo {width:150px;height:60px;object-fit:contain;margin:auto;}
.quiz-footer-logo {display:block;width:110px;height:44px;object-fit:contain;margin:24px auto 0;}
.brief-transition {text-align:center;padding:26px 0 8px;}
.brief-transition[hidden],#quizForm[hidden] {display:none!important;}
.brief-transition h2 {font:500 30px/1.2 Georgia,serif;margin:0 0 16px;color:var(--venue-ink);}
.brief-transition p {font-size:14px;line-height:1.6;color:var(--venue-muted);}
.brief-progress {height:7px;background:#eee5d6;border-radius:999px;overflow:hidden;margin:22px 0 10px;}
.brief-progress span {display:block;height:100%;width:0;background:var(--venue-accent);transition:width .3s ease;}
.brief-status {font-size:12px!important;min-height:20px;}
.brief-summary {margin:18px 0;text-align:left;display:grid;gap:8px;}
.brief-summary div {background:#faf7f2;border:1px solid #eee5d6;border-radius:8px;padding:12px 14px;}
.brief-summary dt {font-size:11px;color:var(--venue-muted);margin-bottom:4px;}
.brief-summary dd {font-size:14px;font-weight:600;margin:0;color:var(--venue-ink);}
#transitionSummary {min-height:210px;}
.brief-summary-compact {grid-template-columns:1fr 1fr;margin:16px 0;gap:6px;}
.brief-summary-compact div:first-child {grid-column:1/-1;}
.brief-summary-compact div {padding:9px 12px;}
.brief-back {display:block;margin:16px auto 0;background:none;border:0;font:inherit;font-size:13px;color:var(--venue-accent);text-decoration:underline;min-height:44px;cursor:pointer;}
@media(max-width:760px) {
  .venue-hero {padding-top:26px;gap:24px;}
  .venue-eyebrow {font-size:10px;line-height:1.5;margin-bottom:14px;}
  .venue-copy h1 {font-size:34px;}
  .venue-intro {margin-bottom:20px;}
  .venue-photo img {aspect-ratio:1;border-radius:12px;}
  .venue-next {margin-top:24px;padding-top:24px;}
  .venue-next h3 {font-size:23px;}
}
@media(prefers-reduced-motion:reduce) {.brief-progress span {transition:none;}}

.quiz-shell .match-banner {padding:14px;background:#faf7f2;}
.quiz-shell .match-banner h2 {margin:0 0 12px;font-size:23px;}
.brief-summary-compact {display:block;margin:0 0 12px;}
.brief-summary-compact div {display:flex;align-items:baseline;gap:8px;padding:5px 0;border:0;border-radius:0;background:none;}
.brief-summary-compact dt {flex:0 0 105px;margin:0;font-size:11px;}
.brief-summary-compact dd {font-size:13px;line-height:1.45;}

/* Keep brief progress visible above the reading transition. */
.quiz-progress-header {position:sticky;top:0;z-index:5;background:#fff;padding:8px 0 1px;}
.quiz-progress-header.is-preparing {padding:12px 14px;background:#faf7f2;border:1px solid #e7dcc2;border-radius:12px;}
.quiz-progress-header.is-preparing .quiz-progress-label {font-weight:700;font-size:14px;color:var(--venue-accent);margin:0 0 10px;}
.quiz-progress-header.is-preparing .progress {height:10px;margin:0;background:#e7dcc2;}
.quiz-progress-header.is-preparing .progress-bar {transition:width .7s linear;}
.brief-transition {padding-top:22px;}
@media(prefers-reduced-motion:reduce) {.quiz-progress-header.is-preparing .progress-bar {transition:none;}}
#transitionSummary {align-content:start;grid-auto-rows:minmax(62px,auto);}

/* Let the square brand artwork retain its proportions and read clearly. */
.venue-footer {padding-top:36px;}
.venue-footer-logo {display:block;width:180px;height:180px;object-fit:contain;margin:0 auto 22px;}
.venue-footer nav {padding-top:22px;border-top:1px solid #dbc6a433;max-width:600px;margin:0 auto 18px;}
@media(max-width:760px) {.venue-footer-logo {width:156px;height:156px;margin-bottom:20px;}}

/* Approved final-step copy and compact contact controls. */
.quiz-shell .quiz-card:has(.is-contact-step) {max-width:740px;}
.quiz-shell .contact-invitation {margin:18px 0 16px;text-align:center;}
.quiz-shell .contact-invitation h3 {font:500 24px/1.25 Georgia,serif;margin:0 0 8px;color:var(--venue-ink);}
.quiz-shell .contact-invitation p {font-size:14px;line-height:1.5;margin:0;}
.contact-special-request {margin:10px 0 4px;text-align:left;}
.contact-special-request summary {min-height:44px;padding:11px 0;cursor:pointer;font-size:13px;font-weight:600;color:var(--venue-accent);}
.contact-special-request summary span {font-weight:400;color:var(--venue-muted);}
.contact-special-request summary:focus-visible {outline:3px solid var(--venue-accent);outline-offset:2px;}
.contact-special-request .q-field {margin:0 0 12px;}
.quiz-shell .is-contact-step .q-nav {display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;}
.quiz-shell .is-contact-step #submitBtn {order:0;width:100%;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 16px;font-size:16px;line-height:1.35;white-space:normal;}
.quiz-shell .is-contact-step #contactReassurance {order:1;margin:0;text-align:center;line-height:1.5;}
.quiz-shell .is-contact-step #prevBtn {order:2;justify-self:start;min-height:44px;padding:8px 14px;font-size:13px;}
#contactReassurance[hidden] {display:none;}
.venue-final-invitation {max-width:620px;margin:28px auto 12px;padding-top:26px;border-top:1px solid var(--theme-line,#e6dfd5);}
.venue-final-invitation h3 {font:500 27px/1.25 Georgia,serif;color:var(--venue-ink);margin:0 0 12px;}
.venue-final-invitation p {font-size:15px;line-height:1.6;color:var(--venue-muted);margin:0 0 20px;}
@media(max-width:640px) {
  .quiz-shell .quiz-card:has(.is-contact-step) {padding:16px;}
  .quiz-shell .contact-invitation {margin:14px 0 12px;}
  .quiz-shell .contact-invitation h3 {font-size:20px;}
  .quiz-shell .contact-invitation p {font-size:13px;line-height:1.45;}
  .quiz-shell .is-contact-step .q-field > label {font-size:13px;margin-bottom:5px;}
  .quiz-shell .is-contact-step .q-field input {padding-top:12px;padding-bottom:12px;min-height:46px;}
  .quiz-shell .is-contact-step .contact-grid {gap:10px;}
  .quiz-shell .is-contact-step #submitBtn {font-size:15px;padding:13px 10px;gap:6px;}
  .venue-final-invitation h3 {font-size:24px;}
}
