/* SC Back in Stock — styled to sit under the VSH pack pills (same radius, height, tints, badges).
   `!important` throughout for the same reason VSH uses it: Breakdance's WooCommerce CSS restyles
   labels, inputs and buttons inside .breakdance-woocommerce and would otherwise win. */
.scbis{
  --scbis-forest:#1C3A2A;
  --scbis-green:#29A34E;
  --scbis-fem:rgba(175,234,128,.10);
  --scbis-fem-strong:rgba(175,234,128,.22);
  --scbis-reg:rgba(243,233,215,.92);
  --scbis-hi:rgba(255,214,0,.18);
  --scbis-line:rgba(28,58,42,.22);
  --scbis-muted:rgba(17,24,39,.55);
  position:relative !important;
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:var(--scbis-forest) !important;
  text-align:left !important;
}
[dir="rtl"] .scbis{ text-align:right !important; }
.scbis *,.scbis *::before,.scbis *::after{ box-sizing:border-box !important; }
.scbis [hidden]{ display:none !important; }

/* The trigger: a row the same shape as a pack pill */
.scbis__btn{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important;
  width:100% !important; min-height:40px !important; margin:0 !important; padding:9px 12px !important;
  background:#fff !important; color:var(--scbis-forest) !important;
  border:1px solid var(--scbis-forest) !important; border-radius:14px !important;
  font:inherit !important; font-size:14px !important; font-weight:700 !important; line-height:1.2 !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer !important;
  transition:background .15s ease, border-color .15s ease !important;
}
.scbis__btn:hover,.scbis__btn:focus-visible{ background:var(--scbis-hi) !important; border-color:var(--scbis-forest) !important; outline:none !important; }
.scbis__bell{ display:inline-flex !important; line-height:1 !important; }
.scbis__bell img{ width:16px !important; height:16px !important; display:block !important; max-width:none !important; }

.scbis__done{
  display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:6px !important;
  min-height:40px !important; margin:0 !important; padding:9px 12px !important; border-radius:14px !important;
  background:var(--scbis-fem-strong) !important; border:1px solid rgba(41,163,78,.45) !important;
  font-weight:600 !important;
}
.scbis__more{
  margin:0 0 0 auto !important; padding:2px 4px !important; background:none !important; border:0 !important; box-shadow:none !important;
  color:var(--scbis-green) !important; font:inherit !important; font-size:13px !important; font-weight:700 !important; text-decoration:underline !important; cursor:pointer !important;
}
[dir="rtl"] .scbis__more{ margin:0 auto 0 0 !important; }

/* Panel */
.scbis__panel{
  margin:8px 0 0 !important; padding:14px !important;
  background:#fff !important; border:1px solid var(--scbis-line) !important; border-radius:14px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
}
.scbis__head{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin:0 0 4px !important; }
.scbis__head strong{ font-size:15px !important; font-weight:700 !important; color:var(--scbis-forest) !important; }
.scbis__close{
  flex:0 0 auto !important; width:32px !important; height:32px !important; margin:-6px -8px 0 0 !important; padding:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important; border-radius:50% !important;
  color:var(--scbis-muted) !important; font-size:24px !important; line-height:1 !important; cursor:pointer !important;
}
[dir="rtl"] .scbis__close{ margin:-6px 0 0 -8px !important; }
.scbis__close:hover{ background:#F3F4F6 !important; }
.scbis__intro{ margin:0 0 10px !important; color:#555 !important; font-size:13px !important; line-height:1.45 !important; }

/* Option list: scrolls inside the panel when long, so the email field is never far away */
.scbis__opts{
  max-height:min(44vh, 320px) !important; overflow-y:auto !important; overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important; margin:0 -4px !important; padding:2px 4px !important;
  scrollbar-width:thin !important;
}
.scbis__group{ margin:0 0 8px !important; }
.scbis__group:last-child{ margin-bottom:0 !important; }
.scbis__group-title{
  margin:6px 0 6px !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:#666 !important;
}
.scbis__opt{
  display:flex !important; align-items:center !important; gap:10px !important;
  width:100% !important; margin:0 0 6px !important; padding:9px 12px !important; min-height:40px !important;
  border:1px solid var(--scbis-line) !important; border-radius:14px !important;
  background:var(--scbis-fem) !important; color:var(--scbis-forest) !important;
  font-size:14px !important; font-weight:600 !important; line-height:1.2 !important;
  cursor:pointer !important; user-select:none !important; text-align:left !important;
}
[dir="rtl"] .scbis__opt{ text-align:right !important; }
.scbis__opt:last-child{ margin-bottom:0 !important; }
.scbis__opt[data-scbis-type="reg"]{ background:var(--scbis-reg) !important; border-color:#D6DDE3 !important; }
.scbis__opt--any{ background:#fff !important; border-style:dashed !important; font-weight:700 !important; }
.scbis__opt:hover{ border-color:var(--scbis-forest) !important; }
.scbis__opt.is-locked{ opacity:.6 !important; cursor:default !important; }
.scbis__opt-text{ flex:1 1 auto !important; min-width:0 !important; }

/* Our own tick box: Breakdance strips the native one (appearance:none) */
.scbis__opt input[type="checkbox"]{
  position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important;
  opacity:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; border:0 !important;
}
.scbis__box{
  flex:0 0 auto !important; display:inline-block !important; width:18px !important; height:18px !important;
  border:2px solid rgba(28,58,42,.45) !important; border-radius:5px !important; background:#fff !important; position:relative !important;
}
.scbis__opt input:checked ~ .scbis__box{ background:var(--scbis-green) !important; border-color:var(--scbis-green) !important; }
.scbis__opt input:checked ~ .scbis__box::after{
  content:"" !important; position:absolute !important; left:5px !important; top:1px !important; width:5px !important; height:10px !important;
  border:solid #fff !important; border-width:0 2px 2px 0 !important; transform:rotate(45deg) !important;
}
.scbis__opt input:focus-visible ~ .scbis__box{ box-shadow:0 0 0 3px rgba(255,214,0,.45) !important; }
.scbis__opt:has(input:checked){ border-color:var(--scbis-forest) !important; box-shadow:0 0 0 2px rgba(28,58,42,.12) !important; }

.scbis__badge{
  flex:0 0 auto !important; display:inline-block !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.06em !important; line-height:1.3 !important;
  padding:2px 8px !important; border-radius:999px !important; color:#fff !important; background:var(--scbis-green) !important;
}
.scbis__badge--reg{ background:#8A6D3B !important; }

.scbis__email-label{ display:block !important; margin:12px 0 0 !important; padding:0 !important; }
.scbis__email-label > span{ display:block !important; margin:0 0 4px !important; font-size:12px !important; font-weight:700 !important; color:#666 !important; }
.scbis__email{
  display:block !important; width:100% !important; min-height:44px !important; margin:0 !important; padding:10px 12px !important;
  border:1px solid rgba(28,58,42,.3) !important; border-radius:10px !important; font:inherit !important; font-size:16px !important; /* 16px stops iOS zoom */
  background:#fff !important; color:var(--scbis-forest) !important; box-shadow:none !important;
}
.scbis__email:focus{ outline:none !important; border-color:var(--scbis-forest) !important; box-shadow:0 0 0 2px rgba(255,214,0,.35) !important; }

.scbis__hp{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.scbis__ts{ margin:8px 0 0 !important; }
.scbis__ts:empty{ display:none !important; }
.scbis__ts iframe{ max-width:100% !important; }

.scbis__submit{
  display:block !important; width:100% !important; min-height:44px !important; margin:10px 0 0 !important; padding:11px 16px !important;
  background:var(--scbis-green) !important; color:#fff !important; border:0 !important; border-radius:10px !important;
  font:inherit !important; font-size:15px !important; font-weight:700 !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer !important;
  box-shadow:0 2px 8px rgba(41,163,78,.25) !important;
}
.scbis__submit:hover{ background:#23903F !important; }
.scbis__submit:disabled{ opacity:.6 !important; cursor:wait !important; }

.scbis__msg{ margin:8px 0 0 !important; font-size:13px !important; font-weight:600 !important; }
.scbis__msg:empty{ display:none !important; }
.scbis__msg.is-ok{ color:var(--scbis-green) !important; }
.scbis__msg.is-error{ color:#B42318 !important; }
.scbis__small{ margin:8px 0 0 !important; font-size:12px !important; line-height:1.4 !important; color:#888 !important; }

.scbis__bank{
  position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important;
  clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; pointer-events:none !important;
}

/* While open, the backdrop + panel live in a host appended to <body> (never inside the sticky
   purchase column, which would otherwise grow taller than the viewport). Mobile: bottom sheet
   (same breakpoint as VSH). Desktop: centred dialog. */
.scbis.scbis--sheet{ position:static !important; width:0 !important; height:0 !important; margin:0 !important; }
.scbis.scbis--sheet .scbis__backdrop{
  position:fixed !important; inset:0 !important; z-index:2147483000 !important; background:rgba(17,24,39,.45) !important;
}
.scbis.scbis--sheet .scbis__panel{
  position:fixed !important; z-index:2147483001 !important; margin:0 !important;
  overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain !important;
}
html.scbis-lock, html.scbis-lock body{ overflow:hidden !important; }
/* Floating language / currency buttons sit at z-index 999999 and would cover the email field */
html.scbis-lock #acfs-wrap{ display:none !important; }

@media (max-width:1023px){
  .scbis.scbis--sheet .scbis__panel{
    left:0 !important; right:0 !important; bottom:0 !important; max-height:88vh !important;
    border-radius:16px 16px 0 0 !important; border:0 !important;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom)) !important;
    box-shadow:0 -10px 30px rgba(0,0,0,.18) !important;
  }
  .scbis.scbis--sheet .scbis__opts{ max-height:min(42vh, 360px) !important; }
}
@media (min-width:1024px){
  .scbis.scbis--modal .scbis__panel{
    left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
    width:min(460px, calc(100vw - 32px)) !important; max-height:min(86vh, 720px) !important;
    padding:18px 18px 16px !important; border-radius:16px !important; border:0 !important;
    box-shadow:0 20px 50px rgba(0,0,0,.25) !important;
  }
  .scbis.scbis--modal .scbis__opts{ max-height:min(46vh, 380px) !important; }
}

@media (prefers-reduced-motion: reduce){
  .scbis__btn{ transition:none !important; }
}
