/* ============================================================
   DESIGN INTEND — modals.css
   Lead capture modals (deferred — not on critical path)
   ============================================================ */

/* ---- HERO ESTIMATE MODAL ---- */
#diEstOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9100;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:1rem}
#diEstOverlay.open{display:flex}
#diEstModal{background:#1A1816;width:100%;max-width:440px;padding:2rem 1.75rem 2.25rem;position:relative;border:1px solid rgba(212,144,10,0.2);box-shadow:0 24px 80px rgba(0,0,0,0.7);animation:estIn 0.28s ease}
@keyframes estIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.est-close{position:absolute;top:1rem;right:1rem;background:none;border:1px solid rgba(255,255,255,0.12);color:rgba(253,252,250,0.45);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:0.85rem;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,color 0.2s}
.est-close:hover{border-color:var(--terracotta);color:var(--terracotta)}
.est-tag{font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--terracotta);margin-bottom:0.65rem}
.est-title{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:0.05em;color:#FDFCFA;line-height:1.05;margin-bottom:0.4rem}
.est-title span{color:var(--terracotta)}
.est-sub{font-size:0.75rem;color:rgba(253,252,250,0.38);line-height:1.55;margin-bottom:1.4rem}
.est-field{margin-bottom:0.85rem}
.est-field label{display:block;font-size:0.6rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(253,252,250,0.38);margin-bottom:0.35rem}
.est-field input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#FDFCFA;font-family:'Inter',sans-serif;font-size:0.875rem;padding:0.65rem 0.85rem;outline:none;transition:border-color 0.2s;box-sizing:border-box;-webkit-appearance:none}
.est-field input:focus{border-color:var(--terracotta)}
.est-field input::placeholder{color:rgba(253,252,250,0.2)}
.est-field input.est-err{border-color:#e05252}
.est-btn{width:100%;background:var(--terracotta);color:#000;font-family:'Inter',sans-serif;font-size:0.75rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;padding:0.9rem;border:none;cursor:pointer;margin-top:0.4rem;transition:background 0.2s}
.est-btn:hover{background:#F0A820}
.est-btn:disabled{opacity:0.45;cursor:not-allowed}
.est-note{font-size:0.63rem;color:rgba(253,252,250,0.25);text-align:center;margin-top:0.6rem;line-height:1.5}
.est-ok{display:none;text-align:center;padding:1rem 0}
.est-ok-icon{width:44px;height:44px;background:rgba(37,211,102,0.12);border:1.5px solid rgba(37,211,102,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#25D366;margin:0 auto 1rem}
.est-ok h3{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#FDFCFA;letter-spacing:0.06em;margin-bottom:0.4rem}
.est-ok p{font-size:0.78rem;color:rgba(253,252,250,0.4);line-height:1.6;margin-bottom:1.25rem}
.est-ok-calc{display:inline-block;background:var(--terracotta);color:#000;font-size:0.72rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;padding:0.7rem 1.5rem;text-decoration:none;transition:background 0.2s}
.est-ok-calc:hover{background:#F0A820}

/* ---- ZOHO CRM SLIDE PANEL ---- */
#diCrmOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:9000;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#diCrmOverlay.open{display:block}
#diCrmPanel{position:fixed;top:0;right:-500px;width:100%;max-width:460px;height:100%;background:#1A1816;z-index:9001;overflow-y:auto;transition:right 0.38s cubic-bezier(0.25,0.46,0.45,0.94);padding:2.25rem 1.75rem 3rem;box-shadow:-8px 0 50px rgba(0,0,0,0.6);border-left:1px solid rgba(212,144,10,0.2)}
#diCrmPanel.open{right:0}
.di-ph{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,0.08)}
.di-pt{font-family:'Bebas Neue',sans-serif;font-size:1.85rem;letter-spacing:0.06em;color:#FDFCFA;line-height:1.05}
.di-pt span{color:#D4900A}
.di-ps{font-family:'Inter',sans-serif;font-size:0.71rem;color:rgba(253,252,250,0.4);margin-top:0.3rem;line-height:1.5}
.di-cx{background:none;border:1px solid rgba(255,255,255,0.12);color:rgba(253,252,250,0.5);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:0.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.2s,color 0.2s;margin-top:2px}
.di-cx:hover{border-color:#D4900A;color:#D4900A}
.di-fl{margin-bottom:0.95rem}
.di-fl label{display:block;font-family:'Inter',sans-serif;font-size:0.64rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(253,252,250,0.4);margin-bottom:0.38rem}
.di-fl label span{color:#D4900A}
.di-fl input,.di-fl textarea{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#FDFCFA;font-family:'Inter',sans-serif;font-size:0.875rem;padding:0.68rem 0.9rem;border-radius:4px;outline:none;transition:border-color 0.2s,background 0.2s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none}
.di-fl textarea{height:88px;resize:vertical}
.di-fl input:focus,.di-fl textarea:focus{border-color:#D4900A;background:rgba(212,144,10,0.05)}
.di-fl input::placeholder,.di-fl textarea::placeholder{color:rgba(253,252,250,0.2);font-size:0.82rem}
.di-2col{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem}
.di-sbm{width:100%;background:#D4900A;color:#000;font-family:'Inter',sans-serif;font-size:0.74rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;padding:0.9rem;border:none;border-radius:4px;cursor:pointer;transition:background 0.2s;margin-top:0.6rem}
.di-sbm:hover{background:#F0A820}
.di-sbm:disabled{opacity:0.45;cursor:not-allowed}
.di-note{font-family:'Inter',sans-serif;font-size:0.66rem;color:rgba(253,252,250,0.3);text-align:center;margin-top:0.65rem;line-height:1.55}
.di-ok{display:none;text-align:center;padding:3rem 0 2rem}
.di-ok-ic{width:50px;height:50px;background:#D4900A;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.3rem;color:#000}
.di-ok h3{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;color:#FDFCFA;letter-spacing:0.06em;margin-bottom:0.5rem}
.di-ok p{font-family:'Inter',sans-serif;font-size:0.82rem;color:rgba(253,252,250,0.45);line-height:1.65}
.di-ok-wa{display:inline-flex;align-items:center;gap:0.45rem;margin-top:1.5rem;background:#25D366;color:#fff;font-family:'Inter',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.6rem 1.2rem;border-radius:30px;text-decoration:none}
#diCrmTrigger{position:fixed;bottom:90px;right:1.25rem;z-index:8998;background:#D4900A;color:#000;font-family:'Inter',sans-serif;font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;padding:0.58rem 1rem;border:none;border-radius:30px;cursor:pointer;box-shadow:0 4px 18px rgba(212,144,10,0.45);transition:background 0.2s,transform 0.2s,box-shadow 0.2s;display:flex;align-items:center;gap:0.4rem;white-space:nowrap}
#diCrmTrigger:hover{background:#F0A820;transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,144,10,0.55)}
@media(max-width:520px){#diCrmPanel{max-width:100%;padding:1.5rem 1rem 2.5rem}.di-2col{grid-template-columns:1fr}}
