/* Casa Ruiz reusable proposal form */
.cr-lead-modal-open{overflow:hidden}
.cr-lead-dialog[hidden]{display:none!important}
.cr-lead-dialog{position:fixed;inset:0;background:rgba(20,24,28,.68);z-index:1100;display:flex;justify-content:center;align-items:center;padding:18px;overflow-y:auto}
.cr-lead-panel{position:relative;width:min(780px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:#f7f7f7;color:#201e1d;border:1px solid #c6c2c2;padding:clamp(24px,4vw,44px);box-shadow:0 22px 90px #0005}
.cr-lead-panel h2{font:600 clamp(30px,4vw,48px)/1.1 "Source Serif 4",Georgia,serif;letter-spacing:-.025em;margin:7px 0 8px;max-width:none}
.cr-lead-sub{color:#615b5b;margin:0 0 15px}
.cr-lead-eyebrow{font-size:11px;color:#0088b0;letter-spacing:.13em;text-transform:uppercase}
.cr-lead-selection{padding:12px 15px;background:#eae7e7;border-left:3px solid #0088b0;font-size:.92rem;margin-bottom:16px}
.cr-lead-panel form{display:grid;gap:11px}
.cr-lead-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cr-lead-panel label{font-size:.88rem;font-weight:600;display:block}
.cr-lead-panel input:not([type=checkbox]),.cr-lead-panel textarea{font-family:inherit;font-size:16px;display:block;width:100%;border:1px solid #c2bcbc;border-radius:2px;background:#fff;padding:10px;margin-top:5px;color:#201e1d;outline-offset:2px}
.cr-lead-panel input:focus,.cr-lead-panel textarea:focus{outline:2px solid #0088b0}
.cr-lead-panel textarea{resize:vertical;min-height:76px}
.cr-lead-close{position:absolute;right:15px;top:10px;font-size:31px;line-height:1;background:transparent;border:0;cursor:pointer;padding:4px 10px}
.cr-lead-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.83rem!important}
.cr-lead-consent input{margin-top:5px;flex:none}
.cr-lead-consent a{color:#00668b;text-decoration:underline}
.cr-lead-hp{position:absolute;left:-50000px;height:1px;overflow:hidden}
.cr-lead-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:4px}
.cr-lead-send{padding:13px 20px;background:#201e1d;color:#fff;border:0;font:600 1rem "Source Serif 4",Georgia,serif;cursor:pointer;min-height:46px}
.cr-lead-send:hover{background:#006f94}
.cr-lead-send:disabled{opacity:.6;cursor:wait}
.cr-lead-actions>a{color:#00668b;text-decoration:underline;font-weight:600}
.cr-lead-note{font-size:.82rem;color:#615b5b;margin:0}
.cr-lead-feedback{font-size:.92rem;color:#005d79;font-weight:600;margin:0}
.cr-plan .cr-wa-direct{font-size:.82rem;color:#00668b;text-align:center;padding-top:14px;font-weight:600;text-decoration:underline}
.cr-plan .cr-wa-direct:hover{color:#201e1d}
.cr-cta-extra{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:25px}
.cr-cta-extra .cr-button-light{margin:0}
.cr-cta-extra a:last-child{color:#fff;text-decoration:underline}
.cr-contact-form-cta{padding:42px 25px;border:1px solid #c2bcbc;background:#fff}
.cr-contact-form-cta h2{max-width:none}
.cr-contact-form-cta p{max-width:60ch}
.cr-contact-form-cta button{border:0;background:#201e1d;color:#fff;padding:14px 22px;cursor:pointer;font:600 1rem "Source Serif 4",Georgia,serif}
.cr-contact-form-cta button:hover{background:#006f94}
@media(max-width:630px){.cr-lead-row{grid-template-columns:1fr}.cr-lead-dialog{padding:8px;align-items:flex-start}.cr-lead-panel{max-height:calc(100dvh - 16px);padding:22px 18px}.cr-lead-actions{flex-direction:column;align-items:stretch}.cr-lead-actions>a{text-align:center;padding:9px}.cr-lead-close{top:2px;right:6px}.cr-lead-panel form{gap:9px}}

/* Confirmation replaces the form only after the server accepts the request. */
.cr-lead-panel [hidden]{display:none!important}
.cr-lead-panel.cr-lead-confirmed{max-width:640px;padding:clamp(28px,6vw,65px)}
.cr-lead-confirmed>.cr-lead-eyebrow,
.cr-lead-confirmed>#cr-lead-title,
.cr-lead-confirmed>.cr-lead-sub,
.cr-lead-confirmed>.cr-lead-selection{display:none}
.cr-lead-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 0 0;outline:none}
.cr-lead-success-icon{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;border:2px solid #087c94;background:#e8f6f8;color:#087c94;margin-bottom:24px}
.cr-lead-success-icon span{font:600 2.3rem/1 "Source Serif 4",Georgia,serif}
.cr-lead-success-eyebrow{color:#00799d;font-size:.72rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase;margin:0 0 12px}
.cr-lead-panel .cr-lead-success-title{font:600 clamp(2.2rem,5vw,3.3rem)/1.12 "Source Serif 4",Georgia,serif;margin:0 0 14px;color:#201e1d;letter-spacing:-.03em}
.cr-lead-success-description{color:#615b5b;font-size:1.05rem;max-width:43ch;margin:0 auto 22px}
.cr-lead-success-plan{padding:11px 18px;background:#eae7e7;color:#201e1d;font-size:.91rem;font-weight:600;max-width:100%;overflow-wrap:anywhere}
.cr-lead-success-actions{display:flex;flex-direction:column;align-items:stretch;gap:13px;width:min(100%,340px);margin-top:28px}
.cr-lead-success-wa{background:#201e1d;color:#fff!important;text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 18px;font:600 1.05rem "Source Serif 4",Georgia,serif}
.cr-lead-success-wa:hover{background:#006f94}
.cr-lead-success-back{border:1px solid #bcb5b5;background:transparent;color:#201e1d;min-height:46px;font:600 1rem "Source Serif 4",Georgia,serif;cursor:pointer}
.cr-lead-success-back:hover{background:#eae7e7}
@media(max-width:630px){.cr-lead-panel.cr-lead-confirmed{padding:32px 20px}.cr-lead-success{padding-top:18px}.cr-lead-success-icon{width:65px;height:65px;margin-bottom:20px}.cr-lead-success-actions{width:100%}}
@media(prefers-reduced-motion:reduce){.cr-lead-success-wa,.cr-lead-success-back{transition:none}}

/* Mobile keyboard stability: one scroll container, fixed page underneath. */
.cr-lead-dialog{overscroll-behavior:contain}
.cr-lead-panel{box-sizing:border-box;overscroll-behavior:contain}
@media(max-width:630px){
  .cr-lead-dialog{
    top:var(--cr-visible-top,0px);
    bottom:auto;
    height:var(--cr-visible-height,100dvh);
    width:100%;
    padding:0;
    display:block;
    overflow:hidden;
    overscroll-behavior:none;
  }
  .cr-lead-panel{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    height:100%;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:auto;
    scroll-padding-block:20px;
    border:0;
    border-radius:0;
    padding:22px 20px calc(24px + env(safe-area-inset-bottom));
    margin:0;
  }
  .cr-lead-panel.cr-lead-confirmed{min-height:0;max-height:none}
}

/* Floating direct WhatsApp on the plans pages, always behind the proposal dialog. */
.cr-lead-selection{white-space:pre-line;overflow-wrap:anywhere;line-height:1.55}
.cr-wa-floating{position:fixed;right:clamp(14px,2.5vw,38px);bottom:calc(22px + env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;gap:10px;padding:13px 18px;background:#201e1d;color:#fff!important;border:1px solid #504a4a;box-shadow:0 9px 30px #0004;text-decoration:none;border-radius:28px;font:600 15px/1.2 "Source Serif 4",Georgia,serif;transition:transform .2s,box-shadow .2s}
.cr-wa-floating:hover{transform:translateY(-2px);box-shadow:0 12px 35px #0005}
.cr-wa-floating:focus-visible{outline:3px solid #0088b0;outline-offset:3px}
.cr-wa-floating-icon{width:21px;height:21px;display:grid;place-items:center;flex:none;background:#25d366;color:#fff;border-radius:50%;font-size:11px;line-height:1;position:relative}
.cr-wa-floating-icon::after{content:"";position:absolute;bottom:-2px;left:1px;border:4px solid transparent;border-left-color:#25d366;transform:rotate(16deg)}
@media(max-width:630px){.cr-wa-floating{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:11px 14px;font-size:14px}}
