/*
Theme Name: ACE Home
Theme URI: https://acehome.co
Description: Luxury lifestyle electronics store theme for ACE Home — a division of Ayres Capital Enterprises LTD.
Author: Ayres Capital Enterprises LTD.
Author URI: https://acehome.co
Template: kadence
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: acehome-child
*/


/* ==========================================================================
   TABLE OF CONTENTS
   ==========================================================================
   1.  CSS Custom Properties (Variables)
   2.  CSS Reset & Global Overrides
   3.  Typography — Fluid Type Scale
   4.  Links
   5.  Buttons
   6.  Announcement Bar
   7.  Navigation / Header
   8.  Footer
   9.  WooCommerce — Product Grid (Cards)
   10. WooCommerce — Single Product Page
   11. WooCommerce — Cart Drawer (Slide-Out)
   12. WooCommerce — Cart & Checkout Pages
   13. WooCommerce — Misc Overrides
   14. "Why We Picked This" Editorial Box
   15. Utility Classes
   16. Responsive — Tablet
   17. Responsive — Mobile
   ========================================================================== */


/* ==========================================================================
   1. CSS CUSTOM PROPERTIES (VARIABLES)
   ========================================================================== */

:root {
  /* Colour Palette */
  --color-bg-primary: #FAFAF7;
  --color-bg-secondary: #F2F0ED;
  --color-bg-dark: #1A1A1A;
  --color-bg-dark-secondary: #252525;
  --color-bg-card: #FFFFFF;
  --color-accent: #B8975A;
  --color-accent-light: #D4C4A0;
  --color-accent-dark: #96804D;
  --color-accent-glow: rgba(184, 151, 90, 0.12);
  --color-text-primary: #1A1A1A;
  --color-text-body: #4A4A4A;
  --color-text-muted: #8A8780;
  --color-text-inverse: #FAFAF7;
  --color-border: #E8E6E1;
  --color-border-dark: #D4D0CA;
  --color-success: #2D6B4A;
  --color-error: #C75C5C;

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body: 'Libre Franklin', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;
}


/* ==========================================================================
   2. CSS RESET & GLOBAL OVERRIDES
   ========================================================================== */

/* --- Body Background: Warm White, NOT pure white --- */
body,
html,
.site,
.site-container,
.content-area,
.entry-content,
.wp-site-blocks,
.kadence-pro-wrap {
  background-color: var(--color-bg-primary);
}

/* --- Remove ALL border-radius globally (luxury = sharp corners) --- */
*,
*::before,
*::after {
  border-radius: 0 !important;
}

/* --- Replace pure white backgrounds with warm white --- */
.site,
.entry-content,
.wp-block-group,
.kadence-pro-wrap,
.woocommerce,
.woocommerce-page,
.widget,
.site-footer,
.comments-area,
div,
section,
article,
aside,
main {
  border-radius: 0;
}

/* --- Replace pure black text with Rich Charcoal --- */
body {
  color: var(--color-text-body);
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- Max content width --- */
.site-container .site-main,
.kadence-inner-wrap,
.entry-content-wrap,
.content-container,
.site .entry-content .alignwide,
.woocommerce .site-main {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Global box sizing --- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* --- Smooth scroll --- */
html {
  scroll-behavior: smooth;
}

/* --- Selection colour --- */
::selection {
  background: var(--color-accent-glow);
  color: var(--color-text-primary);
}


/* ==========================================================================
   3. TYPOGRAPHY — FLUID TYPE SCALE
   ========================================================================== */

/* --- Hero Display --- */
.acehome-hero-display,
.hero-section h1,
.wp-block-cover .wp-block-cover__inner-container h1 {
  font-family: var(--font-display);
  font-size: clamp(3rem, 2.5rem + 4vw, 5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
}

/* --- H1 --- */
h1,
.entry-title,
.page-title,
.woocommerce div.product .product_title,
.kadence-title .entry-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 2rem + 3vw, 4rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
}

/* --- H2 --- */
h2,
.woocommerce h2,
.wp-block-heading:where(h2),
.related.products h2,
.upsells.products h2,
.cross-sells h2,
.cart_totals h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text-primary);
}

/* --- H3 --- */
h3,
.woocommerce h3,
.wp-block-heading:where(h3) {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-text-primary);
}

/* --- H4 --- */
h4,
.woocommerce h4,
.wp-block-heading:where(h4) {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-text-primary);
}

/* --- H5 --- */
h5,
.wp-block-heading:where(h5) {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-primary);
}

/* --- H6 --- */
h6,
.wp-block-heading:where(h6) {
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: var(--color-text-muted);
}

/* --- Body Large --- */
.acehome-body-large,
.has-large-font-size,
.entry-content > p:first-of-type,
.woocommerce-product-details__short-description p {
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.25rem);
  line-height: 1.7;
}

/* --- Body --- */
p,
li,
td,
th,
label,
.entry-content,
.woocommerce-product-details__short-description {
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  line-height: 1.7;
  color: var(--color-text-body);
}


/* ==========================================================================
   4. LINKS
   ========================================================================== */

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color 0.3s ease, text-decoration 0.3s ease;
}

a:hover,
a:focus {
  color: var(--color-accent-dark);
  text-decoration: underline;
}

/* --- Navigation and structural links stay neutral --- */
.site-header a,
.main-navigation a,
.site-footer a,
.woocommerce-breadcrumb a {
  text-decoration: none;
}


/* ==========================================================================
   5. BUTTONS
   ========================================================================== */

/* --- All Buttons: Base Reset --- */
button,
.button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"],
input[type="button"],
.kadence-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
a.button,
.btn {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1rem 2rem;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
  line-height: 1.4;
  text-decoration: none;
}

/* --- Primary CTA: Antique Gold --- */
.button.primary,
.wp-element-button,
.wp-block-button__link,
.kadence-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wc-block-components-button:not(.wc-block-components-button--text),
.acehome-btn-primary {
  background-color: var(--color-accent);
  color: var(--color-text-primary);
  border: 1px solid var(--color-accent);
}

.button.primary:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.kadence-button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.wc-block-components-button:not(.wc-block-components-button--text):hover,
.acehome-btn-primary:hover {
  background-color: var(--color-accent-dark);
  color: var(--color-text-primary);
  border-color: var(--color-accent-dark);
  box-shadow: 0 4px 16px rgba(184, 151, 90, 0.25);
  transform: translateY(-1px);
  text-decoration: none;
}

/* --- Secondary Button: Outlined --- */
.button.secondary,
.woocommerce a.button:not(.alt):not(.added_to_cart),
.acehome-btn-secondary {
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
}

.button.secondary:hover,
.woocommerce a.button:not(.alt):not(.added_to_cart):hover,
.acehome-btn-secondary:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background-color: transparent;
  text-decoration: none;
}

/* --- Add to Cart: Rich Charcoal --- */
.woocommerce div.product form.cart .button,
.single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  border: 1px solid var(--color-bg-dark);
  padding: 1.125rem 2.5rem;
  font-size: 0.875rem;
}

.woocommerce div.product form.cart .button:hover,
.single_add_to_cart_button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
  background-color: #333333;
  color: var(--color-text-inverse);
  border-color: #333333;
  box-shadow: 0 4px 16px rgba(26, 26, 26, 0.2);
  transform: translateY(-1px);
  text-decoration: none;
}

/* --- Button Disabled State --- */
button:disabled,
.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
input[type="submit"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}


/* ==========================================================================
   6. ANNOUNCEMENT BAR
   ========================================================================== */

.acehome-announcement-bar,
.kadence-header-row--top,
.site-header .site-top-header-wrap,
.header-top-wrap {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  padding: 0.625rem var(--space-md);
  line-height: 1.4;
}

.acehome-announcement-bar a,
.kadence-header-row--top a,
.site-top-header-wrap a,
.header-top-wrap a {
  color: var(--color-accent-light);
  text-decoration: none;
}

.acehome-announcement-bar a:hover,
.kadence-header-row--top a:hover,
.site-top-header-wrap a:hover,
.header-top-wrap a:hover {
  color: var(--color-accent);
  text-decoration: underline;
}


/* ==========================================================================
   7. NAVIGATION / HEADER
   ========================================================================== */

/* --- Fixed Header --- */
.site-header,
#masthead,
.kadence-header-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- Transparent on page load (JS adds .header-scrolled) --- */
.site-header:not(.header-scrolled),
#masthead:not(.header-scrolled) {
  background-color: transparent;
}

/* --- Solid background on scroll --- */
.site-header.header-scrolled,
#masthead.header-scrolled,
.kadence-header-wrap.header-scrolled {
  background-color: var(--color-bg-secondary);
  box-shadow: 0 1px 0 var(--color-border);
}

/* --- Fallback: if JS not loaded, use solid background --- */
.admin-bar .site-header,
body:not(.acehome-js-loaded) .site-header,
body:not(.acehome-js-loaded) #masthead {
  background-color: var(--color-bg-secondary);
}

/* --- Account for fixed header spacing --- */
body {
  padding-top: 0;
}

.site-header + .site-content,
#masthead + .site-content,
.kadence-header-wrap + .site-content,
.site-header + .site,
.site-header ~ .site-main {
  margin-top: 80px;
}

/* --- Nav Links --- */
.main-navigation a,
.primary-menu a,
.kadence-header-row--main .menu > li > a,
.header-navigation a,
.nav--toggle-sub a,
.kadence-nav a {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-body);
  text-decoration: none;
  padding: 0.5rem 0;
  transition: color 0.3s ease;
  position: relative;
}

.main-navigation a:hover,
.primary-menu a:hover,
.kadence-header-row--main .menu > li > a:hover,
.header-navigation a:hover,
.kadence-nav a:hover {
  color: var(--color-text-primary);
  text-decoration: none;
}

/* --- Gold Underline on Active Page --- */
.main-navigation .current-menu-item > a,
.primary-menu .current-menu-item > a,
.kadence-header-row--main .menu > .current-menu-item > a,
.kadence-nav .current-menu-item > a {
  color: var(--color-text-primary);
}

.main-navigation .current-menu-item > a::after,
.primary-menu .current-menu-item > a::after,
.kadence-header-row--main .menu > .current-menu-item > a::after,
.kadence-nav .current-menu-item > a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--color-accent);
}

/* --- Cart Icon --- */
.header-cart-wrap .header-cart-button,
.kadence-header-cart .header-cart-button {
  color: var(--color-text-primary);
  transition: color 0.3s ease;
}

.header-cart-wrap .header-cart-button:hover,
.kadence-header-cart .header-cart-button:hover {
  color: var(--color-accent);
}

/* --- Cart Item Count Badge --- */
.header-cart-wrap .header-cart-button .header-cart-total,
.kadence-header-cart .header-cart-total {
  background-color: var(--color-accent);
  color: var(--color-text-primary);
  font-family: var(--font-body);
  font-size: 0.625rem;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
}

/* --- Dropdown / Submenu --- */
.sub-menu,
.kadence-header-row--main .sub-menu,
.dropdown-nav-wrap {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  box-shadow: 0 8px 32px rgba(26, 26, 26, 0.08);
  padding: var(--space-sm) 0;
}

.sub-menu a,
.kadence-header-row--main .sub-menu a {
  font-size: 0.8125rem;
  text-transform: none;
  letter-spacing: 0.02em;
  padding: 0.5rem 1.5rem;
  color: var(--color-text-body);
}

.sub-menu a:hover,
.kadence-header-row--main .sub-menu a:hover {
  color: var(--color-accent);
  background-color: var(--color-accent-glow);
}


/* ==========================================================================
   8. FOOTER
   ========================================================================== */

.site-footer,
footer.site-footer,
.kadence-footer-wrap,
#colophon {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  padding: var(--space-4xl) var(--space-xl) var(--space-2xl);
  border-top: 1px solid var(--color-accent);
}

/* --- Footer 4-Column Layout --- */
.site-footer .footer-widget-area,
.kadence-footer-wrap .footer-widget-area,
.footer-columns,
.site-footer .kadence-footer-column-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-2xl);
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Footer Headings --- */
.site-footer h3,
.site-footer h4,
.site-footer .widget-title,
.kadence-footer-wrap .widget-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-text-inverse);
  margin-bottom: var(--space-lg);
}

/* --- Footer Body Text --- */
.site-footer p,
.site-footer li,
.kadence-footer-wrap p {
  color: var(--color-text-muted);
  font-size: 0.875rem;
  line-height: 1.8;
}

/* --- Footer Links --- */
.site-footer a,
.kadence-footer-wrap a {
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color 0.3s ease;
}

.site-footer a:hover,
.kadence-footer-wrap a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

/* --- Footer Bottom / Copyright --- */
.site-footer .footer-bottom,
.site-footer .site-info,
.kadence-footer-wrap .site-footer-bottom-wrap {
  border-top: 1px solid var(--color-bg-dark-secondary);
  margin-top: var(--space-3xl);
  padding-top: var(--space-xl);
  text-align: center;
  color: var(--color-text-muted);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.site-footer .footer-bottom a,
.site-footer .site-info a {
  color: var(--color-text-muted);
}

.site-footer .footer-bottom a:hover,
.site-footer .site-info a:hover {
  color: var(--color-accent);
}


/* ==========================================================================
   9. WOOCOMMERCE — PRODUCT GRID (CARDS)
   ========================================================================== */

/* --- Product Grid Layout --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-xl);
  padding: 0;
  list-style: none;
}

/* --- Product Card --- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  padding: 0;
  margin: 0;
  width: 100% !important;
  float: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08);
}

/* --- Product Card Image Area --- */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products li.product a:first-child {
  display: block;
  overflow: hidden;
}

/* --- Product Card Content Wrapper --- */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product > a:not(:first-child),
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: var(--space-md) var(--space-lg);
}

/* --- Brand Name (Category as overline) --- */
.woocommerce ul.products li.product .acehome-product-brand,
.woocommerce ul.products li.product .product-category {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-xs);
  display: block;
}

/* --- Product Name --- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.3;
  margin: 0;
  padding: var(--space-sm) var(--space-lg) var(--space-xs);
}

/* --- Product Price --- */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price > span {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 1rem;
  color: var(--color-text-primary);
  padding: 0 var(--space-lg) var(--space-lg);
  display: block;
}

.woocommerce ul.products li.product .price del {
  color: var(--color-text-muted);
  font-weight: 300;
  opacity: 0.6;
}

/* --- HIDE: "Sale!" Badge --- */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce-page span.onsale,
span.onsale {
  display: none !important;
}

/* --- HIDE: Star Ratings When 0 Reviews --- */
.woocommerce ul.products li.product .star-rating,
.woocommerce .products .star-rating {
  display: none;
}

/* --- Product Card Add to Cart (Grid Button) --- */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: none;
  padding: 0.875rem var(--space-lg);
  width: 100%;
  text-align: center;
  margin: 0;
  display: block;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background-color: #333333;
  color: var(--color-text-inverse);
  text-decoration: none;
}


/* ==========================================================================
   10. WOOCOMMERCE — SINGLE PRODUCT PAGE
   ========================================================================== */

/* --- Product Page Layout --- */
.woocommerce div.product {
  padding-top: var(--space-2xl);
}

/* --- Gallery: Large Left Side --- */
.woocommerce div.product div.images {
  width: 55%;
  float: left;
}

.woocommerce div.product div.images img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- Product Summary: Right Side --- */
.woocommerce div.product div.summary {
  width: 40%;
  float: right;
  padding-left: var(--space-2xl);
}

/* --- Product Title --- */
.woocommerce div.product .product_title {
  font-family: var(--font-display);
  font-weight: 500;
  margin-bottom: var(--space-md);
}

/* --- Product Price (Single) --- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 1.5rem;
  color: var(--color-text-primary);
  margin-bottom: var(--space-lg);
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--color-text-muted);
  font-weight: 300;
  opacity: 0.6;
}

/* --- Short Description --- */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.25rem);
  color: var(--color-text-body);
  line-height: 1.7;
  margin-bottom: var(--space-xl);
}

/* --- Quantity Input --- */
.woocommerce div.product form.cart .quantity input[type="number"],
.woocommerce .quantity .qty {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  border: 1px solid var(--color-border);
  padding: 0.75rem 1rem;
  width: 70px;
  text-align: center;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
}

.woocommerce div.product form.cart .quantity input[type="number"]:focus,
.woocommerce .quantity .qty:focus {
  border-color: var(--color-accent);
  outline: none;
  box-shadow: 0 0 0 2px var(--color-accent-glow);
}

/* --- HIDE: SKU --- */
.woocommerce div.product .product_meta .sku_wrapper {
  display: none !important;
}

/* --- HIDE: Stock Quantity Numbers (Show Only Status) --- */
.woocommerce div.product .stock {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce div.product .stock.in-stock {
  color: var(--color-success);
}

.woocommerce div.product .stock.out-of-stock {
  color: var(--color-error);
}

/* --- Product Meta (Categories, Tags) --- */
.woocommerce div.product .product_meta {
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.woocommerce div.product .product_meta a {
  color: var(--color-text-muted);
}

.woocommerce div.product .product_meta a:hover {
  color: var(--color-accent);
}

/* --- Trust Icons Below Add to Cart --- */
.acehome-trust-icons {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border);
}

.acehome-trust-icons .trust-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  letter-spacing: 0.02em;
}

.acehome-trust-icons .trust-item svg,
.acehome-trust-icons .trust-item .trust-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--color-accent);
  fill: currentColor;
}

/* --- Product Tabs --- */
.woocommerce div.product .woocommerce-tabs {
  clear: both;
  padding-top: var(--space-3xl);
  margin-top: var(--space-3xl);
  border-top: 1px solid var(--color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-xl) 0;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  gap: var(--space-xl);
  background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
  padding: var(--space-md) 0;
  display: block;
  transition: color 0.3s ease;
  background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-text-primary);
  text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: none;
  border: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-text-primary);
}

/* --- Gold Active Underline on Tabs --- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--color-accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--space-xl) 0;
  font-family: var(--font-body);
  color: var(--color-text-body);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: var(--space-lg);
}

/* --- Related Products: Rename to "You might also appreciate" via CSS content --- */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: var(--space-2xl);
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

.woocommerce div.product .related.products > h2::after {
  content: 'You might also appreciate';
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  line-height: 1.2;
  display: block;
}

.woocommerce div.product .upsells.products > h2::after {
  content: 'You might also appreciate';
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  line-height: 1.2;
  display: block;
}


/* ==========================================================================
   11. WOOCOMMERCE — CART DRAWER (SLIDE-OUT)
   ========================================================================== */

/* --- Slide-Out Panel --- */
.kadence-slide-cart,
.cart-drawer,
.woo-cart-drawer,
.header-cart-wrap .header-cart-inner-wrap .cart-popup,
.kadence-header-cart .header-cart-inner-wrap .cart-popup,
#cart-drawer {
  background-color: var(--color-bg-primary);
  box-shadow: -8px 0 40px rgba(26, 26, 26, 0.15);
  width: 420px;
  max-width: 90vw;
}

/* --- Cart Drawer Header --- */
.kadence-slide-cart .cart-drawer-header,
.cart-drawer .drawer-header,
#cart-drawer .drawer-header {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  padding: var(--space-lg) var(--space-xl);
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
}

.kadence-slide-cart .cart-drawer-header .close-drawer,
.cart-drawer .drawer-close,
#cart-drawer .close-btn {
  color: var(--color-text-inverse);
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.kadence-slide-cart .cart-drawer-header .close-drawer:hover,
.cart-drawer .drawer-close:hover {
  opacity: 1;
}

/* --- Cart Drawer Product List --- */
.kadence-slide-cart .cart-drawer-items,
.cart-drawer .drawer-items {
  padding: var(--space-lg) var(--space-xl);
}

.kadence-slide-cart .cart-drawer-items .mini_cart_item,
.cart-drawer .cart-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--color-border);
}

.kadence-slide-cart .cart-drawer-items .mini_cart_item img,
.cart-drawer .cart-item img {
  width: 64px;
  height: 64px;
  object-fit: cover;
}

.kadence-slide-cart .cart-drawer-items .mini_cart_item a,
.cart-drawer .cart-item .item-name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text-primary);
}

/* --- Cart Drawer Checkout Button: Gold --- */
.kadence-slide-cart .cart-drawer-footer .button,
.kadence-slide-cart .cart-drawer-footer .checkout,
.cart-drawer .drawer-footer .button,
.woocommerce .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout,
.mini_cart_content .woocommerce-mini-cart__buttons .checkout {
  background-color: var(--color-accent);
  color: var(--color-text-primary);
  border: 1px solid var(--color-accent);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1rem 2rem;
  width: 100%;
  text-align: center;
  display: block;
}

.kadence-slide-cart .cart-drawer-footer .button:hover,
.kadence-slide-cart .cart-drawer-footer .checkout:hover,
.cart-drawer .drawer-footer .button:hover,
.woocommerce .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout:hover {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  box-shadow: 0 4px 16px rgba(184, 151, 90, 0.25);
  transform: translateY(-1px);
  text-decoration: none;
}

/* --- Cart Drawer "View Cart" link --- */
.woocommerce .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout),
.mini_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: var(--space-sm);
}

.woocommerce .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

/* --- Cart Drawer Overlay --- */
.kadence-slide-cart-overlay,
.cart-drawer-overlay,
.drawer-overlay {
  background-color: rgba(26, 26, 26, 0.5);
  backdrop-filter: blur(2px);
}


/* ==========================================================================
   12. WOOCOMMERCE — CART & CHECKOUT PAGES
   ========================================================================== */

/* --- Cart Table --- */
.woocommerce table.shop_table {
  border: 1px solid var(--color-border);
  border-collapse: collapse;
}

.woocommerce table.shop_table th {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
  background-color: var(--color-bg-secondary);
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--color-border);
}

.woocommerce table.shop_table td {
  padding: var(--space-lg);
  border-bottom: 1px solid var(--color-border);
  font-family: var(--font-body);
  vertical-align: middle;
}

.woocommerce table.shop_table td.product-name a {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-text-primary);
}

.woocommerce table.shop_table td.product-name a:hover {
  color: var(--color-accent);
}

/* --- Cart Totals --- */
.woocommerce .cart_totals {
  background-color: var(--color-bg-secondary);
  padding: var(--space-xl);
  border: 1px solid var(--color-border);
}

.woocommerce .cart_totals h2 {
  font-family: var(--font-display);
  margin-bottom: var(--space-lg);
}

/* --- Checkout Form --- */
.woocommerce-checkout .woocommerce-form-row input,
.woocommerce-checkout .woocommerce-form-row select,
.woocommerce-checkout .woocommerce-form-row textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  border: 1px solid var(--color-border);
  padding: 0.875rem 1rem;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}

.woocommerce-checkout .woocommerce-form-row input:focus,
.woocommerce-checkout .woocommerce-form-row select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--color-accent);
  outline: none;
  box-shadow: 0 0 0 2px var(--color-accent-glow);
}

.woocommerce-checkout .woocommerce-form-row label,
.woocommerce form .form-row label {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: var(--space-xs);
}

/* --- Order Review Table --- */
.woocommerce-checkout #order_review {
  background-color: var(--color-bg-secondary);
  padding: var(--space-xl);
  border: 1px solid var(--color-border);
}

/* --- Place Order Button --- */
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order {
  background-color: var(--color-accent);
  color: var(--color-text-primary);
  border: 1px solid var(--color-accent);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1.125rem 2.5rem;
  width: 100%;
}

.woocommerce #payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  box-shadow: 0 4px 16px rgba(184, 151, 90, 0.25);
  transform: translateY(-1px);
}

/* --- Payment Methods --- */
.woocommerce-checkout #payment {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
}

.woocommerce-checkout #payment .payment_methods li {
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-md) var(--space-lg);
}

.woocommerce-checkout #payment .payment_methods li label {
  font-family: var(--font-body);
  font-weight: 500;
}


/* ==========================================================================
   13. WOOCOMMERCE — MISC OVERRIDES
   ========================================================================== */

/* --- Breadcrumbs --- */
.woocommerce .woocommerce-breadcrumb,
.kadence-breadcrumbs {
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: var(--color-text-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: var(--space-lg) 0;
}

.woocommerce .woocommerce-breadcrumb a,
.kadence-breadcrumbs a {
  color: var(--color-text-muted);
}

.woocommerce .woocommerce-breadcrumb a:hover,
.kadence-breadcrumbs a:hover {
  color: var(--color-accent);
}

/* --- Pagination --- */
.woocommerce nav.woocommerce-pagination ul,
.navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
  padding-top: var(--space-2xl);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.navigation.pagination .nav-links a,
.navigation.pagination .nav-links span.current {
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.625rem 1rem;
  border: 1px solid var(--color-border);
  color: var(--color-text-body);
  background: var(--color-bg-primary);
  text-decoration: none;
  transition: all 0.3s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.navigation.pagination .nav-links a:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.navigation.pagination .nav-links span.current {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  border-color: var(--color-bg-dark);
}

/* --- Messages (Notices) --- */
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--color-accent);
  background-color: var(--color-accent-glow);
  color: var(--color-text-primary);
  font-family: var(--font-body);
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--color-accent);
}

.woocommerce-error {
  border-top-color: var(--color-error);
  background-color: rgba(199, 92, 92, 0.08);
  color: var(--color-text-primary);
}

/* --- Result Count & Ordering --- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.woocommerce .woocommerce-ordering select {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  border: 1px solid var(--color-border);
  padding: 0.5rem 1rem;
  background-color: var(--color-bg-primary);
  color: var(--color-text-body);
}

/* --- Reviews --- */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--color-border);
  padding: var(--space-lg);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.woocommerce #reviews .star-rating {
  color: var(--color-accent);
}

/* --- Widgets / Sidebar --- */
.widget-title,
.woocommerce .widget-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: var(--space-lg);
}

.widget ul li a,
.woocommerce .widget ul li a {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  color: var(--color-text-body);
}

.widget ul li a:hover,
.woocommerce .widget ul li a:hover {
  color: var(--color-accent);
}

/* --- Price Filter Widget --- */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: var(--color-border);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--color-accent);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background-color: var(--color-accent);
  border: 2px solid var(--color-bg-primary);
  box-shadow: 0 2px 8px rgba(184, 151, 90, 0.3);
}

/* --- Empty Cart --- */
.woocommerce .cart-empty,
.woocommerce .wc-empty-cart-message {
  font-family: var(--font-display);
  font-size: 1.5rem;
  text-align: center;
  color: var(--color-text-muted);
  padding: var(--space-4xl) 0;
}

/* --- Product Search --- */
.woocommerce-product-search input[type="search"] {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  border: 1px solid var(--color-border);
  padding: 0.75rem 1rem;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
}

.woocommerce-product-search input[type="search"]:focus {
  border-color: var(--color-accent);
  outline: none;
  box-shadow: 0 0 0 2px var(--color-accent-glow);
}


/* ==========================================================================
   14. "WHY WE PICKED THIS" EDITORIAL BOX
   ========================================================================== */

.acehome-why-picked {
  border-left: 3px solid var(--color-accent);
  background: var(--color-bg-secondary);
  padding: var(--space-lg) var(--space-xl);
  margin: var(--space-xl) 0;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  color: var(--color-text-body);
  line-height: 1.7;
}

.acehome-why-picked strong,
.acehome-why-picked .picked-label {
  font-style: normal;
  font-weight: 600;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-accent);
  display: block;
  margin-bottom: var(--space-xs);
}


/* ==========================================================================
   15. UTILITY CLASSES
   ========================================================================== */

/* --- Section Padding (96px top/bottom) --- */
.acehome-section-padding {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}

/* --- Narrow Content (for text/editorial pages) --- */
.acehome-narrow {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Overline (Cormorant Italic, caps, gold) --- */
.acehome-overline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 0.8125rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--color-accent);
  display: block;
  margin-bottom: var(--space-sm);
}

/* --- Muted Text --- */
.acehome-text-muted {
  color: var(--color-text-muted);
  font-size: 0.875rem;
}

/* --- Gold Divider Line --- */
.acehome-gold-divider {
  border: none;
  height: 1px;
  background-color: var(--color-accent);
  margin: var(--space-2xl) 0;
}

/* --- Visually Hidden (Accessible) --- */
.acehome-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --- General Content Container --- */
.acehome-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-xl);
  padding-right: var(--space-xl);
}

/* --- Flex Utilities --- */
.acehome-flex {
  display: flex;
}

.acehome-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.acehome-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* --- Text Alignment --- */
.acehome-text-center {
  text-align: center;
}


/* ==========================================================================
   16. RESPONSIVE — TABLET (max-width: 1024px)
   ========================================================================== */

@media screen and (max-width: 1024px) {

  /* --- Product Grid: 3 Columns --- */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
  }

  /* --- Side Padding --- */
  body,
  .site-container,
  .acehome-container {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
  }

  /* --- Single Product: Stack Layout --- */
  .woocommerce div.product div.images {
    width: 100%;
    float: none;
    margin-bottom: var(--space-2xl);
  }

  .woocommerce div.product div.summary {
    width: 100%;
    float: none;
    padding-left: 0;
  }

  /* --- Footer: 2 Columns --- */
  .site-footer .footer-widget-area,
  .kadence-footer-wrap .footer-widget-area,
  .footer-columns,
  .site-footer .kadence-footer-column-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2xl);
  }

  /* --- Section Padding Reduction --- */
  .acehome-section-padding {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
}


/* ==========================================================================
   17. RESPONSIVE — MOBILE (max-width: 767px)
   ========================================================================== */

@media screen and (max-width: 767px) {

  /* --- Product Grid: 2 Columns --- */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }

  /* --- Side Padding --- */
  body,
  .site-container,
  .acehome-container {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }

  /* --- Footer: Single Column --- */
  .site-footer .footer-widget-area,
  .kadence-footer-wrap .footer-widget-area,
  .footer-columns,
  .site-footer .kadence-footer-column-wrap {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  /* --- Footer Padding --- */
  .site-footer,
  footer.site-footer,
  .kadence-footer-wrap,
  #colophon {
    padding: var(--space-3xl) var(--space-md) var(--space-xl);
  }

  /* --- Section Padding Reduction --- */
  .acehome-section-padding {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }

  /* --- Cart Drawer: Full Width on Small Screens --- */
  .kadence-slide-cart,
  .cart-drawer,
  .woo-cart-drawer,
  #cart-drawer {
    width: 100%;
    max-width: 100vw;
  }

  /* --- Header Spacing --- */
  .site-header + .site-content,
  #masthead + .site-content,
  .kadence-header-wrap + .site-content,
  .site-header + .site,
  .site-header ~ .site-main {
    margin-top: 60px;
  }

  /* --- Mobile Product Card Content Padding --- */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 {
    padding: var(--space-sm) var(--space-md) var(--space-xs);
    font-size: 1.125rem;
  }

  .woocommerce ul.products li.product .price {
    padding: 0 var(--space-md) var(--space-md);
    font-size: 0.875rem;
  }

  /* --- Buttons: Full Width on Mobile --- */
  .woocommerce div.product form.cart .button,
  .single_add_to_cart_button,
  .woocommerce div.product .single_add_to_cart_button {
    width: 100%;
    text-align: center;
  }

  /* --- Trust Icons: Compact --- */
  .acehome-trust-icons {
    gap: var(--space-xs);
  }

  .acehome-trust-icons .trust-item {
    font-size: 0.75rem;
  }

  /* --- Tabs: Scrollable on Mobile --- */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: var(--space-lg);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    white-space: nowrap;
  }

  /* --- Narrow Content: Full Width on Mobile --- */
  .acehome-narrow {
    max-width: 100%;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
}

/* --- Extra Small Screens (max-width: 479px) --- */
@media screen and (max-width: 479px) {

  /* --- Product Grid: 1 Column --- */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr;
  }

  /* --- Hero Text: Prevent Overflow --- */
  .acehome-hero-display,
  .hero-section h1 {
    font-size: clamp(2.25rem, 2rem + 3vw, 3.5rem);
  }
}


/* ==========================================================================
   END OF STYLESHEET — ACE Home v1.0.0
   ========================================================================== */
