/* Short enquiry form (Dental Treatment, Dental Prices, Full-Arch). Markup: deploy/add-short-enquiry.php. Behaviour: short-enquiry.js.
   Top-of-page "Prefer email?" links share the .se-hero-link rule. Uses the site's colour tokens, with fallbacks. */
.short-enquiry{padding:72px 0;background:var(--paper,#f3f0ea);color:var(--ink,#09202a);scroll-margin-top:calc(var(--site-header-height,76px) + 18px)}
.short-enquiry-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
.short-enquiry-copy{min-width:0}
.short-enquiry-copy h2{margin:0 0 14px;font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:750;line-height:1.08;letter-spacing:-.04em;color:var(--navy,#071b25)}
.short-enquiry-copy>p{margin:0;max-width:480px;color:var(--ink,#09202a);font-size:1.0625rem;line-height:1.65}
.short-enquiry-panel{min-width:0;padding:30px;border:1px solid var(--line,rgba(9,32,42,.12));border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(7,27,37,.07)}
/* The floating WhatsApp button (fixed, 52px, 18px from the right) must never sit over a field: keep the panel's content clear of its column. */
.short-enquiry-panel{padding-right:max(30px,calc(78px - max(18px,(100vw - 1200px)/2) - 1px))}
/* Without JavaScript the browser scrolls to the outcome notice itself. Smooth scrolling chases the late height changes of the page's lazily rendered sections and stops short of the target. */
html:has(.se-notice:target){scroll-behavior:auto}
.se-form .se-field{margin-bottom:18px}
.se-form label{display:block;margin-bottom:7px;font-size:1rem;line-height:1.4;font-weight:750}
.se-form label>span[aria-hidden]{color:var(--coral-text,#b53d1f)}
.se-form .se-optional{margin-left:6px;color:var(--muted,#5F7077);font-size:.875rem;font-weight:600}
.se-form input,.se-form select,.se-form textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid rgba(9,32,42,.3);border-radius:7px;background:#fff;color:var(--ink,#09202a);font:inherit;font-size:1rem;line-height:1.45}
.se-form textarea{min-height:112px;resize:vertical}
.se-form input:hover,.se-form select:hover,.se-form textarea:hover{border-color:rgba(9,32,42,.52)}
.se-form :is(input,select,textarea):focus-visible,.se-submit:focus-visible,.se-hero-link:focus-visible{outline:3px solid var(--navy,#071b25);outline-offset:2px;box-shadow:0 0 0 5px #fff}
.se-form [aria-invalid="true"]{border:2px solid var(--coral-text,#b53d1f);padding:11px 13px;background:var(--cream,#fff9f1)}
.se-error{margin:7px 0 0;color:var(--navy,#071b25);font-size:.9375rem;line-height:1.5;font-weight:800}
.se-error:empty{display:none}
.se-error:not(:empty)::before{content:"!";display:inline-grid;width:18px;height:18px;margin-right:6px;border-radius:50%;background:var(--coral,#ff6c47);color:var(--navy,#071b25);font-size:.72rem;place-items:center;vertical-align:1px}
.se-required{margin:0 0 20px;color:var(--muted,#5F7077);font-size:.9375rem}
.se-required>span{color:var(--coral-text,#b53d1f)}
.se-privacy{margin:0 0 14px;color:var(--muted,#5F7077);font-size:.9375rem;line-height:1.55}
.se-privacy a{color:var(--navy,#071b25);font-weight:800;text-underline-offset:3px}
.se-status{margin:0 0 10px;color:var(--navy,#071b25);font-size:1rem;line-height:1.5;font-weight:800}
.se-status:empty{display:none}
.se-submit{min-width:190px;min-height:52px;padding:0 24px;font:inherit;font-size:1rem}
.se-submit[disabled]{cursor:wait;opacity:.72;transform:none}
.se-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Outcome notices. Without JavaScript the API redirects back with #enquiry-sent / #enquiry-invalid / #enquiry-error
   and :target shows the notice; with JavaScript the script sets data-state on the panel instead. */
.se-notice{display:none;margin:0 0 20px;padding:16px 18px;border-radius:12px;background:var(--cream,#fff9f1);border:1px solid var(--line,rgba(9,32,42,.12));color:var(--navy,#071b25);font-size:1rem;line-height:1.55;scroll-margin-top:calc(var(--site-header-height,76px) + 18px)}
.se-notice strong{display:block;margin-bottom:3px;font-weight:800}
.se-notice p{margin:0}
.se-notice:target,.short-enquiry-panel[data-state="sent"] .se-success{display:block}
.se-success{padding:6px 0}
.se-success:focus{outline:none}
.se-success>span{display:grid;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:var(--mint,#8fd9cd);font-size:1.35rem;font-weight:950;place-items:center}
.se-success .se-success-title{margin:0 0 10px;font-size:clamp(1.5rem,2.4vw,2rem)}
.se-success p{margin:0;max-width:520px;color:var(--muted,#5F7077);font-size:1.0625rem;line-height:1.65}
.se-notice.se-success{padding:6px 0;border:0;background:transparent;margin:0}
#enquiry-sent:target~.se-form,.short-enquiry-panel[data-state="sent"] .se-form{display:none}
.short-enquiry-panel[data-state="sent"] .se-notice:not(.se-success){display:none}
/* "Prefer email? Ask us here": one quiet text link under the hero buttons. */
.se-hero-link{display:inline-block;margin:13px 0 0;padding:6px 0;color:#fff;font-size:.9375rem;font-weight:750;line-height:1.4;text-underline-offset:4px}
.price-hero .se-hero-link{margin-top:10px}
.se-hero-link:hover{text-decoration-thickness:2px}
@media(max-width:900px){
  .short-enquiry{padding:48px 0}
  .short-enquiry-wrap{grid-template-columns:1fr;gap:24px}
  .short-enquiry-copy>p{max-width:none}
}
@media(max-width:680px){
  .short-enquiry-panel{padding:20px max(16px,calc(78px - 12px - 1px)) 20px 16px;border-radius:18px}
  .se-submit{width:100%}
}
.short-enquiry .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
