/* Shared fields for journey enquiries, event briefs and site forms. */
.av-site form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:50px;margin-top:8px;padding:12px 14px;border:1px solid var(--av-line);border-radius:4px;background:var(--av-cream);color:var(--av-ink);font:15px/1.5 var(--av-sans);box-shadow:none;transition:border-color .2s,box-shadow .2s;letter-spacing:normal}
.av-site form label{color:var(--av-ink);font:500 13px/1.5 var(--av-sans);letter-spacing:normal;text-transform:none}
.av-site form :is(input,select,textarea):is(:focus,:focus-visible,:active){outline:0!important;outline-offset:0;border-color:var(--av-gold)!important;box-shadow:0 0 0 .25rem rgb(181 138 69 / 20%)!important;background:var(--av-cream);color:var(--av-ink)}
.av-site form :is(input,select,textarea)[aria-invalid=true]{border-color:#a16c60}
.av-site form textarea{resize:vertical;min-height:140px}
.av-site .av-field-optional{color:var(--av-ink)}
.av-site form#av-event-brief.av-event-form{padding:24px;border:0;border-radius:4px}
.av-site .av-enquiry-form .av-form-field :is(input,textarea){margin-top:0}
.av-site .av-event-fields{gap:22px}
.av-site .av-enquiry-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:36px;border:1px solid var(--av-line);border-radius:8px;background:var(--av-cream);color:var(--av-ink);overscroll-behavior:contain}
.av-enquiry-dialog::backdrop{background:rgb(0 0 0 / 65%);backdrop-filter:blur(6px)}
.av-enquiry-dialog-body>.av-wrap{width:100%;display:grid;grid-template-columns:1fr;gap:28px}
.av-enquiry-dialog h2{font:40px/1.12 var(--av-serif)}
.av-enquiry-dialog p{font:15px/1.8 var(--av-sans)}
.av-enquiry-dialog .av-enquiry-tour{margin:24px 0;font-weight:600}
.av-site .av-enquiry-close{position:absolute;top:14px;right:14px;display:block;margin:0;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:var(--av-ink);background:transparent;font:30px/1 var(--av-sans)}
.av-site .av-enquiry-close:hover{background:var(--av-surface);color:var(--av-ink)}
body:has(.av-enquiry-dialog[open],.av-lightbox[open]){overflow:hidden}
@media(max-width:760px){.av-enquiry-dialog-body>.av-wrap{grid-template-columns:1fr;gap:24px}.av-site .av-enquiry-dialog{padding:20px}.av-enquiry-dialog h2{font-size:32px}.av-site .av-event-fields{grid-template-columns:1fr}.av-site .av-event-form{padding:20px}}

/* Shared range field and non-modal calendar popover. */
.av-site form [hidden]{display:none!important}
.av-range-field{min-width:0;position:relative}
.av-site .av-range-field>label{display:block;margin:0 0 8px}
.av-site .av-range-trigger{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--av-line);border-radius:4px;background:var(--av-cream);color:var(--av-ink);font:15px/1.5 var(--av-sans);text-align:left;box-shadow:none;transform:none}
.av-range-trigger svg{flex-shrink:0}
.av-site .av-range-trigger:is(:hover,:focus,:active){background:var(--av-cream);color:var(--av-ink);border-color:var(--av-gold);transform:none}
.av-site .av-range-trigger:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgb(181 138 69 / 20%)}
.av-site .av-calendar{position:fixed;z-index:1000;box-sizing:border-box;max-height:calc(100dvh - 24px);overflow:auto;padding:18px;border:1px solid var(--av-line);border-radius:8px;background:var(--av-cream);color:var(--av-ink);box-shadow:0 12px 36px rgb(9 41 30 / 15%);font:14px/1.5 var(--av-sans);overscroll-behavior:contain}
.av-calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
.av-site .av-calendar-nav p{font:600 15px/1.5 var(--av-sans);margin:0}
.av-site .av-calendar-status{font:12px/1.5 var(--av-sans);margin:10px 0 16px;min-height:36px;color:var(--av-ink)}
.av-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.av-site .av-calendar h3{font:600 15px/1.5 var(--av-sans);text-align:center;letter-spacing:0;margin:0 0 12px}
.av-site .av-calendar table{border:0;border-collapse:collapse;table-layout:fixed;width:100%;margin:0;background:transparent}
.av-site .av-calendar :is(th,td){border:0;padding:0;text-align:center;background:transparent;height:36px;font:12px/1.4 var(--av-sans)}
.av-site .av-calendar th{font-weight:600}
.av-site .av-calendar button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--av-ink);font:14px/1.4 var(--av-sans);box-shadow:none;transform:none;cursor:pointer;transition:background-color .15s}
.av-site .av-calendar button[data-date]{width:100%;height:36px}
.av-site .av-calendar button[data-month]{width:36px;font-size:28px}
.av-site .av-calendar button:is(:hover,:focus){background:var(--av-surface);color:var(--av-ink);transform:none}
.av-site .av-calendar button:focus-visible{outline:2px solid var(--av-gold);outline-offset:-2px}
.av-site .av-calendar button[aria-current=date]{border-color:var(--av-gold)}
.av-site .av-calendar td.av-in-range{background:rgb(224 177 98 / 25%)}
.av-site .av-calendar button.av-range-selected{background:var(--av-gold-fill);color:var(--av-ink);font-weight:600}
.av-calendar-footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--av-line)}
.av-site .av-calendar-footer button{padding:6px 10px}
@media(max-width:760px){.av-calendar-months{grid-template-columns:1fr}.av-site .av-calendar{padding:14px}}
/* CTA only: calendar, gallery, menu and close buttons are deliberately excluded. */
.av-site :is(a.av-button,button.av-button,.elementor-button,.wp-element-button,input[type=submit]),
.av-site .av-events-hero .av-button.av-button-secondary,
.av-site :is(.av-event-form,.av-enquiry-form) button.av-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:1px solid var(--av-gold-fill);border-radius:6px;background:var(--av-gold-fill);color:var(--av-ink);font:600 14px/1.5 var(--av-sans);letter-spacing:.02em;text-transform:none;text-decoration:none;box-shadow:none;transform:none;transition:background-color .2s,border-color .2s,color .2s}
.av-site :is(a.av-button,button.av-button,.elementor-button,.wp-element-button,input[type=submit]):is(:hover,:focus),
.av-site .av-events-hero .av-button.av-button-secondary:is(:hover,:focus),
.av-site :is(.av-event-form,.av-enquiry-form) button.av-button:is(:hover,:focus){background:var(--av-cta-hover);border-color:var(--av-cta-hover);color:var(--av-ink);transform:none}
.av-site :is(a.av-button,button.av-button,.elementor-button,.wp-element-button,input[type=submit]):active,
.av-site .av-events-hero .av-button.av-button-secondary:active,
.av-site :is(.av-event-form,.av-enquiry-form) button.av-button:active{background:var(--av-cta-active);border-color:var(--av-cta-active);color:var(--av-ink)}
.av-site :is(a.av-button,button.av-button,.elementor-button,.wp-element-button,input[type=submit]):focus-visible{outline:2px solid var(--av-ink);outline-offset:3px}

/* Match the date button to the neighbouring form inputs, including focus. */
.av-site form .av-range-trigger,.av-site form .av-range-trigger:hover{border-color:var(--av-line)}
.av-site form .av-range-trigger:is(:focus,:focus-visible,:active,[aria-expanded=true]){border-color:var(--av-gold);outline:0;box-shadow:0 0 0 .25rem rgb(181 138 69 / 20%)}

/* Journey dialog: introduction above a compact, clearly grouped form. */
.av-enquiry-dialog-body>.av-wrap>div:first-child{padding:0 28px 24px 0;border-bottom:1px solid var(--av-line)}
.av-enquiry-dialog .av-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:10px}
.av-enquiry-dialog h2{font-size:38px;margin-bottom:12px}
.av-enquiry-dialog-body p:not(.av-eyebrow):not(.av-enquiry-tour){font:14px/1.75 var(--av-sans);max-width:600px;margin-bottom:16px}
.av-site .av-enquiry-dialog .av-enquiry-tour{display:inline-block;padding:8px 12px;margin:0 14px 0 0;background:var(--av-surface);border-radius:4px;font:600 12px/1.6 var(--av-sans)}
.av-enquiry-dialog-body>.av-wrap>div:first-child>a{display:inline-block;font:13px/1.6 var(--av-sans);margin-top:10px}
.av-enquiry-dialog .av-enquiry-form{gap:18px 22px}
.av-site .av-enquiry-dialog .av-enquiry-form textarea{min-height:104px}
@media(max-width:760px){
 .av-site .av-enquiry-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:28px 20px 24px}
 .av-enquiry-dialog-body>.av-wrap{gap:22px}
 .av-enquiry-dialog h2{font-size:31px}
 .av-enquiry-dialog .av-eyebrow{max-width:240px;line-height:1.8}
 .av-enquiry-dialog-body>.av-wrap>div:first-child{padding-right:0;padding-bottom:20px}
 .av-site .av-enquiry-dialog .av-enquiry-tour{margin-right:0}
 .av-enquiry-dialog .av-enquiry-form{gap:16px;grid-template-columns:1fr}
}

/* Shared submit buttons; enquiry forms use a centered action row. */
.av-site form .av-form-actions{display:flex;justify-content:center;grid-column:1/-1;width:100%;min-width:0;margin-top:24px}
.av-site .av-enquiry-form .av-form-actions,.av-site .av-filters .av-form-actions{margin-top:0}
.av-site form .av-form-actions>button.av-button[type=submit]{box-sizing:border-box;width:260px;max-width:100%;min-height:48px;margin:0;padding:12px 24px;white-space:normal;text-align:center}
.av-site .av-filter-main{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.av-site .av-filters .av-form-actions{grid-column:auto;width:auto}
.av-site .av-filter-actions{text-align:center}
@media(max-width:1050px){.av-site .av-filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.av-site .av-filter-main{grid-template-columns:1fr}}

/* Empty status nodes must not draw a gold border or reserve space. */
.av-site .av-form-status:empty{display:none}
#journey-enquiry.av-enquiry-is-open{display:none}
