/* Shared glass treatment for enquiry forms, menus and floating panels. */
:root {
  --bluesky-form-compact-width: 360px;
  --bluesky-form-expanded-width: 560px;
  --bluesky-glass-surface: rgba(255,255,255,.5);
  --bluesky-glass-border: rgba(255,255,255,.55);
  --bluesky-glass-shadow: 0 24px 80px rgba(var(--palette-dark-rgb, 4,15,33),.16);
  --bluesky-glass-blur: 4px;
  --bluesky-form-surface: var(--bluesky-glass-surface);
  --bluesky-form-field: rgba(255,255,255,.65);
  --bluesky-form-border: var(--bluesky-glass-border);
  --bluesky-form-field-border: rgba(72,93,112,.45);
  --bluesky-form-shadow: var(--bluesky-glass-shadow);
  --bluesky-form-blur: var(--bluesky-glass-blur);
}
.assessment-dialog { position: fixed; inset: 0; width: min(var(--bluesky-form-compact-width), calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 28px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--bluesky-form-border); border-radius: 12px; color: #1a2b3c; background: var(--bluesky-form-surface); backdrop-filter: blur(var(--bluesky-form-blur)); -webkit-backdrop-filter: blur(var(--bluesky-form-blur)); box-shadow: var(--bluesky-form-shadow); font: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; text-align: left; }
.assessment-dialog:not([open]) { display: none; }
.assessment-dialog::backdrop { background: rgba(var(--palette-dark-rgb, 4,15,33),.08); }
.assessment-dialog, .assessment-dialog * { box-sizing: border-box; }
.assessment-dialog h2 { margin: 0 34px 8px 0; color: var(--palette-primary, #081b33); font-size: 1.5rem; font-weight: 750; line-height: 1.2; letter-spacing: -.02em; }
.assessment-dialog .assessment-move { display: none; align-items: center; gap: 6px; margin: -8px 34px 12px 0; padding: 3px 0; border: 0; color: var(--palette-primary, #081b33); background: transparent; font: 600 12px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; cursor: grab; }
.assessment-dialog.assessment-movable .assessment-move { display: inline-flex; }
.assessment-dialog.assessment-movable .assessment-heading { cursor: grab; touch-action: none; user-select: none; }
.assessment-dialog.assessment-dragging .assessment-heading, .assessment-dialog.assessment-dragging .assessment-move { cursor: grabbing; }
.assessment-dialog .assessment-intro { margin: 0 0 22px; color: #081522; font-size: .875rem; }
.assessment-dialog .assessment-close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border: 1px solid #dce4eb; border-radius: 6px; color: var(--palette-primary, #081b33); background: #f6f8fa; font: 400 24px/1 Arial, sans-serif; cursor: pointer; }
.assessment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.assessment-field { min-width: 0; }
.assessment-field.full { grid-column: 1 / -1; }
.assessment-dialog label { display: block; margin: 0 0 6px; color: #081522; font-size: .875rem; font-weight: 650; }
.assessment-dialog input, .assessment-dialog select { display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 9px 11px; border: 1px solid var(--bluesky-form-field-border); border-radius: 6px; color: #1a2b3c; background: var(--bluesky-form-field); font: inherit; }
.assessment-dialog select option { color: #1a2b3c; background: #fff; }
.assessment-dialog .assessment-submit { display: block; width: 100%; min-height: 46px; margin: 22px 0 0; padding: 10px 16px; border: 1px solid var(--palette-accent, #ff9720); border-radius: 8px; color: var(--palette-dark, #040f21); background: var(--palette-accent, #ff9720); font: 750 1rem/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; cursor: pointer; }
.assessment-dialog .assessment-note { margin: 14px 0 0; color: #081522; font-size: .875rem; line-height: 1.5; }
.assessment-dialog .assessment-note a { color: #081522; font-weight: 750; text-decoration: underline; }
.assessment-dialog .assessment-status { margin: 14px 0 0; padding: 12px; border-left: 3px solid var(--palette-accent, #ff9720); border-radius: 4px; color: #34485b; background: var(--palette-accent-soft, #fff4e7); font-size: .875rem; }
.assessment-dialog .assessment-status[hidden] { display: none; }
.assessment-dialog :focus-visible { outline: 3px solid var(--palette-accent-deep, #e47a00); outline-offset: 3px; }
@media (max-width: 420px) { .assessment-dialog { padding: 24px 20px; } .assessment-fields { grid-template-columns: 1fr; } }

/* Inline homepage and contact forms share the popup's glass surface. */
.quote-card, .cta-form, form.form {
  color: #1a2b3c;
  border: 1px solid var(--bluesky-form-border);
  border-radius: 12px;
  background: var(--bluesky-form-surface);
  -webkit-backdrop-filter: blur(var(--bluesky-form-blur));
  backdrop-filter: blur(var(--bluesky-form-blur));
  box-shadow: var(--bluesky-form-shadow);
}
.cta-form, form.form { padding: 24px; }
.quote-card input, .quote-card select, .quote-card textarea,
.cta-form input, .cta-form select, .cta-form textarea,
form.form input:not([type="checkbox"]):not([type="radio"]), form.form select, form.form textarea {
  color: #1a2b3c;
  border-color: var(--bluesky-form-field-border);
  background: var(--bluesky-form-field);
}
.quote-card input::placeholder, .cta-form input::placeholder,
form.form input::placeholder, form.form textarea::placeholder { color: #485d70; opacity: 1; }
.quote-card select option, .cta-form select option, form.form select option { color: #1a2b3c; background: #fff; }
form.form label, form.form .form-note { color: #081522; }
@media (max-width: 420px) { .cta-form, form.form { padding: 20px; } }
