/* fb-oneclick: V12-styled quick order button + modal */

/* ---------- Product page button (red, full width) ---------- */
.fboc-open{
  display:block;
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:14px !important;
  line-height:48px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  margin:10px 0 0 !important;
  background:#e8183a !important;
  color:#fff !important;
  font-family:'Montserrat','Manrope',sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  cursor:pointer;
  transition:background .2s cubic-bezier(.22,.9,.22,1), transform .15s cubic-bezier(.22,.9,.22,1);
}
.fboc-open:hover{ background:#c8102e !important; color:#fff !important; }
.fboc-open:active{ transform:scale(.98); }

/* ---------- Backdrop ---------- */
.fboc-backdrop{
  position:fixed; inset:0; z-index:99999;
  background:rgba(6,6,9,.66);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  display:flex; align-items:flex-end; justify-content:center;
  padding:0;
  animation:fboc-fade .25s cubic-bezier(.22,.9,.22,1);
}
.fboc-backdrop[hidden]{ display:none; }
@media (min-width:600px){
  .fboc-backdrop{ align-items:center; padding:20px; }
}
@keyframes fboc-fade{ from{opacity:0} to{opacity:1} }

/* ---------- Modal ---------- */
.fboc-modal{
  position:relative;
  width:100%; max-width:420px;
  background:#181820;
  border:1px solid rgba(201,164,78,.30);
  border-radius:24px 24px 0 0;
  padding:22px 18px 18px;
  color:#f4f1ea;
  font-family:'Montserrat','Manrope',sans-serif;
  box-shadow:0 -8px 40px rgba(0,0,0,.5);
  animation:fboc-up .35s cubic-bezier(.34,1.56,.64,1);
}
@media (min-width:600px){
  .fboc-modal{ border-radius:24px; box-shadow:0 20px 60px rgba(0,0,0,.55); }
}
@keyframes fboc-up{ from{ transform:translateY(24px); opacity:.6 } to{ transform:translateY(0); opacity:1 } }

.fboc-x{
  position:absolute; top:10px; right:10px;
  width:36px !important; height:36px !important;
  min-width:36px !important; min-height:36px !important;
  padding:0 !important; border:0 !important; border-radius:10px !important;
  line-height:36px !important; text-transform:none !important; letter-spacing:0 !important;
  background:transparent !important; color:rgba(244,241,234,.55) !important;
  font-size:22px !important; cursor:pointer;
}
.fboc-x:hover{ color:#f4f1ea !important; background:rgba(255,255,255,.05) !important; }

.fboc-eyebrow{
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#e8c97a; margin:0 0 6px;
}
.fboc-title{
  margin:0 0 6px !important; padding:0;
  font-family:'Montserrat','Manrope',sans-serif !important;
  font-size:18px !important; font-weight:700 !important; line-height:1.3 !important;
  color:#f4f1ea !important;
}
.fboc-sub{ font-size:13px; line-height:1.45; color:rgba(244,241,234,.65); margin:0 0 14px; }

/* ---------- Form ---------- */
.fboc-form{ display:flex; flex-direction:column; gap:10px; margin:0; }
.fboc-inp{
  width:100%; height:48px;
  padding:0 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(201,164,78,.22);
  border-radius:14px;
  color:#f4f1ea;
  font-family:'Montserrat','Manrope',sans-serif;
  font-size:14px;
  outline:none;
  transition:border-color .2s cubic-bezier(.22,.9,.22,1), background .2s;
  box-sizing:border-box;
}
.fboc-inp::placeholder{ color:rgba(244,241,234,.35); }
.fboc-inp:focus{ border-color:rgba(201,164,78,.5); background:rgba(255,255,255,.06); }

.fboc-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

.fboc-consent{
  display:flex; align-items:flex-start; gap:8px;
  font-size:12px; line-height:1.4; color:rgba(244,241,234,.6);
  cursor:pointer; user-select:none; margin:2px 0 0;
}
.fboc-consent input{
  width:16px; height:16px; margin:1px 0 0;
  accent-color:#c9a44e; flex:0 0 auto;
}

.fboc-err{
  font-size:13px; line-height:1.4; color:#ff4060;
  background:rgba(232,24,58,.08);
  border:1px solid rgba(232,24,58,.25);
  border-radius:10px; padding:8px 10px;
}

.fboc-submit, .fboc-close2{
  display:block;
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:14px !important;
  line-height:48px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-family:'Montserrat','Manrope',sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  cursor:pointer;
  transition:background .2s cubic-bezier(.22,.9,.22,1), transform .15s;
}
.fboc-submit{ background:#e8183a !important; color:#fff !important; margin-top:4px; }
.fboc-submit:hover{ background:#c8102e !important; }
.fboc-submit:active{ transform:scale(.98); }
.fboc-submit[disabled]{ opacity:.6; cursor:default; }

.fboc-close2{
  background:rgba(201,164,78,.14) !important;
  border:1px solid rgba(201,164,78,.30) !important;
  line-height:46px !important;
  color:#e8c97a !important;
  margin-top:16px;
}
.fboc-close2:hover{ background:rgba(201,164,78,.22) !important; }

/* ---------- Success view ---------- */
.fboc-view-done{ text-align:center; padding:12px 0 4px; }
.fboc-check{
  width:64px; height:64px; margin:4px auto 12px;
  border:2px solid rgba(201,164,78,.5); border-radius:50%;
  color:#e8c97a; font-size:30px; line-height:60px;
}
.fboc-done-title{ font-size:18px; font-weight:800; margin-bottom:6px; }
.fboc-done-sub{ font-size:13px; line-height:1.5; color:rgba(244,241,234,.65); }
.fboc-onum{ color:#e8c97a; font-weight:700; }

/* ---------- Body scroll lock ---------- */
body.fboc-lock{ overflow:hidden; }
