/* Isolated styles for the integrated WhatsApp estimate / appointment section. */
.quick-estimate {color-scheme:light;--ink:#172331;--muted:#617080;--blue:#1b5fcc;--line:#dfe5eb;--green:#25d366;padding:64px 24px;background:#f5f7fa;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;}
.quick-estimate *, .quick-estimate *::before, .quick-estimate *::after {box-sizing:border-box;}

    .qp-estimate{width:100%;max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:stretch}
    .qp-copy{display:flex;flex-direction:column;min-width:0;padding-bottom:33px}
    .qp-eyebrow{margin:0 0 20px;color:var(--blue);font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
    .qp-title{max-width:520px;margin:0;font-size:clamp(32px,3.8vw,48px);font-weight:750;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
    .qp-title span{color:var(--blue)}
    .qp-intro{max-width:none;margin:24px 0 0;color:var(--muted);font-size:17px;line-height:1.7}
    .qp-intro strong{color:var(--ink);font-weight:650}
    .qp-visit{margin:0;padding:0;border:0;max-width:none}
    .qp-visit h3{margin:0 0 10px;font-size:17px;line-height:1.4;letter-spacing:-.02em}
    .qp-visit p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
    .qp-visit strong{color:var(--ink);font-weight:650}
    .qp-form-stack{display:flex;flex-direction:column;gap:24px;min-width:0}
    .qp-floorplan-preview{display:block;width:min(72%,300px);height:auto;margin:24px auto;transform:rotate(-2deg);border:4px solid #fff;border-radius:4px;box-shadow:0 5px 18px #17233112}
    .qp-form-panel{position:relative;flex:1;display:flex;flex-direction:column;padding:32px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 32px #17233105}
    .qp-form-panel form{display:flex;flex-direction:column;flex:1}
    .qp-form-panel h3{margin:0 0 8px;font-size:21px;line-height:1.3;letter-spacing:-.025em}
    .qp-form-intro{margin:0 0 26px;font-size:14px;line-height:1.6;color:var(--muted)}
    .qp-field{margin-bottom:18px}
    .quick-estimate label{display:block;margin-bottom:8px;font-size:14px;font-weight:650}
    .quick-estimate input{display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid #ccd5de;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}
    .quick-estimate input::placeholder{color:#8a96a3}
    .quick-estimate input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #1b5fcc18}
    .qp-privacy{display:flex;align-items:flex-start;gap:9px;margin:22px 0 24px;font-size:12px;line-height:1.6;color:var(--muted)}
    .qp-privacy svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:#536979}
    .qp-privacy p{margin:0}
    .qp-privacy strong{font-weight:650;color:var(--ink)}
    .qp-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:74px;padding:16px;background:var(--green);color:#073b21;border:1px solid #1fc35d;border-radius:9px;text-decoration:none;text-align:left;font-size:15px;font-weight:750;line-height:1.4;transition:background .15s}
    .qp-cta{font-family:inherit;cursor:pointer}
    .qp-cta:hover{background:#20c760}
    .qp-cta--contact{margin-top:auto}
    .qp-cta--blue{margin-top:auto;background:var(--blue);border-color:var(--blue);color:#fff}
    .qp-cta--blue:hover{background:#164ea8}
    .qp-cta:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
    .qp-cta svg{width:22px;height:22px;flex-shrink:0}
    .qp-cta small{display:block;font-size:12px;font-weight:550;margin-top:2px}
    @media(max-width:950px){
        .qp-estimate{max-width:540px;grid-template-columns:1fr;gap:28px}
      .qp-copy{padding-bottom:0}
      .qp-form-stack{gap:22px}
      .qp-floorplan-preview{width:min(74%,260px);margin:22px auto}
      .qp-eyebrow{margin-bottom:14px}
      .qp-title{font-size:36px}
      .qp-intro{margin-top:18px;font-size:16px}
      .qp-form-panel{padding:26px}
      .qp-form-panel h3{font-size:20px}
      .qp-form-intro{margin-bottom:24px}
      .qp-cta--contact{margin-top:0}
    }
    @media(max-width:380px){
        .qp-title{font-size:31px}
      .qp-form-panel{padding:22px 18px}
      .qp-cta{font-size:14px;gap:9px}
    }
    @media(prefers-reduced-motion:reduce){.quick-estimate *{transition:none!important}}
  
.quick-estimate .qp-estimate {margin-inline:auto;}
.quick-estimate .qp-title {color:var(--ink);}
.quick-estimate .qp-field.form__field {display:block;margin-bottom:18px;}
.quick-estimate .qp-field label {margin:0 0 8px;font-size:14px;font-weight:650;}
.quick-estimate .qp-field input {background:#fff;min-height:50px;font-size:16px;line-height:normal;}
.quick-estimate .form__error {display:block;min-height:0;margin-top:6px;}
.quick-estimate .form__error:empty, .quick-estimate .qp-status:empty {display:none;}
.quick-estimate .qp-field.is-error input {border-color:#a8282f;}
.quick-estimate .qp-cta:disabled {opacity:.58;cursor:wait;}
.quick-estimate .qp-status {font-size:13px;line-height:1.5;margin:14px 0 0;color:#17663b;}
.quick-estimate .qp-status.is-error {color:#a8282f;}
.quick-estimate .qp-legal {font-size:11px;line-height:1.5;margin:0 0 16px;color:var(--muted);}
.quick-estimate .qp-legal a {text-decoration:underline;text-underline-offset:2px;}

.form__success.is-error {color:var(--color-error, #a8282f);}

@media(max-width:950px){.quick-estimate{padding:36px 20px}}
@media(max-width:380px){.quick-estimate{padding:28px 16px}}
