:root {
  --fxz-ink: #062d59;
  --fxz-muted: #506981;
  --fxz-line: #d7e0e9;
  --fxz-soft: #f3f6f9;
  --fxz-brand: #febb1e;
  --fxz-brand-dark: #d58d00;
  --fxz-green: #18815f;
  --fxz-radius: 16px;
}

.fxz-enquiry, .fxz-enquiry * { box-sizing: border-box; }
.fxz-enquiry { max-width: 920px; margin: 48px auto; color: var(--fxz-ink); font-family: inherit; }
.fxz-enquiry__intro { text-align: center; margin: 0 auto 28px; max-width: 720px; }
.fxz-eyebrow { display: inline-block; color: #9b6600; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 9px; }
.fxz-enquiry h2 { margin: 0 0 12px; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.025em; }
.fxz-enquiry__intro > p { margin: 0 auto; color: var(--fxz-muted); font-size: 17px; line-height: 1.65; }
.fxz-trust-row { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; color: #40505e; font-size: 14px; font-weight: 650; margin-top: 18px; }
.fxz-trust-row span::first-letter { color: var(--fxz-green); }

.fxz-preview-banner { display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin: 0 0 16px; border: 1px solid #ebbf4b; background: #fff9e9; border-radius: 12px; font-size: 14px; }
.fxz-preview-banner strong { background: var(--fxz-ink); color: var(--fxz-brand); padding: 4px 9px; border-radius: 999px; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.fxz-result { display: flex; gap: 16px; align-items: flex-start; padding: 24px; border-radius: var(--fxz-radius); }
.fxz-result--success { background: #ecf8f3; border: 1px solid #b9e2d3; }
.fxz-result--error { background: #fff4f2; border: 1px solid #f0c4bd; }
.fxz-result__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--fxz-green); color: white; font-size: 20px; font-weight: 800; }
.fxz-result h3 { margin: 0 0 5px; }
.fxz-result p { margin: 0; color: var(--fxz-muted); }

.fxz-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: start; gap: 10px; max-width: 650px; margin: 0 auto 24px; }
.fxz-progress button { border: 0; padding: 0; background: transparent; color: #8b969f; display: grid; justify-items: center; gap: 7px; font: inherit; cursor: default; }
.fxz-progress button:not(:disabled) { cursor: pointer; }
.fxz-progress button span { display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid #ccd3d8; border-radius: 50%; background: white; font-weight: 750; font-size: 13px; }
.fxz-progress button b { font-size: 12px; font-weight: 700; }
.fxz-progress button.is-active { color: #8c5d00; }
.fxz-progress button.is-active span { color: var(--fxz-ink); background: var(--fxz-brand); border-color: var(--fxz-brand); box-shadow: 0 0 0 5px rgba(254,187,30,.18); }
.fxz-progress button.is-complete span { color: white; background: var(--fxz-ink); border-color: var(--fxz-ink); }
.fxz-progress i { height: 2px; background: #dfe4e7; margin-top: 16px; }

.fxz-form { background: #fff; border: 1px solid var(--fxz-line); border-radius: 22px; box-shadow: 0 18px 55px rgba(24,35,45,.09); overflow: hidden; }
.fxz-step { padding: clamp(24px, 5vw, 48px); animation: fxzFade .22s ease; }
.fxz-step[hidden] { display: none !important; }
@keyframes fxzFade { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.fxz-step__heading { border-bottom: 1px solid var(--fxz-line); padding-bottom: 24px; margin-bottom: 28px; }
.fxz-step__heading > span { color: #9b6600; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fxz-step__heading h3 { font-size: 27px; line-height: 1.2; margin: 6px 0 7px; }
.fxz-step__heading p { margin: 0; color: var(--fxz-muted); line-height: 1.55; }
.fxz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.fxz-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.fxz-grid .fxz-field { margin-bottom: 0; }
.fxz-field--full { grid-column: 1 / -1; }
.fxz-field label { color: #283541; font-size: 14px; font-weight: 750; }
.fxz-field label em, .fxz-consent em { color: #b83d22; font-style: normal; }
.fxz-field input, .fxz-field select, .fxz-field textarea { width: 100%; border: 1px solid #cbd3d9; border-radius: 10px; background: white; color: var(--fxz-ink); padding: 13px 14px; font: inherit; line-height: 1.35; transition: border-color .15s, box-shadow .15s; }
.fxz-field textarea { resize: vertical; min-height: 130px; }
.fxz-field input:focus, .fxz-field select:focus, .fxz-field textarea:focus { outline: none; border-color: var(--fxz-brand-dark); box-shadow: 0 0 0 4px rgba(254,187,30,.2); }
.fxz-field small { color: #77838d; font-size: 12px; line-height: 1.45; }
.fxz-field textarea + small { text-align: right; }
.fxz-note { display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; padding: 15px 17px; border-radius: 12px; background: #f1f6f8; color: #4d5d68; }
.fxz-note > span { flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #8399a7; border-radius: 50%; font: 700 13px serif; }
.fxz-note p { margin: 0; font-size: 13px; line-height: 1.5; }
.fxz-note strong { display: block; color: var(--fxz-ink); margin-bottom: 2px; }
.fxz-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--fxz-line); margin-top: 30px; padding-top: 24px; }
.fxz-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 21px; border-radius: 9px; border: 1px solid transparent; font: 750 15px/1.2 inherit; cursor: pointer; transition: transform .15s, background .15s, box-shadow .15s; }
.fxz-button:hover { transform: translateY(-1px); }
.fxz-button--primary { color: var(--fxz-ink); background: var(--fxz-brand); box-shadow: 0 8px 22px rgba(213,141,0,.2); }
.fxz-button--primary:hover { color: white; background: var(--fxz-ink); }
.fxz-button--primary:disabled { color: #6f777d; background: #e5e8ea; box-shadow: none; cursor: not-allowed; transform: none; }
.fxz-button--secondary { color: #364550; border-color: #cdd5da; background: white; }
.fxz-button--secondary:hover { background: var(--fxz-soft); }
.fxz-review { border: 1px solid var(--fxz-line); border-radius: 13px; overflow: hidden; margin-bottom: 22px; }
.fxz-review > div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 13px 16px; border-bottom: 1px solid var(--fxz-line); }
.fxz-review > div:last-child { border-bottom: 0; }
.fxz-review span { color: var(--fxz-muted); font-size: 13px; }
.fxz-review strong { font-size: 14px; font-weight: 650; white-space: pre-wrap; }
.fxz-consent { display: flex; align-items: flex-start; gap: 11px; padding: 17px; background: #fffaf5; border: 1px solid #edd4bd; border-radius: 12px; cursor: pointer; }
.fxz-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--fxz-ink); }
.fxz-consent span { font-size: 13px; line-height: 1.55; }
.fxz-privacy { color: var(--fxz-muted); font-size: 12px; margin: 10px 2px 0; }
.fxz-privacy a { color: var(--fxz-ink); font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.fxz-privacy a:hover { color: var(--fxz-brand-dark); }
.fxz-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Keep the theme phone CTA readable on compact desktop widths. This stylesheet
   is loaded only on pages containing the Smart Enquiry shortcode. */
@media (min-width: 1001px) and (max-width: 1280px) {
  #header [data-row="middle"] .ct-container {
    grid-template-columns: 90px minmax(0, 1fr) 320px !important;
    column-gap: 14px !important;
  }
  #header [data-column="middle"] { min-width: 0; }
  #header [data-column="end"] { min-width: 320px; }
  #header .header-menu-1 > ul > li > a.ct-menu-link {
    padding-inline: 8px !important;
    font-size: 14px !important;
  }
  #header .ct-header-cta {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    width: 100%;
  }
  #header .fxz-headphone {
    flex: 0 0 auto;
    margin-right: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    letter-spacing: -.01em;
  }
  #header .ct-header-cta .ct-button {
    flex: 0 0 auto;
    padding-inline: 14px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 680px) {
  .fxz-enquiry { margin: 28px auto; padding: 0 12px; }
  .fxz-enquiry__intro { text-align: left; padding: 0 4px; }
  .fxz-enquiry h2 { font-size: 32px; }
  .fxz-trust-row { justify-content: flex-start; gap: 9px 15px; }
  .fxz-progress { gap: 5px; }
  .fxz-progress button b { display: none; }
  .fxz-progress i { margin-top: 15px; }
  .fxz-step { padding: 24px 18px; }
  .fxz-grid { grid-template-columns: 1fr; }
  .fxz-field--full { grid-column: auto; }
  .fxz-actions { align-items: stretch; flex-direction: column-reverse; }
  .fxz-actions .fxz-button { width: 100%; }
  .fxz-review > div { grid-template-columns: 1fr; gap: 4px; }
  .fxz-preview-banner { align-items: flex-start; flex-direction: column; }
}
