/* Progressive-enhancement inquiry sheet. Loaded only on pages that render #quick-inquiry. */
#quick-inquiry {
  margin: 2rem 0;
  border: 1px solid #b99a55;
  border-radius: 16px;
  background: linear-gradient(135deg, #123d39, #1c5a50);
  color: #f8f3e7;
  box-shadow: 0 14px 32px rgba(12, 45, 40, .18);
}

.quick-inquiry-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 1.5rem;
  align-items: center;
  padding: 1.25rem;
}

.quick-inquiry-brand {
  display: flex;
  gap: .875rem;
  align-items: center;
}

.quick-inquiry-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.quick-inquiry-brand-copy {
  min-width: 0;
}

.quick-inquiry-kicker {
  margin: 0 0 .25rem;
  color: #e8ca82;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.quick-inquiry-brand h2 {
  margin: 0;
  color: #fffdf7;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.quick-inquiry-brand p:not(.quick-inquiry-kicker) {
  margin: .35rem 0 0;
  color: #e9eee9;
}

.quick-inquiry-advisor {
  display: flex;
  gap: .5rem;
  align-items: center;
  color: #f8f3e7;
  font-size: .875rem;
}

.quick-inquiry-advisor img {
  width: 40px;
  height: 44px;
  border: 1px solid #d6b96f;
  border-radius: 50%;
  object-fit: cover;
}

#quick-inquiry .quick-inquiry-cta {
  min-width: 160px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 1px solid #f3d583;
  border-radius: 8px;
  background: #f6e1a3;
  color: #143d39;
  font-weight: 800;
  text-decoration: none;
}

#quick-inquiry .quick-inquiry-cta:hover {
  background: #fff1c5;
}

#inquiry-dialog {
  width: min(calc(100vw - 24px), 720px);
  max-width: 720px;
  max-height: 90vh;
  max-height: 90dvh;
  overflow: auto;
  box-sizing: border-box;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #fffdf8;
  color: #163d39;
  box-shadow: 0 24px 64px rgba(7, 29, 26, .42);
}

#inquiry-dialog:not([open]) {
  display: none;
}

#inquiry-dialog::backdrop {
  background: rgba(5, 23, 21, .68);
}

body.inquiry-modal-fallback::before {
  content: '';
  position: fixed;
  z-index: 9998;
  inset: 0;
  background: rgba(5, 23, 21, .68);
}

#inquiry-dialog.is-open {
  position: fixed;
  z-index: 9999;
  inset: 5vh 0 auto;
}

.inquiry-sheet {
  padding: clamp(1rem, 3vw, 2rem);
}

.inquiry-sheet-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dce5df;
}

.inquiry-sheet-header img {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  object-fit: contain;
}

.inquiry-sheet-header-copy {
  min-width: 0;
}

.inquiry-sheet-header-copy p {
  margin: 0 0 .3rem;
  color: #906c27;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.inquiry-sheet-header h2 {
  margin: 0;
  color: #123d39;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
}

.inquiry-close {
  position: sticky;
  z-index: 2;
  top: 0;
  flex: 0 0 auto;
  min-width: 44px;
  min-height: 44px;
  margin-left: auto;
  border: 1px solid #9bb1a8;
  border-radius: 50%;
  background: #fffdf8;
  color: #123d39;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.inquiry-intro {
  margin: 1rem 0;
  color: #3d5650;
}

.inquiry-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.inquiry-field {
  min-width: 0;
}

.inquiry-field--full {
  grid-column: 1 / -1;
}

.inquiry-field label,
.inquiry-consent {
  display: block;
  color: #163d39;
  font-weight: 700;
}

.inquiry-field label {
  margin-bottom: .4rem;
}

.inquiry-optional {
  color: #63756f;
  font-size: .875rem;
  font-weight: 500;
}

.inquiry-field input,
.inquiry-field select,
.inquiry-field textarea {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid #95aaa1;
  border-radius: 7px;
  background: #fff;
  color: #173c38;
  font: inherit;
  font-size: 16px;
  line-height: 1.45;
  padding: .65rem .75rem;
}

.inquiry-field textarea {
  min-height: 132px;
  resize: vertical;
}

.inquiry-field input[aria-invalid='true'],
.inquiry-field textarea[aria-invalid='true'] {
  border-color: #a83329;
  box-shadow: 0 0 0 2px rgba(168, 51, 41, .16);
}

.inquiry-hint {
  min-height: 1.4em;
  margin: .5rem 0 0;
  color: #654e1e;
  font-size: .92rem;
}

.inquiry-consent {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin: 1.25rem 0;
  font-weight: 500;
  line-height: 1.5;
}

.inquiry-consent input {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin-top: .15rem;
  accent-color: #176052;
}

.inquiry-actions {
  display: flex;
  gap: .875rem;
  align-items: center;
  flex-wrap: wrap;
}

.inquiry-submit {
  min-width: 160px;
  min-height: 44px;
  border: 1px solid #0e493f;
  border-radius: 7px;
  background: #176052;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.inquiry-submit:hover:not(:disabled) {
  background: #0f4d43;
}

.inquiry-submit:disabled {
  cursor: wait;
  opacity: .72;
}

.inquiry-direct-contact {
  margin: 0;
  color: #4e635d;
  font-size: .88rem;
}

.inquiry-direct-contact a {
  color: #155b50;
  font-weight: 700;
}

.inquiry-status {
  min-height: 1.5em;
  margin: 1rem 0 0;
  color: #38524b;
  line-height: 1.5;
}

.inquiry-status.is-success {
  color: #075d41;
  font-weight: 700;
}

.inquiry-status.is-error {
  color: #982d25;
  font-weight: 700;
}

.inquiry-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#quick-inquiry a:focus-visible,
#inquiry-dialog button:focus-visible,
#inquiry-dialog input:focus-visible,
#inquiry-dialog select:focus-visible,
#inquiry-dialog textarea:focus-visible {
  outline: 3px solid #b77b14;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .quick-inquiry-inner,
  .inquiry-form-grid {
    grid-template-columns: 1fr;
  }

  #quick-inquiry .quick-inquiry-cta {
    width: 100%;
  }

  .quick-inquiry-advisor {
    grid-row: 2;
  }

  #inquiry-dialog,
  #inquiry-dialog.is-open {
    width: min(calc(100vw - 16px), 720px);
    max-height: 90vh;
    max-height: 90dvh;
    inset: 5dvh 0 auto;
    border-radius: 12px;
  }

  .inquiry-sheet {
    padding: 1rem;
  }

  .inquiry-sheet-header {
    gap: .75rem;
  }

  .inquiry-sheet-header img {
    width: 42px;
    height: 42px;
  }

  .inquiry-field--full {
    grid-column: auto;
  }

  .inquiry-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .inquiry-submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #inquiry-dialog,
  #inquiry-dialog::backdrop {
    scroll-behavior: auto;
  }
}
