/* Inquiry, consent and contact behaviour. Owned by the integration layer. */
#inquiry-form { margin-inline:0; padding: clamp(1.2rem, 2.2vw, 2rem); border-radius: 12px; }
#inquiry-form fieldset { gap: 1.5rem 1.25rem; }
#inquiry-form input:not([type="checkbox"]), #inquiry-form select, #inquiry-form textarea { min-height: 3.25rem; height:auto; border-radius: 6px; font-size: 1rem; line-height:1.5; padding-block:.9rem; }
#inquiry-form label { font-size: 1rem; line-height: 1.55; }
#inquiry-form .field > label { margin-bottom: .65rem; }
#inquiry-form .field-help { font-size: .875rem; line-height: 1.65; }
#inquiry-form [data-next] { min-height:56px; margin-top:.25rem; font-size:1rem; }
#inquiry-form .form-more summary { min-height: 48px; display: flex; align-items: center; padding-block:.5rem; font-size: 1rem; line-height:1.55; }
.form-intent { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; padding: .4rem; border: 1px solid #e5e5e1; border-radius: 12px; background: #f5f5f2; margin-bottom: 1.75rem; }
.form-intent button { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 64px; padding: .85rem .75rem; border: 1px solid #d7d7d2; border-radius: 8px; background: #fff; color: #343434; font: 700 1rem/1.4 var(--body); text-align: center; cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
.form-intent button::before { content: ''; flex: 0 0 17px; width: 17px; height: 17px; border: 1.5px solid #aaa; border-radius: 50%; background: transparent; }
.form-intent button[aria-pressed="true"] { color: #fff; background: #151515; border-color: #151515; box-shadow: 0 2px 5px rgb(0 0 0 / .1); }
.form-intent button[aria-pressed="true"]::before { border-color: #fff; background: #fff; box-shadow: inset 0 0 0 4px #151515; }
.form-intent button[aria-pressed="false"]:hover { border-color: #777; background: #fafaf8; }
.form-intent button:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.form-intent:focus, .form-progress:focus { outline: none; }
#inquiry-form[data-active-step="2"][data-intent="quote"] .form-intent { display: none; }
#inquiry-form .form-progress { margin-bottom: 1.5rem; gap: 1rem; }
#inquiry-form .form-progress span { padding-block: .65rem; font-size: .875rem; line-height:1.5; }
#inquiry-form .event-summary { padding: 1.1rem 1rem; margin: 0; border-radius: 6px; background: #f5f5f2; gap: 1rem; }
#inquiry-form .event-summary strong { font-size: 1rem; line-height:1.5; }
#inquiry-form .event-summary p { font-size: .9375rem; margin-top: .5rem; line-height: 1.6; }
#inquiry-form .privacy-label { font-size: .9375rem; line-height: 1.65; gap: .75rem; align-items:flex-start; }
#inquiry-form .field-error { margin-top:.4rem; line-height:1.65; }
#inquiry-form .form-buttons { margin-top: .1rem; align-items: center; }
#inquiry-form[data-intent="visit"] .form-buttons { justify-content: flex-end; }
#inquiry-form .form-preview { padding: .75rem; font-size: .8125rem; line-height: 1.55; margin-bottom: 1.25rem; }
#inquiry-dialog { container: studio-inquiry / inline-size; width: min(42rem, calc(100vw - 2rem)); border-radius: 12px; }
.inquiry-dialog-heading { padding: 1.25rem 1.5rem 1rem; gap: 1rem; }
.inquiry-dialog-heading p { font-size: .8125rem; }
.inquiry-dialog-heading h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.25; margin-top: .5rem; letter-spacing: -.02em; }
[data-inquiry-close] { min-height: 44px; }
.dialog-promise { padding: 1rem 1.5rem 0; font-size: .9375rem; line-height:1.65; }
#inquiry-dialog #inquiry-form { padding: 1.25rem 1.5rem 1.5rem; }
#inquiry-dialog .form-buttons { position: sticky; bottom: 0; z-index: 2; background: #fff; padding: 1rem 0 .5rem; border-top: 1px solid #ddd; }
.visit-fields input { width: 100%; }

/* A small booking dock in the venue's black / white / red identity. */
html { scroll-padding-top: calc(var(--header-offset, var(--header-h)) + 1rem); scroll-padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
.main-nav { max-height: calc(100dvh - var(--header-offset, var(--header-h))); }
.has-inquiry-dock main :is(a, button, input, select, textarea) { scroll-margin-bottom: 6.5rem; }
.sticky-inquiry { --ring: #fff; position: fixed; z-index: 35; inset: auto 0 max(1.25rem, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: .65rem; width: min(47rem, calc(100% - 3rem)); margin-inline: auto; padding: .65rem; color: #fff; background: #101010; border: 1px solid #414141; border-radius: 16px; box-shadow: 0 10px 36px rgb(0 0 0 / .24), 0 2px 6px rgb(0 0 0 / .1); opacity: 0; transform: translateY(12px); visibility: hidden; pointer-events: none; transition: opacity .2s, transform .24s cubic-bezier(.2,.7,.2,1); }
.sticky-inquiry.is-visible { opacity: 1; transform: none; visibility: visible; pointer-events: auto; }
.sticky-inquiry-copy { flex: 1 1 auto; min-width: 0; padding-inline: .65rem; }
.sticky-inquiry-copy strong { display: block; font: 700 1rem/1.5 var(--display); letter-spacing: -.02em; }
.sticky-inquiry-copy small { display: block; margin-top: .15rem; color: #c8c8c5; font: 400 .8125rem/1.5 var(--body); }
.sticky-inquiry-visit { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .75rem 1rem; color: #fff; border: 1px solid #555; border-radius: 8px; font-size: .875rem; line-height: 1.5; font-weight: 600; text-decoration: none; transition: background .2s, border-color .2s; }
.sticky-inquiry-visit:hover { background: #2a2a2a; border-color: #969696; }
.sticky-inquiry .sticky-inquiry-primary { flex: none; justify-content: space-between; gap: 1.15rem; min-height: 52px; padding: .85rem 1.1rem; border-radius: 8px; font-size: .9375rem; line-height: 1.5; }
.sticky-inquiry-arrow { flex: none; font-size: 1.375rem; line-height: 1; }
.has-inquiry-dock .site-footer { padding-bottom: 8rem; }
@media (max-width: 959px) {
  .sticky-inquiry { width: min(27.5rem, calc(100% - 1.5rem)); inset-block-end: max(.75rem, env(safe-area-inset-bottom)); padding: .35rem; border-radius: 13px; }
  .sticky-inquiry-copy, .sticky-inquiry-visit { display: none; }
  .sticky-inquiry .sticky-inquiry-primary { width: 100%; min-height: 52px; padding: .85rem 1.05rem; font-size: .9375rem; }
  .has-inquiry-dock .site-footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .sticky-inquiry, .sticky-inquiry-visit { transition: none; transform: none; }
}

/* A concise first-visit choice, with equally available accept / necessary-only actions. */
.cookie-panel { inset: auto auto 1rem 1rem; width: min(24rem, calc(100% - 2rem)); max-width: 24rem; max-height: calc(100dvh - 2rem); gap: .65rem; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; background: #fff; border: 1px solid #e4e4e1; border-radius: 14px; box-shadow: 0 6px 32px rgb(0 0 0 / .12), 0 1px 4px rgb(0 0 0 / .05); }
.cookie-panel h2 { margin: 0; padding: 0; font-size: 1rem; line-height: 1.4; letter-spacing: -.02em; }
.cookie-panel p { margin: .35rem 0 0; color: #555; font-size: .875rem; line-height: 1.55; }
.cookie-panel .cookie-intro a { display: inline; margin: 0; color: #333; font-size: inherit; font-weight: 600; text-underline-offset: 3px; }
.cookie-options { padding-block: .35rem; }
.cookie-options label { min-height: 44px; }
.cookie-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,6rem),1fr)); gap: .4rem .5rem; margin: 0; }
.cookie-actions button, .cookie-actions .button { min-height: 44px; padding: .6rem .35rem; border: 1px solid #dededb; border-radius: 7px; background: #f4f4f1; color: #202020; font-size: .8125rem; font-weight: 700; line-height: 1.5; box-shadow: none; }
.cookie-actions button:hover, .cookie-actions .button:hover { background: #e9e9e5; color: #111; box-shadow: none; }
.cookie-actions [data-consent="deny"] { order: 1; }
.cookie-actions [data-consent="all"] { order: 3; }
.cookie-actions [data-consent="custom"] { order: 2; background: #fff; color: #555; font-weight: 500; box-shadow: none; }
.cookie-actions [data-consent="save"] { order: 4; grid-column: 1 / -1; }
@media (max-width: 520px) {
  .form-intent { grid-template-columns:repeat(auto-fit,minmax(min(100%,6.5rem),1fr)); gap: .45rem; padding: .3rem; }
  .form-intent button { gap: .45rem; min-height: 72px; padding: .7rem .5rem; font-size: .875rem; }
  #inquiry-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
  .inquiry-dialog-heading { padding: 1rem 1.25rem; }
  .dialog-promise { padding: 1rem 1.25rem 0; }
  #inquiry-dialog #inquiry-form { padding: 1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom)); }
  #inquiry-form fieldset { gap: 1.35rem; }
  .cookie-panel { inset: auto auto max(.75rem, env(safe-area-inset-bottom)) .75rem; width: calc(100% - 1.5rem); max-width: 24rem; max-height: calc(100dvh - 1.5rem); padding: .875rem; }
}

/* Keep short phone screens available for the fields, including landscape. */
@container studio-inquiry (max-width:18rem) {
  .inquiry-dialog-heading { padding:16px 20px; gap:12px; }
  .inquiry-dialog-heading p { display:none; }
  .inquiry-dialog-heading h2 { margin:0; font-size:1rem; }
  [data-inquiry-close] { width:44px; height:44px; padding:0; justify-content:center; gap:0; font-size:0; }
  [data-inquiry-close] span { font-size:24px; }
}

@media (max-height: 500px) and (pointer: coarse) {
  .inquiry-dialog-heading { padding:.5rem 1rem; align-items:center; }
  .inquiry-dialog-heading p { display:none; }
  .inquiry-dialog-heading h2 { max-width:none; margin:0; font-size:1.125rem; }
  #inquiry-dialog .form-buttons { position:static; }
}

@media (max-width: 599px) {
  /* Minimum content widths must not cancel the visitor's larger text setting. */
  body { overflow-wrap:anywhere; }
  .button, .section-head > *, .inquiry-layout > *, .community-story > * { min-width:0; }
  .section-head, .inquiry-layout, .community-story { grid-template-columns:minmax(0,1fr); }
  .space-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .space-item:nth-child(n) { grid-column:auto; }
  .space-item:nth-child(-n+2) { grid-column:1/-1; }
  .inquiry-section .plain-link, .checkbox-label { overflow-wrap:anywhere; }
  #inquiry-form fieldset, .field { grid-template-columns:minmax(0,1fr); }
  #inquiry-form input, #inquiry-form select, #inquiry-form textarea { min-width:0; }
  .form-progress { grid-template-columns:repeat(2,minmax(0,1fr)); overflow-wrap:anywhere; }
  .cookie-panel { grid-template-columns:minmax(0,1fr); grid-auto-rows:max-content; }
  .cookie-actions { grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr)); }
  .reel-playlist { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8rem,calc(50% - .625rem))),1fr)); }
  .reel-choice > span:not(.reel-number):not(.reel-choice-icon) { min-width:0; overflow-wrap:anywhere; }
  .footer-links a, .footer-links .text-button { display:inline-flex; align-items:center; min-height:44px; }
  .form-buttons .text-button { min-height:44px; }
}
