/*
Theme Name: Bevani Labs
Theme URI: https://bevanilabs.com
Author: Bevani Laboratories
Author URI: https://bevanilabs.com
Description: A premium dark luxury theme for research compound and peptide e-commerce. Black, gold, and cream palette with serif typography. Built for WooCommerce.
Version: 1.10.79
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
License URI: https://bevanilabs.com
Text Domain: bevani
Tags: ecommerce, woocommerce, dark, luxury, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ============================================
   BEVANI LABS — DESIGN SYSTEM
   ============================================ */

:root {
  --black: #0F0D08;
  --black2: #16130C;
  --black3: #1F1B12;
  --black4: #2A251A;
  --gold: #C9A961;
  --gold-light: #E8C77D;
  --gold-dim: rgba(201,169,97,0.15);
  --gold-glow: rgba(201,169,97,0.35);
  --cream: #F5F1E8;
  --cream-dim: #D9D2C2;
  --muted: #8A8270;
  --text: #C7BFA8;
  --card-bg: rgba(31,27,18,0.85);
  --border: rgba(201,169,97,0.22);
  --border-soft: rgba(201,169,97,0.12);
  --border-input: rgba(201,169,97,0.28);
  --success: #6B9E6E;
  --danger: #C97A6B;
  --font-display: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  /* overflow-x:hidden lives on html (not body) so position:sticky on
     descendant elements (like .site-header) works correctly. Putting it
     on body creates a scroll container that breaks sticky positioning. */
  overflow-x: hidden;
  /* Black bg lives on html so body can be transparent. This lets the
     fixed .bevani-molecule-bg layer (z-index: -1) show through in any
     section that doesn't have its own background. */
  background: var(--black);
}
body {
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  background: transparent;
}

/* ═══════════════════════════════════════════════════════════════════
   MOLECULE BACKGROUND LAYER — site-wide brand watermark

   Scattered peptide chains as a subtle textural element. Layer is
   position:fixed so it stays anchored to the viewport while content
   scrolls past beneath it — feels like a watermark on premium
   stationery rather than a parallax effect.

   z-index:1 puts the layer above section backgrounds so mix-blend-mode:
   screen can lighten any backdrop with the gold strokes. pointer-events:
   none so clicks pass through to content. Opacity tuned for screen-blend
   on dark surfaces: 12% desktop, 8% mobile.
   ═══════════════════════════════════════════════════════════════════ */
.bevani-molecule-bg {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url('assets/images/molecule-bg.svg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  opacity: 0.12;
  mix-blend-mode: screen;
}
@media (max-width: 700px) {
  .bevani-molecule-bg {
    opacity: 0.08;
  }
}

a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

/* ── ANNOUNCEMENT BAR ── */
.announce-bar {
  background: var(--gold);
  color: var(--black);
  text-align: center;
  padding: 9px 16px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  position: relative;
  z-index: 100;
}
.announce-bar span { opacity: .5; margin: 0 10px; }
.announce-bar strong { font-weight: 600; }

/* ── HEADER ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  background: var(--black);
  border-bottom: 1px solid var(--border-soft);
}
.header-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 36px;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  white-space: nowrap;
}
.logo-mark {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
  color: var(--gold);
  font-style: italic;
  letter-spacing: -.02em;
  line-height: 1;
  padding-bottom: 2px;
  transition: background .3s, color .3s;
}
.site-logo:hover .logo-mark {
  background: var(--gold);
  color: var(--black);
}
.logo-text {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  color: var(--cream);
  letter-spacing: .02em;
  line-height: 1;
}
.logo-text-sub {
  color: var(--gold);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .28em;
  text-transform: uppercase;
  display: block;
  margin-top: 4px;
  font-family: var(--font-body);
}

/* WordPress nav */
.main-nav { display: flex; align-items: center; }
/* Mobile account section inside hamburger drawer — hidden on desktop where
   Sign In / My Account is visible in .header-actions next to the cart. */
.main-nav-account { display: none; }
.main-nav ul {
  list-style: none;
  display: flex;
  gap: 32px;
  align-items: center;
  margin: 0;
  padding: 0;
}
.main-nav a {
  color: var(--cream-dim);
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  transition: color .25s;
  letter-spacing: .08em;
  text-transform: uppercase;
  position: relative;
  padding: 6px 0;
}
.main-nav a:hover { color: var(--gold); }
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current-menu-parent > a { color: var(--gold); }
.main-nav .current-menu-item > a::after,
.main-nav .current_page_item > a::after,
.main-nav .current-menu-ancestor > a::after,
.main-nav .current-menu-parent > a::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
}

.header-actions { display: flex; gap: 18px; align-items: center; }
.btn-cart {
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: 9px 18px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s, color .25s;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
.btn-cart:hover { background: var(--gold); color: var(--black); }
.header-signin {
  font-size: 12px;
  color: var(--cream-dim);
  text-decoration: none;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .25s;
}
.header-signin:hover { color: var(--gold); }

/* Mobile menu toggle */
.mobile-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--gold);
  padding: 8px 12px;
  cursor: pointer;
  font-size: 18px;
}

/* ── BUTTONS ── */
.btn-primary, button.btn-primary, .button {
  background: var(--gold);
  color: var(--black);
  border: 1px solid var(--gold);
  border-radius: 2px;
  padding: 16px 36px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .3s, color .3s, transform .3s;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.btn-primary:hover, button.btn-primary:hover, .button:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--black);
  transform: translateY(-1px);
}
.btn-ghost {
  background: transparent;
  color: var(--cream);
  border: 1px solid rgba(245,241,232,0.25);
  border-radius: 2px;
  padding: 16px 36px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: border-color .3s, color .3s;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
.btn-small { padding: 11px 22px; font-size: 11px; }

/* ── TYPOGRAPHY ── */
section { padding: 120px 36px; }
.container { max-width: 1240px; margin: 0 auto; }
.container-narrow { max-width: 880px; margin: 0 auto; }
.section-label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.section-label::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--gold);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--cream);
  letter-spacing: -.01em;
}
h1 { font-size: clamp(40px, 5.5vw, 72px); font-weight: 300; line-height: 1.05; margin-bottom: 20px; }
h2 { font-size: clamp(32px, 4.5vw, 54px); font-weight: 300; line-height: 1.1; margin-bottom: 20px; }
h3 { font-size: 22px; font-weight: 500; line-height: 1.3; margin-bottom: 12px; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--gold); font-weight: 400; }
p { margin-bottom: 1em; }
.section-intro {
  font-size: 17px;
  color: var(--cream-dim);
  max-width: 560px;
  font-weight: 300;
  line-height: 1.7;
}
.gold-line {
  width: 56px;
  height: 1px;
  background: var(--gold);
  margin: 0 0 28px;
}
.ornament {
  text-align: center;
  color: var(--gold);
  font-size: 14px;
  margin: 0 0 28px;
  line-height: 1;
  letter-spacing: 1.2em;
  opacity: .7;
}

/* ── PAGE HEADER ── */
.page-header {
  position: relative;
  padding: 100px 36px 80px;
  border-bottom: 1px solid var(--border-soft);
  background: var(--black2);
  overflow: hidden;
}
.page-header::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,169,97,0.05) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.page-header-inner {
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 0 auto;
  text-align: center;
}
.breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.breadcrumb a { color: var(--muted); text-decoration: none; transition: color .25s; }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb .sep { color: var(--gold); opacity: .5; }
.breadcrumb .current { color: var(--cream); }

/* ── PRODUCT CARD (WooCommerce-compatible) ── */
.product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: transparent;
  border: 1px solid var(--border-soft);
  border-radius: 0;
  overflow: hidden;
  transition: border-color .35s, transform .35s;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}
.product-card:hover,
.woocommerce ul.products li.product:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
}
.product-img {
  width: 100%;
  height: 240px;
  background: var(--black2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-soft);
}
.woocommerce ul.products li.product a img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  background: var(--black2);
  border-bottom: 1px solid var(--border-soft);
  margin: 0;
  filter: brightness(.9);
  transition: filter .3s;
}
.woocommerce ul.products li.product:hover a img { filter: brightness(1.1); }
.product-img-bg {
  width: 130px;
  height: 130px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .5s;
}
.product-card:hover .product-img-bg { transform: rotate(45deg) scale(1.05); }
.product-img svg {
  width: 56px; height: 56px;
  stroke: var(--gold); fill: none; stroke-width: 0.9;
  opacity: .85;
  transition: transform .5s;
}
.product-card:hover .product-img svg { transform: rotate(-45deg); }
.product-hover-btn {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  opacity: 0;
  background: var(--gold);
  color: var(--black);
  border: none;
  border-radius: 2px;
  padding: 10px 26px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: opacity .3s, transform .3s;
  text-decoration: none;
}
.product-card:hover .product-hover-btn {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.product-body { padding: 24px 24px 28px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product-name {
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--cream) !important;
  margin-bottom: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  padding: 0 !important;
}
.product-cat,
.woocommerce ul.products li.product .product-category {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.product-price,
.woocommerce ul.products li.product .price {
  font-size: 13px !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
  font-family: var(--font-body) !important;
}
.product-price strong,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price ins .amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  margin-left: 4px;
  text-decoration: none;
}
.woocommerce ul.products li.product .price del {
  color: var(--muted);
  text-decoration: line-through;
  font-size: 13px;
  margin-right: 6px;
}

/* WooCommerce-specific containers */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: 100% !important; margin: 0 !important; float: none !important; }

/* WooCommerce buttons inherit our style */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 2px !important;
  padding: 14px 32px !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  text-decoration: none;
  transition: background .25s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--gold-light) !important;
  border-color: var(--gold-light) !important;
  color: var(--black) !important;
}

/* ── FORM ELEMENTS ── */
.form-group { margin-bottom: 24px; }
.form-label,
.woocommerce form .form-row label {
  display: block;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 10px !important;
}
.form-input, .form-textarea, .form-select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="number"], input[type="search"], input[type="url"],
textarea, select {
  width: 100%;
  background: var(--black) !important;
  border: 1px solid var(--border-input) !important;
  border-radius: 0 !important;
  padding: 14px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--cream) !important;
  outline: none;
  transition: border-color .25s;
  box-shadow: none !important;
  line-height: 1.5;
}
input::placeholder, textarea::placeholder { color: var(--muted); font-style: italic; }
input:focus, textarea:focus, select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--gold) !important; }
.form-textarea, textarea { min-height: 140px; resize: vertical; line-height: 1.6; }

/* ── Unified <select> styling ──
   ALL native selects across the site share this canonical style.
   Closed state: solid black bg, gold-soft border, gold chevron right.
   Open state: rendered by the OS (cannot be styled with CSS).
   Override only when a specific context needs different styling. */
select, .form-select, .bevani-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--black) !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A961' stroke-width='1.5'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 18px !important;
  padding: 14px 48px 14px 18px !important;
  cursor: pointer;
  min-height: 50px;
}
select:hover, .form-select:hover, .bevani-select:hover {
  border-color: var(--border) !important;
}
select option, .form-select option, .bevani-select option {
  background: var(--black2);
  color: var(--cream);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 13px;
  color: var(--cream-dim);
  line-height: 1.6;
}
.form-checkbox input { margin-top: 4px; accent-color: var(--gold); width: auto; }

/* ── DISCLAIMER ── */
.disclaimer {
  background: var(--black);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  padding: 28px 36px;
  text-align: center;
}
.disclaimer p {
  font-size: 12px;
  color: var(--muted);
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.7;
  letter-spacing: .02em;
}
.disclaimer strong { color: var(--gold); font-weight: 500; letter-spacing: .05em; }

/* ── FOOTER ── */
.site-footer {
  background: var(--black2);
  border-top: 1px solid var(--border-soft);
  padding: 80px 36px 32px;
}
.footer-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 56px;
  margin-bottom: 56px;
}
.footer-brand p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 16px;
  max-width: 260px;
  line-height: 1.7;
  font-weight: 300;
}
.footer-col h5 {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  color: var(--gold);
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-soft);
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col a {
  display: block;
  font-size: 14px;
  color: var(--cream-dim);
  text-decoration: none;
  margin-bottom: 12px;
  transition: color .25s;
  font-weight: 300;
}
.footer-col a:hover { color: var(--gold); }
.newsletter-form { display: flex; gap: 0; margin-top: 12px; flex-wrap: wrap; }
.newsletter-input {
  flex: 1;
  min-width: 160px;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--cream) !important;
  outline: none;
}
.newsletter-input::placeholder { color: var(--muted); font-style: italic; }
.newsletter-input:focus { border-color: var(--gold); }
.newsletter-btn {
  background: var(--gold);
  color: var(--black);
  border: 1px solid var(--gold);
  border-radius: 0;
  padding: 12px 22px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: background .25s;
}
.newsletter-btn:hover { background: var(--gold-light); border-color: var(--gold-light); }
.footer-bottom {
  max-width: 1240px;
  margin: 0 auto;
  padding-top: 28px;
  border-top: 1px solid var(--border-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .05em;
}
.footer-bottom a { color: var(--muted); text-decoration: none; transition: color .25s; }
.footer-bottom a:hover { color: var(--gold); }

/* ── ANIMATIONS ── */
.fade-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fade-up-d1 { transition-delay: .1s; }
.fade-up-d2 { transition-delay: .2s; }
.fade-up-d3 { transition-delay: .3s; }
.fade-up-d4 { transition-delay: .4s; }

/* ── BADGES ── */
.badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 5px 12px;
  border: 1px solid var(--border);
  color: var(--gold);
  border-radius: 2px;
}
.badge-success { color: var(--success); border-color: rgba(107,158,110,0.3); }
.badge-danger { color: var(--danger); border-color: rgba(201,122,107,0.3); }

/* ── HERO (homepage) ── */
/* ═══════════════════════════════════════════════════════════════════
   HERO — cinematic product imagery on the right, text on the left
   The background image bleeds full-width; bottle anchored to the right
   side via background-position so it stays fixed as viewport scales.
   Subtle left-to-right gradient overlay anchors the text in a darker
   zone for readability without obscuring the product photography.
   ═══════════════════════════════════════════════════════════════════ */
.hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--black);
  /* Cap hero width at 1800px and center it. On ultrawide monitors
     (>1800px viewport) dark void appears on either side of the hero,
     giving a "framed" feel without floating the image inside it.
     On screens ≤1800px the hero fills viewport width as before. */
  max-width: 1800px;
  margin: 0 auto;
}

/* Background image layer — covers the hero edge-to-edge.
   The hero container itself is capped at max-width 1800px (see .hero
   below) and centered, so on ultrawide monitors dark void appears on
   either side of the entire hero. This gives a "framed" feel on big
   monitors without floating the image inside its container.
   Mask-image feathers the image's L/R edges (8% on each side) so they
   blend softly into the surrounding dark instead of presenting hard
   rectangular boundaries. */
.hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('assets/images/hero-background.jpg');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

/* Gradient overlay — darkens the left third for text contrast,
   leaves the right side (bottle area) untouched and bright.
   Tuned for v1.10.20 hero image (Nano Banana 4K composition):
   slightly stronger than v2 because the new image has brighter
   gold particles bleeding into the center. The molecular network
   on the upper-left stays visible thanks to the slow ramp. */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(15, 13, 8, 0.78) 0%,
    rgba(15, 13, 8, 0.5) 28%,
    rgba(15, 13, 8, 0.18) 50%,
    rgba(15, 13, 8, 0) 70%
  );
  z-index: 1;
  pointer-events: none;
}

/* Content container — site max-width, left-aligned text column */
.hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 60px 36px;
}
.hero-content {
  max-width: 720px;
}

.hero-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  font-weight: 500;
  color: var(--gold);
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.hero-label::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--gold);
}
.hero h1 {
  font-size: clamp(44px, 5vw, 72px);
  margin-bottom: 24px;
  line-height: 1.05;
}
.hero h1 em {
  font-style: italic;
  color: var(--gold);
  display: block;
  font-weight: 400;
}
.hero-sub {
  font-size: 17px;
  color: var(--cream-dim);
  max-width: 480px;
  margin-bottom: 32px;
  line-height: 1.7;
  font-weight: 300;
}
.hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }

/* ── Mobile: image becomes a top header band, text stacks below ── */
@media (max-width: 900px) {
  .hero {
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    margin: 0;
  }
  .hero-bg {
    position: relative;
    inset: auto;
    height: 380px;
    margin: 0;
    /* Mobile-specific image: portrait composition with bottle centered,
       gold scatter in middle/lower thirds (avoids dark-top problem from
       cropping the wide desktop image down to a mobile band). */
    background-image: url('assets/images/hero-background-mobile.jpg');
    background-position: center center;
    background-size: cover;
    /* 4-edge feather at 5% on all sides — gentle softening that
       complements the image's own natural edge falloff rather than
       doubling it. Image floats softly without losing visual presence. */
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    mask-composite: intersect;
  }
  .hero-overlay {
    /* Mobile overlay disabled in v1.10.38: the dedicated mobile image
       already has natural dark edges; an additional CSS gradient was
       darkening the bottom and muddying the gold scatter. */
    inset: 0;
    height: 380px;
    background: transparent;
  }
  .hero-inner {
    /* Tightened in v1.10.41: top padding reduced 56→24 (~57% cut) to
       close the gap between image and headline. Bottom padding reduced
       72→48 to compress overall vertical sprawl so both CTAs sit
       above-the-fold on most phones. */
    padding: 24px 24px 48px;
  }
  .hero-content {
    max-width: 100%;
  }
  .hero-label {
    margin-bottom: 24px;
  }
  .hero h1 {
    font-size: clamp(40px, 9vw, 56px);
  }
  .hero-sub {
    font-size: 16px;
    margin-bottom: 36px;
  }
}

/* ── TRUST BADGES ── */
.trust-strip {
  background: var(--black2);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  padding: 56px 36px;
}
.trust-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
}
.trust-card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.trust-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trust-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.trust-card h4 {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 500;
  color: var(--cream);
  margin-bottom: 6px;
}
.trust-card p { font-size: 13px; color: var(--muted); line-height: 1.6; }

/* ── ABOUT/STATS HOME SECTION ── */
.about-section {
  background: var(--black2);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}
.about-text p { color: var(--cream-dim); font-size: 16px; font-weight: 300; line-height: 1.85; margin-bottom: 24px; }
.stats-stack { display: flex; flex-direction: column; gap: 20px; }
.stat-item {
  background: var(--black);
  border: 1px solid var(--border-soft);
  padding: 32px 36px;
  display: flex;
  align-items: center;
  gap: 28px;
  transition: border-color .3s;
  position: relative;
}
.stat-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 0;
  background: var(--gold);
  transition: height .4s;
}
.stat-item:hover { border-color: var(--border); }
.stat-item:hover::before { height: 100%; }
.stat-num {
  font-family: var(--font-display);
  font-size: 52px;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -.02em;
}
.stat-desc { font-size: 14px; color: var(--muted); line-height: 1.6; }
.stat-desc strong {
  display: block;
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--cream);
  font-weight: 500;
  margin-bottom: 4px;
}

/* Categories grid */
.categories-section { background: var(--black); }
.cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 56px;
}
.cat-card {
  background: transparent;
  border: 1px solid var(--border-soft);
  padding: 36px 28px;
  cursor: pointer;
  transition: border-color .3s, transform .3s, background .3s;
  text-align: center;
  text-decoration: none;
  display: block;
}
.cat-card:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
  background: var(--black2);
}
.cat-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cat-card:hover .cat-icon { border-color: var(--gold); }
.cat-icon svg { width: 24px; height: 24px; stroke: var(--gold); fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.cat-card h4 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 6px;
}
.cat-card p {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .05em;
}

/* Reviews on homepage */
.reviews-section { background: var(--black2); border-top: 1px solid var(--border-soft); }
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin-top: 56px;
}
.review-card {
  background: var(--black);
  border: 1px solid var(--border-soft);
  padding: 36px 32px;
  position: relative;
}
.review-card::before {
  content: '\201C';
  position: absolute;
  top: 12px;
  left: 24px;
  font-family: var(--font-display);
  font-size: 80px;
  line-height: 1;
  color: var(--gold);
  opacity: .25;
}
.stars {
  color: var(--gold);
  font-size: 13px;
  letter-spacing: 4px;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}
.review-text {
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--cream-dim);
  line-height: 1.6;
  margin-bottom: 24px;
  font-style: italic;
  font-weight: 300;
  position: relative;
  z-index: 1;
}
.review-divider {
  width: 32px;
  height: 1px;
  background: var(--gold);
  margin-bottom: 16px;
  opacity: .5;
}
.review-author {
  font-size: 12px;
  color: var(--cream);
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.review-role {
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  font-style: italic;
}

/* WooCommerce single product page tweaks */
.woocommerce div.product .product_title { font-family: var(--font-display); font-weight: 300; font-size: 48px; color: var(--cream); letter-spacing: -.02em; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gold); font-family: var(--font-display); font-size: 32px; font-weight: 400; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; border-color: var(--gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 1px solid var(--border-soft); }
/* Note: WC notice styling (.woocommerce-message, .woocommerce-info, .woocommerce-error) is in the BEVANI: NOTICES block ~2680. */

/* ── WOOCOMMERCE: SINGLE PRODUCT (legacy / fallback) ──
   Note: actual layout for single product is handled by .bevani-product-grid below.
   These rules are kept for any non-overridden contexts. */
.woocommerce div.product { margin-bottom: 64px; }
.woocommerce div.product .images img {
  border: none;
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: contain;
  background: var(--black2);
  display: block;
}

/* WooCommerce placeholder image: hide white default, show our own */
.woocommerce div.product .images img.wp-post-image[src*="placeholder"],
.woocommerce div.product .images img[src*="woocommerce-placeholder"] {
  opacity: 0.08;
  filter: invert(1) sepia(1) saturate(3) hue-rotate(15deg);
  max-height: 400px;
  padding: 80px;
}

/* Aspect ratio enforce for placeholder mode */
.woocommerce div.product .woocommerce-product-gallery--without-images,
.woocommerce div.product .woocommerce-product-gallery__wrapper:empty,
.woocommerce div.product div.images:has(img[src*="placeholder"]) {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

/* Magnifier trigger */
.woocommerce div.product .images .woocommerce-product-gallery__trigger {
  background: var(--black2);
  border: 1px solid var(--border);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  top: 16px;
  right: 16px;
  z-index: 5;
}

.woocommerce div.product div.summary { width: 100%; float: none; margin: 0; }

/* Force body font on short description (fix for monospace bug) */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--cream-dim) !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.woocommerce div.product .woocommerce-product-details__short-description pre,
.woocommerce div.product .woocommerce-product-details__short-description code {
  font-family: var(--font-body) !important;
  background: transparent !important;
  white-space: normal !important;
  display: inline !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-product-rating { margin-bottom: 18px; }
.woocommerce .star-rating { color: var(--gold); }
.woocommerce-product-rating .woocommerce-review-link { color: var(--muted); font-size: 13px; }
.woocommerce div.product form.cart {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--border-soft);
}
.woocommerce div.product form.cart .quantity { margin-right: 14px; }
.woocommerce .quantity .qty {
  width: 80px !important;
  text-align: center !important;
  padding: 14px !important;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  color: var(--cream) !important;
}
.woocommerce div.product .stock { color: var(--success); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.woocommerce div.product .out-of-stock { color: var(--danger); }
/* ============================================
   ── BEVANI: PRODUCT TABS (5 custom tabs) ──
   Mockup: Overview · Specifications · Lab Results · Reviews · Shipping & Storage
   Italic serif labels, gold underline on active, no boxes.
   ============================================ */

.woocommerce-tabs {
  max-width: 1240px !important;
  margin: 80px auto 0 !important;
  padding: 56px 0 0 !important;
  border-top: 1px solid var(--border-soft) !important;
  grid-column: 1 / -1 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 0 48px !important;
  border: none !important;
  border-bottom: 1px solid var(--border-soft) !important;
  background: transparent !important;
  list-style: none !important;
  flex-wrap: wrap !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
  content: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 18px 28px !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid transparent !important;
  border-radius: 0 !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  list-style: none !important;
  position: relative;
  margin-bottom: -1px !important;
  transition: color .25s, border-color .25s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--muted) !important;
  padding: 0 !important;
  font-weight: 400 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  text-decoration: none !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block !important;
  transition: color .25s !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: var(--cream) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--gold) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* Tab panel content */
.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: var(--cream-dim) !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  display: none !important;
}

/* Universal tab content typography */
.bevani-tab-content {
  max-width: 880px;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.85;
  color: var(--cream-dim);
  font-weight: 300;
}
.bevani-tab-content p {
  margin: 0 0 18px !important;
  font-family: var(--font-body) !important;
  color: var(--cream-dim) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  font-weight: 300 !important;
}
.bevani-tab-content h2,
.bevani-tab-content h3,
.bevani-tab-content h4 {
  font-family: var(--font-display) !important;
  color: var(--cream) !important;
  font-weight: 500 !important;
  margin: 28px 0 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.bevani-tab-content h2 { font-size: 24px !important; }
.bevani-tab-content h3 { font-size: 20px !important; }
.bevani-tab-content h4 { font-size: 18px !important; }
.bevani-tab-content h2:first-child,
.bevani-tab-content h3:first-child,
.bevani-tab-content h4:first-child { margin-top: 0 !important; }
.bevani-tab-content ul,
.bevani-tab-content ol {
  color: var(--cream-dim);
  margin: 0 0 20px;
  padding-left: 24px;
}
.bevani-tab-content ul li,
.bevani-tab-content ol li {
  margin-bottom: 8px;
  line-height: 1.7;
}
.bevani-tab-content a {
  color: var(--gold);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  padding-bottom: 1px;
}
.bevani-tab-content a:hover { color: var(--gold-light); border-bottom-color: var(--gold); }
.bevani-tab-content strong { color: var(--cream); font-weight: 500; }

/* ── Specifications tab — 2-column dl layout ── */
.bevani-spec-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.bevani-spec-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-spec-row:last-child { border-bottom: none; }
.bevani-spec-row dt {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin: 0;
  padding-top: 2px;
}
.bevani-spec-row dd {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--cream-dim);
  margin: 0;
  line-height: 1.6;
}

/* ── Lab Results tab — COA card (matches mockup .coa-card exactly) ── */
.bevani-lab-intro {
  font-size: 15px !important;
  color: var(--cream-dim) !important;
  line-height: 1.85 !important;
  margin-bottom: 0 !important;
  max-width: 880px;
  font-weight: 300 !important;
}
.bevani-coa-card {
  border: 1px solid var(--border);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  background: var(--black2);
}
.bevani-coa-icon {
  width: 48px;
  height: 48px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bevani-coa-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 1.3;
}
.bevani-coa-info {
  flex: 1;
}
.bevani-coa-info h4 {
  font-family: var(--font-display) !important;
  font-size: 15px !important;
  color: var(--cream) !important;
  display: block !important;
  margin: 0 0 4px !important;
  font-weight: 500 !important;
}
.bevani-coa-info p {
  font-size: 12px !important;
  color: var(--muted) !important;
  letter-spacing: .03em !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.bevani-coa-download {
  background: transparent !important;
  color: var(--cream) !important;
  border: 1px solid rgba(245, 241, 232, 0.25) !important;
  border-radius: 2px !important;
  padding: 11px 22px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color .3s, color .3s !important;
  white-space: nowrap;
  display: inline-block;
}
.bevani-coa-download:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: transparent !important;
}
.bevani-tab-content p.bevani-lab-footer,
.bevani-lab-footer {
  font-size: 15px !important;
  color: var(--cream-dim) !important;
  margin: 24px 0 18px !important;
  line-height: 1.85 !important;
  font-weight: 300 !important;
}
.bevani-lab-footer a {
  color: var(--gold) !important;
  border-bottom: 1px solid var(--border) !important;
  text-decoration: none !important;
  padding-bottom: 1px;
}

/* ── Reviews tab — match mockup style ── */

/* Summary block: avg + histogram */
.bevani-reviews-summary {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 48px;
  padding: 32px 0;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 32px;
}
.bevani-reviews-avg {
  text-align: left;
}
.bevani-avg-num {
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 1;
  color: var(--gold);
  font-weight: 300;
  margin: 0;
}
.bevani-avg-stars {
  color: var(--gold);
  letter-spacing: 3px;
  margin-top: 8px;
}
.bevani-avg-meta {
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
}
.bevani-reviews-histogram {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bevani-histogram-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: var(--muted);
}
.bevani-histogram-label {
  min-width: 60px;
  color: var(--gold);
}
.bevani-histogram-bar {
  flex: 1;
  height: 4px;
  background: var(--border-soft);
  overflow: hidden;
}
.bevani-histogram-fill {
  height: 100%;
  background: var(--gold);
  transition: width .8s ease;
}
.bevani-histogram-count {
  color: var(--muted);
}

/* Individual reviews list — clean, no boxes, no avatars */
.bevani-reviews-body #reviews #comments h2,
.bevani-reviews-body #reviews .woocommerce-noreviews,
.bevani-reviews-body #reviews .woocommerce-Reviews-title {
  display: none !important;
}
.bevani-reviews-body #comments {
  margin: 0 !important;
  padding: 0 !important;
}
.bevani-reviews-body #comments ol.commentlist,
.bevani-reviews-body ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bevani-reviews-body ol.commentlist li.comment,
.bevani-reviews-body ol.commentlist li.review {
  list-style: none !important;
  padding: 24px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--border-soft) !important;
  position: relative;
}
.bevani-reviews-body ol.commentlist li.comment:last-child,
.bevani-reviews-body ol.commentlist li.review:last-child {
  border-bottom: none !important;
}

/* Hide avatars completely */
.bevani-reviews-body ol.commentlist li img.avatar,
.bevani-reviews-body ol.commentlist li .avatar {
  display: none !important;
}

/* Container for review content */
.bevani-reviews-body ol.commentlist li .comment-text,
.bevani-reviews-body ol.commentlist li > div {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Meta row: name on left, date on right */
.bevani-reviews-body ol.commentlist li .meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.bevani-reviews-body ol.commentlist li .meta strong,
.bevani-reviews-body ol.commentlist li .woocommerce-review__author {
  font-family: var(--font-display) !important;
  font-size: 15px !important;
  color: var(--cream) !important;
  font-weight: 500 !important;
  font-style: normal !important;
}
.bevani-reviews-body ol.commentlist li .meta time,
.bevani-reviews-body ol.commentlist li .woocommerce-review__published-date {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  margin-left: auto !important;
}
/* Hide separators / dashes / "verified owner" label */
.bevani-reviews-body ol.commentlist li .meta em,
.bevani-reviews-body ol.commentlist li .woocommerce-review__dash,
.bevani-reviews-body ol.commentlist li .verified {
  display: none !important;
}

/* Stars under name */
.bevani-reviews-body ol.commentlist li .star-rating {
  font-size: 12px !important;
  color: var(--gold) !important;
  letter-spacing: 2px !important;
  margin: 0 0 10px !important;
  float: none !important;
  width: auto !important;
}

/* Review text */
.bevani-reviews-body ol.commentlist li .description,
.bevani-reviews-body ol.commentlist li p {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--cream-dim) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  font-weight: 300 !important;
}
.bevani-reviews-body ol.commentlist li .description p {
  margin: 0 0 12px !important;
}
.bevani-reviews-body ol.commentlist li .description p:last-child {
  margin-bottom: 0 !important;
}

/* "Add a review" form */
.bevani-reviews-body #review_form_wrapper,
.bevani-reviews-body #respond {
  margin-top: 64px !important;
  padding-top: 48px !important;
  border-top: 1px solid var(--border-soft) !important;
  background: transparent !important;
}
.bevani-reviews-body #review_form #respond,
.bevani-reviews-body #respond {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}
.bevani-reviews-body #reply-title {
  font-family: var(--font-display) !important;
  color: var(--cream) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  margin: 0 0 24px !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block !important;
}
.bevani-reviews-body .comment-notes,
.bevani-reviews-body .logged-in-as {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin-bottom: 18px !important;
}
.bevani-reviews-body .comment-form-rating label,
.bevani-reviews-body .comment-form label {
  display: block !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 500 !important;
  margin: 0 0 10px !important;
}
.bevani-reviews-body .comment-form-rating .stars {
  margin: 0 0 24px !important;
}
.bevani-reviews-body .comment-form-rating .stars a {
  color: var(--gold) !important;
}
.bevani-reviews-body .comment-form textarea,
.bevani-reviews-body .comment-form input[type=text],
.bevani-reviews-body .comment-form input[type=email],
.bevani-reviews-body .comment-form input[type=url] {
  width: 100% !important;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  padding: 14px 16px !important;
  margin-bottom: 18px !important;
  outline: none !important;
  border-radius: 0 !important;
}
.bevani-reviews-body .comment-form textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.6 !important;
}
.bevani-reviews-body .comment-form textarea:focus,
.bevani-reviews-body .comment-form input:focus {
  border-color: var(--gold) !important;
}
.bevani-reviews-body .form-submit input[type=submit],
.bevani-reviews-body #submit {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 14px 36px !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .25s !important;
}
.bevani-reviews-body .form-submit input[type=submit]:hover,
.bevani-reviews-body #submit:hover {
  background: var(--gold-light) !important;
  border-color: var(--gold-light) !important;
}

/* Mobile */
@media (max-width: 700px) {
  .bevani-reviews-summary {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .bevani-histogram-row { gap: 10px; }
}

/* WC's hidden product-attributes table from old "Additional info" tab */
.woocommerce-product-attributes { display: none; }

/* ============================================
   ── BEVANI: CUSTOM SINGLE PRODUCT LAYOUT ──
   Matches the mockup design.
   ============================================ */

/* Slim breadcrumb bar for product pages (replaces tall page-header) */
.bevani-breadcrumb-bar {
  border-bottom: 1px solid var(--border-soft);
  background: var(--black2);
  padding: 18px 36px;
}
.bevani-breadcrumb-bar .bevani-breadcrumb-inner {
  max-width: 1240px;
  margin: 0 auto;
}
.bevani-breadcrumb-bar .breadcrumb {
  justify-content: flex-start;
  margin: 0;
  text-align: left;
}
@media (max-width: 900px) {
  .bevani-breadcrumb-bar { padding: 14px 22px; }
}

.bevani-product-detail {
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 0 32px;
}

.bevani-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: flex-start;
}

/* ── LEFT: Image gallery ── */
.bevani-product-images {
  position: relative;
}
.bevani-product-images .woocommerce-product-gallery {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.bevani-product-images .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}
.bevani-product-images .woocommerce-product-gallery__image {
  background: var(--black2);
  border: 1px solid var(--border-soft);
  aspect-ratio: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.bevani-product-images .woocommerce-product-gallery__image::before {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,169,97,0.06), transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
}
.bevani-product-images .woocommerce-product-gallery__image > a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.bevani-product-images .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: none !important;
  background: transparent !important;
}
.bevani-product-images .woocommerce-product-gallery__image img[src*="placeholder"] {
  object-fit: contain !important;
  padding: 80px;
  opacity: 0.15;
  filter: invert(1) sepia(1) saturate(3) hue-rotate(15deg);
}

/* Gallery thumbnails (when product has multiple images) */
.bevani-product-images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}
.bevani-product-images .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  list-style: none !important;
}
.bevani-product-images .flex-control-thumbs li img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  height: auto !important;
  object-fit: cover !important;
  border: 1px solid var(--border-soft) !important;
  background: var(--black2) !important;
  cursor: pointer;
  transition: border-color .25s, opacity .25s;
  opacity: 0.7;
}
.bevani-product-images .flex-control-thumbs li img:hover,
.bevani-product-images .flex-control-thumbs li img.flex-active {
  border-color: var(--gold) !important;
  opacity: 1;
}

/* Hide WooCommerce's "SALE!" badge on single product page (we show savings in price block) */
.bevani-product-images .onsale,
.bevani-product-images span.onsale,
.single-product .bevani-product-detail .onsale {
  display: none !important;
}

/* Hide gallery thumbs and magnifier — single product image only */
.bevani-product-images .flex-control-thumbs,
.bevani-product-images .flex-control-nav,
.bevani-product-images .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* ── Right column: sticky summary on desktop ──
   When the gallery (left) is taller than the summary panel (right),
   sticky lets the user scroll through gallery images while keeping
   the buy actions in view. Only active when there's enough vertical
   room to make sticky meaningful (>900px viewport, see media query). */
.bevani-product-summary {
  position: sticky;
  top: 100px;
  align-self: start;
}

/* ── Variation Swatches plugin: selected + disabled states ── */

/* Base / unselected state — dark background, gold-soft border, cream text.
   These rules must paint EVERY pill (button-variable-item, label, image)
   regardless of whether the swatches plugin or WooCommerce default styling
   is providing the markup. High specificity to beat plugin CSS. */
.bevani-product-summary ul.variable-items-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.bevani-product-summary ul.variable-items-wrapper li.variable-item,
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 56px !important;
  min-height: 38px !important;
  padding: 8px 16px !important;
  margin: 0 !important;
  background: var(--black) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
  list-style: none !important;
}
.bevani-product-summary ul.variable-items-wrapper li.variable-item .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item .variable-item-span {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  color: var(--cream-dim) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

/* Hover state — gold border, gold text */
.bevani-product-summary ul.variable-items-wrapper li.variable-item:hover,
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item:hover,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item:hover {
  border-color: var(--gold) !important;
  background: var(--black) !important;
}
.bevani-product-summary ul.variable-items-wrapper li.variable-item:hover .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item:hover .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item:hover .variable-item-span {
  color: var(--gold) !important;
}

/* Selected state — gold-dim background, gold border, gold text */
.bevani-product-summary ul.variable-items-wrapper li.variable-item.selected,
.bevani-product-summary ul.variable-items-wrapper li.variable-item-selected,
.bevani-product-summary ul.variable-items-wrapper li.variable-item[aria-checked="true"],
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item.selected,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item.selected {
  border-color: var(--gold) !important;
  background: var(--gold-dim) !important;
  box-shadow: inset 0 0 0 1px var(--gold) !important;
}
.bevani-product-summary ul.variable-items-wrapper li.variable-item.selected .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.variable-item-selected .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.variable-item[aria-checked="true"] .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item.selected .variable-item-span,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item.selected .variable-item-span {
  color: var(--gold) !important;
  font-weight: 600 !important;
}

/* Disabled state (out of stock combinations) — strikethrough, no red X */
.bevani-product-summary ul.variable-items-wrapper li.variable-item.disabled,
.bevani-product-summary ul.variable-items-wrapper li.variable-item-disabled,
.bevani-product-summary ul.variable-items-wrapper li.variable-item[aria-disabled="true"],
.bevani-product-summary ul.variable-items-wrapper li.button-variable-item.disabled,
.bevani-product-summary ul.variable-items-wrapper li.label-variable-item.disabled {
  opacity: 0.85 !important;
  cursor: not-allowed !important;
  background: transparent !important;
  border-color: rgba(201, 169, 97, 0.18) !important;
  position: relative;
}
ul.variable-items-wrapper li.variable-item.disabled .variable-item-span,
ul.variable-items-wrapper li.variable-item-disabled .variable-item-span,
ul.variable-items-wrapper li.variable-item[aria-disabled="true"] .variable-item-span,
ul.variable-items-wrapper li.button-variable-item.disabled .variable-item-span {
  text-decoration: line-through !important;
  text-decoration-color: var(--cream-dim) !important;
  text-decoration-thickness: 1.5px !important;
  color: var(--cream-dim) !important;
  opacity: 1 !important;
}

/* KILL the red X overlay that the swatches plugin adds via ::before/::after */
ul.variable-items-wrapper li.variable-item.disabled::before,
ul.variable-items-wrapper li.variable-item.disabled::after,
ul.variable-items-wrapper li.variable-item-disabled::before,
ul.variable-items-wrapper li.variable-item-disabled::after,
ul.variable-items-wrapper li.button-variable-item.disabled::before,
ul.variable-items-wrapper li.button-variable-item.disabled::after,
ul.variable-items-wrapper li.variable-item .variable-item-contents::before,
ul.variable-items-wrapper li.variable-item .variable-item-contents::after,
ul.variable-items-wrapper li.variable-item.disabled .variable-item-contents::before,
ul.variable-items-wrapper li.variable-item.disabled .variable-item-contents::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
}

/* Magnifier zoom button (kept hidden — see rule above) */
.bevani-product-images .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  background: rgba(15, 13, 8, 0.85) !important;
  border: 1px solid var(--border) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  z-index: 5 !important;
  color: var(--gold) !important;
  text-indent: 0 !important;
  font-size: 0 !important;
}
.bevani-product-images .woocommerce-product-gallery__trigger::before {
  content: '⊕';
  font-size: 20px;
  color: var(--gold);
}

/* ── RIGHT: Summary panel ── */
.bevani-product-summary {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.bevani-detail-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.bevani-detail-cat {
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
}
.bevani-detail-cat:not(:last-child)::after {
  content: '·';
  margin-left: 18px;
  color: var(--muted);
  opacity: 0.6;
}
.bevani-detail-sku {
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--muted);
  font-family: 'Inter', sans-serif;
  text-transform: uppercase;
}

.bevani-detail-title {
  font-family: var(--font-display) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: 300 !important;
  color: var(--cream) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 16px !important;
}

.bevani-detail-rating {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.bevani-stars {
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 3px;
}
.bevani-rating-text {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .05em;
}
.bevani-rating-text a {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  padding-bottom: 1px;
}

.bevani-detail-desc {
  margin-bottom: 32px;
}
.bevani-detail-desc p {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: var(--cream-dim) !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  margin: 0 0 12px !important;
}
.bevani-detail-desc strong {
  color: var(--cream);
  font-weight: 500;
}

.bevani-detail-price {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 28px 0;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.bevani-price-prefix {
  font-size: 13px;
  color: var(--muted);
  font-family: var(--font-body);
  letter-spacing: .05em;
  text-transform: lowercase;
  align-self: center;
}
.bevani-price-num {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 400;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -.02em;
}
.bevani-price-num .woocommerce-Price-amount,
.bevani-price-num .amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
}
.bevani-price-range-sep {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--muted);
  letter-spacing: .05em;
  text-transform: lowercase;
  align-self: center;
  font-style: italic;
}
.bevani-price-max {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 400;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -.02em;
}
.bevani-price-max .woocommerce-Price-amount,
.bevani-price-max .amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
}
.bevani-price-old {
  font-size: 16px;
  color: var(--muted);
  text-decoration: line-through;
  font-family: var(--font-display);
}
.bevani-price-old .amount {
  color: var(--muted) !important;
  text-decoration: line-through;
  font-family: var(--font-display) !important;
  font-size: inherit !important;
}
.bevani-price-save {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--success);
  border: 1px solid rgba(107, 158, 110, 0.3);
  padding: 6px 12px;
  margin-left: auto;
  align-self: center;
  font-family: var(--font-body);
  font-weight: 500;
}

/* ── Variation form (variations table inside summary) ── */
.bevani-product-summary table.variations {
  margin: 0 0 28px !important;
  border: none !important;
  width: 100%;
}
.bevani-product-summary table.variations tbody { display: block; }
.bevani-product-summary table.variations tr {
  display: block;
  margin-bottom: 24px;
}
.bevani-product-summary table.variations th.label,
.bevani-product-summary table.variations td.value {
  display: block;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.bevani-product-summary table.variations th.label {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 500 !important;
  margin-bottom: 12px !important;
  text-align: left !important;
}
.bevani-product-summary table.variations th.label > label {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}
.bevani-product-summary table.variations th.label .bevani-attr-current {
  font-family: var(--font-display) !important;
  font-size: 13px !important;
  font-style: italic !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  opacity: 0;
  transition: opacity .25s;
  margin-left: auto;
}
.bevani-product-summary table.variations th.label .bevani-attr-current.has-value {
  opacity: 1;
}

/* Hide WooCommerce's auto-injected inline value indicators (we render our own on the right) */
.bevani-product-summary table.variations th.label > span:not(.bevani-attr-current),
.bevani-product-summary table.variations th.label > em,
.bevani-product-summary table.variations th.label > i {
  display: none !important;
}
/* Some plugins add a colon-prefixed value as a text node — hide via select wrapper */
.bevani-product-summary table.variations th.label .selected_value,
.bevani-product-summary table.variations th.label .attribute_label_value {
  display: none !important;
}
.bevani-product-summary table.variations td.value {
  margin-top: 4px;
}

/* ── Quantity + Add to cart row ── */
.bevani-product-summary form.cart {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.bevani-product-summary .single_variation_wrap {
  margin-top: 20px;
}
.bevani-product-summary .woocommerce-variation-price { display: none; } /* We handle price display ourselves */
.bevani-product-summary .woocommerce-variation-availability { margin-bottom: 14px; }
.bevani-product-summary .woocommerce-variation-availability p { color: var(--success); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; margin: 0; }

.bevani-product-summary .woocommerce-variation-add-to-cart,
.bevani-product-summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-top: 8px !important;
}

.bevani-product-summary .quantity {
  display: flex !important;
  border: 1px solid var(--border-soft) !important;
  align-items: stretch !important;
  margin: 0 !important;
}
.bevani-qty-btn {
  width: 44px;
  height: 50px;
  background: transparent;
  border: none;
  color: var(--gold);
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s;
  font-family: var(--font-body);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bevani-qty-btn:hover { background: var(--gold-dim); }
.bevani-product-summary .quantity input.qty {
  width: 50px !important;
  height: 50px !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid var(--border-soft) !important;
  border-right: 1px solid var(--border-soft) !important;
  text-align: center !important;
  color: var(--cream) !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  outline: none !important;
  padding: 0 !important;
  -moz-appearance: textfield;
}
.bevani-product-summary .quantity input.qty::-webkit-outer-spin-button,
.bevani-product-summary .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.bevani-product-summary .single_add_to_cart_button {
  width: 100% !important;
  height: 50px !important;
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background .25s !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.bevani-product-summary .single_add_to_cart_button:hover,
.bevani-product-summary .single_add_to_cart_button:focus {
  background: var(--gold-light) !important;
  border-color: var(--gold-light) !important;
  color: var(--black) !important;
}

.bevani-product-summary .reset_variations {
  display: inline-block !important;
  margin-top: 12px !important;
  font-size: 11px !important;
  color: var(--muted) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  visibility: visible !important;
}
.bevani-product-summary .reset_variations:hover { color: var(--gold) !important; }

/* Hide WooCommerce default product meta (we render our own) */
.bevani-product-summary .product_meta { display: none; }

/* ── Wishlist row (when plugin active) ── */
.bevani-detail-wishlist {
  margin-top: 12px;
  margin-bottom: 28px;
}
.bevani-detail-wishlist a,
.bevani-detail-wishlist button,
.bevani-detail-wishlist .yith-wcwl-add-to-wishlist a,
.bevani-detail-wishlist .tinv-wishlist a {
  display: block !important;
  width: 100% !important;
  padding: 14px !important;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  color: var(--cream-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: border-color .25s, color .25s !important;
  font-weight: 500 !important;
}
.bevani-detail-wishlist a:hover,
.bevani-detail-wishlist button:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}
.bevani-detail-wishlist .yith-wcwl-icon,
.bevani-detail-wishlist .tinv-wishlist-icon {
  margin-right: 8px;
}

/* ── Trust mini-row ── */
.bevani-detail-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 28px 0 0;
  margin-top: 32px;
  border-top: 1px solid var(--border-soft);
}
.bevani-trust-item { text-align: center; }
.bevani-trust-item svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 8px;
}
.bevani-trust-item h6 {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  color: var(--cream);
  margin: 0 0 2px;
}
.bevani-trust-item p {
  font-size: 11px;
  color: var(--muted);
  margin: 0;
  letter-spacing: .03em;
}

/* ── Mobile sticky Add-to-Cart bar ──
   Hidden on desktop entirely. On mobile, fixed at bottom of viewport,
   off-screen by default. JS adds .is-visible when user scrolls past the
   original Add-to-Cart form (via IntersectionObserver). Tap on the
   button scrolls back to the real form (which has variation pills and
   qty controls). */
.bevani-sticky-cart {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  background: var(--black);
  border-top: 1px solid var(--gold-dim);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.5);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0));
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.22, .61, .36, 1);
  pointer-events: none;
}
.bevani-sticky-cart.is-visible {
  transform: translateY(0);
  pointer-events: auto;
}
.bevani-sticky-cart-inner {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bevani-sticky-cart-info {
  flex: 1;
  min-width: 0; /* allow text truncation if name is long */
}
.bevani-sticky-cart-name {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--cream);
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.bevani-sticky-cart-price {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--gold);
  font-weight: 500;
  line-height: 1.1;
}
.bevani-sticky-cart-price .bevani-sticky-cart-prefix {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--font-body);
  font-weight: 400;
  margin-right: 4px;
}
.bevani-sticky-cart-price .woocommerce-Price-amount {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
}
.bevani-sticky-cart-btn {
  flex-shrink: 0;
  background: var(--gold);
  color: var(--black);
  border: 1px solid var(--gold);
  padding: 14px 22px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  transition: opacity .2s;
  white-space: nowrap;
}
.bevani-sticky-cart-btn:hover {
  opacity: .92;
}
@media (max-width: 900px) {
  .bevani-sticky-cart {
    display: block;
  }
}

/* Brief pulse on the real Add-to-Cart button when sticky bar tap
   scrolls user back to it — visual cue that this is the active CTA. */
@keyframes bevani-cta-flash-anim {
  0%   { box-shadow: 0 0 0 0 var(--gold-dim); }
  50%  { box-shadow: 0 0 0 8px rgba(201, 169, 97, 0); }
  100% { box-shadow: 0 0 0 0 rgba(201, 169, 97, 0); }
}
.bevani-cta-flash {
  animation: bevani-cta-flash-anim .8s ease-out;
}

/* Mobile responsive for the new layout */
@media (max-width: 900px) {
  .bevani-product-grid {
    grid-template-columns: 1fr !important;
    gap: 36px;
  }
  /* Disable desktop sticky summary on mobile — single column, sticky
     doesn't make sense and would create overlap with the mobile sticky
     cart bar at the bottom. */
  .bevani-product-summary {
    position: static !important;
    top: auto !important;
  }
  /* Reserve space at the bottom of the page so the sticky mobile cart
     bar doesn't cover the last content (related products, footer). */
  body.single-product {
    padding-bottom: 80px;
  }
  .bevani-product-detail { padding: 16px 0 48px; }
  .bevani-detail-meta { gap: 12px; margin-bottom: 14px; }
  .bevani-detail-cat:not(:last-child)::after { margin-left: 12px; }
  .bevani-detail-rating { margin-bottom: 20px; }
  .bevani-detail-desc { margin-bottom: 24px; }
  .bevani-detail-desc p { font-size: 14px !important; }
  .bevani-detail-price { padding: 20px 0; margin-bottom: 24px; gap: 12px; }
  .bevani-price-save { margin-left: 0; width: 100%; text-align: center; }
  .bevani-detail-trust { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
  .bevani-trust-item h6 { font-size: 12px; }
  .bevani-trust-item p { font-size: 10px; }
  .bevani-product-summary .woocommerce-variation-add-to-cart,
  .bevani-product-summary form.cart:not(.variations_form) {
    grid-template-columns: 1fr !important;
  }
  .bevani-product-summary .quantity {
    width: fit-content;
  }
}

/* ── WOOCOMMERCE: CART (legacy — actual cart styling is in BEVANI: CART PAGE block below) ── */
.cart-empty { text-align: center; padding: 96px 0; font-family: var(--font-display); font-size: 24px; color: var(--cream-dim); font-style: italic; }

/* ── WOOCOMMERCE: CHECKOUT (legacy rules removed; see .bevani-checkout-grid block) ── */

/* ── WOOCOMMERCE: MY ACCOUNT — see comprehensive block at "BEVANI: ACCOUNT DASHBOARD" below ── */

.woocommerce-form-login, .woocommerce-form-register { background: var(--black2); border: 1px solid var(--border-soft); padding: 40px; max-width: 480px; margin: 0 auto; }

/* WooCommerce notices — both classic and modern block-style */
/* ── Notice wrapper (polished top-of-page banner fallback) ──
   When notices render at the WC default top-of-page position (i.e. NOT
   redirected via wc_print_notices into a form card), this wrapper makes
   them look like an intentional banner. Works as fallback on any page:
   cart errors, checkout validation, account dashboard messages, etc. */
.woocommerce-notices-wrapper {
  outline: none !important;
  width: 100%;
  max-width: 1240px;
  margin: 24px auto 0 !important;
  padding: 0 36px;
  box-sizing: border-box;
}
/* Empty wrapper takes no vertical space — avoids phantom gap when no
   notices are firing on a page. */
.woocommerce-notices-wrapper:empty {
  margin: 0 !important;
  padding: 0 !important;
}
/* Mobile padding tighter, larger top margin to clear sticky header */
@media (max-width: 700px) {
  .woocommerce-notices-wrapper {
    padding: 0 16px;
    margin-top: 16px !important;
  }
}
/* Stack multiple notices with their own margins. */
.woocommerce-notices-wrapper > * + * {
  margin-top: 12px !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  border-left: 3px solid var(--gold) !important;
  border-top: none !important;
  color: var(--cream-dim) !important;
  padding: 16px 22px !important;
  border-radius: 0 !important;
  margin: 0 0 20px !important;
  outline: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  list-style: none !important;
}
/* When notices are <ul> elements (WC default), reset list rendering */
ul.woocommerce-error,
ul.woocommerce-error li,
ul.woocommerce-message,
ul.woocommerce-message li,
ul.woocommerce-info,
ul.woocommerce-info li {
  list-style: none !important;
  padding-left: 0;
  margin: 0;
}
/* Multiple errors as <li> children of .woocommerce-error <ul>: render each
   on its own line within the same notice block. */
ul.woocommerce-error li {
  width: 100%;
}
ul.woocommerce-error li + li {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(232, 92, 92, 0.28);
}

/* Error: red tint background + bold red left border + clear solid red outer border */
.woocommerce-error {
  background: rgba(232, 92, 92, 0.10) !important;
  border: 1px solid #8E3A3A !important;
  border-left: 4px solid #E85C5C !important;
  color: #F4DADA !important;
}

/* Info: gold tint (more visibly informational vs neutral message) */
.woocommerce-info {
  background: rgba(201, 169, 97, 0.08) !important;
  border-color: rgba(201, 169, 97, 0.28) !important;
  border-left: 4px solid var(--gold) !important;
}

/* Success: green tint */
.woocommerce-message {
  background: rgba(107, 158, 110, 0.10) !important;
  border-color: rgba(107, 158, 110, 0.30) !important;
  border-left: 4px solid var(--success, #6B9E6E) !important;
}

/* Notices have no icon — the colored left border carries semantic meaning
   on its own. Cleaner than a clipped ::before icon. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  content: none !important;
  display: none !important;
}

/* Standalone errors when WC outputs them inside .woocommerce-NoticeGroup
   (e.g., right above checkout form sections) */
.woocommerce-NoticeGroup {
  margin-bottom: 20px;
}
.woocommerce-NoticeGroup .woocommerce-error {
  margin-top: 0 !important;
}

/* "View cart" / "View order" button inside notices */
.woocommerce-message .button,
.woocommerce-message a.button,
.wc-forward {
  margin-left: auto !important;
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  padding: 8px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: background .25s, color .25s !important;
}
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover,
.wc-forward:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}

/* Block-style notice content */
.wc-block-components-notice-banner__content {
  color: var(--cream-dim) !important;
  font-family: var(--font-body) !important;
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--gold) !important;
  color: var(--black) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  min-height: auto !important;
  line-height: 1 !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
}

/* WooCommerce pagination */
.woocommerce nav.woocommerce-pagination ul { border: none; margin: 48px 0 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--border-soft); margin-right: -1px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding: 14px 18px; color: var(--cream-dim); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--gold); color: var(--black); }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--black2); color: var(--gold); }

/* Comments */
.comment-list { list-style: none; padding: 0; }
.comment-body { padding: 24px; background: var(--black2); border: 1px solid var(--border-soft); margin-bottom: 16px; }
.comment-author .fn { color: var(--cream); font-family: var(--font-display); }
.comment-meta { font-size: 12px; color: var(--muted); margin-bottom: 12px; }


/* WooCommerce cart and checkout */
.woocommerce table.shop_table { border: 1px solid var(--border-soft); border-radius: 0; background: transparent; }
.woocommerce table.shop_table th { background: var(--black2); color: var(--gold); border-color: var(--border-soft); font-family: var(--font-body); letter-spacing: .15em; text-transform: uppercase; font-size: 11px; font-weight: 500; }
.woocommerce table.shop_table td { color: var(--cream-dim); border-color: var(--border-soft); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-family: var(--font-display); color: var(--cream); }

/* ============================================
   ── RESPONSIVE / MOBILE / TABLET ──
   Breakpoints:
   - 1100px: large tablet / small laptop
   - 900px:  iPad portrait, mobile-first behavior kicks in
   - 700px:  small tablet / large phone
   - 500px:  phones
   ============================================ */

/* ── 1100px: tighten gaps before the 900 break ── */
@media (max-width: 1100px) {
  .header-inner { padding: 0 24px; }
  .main-nav ul { gap: 24px; }
  .about-grid { gap: 56px; }
  section { padding: 96px 28px; }
}

/* ── 900px: full mobile transition ── */
@media (max-width: 900px) {
  /* Header — Pattern A: [hamburger] [centered logo] [cart].
     Three flex regions with order specified explicitly: hamburger (1),
     logo (2), header-actions (3). Logo is centered visually via
     order:2 + flex:1 + justify-content:center on its parent's middle slot. */
  .header-inner {
    padding: 0 16px;
    height: 68px;
    gap: 0;
    display: flex;
    align-items: center;
  }
  .mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 1;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    color: var(--cream);
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    transition: color .25s;
  }
  .mobile-toggle:hover { color: var(--gold); }
  .site-logo {
    order: 2;
    flex: 1;
    justify-content: center;
    gap: 10px;
  }
  .header-actions {
    order: 3;
    gap: 4px;
    width: 40px;
    justify-content: flex-end;
  }
  /* Sign In text hidden on mobile — it lives inside the hamburger drawer */
  .header-signin { display: none; }
  /* Logo styling adjusted for mobile (slightly smaller) */
  .logo-text { font-size: 17px; }
  .logo-text-sub { font-size: 9px; letter-spacing: .22em; }
  .logo-mark { width: 32px; height: 32px; min-width: 32px; font-size: 15px; }
  /* Cart button: icon-only on mobile (text is hidden via existing rules) */
  .btn-cart { padding: 7px 14px; font-size: 11px; }

  /* Nav drawer: hidden by default, slides in below header when open */
  .main-nav {
    display: none;
  }
  .main-nav.mobile-open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    background: var(--black2);
    border-bottom: 1px solid var(--border-soft);
    padding: 16px 0 8px;
    z-index: 99;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
  }
  .main-nav.mobile-open ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .main-nav.mobile-open ul li {
    width: 100%;
    border-bottom: 1px solid rgba(201, 169, 97, 0.08);
  }
  .main-nav.mobile-open ul li:last-child { border-bottom: none; }
  .main-nav.mobile-open a {
    display: block;
    padding: 16px 24px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--cream);
    text-decoration: none;
    transition: color .2s, background .2s;
  }
  .main-nav.mobile-open a:hover {
    color: var(--gold);
    background: rgba(201, 169, 97, 0.04);
  }
  .main-nav.mobile-open .current-menu-item > a,
  .main-nav.mobile-open .current_page_item > a {
    color: var(--gold);
  }

  /* Mobile account section inside the drawer — visually distinct from
     nav links via a top border, slightly different padding, and a
     subtle gold tint to signal it's a separate action class. */
  .main-nav-account {
    display: block;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(201, 169, 97, 0.18);
  }
  .main-nav-account a {
    display: block;
    padding: 14px 24px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold);
    text-decoration: none;
    transition: background .2s;
  }
  .main-nav-account a:hover {
    background: rgba(201, 169, 97, 0.08);
  }

  /* Announce bar — slightly tighter on mobile */
  .announce-bar { font-size: 10px; padding: 8px 12px; letter-spacing: .05em; }

  /* Sections */
  section { padding: 80px 22px; }
  h1 { font-size: clamp(36px, 8vw, 56px) !important; }
  h2 { font-size: clamp(28px, 6.5vw, 42px) !important; }

  /* Page headers */
  .page-header { padding: 64px 22px 48px; }
  .page-header::before { width: 400px; height: 400px; }

  /* Hero (homepage) — main mobile layout in hero block above.
     Just typography + CTA stacking refinements at this breakpoint. */
  .hero-label { font-size: 10px; margin-bottom: 28px; }
  .hero-ctas { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero-ctas .btn-primary, .hero-ctas .btn-ghost { text-align: center; padding: 14px 24px; }

  /* Trust strip */
  .trust-strip { padding: 40px 22px; }
  .trust-grid { gap: 28px; }

  /* About / homepage two-column */
  .about-grid { grid-template-columns: 1fr; gap: 48px; }

  /* Stats */
  .stat-num { font-size: 40px; }

  /* Reviews */
  .reviews-grid { grid-template-columns: 1fr; gap: 16px; }
  .review-card { padding: 28px 24px; }
  .review-text { font-size: 16px; }

  /* Categories */
  .cat-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* Forms */
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-input, .form-textarea, .form-select { padding: 12px 14px !important; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 40px; }
  .site-footer { padding: 56px 22px 24px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; text-align: left; }

  /* Disclaimer */
  .disclaimer { padding: 20px 22px; }
  .disclaimer p { font-size: 11px; }

  /* ── PAGE-SPECIFIC: ABOUT ── */
  .about-hero { padding: 80px 22px 64px; }
  .story-section { padding: 80px 22px; }
  .story-grid { grid-template-columns: 1fr !important; gap: 48px; }
  .story-visual { max-width: 480px; margin: 0 auto; aspect-ratio: 1; }
  .story-text p:first-of-type::first-letter { font-size: 48px; }
  .pillars-section { padding: 80px 22px; }
  .pillars-grid { grid-template-columns: 1fr !important; }
  .pillar { padding: 32px 24px; border-right: none !important; }
  .process-section { padding: 80px 22px; }
  .process-steps { grid-template-columns: 1fr !important; gap: 32px; }
  .process-line { display: none; }
  .stat-band { padding: 64px 22px; }
  .stat-band-grid { gap: 36px; }
  .big-stat .num { font-size: 48px; }
  .quote-section { padding: 80px 22px; }
  .quote-text { font-size: 22px; }
  .cta-section { padding: 80px 22px; }
  .cta-buttons { flex-direction: column; }
  .cta-buttons .btn-primary, .cta-buttons .btn-ghost { width: 100%; text-align: center; }

  /* ── PAGE-SPECIFIC: FAQ ── */
  .faq-search-section { padding: 32px 22px; }
  .faq-layout { grid-template-columns: 1fr !important; gap: 28px; padding: 48px 22px 64px; }
  .faq-sidebar { position: static !important; }
  .faq-sidebar-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .faq-sidebar-nav a { font-size: 12px; padding: 10px 12px; }
  .faq-cat-head h2 { font-size: 24px; }
  .faq-question { padding: 18px 0; gap: 16px; }
  .faq-question-text { font-size: 15px; }
  .faq-answer-inner p { font-size: 14px; }
  .help-cta { padding: 40px 24px; margin-top: 56px; }

  /* ── PAGE-SPECIFIC: CONTACT ── */
  .contact-layout { grid-template-columns: 1fr !important; gap: 36px; padding: 48px 22px 64px; }
  .contact-form-wrap { padding: 28px 22px; }
  .topic-selector { grid-template-columns: 1fr; }
  .map-section { padding: 56px 22px; }
  .map-wrap { aspect-ratio: 4 / 3; }

  /* ── PAGE-SPECIFIC: LAB RESULTS ── */
  .lab-search-section { padding: 32px 22px; }
  .lab-search-grid { grid-template-columns: 1fr !important; gap: 12px; }
  .lab-toolbar { padding: 0 22px; margin: 40px auto 24px; }
  .coa-table-wrap { padding: 0 22px 64px; }
  .coa-table thead { display: none; }
  .coa-table tr { display: block; padding: 18px; border-bottom: 1px solid var(--border-soft); }
  .coa-table tbody tr:hover { background: transparent; }
  .coa-table td { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border: none; gap: 12px; }
  .coa-table td::before {
    content: attr(data-label);
    font-size: 10px;
    color: var(--gold);
    letter-spacing: .15em;
    text-transform: uppercase;
    font-weight: 500;
  }
  .coa-table td:first-child { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--border-soft); }
  .coa-table td:first-child::before { display: none; }
  .trust-callout { padding: 40px 24px; margin-top: 56px; }

  /* ── WOOCOMMERCE: SHOP ── */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px;
  }
  .woocommerce ul.products li.product a img { height: 180px; }
  .product-body { padding: 18px 16px 22px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }
  .woocommerce ul.products li.product .price { font-size: 12px !important; }

  /* ── BEVANI: Product tabs on mobile ── */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-bottom: 32px !important;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    padding: 14px 20px !important;
    font-size: 16px !important;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .woocommerce div.product .woocommerce-tabs .panel {
    padding: 24px 0 48px !important;
  }
  .bevani-spec-row {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 14px 0 !important;
  }
  .bevani-coa-card {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 20px 22px !important;
    text-align: center;
    align-items: center;
  }
  .bevani-coa-info { text-align: center; }
  .bevani-coa-download { display: block; text-align: center; width: 100%; }

  /* ── WOOCOMMERCE: SINGLE PRODUCT ── */
  .woocommerce div.product { grid-template-columns: 1fr !important; gap: 32px; }
  .woocommerce div.product .product_title { font-size: 36px !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 26px !important; }
  .woocommerce div.product .images,
  .woocommerce div.product div.images {
    max-height: 360px;
    overflow: hidden;
  }
  .woocommerce div.product .images img {
    max-height: 360px !important;
    object-fit: contain;
  }
  .woocommerce div.product .images img[src*="placeholder"],
  .woocommerce div.product .images img.wp-post-image[src*="placeholder"] {
    max-height: 280px !important;
    padding: 40px !important;
  }
  .woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 14px !important;
  }

  /* ── WOOCOMMERCE: CART (legacy mobile rules removed; see BEVANI: CART block below) ── */

  /* ── WOOCOMMERCE: CHECKOUT (legacy mobile rules removed; new template handles its own) ── */

  /* ── WOOCOMMERCE: ACCOUNT ── */
  .woocommerce-account .woocommerce { grid-template-columns: 1fr !important; gap: 24px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 1 0 50%;
    border-right: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li:nth-child(2n) { border-right: none; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 24px 20px; }

  /* Admin bar mobile */
  .admin-bar .site-header { top: 0; }

  /* Buttons */
  .btn-primary, .btn-ghost { padding: 14px 28px; font-size: 11px; }
}

/* ── 700px: smaller phones / portrait phones ── */
@media (max-width: 700px) {
  /* Sections */
  section { padding: 64px 18px; }
  .page-header { padding: 56px 18px 40px; }

  /* Hero */
  .hero-inner { padding: 48px 18px; }
  .hero h1 { font-size: clamp(32px, 9vw, 48px) !important; }

  /* Categories */
  .cat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .cat-card { padding: 24px 18px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }

  /* Reviews */
  .review-card { padding: 24px 20px; }
  .review-text { font-size: 15px; }

  /* About story image */
  .story-visual { aspect-ratio: 1; }
  .story-visual svg { width: 160px; height: 160px; }

  /* FAQ sidebar */
  .faq-sidebar-nav { grid-template-columns: 1fr; }
  .faq-cat-head h2 { font-size: 22px; }

  /* WooCommerce shop: still 2 columns (looks fine with hairline borders) */
  .woocommerce ul.products li.product a img { height: 160px; }

  /* WooCommerce cart layout: tighter */
  .woocommerce-cart table.shop_table tr {
    grid-template-columns: 64px 1fr;
    padding: 12px;
  }

  /* Account dashboard cards */
  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 1 0 100%;
    border-right: none;
  }

  /* Lab results trust callout */
  .trust-callout h3 { font-size: 22px; }

  /* Map */
  .map-pin-circle { width: 44px; height: 44px; }
  .map-pin-circle svg { width: 18px; height: 18px; }

  /* Stat band */
  .stat-band-grid { grid-template-columns: 1fr; gap: 32px; }
  .big-stat .num { font-size: 44px; }
}

/* ── 500px: small phones ── */
@media (max-width: 500px) {
  section { padding: 56px 16px; }
  .page-header { padding: 48px 16px 32px; }
  .header-inner { padding: 0 14px; }
  .announce-bar { font-size: 9px; padding: 7px 8px; }
  .announce-bar span { margin: 0 6px; }
  .ornament { font-size: 12px; letter-spacing: .8em; }

  h1 { font-size: clamp(28px, 9vw, 44px) !important; }
  h2 { font-size: clamp(24px, 7.5vw, 36px) !important; }

  .hero h1 { font-size: clamp(28px, 10vw, 42px) !important; }
  .hero-sub { font-size: 14px; }

  .product-body { padding: 14px 12px 18px; }
  .woocommerce ul.products,
  .woocommerce-page ul.products { gap: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
  .woocommerce ul.products li.product a img { height: 140px; }

  /* Buttons full-width */
  .btn-primary, .btn-ghost, .btn-cart { width: auto; }
  .hero-ctas .btn-primary, .hero-ctas .btn-ghost { font-size: 11px; padding: 13px 22px; }

  .help-cta { padding: 32px 18px; }
  .trust-callout { padding: 32px 18px; }
  .contact-form-wrap { padding: 22px 16px; }

  .footer-col h5 { font-size: 10px; }
  .footer-col a { font-size: 13px; }
}

/* WordPress admin bar — mobile fix */
@media (max-width: 782px) {
  .admin-bar .site-header { top: 0; }
}


/* WordPress core utility classes */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin: 0 auto 1em; }
.screen-reader-text { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 12px; color: var(--muted); margin-top: 8px; font-style: italic; }

/* Admin bar adjustment */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

/* ============================================
   ── BEVANI: Complementary Compounds (related products) ──
   Mockup .related-section: full-width dark band below product detail.
   Since this renders inside <main> which has 36px side padding, we
   use negative margins to break out and span full viewport width.
   ============================================ */
.bevani-related-section {
  background: var(--black2);
  border-top: 1px solid var(--border-soft);
  padding: 96px 36px;
  margin: 80px -36px 0;  /* breakout the 36px main padding */
}
.bevani-related-section .container {
  max-width: 1240px;
  margin: 0 auto;
}
.bevani-related-section h2 { margin-bottom: 0; }
.bevani-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  margin-top: 48px;
}
.bevani-related-section .product-card {
  background: transparent;
  border: 1px solid var(--border-soft);
  border-radius: 0;
  overflow: hidden;
  transition: border-color .35s, transform .35s;
  position: relative;
  text-decoration: none;
  display: block;
}
.bevani-related-section .product-card:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
}
.bevani-related-section .product-card .product-img {
  width: 100%;
  height: 240px;
  background: var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-related-section .product-card .product-img-bg {
  width: 130px;
  height: 130px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .5s;
}
.bevani-related-section .product-card:hover .product-img-bg { transform: rotate(45deg) scale(1.05); }
.bevani-related-section .product-card .product-img svg {
  width: 56px; height: 56px;
  stroke: var(--gold); fill: none; stroke-width: 0.9;
  opacity: .85;
}
.bevani-related-section .product-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.9);
  transition: filter .3s;
}
.bevani-related-section .product-card:hover img { filter: brightness(1.1); }
.bevani-related-section .product-card .product-hover-btn {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  opacity: 0;
  background: var(--gold);
  color: var(--black);
  border: none;
  border-radius: 2px;
  padding: 10px 26px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: opacity .3s, transform .3s;
}
.bevani-related-section .product-card:hover .product-hover-btn {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.bevani-related-section .product-body {
  padding: 24px 24px 28px;
}
.bevani-related-section .product-cat {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.bevani-related-section .product-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 10px;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.bevani-related-section .product-price {
  font-size: 13px;
  color: var(--muted);
  font-weight: 400;
  letter-spacing: .03em;
  font-family: var(--font-body);
}
.bevani-related-section .product-price strong {
  color: var(--gold);
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 16px;
  margin-left: 4px;
}

@media (max-width: 900px) {
  .bevani-related-section {
    padding: 64px 22px;
    margin: 64px -22px 0;
  }
  .bevani-related-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 32px;
  }
  .bevani-related-section .product-card .product-img { height: 180px; }
  .bevani-related-section .product-body { padding: 18px 16px 22px; }
  .bevani-related-section .product-name { font-size: 17px; }
}


/* ============================================
   ── BEVANI: SHOP LAYOUT (sidebar + grid) ──
   Mockup: shop.html .shop-layout + .filter-sidebar
   ============================================ */
.bevani-shop-layout {
  max-width: 1240px;
  margin: 0 auto;
  padding: 64px 36px 120px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 56px;
}
.bevani-filter-sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
}
.bevani-filter-block {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-filter-block:last-child { border-bottom: none; margin-bottom: 0; }
.bevani-filter-title {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  color: var(--cream);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bevani-filter-count {
  font-size: 11px;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: .05em;
}
.bevani-filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  cursor: pointer;
  font-size: 13px;
  color: var(--cream-dim);
  transition: color .2s;
  text-decoration: none;
}
.bevani-filter-option:hover { color: var(--gold); }
.bevani-filter-option.active { color: var(--gold); }
.bevani-filter-bullet {
  width: 12px;
  height: 12px;
  border: 1px solid var(--border);
  border-radius: 0;
  flex-shrink: 0;
  display: inline-block;
  position: relative;
}
.bevani-filter-bullet.filled {
  background: var(--gold);
  border-color: var(--gold);
}
.bevani-filter-bullet.filled::after {
  content: '✓';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  color: var(--black);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}
.bevani-filter-label { flex: 1; }
.bevani-filter-num {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}
.bevani-filter-clear {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--border-soft);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.bevani-filter-clear:hover { color: var(--gold); border-color: var(--gold); }

/* Price range form */
.bevani-price-form { margin-top: 8px; }
.bevani-price-range {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.bevani-price-range input {
  width: 100% !important;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 0 !important;
  padding: 8px 10px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--cream) !important;
  outline: none;
  transition: border-color .25s;
}
.bevani-price-range input:focus { border-color: var(--gold) !important; }
.bevani-price-range input::-webkit-outer-spin-button,
.bevani-price-range input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.bevani-price-range span { color: var(--muted); font-size: 11px; }
.bevani-filter-apply {
  display: block;
  width: 100%;
  margin-top: 12px;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--gold);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: 9px 16px;
  cursor: pointer;
  transition: background .25s, color .25s;
}
.bevani-filter-apply:hover {
  background: var(--gold);
  color: var(--black);
}

/* Shop main column */
.bevani-shop-main { min-width: 0; /* allow grid track to shrink */ }

/* Toolbar above the grid */
.bevani-shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 24px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-results-count {
  font-size: 13px;
  color: var(--muted);
  letter-spacing: .03em;
}
.bevani-results-count strong {
  color: var(--cream);
  font-weight: 500;
}
.bevani-sort-control {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bevani-sort-label {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
}
.bevani-sort-select {
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  color: var(--cream) !important;
  padding: 8px 32px 8px 14px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  cursor: pointer;
  outline: none;
  border-radius: 0 !important;
  transition: border-color .2s;
}
.bevani-sort-select:focus { border-color: var(--gold) !important; }
.bevani-sort-select option { background: var(--black2); color: var(--cream); }
.bevani-sort-form { margin: 0; padding: 0; }

/* ═══════════════════════════════════════════════════════════════════
   MOBILE FILTER DRAWER (bottom-sheet pattern)

   On desktop (>900px): the .bevani-filter-sidebar sits as a left-column
   sidebar as designed; the FILTER button, drawer header/footer, and
   backdrop are all hidden.

   On mobile (≤900px): the FILTER button appears in the shop toolbar
   area; tapping it adds .is-open to <body>, which slides the sidebar
   up from the bottom as a full-height drawer. Backdrop covers the
   rest of the screen at low opacity. Drawer has its own header
   (Filters title + close X) and footer (View Results button).

   Filter selections work the same as desktop (link-based URL toggles
   that reload the page) — no batched submit needed.
   ═══════════════════════════════════════════════════════════════════ */

/* FILTER button (mobile shop toolbar) — hidden on desktop */
.bevani-mobile-filter-toggle { display: none; }

/* Drawer header & footer — hidden on desktop, shown on mobile */
.bevani-filter-drawer-head,
.bevani-filter-drawer-foot { display: none; }

/* Backdrop — never shown on desktop */
.bevani-filter-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 998;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}

@media (max-width: 900px) {

  /* The FILTER button — appears above the toolbar on mobile.
     Gold-bordered, uppercase, with an icon and optional active count badge. */
  .bevani-mobile-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    margin-bottom: 16px;
    background: transparent;
    border: 1px solid var(--gold-dim);
    border-radius: 2px;
    color: var(--cream);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s, border-color .2s;
  }
  .bevani-mobile-filter-toggle:hover {
    border-color: var(--gold);
    background: rgba(201, 169, 97, 0.04);
  }
  .bevani-mobile-filter-toggle svg {
    width: 16px;
    height: 16px;
    color: var(--gold);
  }
  .bevani-mobile-filter-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 6px;
    background: var(--gold);
    color: var(--black);
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
  }

  /* Sidebar transforms into a full-height bottom-sheet drawer.
     Hidden by default (translated below viewport), slides up when
     body has .bevani-filter-open class. */
  .bevani-filter-sidebar {
    position: fixed !important;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    width: 100%;
    max-width: 100%;
    height: 90vh;
    max-height: 90vh;
    margin: 0;
    padding: 0;
    background: var(--black);
    border-top: 1px solid var(--gold-dim);
    border-radius: 16px 16px 0 0;
    z-index: 999;
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.6);
  }
  body.bevani-filter-open .bevani-filter-sidebar {
    transform: translateY(0);
  }

  /* Drawer header — Filters title + close X, pinned to top via flex-shrink:0 */
  .bevani-filter-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-bottom: 1px solid var(--border-soft);
    flex-shrink: 0;
  }
  .bevani-filter-drawer-head h3 {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -.01em;
    color: var(--cream);
    margin: 0;
  }
  .bevani-filter-drawer-close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--cream-dim);
    cursor: pointer;
    transition: color .2s;
    padding: 0;
  }
  .bevani-filter-drawer-close:hover { color: var(--gold); }
  .bevani-filter-drawer-close svg { width: 22px; height: 22px; }

  /* Filter body — scrollable region between head and foot */
  .bevani-filter-drawer-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px 22px 16px;
  }
  /* Tighten first filter block's top spacing inside drawer */
  .bevani-filter-drawer-body .bevani-filter-block:first-child { margin-top: 8px; }

  /* Drawer footer — sticky View Results button at the bottom */
  .bevani-filter-drawer-foot {
    display: flex;
    padding: 16px 22px calc(16px + env(safe-area-inset-bottom, 0));
    border-top: 1px solid var(--border-soft);
    background: var(--black2);
    flex-shrink: 0;
  }
  .bevani-filter-drawer-apply {
    flex: 1;
    background: var(--gold);
    color: var(--black);
    border: 1px solid var(--gold);
    padding: 14px 20px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 2px;
    transition: opacity .2s;
  }
  .bevani-filter-drawer-apply:hover { opacity: 0.92; }

  /* Backdrop activation */
  .bevani-filter-backdrop {
    display: block;
  }
  body.bevani-filter-open .bevani-filter-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  /* Lock body scroll when drawer is open */
  body.bevani-filter-open {
    overflow: hidden;
  }

  /* ───── Mobile shop hero compression ─────
     The "The catalog" page header is beautiful on desktop but eats
     ~600px of vertical real estate on mobile before users see any
     products. Compress aggressively: smaller padding, hide the
     diamond ornaments, shrink h1, hide the long subtitle. */
  .page-header {
    padding: 28px 22px 24px;
  }
  .page-header::before {
    /* Shrink the radial glow so it doesn't dominate the smaller hero */
    width: 280px;
    height: 280px;
  }
  .page-header .ornament {
    display: none;
  }
  .page-header h1 {
    font-size: clamp(28px, 8vw, 40px) !important;
    margin-bottom: 0;
  }
  .page-header .section-intro {
    /* Subtitle hidden on mobile — the headline alone establishes context.
       Users came to shop, not to read marketing copy. */
    display: none;
  }
  .breadcrumb { margin-bottom: 16px; font-size: 10px; }

  /* ───── Mobile shop layout: tighter padding, single column ─────
     The filter sidebar becomes a fixed-position drawer on mobile (rules
     above) so the grid effectively becomes single-column. Compress
     padding so products start higher on the page. */
  .bevani-shop-layout {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 16px 56px;
  }

  /* ───── Mobile toolbar: stacked layout ─────
     Row 1: small results count ("3 products")
     Row 2: [FILTER button] [SORT dropdown] — equal weight, full row */
  .bevani-shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .bevani-results-count {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .bevani-shop-controls {
    display: flex;
    gap: 10px;
    align-items: stretch;
  }
  .bevani-shop-controls .bevani-mobile-filter-toggle,
  .bevani-shop-controls .bevani-sort-control {
    flex: 1;
    margin: 0; /* override the existing margin-bottom: 16px on filter toggle */
  }
  .bevani-shop-controls .bevani-mobile-filter-toggle {
    justify-content: center;
    padding: 12px 16px;
  }
  /* Sort control becomes a button-like wrapper to match FILTER's weight */
  .bevani-shop-controls .bevani-sort-control {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--gold-dim);
    border-radius: 2px;
    padding: 0;
    transition: border-color .2s;
    position: relative;
  }
  .bevani-shop-controls .bevani-sort-control:hover {
    border-color: var(--gold);
  }
  /* Hide the "Sort:" label on mobile — the dropdown's currently-selected
     value already implies sorting, and the chevron icon makes it clear
     it's a dropdown */
  .bevani-shop-controls .bevani-sort-label {
    display: none;
  }
  .bevani-shop-controls .bevani-sort-form {
    width: 100%;
    display: flex;
  }
  .bevani-shop-controls .bevani-sort-select {
    width: 100%;
    border: none !important;
    background: transparent !important;
    padding: 12px 36px 12px 16px !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--cream) !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  /* Custom chevron for the sort dropdown — uses an inline SVG via background-image */
  .bevani-shop-controls .bevani-sort-control::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    width: 10px;
    height: 6px;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1l4 4 4-4' stroke='%23C9A961' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    pointer-events: none;
  }
}

/* ============================================
   ── BEVANI: CHECKOUT 4-STEP PROGRESS ──
   Mockup checkout.html .steps + .step + .step-num + .step-line
   ============================================ */
.bevani-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 auto 56px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-soft);
  max-width: 900px;
}
.bevani-step {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.bevani-step-num {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-soft);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 14px;
  font-style: italic;
  color: var(--muted);
  transition: all .3s;
  flex-shrink: 0;
}
.bevani-step.active { color: var(--gold); }
.bevani-step.active .bevani-step-num {
  border-color: var(--gold);
  color: var(--gold);
}
.bevani-step.complete { color: var(--cream); }
.bevani-step.complete .bevani-step-num {
  background: var(--gold);
  color: var(--black);
  border-color: var(--gold);
}
.bevani-step-line {
  width: 80px;
  height: 1px;
  background: var(--border-soft);
  margin: 0 24px;
  flex-shrink: 0;
}
.bevani-step.complete + .bevani-step-line { background: var(--gold); }

/* Mobile */
@media (max-width: 700px) {
  .bevani-steps {
    margin-bottom: 32px;
    padding-bottom: 20px;
  }
  .bevani-step span:not(.bevani-step-num) {
    display: none;
  }
  .bevani-step-line {
    width: 32px;
    margin: 0 8px;
  }
}

/* ============================================
   ── BEVANI: CHECKOUT FORM STYLING ──
   Style WooCommerce's default checkout markup to match the mockup.
   ============================================ */

/* Override the whole-page checkout layout */
.woocommerce-checkout .container,
.woocommerce-checkout-pay .container { max-width: 1240px !important; }

/* Page container — inner grid handles its own padding */
body.woocommerce-checkout main.container,
body.woocommerce-checkout .entry-content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout article {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ============================================
   ── BEVANI: ACCOUNT DASHBOARD ──
   Mockup account.html — sidebar with user card + nav, content card with
   header strip, 4-cell stat strip, and styled WC sections (orders,
   addresses, downloads, account details).
   ============================================ */

/* ── Account header (replaces generic page-header for logged-in account) ── */
.bevani-account-header {
  position: relative;
  background: var(--black);
  padding: 56px 36px 32px;
  border-bottom: 1px solid var(--border-soft);
  text-align: center;
}
.bevani-account-header-inner {
  max-width: 1240px;
  margin: 0 auto;
}
.bevani-account-header .breadcrumb {
  margin: 0 auto 18px;
  text-align: center;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.bevani-account-header h1 {
  font-size: clamp(36px, 4.5vw, 56px);
  margin: 0 auto 10px;
  font-weight: 300;
  letter-spacing: -.01em;
  color: var(--cream);
}
.bevani-account-header h1 em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.bevani-account-header .section-intro {
  margin: 0 auto;
  max-width: 600px;
  color: var(--muted);
  font-size: 15px;
}

/* ── Outer container override (1240px max width, generous side padding) ── */
body.woocommerce-account.logged-in main.container,
body.woocommerce-account.logged-in .entry-content {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 48px 36px 96px !important;
}

/* ── Two-column dashboard grid: 280px sidebar / 1fr content ──
   Applies ONLY when the user is logged-in and on the actual dashboard
   (not on lost-password, reset-password, or other auth subpages, which
   would break under the 2-col grid since they have no sidebar). */
.woocommerce-account.logged-in:not(.bevani-lost-password) .woocommerce {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  grid-template-areas: "sidebar content" !important;
  gap: 56px !important;
  align-items: start;
  direction: ltr !important;
}
.woocommerce-account.logged-in:not(.bevani-lost-password) .woocommerce-MyAccount-navigation {
  grid-area: sidebar !important;
  order: 0 !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce-account.logged-in:not(.bevani-lost-password) .woocommerce-MyAccount-content {
  grid-area: content !important;
  order: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0; /* prevent grid item overflow squishing column */
}

/* Lost-password / reset-password page: centered single-column form,
   matching the visual feel of the login/register split-card.
   Applies whether or not the user happens to be logged in. */
body.bevani-lost-password .woocommerce {
  display: block !important;
  max-width: 480px;
  margin: 0 auto;
  padding: 0;
}
body.bevani-lost-password .woocommerce > .woocommerce-notices-wrapper,
body.bevani-lost-password .woocommerce-notices-wrapper {
  max-width: 100% !important;
  margin: 0 0 20px !important;
}

/* Form container: matches login/register card styling */
body.bevani-lost-password form.woocommerce-ResetPassword,
body.bevani-lost-password form.lost_reset_password {
  background: var(--black2);
  border: 1px solid var(--border-soft);
  padding: 32px 28px;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* WC's intro paragraph ("Lost your password? Please enter your username...")
   is redundant because we already explain the action in the page header.
   Hide the first <p> inside the form which is always WC's intro. */
body.bevani-lost-password form.woocommerce-ResetPassword > p:first-child,
body.bevani-lost-password form.lost_reset_password > p:first-child {
  display: none !important;
}

/* Kill ALL float-based form-row layout: every <p class="form-row..."> renders
   as full-width block with vertical spacing. This neutralizes WC's CSS that
   would otherwise put .form-row-first / .form-row-last side-by-side. */
body.bevani-lost-password form.woocommerce-ResetPassword p,
body.bevani-lost-password form.lost_reset_password p,
body.bevani-lost-password form.woocommerce-ResetPassword p.form-row,
body.bevani-lost-password form.lost_reset_password p.form-row,
body.bevani-lost-password form.woocommerce-ResetPassword p.form-row-first,
body.bevani-lost-password form.lost_reset_password p.form-row-first,
body.bevani-lost-password form.woocommerce-ResetPassword p.form-row-last,
body.bevani-lost-password form.lost_reset_password p.form-row-last,
body.bevani-lost-password form.woocommerce-ResetPassword p.form-row-wide,
body.bevani-lost-password form.lost_reset_password p.form-row-wide {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;
}
body.bevani-lost-password form.woocommerce-ResetPassword p:last-child,
body.bevani-lost-password form.lost_reset_password p:last-child {
  margin-bottom: 0 !important;
}

/* Labels: left-aligned uppercase gold, consistent with form-login.php */
body.bevani-lost-password form.woocommerce-ResetPassword label,
body.bevani-lost-password form.lost_reset_password label {
  display: block !important;
  text-align: left !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 500 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

/* Inputs: visible bg, visible border, visible text. Covers text + password
   (this form has 2 password fields on the reset step). */
body.bevani-lost-password form.woocommerce-ResetPassword input[type="text"],
body.bevani-lost-password form.lost_reset_password input[type="text"],
body.bevani-lost-password form.woocommerce-ResetPassword input[type="password"],
body.bevani-lost-password form.lost_reset_password input[type="password"],
body.bevani-lost-password form.woocommerce-ResetPassword input[type="email"],
body.bevani-lost-password form.lost_reset_password input[type="email"] {
  background: var(--black) !important;
  border: 1px solid var(--border) !important;
  width: 100% !important;
  display: block !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  color: var(--cream) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
body.bevani-lost-password form.woocommerce-ResetPassword input:focus,
body.bevani-lost-password form.lost_reset_password input:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}

/* Password show/hide toggle. Single SVG (filled style for visibility);
   JS swaps the inner path between eye-open and eye-closed variants
   when clicked. Single icon = no stacking issues. */
.password-input,
.woocommerce-password-strength {
  position: relative;
  width: 100% !important;
  display: block !important;
}
.show-password-input {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  border: none !important;
  background: transparent !important;
  padding: 6px !important;
  margin: 0 !important;
  outline: none !important;
  color: var(--gold) !important;
  opacity: 0.85 !important;
  transition: opacity .2s, color .2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  text-indent: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
}
.show-password-input:hover {
  opacity: 1 !important;
  color: var(--gold-light) !important;
}
.show-password-input.display-password {
  opacity: 1 !important;
  color: var(--gold-light) !important;
}
.show-password-input svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
  display: block !important;
  pointer-events: none;
}

/* Submit button: full-width, gold, matches login/register CTA */
body.bevani-lost-password form.woocommerce-ResetPassword button[type="submit"],
body.bevani-lost-password form.lost_reset_password button[type="submit"],
body.bevani-lost-password form.woocommerce-ResetPassword button.woocommerce-Button,
body.bevani-lost-password form.lost_reset_password button.woocommerce-Button {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 8px 0 0 !important;
  padding: 14px 24px !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: opacity .2s !important;
  text-align: center !important;
}
body.bevani-lost-password form.woocommerce-ResetPassword button[type="submit"]:hover,
body.bevani-lost-password form.lost_reset_password button[type="submit"]:hover {
  opacity: 0.92 !important;
}

/* Outer container override for lost-password — slimmer padding since
   we have a 480px centered form, not a 1240px dashboard layout */
body.bevani-lost-password main.container,
body.bevani-lost-password .entry-content {
  max-width: 600px !important;
  padding: 32px 24px 96px !important;
}

/* ═══════════ SIDEBAR ═══════════ */

/* User card — gold-bordered avatar with initials, name, email.
   Rendered inside woocommerce/myaccount/navigation.php at the top of
   the sidebar, above the nav links. Compact size matching mockup. */
.bevani-acct-user {
  border: 1px solid var(--border-soft) !important;
  background: var(--black2) !important;
  padding: 20px 16px !important;
  margin: 0 0 16px !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 280px !important;
  box-sizing: border-box !important;
}
.bevani-acct-avatar {
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto 12px !important;
  border: 1px solid var(--gold) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  font-style: italic !important;
  color: var(--gold) !important;
  letter-spacing: .02em !important;
  flex-shrink: 0 !important;
}
.bevani-acct-name {
  font-family: var(--font-display) !important;
  font-size: 15px !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  margin: 0 0 2px !important;
  word-break: break-word !important;
  line-height: 1.3 !important;
}
.bevani-acct-email {
  font-size: 11px !important;
  color: var(--muted) !important;
  letter-spacing: .03em !important;
  word-break: break-all !important;
  line-height: 1.4 !important;
}

/* Sidebar nav — clean list, gold left-border on hover/active */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  position: sticky;
  top: 100px;
  align-self: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--border-soft);
  background: var(--black2);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--border-soft) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 18px !important;
  color: var(--cream-dim) !important;
  text-decoration: none !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  font-weight: 400 !important;
  border-left: 2px solid transparent !important;
  transition: all .25s !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--gold) !important;
  background: var(--black) !important;
  border-left-color: var(--border) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--gold) !important;
  background: var(--gold-dim) !important;
  border-left-color: var(--gold) !important;
}

/* Inline SVG icons before each nav item (styled by data-* / item id) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  opacity: .85;
  transition: opacity .25s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
  opacity: 1;
}
/* Per-item icons — match by Woo's auto-generated li classes (woocommerce-MyAccount-navigation-link--{key}) */
.woocommerce-MyAccount-navigation-link--dashboard a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9D2C2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12l9-9 9 9M5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V10'/></svg>");
}
.woocommerce-MyAccount-navigation-link--orders a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9D2C2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='6' width='18' height='14' rx='1'/><path d='M16 2v4M8 2v4M3 10h18'/></svg>");
}
.woocommerce-MyAccount-navigation-link--downloads a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9D2C2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><path d='M14 2v6h6M12 18v-6M9 15l3 3 3-3'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-address a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9D2C2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-account a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9D2C2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8270' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/></svg>");
}
/* Logout item: muted color (matches mockup) */
.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--muted) !important;
}

/* ═══════════ MAIN CONTENT CARD ═══════════ */

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  padding: 0 !important;
}

/* The dashboard greeting paragraph (Hello [name], From your account…) */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  padding: 36px 40px 24px !important;
  border-bottom: 1px solid var(--border-soft) !important;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.7;
  color: var(--cream-dim);
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a:hover {
  color: var(--gold-light);
}

/* Stat strip — 4 cells in a horizontal bordered row, dividers between */
.bevani-account-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--border-soft);
  margin: 0 !important;
}
.bevani-stat-cell {
  padding: 28px 24px;
  border-right: 1px solid var(--border-soft);
  text-align: center;
}
.bevani-stat-cell:last-child {
  border-right: none;
}
.bevani-stat-cell .bevani-stat-num {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 400;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -.01em;
}
.bevani-stat-cell .bevani-stat-num .woocommerce-Price-amount {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
.bevani-stat-cell .bevani-stat-label {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: var(--font-body);
}

/* ── Recent orders section (custom dashboard.php template) ──
   Section head: italic headline + "View all →" link
   Order rows: 4-column grid (info | status pill | total | actions)
   with semantic status colors. */
.bevani-dashboard-section {
  padding: 0 !important;
}
.bevani-dashboard-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 32px 40px 16px !important;
  border-bottom: 1px solid var(--border-soft);
  margin: 0 !important;
}
.bevani-dashboard-section-head h3 {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--cream) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.bevani-dashboard-section-head h3 em {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.bevani-dashboard-view-all {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--gold);
  text-decoration: none;
  letter-spacing: .15em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.bevani-dashboard-view-all:hover {
  color: var(--gold-light);
  border-bottom-color: var(--gold);
}

/* Order rows */
.bevani-recent-orders {
  padding: 0 40px 32px;
}
.bevani-order-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 32px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-order-row:last-child {
  border-bottom: none;
}
.bevani-order-info .bevani-order-num {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--cream);
  font-weight: 500;
  margin-bottom: 6px;
}
.bevani-order-info .bevani-order-meta {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .03em;
}
.bevani-order-info .bevani-order-meta span:not(:last-child)::after {
  content: ' · ';
  opacity: .5;
  margin: 0 4px;
}

/* Status pill — semantic colors */
.bevani-order-status {
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid var(--border-soft);
  white-space: nowrap;
  font-family: var(--font-body);
}
.bevani-order-status.delivered {
  color: var(--success);
  border-color: rgba(107, 158, 110, 0.3);
}
.bevani-order-status.shipped {
  color: var(--gold);
  border-color: var(--border);
}
.bevani-order-status.processing {
  color: var(--cream-dim);
}
.bevani-order-status.cancelled {
  color: var(--muted);
  text-decoration: line-through;
}

/* Order total */
.bevani-order-total {
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--cream);
  font-weight: 400;
  white-space: nowrap;
}
.bevani-order-total .woocommerce-Price-amount {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

/* Action buttons */
.bevani-order-actions {
  display: flex;
  gap: 8px;
}
.bevani-order-action {
  background: transparent;
  border: 1px solid var(--border-soft);
  color: var(--cream-dim);
  padding: 8px 14px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s;
  text-decoration: none;
  white-space: nowrap;
}
.bevani-order-action:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* Empty state — no orders yet */
.bevani-dashboard-empty {
  padding: 56px 40px;
  text-align: center;
}
.bevani-dashboard-empty p {
  color: var(--muted);
  font-size: 15px;
  margin: 0 0 20px;
}
.bevani-dashboard-empty-cta {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid var(--gold);
  padding: 12px 24px;
  transition: background .2s, color .2s;
}
.bevani-dashboard-empty-cta:hover {
  background: var(--gold);
  color: var(--black);
}

/* ── Saved addresses section (Addresses tab — my-address.php override) ──
   Custom card layout: header strip with address label + Edit link,
   body with formatted address, gold-bordered default card with tag.
   Replaces WC's default 2-column block layout. */
.bevani-addresses-intro {
  padding: 20px 40px 0;
}
.bevani-addresses-intro p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
}
.bevani-addresses-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding: 24px 40px 40px;
}
.bevani-addresses-grid.is-single {
  /* When only billing address shows (shipping disabled), constrain width */
  grid-template-columns: minmax(0, 480px);
}
.bevani-address-card {
  border: 1px solid var(--border-soft);
  background: var(--black2);
  padding: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: border-color .25s;
}
.bevani-address-card:hover {
  border-color: var(--border);
}
.bevani-address-card.is-default {
  border-color: var(--gold);
}
.bevani-address-default-tag {
  position: absolute;
  top: 16px;
  right: 18px;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
}
.bevani-address-card-head {
  padding: 22px 24px 14px;
}
.bevani-address-label {
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--cream);
  font-weight: 400;
  letter-spacing: -.01em;
}
.bevani-address-card-body {
  padding: 0 24px 22px;
  flex: 1;
}
.bevani-address-card-body address {
  font-style: normal;
  color: var(--cream-dim);
  line-height: 1.75;
  font-size: 13px;
  font-weight: 300;
  margin: 0;
}
.bevani-address-empty {
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
  margin: 0;
}
.bevani-address-card-foot {
  padding: 16px 24px;
  border-top: 1px solid var(--border-soft);
  display: flex;
  gap: 18px;
}
.bevani-address-action {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  font-family: var(--font-body);
  font-weight: 500;
  transition: color .2s;
}
.bevani-address-action:hover {
  color: var(--gold-light);
}
.bevani-address-meta {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .02em;
}

/* ── Orders tab pagination ── */
.bevani-orders-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 40px 32px;
  border-top: 1px solid var(--border-soft);
}
.bevani-pagination-link {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  padding: 10px 18px;
  border: 1px solid var(--border-soft);
  transition: all .25s;
}
.bevani-pagination-link:hover {
  border-color: var(--gold);
  background: var(--gold-dim);
}
.bevani-pagination-info {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ── Order details page (view-order.php) ──
   Header strip with order#, date, item count on left;
   status pill + total on right.
   Then customer note (if any), line items table, totals, addresses. */
.bevani-view-order-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  padding: 32px 40px;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-view-order-head-left { flex: 1; }
.bevani-view-order-head-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  text-align: right;
}
.bevani-view-order-back {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  margin-bottom: 14px;
  transition: color .2s;
}
.bevani-view-order-back:hover { color: var(--gold); }
.bevani-view-order-head h3 {
  font-family: var(--font-display) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--cream) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: -.01em !important;
}
.bevani-view-order-meta {
  font-size: 13px;
  color: var(--muted);
  letter-spacing: .03em;
}
.bevani-view-order-meta span:not(:last-child)::after {
  content: ' · ';
  opacity: .5;
  margin: 0 4px;
}
.bevani-view-order-total {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--cream);
  font-weight: 400;
}

/* Customer note */
.bevani-view-order-note {
  padding: 24px 40px;
  border-bottom: 1px solid var(--border-soft);
  background: rgba(201, 169, 97, 0.04);
}
.bevani-view-order-note-label {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
  font-family: var(--font-body);
}
.bevani-view-order-note p {
  margin: 0;
  font-size: 14px;
  color: var(--cream-dim);
  line-height: 1.7;
  font-style: italic;
}

/* Line items section */
.bevani-view-order-items { padding: 0; }
.bevani-view-order-section-head {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 28px 40px 14px;
}
.bevani-order-items-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.bevani-order-item {
  border-bottom: 1px solid var(--border-soft);
}
.bevani-order-item:last-child {
  border-bottom: none;
}
.bevani-order-item td {
  padding: 16px 18px;
  vertical-align: middle;
  background: transparent !important;
  border: none !important;
}
.bevani-order-item-img {
  width: 64px;
  padding-left: 40px !important;
}
.bevani-order-item-img img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border: 1px solid var(--border-soft);
  display: block;
}
.bevani-order-item-name {
  font-size: 14px;
  color: var(--cream);
  font-weight: 400;
}
.bevani-order-item-name a {
  color: var(--cream);
  text-decoration: none;
  transition: color .2s;
}
.bevani-order-item-name a:hover { color: var(--gold); }
.bevani-order-item-name .wc-item-meta {
  font-size: 12px;
  color: var(--muted);
  margin: 6px 0 0;
  list-style: none;
  padding: 0;
}
.bevani-order-item-name .wc-item-meta li {
  margin: 0;
}
.bevani-order-item-name .wc-item-meta strong {
  font-weight: 400;
  color: var(--cream-dim);
}
.bevani-order-item-qty {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
  text-align: center;
}
.bevani-order-item-total {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--cream);
  text-align: right;
  white-space: nowrap;
  padding-right: 40px !important;
}

/* Totals breakdown */
.bevani-order-totals {
  border-top: 1px solid var(--border-soft);
  padding: 20px 40px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bevani-order-totals-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  color: var(--cream-dim);
  font-family: var(--font-body);
}
.bevani-order-totals-row .bevani-order-totals-label {
  letter-spacing: .03em;
}
.bevani-order-totals-row.bevani-order-totals-grand {
  border-top: 1px solid var(--border-soft);
  padding-top: 14px;
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--cream);
  font-weight: 500;
  letter-spacing: 0;
}

/* Addresses block on view-order page (reuses .bevani-addresses-grid) */
.bevani-view-order-addresses {
  border-top: 1px solid var(--border-soft);
}
.bevani-view-order-addresses .bevani-addresses-grid {
  padding: 8px 40px 40px;
}

/* ── Account & address edit forms (form-edit-account.php / form-edit-address.php) ──
   Pure CSS pass for WC's default form templates. Add labels, polish
   inputs, style the submit area. */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
  padding: 32px 40px 40px !important;
}

/* Section title above the form */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account legend,
.woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

/* Form fieldset (password change section) */
.woocommerce-account .woocommerce-MyAccount-content form fieldset {
  border: 1px solid var(--border-soft) !important;
  background: var(--black2) !important;
  padding: 24px !important;
  margin: 32px 0 0 !important;
}

/* Form rows — group inputs into 2-col where appropriate */
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row,
.woocommerce-account .woocommerce-MyAccount-content form p.form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}
/* Address form layout — modern flex-based pairing for form-row-first +
   form-row-last. Cleaner than floats: no clearfix needed, fields naturally
   stack on mobile. Used on edit-address, edit-account forms. */
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row.form-row-first,
.woocommerce-account .woocommerce-MyAccount-content form p.form-row.form-row-first {
  width: calc(50% - 8px) !important;
  float: none !important;
  display: inline-block !important;
  margin: 0 8px 16px 0 !important;
  vertical-align: top !important;
}
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row.form-row-last,
.woocommerce-account .woocommerce-MyAccount-content form p.form-row.form-row-last {
  width: calc(50% - 8px) !important;
  float: none !important;
  display: inline-block !important;
  margin: 0 0 16px 8px !important;
  vertical-align: top !important;
}
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row.form-row-wide,
.woocommerce-account .woocommerce-MyAccount-content form p.form-row.form-row-wide {
  clear: both !important;
  width: 100% !important;
  margin-bottom: 16px !important;
}

/* Tighter vertical rhythm on address forms — reduce excess gap between
   sections of the form. */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account p,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields__field-wrapper + p {
  margin-bottom: 14px !important;
}

/* Form labels */
.woocommerce-account .woocommerce-MyAccount-content form label {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.woocommerce-account .woocommerce-MyAccount-content form label .required {
  color: var(--gold) !important;
  text-decoration: none !important;
}

/* Form inputs */
.woocommerce-account .woocommerce-MyAccount-content form input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content form select,
.woocommerce-account .woocommerce-MyAccount-content form .select2-selection {
  background: var(--black) !important;
  border: 1px solid var(--border-input) !important;
  color: var(--cream) !important;
  padding: 12px 14px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  border-radius: 0 !important;
  width: 100% !important;
  transition: border-color .2s !important;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type="text"]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type="email"]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type="password"]:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}

/* Submit button area */
.woocommerce-account .woocommerce-MyAccount-content form p:has(button[type="submit"]),
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-Button {
  margin-top: 24px !important;
  clear: both !important;
}

/* Clearfix for form rows that use float */
.woocommerce-account .woocommerce-MyAccount-content form::after {
  content: '';
  display: table;
  clear: both;
}

/* All other dashboard sections (orders preview, headings, etc.) get padding */
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > table,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-MyAccount-orders {
  margin: 0 !important;
}

/* Section headings inside content card — scoped to direct children so
   nested elements (like address cards) get their own styling. */
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
  font-family: var(--font-display) !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  padding: 32px 40px 16px !important;
  border-bottom: 1px solid var(--border-soft) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}

/* Tables (orders, downloads) — wrap in padding region */
.woocommerce-account table.shop_table,
.woocommerce-account table.account-orders-table,
.woocommerce-account table.woocommerce-orders-table {
  width: calc(100% - 80px) !important;
  margin: 24px 40px 40px !important;
  border: 1px solid var(--border-soft) !important;
  border-collapse: collapse !important;
  background: transparent !important;
}
.woocommerce-account table.shop_table thead {
  background: var(--black2);
}
.woocommerce-account table.shop_table thead th {
  background: var(--black2) !important;
  color: var(--gold) !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--border-soft) !important;
  text-align: left !important;
}
.woocommerce-account table.shop_table tbody td {
  background: transparent !important;
  border-bottom: 1px solid var(--border-soft) !important;
  padding: 16px 18px !important;
  color: var(--cream-dim) !important;
}
.woocommerce-account table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

/* Forms inside content (account details, edit address) */
.woocommerce-account .woocommerce-MyAccount-content form {
  padding: 32px 40px 40px !important;
}
.woocommerce-account .woocommerce-MyAccount-content form fieldset {
  border: 1px solid var(--border-soft) !important;
  padding: 24px !important;
  margin-top: 24px !important;
  background: var(--black2);
}
.woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--gold);
  padding: 0 12px;
}

/* Address display blocks — see .bevani-address-card rules below in
   "ADDRESSES SECTION" block. The old .u-columns/.col2-set rules were
   removed in v1.10.49 since my-address.php now uses custom markup. */
.woocommerce-account address {
  font-style: normal;
  color: var(--cream-dim);
  line-height: 1.7;
  font-size: 13px;
}

/* Buttons inside content */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content a.button {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--gold) !important;
  border-radius: 0 !important;
  padding: 8px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all .25s !important;
  display: inline-block;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
  border-color: var(--gold) !important;
}

/* Status badges inside orders table */
.woocommerce-account table.shop_table mark.order-status,
.woocommerce-account table.shop_table .order-status {
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--cream-dim) !important;
  font-family: var(--font-body) !important;
}
.woocommerce-account table.shop_table .order-status.status-completed,
.woocommerce-account table.shop_table mark.completed {
  color: var(--success) !important;
  border-color: rgba(107, 158, 110, 0.3) !important;
}
.woocommerce-account table.shop_table .order-status.status-processing,
.woocommerce-account table.shop_table mark.processing {
  color: var(--gold) !important;
  border-color: var(--border) !important;
}

/* Empty state messages */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message {
  margin: 32px 40px !important;
}

/* Pagination */
.woocommerce-account .woocommerce-pagination {
  padding: 0 40px 32px !important;
}

/* ═══════════ MOBILE (≤900px) ═══════════ */
@media (max-width: 900px) {
  body.woocommerce-account main.container,
  body.woocommerce-account.logged-in main.container {
    padding: 24px 16px 64px !important;
  }
  body.woocommerce-account.logged-in .entry-content {
    padding: 24px 16px 64px !important;
  }
  .bevani-account-header {
    padding: 32px 22px 24px;
  }
  .bevani-account-header h1 {
    font-size: clamp(28px, 7vw, 36px);
  }
  .bevani-account-header .section-intro {
    font-size: 13px;
  }

  /* Single column — sidebar stacks above content */
  .woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
  }

  /* User card more compact on mobile */
  .bevani-acct-user {
    padding: 18px;
    margin-bottom: 16px;
  }
  .bevani-acct-avatar {
    width: 52px;
    height: 52px;
    font-size: 18px;
  }

  /* Stat cells — 2x2 grid on mobile per mockup */
  .bevani-account-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .bevani-stat-cell {
    border-right: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
  }
  .bevani-stat-cell:nth-child(2n) {
    border-right: none;
  }
  .bevani-stat-cell:nth-last-child(-n+2) {
    border-bottom: none;
  }
  .bevani-stat-cell .bevani-stat-num {
    font-size: 26px;
  }

  /* Tighten paddings inside content card */
  .woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
  .woocommerce-account .woocommerce-MyAccount-content h2,
  .woocommerce-account .woocommerce-MyAccount-content h3 {
    padding: 24px 22px 16px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content form {
    padding: 24px 22px !important;
  }
  .woocommerce-account table.shop_table {
    width: calc(100% - 32px) !important;
    margin: 16px 16px 24px !important;
    font-size: 12px !important;
  }
  .woocommerce-account table.shop_table thead th,
  .woocommerce-account table.shop_table tbody td {
    padding: 10px 8px !important;
  }

  /* Old address column rule removed in v1.10.49 — see .bevani-addresses-grid mobile rule */

  /* Address cards stack on mobile */
  .bevani-addresses-intro { padding: 16px 22px 0; }
  .bevani-addresses-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px 22px 24px;
  }
  .bevani-address-card-head { padding: 18px 20px 12px; }
  .bevani-address-card-body { padding: 0 20px 18px; }
  .bevani-address-card-foot { padding: 14px 20px; }

  /* Orders pagination */
  .bevani-orders-pagination {
    flex-direction: column;
    gap: 16px;
    padding: 20px 22px 28px;
  }
  .bevani-pagination-link {
    width: 100%;
    text-align: center;
  }

  /* View order page — stack header, simplify line items table */
  .bevani-view-order-head {
    flex-direction: column;
    gap: 18px;
    padding: 22px 22px 24px;
  }
  .bevani-view-order-head-right {
    align-items: flex-start;
    text-align: left;
    flex-direction: row;
    gap: 16px;
    align-items: baseline;
  }
  .bevani-view-order-head h3 {
    font-size: 22px !important;
  }
  .bevani-view-order-total {
    font-size: 22px;
  }
  .bevani-view-order-note,
  .bevani-view-order-section-head {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .bevani-view-order-section-head { padding: 22px 22px 12px; }

  .bevani-order-item td { padding: 12px 8px !important; }
  .bevani-order-item-img {
    width: 56px;
    padding-left: 22px !important;
  }
  .bevani-order-item-img img { width: 48px; height: 48px; }
  .bevani-order-item-name { font-size: 13px; }
  .bevani-order-item-total {
    padding-right: 22px !important;
    font-size: 14px;
  }
  .bevani-order-item-qty { font-size: 12px; }

  .bevani-order-totals { padding: 16px 22px 24px; }
  .bevani-order-totals-row.bevani-order-totals-grand { font-size: 16px; }

  .bevani-view-order-addresses .bevani-addresses-grid {
    padding: 8px 22px 24px;
  }

  /* Form rows un-stack on mobile (no side-by-side first/last columns) */
  .woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row.form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row.form-row-last,
  .woocommerce-account .woocommerce-MyAccount-content form p.form-row.form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content form p.form-row.form-row-last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Recent orders — stack rows on mobile */
  .bevani-dashboard-section-head {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    padding: 24px 22px 14px !important;
  }
  .bevani-dashboard-section-head h3 {
    font-size: 18px !important;
  }
  .bevani-dashboard-view-all {
    font-size: 10px;
  }
  .bevani-recent-orders {
    padding: 0 22px 24px;
  }
  .bevani-order-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0;
  }
  .bevani-order-status,
  .bevani-order-total {
    justify-self: start;
  }
  .bevani-order-actions {
    width: 100%;
    margin-top: 4px;
  }
  .bevani-order-action {
    flex: 1;
    text-align: center;
    padding: 10px 14px;
  }
  .bevani-dashboard-empty {
    padding: 40px 22px;
  }
}


/* ============================================
   ── BEVANI: Product card override (matches mockup .product-card structure) ──
   Our content-product.php template wraps everything in:
     <li.product-card> → <a.product-card-link> → .product-img + .product-body
   ============================================ */
.woocommerce ul.products li.product.product-card {
  list-style: none !important;
}
.woocommerce ul.products li.product.product-card .product-card-link {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
  height: 100%;
}
.woocommerce ul.products li.product.product-card .product-img img,
.woocommerce ul.products li.product.product-card .bevani-card-img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  background: var(--black2);
  border-bottom: 1px solid var(--border-soft);
  margin: 0 !important;
  filter: brightness(.9);
  transition: filter .3s;
  display: block;
}
.woocommerce ul.products li.product.product-card:hover .product-img img {
  filter: brightness(1.1);
}
.woocommerce ul.products li.product.product-card .product-body {
  padding: 24px 24px 28px !important;
}

/* Star rating (small) inside card */
.product-card-rating {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 10px;
  margin-top: -2px;
}

/* Product price wrapper inside card */
.woocommerce ul.products li.product.product-card .product-price {
  font-size: 13px !important;
  color: var(--muted) !important;
  font-family: var(--font-body) !important;
  letter-spacing: .03em !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product.product-card .product-price strong {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  margin-left: 4px;
}
.woocommerce ul.products li.product.product-card .product-price .amount,
.woocommerce ul.products li.product.product-card .product-price .woocommerce-Price-amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: inherit !important;
}
.woocommerce ul.products li.product.product-card .product-price del {
  color: var(--muted);
  text-decoration: line-through;
  font-size: 13px;
  margin-right: 6px;
}
.woocommerce ul.products li.product.product-card .product-price del .amount {
  color: var(--muted) !important;
  font-size: 13px !important;
}

/* Mobile */
@media (max-width: 900px) {
  .woocommerce ul.products li.product.product-card .product-img img {
    height: 180px !important;
  }
  .woocommerce ul.products li.product.product-card .product-body {
    padding: 18px 18px 22px !important;
  }
}
@media (max-width: 500px) {
  .woocommerce ul.products li.product.product-card .product-img img {
    height: 160px !important;
  }
  .woocommerce ul.products li.product.product-card .product-body {
    padding: 14px 14px 18px !important;
  }
}

/* Clear all filters link (bottom of sidebar) */
.bevani-filter-clear-all {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  font-family: var(--font-body);
  font-weight: 500;
  border-bottom: 1px solid var(--border-soft);
  padding-bottom: 2px;
  transition: color .25s, border-color .25s;
}
.bevani-filter-clear-all:hover {
  color: var(--gold);
  border-color: var(--gold);
}

/* ============================================
   ── BEVANI: CART PAGE — full custom layout ──
   Mockup cart.html .cart-layout + .cart-item + .order-summary
   ============================================ */

/* Reset older cart rules that target the default WC structure */
.woocommerce-cart .bevani-cart-form { width: 100% !important; max-width: none !important; margin: 0 !important; }

/* Page hero ("Your cart") */
.bevani-cart-hero {
  text-align: center;
  padding: 56px 36px 64px;
  max-width: 880px;
  margin: 0 auto;
}
.bevani-cart-hero h1 {
  font-size: clamp(48px, 6vw, 72px);
  margin: 8px 0 16px;
}
.bevani-cart-hero .section-intro {
  margin: 0 auto !important;
}

/* 2-column grid */
.bevani-cart-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 36px 96px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

/* Items column */
.bevani-cart-items-col { min-width: 0; }

.bevani-cart-items-header {
  display: grid;
  grid-template-columns: 100px 1fr 140px 100px 110px 30px;
  gap: 24px;
  align-items: center;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--border-soft);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
}

.bevani-cart-item {
  display: grid;
  grid-template-columns: 100px 1fr 140px 100px 110px 30px;
  gap: 24px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--border-soft);
}

/* Image */
.bevani-cart-item-img {
  width: 100px;
  height: 100px;
  background: var(--black2);
  border: 1px solid var(--border-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.bevani-cart-item-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.bevani-cart-item-img img[src*="placeholder"] {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  opacity: 0.4;
}

/* Info */
.bevani-cart-item-info { min-width: 0; }
.bevani-cart-item-info .cat {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
  display: block;
  font-family: var(--font-body);
  font-weight: 500;
}
.bevani-cart-item-info .name {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--cream);
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
  text-decoration: none;
  transition: color .2s;
}
.bevani-cart-item-info .name:hover { color: var(--gold); }
.bevani-cart-item-info .variant {
  font-size: 12px;
  color: var(--muted);
  font-family: var(--font-display);
  font-style: italic;
}

/* Quantity */
.bevani-cart-qty {
  display: flex;
  border: 1px solid var(--border-soft);
  height: 40px;
  width: 120px;
}
.bevani-cart-qty button {
  width: 40px;
  background: transparent;
  border: none;
  color: var(--gold);
  cursor: pointer;
  font-size: 18px;
  font-family: var(--font-body);
  transition: background .2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bevani-cart-qty button:hover { background: var(--gold-dim); }
.bevani-cart-qty input.bevani-qty-input {
  width: 40px !important;
  height: 100% !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid var(--border-soft) !important;
  border-right: 1px solid var(--border-soft) !important;
  text-align: center !important;
  color: var(--cream) !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  outline: none !important;
  padding: 0 !important;
  -moz-appearance: textfield;
}
.bevani-cart-qty input.bevani-qty-input::-webkit-outer-spin-button,
.bevani-cart-qty input.bevani-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Price + Subtotal */
.bevani-cart-item-price,
.bevani-cart-item-subtotal {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--cream);
}
.bevani-cart-item-price .amount,
.bevani-cart-item-subtotal .amount {
  font-family: var(--font-display) !important;
  color: inherit !important;
  font-weight: 400 !important;
}
.bevani-cart-item-price del,
.bevani-cart-item-subtotal del {
  color: var(--muted);
  font-size: 13px;
  margin-right: 6px;
  text-decoration: line-through;
}

/* Remove button */
.bevani-cart-item-remove { text-align: right; }
.bevani-cart-item-remove .bevani-remove {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  color: var(--muted) !important;
  font-size: 22px;
  text-decoration: none !important;
  background: transparent !important;
  border-radius: 50% !important;
  transition: color .2s, background .2s;
  font-family: sans-serif;
  line-height: 1;
}
.bevani-cart-item-remove .bevani-remove:hover {
  color: var(--danger) !important;
  background: rgba(201, 122, 107, 0.1) !important;
}

/* Actions bar (continue shopping + update) */
.bevani-cart-actions-bar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 28px;
  flex-wrap: wrap;
  gap: 12px;
}
.bevani-continue-shop {
  font-size: 12px;
  color: var(--gold);
  text-decoration: none;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 500;
  transition: color .2s;
}
.bevani-continue-shop:hover { color: var(--gold-light); }
.bevani-update-cart {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  /* Hidden because qty +/- buttons auto-trigger update via JS;
     button is kept in DOM for JS to programmatically click */
}

/* Promo code form */
.bevani-promo-row {
  display: flex;
  gap: 0;
  margin-top: 24px;
  max-width: 380px;
}
.bevani-promo-row input {
  flex: 1;
  background: transparent !important;
  border: 1px solid var(--border-soft) !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  outline: none;
}
.bevani-promo-row input::placeholder { color: var(--muted); font-style: italic; }
.bevani-promo-row input:focus { border-color: var(--gold) !important; }
.bevani-promo-row button {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 12px 22px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background .2s, color .2s !important;
}
.bevani-promo-row button:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}

/* Order summary sidebar */
.bevani-order-summary {
  position: sticky;
  top: 100px;
  align-self: start;
  border: 1px solid var(--border-soft);
  background: var(--black2);
  padding: 36px 32px;
}
.bevani-summary-title {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  color: var(--cream) !important;
  font-weight: 500 !important;
  margin: 0 0 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--border-soft) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.bevani-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  font-size: 14px;
  color: var(--cream-dim);
}
.bevani-summary-row .label {
  color: var(--muted);
  font-size: 13px;
}
.bevani-summary-row.discount { color: var(--success); }
.bevani-summary-row.discount .label { color: var(--success); font-weight: 500; }
.bevani-summary-row .muted { color: var(--muted); font-size: 13px; }
.bevani-summary-divider {
  height: 1px;
  background: var(--border-soft);
  margin: 14px 0;
}
.bevani-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 18px 0 24px;
}
.bevani-summary-total > span:first-child {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}
.bevani-summary-total > span:last-child {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--gold);
  font-weight: 400;
}
.bevani-summary-total .amount {
  font-family: var(--font-display) !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
  font-size: inherit !important;
}

/* Checkout button (full-width gold) */
.bevani-checkout-btn {
  display: block;
  width: 100%;
  background: var(--gold);
  color: var(--black) !important;
  border: 1px solid var(--gold);
  padding: 16px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .25s;
}
.bevani-checkout-btn:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

/* Secure checkout note */
.bevani-summary-meta {
  margin-top: 20px;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  line-height: 1.7;
  letter-spacing: .03em;
}
.bevani-summary-meta a {
  color: var(--gold) !important;
  text-decoration: none !important;
}
.bevani-summary-meta a:hover {
  border-bottom: 1px solid var(--gold);
}

/* Payment icons row */
.bevani-accepted-pay {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}
.bevani-pay-icon {
  width: 44px;
  height: 24px;
  border: 1px solid var(--border-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  color: var(--muted);
  font-family: var(--font-body);
  letter-spacing: .05em;
  font-weight: 600;
}

/* Hide the WC default cart-totals and shipping-calculator (we render our own) */
.woocommerce-cart .cart_totals,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .cart-collaterals { display: none !important; }

/* Mobile */
@media (max-width: 900px) {
  .bevani-cart-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 22px 80px;
  }
  .bevani-cart-hero {
    padding: 32px 22px 24px;
  }
  .bevani-order-summary {
    position: static;
    padding: 28px 24px;
  }
  .bevani-cart-items-header { display: none; }
  .bevani-cart-item {
    grid-template-columns: 80px 1fr;
    grid-template-areas:
      "img info"
      "img qty"
      "subtotal subtotal";
    gap: 14px 16px;
    padding: 20px 0;
  }
  .bevani-cart-item-img { grid-area: img; width: 80px; height: 80px; }
  .bevani-cart-item-info { grid-area: info; }
  .bevani-cart-qty { grid-area: qty; }
  .bevani-cart-item-price { display: none; }
  .bevani-cart-item-subtotal {
    grid-area: subtotal;
    text-align: right;
    font-size: 18px;
    color: var(--gold);
  }
  .bevani-cart-item-remove {
    position: absolute;
    top: 16px;
    right: 0;
  }
  .bevani-cart-item { position: relative; }
}

/* ── Cart page: reset WC wrapper interference ── */
.woocommerce-cart .woocommerce {
  /* WooCommerce's outer wrapper */
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
.woocommerce-cart .entry-content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}
.woocommerce-cart article {
  max-width: none !important;
  margin: 0 !important;
}

/* Make sure the cart added notice doesn't float weird */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper {
  max-width: 1240px;
  margin: 0 auto 16px !important;
  padding: 0 36px !important;
}
.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-info {
  margin: 0 !important;
}

/* ── Empty cart state: centered, no notice-banner styling ── */
.woocommerce-cart .cart-empty.woocommerce-info {
  /* Override the generic .woocommerce-info banner styling for the empty cart message */
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  display: block !important;
  text-align: center !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  color: var(--cream-dim) !important;
  font-style: italic !important;
  line-height: 1.5 !important;
}
.woocommerce-cart .cart-empty.woocommerce-info::before {
  display: none !important;
  content: none !important;
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  max-width: 1240px;
  margin: 0 auto !important;
  padding: 32px 36px 96px !important;
}
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a.button {
  display: inline-block !important;
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  padding: 16px 36px !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce-cart .return-to-shop .button:hover {
  background: var(--gold-light) !important;
  border-color: var(--gold-light) !important;
}

/* Container that wraps the empty state */
.woocommerce-cart .woocommerce > .cart-empty.woocommerce-info {
  max-width: 1240px;
  margin: 0 auto 0 !important;
  padding: 64px 36px 0 !important;
}

/* ── Empty cart state ── */
.bevani-cart-empty {
  max-width: 520px;
  margin: 0 auto;
  padding: 48px 36px 96px;
  text-align: center;
}
.bevani-cart-empty-icon {
  width: 96px;
  height: 96px;
  margin: 0 auto 32px;
  color: var(--gold);
  opacity: 0.6;
}
.bevani-cart-empty-icon svg {
  width: 100%;
  height: 100%;
}
.bevani-cart-empty h2 {
  font-family: var(--font-display);
  font-size: 36px;
  color: var(--cream);
  font-weight: 300;
  margin: 0 0 16px;
  letter-spacing: -.01em;
}
.bevani-cart-empty h2 em {
  font-style: italic;
  color: var(--gold);
}
.bevani-cart-empty p {
  font-size: 15px;
  color: var(--cream-dim);
  line-height: 1.7;
  margin: 0 0 32px;
  font-weight: 300;
}
.bevani-cart-empty .btn-primary {
  display: inline-block;
}

/* ── Empty cart styling ── */
.bevani-cart-empty {
  text-align: center;
  padding: 64px 36px 96px;
  max-width: 560px;
  margin: 0 auto;
}
.bevani-cart-empty-icon {
  width: 96px;
  height: 96px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
  color: var(--gold);
}
.bevani-cart-empty-icon svg {
  width: 40px;
  height: 40px;
}
.bevani-cart-empty-title {
  font-family: var(--font-display) !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 300 !important;
  color: var(--cream) !important;
  margin: 0 0 16px !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
.bevani-cart-empty-title em {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.bevani-cart-empty-sub {
  font-size: 15px !important;
  color: var(--cream-dim) !important;
  line-height: 1.7 !important;
  font-weight: 300 !important;
  margin: 0 0 36px !important;
}
.bevani-cart-empty-cta {
  display: inline-block;
  background: var(--gold);
  color: var(--black) !important;
  border: 1px solid var(--gold);
  padding: 16px 36px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background .25s, border-color .25s;
}
.bevani-cart-empty-cta:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

/* Hide the default WC "return to shop" button on empty cart since we use our own CTA */
.bevani-cart-empty + .return-to-shop,
.bevani-cart-empty ~ p.return-to-shop,
.bevani-cart-empty + p,
body.woocommerce-cart .return-to-shop {
  display: none !important;
}


/* ============================================
   ── BEVANI: CHECKOUT — 5-section layout ──
   form-checkout.php override creates these custom classes that
   match the mockup's checkout.html structure precisely.
   ============================================ */

.bevani-checkout-form {
  margin: 0 !important;
  padding-top: 0 !important;
}

.bevani-checkout-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 36px 96px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: start;
}

.bevani-checkout-main { min-width: 0; }

/* ── Section block ── */
.bevani-checkout-section {
  margin-bottom: 56px;
}
.bevani-checkout-section:last-child { margin-bottom: 0; }

.bevani-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-soft);
  gap: 16px;
  flex-wrap: wrap;
}
.bevani-section-head h3 {
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--cream) !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.bevani-section-head h3 em {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.bevani-edit-link {
  font-size: 11px;
  color: var(--gold) !important;
  text-decoration: none !important;
  letter-spacing: .15em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
  font-family: var(--font-body);
  font-weight: 500;
}
.bevani-edit-link:hover {
  color: var(--gold-light) !important;
  border-bottom-color: var(--gold);
}
.bevani-section-aside {
  font-size: 12px;
  color: var(--muted);
  font-family: var(--font-body);
  letter-spacing: .03em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 300;
}

/* ── Account toggle (Guest / Sign in) ── */
.bevani-account-toggle {
  display: flex;
  gap: 0;
  margin-bottom: 24px;
  border: 1px solid var(--border-soft);
}
.bevani-account-toggle button {
  flex: 1;
  padding: 14px;
  background: transparent;
  border: none;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s;
  font-weight: 500;
}
.bevani-account-toggle button.active {
  background: var(--gold-dim);
  color: var(--gold);
}
.bevani-account-toggle button:hover:not(.active) {
  color: var(--cream-dim);
}

/* ── Newsletter / consent checkbox row ── */
.bevani-checkbox-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--cream-dim) !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  margin: 16px 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 300 !important;
}
/* Checkbox styling for .bevani-checkbox-row inherits from the global
   input[type="checkbox"] rule (appearance: none, gold-fill on :checked).
   No size/accent-color override here — those would conflict with the
   custom :checked::after pseudo-element rendering. */
.bevani-checkbox-row span {
  flex: 1;
}
.bevani-checkbox-row a {
  color: var(--gold) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--border-soft);
}

/* ── Shipping methods (radio cards) ── */
.bevani-ship-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}
.bevani-ship-option {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px 22px !important;
  border: 1px solid var(--border-soft) !important;
  cursor: pointer !important;
  transition: border-color .25s, background .25s !important;
  margin: 0 !important;
}
.bevani-ship-option:hover { border-color: var(--border) !important; }
.bevani-ship-option.selected {
  border-color: var(--gold) !important;
  background: var(--gold-dim) !important;
}
.bevani-ship-option input.bevani-ship-radio-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}
.bevani-ship-radio {
  width: 18px;
  height: 18px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bevani-ship-option.selected .bevani-ship-radio {
  border-color: var(--gold);
}
.bevani-ship-option.selected .bevani-ship-radio::after {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--gold);
  border-radius: 50%;
}
.bevani-ship-info { flex: 1; }
.bevani-ship-info strong {
  display: block;
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--cream);
  font-weight: 500;
  margin-bottom: 4px;
}
.bevani-ship-info span {
  font-size: 12px;
  color: var(--muted);
}
.bevani-ship-price {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
}
.bevani-ship-empty {
  padding: 18px 22px;
  border: 1px solid var(--border-soft);
  color: var(--muted);
  font-size: 13px;
  font-style: italic;
}

/* ── Order summary sidebar ── */
.bevani-checkout-summary {
  position: sticky;
  top: 100px;
  align-self: start;
  border: 1px solid var(--border-soft);
  background: var(--black2);
  padding: 32px;
  width: 100%;
}
.bevani-checkout-summary .bevani-summary-title {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid var(--border-soft) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Summary item rows (60px image + name + price) */
.bevani-summary-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border-soft);
  align-items: center;
}
.bevani-summary-item:last-of-type {
  border-bottom: none;
  padding-bottom: 18px;
}
.bevani-summary-img {
  width: 60px;
  height: 60px;
  border: 1px solid var(--border-soft);
  background: var(--black);
  position: relative;
  overflow: hidden;
}
.bevani-summary-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.bevani-summary-img img[src*="placeholder"] {
  opacity: 0.3;
  padding: 14px;
}
.bevani-summary-qty {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--gold);
  color: var(--black);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-family: var(--font-body);
}
.bevani-summary-info { min-width: 0; }
.bevani-summary-info .name {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--cream);
  margin-bottom: 2px;
  line-height: 1.3;
  font-weight: 500;
}
.bevani-summary-info .variant {
  font-size: 11px;
  color: var(--muted);
  font-style: italic;
  font-family: var(--font-display);
}
.bevani-summary-price {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--cream);
  white-space: nowrap;
}
.bevani-summary-price .amount {
  font-family: var(--font-display) !important;
  color: var(--cream) !important;
  font-size: 14px !important;
}

/* Subtotal / shipping / tax rows */
.bevani-checkout-summary .bevani-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  font-size: 14px;
  color: var(--cream-dim);
}
.bevani-checkout-summary .bevani-summary-row .label {
  color: var(--muted);
  font-size: 13px;
}
.bevani-checkout-summary .bevani-summary-row.discount,
.bevani-checkout-summary .bevani-summary-row.discount .label {
  color: var(--success) !important;
  font-weight: 500;
}
.bevani-checkout-summary .bevani-summary-divider {
  height: 1px;
  background: var(--border-soft);
  margin: 12px 0;
}
.bevani-checkout-summary .bevani-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0 22px;
}
.bevani-checkout-summary .bevani-summary-total .label {
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
}
.bevani-checkout-summary .bevani-summary-total .value {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 400;
  color: var(--gold);
  line-height: 1;
}
.bevani-checkout-summary .bevani-summary-total .value .amount {
  font-family: var(--font-display) !important;
  color: var(--gold) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
}

/* Place order button */
.bevani-place-order-btn {
  width: 100%;
  background: var(--gold);
  color: var(--black);
  border: 1px solid var(--gold);
  border-radius: 0;
  padding: 18px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s;
}
.bevani-place-order-btn:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

/* Secure note */
.bevani-secure-line {
  margin-top: 16px;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.bevani-secure-line svg {
  width: 12px;
  height: 12px;
  stroke: var(--gold);
  fill: none;
}

/* ── Form fields inside the new checkout ── */
.bevani-checkout-form .form-row {
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
}
.bevani-checkout-form .form-row.form-row-first,
.bevani-checkout-form .form-row.form-row-last {
  width: calc(50% - 10px) !important;
  display: inline-block !important;
  vertical-align: top !important;
}
.bevani-checkout-form .form-row.form-row-first {
  margin-right: 16px !important;
}
.bevani-checkout-form .form-row label {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 500 !important;
  margin: 0 0 10px !important;
  display: block !important;
}
.bevani-checkout-form .required {
  color: var(--danger) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

/* Payment method block (kept as 4-pill grid) */
.bevani-checkout-form #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Hide the WC default order review at bottom of form (we have our own) */
.bevani-checkout-form #order_review_heading,
.bevani-checkout-form > #order_review,
.bevani-checkout-form > .woocommerce-checkout-payment {
  display: none !important;
}

/* Mobile */
@media (max-width: 900px) {
  .bevani-checkout-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 0 22px 80px;
  }
  .bevani-checkout-summary {
    position: static;
    padding: 24px;
  }
  .bevani-checkout-form .form-row.form-row-first,
  .bevani-checkout-form .form-row.form-row-last {
    width: 100% !important;
    display: block !important;
    margin-right: 0 !important;
  }
  .bevani-section-head {
    margin-bottom: 20px;
    padding-bottom: 14px;
  }
  .bevani-section-head h3 {
    font-size: 20px !important;
  }
}

/* ============================================
   ── BEVANI: Checkout select dropdowns (native + select2) ──
   Native selects inherit from the global select rule. Only special-case
   styling for select2 plugin is needed below.
   ============================================ */
body.woocommerce-checkout select option,
.bevani-checkout-form select option {
  background: var(--black2) !important;
  color: var(--cream) !important;
}

/* Select2 (WC uses this for country/state) */
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-container--default {
  width: 100% !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 0 !important;
  height: 50px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  outline: none !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--cream) !important;
  line-height: 50px !important;
  padding: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  background: transparent !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--muted) !important;
  font-style: italic !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 16px !important;
  background: transparent !important;
  border: none !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--gold) transparent transparent transparent !important;
  border-width: 5px 4px 0 4px !important;
}
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--gold) !important;
  outline: none !important;
}

/* Select2 dropdown panel (rendered to body, so global selector) */
.select2-container--default .select2-dropdown,
.select2-container--open .select2-dropdown {
  background: var(--black2) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
}
.select2-container--default .select2-search--dropdown {
  padding: 8px !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--black) !important;
  border: 1px solid var(--border-soft) !important;
  color: var(--cream) !important;
  padding: 8px 12px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  outline: none !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--gold) !important;
}
.select2-container--default .select2-results__option {
  background: var(--black2) !important;
  color: var(--cream-dim) !important;
  padding: 10px 14px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--gold-dim) !important;
  color: var(--gold) !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background: var(--gold) !important;
  color: var(--black) !important;
}

/* Form input/textarea inside the new checkout form */
.bevani-checkout-form input[type="text"],
.bevani-checkout-form input[type="email"],
.bevani-checkout-form input[type="tel"],
.bevani-checkout-form input[type="number"],
.bevani-checkout-form input[type="password"],
.bevani-checkout-form textarea,
.bevani-checkout-form .input-text {
  width: 100% !important;
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 0 !important;
  color: var(--cream) !important;
  padding: 14px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  height: auto !important;
  min-height: 50px !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}
.bevani-checkout-form input:focus,
.bevani-checkout-form textarea:focus,
.bevani-checkout-form .input-text:focus {
  border-color: var(--gold) !important;
}
.bevani-checkout-form input::placeholder,
.bevani-checkout-form textarea::placeholder {
  color: var(--muted) !important;
  font-style: italic !important;
  opacity: 1 !important;
}


/* ============================================
   ── BEVANI: Cart trigger button (header) ──
   Replaces text "Cart (N)" with icon + count + total
   ============================================ */
.bevani-cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 1px solid var(--border-soft);
  color: var(--cream);
  padding: 10px 16px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .05em;
  cursor: pointer;
  border-radius: 0;
  transition: border-color .25s, color .25s;
  line-height: 1;
}
.bevani-cart-trigger:hover {
  border-color: var(--gold);
  color: var(--gold);
}
.bevani-cart-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
}
.bevani-cart-text {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.bevani-cart-sep {
  color: var(--muted);
  font-weight: 300;
  margin: 0 2px;
}
.bevani-cart-total {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--gold);
  font-size: 14px;
}
.bevani-cart-total .amount,
.bevani-cart-total .woocommerce-Price-amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: inherit !important;
}
@media (max-width: 700px) {
  .bevani-cart-trigger {
    padding: 8px 12px;
    font-size: 12px;
    gap: 8px;
  }
  .bevani-cart-icon { width: 16px; height: 16px; }
  /* Hide the total on small screens, keep just count */
  .bevani-cart-trigger .bevani-cart-sep,
  .bevani-cart-trigger .bevani-cart-total {
    display: none;
  }
}

/* ============================================
   ── BEVANI: Cart drawer (slide-in from right) ──
   ============================================ */
.bevani-cart-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 13, 8, 0.6);
  backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
  z-index: 9998;
}
.bevani-cart-drawer-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.bevani-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 460px;
  height: 100vh;
  background: var(--black2);
  border-left: 1px solid var(--border-soft);
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.2, 0, .2, 1);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  box-shadow: -16px 0 48px rgba(0, 0, 0, .5);
}
.bevani-cart-drawer.open {
  transform: translateX(0);
}
body.bevani-drawer-open {
  overflow: hidden;
}

.bevani-cart-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  border-bottom: 1px solid var(--border-soft);
  flex-shrink: 0;
}
.bevani-cart-drawer-head h3 {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--cream);
  font-weight: 400;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}
.bevani-cart-drawer-close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: 6px 8px;
  font-weight: 500;
  transition: color .2s;
}
.bevani-cart-drawer-close:hover {
  color: var(--gold);
}
.bevani-cart-drawer-close svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
}

.bevani-cart-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  scrollbar-width: thin;
  scrollbar-color: var(--gold-dim) transparent;
}
.bevani-cart-drawer-body::-webkit-scrollbar { width: 4px; }
.bevani-cart-drawer-body::-webkit-scrollbar-thumb { background: var(--gold-dim); }

.bevani-cart-drawer-loading {
  padding: 48px 28px;
  text-align: center;
  color: var(--muted);
  font-style: italic;
  font-family: var(--font-display);
  font-size: 14px;
}

/* Drawer items */
.bevani-cart-drawer-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bevani-cart-drawer-item {
  display: grid;
  grid-template-columns: 72px 1fr 24px;
  gap: 16px;
  padding: 20px 28px;
  border-bottom: 1px solid var(--border-soft);
  align-items: center;
  transition: opacity .2s;
}
.bevani-cart-drawer-thumb {
  width: 72px;
  height: 72px;
  background: var(--black);
  border: 1px solid var(--border-soft);
  overflow: hidden;
}
.bevani-cart-drawer-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}
.bevani-cart-drawer-info { min-width: 0; }
.bevani-cart-drawer-name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 500;
  color: var(--cream);
  margin-bottom: 4px;
  line-height: 1.3;
}
.bevani-cart-drawer-name a {
  color: var(--cream) !important;
  text-decoration: none !important;
}
.bevani-cart-drawer-name a:hover { color: var(--gold) !important; }
.bevani-cart-drawer-variant {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 6px;
}
.bevani-cart-drawer-meta {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 14px;
}
.bevani-cart-drawer-meta .qty {
  color: var(--muted);
  font-size: 13px;
}
.bevani-cart-drawer-meta .price {
  color: var(--gold);
  font-weight: 500;
}
.bevani-cart-drawer-meta .price .amount,
.bevani-cart-drawer-meta .price .woocommerce-Price-amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
}
.bevani-cart-drawer-remove {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted) !important;
  font-size: 20px;
  text-decoration: none !important;
  transition: color .2s;
  font-family: sans-serif;
}
.bevani-cart-drawer-remove:hover {
  color: var(--danger) !important;
}

/* Drawer footer (subtotal + actions) */
.bevani-cart-drawer-foot {
  border-top: 1px solid var(--border-soft);
  padding: 24px 28px;
  flex-shrink: 0;
  background: var(--black);
}
.bevani-cart-drawer-foot:empty { display: none; }
.bevani-cart-drawer-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 18px;
}
.bevani-cart-drawer-subtotal > span:first-child {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}
.bevani-cart-drawer-subtotal .amt {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--gold);
  font-weight: 400;
}
.bevani-cart-drawer-subtotal .amt .amount,
.bevani-cart-drawer-subtotal .amt .woocommerce-Price-amount {
  color: var(--gold) !important;
  font-family: var(--font-display) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
}
.bevani-cart-drawer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.bevani-cart-drawer-btn {
  display: block;
  text-align: center;
  padding: 14px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 0;
  transition: all .2s;
  cursor: pointer;
}
.bevani-cart-drawer-btn.ghost {
  background: transparent;
  color: var(--gold) !important;
  border: 1px solid var(--gold);
}
.bevani-cart-drawer-btn.ghost:hover {
  background: var(--gold-dim);
}
.bevani-cart-drawer-btn.primary {
  background: var(--gold);
  color: var(--black) !important;
  border: 1px solid var(--gold);
}
.bevani-cart-drawer-btn.primary:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

/* Drawer empty state */
.bevani-cart-drawer-empty {
  text-align: center;
  padding: 64px 36px;
}
.bevani-cart-drawer-empty .bevani-cart-empty-icon {
  width: 72px;
  height: 72px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  color: var(--gold);
}
.bevani-cart-drawer-empty .bevani-cart-empty-icon svg {
  width: 32px;
  height: 32px;
}
.bevani-cart-drawer-empty h4 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 300;
  color: var(--cream);
  margin: 0 0 12px;
}
.bevani-cart-drawer-empty h4 em {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.bevani-cart-drawer-empty p {
  font-size: 14px;
  color: var(--cream-dim);
  margin: 0 0 28px;
  line-height: 1.6;
}
.bevani-cart-drawer-cta {
  display: inline-block;
  background: var(--gold);
  color: var(--black) !important;
  padding: 14px 28px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid var(--gold);
  transition: background .2s;
}
.bevani-cart-drawer-cta:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

/* Mobile: full-width drawer */
@media (max-width: 500px) {
  .bevani-cart-drawer {
    max-width: 100%;
  }
  .bevani-cart-drawer-item {
    padding: 16px 20px;
    grid-template-columns: 60px 1fr 24px;
    gap: 12px;
  }
  .bevani-cart-drawer-thumb { width: 60px; height: 60px; }
  .bevani-cart-drawer-head, .bevani-cart-drawer-foot { padding: 20px; }
}

/* ============================================
   ── BEVANI: "You may be interested in" — cart recommendations ──
   ============================================ */
.bevani-cart-recommended {
  max-width: 1240px;
  margin: 64px auto 0;
  padding: 0 36px;
}
.bevani-cart-recommended-head {
  margin-bottom: 36px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-soft);
}
.bevani-cart-recommended-head h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  color: var(--cream);
  margin: 0;
  letter-spacing: -.005em;
  text-transform: none;
}
.bevani-cart-recommended-head h2 em {
  font-style: italic;
  color: var(--gold);
}
.bevani-cart-recommended-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 700px) {
  .bevani-cart-recommended {
    padding: 0 22px;
    margin-top: 48px;
  }
  .bevani-cart-recommended-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

/* ── Account page: switch between login & register ── */
.bevani-account-switch {
  text-align: center;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border-soft);
  font-size: 12px;
  color: var(--cream-dim);
  font-family: var(--font-body);
  font-weight: 300;
}
.bevani-account-switch a {
  color: var(--gold) !important;
  text-decoration: none !important;
  font-weight: 500;
  margin-left: 6px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 1px;
  transition: color .2s, border-color .2s;
}
.bevani-account-switch a:hover {
  color: var(--gold-light) !important;
  border-color: var(--gold);
}

/* ── Soft "Sign in" prompt under cart's checkout button ── */
.bevani-checkout-soft-prompt {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border-soft);
  background: var(--black);
  font-size: 12px;
  color: var(--muted);
  text-align: center;
  font-family: var(--font-body);
  letter-spacing: .02em;
  line-height: 1.5;
}
.bevani-checkout-soft-prompt a {
  color: var(--gold) !important;
  text-decoration: none !important;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
  padding-bottom: 1px;
  margin: 0 2px;
}
.bevani-checkout-soft-prompt a:hover {
  color: var(--gold-light) !important;
  border-color: var(--gold);
}

/* ── Compliance fields on checkout (Intended use + age confirm) ── */
.bevani-checkout-compliance {
  margin-top: 24px;
  padding: 22px 24px;
  border: 1px solid var(--border-soft);
  border-left: 3px solid var(--gold);
  background: var(--black2);
}
.bevani-checkout-compliance .form-row {
  margin: 0 0 18px !important;
}
.bevani-checkout-compliance label {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 500 !important;
  margin: 0 0 10px !important;
  display: block !important;
}
.bevani-checkout-compliance .bevani-checkbox-row {
  margin: 0 !important;
  text-transform: none;
  letter-spacing: 0;
}
.bevani-checkout-compliance .bevani-checkbox-row span {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--cream-dim) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.55 !important;
}

/* Select inside register form — handled by global select rule above.
   Just preserve focus state for the account card context. */
.bevani-account-card select:focus {
  border-color: var(--gold) !important;
}

/* Register form's compliance checkbox row */
.bevani-account-card .bevani-checkbox-row {
  margin: 6px 0 22px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.bevani-account-card .bevani-checkbox-row span {
  font-size: 12px !important;
  color: var(--cream-dim) !important;
  line-height: 1.55 !important;
  font-weight: 300 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ============================================
   ── BEVANI: My Account — split-screen login/register ──
   Full-bleed: image left, form right.
   ============================================ */

/* Full-bleed wrapper for logged-out account page */
main.bevani-full-bleed {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
main.bevani-full-bleed > article,
main.bevani-full-bleed > article > .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}


/* ════════════════════════════════════════════════════════════════════
   ── BEVANI: AUDIT FIXES (v1.10.59) ──
   Comprehensive pass on WooCommerce default elements that were either
   unstyled or rendering with WC's pink/blue default colors:

   1. Password strength meter (very-weak / weak / good / strong)
   2. Password hint paragraph
   3. Field-level validation error/success states
   4. Focus-visible accessibility rings
   5. Coupon field (cart + checkout)
   6. Radio buttons (shipping methods, payment methods)
   7. Checkbox styling refinement
   8. Empty-state cart message
   9. Payment methods box
   10. Disabled button states
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. Password strength meter ──
   WC outputs <div class="woocommerce-password-strength short|bad|good|strong">
   with a colored label like "Very weak — Please enter a stronger password"
   By default it has a pink/red bg that doesn't match the brand. */
.woocommerce-password-strength {
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  padding: 8px 12px !important;
  margin: 6px 0 0 !important;
  border-left: 3px solid !important;
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--cream-dim) !important;
  border-radius: 0 !important;
  text-align: left !important;
}
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
  border-left-color: #E85C5C !important;
  background: rgba(232, 92, 92, 0.08) !important;
  color: #F4DADA !important;
}
.woocommerce-password-strength.good {
  border-left-color: var(--gold) !important;
  background: rgba(201, 169, 97, 0.08) !important;
  color: var(--gold-light) !important;
}
.woocommerce-password-strength.strong {
  border-left-color: var(--success) !important;
  background: rgba(107, 158, 110, 0.10) !important;
  color: #B5D4B7 !important;
}

/* ── 2. Password hint paragraph ──
   Small helper text below password fields. */
.woocommerce-password-hint,
.password-hint {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: var(--muted) !important;
  margin: 8px 0 0 !important;
  font-style: italic !important;
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
}

/* ── 3. Field-level validation states ──
   When checkout/registration validates and a field is wrong,
   WC adds .woocommerce-invalid; on success, .woocommerce-validated. */
.woocommerce-invalid input.input-text,
.woocommerce-invalid select,
.woocommerce-invalid input[type="text"],
.woocommerce-invalid input[type="email"],
.woocommerce-invalid input[type="tel"],
.woocommerce-invalid input[type="password"] {
  border-color: #E85C5C !important;
  background: rgba(232, 92, 92, 0.04) !important;
}
.woocommerce-validated input.input-text,
.woocommerce-validated select {
  border-color: var(--success) !important;
}
/* Inline error messages right under fields */
.woocommerce-error-message,
span.woocommerce-error,
small.woocommerce-error {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: .05em !important;
  color: #E85C5C !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  font-family: var(--font-body) !important;
}

/* ── 4. Focus-visible accessibility rings ──
   Outline only when navigating via keyboard, not on mouse click.
   Critical for accessibility compliance. */
*:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 2px !important;
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201, 169, 97, 0.15) !important;
}
button:focus-visible,
.btn-primary:focus-visible,
.btn-ghost:focus-visible,
a.button:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 3px !important;
}

/* Suppress focus outlines on notice containers. WC programmatically
   focuses error/info notices for screen-reader announcement, but the
   notice already has its own colored border + bg. The default gold
   focus ring on top creates visual noise that disappears once the
   user clicks anywhere (focus moves), making the page look glitchy. */
.woocommerce-notices-wrapper:focus,
.woocommerce-notices-wrapper:focus-visible,
.woocommerce-notices-wrapper *:focus,
.woocommerce-notices-wrapper *:focus-visible,
.woocommerce-error:focus,
.woocommerce-error:focus-visible,
.woocommerce-message:focus,
.woocommerce-message:focus-visible,
.woocommerce-info:focus,
.woocommerce-info:focus-visible,
.woocommerce-NoticeGroup:focus,
.woocommerce-NoticeGroup:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ── 5. Coupon field (cart + checkout) ──
   "Coupon code" input + "Apply coupon" button, side-by-side. */
.coupon,
.checkout_coupon,
form.checkout_coupon {
  display: flex !important;
  gap: 10px !important;
  align-items: stretch !important;
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  padding: 16px !important;
  margin: 0 0 24px !important;
  flex-wrap: wrap;
}
.coupon input.input-text,
.checkout_coupon input.input-text,
form.checkout_coupon input[type="text"] {
  flex: 1 !important;
  min-width: 200px !important;
  background: var(--black) !important;
  border: 1px solid var(--border) !important;
  padding: 12px 14px !important;
  color: var(--cream) !important;
  font-size: 13px !important;
  letter-spacing: .04em;
}
.coupon button[type="submit"],
.checkout_coupon button[type="submit"],
form.checkout_coupon button[type="submit"] {
  flex-shrink: 0 !important;
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  padding: 12px 22px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s, color .2s !important;
  border-radius: 0 !important;
}
.coupon button[type="submit"]:hover,
.checkout_coupon button[type="submit"]:hover,
form.checkout_coupon button[type="submit"]:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}
/* "Have a coupon? Click here to enter code" link above checkout coupon */
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: rgba(201, 169, 97, 0.04) !important;
}
.woocommerce-form-coupon-toggle a {
  color: var(--gold) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(201, 169, 97, 0.3);
}
.woocommerce-form-coupon-toggle a:hover { color: var(--gold-light) !important; }

/* ── 6. Radio buttons ──
   Native radio + accent-color. Same reasoning as checkboxes:
   pseudo-element rendering on <input> is unreliable across browsers.
   Used for shipping methods, payment methods, etc. */
input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  accent-color: var(--gold) !important;
  cursor: pointer !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
input[type="radio"]:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 2px !important;
}
/* Radio label spacing (shipping methods, payment methods etc.) */
.shipping_method + label,
.payment_box label,
input[type="radio"] + label {
  cursor: pointer;
  vertical-align: middle;
  font-size: 14px;
  color: var(--cream);
}

/* ── 7. Checkbox styling ──
   Use native checkbox + accent-color. The custom appearance:none +
   ::after approach is unreliable across browsers because <input> is
   a "replaced element" and pseudo-elements often don't render on it.
   Native + accent-color is universally supported and gives us a
   gold-tinted checkbox with proper checked-state visual feedback. */
input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  accent-color: var(--gold) !important;
  cursor: pointer !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 2px !important;
}

/* ── 8. Empty cart message ──
   When user has nothing in their cart, WC outputs .cart-empty. */
.cart-empty,
.woocommerce .cart-empty.woocommerce-info {
  text-align: center !important;
  padding: 56px 24px !important;
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  border-left: 4px solid var(--gold) !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  color: var(--cream) !important;
}
.return-to-shop {
  text-align: center !important;
  margin-top: 24px !important;
}
.return-to-shop .button {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: 1px solid var(--gold) !important;
  padding: 14px 28px !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  border-radius: 0 !important;
}
.return-to-shop .button:hover {
  opacity: .92 !important;
}

/* ── 9. Payment methods box (checkout) ──
   List of payment options + their description boxes. */
.woocommerce-checkout #payment,
.woocommerce-checkout-payment {
  background: var(--black2) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 0 !important;
}
.wc_payment_methods,
ul.wc_payment_methods {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.wc_payment_method,
li.wc_payment_method {
  border-bottom: 1px solid var(--border-soft) !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
.wc_payment_method:last-child {
  border-bottom: none !important;
}
.wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  padding: 18px 22px !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.wc_payment_method label img {
  margin-left: 10px !important;
  max-height: 24px !important;
  vertical-align: middle;
}
.payment_box {
  background: var(--black) !important;
  border: 1px solid var(--border-soft) !important;
  border-left: 3px solid var(--gold) !important;
  margin: 0 22px 18px !important;
  padding: 18px 22px !important;
  font-size: 13px !important;
  color: var(--cream-dim) !important;
  line-height: 1.6 !important;
}
.payment_box::before {
  display: none !important;
}
.payment_box p:first-child {
  margin-top: 0 !important;
}
.payment_box p:last-child {
  margin-bottom: 0 !important;
}

/* ── 10. Disabled button state ──
   Currently any button:disabled looks broken/muted-olive. Make it
   clearly visually disabled but consistent with the brand. */
button:disabled,
button[disabled],
button.disabled,
.button:disabled,
.button[disabled],
.button.disabled,
input[type="submit"]:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  background: var(--gold) !important;
  color: var(--black) !important;
  border-color: var(--gold) !important;
}
button:disabled:hover,
.button:disabled:hover {
  opacity: 0.45 !important;
}
/* WC's wc-variation-selection-needed (Add-to-Cart on variable products
   before user picks a variant) — same disabled feel. */
.single_add_to_cart_button.wc-variation-selection-needed {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ── BONUS: shipping_method radio in checkout ──
   The shipping method is a single-line list of radios at checkout.
   Ensure spacing reads well. */
ul#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
ul#shipping_method li {
  padding: 8px 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}
ul#shipping_method li label {
  cursor: pointer;
  margin: 0;
  font-size: 14px;
  color: var(--cream);
}
