/* =====================================================================
   VooDoo — premium WooCommerce styling (Astra child)
   Applies the demo look to REAL WooCommerce archive + single templates.
   ===================================================================== */
:root{
  --vd-y:#F4C400; --vd-y2:#FFB424; --vd-cy:#0E9CB2; --vd-pk:#E5397F; --vd-gr:#179A5A;
  --vd-tx:#15141E; --vd-sec:#54526A; --vd-mut:#8C8AA2; --vd-line:rgba(20,22,48,.10);
  --vd-surface:#fff; --vd-inset:#EDF1F8;
  --vd-sh:0 8px 26px rgba(24,30,70,.08); --vd-shl:0 18px 44px rgba(24,30,70,.12);
  --vd-head:'Unbounded',sans-serif; --vd-body:'Manrope',sans-serif;
}

/* ---- Astra HEADER -> light premium, sticky, sized logo ----------- */
#masthead,.site-header,.ast-primary-header-bar,.main-header-bar,
.site-primary-header-wrap,.ast-above-header-wrap,.ast-below-header-wrap{
  background:rgba(255,255,255,.92) !important;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
.ast-primary-header-bar,.main-header-bar{
  border-bottom:1px solid var(--vd-line) !important;
  box-shadow:0 1px 0 rgba(20,22,48,.03),0 6px 24px rgba(24,30,70,.05) !important;
}
/* logo: transparent light version on a soft dark gradient plate (readability) */
.site-logo-img .custom-logo,.ast-site-identity img.custom-logo,.custom-logo-link img{
  max-height:74px !important; height:74px !important; width:auto !important;
  box-sizing:border-box; padding:8px 16px;
  background:radial-gradient(120% 160% at 30% 20%,#2A2833 0%,#15141E 55%,#0C0B12 100%);
  border-radius:16px; box-shadow:0 8px 22px rgba(20,22,48,.22);
}
/* same plate for the custom pages' logo (header/age-gate) — theme CSS loads site-wide */
.vd-root header .logo-img,.vd-root .mm-top .logo-img,.vd-root .agelogo-img{
  box-sizing:border-box; padding:8px 16px !important;
  background:radial-gradient(120% 160% at 30% 20%,#2A2833 0%,#15141E 55%,#0C0B12 100%);
  border-radius:16px; box-shadow:0 8px 22px rgba(20,22,48,.22);
}
/* footer logos already sit on dark plates — just round them */
.vd-flogo,.vd-root footer .logo-img{ border-radius:14px; }
/* menu typography: cleaner, airier */
#masthead .main-header-menu a,.ast-builder-menu-1 .menu-item > a,
.main-header-menu .menu-link,.ast-header-navigation-wrap .menu-item > a{
  color:var(--vd-sec) !important; font-family:var(--vd-body) !important;
  font-weight:600 !important; font-size:15px !important; letter-spacing:.01em !important;
}
.main-header-menu{ column-gap:8px; }
.main-header-menu > .menu-item > .menu-link{ padding:0 15px !important; }
/* clear separation between nav links and utility cluster */
.main-header-menu .vd-hdr-lang{ margin-left:26px; }
.main-header-menu .vd-hdr-item + .vd-hdr-item{ margin-left:12px; }
#masthead .main-header-menu a:hover,.ast-builder-menu-1 .menu-item > a:hover,
.ast-builder-menu-1 .current-menu-item > a{ color:var(--vd-cy) !important; }
#masthead .ast-header-social-1-wrap a,.ast-header-account-wrap a{ color:var(--vd-tx) !important; }
/* hide Astra's generic social icons in header */
#masthead .ast-header-social-1-wrap{ display:none !important; }

/* header utility items (Кабінет / cart / 18+ / UA-RU) added to primary menu */
.main-header-menu .vd-hdr-item,.ast-nav-menu .vd-hdr-item{ display:flex; align-items:center; }
.main-header-menu .vd-hdr-item > a,.ast-nav-menu .vd-hdr-item > a{ display:flex; align-items:center; gap:7px; }
.vd-hdr-item .ti{ font-size:19px; }
.vd-hdr-account > a{ border:1px solid var(--vd-line); border-radius:11px; padding:9px 15px !important; color:var(--vd-tx) !important; font-family:var(--vd-head); font-weight:600; font-size:13px; }
.vd-hdr-account > a:hover{ border-color:var(--vd-cy); color:var(--vd-cy) !important; }
.vd-hdr-cart > a{ position:relative; width:44px; height:44px; border-radius:11px; background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)); color:#241A00 !important; justify-content:center; box-shadow:0 6px 16px rgba(244,196,0,.35); }
.vd-hdr-cart .vd-cart-count{ position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; border-radius:999px; background:#15141E; color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; padding:0 5px; }
.vd-hdr-18 .vd-b18{ background:var(--vd-y); color:#241A00; font-family:var(--vd-head); font-weight:700; font-size:13px; padding:8px 12px; border-radius:10px; }
.vd-hdr-lang .vd-lang{ display:inline-flex; background:#FFF3C4; border-radius:999px; padding:3px; gap:2px; }
.vd-hdr-lang .vd-lang b{ font-family:var(--vd-head); font-size:12px; font-weight:700; color:var(--vd-sec); padding:5px 11px; border-radius:999px; cursor:pointer; }
.vd-hdr-lang .vd-lang b.on{ background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)); color:#241A00; }
@media(max-width:921px){ .vd-hdr-item{ display:none !important; } }

/* ---- Base + full-width + premium background ---------------------- */
body.woocommerce,body.woocommerce-page,
body.single-product,body.post-type-archive-product,body.tax-product_cat{
  font-family:var(--vd-body); color:var(--vd-tx);
  background:radial-gradient(1000px 640px at 90% -6%,rgba(244,196,0,.10),transparent 70%),
    radial-gradient(760px 560px at 0% 18%,rgba(14,156,178,.08),transparent 72%),
    linear-gradient(168deg,#FFFFFF,#F3F5FA 58%,#E9EEF7) fixed !important;
}
.woocommerce .ast-container,.woocommerce-page .ast-container,
.single-product .ast-container,.post-type-archive-product .ast-container,.tax-product_cat .ast-container{
  max-width:1520px !important;
}
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.product_title,.woocommerce-loop-product__title,.woocommerce-products-header__title{
  font-family:var(--vd-head) !important; letter-spacing:-.5px;
}
.woocommerce a{ text-decoration:none; }

/* ---- Breadcrumb -------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb{
  font-size:13px; color:var(--vd-mut); margin-bottom:14px;
}
.woocommerce .woocommerce-breadcrumb a{ color:var(--vd-sec); }

/* ---- Buttons (brand yellow pill) -------------------------------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .single_add_to_cart_button,
.woocommerce ul.products li.product .button,.wp-block-button__link{
  font-family:var(--vd-head) !important; font-weight:700 !important;
  color:#241A00 !important; background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)) !important;
  border:none !important; border-radius:13px !important; padding:14px 24px !important;
  box-shadow:0 8px 22px rgba(244,196,0,.32) !important; transition:transform .18s,box-shadow .18s !important;
  text-transform:none !important; letter-spacing:0 !important; line-height:1.2 !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,.woocommerce ul.products li.product .button:hover{
  transform:translateY(-2px); box-shadow:0 12px 30px rgba(244,196,0,.46) !important;
}
.woocommerce .button.alt.disabled,.woocommerce .single_add_to_cart_button.disabled{
  opacity:.45 !important; cursor:not-allowed; box-shadow:none !important;
}

/* =====================================================================
   ARCHIVE / CATALOG — 4-up premium cards
   ===================================================================== */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid !important; gap:18px !important; margin:0 !important;
  grid-template-columns:repeat(4,1fr);
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  width:auto !important; margin:0 !important; padding:14px !important; float:none !important;
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px;
  box-shadow:var(--vd-sh); display:flex; flex-direction:column;
  transition:transform .22s,border-color .22s,box-shadow .22s;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px); border-color:rgba(14,156,178,.45); box-shadow:var(--vd-shl);
}
.woocommerce ul.products li.product a img{
  border-radius:13px; margin-bottom:12px; background:var(--vd-inset); aspect-ratio:1/1; object-fit:cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--vd-body) !important; font-size:15px; font-weight:700; color:var(--vd-tx);
  padding:2px 0 6px !important; line-height:1.3;
}
.woocommerce ul.products li.product .price{
  font-family:var(--vd-head) !important; font-weight:800 !important; font-size:18px !important; color:var(--vd-tx) !important;
}
.woocommerce ul.products li.product .price del{ color:var(--vd-mut); font-weight:500; opacity:1; margin-right:6px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{ margin-top:auto; text-align:center; }
.woocommerce .star-rating span::before,.woocommerce p.stars a::before{ color:#F2B400; }

/* onsale / badges */
.woocommerce span.onsale{
  font-family:var(--vd-head); font-size:11px; font-weight:700; color:#241A00; background:var(--vd-y);
  border-radius:8px; padding:5px 10px; min-height:0; min-width:0; line-height:1; top:12px; left:12px; margin:0;
}
.woocommerce ul.products li.product{ position:relative; }

.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{ color:var(--vd-sec); }
.woocommerce .woocommerce-ordering select{ border:1px solid var(--vd-line); border-radius:11px; padding:8px 12px; }

/* =====================================================================
   SINGLE PRODUCT — premium two-column
   ===================================================================== */
.single-product div.product{
  display:grid; grid-template-columns:1fr 1.05fr; gap:40px; align-items:start;
}
.single-product div.product .woocommerce-product-gallery{
  width:100% !important; margin:0 !important; float:none !important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image{
  border-radius:20px; overflow:hidden; background:var(--vd-inset); box-shadow:var(--vd-sh);
}
.single-product .woocommerce-product-gallery__image img{ border-radius:20px; }
.single-product .flex-control-thumbs{ margin-top:12px; display:flex; gap:10px; }
.single-product .flex-control-thumbs li{ width:74px !important; }
.single-product .flex-control-thumbs img{ border-radius:11px; border:1px solid var(--vd-line); }

.single-product div.product .entry-summary,.single-product div.product .summary{
  margin:0 !important; width:auto !important; float:none !important;
}
.single-product .product_title{
  font-size:clamp(26px,3vw,38px) !important; font-weight:900 !important; letter-spacing:-.8px; margin:6px 0 10px;
}
.single-product .woocommerce-product-rating{ margin-bottom:12px; }
.single-product .entry-summary .price,.single-product div.product p.price{
  font-family:var(--vd-head) !important; font-weight:800 !important; font-size:32px !important; color:var(--vd-tx) !important;
  margin:6px 0 18px !important;
}
.single-product .entry-summary .price del{ font-size:18px; color:var(--vd-mut); font-weight:500; margin-right:10px; }
.single-product .entry-summary .price ins{ text-decoration:none; }
.single-product .woocommerce-product-details__short-description{
  color:var(--vd-sec); font-size:15px; line-height:1.6; margin-bottom:18px;
}
.single-product .product_meta{ font-size:12.5px; color:var(--vd-mut); margin-top:16px; }

/* quantity + add to cart row */
.single-product form.cart{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:8px 0 6px; }
.single-product form.cart .quantity input.qty{
  width:64px; height:52px; border:1px solid var(--vd-line); border-radius:12px; text-align:center; font-weight:700;
}
.single-product .single_add_to_cart_button{ flex:1; min-width:200px; height:52px; }

/* =====================================================================
   FLAVOUR IMAGE SWATCHES (built by voodoo-woo.js from variation images)
   ===================================================================== */
.single-product .vd-sw-label{
  display:block; width:100%; clear:both;
  font-family:var(--vd-head); font-size:13px; font-weight:700; color:var(--vd-tx); margin:14px 0 10px;
}
.vd-swatches{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:10px; margin:0 0 20px;
}
.vd-sw{
  border:1px solid var(--vd-line); border-radius:14px; padding:8px 8px 9px; cursor:pointer;
  background:var(--vd-surface); text-align:center; transition:transform .16s,box-shadow .16s,border-color .16s;
  font-family:var(--vd-body); display:flex; flex-direction:column; align-items:stretch;
}
.vd-sw:hover{ transform:translateY(-2px); box-shadow:var(--vd-sh); }
.vd-sw-img{
  height:62px; border-radius:10px; overflow:hidden; background:var(--vd-inset);
  display:grid; place-items:center; margin-bottom:7px;
}
.vd-sw-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.vd-sw-img i{ font-size:26px; color:var(--vd-mut); }
.vd-sw-name{ font-size:11px; font-weight:600; line-height:1.2; color:var(--vd-sec); }
.vd-sw.active{ border-color:var(--vd-y); box-shadow:0 0 0 2px rgba(244,196,0,.45); }
.vd-sw.active .vd-sw-name{ color:var(--vd-tx); }
/* hide the original flavour <select> row (kept for WC logic) */
.single-product tr.vd-attr-hidden{ display:none !important; }
/* keep other single-option attribute rows tidy / hidden if auto-selected */
.single-product .variations{ margin-bottom:8px; }
.single-product .variations td.label{ font-family:var(--vd-head); font-size:13px; }
.single-product .woocommerce-variation-add-to-cart{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.single-product .reset_variations{ font-size:12px; color:var(--vd-cy); }

/* trust badges */
.vd-trust{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0 6px; }
.vd-trust > div{
  display:flex; align-items:center; gap:9px; background:var(--vd-surface); border:1px solid var(--vd-line);
  border-radius:13px; padding:11px 12px; box-shadow:var(--vd-sh); font-size:11.5px; color:var(--vd-sec); font-weight:600;
}
.vd-trust i{ font-size:20px; color:var(--vd-cy); }
.vd-legal{ font-size:11.5px; color:var(--vd-mut); margin-top:14px; line-height:1.5; }
.vd-legal i{ color:var(--vd-y2); vertical-align:-2px; }

/* =====================================================================
   TABS -> clean cards
   ===================================================================== */
.woocommerce-tabs{ margin-top:40px; }
.woocommerce-tabs ul.tabs{ border:none; padding:0; margin-bottom:14px; }
.woocommerce-tabs ul.tabs::before{ border-color:var(--vd-line); }
.woocommerce-tabs ul.tabs li{
  background:var(--vd-surface); border:1px solid var(--vd-line) !important; border-radius:12px !important;
  margin:0 8px 8px 0; padding:0; box-shadow:var(--vd-sh);
}
.woocommerce-tabs ul.tabs li.active{ border-color:var(--vd-y) !important; background:#FFF7DA; }
.woocommerce-tabs ul.tabs li a{ font-family:var(--vd-head); font-size:14px; font-weight:600; }
.woocommerce-tabs .panel{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:16px; padding:24px; box-shadow:var(--vd-sh);
}
.woocommerce-Tabs-panel h2{ font-size:19px; }
.woocommerce table.shop_attributes th{ color:var(--vd-tx); }

/* related products heading */
.related.products > h2,.up-sells > h2{ font-family:var(--vd-head); font-weight:800; margin-top:36px; }
.related.products ul.products{ grid-template-columns:repeat(4,1fr); }

/* =====================================================================
   CART / CHECKOUT polish (don't break, just prettify)
   ===================================================================== */
.woocommerce table.shop_table{ border-radius:14px; border:1px solid var(--vd-line); overflow:hidden; }
.woocommerce .cart_totals,.woocommerce-checkout #payment{ border-radius:14px; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,.select2-container--default .select2-selection--single{
  border:1px solid var(--vd-line) !important; border-radius:11px !important; min-height:46px;
}
.woocommerce-message,.woocommerce-info{ border-top-color:var(--vd-y) !important; border-radius:11px; background:#FFF7DA; }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--vd-y2); }

/* =====================================================================
   MY ACCOUNT — sidebar (profile + card menu) + content cards
   ===================================================================== */
.woocommerce-account .woocommerce{
  display:grid; grid-template-columns:300px 1fr; gap:0 24px; align-items:start;
}
/* profile card sits ABOVE the menu in the left column; content spans right */
.woocommerce-account .vd-aprofile{ grid-column:1; }
.woocommerce-account .woocommerce-MyAccount-navigation{ grid-column:1; }
.woocommerce-account .woocommerce-MyAccount-content{ grid-column:2; grid-row:1 / span 2; }
/* tighter, neater page title */
.woocommerce-account .entry-title,.woocommerce-account h1.entry-title,
.woocommerce-account .ast-archive-title{ font-size:34px !important; margin:0 0 22px !important; }
.woocommerce-account #primary{ padding-top:18px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{ width:auto !important; float:none !important; margin:0 !important; }
.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:26px; box-shadow:var(--vd-sh);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{ font-family:var(--vd-head); }

/* profile card (injected via functions.php) */
.vd-aprofile{
  display:flex; align-items:center; gap:12px; background:var(--vd-surface); border:1px solid var(--vd-line);
  border-radius:16px; padding:14px 16px; box-shadow:var(--vd-sh); margin-bottom:14px;
}
.vd-av{
  width:48px; height:48px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)); color:#241A00; font-family:var(--vd-head); font-weight:800; font-size:20px;
}
.vd-aprofile b{ font-family:var(--vd-head); font-size:15px; display:block; line-height:1.2; }
.vd-aprofile small{ color:var(--vd-mut); font-size:12px; word-break:break-all; }

/* nav as card links */
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.woocommerce-MyAccount-navigation ul li{ margin:0; border:none; }
.woocommerce-MyAccount-navigation ul li a{
  display:flex; align-items:center; gap:10px; padding:13px 16px; border-radius:12px;
  background:var(--vd-surface); border:1px solid var(--vd-line); box-shadow:var(--vd-sh);
  font-family:var(--vd-head); font-size:14px; font-weight:600; color:var(--vd-sec); transition:.15s;
}
.woocommerce-MyAccount-navigation ul li a i.ti{ font-size:19px; color:var(--vd-cy); line-height:1; }
.woocommerce-MyAccount-navigation ul li a:hover{ border-color:rgba(14,156,178,.4); color:var(--vd-tx); transform:translateX(2px); }
.woocommerce-MyAccount-navigation ul li.is-active a{
  background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)); color:#241A00; border-color:transparent;
}
.woocommerce-MyAccount-navigation ul li.is-active a i.ti{ color:#241A00; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a i.ti{ color:var(--vd-pk); }

/* dashboard section headings */
.woocommerce-account .vd-sec-h{ font-family:var(--vd-head); font-size:22px; font-weight:800; margin:0 0 14px; }
.woocommerce-account .vd-sec-h.vd-mt{ margin-top:30px; }
.woocommerce-account .vd-note{ font-size:12.5px; color:var(--vd-mut); margin:10px 0 0; line-height:1.5; }
.woocommerce-account .vd-note i{ color:var(--vd-y2); vertical-align:-2px; }

/* loyalty card */
.vd-loyalty{
  position:relative; border-radius:20px; padding:26px;
  background:radial-gradient(600px 300px at 90% -20%,rgba(255,180,36,.5),transparent 70%),linear-gradient(135deg,#FFF3C4,#FFE68A);
  border:1px solid rgba(244,196,0,.5); box-shadow:0 14px 40px rgba(244,196,0,.22); overflow:hidden;
}
.vd-lz-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.vd-lz-bonus{ font-family:var(--vd-head); font-size:46px; font-weight:900; color:#241A00; line-height:1; }
.vd-lz-bonus small{ font-family:var(--vd-body); font-size:15px; font-weight:700; margin-left:6px; }
.vd-lz-cap{ font-size:13px; color:#5A4A10; margin-top:8px; }
.vd-lz-cap b{ color:#241A00; }
.vd-lz-tier{ font-family:var(--vd-head); font-weight:800; font-size:14px; color:#241A00; background:#fff; border-radius:999px; padding:9px 16px; box-shadow:0 6px 16px rgba(244,196,0,.4); white-space:nowrap; }
.vd-lz-bar{ height:12px; border-radius:999px; background:rgba(255,255,255,.65); margin:20px 0 8px; overflow:hidden; }
.vd-lz-bar i{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#FF9F1C,#F4C400); }
.vd-lz-steps{ display:flex; justify-content:space-between; font-size:12px; color:#5A4A10; }
.vd-lz-steps b{ color:#241A00; }
.vd-lz-foot{ display:flex; align-items:center; gap:14px; margin-top:18px; flex-wrap:wrap; }
.vd-lz-how{ font-family:var(--vd-head); font-weight:700; font-size:13px; color:#241A00; background:#fff; border:1px solid rgba(20,22,48,.08); padding:12px 18px; border-radius:12px; display:inline-flex; align-items:center; gap:7px; }

/* my data card */
.vd-infocard{ position:relative; background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:16px; padding:22px; box-shadow:var(--vd-sh); }
.vd-inforow{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.vd-f small{ display:block; color:var(--vd-mut); font-size:12px; margin-bottom:4px; }
.vd-f b{ font-family:var(--vd-head); font-size:15px; }
.vd-edit{ position:absolute; top:18px; right:18px; font-size:13px; color:var(--vd-cy); font-weight:600; }

/* communications toggles */
.vd-comm{ background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:16px; padding:8px 22px; box-shadow:var(--vd-sh); }
.vd-comm-row{ display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--vd-line); cursor:pointer; }
.vd-comm-row:last-of-type{ border-bottom:none; }
.vd-comm-row > span:first-child{ flex:1; }
.vd-comm-row b{ font-family:var(--vd-head); font-size:14.5px; display:block; }
.vd-comm-row small{ color:var(--vd-mut); font-size:12.5px; }
.vd-comm-row input{ position:absolute; opacity:0; width:0; height:0; }
.vd-switch{ width:48px; height:28px; border-radius:999px; background:#D3D7E2; position:relative; transition:.2s; flex:none; }
.vd-switch::after{ content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.vd-comm-row input:checked ~ .vd-switch{ background:var(--vd-cy); }
.vd-comm-row input:checked ~ .vd-switch::after{ transform:translateX(20px); }
.vd-comm-save{ margin:16px 0; }

/* ---- Orders as cards ---- */
.vd-orders{ display:flex; flex-direction:column; gap:16px; }
.vd-ordercard{ background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:20px 22px; box-shadow:var(--vd-sh); }
.vd-order-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.vd-onum{ font-family:var(--vd-head); font-size:17px; font-weight:800; }
.vd-odate{ font-size:12.5px; color:var(--vd-mut); margin-top:3px; }
.vd-odate .amount{ color:var(--vd-tx); font-weight:700; }
.vd-status{ font-family:var(--vd-head); font-size:12px; font-weight:700; padding:7px 13px; border-radius:999px; white-space:nowrap; }
.vd-status.st-done{ background:#E2F6EC; color:#127A48; }
.vd-status.st-proc{ background:#E0F4F8; color:#0E7A8C; }
.vd-status.st-wait{ background:#FFF3C4; color:#8A6D00; }
.vd-status.st-bad{ background:#FDE7F0; color:#B4236A; }
.vd-order-items{ display:flex; gap:12px; flex-wrap:wrap; margin:16px 0; padding:14px 0; border-top:1px solid var(--vd-line); border-bottom:1px solid var(--vd-line); }
.vd-oitem{ display:flex; align-items:center; gap:10px; min-width:200px; }
.vd-oi-thumb{ width:46px; height:46px; border-radius:10px; overflow:hidden; background:var(--vd-inset); flex:none; }
.vd-oi-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.vd-oi-txt b{ font-size:13.5px; display:block; line-height:1.25; }
.vd-oi-txt small{ color:var(--vd-mut); font-size:11.5px; }
.vd-order-foot{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.vd-oship{ font-size:13px; color:var(--vd-sec); }
.vd-oactions{ display:flex; gap:8px; flex-wrap:wrap; }
.vd-abtn{ font-family:var(--vd-head); font-size:12.5px; font-weight:700; padding:10px 16px; border-radius:11px; background:var(--vd-surface); border:1px solid var(--vd-line); color:var(--vd-tx) !important; box-shadow:var(--vd-sh); display:inline-flex; align-items:center; gap:6px; }
.vd-abtn:hover{ border-color:var(--vd-cy); color:var(--vd-cy) !important; }
.vd-abtn-y{ background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)); color:#241A00 !important; border:none; box-shadow:0 6px 16px rgba(244,196,0,.35); }
.vd-abtn-y:hover{ color:#241A00 !important; box-shadow:0 8px 22px rgba(244,196,0,.5); }
.vd-pagination{ display:flex; gap:10px; margin-top:16px; }
.vd-empty{ text-align:center; padding:40px 20px; color:var(--vd-mut); }
.vd-empty i{ font-size:42px; color:var(--vd-mut); }
.vd-empty p{ margin:10px 0 16px; }

/* orders table + addresses inside content */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table{ border-radius:14px; overflow:hidden; }
.woocommerce-account .woocommerce-Address{ background:var(--vd-inset); border-radius:14px; padding:18px; }
.woocommerce-account .addresses .col-1,.woocommerce-account .addresses .col-2{ width:48%; }

/* login / register (guest view) */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
.woocommerce .col2-set.woocommerce-account-fields{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.woocommerce form.login,.woocommerce form.register{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:26px; box-shadow:var(--vd-sh);
}
.woocommerce form.login input,.woocommerce form.register input{ border:1px solid var(--vd-line) !important; border-radius:11px !important; min-height:46px; }

/* =====================================================================
   CART page
   ===================================================================== */
.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:1fr 360px; gap:24px; align-items:start; }
.woocommerce-cart table.cart{ background:var(--vd-surface); box-shadow:var(--vd-sh); }
.woocommerce-cart table.cart img{ width:70px !important; border-radius:10px; }
.woocommerce-cart .cart-collaterals{ width:auto !important; float:none !important; }
.woocommerce-cart .cart-collaterals .cart_totals{
  width:auto !important; background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:22px; box-shadow:var(--vd-sh);
}
.woocommerce-cart .cart_totals h2{ font-family:var(--vd-head); font-size:20px; }
@media(max-width:900px){ .woocommerce-cart .woocommerce{ grid-template-columns:1fr; } }

/* =====================================================================
   CHECKOUT page
   ===================================================================== */
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading{ }
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{ width:100%; float:none; }
.woocommerce-checkout #customer_details{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:24px; box-shadow:var(--vd-sh);
}
.woocommerce-checkout #order_review{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; padding:24px; box-shadow:var(--vd-sh); margin-top:16px;
}
.woocommerce-checkout h3{ font-family:var(--vd-head); font-size:18px; }
.woocommerce-checkout #place_order{ width:100%; height:54px; font-size:16px; }
@media(min-width:1000px){
  .woocommerce-checkout form.checkout{ display:grid; grid-template-columns:1fr 420px; gap:24px; align-items:start; }
  .woocommerce-checkout #customer_details{ grid-column:1; }
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{ grid-column:2; grid-row:1 / span 2; margin-top:0; }
}

/* =====================================================================
   SHOP SIDEBAR (filters like the demo)
   ===================================================================== */
.post-type-archive-product.ast-left-sidebar #secondary,
.tax-product_cat.ast-left-sidebar #secondary{
  width:280px !important; flex:none; padding:0 !important; margin-right:24px;
}
.post-type-archive-product.ast-left-sidebar #primary,
.tax-product_cat.ast-left-sidebar #primary{ flex:1; }
#secondary .widget{
  background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:16px;
  padding:18px 20px; box-shadow:var(--vd-sh); margin-bottom:14px;
}
#secondary .widget-title,#secondary .wp-block-heading{
  font-family:var(--vd-head) !important; font-size:15px !important; font-weight:800; margin:0 0 12px;
}
#secondary ul{ list-style:none; margin:0; padding:0; }
#secondary ul li{ padding:7px 0; border-bottom:1px dashed var(--vd-line); font-size:14px; }
#secondary ul li:last-child{ border-bottom:none; }
#secondary ul li a{ color:var(--vd-sec); font-weight:600; }
#secondary ul li a:hover{ color:var(--vd-cy); }
#secondary .count{ color:var(--vd-mut); font-size:12px; }
/* price filter */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{ background:linear-gradient(90deg,var(--vd-y),var(--vd-y2)); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{ background:var(--vd-y2); border:2px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{ background:var(--vd-inset); }
.widget_price_filter .price_slider_amount .button{ padding:9px 16px !important; font-size:12px !important; }
/* search widget */
#secondary .wc-block-product-search input[type="search"],#secondary input[type="search"]{
  border:1px solid var(--vd-line); border-radius:11px; min-height:44px; width:100%;
}
/* grid: 3-up when the filters sidebar is present */
.ast-left-sidebar ul.products{ grid-template-columns:repeat(3,1fr) !important; }

/* =====================================================================
   MOBILE polish (real pages)
   ===================================================================== */
@media(max-width:921px){
  .site-logo-img .custom-logo{ max-height:54px !important; height:54px !important; padding:5px 10px; border-radius:12px; }
  .ast-mobile-header-wrap .ast-primary-header-bar{ min-height:64px; }
  .woocommerce .ast-container{ padding-left:14px !important; padding-right:14px !important; }
}
@media(max-width:820px){
  .ast-left-sidebar ul.products{ grid-template-columns:repeat(2,1fr) !important; }
  #secondary{ width:100% !important; margin:0 0 16px !important; }
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .vd-order-top{ flex-direction:column; }
  .vd-status{ align-self:flex-start; }
  .vd-inforow{ grid-template-columns:1fr; gap:12px; }
  .vd-foot-inner{ gap:22px; }
  .vd-flogo{ height:64px; }
}
@media(max-width:560px){
  .woocommerce ul.products,.ast-left-sidebar ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }
  .woocommerce ul.products li.product{ padding:10px !important; border-radius:14px; }
  .woocommerce ul.products li.product .button{ padding:11px 12px !important; font-size:12.5px !important; }
  .woocommerce-products-header__title{ font-size:30px !important; }
  .vd-trust{ grid-template-columns:1fr 1fr; }
  .vd-order-items{ gap:8px; }
  .vd-oitem{ min-width:100%; }
  .vd-oactions{ width:100%; }
  .vd-oactions .vd-abtn{ flex:1; justify-content:center; }
  .single-product form.cart{ gap:9px; }
  .vd-swatches{ grid-template-columns:repeat(3,1fr); }
  .vd-site-footer{ padding-top:30px; }
}

/* =====================================================================
   FOOTER (branded) + scroll-to-top
   ===================================================================== */
/* hide Astra default "Powered by" footer */
.site-below-footer-wrap,.ast-small-footer,.site-primary-footer-wrap{ display:none !important; }

.vd-site-footer{ background:#15141E; color:#C9C7D6; margin-top:56px; padding:44px clamp(16px,4vw,48px) 0; }
.vd-foot-inner{ max-width:1320px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; }
.vd-fwordmark{ font-family:var(--vd-head); font-weight:900; font-size:26px; letter-spacing:.14em; color:var(--vd-y); margin-bottom:12px; }
.vd-flogo{ height:76px; width:auto; margin-bottom:14px; border-radius:12px; }
.vd-root footer.pad,.vd-root .mobnav{ display:none !important; }
.vd-site-footer p{ font-size:13.5px; line-height:1.6; color:#9E9CB0; margin:6px 0; }
.vd-site-footer p i{ color:var(--vd-y); vertical-align:-2px; margin-right:4px; }
.vd-fcol h4{ color:#fff; font-family:var(--vd-head); font-size:14px; margin:0 0 12px; }
.vd-fcol a{ display:block; color:#B9B7C9; font-size:13.5px; padding:5px 0; }
.vd-fcol a:hover{ color:var(--vd-y); }
.vd-fsocial{ display:flex; gap:10px; margin-top:14px; }
.vd-fsocial a{ width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:rgba(255,255,255,.06); color:#E7E6F0; font-size:18px; }
.vd-fsocial a:hover{ background:var(--vd-y); color:#241A00; }
.vd-fbot{ max-width:1320px; margin:32px auto 0; padding:18px 0; border-top:1px solid rgba(255,255,255,.1);
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; color:#8C8AA2; }
.vd-b18{ background:var(--vd-y); color:#241A00; font-family:var(--vd-head); font-weight:700; font-size:12px; padding:4px 10px; border-radius:8px; }

/* scroll-to-top -> brand yellow round */
#ast-scroll-top{
  background:linear-gradient(135deg,var(--vd-y),var(--vd-y2)) !important; color:#241A00 !important;
  border-radius:50% !important; width:46px !important; height:46px !important; line-height:46px !important;
  box-shadow:0 8px 22px rgba(244,196,0,.45) !important;
}
#ast-scroll-top:hover{ box-shadow:0 12px 30px rgba(244,196,0,.6) !important; }

@media(max-width:820px){
  .vd-foot-inner{ grid-template-columns:1fr 1fr; }
}
@media(max-width:520px){
  .vd-foot-inner{ grid-template-columns:1fr; }
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:900px){
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
}
@media(max-width:1100px){
  .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); }
  .single-product div.product{ grid-template-columns:1fr; gap:24px; }
}
@media(max-width:820px){
  .woocommerce ul.products,.related.products ul.products{ grid-template-columns:repeat(2,1fr) !important; }
  .vd-trust{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
  .woocommerce ul.products{ gap:10px; }
  .single-product .product_title{ font-size:24px !important; }
  .single-product .entry-summary .price,.single-product div.product p.price{ font-size:26px !important; }
  .vd-swatches{ grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); }
  .single-product form.cart .single_add_to_cart_button{ min-width:0; width:100%; }
}
