/* ============================================================================
   Enquiry form. Shared: it appears on machine pages and on the home page, so it
   cannot live in single.css.
   ========================================================================= */
.dg-quote{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-lg);
  padding:var(--sp-5);max-width:560px}
.dg-field{margin-bottom:var(--sp-4)}
.dg-field label{display:block;font-size:var(--fs-label);font-weight:600;margin-bottom:var(--sp-2)}
.dg-field input,.dg-field textarea{width:100%;min-height:var(--touch);padding:var(--sp-3);
  border:1px solid var(--rule-fn);border-radius:var(--radius);background:var(--white);
  font:inherit;font-size:var(--fs-body);color:var(--text)}
.dg-field textarea{min-height:96px;resize:vertical}
/* Phone and email share a row: the hint above asks for one of the two, so they
   are a choice rather than two more fields. Falls back to stacked where a
   Georgian label plus a real target will not fit in half a column. */
.dg-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--sp-3)}
@media (max-width:420px){ .dg-field-pair{grid-template-columns:minmax(0,1fr)} }
.dg-field.has-error input,.dg-field.has-error textarea{border-color:var(--warning-700);
  background:var(--warning-050)}
.dg-field__err{display:block;margin-top:var(--sp-2);font-size:var(--fs-meta);color:var(--warning-700)}
.dg-hp{position:absolute;left:-9999px}
/* The enquiry landing is the one success this site has; it gets the room. The
   green alert box this replaces read as a system notice — the same treatment a
   validation warning gets — for what is actually the end of the journey. */
.dg-quote__ok{display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);
  background:var(--success-050);border:1px solid var(--green-500);
  border-radius:var(--radius-lg)}
.dg-quote__ok:focus{outline:none}
.dg-quote__ok:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dg-quote__ok-art{display:block;width:clamp(112px,30vw,152px);height:auto;
  animation:dg-blank-in var(--dur-panel) var(--ease-enter) both}
.dg-quote__ok-t{margin:0;max-width:40ch;
  font-size:var(--fs-card);line-height:var(--lh-card);font-weight:600;color:var(--success-600)}
@media (prefers-reduced-motion:reduce){.dg-quote__ok-art{animation:none}}

.dg-quote__hint{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--text-3);
  margin:0 0 var(--sp-4)}
.dg-req{color:var(--accent-text)}
.dg-quote__alert{background:var(--warning-050);border-left:3px solid var(--warning-700);
  color:var(--warning-700);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);
  font-size:var(--fs-sm);line-height:var(--lh-sm)}
.dg-quote__alert:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dg-quote__privacy{margin:var(--sp-4) 0 0;font-size:var(--fs-micro);line-height:var(--lh-micro);
  color:var(--text-3)}
.dg-quote__privacy a{color:var(--text-3);text-decoration:underline}
.dg-quote__privacy a:hover{color:var(--accent-text)}
.dg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
