/* Quote request modal */
.quote-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,18,13,.72);backdrop-filter:blur(4px)}
.quote-modal.is-open{display:flex}
.quote-dialog{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:32px}
.quote-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#24352c}
.quote-title{margin:0 42px 7px 0;font-size:30px;line-height:1.15;color:#153326}
.quote-subtitle{margin:0 0 24px;color:#647067;font-size:15px;line-height:1.6}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.quote-field{display:flex;flex-direction:column;gap:7px}
.quote-field.full{grid-column:1/-1}
.quote-field label{font-size:13px;font-weight:700;color:#26382f}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;box-sizing:border-box;border:1px solid #d8dfda;border-radius:9px;padding:12px 13px;font:inherit;color:#1d2b24;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{border-color:#153326;box-shadow:0 0 0 3px rgba(21,51,38,.09)}
.quote-field textarea{min-height:120px;resize:vertical}
.quote-submit{grid-column:1/-1;border:0;border-radius:9px;padding:14px 18px;background:#153326;color:#fff;font-weight:800;font-size:15px;cursor:pointer;transition:transform .15s,opacity .15s}
.quote-submit:hover{transform:translateY(-1px)}
.quote-submit:disabled{opacity:.65;cursor:wait;transform:none}
.quote-status{grid-column:1/-1;display:none;text-align:center;padding:18px 8px}
.quote-status.success{display:block}
.quote-status strong{display:block;color:#153326;font-size:22px;margin-bottom:6px}
.quote-status span{color:#647067;font-size:14px}
.quote-error{grid-column:1/-1;display:none;color:#a12b2b;background:#fff2f2;border:1px solid #f0caca;border-radius:8px;padding:10px 12px;font-size:13px}
.quote-error.show{display:block}
.quote-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:600px){.quote-modal{padding:10px}.quote-dialog{padding:24px 18px;border-radius:14px}.quote-title{font-size:25px}.quote-form{grid-template-columns:1fr}.quote-field.full,.quote-submit,.quote-status,.quote-error{grid-column:auto}}

body.quote-modal-open{overflow:hidden!important}
.quote-modal{display:none!important}.quote-modal.is-open{display:flex!important;visibility:visible!important;opacity:1!important}


/* Persistent call / quote actions */
.floating-call-btn{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99990;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 18px;
  border-radius:999px;
  background:#153326;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  line-height:1;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  transition:transform .18s,box-shadow .18s;
}
.floating-call-btn:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.floating-call-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  font-size:16px;
}
.mobile-action-bar{display:none}

@media(max-width:700px){
  .floating-call-btn{
    right:14px;
    bottom:76px;
    width:48px;
    height:48px;
    padding:0;
    justify-content:center;
    border-radius:50%;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
  }
  .floating-call-btn span:last-child{display:none}
  .floating-call-icon{width:auto;height:auto;font-size:20px}
  .mobile-action-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:99989;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:9px;
    background:rgba(255,255,255,.97);
    box-shadow:0 -6px 24px rgba(0,0,0,.14);
    backdrop-filter:blur(8px);
  }
  .mobile-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    border-radius:8px;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
  }
  .quote-action{background:#153326;color:#fff}
  .call-action{background:#e9efeb;color:#153326;border:1px solid #cfdad2}
  body{padding-bottom:64px}
  body.quote-modal-open{padding-bottom:0}
}
