/*
Theme Name: Sober Bar Complete
Theme URI: https://soberbar.local
Author: OpenAI
Description: Complete premium dark luxury WordPress theme for Sober Bar.
Version: 4.0
Requires at least: 5.8
Tested up to: 6.5
Text Domain: sober-bar-complete
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap');

:root{
  --sb-bg:#020617;
  --sb-bg2:#050a16;
  --sb-navy:#07111f;
  --sb-gold:#D4AF37;
  --sb-gold2:#F6D66B;
  --sb-white:#F8FAFC;
  --sb-muted:#CBD5E1;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--sb-bg);color:var(--sb-white);font-family:Montserrat,Arial,sans-serif}
body{overflow-x:hidden}
a{color:inherit}
.sb-page{min-height:100vh;background:var(--sb-bg);overflow:hidden}

.sb-hero{
  min-height:100vh;
  position:relative;
  padding:28px 6vw 0;
  background:
    radial-gradient(circle at 76% 18%,rgba(212,175,55,.24),transparent 32%),
    radial-gradient(circle at 18% 72%,rgba(37,99,235,.16),transparent 35%),
    linear-gradient(135deg,#020617 0%,#07111f 46%,#000 100%);
  isolation:isolate;
}
.sb-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent);
  z-index:-1;
}
.sb-hero:after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:5%;
  top:13%;
  background:rgba(212,175,55,.18);
  border-radius:50%;
  filter:blur(80px);
  z-index:-1;
}

.sb-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  position:relative;
  z-index:5;
}
.sb-brand{
  color:var(--sb-gold);
  font-family:'Playfair Display',serif;
  font-size:31px;
  font-weight:800;
  text-decoration:none;
  letter-spacing:.3px;
}
.sb-links{
  display:flex;
  align-items:center;
  gap:30px;
}
.sb-links a{
  color:#e5e7eb;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  transition:.25s;
}
.sb-links a:hover{color:var(--sb-gold)}
.sb-nav-cta{
  border:1px solid rgba(212,175,55,.55);
  color:var(--sb-gold)!important;
  padding:12px 18px;
  border-radius:999px;
}

.sb-hero-inner{
  min-height:calc(100vh - 110px);
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:6vw;
  padding-bottom:82px;
}
.sb-copy{max-width:720px}
.sb-eyebrow{
  color:var(--sb-gold);
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:13px;
  margin:0 0 18px;
}
.sb-copy h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(76px,10vw,154px);
  line-height:.86;
  margin:0;
  letter-spacing:-4px;
  color:#fff;
  text-shadow:0 22px 60px rgba(0,0,0,.58);
}
.sb-sub{
  max-width:590px;
  color:var(--sb-muted);
  font-size:20px;
  line-height:1.75;
  margin:30px 0 0;
}
.sb-actions{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:38px;
}
.sb-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 32px;
  background:var(--sb-gold);
  color:#020617!important;
  text-decoration:none;
  border-radius:999px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
  font-size:13px;
  box-shadow:0 22px 45px rgba(212,175,55,.22);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.sb-button:hover{
  transform:translateY(-3px);
  background:var(--sb-gold2);
  box-shadow:0 28px 60px rgba(212,175,55,.32);
}
.sb-button-outline{
  background:transparent;
  color:var(--sb-gold)!important;
  border:1px solid rgba(212,175,55,.55);
  box-shadow:none;
}

.sb-logo-card{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.sb-logo-card:before{
  content:"";
  position:absolute;
  width:82%;
  height:82%;
  border:1px solid rgba(212,175,55,.34);
  border-radius:999px;
  filter:drop-shadow(0 0 35px rgba(212,175,55,.18));
}
.sb-logo-card img{
  width:min(500px,84vw);
  max-height:640px;
  object-fit:contain;
  border-radius:34px;
  box-shadow:
    0 40px 110px rgba(0,0,0,.65),
    0 0 0 1px rgba(212,175,55,.20);
  transform:rotate(1.5deg);
  position:relative;
  z-index:2;
  background:#020617;
}
.sb-placeholder{
  width:min(500px,84vw);
  height:560px;
  border-radius:34px;
  border:1px solid rgba(212,175,55,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sb-gold);
  font-family:'Playfair Display',serif;
  font-size:96px;
  background:linear-gradient(160deg,rgba(212,175,55,.14),rgba(2,6,23,.94));
  box-shadow:0 40px 110px rgba(0,0,0,.65);
}

.sb-strip{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(212,175,55,.28);
  background:rgba(2,6,23,.72);
  backdrop-filter:blur(18px);
}
.sb-strip span{
  color:var(--sb-gold);
  text-align:center;
  padding:22px 12px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.8px;
  border-right:1px solid rgba(212,175,55,.16);
}

.sb-section{
  padding:112px 6vw;
  background:linear-gradient(180deg,#020617 0%,#050a16 100%);
}
.sb-center{text-align:center}
.sb-section h2,.sb-story h2,.sb-footer h2{
  font-family:'Playfair Display',serif;
  color:#fff;
  font-size:clamp(42px,5vw,78px);
  line-height:1;
  margin:0 0 46px;
}
.sb-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.sb-card{
  min-height:350px;
  padding:34px;
  border-radius:28px;
  border:1px solid rgba(212,175,55,.22);
  background:
    linear-gradient(160deg,rgba(212,175,55,.1),transparent 38%),
    linear-gradient(145deg,#07142b,#020617);
  text-decoration:none!important;
  box-shadow:0 30px 80px rgba(0,0,0,.36);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.sb-card:hover{
  transform:translateY(-8px);
  border-color:rgba(212,175,55,.55);
  box-shadow:0 40px 95px rgba(0,0,0,.46);
}
.sb-card span{
  color:rgba(212,175,55,.65);
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:auto;
}
.sb-card h3{
  font-family:'Playfair Display',serif;
  color:var(--sb-gold);
  font-size:38px;
  margin:0 0 12px;
}
.sb-card p{
  color:var(--sb-muted);
  margin:0;
  line-height:1.6;
}

.sb-story{
  padding:112px 6vw;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:center;
  background:
    radial-gradient(circle at 15% 25%,rgba(212,175,55,.12),transparent 26%),
    #030712;
  border-top:1px solid rgba(212,175,55,.16);
  border-bottom:1px solid rgba(212,175,55,.16);
}
.sb-story h2{text-align:left;margin-bottom:0}
.sb-story p:last-child{
  color:#d1d5db;
  font-size:20px;
  line-height:1.85;
  margin:0;
}

.sb-products{
  padding:112px 6vw;
  background:#020617;
}
.sb-products-intro{
  max-width:720px;
  margin:-24px auto 46px;
  color:var(--sb-muted);
  text-align:center;
  font-size:18px;
  line-height:1.7;
}

.sb-products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:44px;
}
.sb-product{
  text-align:center;
  border:1px solid rgba(212,175,55,.18);
  border-radius:24px;
  background:#050a16;
  padding:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.sb-product-img{
  height:260px;
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 30%,rgba(212,175,55,.18),transparent 35%),
    linear-gradient(145deg,#111827,#020617);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:rgba(212,175,55,.55);
  font-family:'Playfair Display',serif;
  font-size:54px;
}

.sb-product-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:12px;
}

.sb-product-img span{
  color:rgba(212,175,55,.55);
}

.sb-product-image-link{
  display:block;
  text-decoration:none;
}
.sb-product h3{
  color:#fff;
  margin:18px 0 8px;
  font-size:18px;
}
.sb-product p{
  color:var(--sb-gold);
  margin:0;
  font-weight:900;
}

.sb-footer{
  padding:90px 6vw;
  text-align:center;
  background:#020617;
}
.sb-footer h2{color:var(--sb-gold);margin-bottom:16px}
.sb-footer p{color:var(--sb-muted);margin:0}

@media(max-width:1000px){
  .sb-products-intro{
  max-width:720px;
  margin:-24px auto 46px;
  color:var(--sb-muted);
  text-align:center;
  font-size:18px;
  line-height:1.7;
}

.sb-products-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .sb-links{display:none}
  .sb-hero{padding:24px 24px 0}
  .sb-hero-inner{
    grid-template-columns:1fr;
    gap:42px;
    padding:70px 0 110px;
  }
  .sb-copy h1{font-size:82px;letter-spacing:-2px}
  .sb-sub{font-size:17px}
  .sb-logo-card img,.sb-placeholder{width:min(390px,88vw);max-height:440px}
  .sb-strip{grid-template-columns:1fr 1fr}
  .sb-grid{grid-template-columns:1fr}
  .sb-story{grid-template-columns:1fr;gap:28px}
}
@media(max-width:560px){
  .sb-copy h1{font-size:62px}
  .sb-actions{flex-direction:column;align-items:stretch}
  .sb-strip{position:relative;grid-template-columns:1fr;margin:0 -24px}
  .sb-products-intro{
  max-width:720px;
  margin:-24px auto 46px;
  color:var(--sb-muted);
  text-align:center;
  font-size:18px;
  line-height:1.7;
}

.sb-products-grid{grid-template-columns:1fr}
}
.sb-product {
  text-align: center;
}

.sb-product h3,
.sb-product p {
  text-align: center;
}

.sb-product-order{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  min-height:42px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.48);
  color:var(--sb-gold) !important;
  text-decoration:none;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
}

.sb-product-order:hover{
  background:var(--sb-gold);
  color:#020617 !important;
}

.sb-empty-products{
  grid-column:1 / -1;
  color:var(--sb-muted);
  text-align:center;
  font-size:18px;
}


.sb-cart-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin:-20px 0 48px;
}

.sb-add-form{
  margin-top:16px;
}

.sb-qty-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:14px;
}

.sb-qty-row label{
  color:var(--sb-muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.sb-qty-row input{
  width:74px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.35);
  background:#020617;
  color:var(--sb-white);
  text-align:center;
  font-weight:900;
  outline:none;
}

.sb-qty-row input:focus{
  border-color:var(--sb-gold);
  box-shadow:0 0 0 3px rgba(212,175,55,.14);
}

.sb-product-order{
  cursor:pointer;
  background:transparent;
  font-family:Montserrat,Arial,sans-serif;
}

.sb-product-order.added{
  display:none;
}

.added_to_cart.wc-forward{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  min-height:40px;
  padding:0 20px;
  border-radius:999px;
  background:var(--sb-gold);
  color:#020617 !important;
  text-decoration:none;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
}


/* Sober Bar front-page order controls */
.sb-order-controls{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

.sb-qty-stepper{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid rgba(212,175,55,.40);
  border-radius:999px;
  overflow:hidden;
  background:rgba(2,6,23,.82);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.sb-qty-btn{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:var(--sb-gold);
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:.22s ease;
}

.sb-qty-btn:hover{
  background:rgba(212,175,55,.16);
  color:var(--sb-gold2);
}

.sb-qty-value{
  min-width:48px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sb-white);
  font-size:15px;
  font-weight:900;
  border-left:1px solid rgba(212,175,55,.20);
  border-right:1px solid rgba(212,175,55,.20);
}

.sb-product-order{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  background:transparent;
  font-family:Montserrat,Arial,sans-serif;
}

.sb-product-order:disabled{
  opacity:.65;
  cursor:wait;
}

.sb-unavailable{
  margin-top:18px;
  color:var(--sb-muted);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
}

.sb-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  max-width:min(420px, calc(100vw - 48px));
  padding:16px 20px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.45);
  background:rgba(2,6,23,.94);
  color:var(--sb-white);
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  transform:translateY(18px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
  font-weight:800;
}

.sb-toast.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:560px){
  .sb-toast{
    right:16px;
    bottom:16px;
    left:16px;
    max-width:none;
    text-align:center;
  }
}


/* Premium button redesign for quantity + add-to-order */
.sb-order-controls{
  margin-top:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

.sb-qty-stepper{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,175,55,.55);
  border-radius:999px;
  background:linear-gradient(145deg, rgba(212,175,55,.10), rgba(2,6,23,.92));
  box-shadow:0 18px 42px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.03);
  overflow:hidden;
}

.sb-qty-btn{
  width:46px;
  height:44px;
  border:0;
  background:transparent;
  color:var(--sb-gold);
  font-size:22px;
  font-weight:900;
  cursor:pointer;
  transition:background .22s ease, color .22s ease;
}

.sb-qty-btn:hover{
  background:rgba(212,175,55,.18);
  color:var(--sb-gold2);
}

.sb-qty-value{
  min-width:54px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sb-white);
  font-size:15px;
  font-weight:900;
  border-left:1px solid rgba(212,175,55,.24);
  border-right:1px solid rgba(212,175,55,.24);
}

.sb-product-order{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 28px;
  border:0;
  border-radius:999px;
  background:var(--sb-gold);
  color:#020617 !important;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 20px 45px rgba(212,175,55,.24);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.sb-product-order:hover{
  transform:translateY(-3px);
  background:var(--sb-gold2);
  color:#020617 !important;
  box-shadow:0 28px 60px rgba(212,175,55,.34);
}

.sb-product-order:disabled{
  opacity:.72;
  cursor:wait;
  transform:none;
}

.sb-cart-actions .sb-button{
  min-height:52px;
  padding:0 30px;
}


/* HARD OVERRIDE: Sober Bar order button styling */
.sb-product .sb-order-controls{
  margin-top:20px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:16px !important;
}

.sb-product .sb-qty-stepper{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(212,175,55,.55) !important;
  border-radius:999px !important;
  background:linear-gradient(145deg, rgba(212,175,55,.10), rgba(2,6,23,.92)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.03) !important;
  overflow:hidden !important;
}

.sb-product .sb-qty-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:46px !important;
  height:44px !important;
  min-width:46px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--sb-gold) !important;
  font-family:Montserrat,Arial,sans-serif !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:44px !important;
  text-align:center !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.sb-product .sb-qty-btn:hover{
  background:rgba(212,175,55,.18) !important;
  color:var(--sb-gold2) !important;
}

.sb-product .sb-qty-value{
  min-width:54px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--sb-white) !important;
  font-family:Montserrat,Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  border-left:1px solid rgba(212,175,55,.24) !important;
  border-right:1px solid rgba(212,175,55,.24) !important;
}

.sb-product button.sb-product-order,
.sb-product .sb-product-order{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 28px !important;
  margin-top:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--sb-gold) !important;
  color:#020617 !important;
  font-family:Montserrat,Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 20px 45px rgba(212,175,55,.24) !important;
}

.sb-product button.sb-product-order:hover,
.sb-product .sb-product-order:hover{
  transform:translateY(-3px) !important;
  background:var(--sb-gold2) !important;
  color:#020617 !important;
  box-shadow:0 28px 60px rgba(212,175,55,.34) !important;
}

.sb-product button.sb-product-order:disabled{
  opacity:.72 !important;
  cursor:wait !important;
  transform:none !important;
}



/* WooCommerce cart + checkout styling for Sober Bar */
.woocommerce,
.woocommerce-page{
  background:#020617;
  color:var(--sb-white);
  font-family:Montserrat,Arial,sans-serif;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb{
  display:none;
}

.woocommerce .entry-title,
.woocommerce-page .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  font-family:'Playfair Display',serif;
  color:#fff;
  text-align:center;
  font-size:clamp(42px,5vw,78px);
  margin:60px 0 36px;
}

.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area{
  background:
    radial-gradient(circle at 75% 15%,rgba(212,175,55,.16),transparent 28%),
    linear-gradient(135deg,#020617 0%,#07111f 46%,#000 100%);
  min-height:100vh;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  max-width:1180px;
  margin:0 auto;
  padding:50px 6vw 90px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border:1px solid rgba(212,175,55,.35) !important;
  border-radius:18px;
  background:rgba(2,6,23,.86) !important;
  color:#e5e7eb !important;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.woocommerce-message::before,
.woocommerce-info::before{
  color:var(--sb-gold) !important;
}

.woocommerce-error::before{
  color:#f87171 !important;
}

/* Tables */
.woocommerce table.shop_table{
  border:1px solid rgba(212,175,55,.22) !important;
  border-radius:24px !important;
  overflow:hidden;
  background:rgba(5,10,22,.92);
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.woocommerce table.shop_table th{
  color:var(--sb-gold);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:12px;
  font-weight:900;
  border-color:rgba(212,175,55,.16) !important;
}

.woocommerce table.shop_table td{
  color:#e5e7eb;
  border-color:rgba(212,175,55,.12) !important;
}

.woocommerce table.shop_table a{
  color:#fff;
  text-decoration:none;
  font-weight:800;
}

.woocommerce table.shop_table a:hover{
  color:var(--sb-gold);
}

.woocommerce table.shop_table .product-thumbnail img{
  border-radius:14px;
  background:#020617;
}

/* Inputs */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.select2-container--default .select2-selection--single{
  min-height:48px;
  border:1px solid rgba(212,175,55,.28) !important;
  border-radius:14px !important;
  background:#020617 !important;
  color:#f8fafc !important;
  padding:12px 14px !important;
  box-shadow:none !important;
}

.woocommerce textarea{
  min-height:120px;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.select2-container--default.select2-container--open .select2-selection--single{
  outline:none !important;
  border-color:var(--sb-gold) !important;
  box-shadow:0 0 0 3px rgba(212,175,55,.14) !important;
}

.woocommerce label{
  color:#e5e7eb;
  font-size:13px;
  font-weight:800;
  letter-spacing:.4px;
}

.woocommerce form .form-row .required{
  color:var(--sb-gold);
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order{
  min-height:48px !important;
  padding:0 28px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--sb-gold) !important;
  color:#020617 !important;
  font-family:Montserrat,Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  box-shadow:0 20px 45px rgba(212,175,55,.24) !important;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover{
  transform:translateY(-3px);
  background:var(--sb-gold2) !important;
  color:#020617 !important;
  box-shadow:0 28px 60px rgba(212,175,55,.34) !important;
}

/* Cart totals + coupon */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce .checkout_coupon,
.woocommerce form.login,
.woocommerce form.checkout{
  border:1px solid rgba(212,175,55,.22);
  border-radius:24px;
  background:rgba(5,10,22,.92);
  padding:28px;
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading{
  font-family:'Playfair Display',serif;
  color:#fff;
  font-size:34px;
  margin:0 0 22px;
}

/* Checkout columns */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:32px;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  min-width:0;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  grid-column:2;
}

.woocommerce-checkout #customer_details{
  grid-column:1;
  grid-row:1 / span 2;
}

/* Payment box */
.woocommerce-checkout #payment{
  border:1px solid rgba(212,175,55,.22) !important;
  border-radius:24px !important;
  background:rgba(2,6,23,.86) !important;
  color:#e5e7eb;
}

.woocommerce-checkout #payment ul.payment_methods{
  border-color:rgba(212,175,55,.16) !important;
}

.woocommerce-checkout #payment div.payment_box{
  border-radius:18px;
  background:#020617 !important;
  color:#cbd5e1 !important;
}

.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#020617 !important;
}

/* Quantity */
.woocommerce .quantity .qty{
  width:72px;
  border:1px solid rgba(212,175,55,.28);
  border-radius:999px;
  background:#020617;
  color:#fff;
  min-height:40px;
}

/* Remove icon */
.woocommerce a.remove{
  color:#D4AF37 !important;
  border:1px solid rgba(212,175,55,.38);
  background:transparent;
  line-height:22px;
}

.woocommerce a.remove:hover{
  background:#D4AF37 !important;
  color:#020617 !important;
}

/* Mobile */
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    display:block;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details{
    grid-column:auto;
    grid-row:auto;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr{
    border-bottom:1px solid rgba(212,175,55,.16);
  }

  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before{
    color:var(--sb-gold);
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:12px;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    padding:36px 20px 80px;
  }
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: block !important;
}
.woocommerce-form-coupon-toggle,
.checkout_coupon {
  display: none !important;
}

/* Force checkout fields into one column */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: block !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper p {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea {
  width: 100% !important;
}

.sb-checkout-actions{
  max-width:1180px;
  margin:0 auto 34px;
  padding:0;
}

.sb-checkout-actions{
  max-width:1180px;
  margin:0 auto 34px;
  padding:0;
}

.sb-checkout-back{
  margin:0 !important;
  text-decoration:none !important;
}

/* Floating editable order drawer */
.sb-floating-cart{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9998;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.55);
  background:rgba(2,6,23,.94);
  color:var(--sb-gold) !important;
  font-family:Montserrat,Arial,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
  box-shadow:0 24px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter:blur(18px);
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.sb-floating-cart:hover{
  transform:translateY(-4px);
  background:var(--sb-gold);
  color:#020617 !important;
  border-color:var(--sb-gold);
}

.sb-cart-icon{font-size:18px;line-height:1}

.sb-cart-count{
  min-width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--sb-gold);
  color:#020617;
  font-size:12px;
  font-weight:900;
}

.sb-floating-cart:hover .sb-cart-count{
  background:#020617;
  color:var(--sb-gold);
}

.sb-cart-overlay{
  position:fixed;
  inset:0;
  z-index:9996;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(4px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}

.sb-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:9997;
  width:min(460px,100vw);
  height:100vh;
  background:
    radial-gradient(circle at 80% 10%,rgba(212,175,55,.13),transparent 28%),
    #020617;
  border-left:1px solid rgba(212,175,55,.28);
  box-shadow:-32px 0 90px rgba(0,0,0,.48);
  transform:translateX(105%);
  transition:transform .28s ease;
  display:flex;
  flex-direction:column;
}

.sb-cart-open .sb-cart-overlay{
  opacity:1;
  pointer-events:auto;
}

.sb-cart-open .sb-cart-drawer{
  transform:translateX(0);
}

.sb-cart-drawer-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:28px;
  border-bottom:1px solid rgba(212,175,55,.18);
}

.sb-cart-drawer-head h2{
  font-family:'Playfair Display',serif;
  color:#fff;
  font-size:36px;
  line-height:1;
  margin:0;
}

.sb-cart-close{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.45);
  background:transparent;
  color:var(--sb-gold);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.sb-cart-close:hover{
  background:var(--sb-gold);
  color:#020617;
}

.sb-cart-drawer-body{
  padding:22px 28px 28px;
  overflow:auto;
}

.sb-drawer-empty{
  color:var(--sb-muted);
  line-height:1.7;
  margin:18px 0 0;
}

.sb-drawer-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.sb-drawer-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  padding:14px;
  border:1px solid rgba(212,175,55,.18);
  border-radius:22px;
  background:rgba(5,10,22,.78);
}

.sb-drawer-img{
  width:72px;
  height:72px;
  border-radius:16px;
  background:#020617;
  overflow:hidden;
}

.sb-drawer-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
  display:block;
}

.sb-drawer-info h3{
  color:#fff;
  font-size:15px;
  margin:0 0 6px;
}

.sb-drawer-price{
  color:var(--sb-gold);
  font-weight:900;
  margin:0 0 12px;
}

.sb-drawer-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sb-drawer-qty{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(212,175,55,.42);
  border-radius:999px;
  overflow:hidden;
  background:rgba(2,6,23,.82);
}

.sb-drawer-qty-btn{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:var(--sb-gold);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}

.sb-drawer-qty-btn:hover{
  background:rgba(212,175,55,.15);
}

.sb-drawer-qty-value{
  min-width:38px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
  border-left:1px solid rgba(212,175,55,.18);
  border-right:1px solid rgba(212,175,55,.18);
}

.sb-drawer-remove{
  border:0;
  background:transparent;
  color:#cbd5e1;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}

.sb-drawer-remove:hover{
  color:var(--sb-gold);
}

.sb-drawer-footer{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(212,175,55,.20);
}

.sb-drawer-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#fff;
  font-size:18px;
  font-weight:900;
  margin-bottom:18px;
}

.sb-drawer-total span:first-child{
  color:var(--sb-gold);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:13px;
}

.sb-drawer-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.sb-drawer-actions .sb-button{
  width:100%;
}

.sb-toast{
  bottom:92px !important;
}

@media(max-width:560px){
  .sb-floating-cart{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    width:auto !important;
    min-height:56px !important;
    justify-content:center !important;
    padding:0 18px !important;
  }

  .sb-cart-text{
    display:inline-flex !important;
  }

  .sb-cart-drawer{
    width:100vw;
  }

  .sb-cart-drawer-head{
    padding:22px;
  }

  .sb-cart-drawer-body{
    padding:18px 20px 24px;
  }

  .sb-toast{
    bottom:84px !important;
  }
}
