/* SofosBay Bootstrap YURA — Burgundy + Antique Gold (Logo-accurate) */

:root{
  /* Brand (logo-derived) */
  --sb-bg: #2E0909;                 /* Burgundy (primary background) */
  --sb-text: #F4EEDC;               /* Soft ivory text */
  --sb-accent: #C7A65B;             /* Antique gold (primary accent) */
  --sb-accent-soft: #E0BF7A;        /* Champagne gold (highlights) */
  --sb-accent-dark: #9E7C3A;        /* Bronze gold (depth) */

  /* System */
  --sb-muted: rgba(244,238,220,.72);
  --sb-subtle: rgba(244,238,220,.55);

  --sb-surface: rgba(255,255,255,.06);  /* glass */
  --sb-card: rgba(0,0,0,.22);           /* deep surface */
  --sb-border: rgba(199,166,91,.25);
  --sb-border-hover: rgba(199,166,91,.45);

  --sb-radius: 1.15rem;
  --sb-shadow: 0 24px 70px rgba(0,0,0,.55);

  --sb-font-body: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --sb-font-head: "Cormorant Garamond", Georgia, serif;

  /* Component sizes */
  --sb-price-size: 1.75rem;  /* Prominent product price size */
  --sb-stock-size: 0.85rem;  /* Stock label size */
}

/* Bootstrap CSS variables (mapped to brand) */
:root{
  --bs-body-bg: var(--sb-bg);
  --bs-body-color: var(--sb-text);

  --bs-primary: var(--sb-accent);
  --bs-link-color: var(--sb-accent);
  --bs-link-hover-color: color-mix(in oklab, var(--sb-accent), white 15%);

  --bs-border-color: rgba(199,166,91,.22);
  --bs-body-font-family: var(--sb-font-body);
  --bs-border-radius: var(--sb-radius);

  /* Bootstrap "dark" rgb used by some components */
  --bs-dark-rgb: 46, 9, 9; /* #2E0909 */
}

/* Global background: burgundy with gold glow */
body{
  background: var(--sb-bg);
  color: var(--sb-text);
}

/* Premium type */
h1,h2,h3,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family: var(--sb-font-head);
  letter-spacing: -.02em;
}

/* Glassy surfaces */
.sb-glass{
  background: var(--sb-surface);
  border: 1px solid var(--sb-border);
  box-shadow: var(--sb-shadow);
  backdrop-filter: blur(14px);
}

/* Sticky header (burgundy glass) */
.sb-header{
  position: sticky;
  top: 0;
  z-index: 1020;
  background: rgba(46,9,9,.74); /* burgundy glass */
  border-bottom: 1px solid rgba(199,166,91,.16);
  backdrop-filter: blur(16px);
}

/* Navbar brand (gold accent) */
.sb-header .navbar-brand,
.sb-header .navbar-brand strong{
  color: var(--sb-accent);
  text-transform: uppercase;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .08em;
}
.sb-header .navbar-brand:hover,
.sb-header .navbar-brand:focus{
  color: var(--sb-accent-soft, #E0BF7A);
}

/* Navbar links (gold accent) */
.sb-header .navbar-nav .nav-link{
  color: var(--sb-accent);
  font-weight: 700;
  letter-spacing: .01em;
  transition: color .15s ease, opacity .15s ease;
}
.sb-header .navbar-nav .nav-link:hover,
.sb-header .navbar-nav .nav-link:focus{
  color: var(--sb-accent-soft, #E0BF7A);
}
.sb-header .navbar-nav .nav-link.active,
.sb-header .navbar-nav .nav-link.current-menu-item > a{
  color: var(--sb-text);
}

/* Dropdown menus */
.sb-header .dropdown-menu{
  background: rgba(46,9,9,.96);
  border: 1px solid rgba(199,166,91,.22);
  border-radius: 1rem;
  backdrop-filter: blur(14px);
  box-shadow: var(--sb-shadow);
}
.sb-header .dropdown-menu .dropdown-item{
  color: var(--sb-accent);
  font-weight: 600;
}
.sb-header .dropdown-menu .dropdown-item:hover,
.sb-header .dropdown-menu .dropdown-item:focus{
  background: rgba(199,166,91,.12);
  color: var(--sb-text);
}

/* Announcement */
.sb-announcement{
  border-bottom: 1px solid rgba(199,166,91,.16);
  background: rgba(0,0,0,.24);
}
.sb-announcement a{ text-decoration:none; color: var(--sb-accent); }
.sb-announcement a:hover{ text-decoration:underline; }

/* Buttons (luxury) */
.btn-sb{
  --bs-btn-color: var(--sb-bg);
  --bs-btn-bg: var(--sb-accent-soft);
  --bs-btn-border-color: var(--sb-accent-soft);
  --bs-btn-hover-bg: rgba(199,166,91,.16);
  --bs-btn-hover-border-color: rgba(199,166,91,.34);
  --bs-btn-active-bg: rgba(199,166,91,.26);
  --bs-btn-active-border-color: rgba(199,166,91,.60);
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
}
.btn-sb-outline{
  --bs-btn-color: var(--sb-text);
  --bs-btn-bg: rgba(0,0,0,.18);
  --bs-btn-border-color: rgba(199,166,91,.34);
  --bs-btn-hover-bg: rgba(255,255,255,.06);
  --bs-btn-hover-border-color: rgba(199,166,91,.52);
}
.btn-sb, .btn-sb-outline{
  border-radius: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
  transition: background-color .22s ease, color .22s ease, transform .12s ease, border-color .22s ease, box-shadow .22s ease;
}
.btn-sb{
  font-weight: 700;
}

/* Solid variant for filled gold buttons (preferred for product CTAs) */
.btn-sb--solid{
  background-color: var(--sb-accent);
  border-color: var(--sb-accent);
  color: var(--sb-bg);
  font-weight: 400; /* non-bold per request */
}
.btn-sb--solid:hover,
.btn-sb--solid:focus{
  background-color: var(--sb-accent-soft);
  border-color: var(--sb-accent-soft);
  color: var(--sb-bg);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* Hover for default .btn-sb (uses variables) */
.btn-sb:hover,
.btn-sb:focus{
  background-color: rgba(199,166,91,.16);
  border-color: rgba(199,166,91,.34);
  color: #E0BF7A !important;
  transform: translateY(-2px);
}

/* Filter buttons */
.sb-filter-btn:hover{
  background-color: rgba(199,166,91,.16) !important;
  color: #E0BF7A !important;
  border-color: var(--sb-accent-soft) !important;
  transform: translateY(-2px);
}

.sb-filter-btn.active:hover{
  background-color: rgba(199,166,91,.16) !important;
  color: #E0BF7A !important;
}

/* Outline buttons should fill on hover */
.btn-sb-outline:hover,
.btn-sb-outline:focus{
  background-color: var(--sb-accent);
  border-color: var(--sb-accent);
  color: var(--sb-bg);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

/* Social Media Icons */
.sb-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0.75rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(199,166,91,.2);
  color: var(--sb-accent);
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(8px);
}

.sb-social-icon:hover {
  background: rgba(199,166,91,.15);
  border-color: var(--sb-accent);
  color: var(--sb-accent-soft);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(199,166,91,.25);
}

.sb-social-icon svg {
  transition: transform 0.3s ease;
}

.sb-social-icon:hover svg {
  transform: scale(1.1);
}

.sb-social-icon.sb-social-text{
  width: auto;
  padding: 0 0.9rem;
  font-family: var(--sb-font-head);
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* Hero */
.sb-hero{
  min-height: 78vh;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(199,166,91,.14);
  background:
    radial-gradient(circle at 20% 10%, rgba(199,166,91,.05), rgba(0,0,0,0) 25%),
    radial-gradient(circle at 80% 90%, rgba(199,166,91,.03), rgba(0,0,0,0) 28%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,0)),
    var(--sb-bg);
}
.sb-hero-media{
  position: absolute; inset: 0; z-index: 0;
}
.sb-hero-media img, .sb-hero-media video{
  width:100%; height:100%; object-fit: cover;
  filter: contrast(1.07) saturate(1.08);
}
.sb-hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(circle at 25% 20%, rgba(199,166,91,.22), rgba(0,0,0,0) 40%),
    linear-gradient(180deg, rgba(46,9,9,.78), rgba(46,9,9,.95)); /* deep burgundy */
}
.sb-hero-content{
  position: relative; z-index: 2;
  padding: 4rem 0 3rem;
}

.sb-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(199,166,91,.26);
  background: rgba(0,0,0,.22);
  color: rgba(244,238,220,.84);
  font-weight: 750;
}

/* Luxury shine headline */
.sb-shine{
  background: linear-gradient(
    90deg,
    rgba(244,238,220,.96),
    rgba(199,166,91,.96),
    rgba(224,191,122,.96),
    rgba(244,238,220,.96)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 220% 100%;
  animation: sbShine 6s ease-in-out infinite;
}
@keyframes sbShine{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}
@media (prefers-reduced-motion: reduce){
  .sb-shine{ animation:none; }
}

/* View Statue button — responsive positioning */
.sb-view-statue-btn{
  right: 5%;
  top: 1.5rem;
  font-size: 1.25rem !important;
  padding: 0.5rem 1.25rem !important;
  color: var(--sb-bg) !important;
  font-family: var(--sb-font-body) !important;
  font-weight: 400 !important;
  background-color: var(--sb-accent) !important; /* antique gold */
  border-color: var(--sb-accent) !important;
  transition: background-color .22s ease, border-color .22s ease, transform .12s ease, box-shadow .22s ease !important;
}
.sb-view-statue-btn:hover, .sb-view-statue-btn:focus{
  background-color: var(--sb-accent-soft) !important; /* champagne on hover */
  border-color: var(--sb-accent-soft) !important;
  color: var(--sb-bg) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
}

@media (max-width: 1199px){
  .sb-view-statue-btn{
    right: 5%;
    top: 1.25rem;
    font-size: 1.125rem !important;
    padding: 0.45rem 1.15rem !important;
  }
}

@media (max-width: 768px){
  .sb-view-statue-btn{
    right: 5%;
    top: 1rem;
    font-size: 1rem !important;
    padding: 0.4rem 1rem !important;
  }
}

@media (max-width: 576px){
  .sb-view-statue-btn{
    right: 3%;
    top: 0.75rem;
    font-size: 0.875rem !important;
    padding: 0.35rem 0.85rem !important;
  }
}

.sb-stat{
  border: 1px solid rgba(199,166,91,.22);
  border-radius: 1.1rem;
  background: rgba(0,0,0,.20);
  font-size: 1.25rem;
  line-height: 1.6;
}
.sb-stat .fw-semibold{
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

/* Cards hover */
.sb-hover{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sb-hover:hover{
  transform: translateY(-2px);
  border-color: var(--sb-border-hover) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.55);
}

/* Links */
a{ color: var(--sb-accent); }
a:hover{ color: var(--sb-accent-soft); }

/* WooCommerce tweaks */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(199,166,91,.22);
  border-radius: var(--sb-radius);
  padding: 1rem;
  box-shadow: 0 18px 55px rgba(0,0,0,.25);
}
.woocommerce ul.products li.product .price{
  color: var(--sb-accent-soft) !important;
  font-weight: 900 !important;
}
.woocommerce div.product .product_title{
  font-family: var(--sb-font-head);
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border-radius: 1rem;
  font-weight: 800;
  background: rgba(199,166,91,.16);
  border: 1px solid rgba(199,166,91,.34);
  color: var(--sb-text);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: rgba(199,166,91,.24);
  border-color: rgba(199,166,91,.52);
  color: var(--sb-text);
}

/* Product page variations/select dropdowns */
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart select{
  color: var(--sb-accent) !important;
  background: var(--sb-surface) !important;
  border: 1px solid var(--sb-border) !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  font-weight: 600 !important;
}
.woocommerce div.product form.cart .variations select option,
.woocommerce div.product form.cart select option{
  color: var(--sb-accent) !important;
  background: var(--sb-bg) !important;
}

/* Offcanvas cart */
.offcanvas.text-bg-dark{
  background-color: rgba(46,9,9,.92) !important; /* burgundy */
}
.sb-mini-cart .woocommerce-mini-cart__empty-message{ color: var(--sb-muted); }
.sb-mini-cart .woocommerce-mini-cart-item a{ color: var(--sb-text); text-decoration:none; }
.sb-mini-cart .woocommerce-mini-cart-item a:hover{ text-decoration:underline; }

/* View Cart button in notices - Dark burgundy background */
.woocommerce .wc-forward,
.woocommerce a.button.wc-forward,
a.button.wc-forward {
  background: var(--sb-bg) !important;
  border: 2px solid var(--sb-accent) !important;
  color: var(--sb-accent) !important;
  font-weight: 700 !important;
  padding: 0.6rem 1.5rem !important;
  border-radius: 0.5rem !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}
.woocommerce .wc-forward:hover,
.woocommerce a.button.wc-forward:hover,
a.button.wc-forward:hover {
  background: var(--sb-accent) !important;
  color: var(--sb-bg) !important;
  border-color: var(--sb-accent) !important;
}

/* WooCommerce messages - Gold background for all types */
.woocommerce-message,
.woocommerce .woocommerce-message,
.woocommerce-info,
.woocommerce .woocommerce-info,
.woocommerce-error,
.woocommerce .woocommerce-error {
  background: linear-gradient(135deg, var(--sb-accent) 0%, var(--sb-accent-soft) 100%) !important;
  color: var(--sb-bg) !important;
  border: 2px solid var(--sb-accent-dark) !important;
  border-radius: 0.75rem !important;
  padding: 1.25rem 1.5rem 1.5rem 1.5rem !important;
  margin: 0 0 2rem 0 !important;
  width: 100% !important;
  text-align: center !important;
  font-family: var(--sb-font-body) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 15px rgba(199,166,91,0.3) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  line-height: 1.6 !important;
}
.woocommerce-message::before,
.woocommerce .woocommerce-message::before,
.woocommerce-info::before,
.woocommerce .woocommerce-info::before,
.woocommerce-error::before,
.woocommerce .woocommerce-error::before {
  display: none !important;
}
.woocommerce-message a,
.woocommerce .woocommerce-message a,
.woocommerce-info a,
.woocommerce .woocommerce-info a,
.woocommerce-error a,
.woocommerce .woocommerce-error a {
  order: 2 !important; /* Forces button to bottom */
  color: var(--sb-bg) !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin: 0.75rem auto 0 auto !important;
  padding: 0.5rem 2rem !important;
  background: var(--sb-bg) !important;
  color: var(--sb-accent) !important;
  border-radius: 0.5rem !important;
  font-weight: bold !important;
  font-size: 0.9rem !important;
  min-width: 140px !important;
  max-width: max-content !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}
.woocommerce-message a:hover,
.woocommerce .woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce .woocommerce-info a:hover,
.woocommerce-error a:hover,
.woocommerce .woocommerce-error a:hover {
  background: rgba(46,9,9,0.85) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}

/* Force all inner content to center and stack vertically */
.woocommerce-message > *,
.woocommerce .woocommerce-message > *,
.woocommerce-info > *,
.woocommerce .woocommerce-info > *,
.woocommerce-error > *,
.woocommerce .woocommerce-error > * {
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}

/* Override WooCommerce button positioning */
.woocommerce-message .button,
.woocommerce .woocommerce-message .button,
.woocommerce-info .button,
.woocommerce .woocommerce-info .button,
.woocommerce-error .button,
.woocommerce .woocommerce-error .button {
  float: none !important;
  margin: 1rem auto 0 auto !important;
  display: inline-block !important;
  width: auto !important;
}

/* Responsive message styles */
/* Tablets and smaller desktops */
@media (max-width: 991px) {
  .woocommerce-message,
  .woocommerce .woocommerce-message,
  .woocommerce-info,
  .woocommerce .woocommerce-info,
  .woocommerce-error,
  .woocommerce .woocommerce-error {
    font-size: 1rem !important;
    padding: 1rem 1.25rem !important;
    border-radius: 0.65rem !important;
  }
  
  .woocommerce-message a,
  .woocommerce .woocommerce-message a,
  .woocommerce-info a,
  .woocommerce .woocommerce-info a,
  .woocommerce-error a,
  .woocommerce .woocommerce-error a {
    font-size: 0.85rem !important;
    padding: 0.45rem 1.5rem !important;
    min-width: 120px !important;
  }
}

/* Mobile landscape */
@media (max-width: 768px) {
  .woocommerce-message,
  .woocommerce .woocommerce-message,
  .woocommerce-info,
  .woocommerce .woocommerce-info,
  .woocommerce-error,
  .woocommerce .woocommerce-error {
    font-size: 0.95rem !important;
    padding: 0.9rem 1rem !important;
    margin: 0 0 1.5rem 0 !important;
    border-radius: 0.6rem !important;
    gap: 0.5rem !important;
  }
  
  .woocommerce-message a,
  .woocommerce .woocommerce-message a,
  .woocommerce-info a,
  .woocommerce .woocommerce-info a,
  .woocommerce-error a,
  .woocommerce .woocommerce-error a {
    font-size: 0.8rem !important;
    padding: 0.4rem 1.25rem !important;
    min-width: 110px !important;
    margin: 0.5rem auto 0 auto !important;
  }
}

/* Mobile portrait */
@media (max-width: 576px) {
  .woocommerce-message,
  .woocommerce .woocommerce-message,
  .woocommerce-info,
  .woocommerce .woocommerce-info,
  .woocommerce-error,
  .woocommerce .woocommerce-error {
    font-size: 0.875rem !important;
    padding: 0.75rem 0.85rem !important;
    margin: 0 0 1rem 0 !important;
    border-radius: 0.5rem !important;
    gap: 0.4rem !important;
    line-height: 1.5 !important;
  }
  
  .woocommerce-message a,
  .woocommerce .woocommerce-message a,
  .woocommerce-info a,
  .woocommerce .woocommerce-info a,
  .woocommerce-error a,
  .woocommerce .woocommerce-error a {
    font-size: 0.75rem !important;
    padding: 0.4rem 1rem !important;
    min-width: 100px !important;
    margin: 0.4rem auto 0 auto !important;
    border-radius: 0.4rem !important;
  }
}

/* Extra small devices */
@media (max-width: 375px) {
  .woocommerce-message,
  .woocommerce .woocommerce-message,
  .woocommerce-info,
  .woocommerce .woocommerce-info,
  .woocommerce-error,
  .woocommerce .woocommerce-error {
    font-size: 0.8rem !important;
    padding: 0.65rem 0.75rem !important;
    gap: 0.35rem !important;
  }
  
  .woocommerce-message a,
  .woocommerce .woocommerce-message a,
  .woocommerce-info a,
  .woocommerce .woocommerce-info a,
  .woocommerce-error a,
  .woocommerce .woocommerce-error a {
    font-size: 0.7rem !important;
    padding: 0.35rem 0.85rem !important;
    min-width: 90px !important;
  }
}

/* Cart page - Bigger product thumbnails */
.woocommerce-cart-form .product-thumbnail img,
.wc-block-cart-items .wc-block-cart-item__image img,
.wc-block-cart .wc-block-cart-item__image img,
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
  width: 250px !important;
  height: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  object-fit: cover;
  border-radius: 0.75rem;
  border: 1px solid var(--sb-border);
}
.wc-block-cart-item__image {
  width: 260px !important;
  min-width: 260px !important;
}
.woocommerce table.cart td.product-thumbnail {
  width: 260px !important;
  min-width: 260px !important;
  padding: 1rem !important;
}
.woocommerce table.cart td.product-thumbnail img {
  width: 250px !important;
  height: 250px !important;
  max-width: 250px !important;
  object-fit: cover;
  border-radius: 0.75rem;
}

/* Cart page - Bigger product titles */
.woocommerce-cart-form .product-name a,
.woocommerce table.cart td.product-name a,
.wc-block-cart-items .wc-block-cart-item__product-name,
.wc-block-cart .wc-block-components-product-name {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  font-family: var(--sb-font-head) !important;
  line-height: 1.3 !important;
  color: var(--sb-accent) !important;
}
.woocommerce table.cart td.product-name {
  padding: 1rem !important;
}

/* Cart page - Bigger fonts for all other elements */
.woocommerce-cart-form .product-price,
.woocommerce table.cart td.product-price,
.woocommerce table.cart .amount,
.woocommerce-cart-form .product-subtotal,
.woocommerce table.cart td.product-subtotal {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}
.woocommerce table.cart .stock,
.woocommerce-cart-form .stock {
  font-size: 1.1rem !important;
  padding: 0.4rem 0.8rem !important;
}
.woocommerce table.cart dl.variation,
.woocommerce-cart-form dl.variation,
.woocommerce table.cart dl.variation dt,
.woocommerce table.cart dl.variation dd {
  font-size: 1.15rem !important;
}
.woocommerce table.cart .cart_item,
.woocommerce-cart-form .cart_item {
  font-size: 1.1rem !important;
}
.woocommerce .cart-collaterals .cart_totals th,
.woocommerce .cart-collaterals .cart_totals td {
  font-size: 1.25rem !important;
  padding: 1rem !important;
}
.woocommerce .cart-collaterals h2 {
  font-size: 1.8rem !important;
}

/* Cart responsive - Prevent text overlap on mobile */
@media (max-width: 768px) {
  .woocommerce-cart-form .product-thumbnail img,
  .woocommerce table.cart td.product-thumbnail img,
  .wc-block-cart-items .wc-block-cart-item__image img,
  .wc-block-cart .wc-block-cart-item__image img,
  .wp-block-woocommerce-cart .wc-block-cart-item__image img {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
  }
  .woocommerce table.cart td.product-thumbnail,
  .wc-block-cart-item__image {
    width: 90px !important;
    min-width: 90px !important;
    padding: 0.5rem !important;
  }
  .woocommerce table.cart td.product-name {
    padding: 0.5rem !important;
  }
  .woocommerce-cart-form .product-name a,
  .woocommerce table.cart td.product-name a,
  .wc-block-cart-items .wc-block-cart-item__product-name {
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
  }
  .woocommerce table.cart .stock {
    font-size: 0.7rem !important;
    padding: 0.25rem 0.4rem !important;
  }
  .woocommerce table.cart dl.variation,
  .woocommerce table.cart dl.variation dt,
  .woocommerce table.cart dl.variation dd {
    font-size: 0.8rem !important;
  }
  .woocommerce-cart-form .product-price,
  .woocommerce table.cart td.product-price,
  .woocommerce-cart-form .product-subtotal,
  .woocommerce table.cart td.product-subtotal {
    font-size: 0.9rem !important;
  }
  .woocommerce .cart-collaterals .cart_totals th,
  .woocommerce .cart-collaterals .cart_totals td {
    font-size: 0.95rem !important;
    padding: 0.75rem !important;
  }
  .woocommerce .cart-collaterals h2 {
    font-size: 1.3rem !important;
  }
}

@media (max-width: 576px) {
  .woocommerce-cart-form .product-thumbnail img,
  .woocommerce table.cart td.product-thumbnail img,
  .wc-block-cart-items .wc-block-cart-item__image img,
  .wc-block-cart .wc-block-cart-item__image img,
  .wp-block-woocommerce-cart .wc-block-cart-item__image img {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }
  .woocommerce table.cart td.product-thumbnail,
  .wc-block-cart-item__image {
    width: 70px !important;
    min-width: 70px !important;
    padding: 0.3rem !important;
  }
  .woocommerce table.cart td.product-name {
    padding: 0.3rem !important;
  }
  .woocommerce-cart-form .product-name a,
  .woocommerce table.cart td.product-name a,
  .wc-block-cart-items .wc-block-cart-item__product-name {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }
  .woocommerce table.cart .stock {
    font-size: 0.6rem !important;
    padding: 0.2rem 0.3rem !important;
  }
  .woocommerce table.cart dl.variation,
  .woocommerce table.cart dl.variation dt,
  .woocommerce table.cart dl.variation dd {
    font-size: 0.7rem !important;
  }
  .woocommerce-cart-form .product-price,
  .woocommerce table.cart td.product-price,
  .woocommerce-cart-form .product-subtotal,
  .woocommerce table.cart td.product-subtotal {
    font-size: 0.8rem !important;
  }
  .woocommerce .cart-collaterals .cart_totals th,
  .woocommerce .cart-collaterals .cart_totals td {
    font-size: 0.85rem !important;
    padding: 0.5rem !important;
  }
  .woocommerce .cart-collaterals h2 {
    font-size: 1.1rem !important;
  }
  /* Make cart table scrollable on very small screens */
  .woocommerce-cart-form {
    overflow-x: auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOVEMENT & ANIMATION UTILITIES
   ═══════════════════════════════════════════════════════════════════════ */

/* Slide animations */
.sb-slide-in-up{
  animation: sbSlideInUp .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-in-down{
  animation: sbSlideInDown .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-in-left{
  animation: sbSlideInLeft .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-in-right{
  animation: sbSlideInRight .6s cubic-bezier(.25,.46,.45,.94) forwards;
}

/* Fade + Slide combinations */
.sb-fade-in-up{
  animation: sbFadeInUp .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-fade-in-down{
  animation: sbFadeInDown .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-fade-in-left{
  animation: sbFadeInLeft .6s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-fade-in-right{
  animation: sbFadeInRight .6s cubic-bezier(.25,.46,.45,.94) forwards;
}

/* Fade only */
.sb-fade-in{
  animation: sbFadeIn .6s ease-in-out forwards;
}
.sb-fade-out{
  animation: sbFadeOut .6s ease-in-out forwards;
}

/* Scale animations */
.sb-scale-in{
  animation: sbScaleIn .5s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-scale-out{
  animation: sbScaleOut .5s cubic-bezier(.25,.46,.45,.94) forwards;
}

/* Pulse effect (subtle emphasis) */
.sb-pulse{
  animation: sbPulse 2s ease-in-out infinite;
}

/* Bounce in */
.sb-bounce-in{
  animation: sbBounceIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards;
}

/* Flip animations */
.sb-flip-in-x{
  animation: sbFlipInX .5s cubic-bezier(.25,.46,.45,.94) forwards;
  perspective: 1000px;
}
.sb-flip-in-y{
  animation: sbFlipInY .5s cubic-bezier(.25,.46,.45,.94) forwards;
  perspective: 1000px;
}

/* Slide out (exit animations) */
.sb-slide-out-up{
  animation: sbSlideOutUp .5s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-out-down{
  animation: sbSlideOutDown .5s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-out-left{
  animation: sbSlideOutLeft .5s cubic-bezier(.25,.46,.45,.94) forwards;
}
.sb-slide-out-right{
  animation: sbSlideOutRight .5s cubic-bezier(.25,.46,.45,.94) forwards;
}

/* Transform utilities (static) */
.sb-translate-x-50{transform: translateX(50%);}
.sb-translate-x-neg-50{transform: translateX(-50%);}
.sb-translate-y-50{transform: translateY(50%);}
.sb-translate-y-neg-50{transform: translateY(-50%);}
.sb-translate-center{transform: translate(-50%, -50%);}

.sb-scale-75{transform: scale(.75);}
.sb-scale-90{transform: scale(.9);}
.sb-scale-110{transform: scale(1.1);}
.sb-scale-125{transform: scale(1.25);}

.sb-rotate-45{transform: rotate(45deg);}
.sb-rotate-90{transform: rotate(90deg);}
.sb-rotate-neg-45{transform: rotate(-45deg);}

/* Transition utilities */
.sb-transition{transition: all .3s ease;}
.sb-transition-fast{transition: all .15s ease;}
.sb-transition-slow{transition: all .6s ease;}
.sb-transition-transform{transition: transform .3s ease;}
.sb-transition-opacity{transition: opacity .3s ease;}

/* Position utilities for movement */
.sb-relative{position: relative;}
.sb-absolute{position: absolute;}
.sb-fixed{position: fixed;}
.sb-sticky{position: sticky;}

/* Stagger animation delays (for sequenced animations) */
.sb-delay-1{animation-delay: .1s;}
.sb-delay-2{animation-delay: .2s;}
.sb-delay-3{animation-delay: .3s;}
.sb-delay-4{animation-delay: .4s;}
.sb-delay-5{animation-delay: .5s;}

/* ─────────────────────────────────────────────────────────────────────
   KEYFRAME DEFINITIONS
   ───────────────────────────────────────────────────────────────────── */

/* Slide In animations */
@keyframes sbSlideInUp{
  from{
    opacity: 0;
    transform: translateY(2rem);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sbSlideInDown{
  from{
    opacity: 0;
    transform: translateY(-2rem);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sbSlideInLeft{
  from{
    opacity: 0;
    transform: translateX(-2rem);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes sbSlideInRight{
  from{
    opacity: 0;
    transform: translateX(2rem);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}

/* Fade + Slide In animations */
@keyframes sbFadeInUp{
  from{
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sbFadeInDown{
  from{
    opacity: 0;
    transform: translateY(-1.5rem);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sbFadeInLeft{
  from{
    opacity: 0;
    transform: translateX(-1.5rem);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes sbFadeInRight{
  from{
    opacity: 0;
    transform: translateX(1.5rem);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}

/* Fade only */
@keyframes sbFadeIn{
  from{opacity: 0;}
  to{opacity: 1;}
}

@keyframes sbFadeOut{
  from{opacity: 1;}
  to{opacity: 0;}
}

/* Scale animations */
@keyframes sbScaleIn{
  from{
    opacity: 0;
    transform: scale(.85);
  }
  to{
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes sbScaleOut{
  from{
    opacity: 1;
    transform: scale(1);
  }
  to{
    opacity: 0;
    transform: scale(.85);
  }
}

/* Pulse effect */
@keyframes sbPulse{
  0%, 100%{
    opacity: 1;
  }
  50%{
    opacity: .7;
  }
}

/* Bounce in */
@keyframes sbBounceIn{
  0%{
    opacity: 0;
    transform: scale(.3);
  }
  50%{
    opacity: 1;
    transform: scale(1.05);
  }
  70%{
    transform: scale(.95);
  }
  100%{
    transform: scale(1);
  }
}

/* Flip animations */
@keyframes sbFlipInX{
  from{
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
  to{
    opacity: 1;
    transform: perspective(400px) rotateX(0deg);
  }
}

@keyframes sbFlipInY{
  from{
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
  to{
    opacity: 1;
    transform: perspective(400px) rotateY(0deg);
  }
}

/* Slide Out animations */
@keyframes sbSlideOutUp{
  from{
    opacity: 1;
    transform: translateY(0);
  }
  to{
    opacity: 0;
    transform: translateY(-2rem);
  }
}

@keyframes sbSlideOutDown{
  from{
    opacity: 1;
    transform: translateY(0);
  }
  to{
    opacity: 0;
    transform: translateY(2rem);
  }
}

@keyframes sbSlideOutLeft{
  from{
    opacity: 1;
    transform: translateX(0);
  }
  to{
    opacity: 0;
    transform: translateX(-2rem);
  }
}

@keyframes sbSlideOutRight{
  from{
    opacity: 1;
    transform: translateX(0);
  }
  to{
    opacity: 0;
    transform: translateX(2rem);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE-FRIENDLY RESPONSIVE ADJUSTMENTS
   ═══════════════════════════════════════════════════════════════════════ */

/* Tablet (768px - 1199px) */
@media (max-width: 1199px){
  .sb-hero{
    min-height: 58vh;
  }
  .sb-hero-content{
    padding: 2.5rem 0 1.75rem;
  }
  .display-4{
    font-size: 2rem;
  }
  .display-5{
    font-size: 1.75rem;
  }
  .lead{
    font-size: 1rem;
  }
  .btn-lg{
    padding: 0.6rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* Mobile Large (577px - 767px) */
@media (max-width: 767px){
  body{
    font-size: 14px;
  }
  
  .sb-hero{
    min-height: 48vh;
  }
  .sb-hero-content{
    padding: 1.75rem 0 1.25rem;
  }
  
  .container{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .sb-glass{
    border-radius: 0.75rem !important;
  }
  
  .p-4{
    padding: 1.5rem !important;
  }
  .p-5{
    padding: 1.5rem !important;
  }
  .p-lg-5{
    padding: 1.5rem !important;
  }
  
  .display-4{
    font-size: 1.75rem;
    line-height: 1.2;
  }
  .display-5{
    font-size: 1.5rem;
    line-height: 1.2;
  }
  
  .lead{
    font-size: 0.95rem;
  }
  
  .btn, .btn-lg{
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    border-radius: 0.75rem;
  }
  
  .btn-lg{
    padding: 0.55rem 1.2rem;
    font-size: 0.95rem;
  }
  
  h1, h2, h3, h4, h5, h6{
    line-height: 1.2;
  }
  
  .gap-3 > * + *{
    margin-left: 0.75rem;
  }
  
  .g-3 > *{
    padding: 0.75rem;
  }
  
  .row > *{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  
  .sb-glass{
    backdrop-filter: blur(10px);
  }
  
  .navbar{
    padding: 0.5rem 0;
  }
  
  .navbar-brand{
    font-size: 1rem;
  }
  
  .sb-header{
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  
  .sb-announcement{
    font-size: 12px;
  }
  
  .d-flex.flex-wrap{
    flex-direction: column;
    gap: 0.75rem !important;
  }
  
  .d-flex.flex-wrap > a,
  .d-flex.flex-wrap > button{
    width: 100%;
  }
}

/* Mobile Small (< 577px) */
@media (max-width: 576px){
  body{
    font-size: 13px;
  }
  
  .sb-hero{
    min-height: 42vh;
  }
  .sb-hero-content{
    padding: 1.25rem 0 0.875rem;
  }
  
  .container{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  
  .sb-carousel-container{
    aspect-ratio: 4/3 !important;
  }
  
  .p-3, .p-4, .p-5{
    padding: 1rem !important;
  }
  .p-lg-5{
    padding: 1rem !important;
  }
  
  .display-4{
    font-size: 1.35rem;
    line-height: 1.15;
  }
  .display-5{
    font-size: 1.15rem;
    line-height: 1.15;
  }
  .display-6{
    font-size: 1rem;
  }
  
  .lead{
    font-size: 0.9rem;
  }
  
  .btn, .btn-lg, .btn-sm{
    padding: 0.45rem 0.9rem !important;
    font-size: 0.85rem;
    border-radius: 0.6rem;
  }
  
  h1, h2, h3, h4, h5, h6{
    line-height: 1.1;
    margin-bottom: 0.75rem;
  }
  
  .mt-5{
    margin-top: 1.5rem !important;
  }
  .mt-3{
    margin-top: 0.75rem !important;
  }
  .mb-3{
    margin-bottom: 0.75rem !important;
  }
  .mb-5{
    margin-bottom: 1.5rem !important;
  }
  
  .gap-3{
    gap: 0.5rem !important;
  }
  
  .g-3 > *{
    padding: 0.5rem;
  }
  
  .row > *{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  
  .sb-kicker{
    padding: 0.4rem 0.6rem;
    font-size: 0.75rem;
  }
  
  .sb-stat{
    padding: 0.75rem !important;
  }
  
  .navbar{
    padding: 0.25rem 0;
  }
  .navbar-brand{
    font-size: 0.9rem;
  }
  
  .navbar-toggler{
    padding: 0.25rem 0.5rem;
  }
  
  /* Center menu and cart buttons on mobile */
  @media (max-width: 991px) {
    .sb-header .navbar {
      flex-wrap: wrap;
      justify-content: center;
    }
    .sb-header .navbar-brand {
      order: 1;
      flex: 0 0 100%;
      text-align: center;
      margin: 0.5rem 0;
    }
    .sb-header .navbar > .d-flex.d-lg-none {
      order: 2;
      display: flex !important;
      justify-content: center;
      margin: 0.5rem auto;
    }
    .sb-header .navbar-toggler {
      display: none !important;
    }
    .sb-header .navbar-collapse {
      order: 3;
      flex: 0 0 100%;
      display: block !important;
    }
  }
  
  .navbar-collapse{
    margin-top: 0.5rem;
  }
  
  .small{
    font-size: 0.75rem;
  }
  
  .fw-bold, .fw-semibold{
    font-weight: 700;
  }
  
  .offcanvas{
    max-width: 90vw;
  }
  
  .col-lg-6{
    min-height: auto;
  }
}

/* Extra small devices (< 360px) */
@media (max-width: 359px){
  body{
    font-size: 12px;
  }
  
  .container{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  
  .display-4{
    font-size: 1.1rem;
  }
  
  .display-5{
    font-size: 0.95rem;
  }
  
  .btn{
    padding: 0.35rem 0.7rem !important;
    font-size: 0.75rem;
  }
  
  .p-3, .p-4{
    padding: 0.75rem !important;
  }
  
  .gap-3{
    gap: 0.25rem !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   TOUCH-FRIENDLY & ACCESSIBILITY UTILITIES
   ───────────────────────────────────────────────────────────────────── */

/* Ensure buttons and links have minimum touch target size (44x44px) */
a, button, .btn{
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Touch hover states */
@media (hover: hover){
  a:hover, button:hover, .btn:hover{
    cursor: pointer;
  }
}

@media (hover: none){
  a:active, button:active, .btn:active{
    opacity: 0.8;
  }
}

/* Better text readability */
body{
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Improved focus states for keyboard navigation */
a:focus, button:focus, input:focus, textarea:focus, select:focus{
  outline: 2px solid var(--sb-accent);
  outline-offset: 2px;
}

/* Better image rendering */
img{
  -webkit-user-select: none;
  user-select: none;
  max-width: 100%;
  height: auto;
  display: block;
}

/* Optimize WooCommerce for mobile */
.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

/* SofosBay — Related products grid: Desktop 4 / Tablet 3 / Mobile 2 */
.related.products ul.products,
.woocommerce .related.products ul.products,
.woocommerce .related ul.products,
section.related.products ul.products,
ul.products.columns-4{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

/* Fix for Grid Layout: Hide clearfix pseudo-elements that become grid items */
.related.products ul.products::before,
.related.products ul.products::after,
.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after,
ul.products.columns-4::before,
ul.products.columns-4::after {
    content: none !important;
    display: none !important;
}

.related.products ul.products li.product,
.woocommerce .related.products ul.products li.product,
ul.products.columns-4 li.product{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  min-width: 0 !important;
  flex: none !important;
}

/* Tablet: 3 columns */
@media (max-width: 991px){
  .related.products ul.products,
  .woocommerce .related.products ul.products,
  ul.products.columns-4{
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Mobile: 2 columns */
@media (max-width: 575px){
  .related.products ul.products,
  .woocommerce .related.products ul.products,
  ul.products.columns-4{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px){
  .woocommerce ul.products{
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.75rem;
  }
}

@media (max-width: 576px){
  .woocommerce ul.products{
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .sb-slide-in-up,
  .sb-slide-in-down,
  .sb-slide-in-left,
  .sb-slide-in-right,
  .sb-fade-in-up,
  .sb-fade-in-down,
  .sb-fade-in-left,
  .sb-fade-in-right,
  .sb-fade-in,
  .sb-fade-out,
  .sb-scale-in,
  .sb-scale-out,
  .sb-pulse,
  .sb-bounce-in,
  .sb-flip-in-x,
  .sb-flip-in-y,
  .sb-slide-out-up,
  .sb-slide-out-down,
  .sb-slide-out-left,
  .sb-slide-out-right{
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =========================
   TRUE MEGA MENU (Bootstrap)
========================= */

/* Wide dropdown shell */
.navbar .dropdown-menu.sb-mega-menu{
  width: min(1100px, 94vw);
  padding: 1rem;
  border-radius: 1.2rem;
  columns: initial; /* disable columns */
}

/* Make it a grid */
.navbar .dropdown-menu.sb-mega-menu{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem .8rem;
}

/* Each item becomes a luxe tile */
.navbar .dropdown-menu.sb-mega-menu .dropdown-item{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(199,166,91,.14);
  border-radius: 1rem;
  padding: .85rem .9rem;
  font-weight: 850;
  white-space: normal;
  transition: transform .15s var(--sb-ease), border-color .15s var(--sb-ease), background .15s var(--sb-ease);
}

.navbar .dropdown-menu.sb-mega-menu .dropdown-item:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(199,166,91,.35);
  transform: translateY(-1px);
}

/* Nice subtitle from menu item description */
.sb-mega-desc{
  margin-top: .25rem;
  color: var(--sb-muted);
  font-weight: 700;
  letter-spacing: .01em;
}

/* Mobile */
@media (max-width: 991px){
  .navbar .dropdown-menu.sb-mega-menu{
    width: 100%;
    grid-template-columns: 1fr;
    padding: .75rem;
  }
}

/* === FORCE THEME TOKENS (VS CODE WINS) === */
:root{
  --sb-bg:#2E0909 !important;
  --sb-text:#F4EEDC !important;
  --sb-accent:#C7A65B !important;

  --sb-font-body:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  --sb-font-head:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

/* =========================
   LUXURY SINGLE PRODUCT
========================= */

.sb-product-hero{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(199,166,91,.22);
  border-radius: 1.25rem;
  box-shadow: 0 26px 90px rgba(0,0,0,.40);
}

.sb-product-summary .product_title{
  font-family: var(--sb-font-head);
  letter-spacing: -.02em;
  font-size: clamp(2rem, 3vw, 3rem);
  text-transform: uppercase !important;
}


/* Product detail: price styling (stronger selectors to win over Woo defaults) */
.sb-product-summary .price,
.woocommerce div.product .summary .price,
.woocommerce-variation-price .price,
.woocommerce div.product .summary .price > .amount,
.woocommerce div.product .summary .price > ins > .amount {
  color: var(--sb-accent-soft) !important;
  font-family: var(--sb-font-body) !important;
  font-weight: 400 !important;
  font-size: var(--sb-price-size) !important;
  letter-spacing: -0.02em;
}

.sb-product-summary .stock,
.woocommerce div.product .summary .stock{
  font-weight: 500 !important;
  color: var(--sb-accent-soft) !important;
  text-transform: uppercase;
  font-size: var(--sb-stock-size) !important;
  letter-spacing: 0.05em;
}

/* Also ensure "Out of Stock" is styled but maybe red? Or same gold? User said "in stock". 
   Let's target specifically .in-stock if possible, or just .stock defaults to gold. */
.sb-product-summary .stock.out-of-stock,
.woocommerce div.product .summary .stock.out-of-stock{
  color: #d9534f !important; /* Keep red for out of stock unless requested otherwise */
}
.sb-product-summary .stock.in-stock,
.woocommerce div.product .summary .stock.in-stock{
  color: var(--sb-accent-soft) !important;
}

.sb-product-summary .price .amount,
.sb-product-summary .price .woocommerce-Price-amount,
.sb-product-summary .price bdi,
.woocommerce-variation-price .price .amount {
  color: var(--sb-accent-soft) !important;
  font-family: var(--sb-font-body) !important;
  font-weight: 400 !important;
}

.sb-product-summary .woocommerce-product-details__short-description{
  color: var(--sb-muted);
  font-size: 1.05rem;
  line-height: 1.7;
  margin-top: .75rem;
}

.sb-product-summary form.cart{
  margin-top: 1.1rem;
  padding: 1rem;
  border: 1px solid rgba(199,166,91,.18);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.04);
}

/* Product variations select dropdowns - gold like price */
.sb-product-summary .variations select,
.sb-product-summary form.cart select,
.sb-product-summary .variations td select,
.woocommerce .sb-product-summary .variations select,
table.variations select,
.variations select{
  color: var(--sb-accent) !important;
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(199,166,91,.22) !important;
  border-radius: 1rem !important;
  padding: .7rem 1rem !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.sb-product-summary .variations select option,
table.variations select option,
.variations select option{
  color: var(--sb-accent) !important;
  background: var(--sb-bg) !important;
}
.sb-product-summary .variations label,
.sb-product-summary .variations th label,
table.variations label,
.variations label{
  color: var(--sb-text) !important;
  font-weight: 600 !important;
  margin-right: 1.5rem !important; /* Added spacing to right of label */
}

/* Clear selection link */
.reset_variations {
  margin-left: 1.5rem !important; /* Added spacing to right of select */
  color: var(--sb-accent) !important;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}

.sb-product-summary .quantity .qty{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(199,166,91,.22);
  color: var(--sb-text);
  border-radius: 1rem;
  padding: .7rem .85rem;
  height: 48px;
}

/* Spacing for variation price */
.woocommerce-variation-price,
.single_variation_wrap .price {
  margin-top: 1.5rem !important;
  display: block;
}

.sb-product-summary button.single_add_to_cart_button{
  margin-top: 1.5rem !important; /* Spacing from Qty */
  border-radius: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  padding: .75rem 2rem !important;
  font-size: 1rem !important;
  
  /* Solid Gold Style (Like Header Gallery Button) */
  background: var(--sb-accent-soft) !important;
  border: 1px solid var(--sb-accent-soft) !important;
  color: var(--sb-bg) !important;
  
  box-shadow: 0 18px 44px rgba(0,0,0,.25);
  transition: all 0.22s ease;
}
.sb-product-summary button.single_add_to_cart_button:hover{
  /* Glassy hover effect */
  background: rgba(199,166,91,.16) !important;
  border-color: rgba(199,166,91,.34) !important;
  color: var(--sb-accent-soft) !important;
  
  box-shadow: 0 26px 70px rgba(0,0,0,.35);
  transform: translateY(-2px);
}

/* Move GPay / Apple Pay buttons lower */
#wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-button,
.wc-payment-request-button-container,
#wc-payment-request-button {
  margin-top: 2rem !important;
  padding-top: 1rem !important;
  clear: both !important;
}

.sb-trust{
  display:flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(199,166,91,.14);
}
.sb-trust-item{
  display:flex;
  align-items:center;
  gap: .55rem;
  color: rgba(244,238,220,.86);
  font-weight: 850;
}
.sb-dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: rgba(199,166,91,.65);
  box-shadow: 0 0 0 6px rgba(199,166,91,.10);
}

/* Tabs become luxe cards */
.woocommerce div.product .woocommerce-tabs{
  margin-top: 1.25rem;
  border: 1px solid rgba(199,166,91,.18);
  border-radius: 1.25rem;
  background: rgba(0,0,0,.14);
  padding: 1rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  margin: 0 0 1rem 0;
  padding: 0;
  display:flex;
  flex-wrap: wrap;
  gap: .5rem;
  border-bottom: 1px solid rgba(199,166,91,.14);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0;
  padding:0;
  border:0;
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  padding: .65rem 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(199,166,91,.15);
  background: rgba(199,166,91,.06); /* Inverted: Light/Gold tint default */
  color: rgba(244,238,220,.7);
  font-weight: 500;
  text-decoration:none;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  background: rgba(0,0,0,.55); /* Inverted: Dark on hover */
  border-color: rgba(199,166,91,.5);
  color: var(--sb-text);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  background: #1a0505 !important; /* Dark styling for active tab (deep burgundy/black) */
  border-color: var(--sb-accent) !important;
  color: var(--sb-accent) !important;
  font-weight: 800;
  box-shadow: 0 4px 20px rgba(0,0,0,.6);
}

/* Remove default Woo rounded corners/margins if any */
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display: none !important;
}

/* Related products spacing */
.woocommerce .related.products,
.woocommerce .up-sells.products{
  margin-top: 1.5rem;
}

/* Force CSS vars to always win over Customizer inline styles */
:root{
  --sb-bg:#2E0909 !important;
  --sb-text:#F4EEDC !important;
  --sb-accent:#C7A65B !important;
  --sb-font-body:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  --sb-font-head:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

html, body{
  background: var(--sb-bg) !important;
  color: var(--sb-text) !important;
}
a{ color: var(--sb-accent); }

/* UPLOADED */
/* WE ARE THE CHAMPIONS */

/* === FORCE MONTSERRAT EVERYWHERE (WINS) === */
:root{
  --sb-font-body:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  --sb-font-head:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

html, body{
  font-family: var(--sb-font-body) !important;
}

h1,h2,h3,h4,h5,h6,
.site-title, .navbar, .menu, .btn,
.woocommerce, .woocommerce *{
  font-family: var(--sb-font-head) !important;
}

h1,h2,h3,h4,h5,h6{ letter-spacing: -0.02em; }
body{ letter-spacing: 0.01em; }

/* === SOCIAL BUTTONS (Transparent with Bold Text) === */
.sb-social-btn {
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: var(--sb-accent) !important;
  font-weight: 700 !important;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
}

.sb-social-btn:hover {
  background: rgba(199, 166, 91, 0.15) !important;
  border-color: var(--sb-accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(199, 166, 91, 0.3);
}

.sb-social-btn i {
  margin-right: 0.4rem;
}

/* === LOOKBOOK CARDS (HERO-STYLE TILES) === */
.sb-lookbook-card{
  min-height: 460px;
  border: 1px solid rgba(199,166,91,.18);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 55px rgba(0,0,0,.25);
}

.sb-lookbook-img{ object-fit: cover; }

.sb-lookbook-overlay{
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(46,9,9,.92));
}

.sb-lookbook-kicker{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: fit-content;
  padding: .4rem .7rem;
  border-radius: 999px;
  border: 1px solid rgba(199,166,91,.22);
  background: rgba(0,0,0,.22);
  color: rgba(244,238,220,.84);
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .75rem;
}

.sb-lookbook-meta{
  color: var(--sb-muted);
  font-weight: 750;
}

.sb-lookbook-price{
  color: var(--sb-accent);
  font-weight: 950;
}

.sb-lookbook-sizes{
  margin-top: .15rem;
  font-size: .85rem;
  color: var(--sb-muted);
}

/* Pagination styling */
.sb-pagination ul{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.sb-pagination a, .sb-pagination span{
  display: inline-flex;
  padding: .45rem .7rem;
  border-radius: .8rem;
  border: 1px solid rgba(199,166,91,.22);
  background: rgba(255,255,255,.03);
  text-decoration: none;
  color: var(--sb-text);
  font-weight: 800;
}
.sb-pagination .current{
  background: rgba(199,166,91,.16);
  border-color: rgba(199,166,91,.45);
}

/* Apple-style Carousel */
.sb-carousel-container {
  position: relative;
  overflow: hidden;
}

.sb-carousel-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.sb-carousel-image.active {
  opacity: 1;
  z-index: 1;
}

.sb-carousel-indicators {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.75rem;
  z-index: 10;
  padding: 0.75rem 1.5rem;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  border-radius: 999px;
}

.sb-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sb-carousel-dot:hover {
  background: rgba(255, 255, 255, 0.6);
  transform: scale(1.2);
}

.sb-carousel-dot.active {
  width: 24px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.95);
}

@media (max-width: 768px) {
  .sb-carousel-indicators {
    bottom: 1rem;
    padding: 0.5rem 1rem;
    gap: 0.5rem;
  }
  
  .sb-carousel-dot {
    width: 6px;
    height: 6px;
  }
  
  .sb-carousel-dot.active {
    width: 18px;
  }
}
/* ===================================
   Modern Cart Button Styling
   =================================== */
.sb-cart-btn {
  position: relative;
  transition: all 0.25s ease;
  border: 1px solid var(--sb-border);
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(10px);
  padding: 0.5rem 1rem !important;
}

.sb-cart-btn:hover {
  background: rgba(255,255,255,0.08);
  border-color: var(--sb-border-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(199,166,91,0.15);
}

.sb-cart-btn svg {
  transition: transform 0.25s ease;
  stroke: var(--sb-accent);
}

.sb-cart-btn:hover svg {
  transform: scale(1.1);
}

.sb-cart-count {
  animation: fadeIn 0.3s ease;
  transition: all 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Responsive cart button adjustments */
@media (max-width: 991px) {
  .sb-cart-btn {
    padding: 0.4rem 0.85rem !important;
  }
  
  .sb-cart-btn svg {
    width: 18px;
    height: 18px;
  }
}

/* Checkout Page: Force black text for input fields */
.woocommerce-checkout input.input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #000000 !important;
}

/* Force Labels to Black (Billing/Shipping inputs) */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label {
  color: #000000 !important;
}

/* Restore Theme Style for Payment & Checkboxes (Affirm, Afterpay, Terms, Notes) */
.woocommerce-checkout #payment label,
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout .input-checkbox + label {
  color: #000000 !important;
}

/* Form placeholder styles - Black text for readability */
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder,
select::-ms-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

/* Placeholder text color for checkouts - OVERRIDE ALL */
.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout input[type="text"]::placeholder,
.woocommerce-checkout input[type="email"]::placeholder,
.woocommerce-checkout input[type="tel"]::placeholder,
.woocommerce-checkout textarea::placeholder,
.woocommerce-checkout ::placeholder,
.woocommerce-checkout ::-webkit-input-placeholder,
.woocommerce-checkout ::-moz-placeholder,
.woocommerce-checkout :-ms-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder,
.woocommerce-checkout select::placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

/* Ensure select dropdown options are also readable */
.woocommerce-checkout select option {
  color: #000000 !important;
  background: #ffffff !important;
}

/* ========================================
   WooCommerce BLOCKS Checkout - Black Text
   ======================================== */
body.woocommerce-checkout {
  --wc-block-components-text-color: #000000;
  --wc-block-components-placeholder-color: #000000;
  --wc-block-components-label-color: #000000;
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-textarea textarea,
.wc-block-components-select select,
.wc-block-components-combobox input,
.wc-block-components-form .wc-block-components-text-input input {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.wc-block-components-text-input input::placeholder,
.wc-block-components-textarea textarea::placeholder,
.wc-block-components-combobox input::placeholder {
  color: #000000 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #000000 !important;
}

.wc-block-components-text-input__label,
.wc-block-components-select__label,
.wc-block-components-combobox__label {
  color: #000000 !important;
}

/* Blocks checkout address fields */
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-address-form textarea {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.wc-block-components-address-form input::placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

.wc-block-components-address-form label {
  color: #000000 !important;
}
