/*
Theme Name: Lifestyle Affiliate Shop
Description: Lifestyle + Blog hybrid design (2025)
Version: 2.5.0
Text Domain: lifestyle-affiliate-shop
*/

/* =========================
   THEME TOKENS (Dark-first)
   ========================= */
:root{
  --bg:#0a0f1a;          /* darker backdrop for punchier contrast */
  --card:#0f1726;        /* elevated surfaces */
  --text:#f2f5fb;        /* bright readable text */
  --muted:#c9d1e1;       /* readable muted text (was #98a2b3) */
  --border:#1f2a3a;      /* soft border */
  --primary:#5b78ff;     /* elegant indigo */
  --ring:rgba(91,120,255,.35);
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#ffffff;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#475569;     /* slightly darker than before for legibility */
    --border:#e5e7eb;
    --primary:#2f49f5;
    --ring:rgba(47,73,245,.3);
  }
}

/* =========================
   BASE
   ========================= */
html,body{ background:var(--bg); color:var(--text); }
body{ letter-spacing:.1px; }
.body--mobile-menu-open{ overflow:hidden; }
a{ color:var(--primary); }
.lead, .text-muted, .small{ color:var(--muted) !important; }
h1,h2,h3,h4{ color:var(--text); font-weight:800; letter-spacing:.2px; }
.btn-primary{ background:var(--primary); border-color:var(--primary); }
.btn-outline-primary{ color:var(--text); border-color:var(--primary); }
.btn-outline-primary:hover{ background:var(--primary); }
.btn:focus,.form-control:focus{ box-shadow:0 0 0 .2rem var(--ring); }

/* =========================
   HEADER / NAV
   ========================= */
.site-header{ 
  position:static; 
  top:auto; 
  z-index:10; 
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.14)) !important; 
  backdrop-filter:saturate(120%) blur(6px); 
} 
.site-header__primary{ flex-wrap:nowrap; } 
.site-branding{ min-width:0; } 
.site-header .container{ position:relative; z-index:1050; } 
.site-header .navbar-brand img{ max-height:56px; height:auto; width:auto; } 
.site-header .site-logo-wrap img{ max-height:56px; } 
.header-tagline{ white-space:nowrap; } 
.site-nav{ border-top:1px solid var(--border); background:rgba(0,0,0,.08); position:relative; }
.desktop-main-menu{ position:static; }
.site-nav .container{ position:relative; }
.primary-menu{ gap:1.5rem; flex-wrap:nowrap; }
.primary-menu > li{ position:relative; }
.primary-menu > li > a{
  color:var(--text); opacity:.92; text-decoration:none;
  padding:.7rem 1rem; border-radius:.75rem; font-weight:500;
  transition:background .18s ease, opacity .18s ease, transform .18s ease;
  display:flex; align-items:center; gap:.35rem;
  height:100%;
}
.primary-menu > li > a:hover,
.primary-menu > li:focus-within > a{ background:rgba(255,255,255,.06); opacity:1; }
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a{
  background:rgba(91,120,255,.14);
  box-shadow:inset 0 0 0 1px rgba(91,120,255,.35);
}
.primary-menu .menu-item-has-children{ padding-right:1.8rem; }
.primary-menu .submenu-toggle{
  position:absolute; right:.35rem; top:50%; transform:translateY(-50%);
  border:1px solid var(--border); background:rgba(255,255,255,.06);
  border-radius:999px; width:30px; height:30px; color:var(--text);
  display:inline-flex; align-items:center; justify-content:center;
}
.primary-menu .submenu-toggle .chevron{ display:inline-block; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid currentColor; transition:transform .2s ease; }
.primary-menu .menu-item.open > .submenu-toggle .chevron{ transform:rotate(180deg); }

/* Navigation / Mega Menu */
.primary-menu .sub-menu{
  list-style:none; margin:0; padding:1.25rem 1.25rem 1rem; border-radius:1rem;
  background:var(--card); border:1px solid var(--border);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  position:absolute; left:0; top:calc(100% + .35rem);
  display:none; gap:1rem;
  grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
  max-height:480px; overflow:auto;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(12px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  min-width:260px; width:max-content; z-index:1050;
}
.primary-menu > li.open > .sub-menu{ display:block; }
.primary-menu .sub-menu li a{ color:var(--text); opacity:.9; text-decoration:none; display:block; padding:.4rem .2rem; border-radius:.5rem; white-space:normal; word-break:break-word; }
.primary-menu .sub-menu li a:hover{ background:rgba(255,255,255,.04); opacity:1; }
.primary-menu .sub-menu .sub-menu{ position:static; display:block; padding-left:.75rem; padding-top:.4rem; border:none; box-shadow:none; background:transparent; max-height:none; }
.primary-menu .sub-menu .sub-menu li a{ font-size:.95em; color:var(--muted); }
.primary-menu .sub-menu .sub-menu li a:hover{ color:var(--text); background:rgba(255,255,255,.04); }
.primary-menu .menu-item-has-children > a{ padding-right:0; }
.primary-menu .menu-item-has-children > .sub-menu{ margin-top:.35rem; }
.primary-menu > li.mega-menu{ position:static; }
.primary-menu > li.mega-menu > .sub-menu{
  left:50%;
  width:min(1100px, calc(100vw - 3rem));
  grid-template-columns:repeat(4, minmax(180px, 1fr));
  --submenu-x:-50%;
  transform:translate(-50%, 12px);
}

.nav-toggle{ 
  width:44px; height:42px; border:1px solid var(--border); 
  border-radius:.75rem; background:#fff; display:inline-flex; align-items:center; justify-content:center; 
  padding:.5rem; transition:background .2s ease, border-color .2s ease, box-shadow .2s ease; 
} 
.site-actions .btn,
.site-actions .nav-toggle{ flex-shrink:0; } 
.nav-toggle-box{ display:inline-flex; flex-direction:column; gap:.35rem; } 
.nav-toggle-bar{ 
  display:block; width:22px; height:2px; background:#0f172a; border-radius:999px; transition:transform .2s ease, opacity .2s ease; 
} 
.nav-open .nav-toggle-bar:nth-child(1),
.body--mobile-menu-open .nav-toggle-bar:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.nav-open .nav-toggle-bar:nth-child(2),
.body--mobile-menu-open .nav-toggle-bar:nth-child(2){ opacity:0; }
.nav-open .nav-toggle-bar:nth-child(3),
.body--mobile-menu-open .nav-toggle-bar:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
.nav-open{ overflow:hidden; }
/* Stacking: header container (1050) < overlay (1060) < mobile drawer (1070) */
.nav-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:1060; opacity:0; pointer-events:none; transition:opacity .2s ease; }
.nav-overlay.is-open,
.nav-overlay.active{ opacity:1; pointer-events:auto; }

@media(min-width:769px){
  .site-header,
  .site-nav,
  .desktop-main-menu{
    position:static;
    top:auto;
  }
}

@media(min-width:992px){
  .site-header .search-form input{ height:46px; }
  .site-nav .primary-menu{ flex-wrap:nowrap; }
  .primary-menu > li > .sub-menu{ display:grid; }
  .primary-menu > li:hover > .sub-menu,
  .primary-menu > li:focus-within > .sub-menu,
  .primary-menu > li.open > .sub-menu{
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(var(--submenu-x,0),0);
  }
  .primary-menu > li > .sub-menu{ transform:translate(var(--submenu-x,0), 12px); }
  .mobile-nav-panel{ display:none !important; }
}

@media(max-width:991.98px){ 
  .site-header__primary{ gap:.75rem; } 
  .site-header .navbar-brand{ width:auto; max-width:100%; } 
  .site-header .header-tagline{ white-space:normal; } 
  .primary-menu{ flex-direction:column; gap:0; } 
  .primary-menu > li{ border-bottom:1px solid var(--border); padding:.1rem 0; } 
  .primary-menu > li > a{ padding:.85rem 0; border-radius:0; width:100%; color:#0f172a; font-weight:500; } 
  .primary-menu .menu-item-has-children{ padding-right:0; }
  .primary-menu .sub-menu{ position:static; display:none; padding:.25rem 0 .5rem; background:transparent; border:none; box-shadow:none; max-height:none; grid-template-columns:1fr; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .primary-menu .menu-item.open > .sub-menu{ display:block; }
  .primary-menu .submenu-toggle{ right:0; background:transparent; border:none; }
  .mobile-nav-panel{ 
    position:fixed; 
    top:0; 
    bottom:0; 
    left:0;
    width:min(80vw, 380px);
    max-width:380px;
    background:#050816;
    color:#f2f5fb;
    z-index:1070;
    transform:translateX(-100%);
    opacity:0;
    pointer-events:none;
    transition:transform .28s ease, opacity .24s ease;
    padding:0; 
    overflow-y:auto; 
    box-shadow:18px 0 40px rgba(0,0,0,.38); 
    border-right:1px solid var(--border); 
  } 
  .body--mobile-menu-open .mobile-nav-panel{ transform:translateX(0); opacity:1; pointer-events:auto; } 
  .mobile-nav-panel__inner{ padding:0 1.25rem 2rem; display:flex; flex-direction:column; gap:1rem; min-height:100%; } 
  .mobile-nav-panel__top{ padding:1rem 0 .75rem; border-bottom:1px solid var(--border); gap:.75rem; } 
  .mobile-nav-brand{ color:var(--text); text-decoration:none; font-weight:800; letter-spacing:.2px; } 
  .mobile-nav-brand:hover{ text-decoration:none; } 
  .mobile-nav-brand img{ max-height:44px; height:auto; width:auto; } 
  .mobile-nav-close{ 
    margin-left:auto; 
    width:42px; 
    height:42px;
    border-radius:999px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.12);
    color:var(--text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem;
    line-height:1;
    box-shadow:0 4px 16px rgba(0,0,0,.2);
  }
  .mobile-nav-close:hover{ background:rgba(255,255,255,.18); }
  .mobile-nav-close:focus-visible{ outline:2px solid var(--ring); outline-offset:2px; }
  .mobile-nav-panel__utility{ gap:.75rem !important; }
  .mobile-nav-panel .search-form{ margin-bottom:0; }
  .mobile-nav-search .form-control{ background:rgba(255,255,255,.08); border-color:var(--border); color:var(--text); }
  .mobile-nav-search .form-control::placeholder{ color:rgba(242,245,251,.7); }
  .mobile-nav-search .btn{ height:44px; }
  .mobile-nav-cart{ white-space:nowrap; }
  .mobile-nav-panel__menu .primary-menu{ gap:.25rem; }
  .mobile-nav-panel__menu .primary-menu > li{ border-color:rgba(255,255,255,.08); }
  .mobile-nav-panel__menu .primary-menu > li > a{ color:var(--text); padding:.9rem 0; }
  .body--mobile-menu-open .primary-menu > li > a{ color:var(--text); }
}

@media(max-width:768px){
  .desktop-main-menu{ display:none; }
}

/* =========================
   ANNOUNCEMENT BAR & PROMOS
   ========================= */
.announcement-bar{
  background:linear-gradient(90deg, rgba(91,120,255,.18), rgba(91,120,255,.06));
  color:var(--text);
  border-bottom:1px solid var(--border);
}
.announcement-bar .announcement-link{ color:var(--text); font-weight:600; }
.announcement-bar .btn{ line-height:1; padding:.2rem .5rem; }

.promo-strip{ background:rgba(255,255,255,.03); border-top:1px solid var(--border); }
.promo-strip .small{ color:var(--text); font-weight:600; }
.promo-strip .fs-5{ filter:saturate(140%); }

/* =========================
   HERO
   ========================= */
.hero-spotlight{ min-height:420px; position:relative; }
.hero-spotlight .hero-bg{ position:absolute; inset:0; }
.object-cover{ object-fit:cover; }
.hero-spotlight .hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.15));
}
.hero-spotlight h1{ letter-spacing:.2px; }
.hero-spotlight .lead{ color:var(--muted); }

/* =========================
   CARDS (Generic)
   ========================= */
.card,.widget.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:1rem;
}
.card .card-img-top{
  aspect-ratio:16/10;            /* default for generic cards */
  object-fit:cover;
  border-top-left-radius:1rem;
  border-top-right-radius:1rem;
}

/* =========================
   SHOP / PRODUCT CARDS
   ========================= */
.product-card img{
  aspect-ratio:4/5; object-fit:cover; border-radius:.75rem;
}
.product-card .woocommerce-loop-product__title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:3.2ex;
}
.wc-stock{ line-height:1.2 }

/* =========================
   CATEGORY TILES
   ========================= */
.home-cats .row.g-3{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:1rem;
  margin:0;
}
.home-cats .row.g-3 > [class*="col-"]{
  width:100%;
  max-width:none;
  flex:1 1 200px;
  padding:0;
}
.cat-tile .card-img-top{ aspect-ratio:1/1; object-fit:cover; }
.cat-tile .card-body{ padding:.75rem }

/* =========================
   BLOG SECTIONS (size control)
   ========================= */
/* Latest Guides & Reviews cards (front-page editorial block) */
.home-editorial .card-img-top{
  width:100%; display:block;
  aspect-ratio:16/9;     /* consistent cinematic crop */
  object-fit:cover;
  height:auto;
  border-top-left-radius:1rem;
  border-top-right-radius:1rem;
}

/* Inspiration From Our Blog (image gallery) */
.las-post-gallery{
  display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem;
}
@media(min-width:768px){
  .las-post-gallery{ grid-template-columns:repeat(4,1fr); gap:1rem; }
}
.las-post-gallery a{
  display:block; border-radius:1rem; overflow:hidden; border:1px solid var(--border);
}
.las-post-gallery img{
  width:100%; height:100%;
  aspect-ratio:1/1;      /* uniform squares */
  object-fit:cover;
  transition:transform .25s ease;
}
.las-post-gallery a:hover img{ transform:scale(1.05); }

/* =========================
   TESTIMONIALS
   ========================= */
.carousel .card{ background:var(--card); border:1px solid var(--border); border-radius:1rem; }
.carousel .card p, .carousel .card .small, .carousel .card .h6{ color:var(--text) !important; }
.carousel .card .text-muted{ color:#d6dbea !important; }  /* brighten date line */
.carousel-control-prev-icon, .carousel-control-next-icon{ filter:invert(1) grayscale(1); opacity:.9; }

/* =========================
   FOOTER (2025 layout)
   ========================= */
.site-footer{ background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.22)); }
.site-footer h6{
  color:var(--text); font-weight:800; letter-spacing:.6px;
  text-transform:uppercase; font-size:.82rem;
}
.site-footer a{ color:var(--text); text-decoration:none; opacity:.92; }
.site-footer a:hover{ opacity:1; text-decoration:underline; }
.footer-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:999px;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  margin-right:.5rem; color:var(--text);
}
.footer-social a:hover{ background:rgba(91,120,255,.18); border-color:rgba(91,120,255,.4); }
.footer-legal{ border-top:1px solid var(--border); color:var(--muted); font-size:.9rem; }
.footer-legal small{ color:var(--muted); }

/* =========================
   UTILITIES & ACCESSIBILITY
   ========================= */
.visually-hidden-focusable:not(:focus):not(:focus-within){
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* =========================
   MICRO TWEAKS
   ========================= */
/* Give generic container card images rounded top corners even if theme injected later */
.container .card-img-top{ border-radius:1rem 1rem 0 0; }
/* Slight elevation on hover for editorial cards */
.home-editorial .card{ transition:transform .15s ease, box-shadow .15s ease; }
.home-editorial .card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.25); }

/* =========================
   STATIC PAGE READABILITY
   (Terms, Privacy, About, etc.)
   ========================= */

/* Make body text on pages full-contrast and comfortable */
.page .card-body{
  color:var(--text) !important;
  font-size:0.97rem;
  line-height:1.8;
}
.page .card-body p,
.page .card-body li,
.page .card-body span,
.page .card-body strong,
.page .card-body td,
.page .card-body th{
  color:var(--text) !important;
}

/* Links inside long-form content */
.page .card-body a{
  color:var(--primary);
  text-decoration:underline;
}
.page .card-body a:hover{
  text-decoration:none;
}

/* Optional: slightly softer background just for static page cards */
.page .card{
  background:radial-gradient(circle at top left,
              rgba(255,255,255,.05),
              var(--card));
  border:1px solid var(--border);
}

/* Page meta (date, etc.) can stay muted */
.page .entry-header .entry-meta,
.page .entry-header time{
  color:var(--muted) !important;
}

/* =========================
   BREADCRUMB SAFETY
   ========================= */
/* If for any reason two breadcrumb navs render back-to-back, hide the second */
.woocommerce-breadcrumb + .woocommerce-breadcrumb{
  display:none;
}

/* =========================
   BLOG POST READABILITY
   ========================= */

/* Make everything inside the post card full-contrast */
.single-post .card-body {
  color: var(--text) !important;
  font-size: 0.97rem;
  line-height: 1.8;
}

/* Paragraphs, lists, table cells, etc. */
.single-post .card-body p,
.single-post .card-body li,
.single-post .card-body span,
.single-post .card-body strong,
.single-post .card-body td,
.single-post .card-body th {
  color: var(--text) !important;
}

/* Headings inside the article body (Gutenberg blocks etc.) */
.single-post .card-body h2,
.single-post .card-body h3,
.single-post .card-body h4 {
  color: var(--text) !important;
  margin-top: 1.8rem;
  margin-bottom: 0.6rem;
}

/* Links in the article body */
.single-post .card-body a {
  color: var(--primary) !important;
  text-decoration: underline;
}
.single-post .card-body a:hover {
  text-decoration: none;
}

/* Bullet markers on dark background */
.single-post .card-body ul li::marker,
.single-post .card-body ol li::marker {
  color: var(--muted);
}

/* Keep explicitly muted text (with .text-muted class) actually muted */
.single-post .card-body .text-muted {
  color: var(--muted) !important;
}

.site-title,
.site-tagline {
  display: none !important;
}
/* =========================
   HEADER / MOBILE FIXES (2025)
   ========================= */

/* Ensure mobile logo displays correctly */
.mobile-logo {
  max-height: 52px;
  width: auto;
  display: inline-block;
}

.site-logo {
  max-height: 60px;
  width: auto;
}

/* Hide mobile logo on desktop */
@media (min-width: 768px) {
  .mobile-logo {
    display: none !important;
  }
}

/* Ensure the main logo remains visible on mobile (drawer + header) */
@media (max-width: 767px) {
  .site-logo {
    display: inline-block;
    max-height: 52px;
  }

  .mobile-nav-panel .site-logo {
    display: inline-block !important;
  }
}

/* Mobile menu toggle button visibility & spacing */
button[data-bs-toggle="collapse"] {
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 1.2rem;
  line-height: 1;
  color: var(--text);
  border-color: var(--border);
}

button[data-bs-toggle="collapse"]:hover {
  background: rgba(255,255,255,.08);
}

/* Prevent duplicate underline when collapsing menu */
#mainNav .nav > li > a {
  border-radius: .5rem;
  margin-bottom: .25rem;
}
/* =========================
   PRODUCT CARD UNIFORM HEIGHT
   ========================= */

/* Correct WooCommerce selector */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.4em; /* consistent height for 2 lines */
  line-height: 1.2em;
}

/* Force product card wrapper consistency */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products li.product .price {
  margin-top: auto; /* keeps price aligned at the bottom */
}

/* =========================
   SINGLE PRODUCT GALLERY
   ========================= */
.single-product .woocommerce-product-gallery{
  margin-bottom:1.5rem;
  max-width:480px;
  margin-left:auto;
  margin-right:auto;
}
.single-product .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  display:block;
  max-width:460px;
  max-height:440px;
  object-fit:contain;
  margin-left:auto;
  margin-right:auto;
  padding:14px;
  background:radial-gradient(circle at top left, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius:1.1rem;
  border:1px solid var(--border);
}
.single-product .flex-control-nav,
.single-product .product-gallery-thumbs{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:12px;
  padding:.5rem .35rem .35rem;
  margin-bottom:0;
  list-style:none;
}
.single-product .flex-control-nav{ overflow-x:auto; }
.single-product .flex-control-nav li,
.single-product .product-gallery-thumbs li{ flex:0 0 auto; list-style:none; }
.single-product .flex-control-nav a,
.single-product .product-gallery-thumbs a{
  display:block;
  border-radius:.5rem;
  padding:3px;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.single-product .flex-control-nav img,
.single-product .product-gallery-thumbs img{
  width:68px;
  height:68px;
  object-fit:cover;
  border-radius:.4rem;
  display:block;
  cursor:pointer;
}
.single-product .flex-control-nav a,
.single-product .product-gallery-thumbs a{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
}
.single-product .flex-control-nav a:hover,
.single-product .product-gallery-thumbs a:hover,
.single-product .flex-control-nav a:focus,
.single-product .product-gallery-thumbs a:focus{
  border-color:rgba(91,120,255,.5);
  box-shadow:0 0 0 2px var(--ring);
  outline:none;
}
.single-product .flex-control-nav a.is-active img,
.single-product .flex-control-nav img.is-active,
.single-product .product-gallery-thumbs img.is-active,
.single-product .product-gallery-thumbs a.is-active img{
  outline:2px solid #2563eb;
}
.single-product .flex-control-nav a:active,
.single-product .product-gallery-thumbs a:active{ transform:scale(.98); }

/* =========================
   SINGLE PRODUCT CONTENT
   ========================= */
.single-product .product .summary.entry-summary{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.65rem;
}
.single-product .product_title{
  font-size:clamp(1.65rem, 2vw + 1rem, 2.2rem);
  margin-bottom:.4rem;
  line-height:1.25;
}
.single-product .product .price{
  color:var(--primary);
  font-size:1.55rem;
  font-weight:800;
  margin-bottom:1rem;
}
.single-product .woocommerce-product-details__short-description{
  color:var(--text);
  line-height:1.7;
  font-size:1rem;
  margin-bottom:1.1rem;
}
.single-product form.cart{
  gap:.65rem;
  align-items:center;
}
.single-product .quantity input.qty{
  max-width:96px;
  padding:.6rem .75rem;
  border-radius:.65rem;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  color:var(--text);
}
.single-product .single_add_to_cart_button{
  padding:.85rem 1.5rem;
  border-radius:.75rem;
  font-weight:800;
  letter-spacing:.2px;
}
.single-product .product_meta{ color:var(--muted); margin-top:1.25rem; }
.single-product .product_meta a{ color:var(--text); }
.single-product .woocommerce-tabs .panel{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:1rem;
  padding:1.25rem 1.35rem;
}
.single-product .woocommerce-tabs .panel p{ color:var(--text); }
.single-product .woocommerce-Reviews .comment-reply-title,
.single-product .woocommerce-Reviews .woocommerce-Reviews-title{ color:var(--text); }

@media(max-width:768px){
  .single-product .flex-control-nav,
  .single-product .product-gallery-thumbs{ overflow-x:auto; }
  .single-product .woocommerce-product-gallery{
    max-width:100%;
  }
  .single-product .woocommerce-product-gallery__image img{
    max-height:360px;
    max-width:100%;
  }
  .single-product .flex-control-nav img,
  .single-product .product-gallery-thumbs img{
    width:60px;
    height:60px;
  }
}