/* The same address and attachment treatment in the footer, popup and Contact form. */
.enquiry-address { grid-column: 1 / -1; min-width: 0; margin: 8px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid rgba(72,93,112,.35); }
.enquiry-address legend { padding: 0 10px 0 0; color: #081522; font-size: 1rem; font-weight: 750; }
.enquiry-address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.enquiry-field { min-width: 0; }
.enquiry-field.full { grid-column: 1 / -1; }
.enquiry-address .enquiry-field label, .site-footer-assessment .cta-field label { display: block; margin: 0 0 6px; color: #081522; font: 650 .875rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.enquiry-address input, .enquiry-address select { display: block; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 9px 11px; border: 1px solid var(--bluesky-form-field-border); border-radius: 6px; background: var(--bluesky-form-field); color: #1a2b3c; font: 400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.enquiry-address select option { color: #1a2b3c; background: #fff; }
.enquiry-uploads { grid-column: 1 / -1; min-width: 0; display: grid; gap: 14px; margin-top: 4px; }
.attachment-area { min-width: 0; padding: 16px; border: 1px dashed #71869a; border-radius: 10px; background: rgba(255,255,255,.24); }
.attachment-area.is-dragging { border-style: solid; border-color: var(--palette-accent-ink, #a75400); background: rgba(255,239,214,.65); }
.attachment-area > label { display: block; margin: 0 0 8px; color: #081522; font-size: .9375rem; font-weight: 750; }
.attachment-area input[type="file"] { display: block; width: 100%; min-width: 0; height: auto; min-height: 44px; padding: 8px; border: 1px solid var(--bluesky-form-field-border); border-radius: 6px; color: #1a2b3c; background: var(--bluesky-form-field); font: 400 .875rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.attachment-area input::file-selector-button { min-height: 36px; margin: 0 10px 0 0; padding: 6px 10px; border: 0; border-radius: 4px; color: #fff; background: var(--palette-primary, #081b33); font: inherit; font-weight: 650; cursor: pointer; }
.attachment-area .attachment-help, .attachment-area .attachment-selection { margin: 9px 0 0; padding: 0; color: #253d53; font-size: .8125rem; line-height: 1.5; }
.attachment-area .attachment-list { display: grid; gap: 8px; list-style: none; padding: 0; margin: 12px 0 0; }
.attachment-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding-top: 8px; border-top: 1px solid rgba(72,93,112,.3); }
.attachment-list li > span { min-width: 0; overflow-wrap: anywhere; color: #081522; font-size: .8125rem; line-height: 1.5; }
.attachment-area .attachment-list .attachment-remove { flex: 0 0 auto; width: auto; min-height: 44px; height: auto; margin: 0; padding: 8px; border: 1px solid rgba(72,93,112,.45); border-radius: 5px; color: var(--palette-primary, #081b33); background: rgba(255,255,255,.5); font: 650 .8125rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; cursor: pointer; }
.attachment-area .attachment-feedback { margin: 10px 0 0; color: #7a1c10; background: #fff2ec; padding: 10px; border-radius: 5px; font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
.attachment-area [hidden], .enquiry-status[hidden] { display: none; }
.enquiry-uploads .enquiry-upload-note, .site-footer-assessment .enquiry-upload-note { margin: 0; padding: 0; color: #081522; font-size: .8125rem; line-height: 1.5; }
.enquiry-upload-note a { font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.enquiry-status { margin-top: 14px; padding: 12px; border-left: 3px solid var(--palette-accent, #ff9720); border-radius: 4px; color: #253d53; background: var(--palette-accent-soft, #fff4e7); font-size: .875rem; line-height: 1.5; }
.enquiry-address :focus-visible, .enquiry-uploads :focus-visible { outline: 3px solid var(--palette-accent-deep, #d56e00); outline-offset: 3px; }
.site-footer-assessment .cta-field { display: block; }
.site-footer-assessment .cta-field input { height: 44px; font-size: 16px; }
.site-footer-assessment .cta-field-btn button { width: 100%; }
.site-footer-assessment .cta-field.full { grid-column: 1 / -1; }
.site-footer-assessment .cta-form { align-items: start; }
@media(max-width:900px) { .site-footer-assessment .cta-form { width: 100%; } }
@media(max-width:420px) { .enquiry-address-grid { grid-template-columns: minmax(0,1fr); } .attachment-area { padding: 12px; } }

/* Keep the first contact fields visible; fold the existing nodes without clearing them. */
.enquiry-progressive.is-form-expanded, .assessment-dialog:has(.enquiry-progressive.is-form-expanded) { --bluesky-form-surface: rgba(255,255,255,.8); }
.enquiry-more { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
.enquiry-more[hidden] { display: none !important; }
.enquiry-more > .assessment-submit { grid-column: 1 / -1; }
.enquiry-more:not([hidden]) { animation: enquiry-unroll .2s ease-out; }
.enquiry-roll-controls { grid-column: 1 / -1; min-width: 0; padding-top: 4px; display: grid; grid-template-columns: minmax(0,1fr); }
.enquiry-progressive.is-form-expanded .enquiry-roll-controls.has-close { grid-template-columns: minmax(0,1fr) 44px; column-gap: 8px; }
.enquiry-progressive .enquiry-roll-controls .enquiry-roll-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; height: auto; margin: 0; padding: 10px 14px; border: 1px solid var(--palette-accent, #ff9720); border-radius: 7px; background: var(--palette-accent, #ff9720); color: var(--palette-dark, #040f21); font: 750 .9375rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; cursor: pointer; }
.enquiry-progressive .enquiry-roll-controls .enquiry-roll-close { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid var(--palette-accent, #ff9720); border-radius: 7px; background: var(--palette-accent, #ff9720); color: var(--palette-dark, #040f21); font: 400 28px/1 Arial,sans-serif; cursor: pointer; }
.enquiry-roll-close[hidden] { display: none !important; }
.enquiry-progressive .enquiry-roll-controls button:hover { background: var(--palette-accent-hover, #ffb04f); border-color: var(--palette-accent-hover, #ffb04f); opacity: 1; }
.assessment-dialog .assessment-close { width: 44px; height: 44px; border-color: var(--palette-accent, #ff9720); border-radius: 7px; background: var(--palette-accent, #ff9720); color: var(--palette-dark, #040f21); font-size: 28px; }
.assessment-dialog .assessment-close:hover { background: var(--palette-accent-hover, #ffb04f); border-color: var(--palette-accent-hover, #ffb04f); }
.enquiry-roll-toggle::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.enquiry-roll-toggle[aria-expanded="true"]::after { transform: rotate(225deg) translate(-1px,-1px); }
.enquiry-progressive .enquiry-roll-hint { grid-column: 1 / -1; margin: 10px 0 0; padding: 0; color: #253d53; font-size: .8125rem; line-height: 1.5; }
.enquiry-roll-toggle:focus-visible, .enquiry-roll-close:focus-visible { outline: 3px solid var(--palette-primary, #081b33); outline-offset: 3px; }
@keyframes enquiry-unroll { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:reduce) { .enquiry-more:not([hidden]) { animation: none; } }

/* Use the available form width, with at most two comfortable columns. */
.site-footer-assessment .cta-form.is-form-expanded,
form.form.is-form-expanded,
.is-form-expanded .assessment-fields,
.is-form-expanded .enquiry-more,
.is-form-expanded .enquiry-address-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,max(230px,calc(50% - 7px))),1fr)); gap: 14px; }
.is-form-expanded .enquiry-address-grid > .enquiry-field.full:not(:first-child),
.is-form-expanded .enquiry-more > .assessment-field.full { grid-column: auto; }
.is-form-expanded .field.full, .is-form-expanded > .field.full { grid-column: 1 / -1; }
.is-form-expanded .enquiry-uploads { grid-template-columns: repeat(auto-fit,minmax(min(100%,max(270px,calc(50% - 7px))),1fr)); }
.is-form-expanded .enquiry-upload-note { grid-column: 1 / -1; }

/* Expanded inline forms overlay the page; their compact footprint stays put. */
.enquiry-anchor { width: min(100%,var(--bluesky-form-compact-width,360px)); min-width: 0; }
.site-footer-assessment .cta-form:not(.enquiry-floating), form.form:not(.enquiry-floating) { width: min(100%,var(--bluesky-form-compact-width,360px)); max-width: 100%; }
.site-footer-assessment .cta-form:not(.is-form-expanded), form.form:not(.is-form-expanded), .enquiry-progressive:not(.is-form-expanded) .assessment-fields { grid-template-columns: minmax(0,1fr); }
.enquiry-progressive.enquiry-floating { position: fixed; inset: auto; left: var(--enquiry-overlay-left,12px); top: var(--enquiry-overlay-top,12px); z-index: 3000; width: var(--enquiry-overlay-width); max-width: none; height: auto; max-height: var(--enquiry-overlay-height,calc(100dvh - 24px)); margin: 0; overflow: auto; overscroll-behavior: contain; box-sizing: border-box; align-content: start; }
.enquiry-progressive.enquiry-floating::backdrop { background: transparent; pointer-events: none; }
.enquiry-floating .enquiry-roll-controls { order: -1; position: sticky; top: 0; z-index: 2; padding: 8px; border-radius: 8px; background: var(--bluesky-form-surface); backdrop-filter: blur(var(--bluesky-form-blur)); -webkit-backdrop-filter: blur(var(--bluesky-form-blur)); }

/* On mobile, keep Show less after the contact fields and within easy reach. */
@media (max-width: 900px) {
  .enquiry-floating .enquiry-roll-controls { order: 0; }
  .assessment-dialog .is-form-expanded .enquiry-roll-controls { position: sticky; top: 0; z-index: 2; padding: 8px; border-radius: 8px; background: var(--bluesky-form-surface); backdrop-filter: blur(var(--bluesky-form-blur)); -webkit-backdrop-filter: blur(var(--bluesky-form-blur)); }
}
