/* Get Custom Quote modal */
.quote-modal{position:fixed;inset:0;z-index:100000010;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.quote-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.quote-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.quote-modal__dialog{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:12px;padding:36px 32px 28px;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.quote-modal__close{position:absolute;top:12px;right:16px;width:36px;height:36px;border:none;background:transparent;font-size:28px;line-height:1;color:#666;cursor:pointer;transition:color .2s}
.quote-modal__close:hover{color:var(--color,#CB451B)}
.quote-modal__title{margin:0 0 24px;font-size:22px;font-weight:700;text-align:center;color:#222}
.quote-modal__row--2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-modal__field{margin-bottom:16px}
.quote-modal__field-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.quote-modal__field label{display:block;margin-bottom:0;font-size:14px;font-weight:600;color:#333}
.quote-modal__count{flex-shrink:0;font-size:12px;font-weight:400;color:#999;white-space:nowrap}
.quote-modal__count.is-near-limit{color:#f57c00}
.quote-modal__count.is-over{color:#e53935}
.quote-modal__err-src{display:none!important}
.quote-modal__req{color:var(--color,#CB451B)}
.quote-modal__field input,.quote-modal__field textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;font-family:inherit;color:#333;background:#fff;transition:border-color .2s}
.quote-modal__field input:focus,.quote-modal__field textarea:focus{outline:none;border-color:var(--color,#CB451B)}
.quote-modal__field input.is-error,.quote-modal__field textarea.is-error{border-color:#e53935}
.quote-modal__field textarea{resize:vertical;min-height:110px}
.quote-modal__captcha-row{display:flex;align-items:center;gap:10px}
.quote-modal__captcha-row input{flex:1;min-width:0}
.quote-modal__captcha-img{flex-shrink:0;height:40px;width:auto;border-radius:6px;cursor:pointer;border:1px solid #eee}
.quote-modal__submit{display:block;width:100%;max-width:280px;margin:8px auto 0;padding:12px 24px;border:none;border-radius:999px;background:var(--color,#CB451B);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,box-shadow .2s}
.quote-modal__submit:hover:not(:disabled){opacity:.92;box-shadow:0 4px 14px rgba(203,69,27,.35)}
.quote-modal__submit:disabled{opacity:.65;cursor:not-allowed}
.quote-modal__note{margin:14px 0 0;font-size:12px;line-height:1.5;text-align:center;color:#999}
.quote-modal__result{padding:12px 8px 4px;text-align:center}
.quote-modal__result-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;line-height:1}
.quote-modal.is-result .quote-modal__title,.quote-modal.is-result .quote-modal__form{display:none}
.quote-modal.is-result .quote-modal__result{display:block}
.quote-modal__result[hidden]{display:none!important}
.quote-modal__result-title{margin:0 0 10px;font-size:22px;font-weight:700;color:#222}
.quote-modal__result-text{margin:0 auto 24px;max-width:420px;font-size:15px;line-height:1.6;color:#666}
.quote-modal__result-panel--success .quote-modal__result-icon{background:rgba(203,69,27,.12);color:var(--color,#CB451B);box-shadow:0 8px 24px rgba(203,69,27,.15)}
.quote-modal__result-panel--success .quote-modal__result-icon::before{content:"✓"}
.quote-modal__result-panel--error .quote-modal__result-icon{background:rgba(229,57,53,.1);color:#e53935;box-shadow:0 8px 24px rgba(229,57,53,.12)}
.quote-modal__result-panel--error .quote-modal__result-icon::before{content:"!"}
.quote-modal__result-panel[hidden]{display:none!important}
.quote-modal__result-btn{margin-top:4px}
@media (max-width:768px){
  .quote-modal__dialog{padding:28px 20px 22px}
  .quote-modal__row--2col{grid-template-columns:1fr;gap:0}
}
@media (max-width:480px){
  .quote-modal{padding:60px 12px 12px}
  .quote-modal__dialog{padding:20px 16px 18px;max-height:calc(100vh - 72px);border-radius:10px}
  .quote-modal__title{font-size:20px;margin-bottom:18px}
  .quote-modal__field label{font-size:13px}
  .quote-modal__field input,.quote-modal__field textarea{font-size:14px;padding:9px 12px}
  .quote-modal__submit{max-width:none;width:100%;font-size:15px;padding:11px 20px}
}
