:root{--gold1:#e2cc8f;--gold2:#a38342;--ink:#0c0c0d;--cream:#f3e9c9;--rose:#a65c6b}
.bsw-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:999999}
.bsw-overlay.show{display:flex;animation:bswFadeIn .4s ease-out}
@keyframes bswFadeIn{from{opacity:0}to{opacity:1}}
.bsw-modal{position:relative;background:linear-gradient(180deg,#101613,#0b100d);border:1px solid rgba(226,204,143,.35);border-radius:18px;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,.3);width:min(520px,92svw)}
.bsw-close{position:absolute;top:12px;right:12px;background:transparent;border:1px solid rgba(226,204,143,.35);color:var(--gold1);width:36px;height:36px;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bsw-header{text-align:center;margin-bottom:10px}
.bsw-title{font-family:'Playfair Display',serif;font-size:28px;line-height:1.2;background:linear-gradient(180deg,var(--gold1),var(--gold2));-webkit-background-clip:text;color:transparent;margin:10px 0 4px}
.bsw-sub{color:#d8d3c2;font-size:14px;margin-bottom:14px}
.bsw-stage{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}
.bsw-pointer{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:24px solid var(--gold1);filter:drop-shadow(0 2px 2px rgba(0,0,0,.4));margin:auto;margin-bottom:-10px;z-index:2;position:relative}
#bswWheel{display:block;width:min(80vw,70vh);max-width:340px;height:auto;border-radius:50%;background:radial-gradient(circle,#111 0%,#0b100d 65%,#060907 100%);box-shadow:0 0 0 2px rgba(226,204,143,.35)}
#bswConfetti{position:absolute;inset:calc(56px + 60px) auto auto auto;pointer-events:none;display:none}
.bsw-spin{margin-top:14px;width:100%;padding:12px 14px;border:1px solid rgba(226,204,143,.5);border-radius:12px;background:transparent;color:var(--gold1);font-weight:700;letter-spacing:.2px}
.bsw-result{margin-top:12px;text-align:center;color:var(--cream)}
.bsw-copy{margin-left:8px;border-radius:10px;padding:8px 10px;border:1px solid rgba(226,204,143,.5);background:transparent;color:var(--gold1)}
.bsw-continue{margin-left:8px;border-radius:10px;padding:8px 10px;border:0;background:var(--gold1);color:#000;font-weight:700}
@media (max-width:480px){
  .bsw-modal{padding:16px 16px 24px; border-radius:16px}
  #bswWheel{max-width:300px}
  .bsw-close:hover{transform:none !important;background:rgba(255,255,255,.08) !important;color:var(--gold1) !important}
  .bsw-modal{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)) !important}
}

/* --- Harden buttons against theme/Elementor/WoodMart overrides --- */
.bsw-modal button,
.bsw-modal .bsw-spin,
.bsw-modal .bsw-copy,
.bsw-modal .bsw-continue{
  box-sizing:border-box;
  font-family:'Playfair Display',serif;
  font-weight:700;
  letter-spacing:.2px;
  appearance:none;
  -webkit-appearance:none;
  text-transform:none;
}

/* Reset generic theme button styles inside the modal */
.bsw-modal button{
  background:transparent !important;
  border:0;
  color:inherit;
  padding:0;
  margin:0;
  line-height:1;
  border-radius:0;
}

/* Explicit styles with specificity + !important where needed */
.bsw-modal .bsw-spin{
  margin-top:14px;
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(226,204,143,.5) !important;
  border-radius:12px !important;
  background:transparent !important;
  color:var(--gold1) !important;
}
.bsw-modal .bsw-copy{
  margin-left:8px;
  border-radius:10px !important;
  padding:8px 10px !important;
  border:1px solid rgba(226,204,143,.5) !important;
  background:transparent !important;
  color:var(--gold1) !important;
}
.bsw-modal .bsw-continue{
  margin-left:8px;
  border-radius:10px !important;
  padding:8px 10px !important;
  border:0 !important;
  background:var(--gold1) !important;
  color:#000 !important;
}
