/* ------------------------------------------------------------------
   Bodotex "Request this product / Request a quote" popup.
   One reusable modal for every product/industry button. On-brand:
   navy #111628, green #007E4C, muted #626D84.
------------------------------------------------------------------ */
.bx-quote-overlay{
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:rgba(17,22,40,.62);
  backdrop-filter:blur(3px);
  opacity:0; visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.bx-quote-overlay.bx-open{ opacity:1; visibility:visible; }

.bx-quote-modal{
  position:relative;
  width:100%; max-width:560px;
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  background:#fff;
  border-radius:16px;
  box-shadow:0 30px 80px rgba(17,22,40,.45);
  padding:38px 40px 34px;
  transform:translateY(14px) scale(.98);
  transition:transform .25s ease;
  font-family:"Poppins",-apple-system,Segoe UI,Roboto,sans-serif;
}
.bx-quote-overlay.bx-open .bx-quote-modal{ transform:none; }

.bx-quote-close{
  position:absolute; top:14px; right:16px;
  width:38px; height:38px;
  border:0; border-radius:50%;
  background:#f3f3f3; color:#111628;
  font-size:22px; line-height:1; cursor:pointer;
  transition:background .2s, color .2s;
}
.bx-quote-close:hover{ background:#111628; color:#fff; }

.bx-quote-modal h3{
  margin:0 0 6px;
  color:#111628;
  font-size:1.7rem; font-weight:700; line-height:1.2;
}
.bx-quote-sub{
  margin:0 0 22px;
  color:#626D84; font-size:.98rem; line-height:1.5;
}

.bx-quote-form{ display:flex; flex-direction:column; gap:14px; }
.bx-quote-row{ display:flex; gap:14px; }
.bx-quote-row > *{ flex:1 1 0; min-width:0; }
.bx-quote-form input,
.bx-quote-form textarea{
  width:100%;
  padding:13px 16px;
  border:1px solid #d9dce5;
  border-radius:9px;
  background:#f7f8fa;
  font:inherit; font-size:.95rem; color:#303030;
  transition:border-color .18s, box-shadow .18s, background .18s;
  box-sizing:border-box;
}
.bx-quote-form input::placeholder,
.bx-quote-form textarea::placeholder{ color:#9aa1b2; }
.bx-quote-form input:focus,
.bx-quote-form textarea:focus{
  outline:0; background:#fff;
  border-color:#007E4C;
  box-shadow:0 0 0 3px rgba(0,126,76,.14);
}
.bx-quote-form textarea{ resize:vertical; min-height:110px; }

.bx-quote-submit{
  align-self:flex-start;
  margin-top:6px;
  padding:13px 34px;
  border:0; border-radius:9px;
  background:#111628; color:#fff;
  font:inherit; font-weight:600; font-size:.95rem; letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s, transform .12s;
}
.bx-quote-submit:hover{ background:#007E4C; }
.bx-quote-submit:active{ transform:translateY(1px); }

.bx-quote-success{
  margin:4px 0 0;
  padding:14px 16px;
  border-radius:9px;
  background:#e8f5ee; color:#007E4C;
  font-size:.92rem; font-weight:600;
}

@media (max-width:520px){
  .bx-quote-modal{ padding:30px 22px 26px; }
  .bx-quote-row{ flex-direction:column; }
  .bx-quote-modal h3{ font-size:1.4rem; }
}
