/*
Theme Name: Gentle Moms Club
Theme URI: https://gentlemomsclub.com
Author: Gentle Moms Club
Description: A custom WordPress + WooCommerce theme for Gentle Moms Club, featuring a dedicated CSS design system with .gmc-* classes. All styling is controlled by the theme's style.css; WooCommerce default styles are disabled.
Version: 1.0.0
Text Domain: gentlemomsclub
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ============================================
   GENTLE MOMS CLUB DESIGN SYSTEM
   
   CSS ARCHITECTURE:
   - Base utilities (.gmc-container, .gmc-section) are shared
   - Header: #masthead.site-header (100% isolated)
   - Footer: .site-footer (100% isolated)  
   - Full-width: .gmc-post-fullwidth (100% isolated)
   - Box layout: .gmc-post-box (100% isolated)
   
   Each section uses !important on its container overrides
   to prevent conflicts. Base .gmc-container should NEVER
   be modified - only overridden within specific sections.
   ============================================ */

#kt-scroll-up{
  cursor: pointer;
}

/* ================================
   GENTLE MOMS CLUB – GLOBAL STYLES
   ================================ */

:root {
  --gmc-bg: #fffdfb;
  --gmc-surface: #ffffff;
  --gmc-surface-soft: #fff7f3;
  --gmc-primary: #f48ca8;       /* soft pink */
  --gmc-primary-dark: #e16c8e;
  --gmc-secondary: #f0c27b;     /* warm gold */
  --gmc-accent: #7ec6c7;        /* soft teal */
  --gmc-text: #263238;
  --gmc-text-soft: #5f6b73;
  --gmc-border-soft: #f1e2da;
  --gmc-radius-lg: 18px;
  --gmc-radius-md: 12px;
  --gmc-shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.08);
  --gmc-shadow-light: 0 12px 25px rgba(15, 23, 42, 0.06);
}

/* Let Kadence styre grund-typografi, vi justerer kun detaljer */

/* Base Reset */
* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden;
  /* Prevent layout shifts from scrollbar */
  scrollbar-gutter: stable;
}

body {
  background: var(--gmc-bg);
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto; /* Explicitly allow vertical scrolling */
  /* Prevent layout shifts from scrollbar */
  scrollbar-gutter: stable;
  /* Account for sticky header when scrolling to anchors */
  scroll-padding-top: 80px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--gmc-text);
  /* Prevent any horizontal scroll */
  position: relative;
  height: auto;
  min-height: 100vh;
}

/* Generic layout helpers */

.gmc-section {
  padding: 4.5rem 1.5rem;
}

.gmc-center {
  padding-top: 50px;
  text-align: center;
}

.gmc-grid {
  display: grid;
  gap: 1.75rem;
}

.gmc-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gmc-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* On mobile: stack grids */

@media (max-width: 900px) {
  .gmc-section {
    padding: 3.5rem 1.25rem;
  }
  .gmc-grid-2,
  .gmc-grid-3 {
    grid-template-columns: 1fr;
  }
}

/* Override section padding on mobile to max 7px */
@media (max-width: 767px) {
  .gmc-section {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

/* ============================================
   MOBILE RESPONSIVE - MAX 7PX PADDING ON SMARTPHONES
   ============================================ */

/* Global mobile padding override - max 7px left/right on smartphones */
/* This applies to ALL pages, not just cart/checkout */
@media (max-width: 767px) {
  /* Remove ALL horizontal padding/margin from body and html */
  body,
  html {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Base container - reduce padding to max 7px - applies to ALL pages */
  .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
    max-width: 100% !important;
  }

  /* All sections - reduce horizontal padding */
  .gmc-section {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Full width content areas - ALL pages - CRITICAL: remove all padding first */
  .gmc-post-fullwidth,
  .gmc-post-fullwidth-content,
  .gmc-post-box {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Then add 7px only to the inner container */
  .gmc-post-fullwidth .gmc-container,
  .gmc-post-fullwidth-content .gmc-container,
  .gmc-post-box .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Nested containers - prevent padding stacking on ALL pages - MUST be 0 */
  .gmc-container .gmc-container,
  .gmc-section .gmc-container,
  .gmc-post-fullwidth .gmc-container,
  .gmc-post-fullwidth-content .gmc-container,
  .gmc-post-box .gmc-container,
  .gmc-container > .gmc-container,
  .gmc-section > .gmc-container,
  .gmc-post-fullwidth > .gmc-container,
  .gmc-post-fullwidth-content > .gmc-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Site wrapper elements - remove padding */
  #page,
  .site,
  .site-main,
  main,
  .content-area,
  .site-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Ensure wrapper divs don't add padding */
  div[class*="wrapper"],
  div[class*="container"]:not(.gmc-container) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Only .gmc-container should have 7px padding (not nested ones) */
  .gmc-container:not(.gmc-container .gmc-container) {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Shop pages */
  body.woocommerce .gmc-container,
  body.woocommerce-shop .gmc-container,
  body.single-product .gmc-container,
  body.archive .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Cart and checkout pages */
  body.woocommerce-cart .gmc-container,
  body.woocommerce-checkout .gmc-container,
  body.woocommerce-cart .gmc-cart-layout,
  body.woocommerce-checkout .gmc-checkout-grid {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Remove nested padding in cart/checkout */
  body.woocommerce-cart .gmc-container .gmc-cart-layout,
  body.woocommerce-checkout .gmc-container .gmc-checkout-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero sections - ALL pages */
  .gmc-hero,
  .gmc-hero .gmc-container,
  .gmc-hero-section,
  .gmc-hero-section .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Blog/Post pages */
  body.single-post .gmc-container,
  body.blog .gmc-container,
  body.archive .gmc-container,
  body.page .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Front page */
  body.home .gmc-container,
  body.front-page .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Buttons and CTAs - keep some padding for touch targets */
  .gmc-btn,
  .button,
  button,
  input[type="submit"],
  input[type="button"] {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Override specific GMC wrapper classes that might have padding */
  .gmc-wrapper,
  .gmc-content,
  .gmc-inner,
  .gmc-main-content {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

  /* Extra small devices (phones in portrait, less than 480px) */
/* Applies to ALL pages - not just cart/checkout */
@media (max-width: 479px) {
  /* Remove ALL horizontal spacing from body/html */
  body,
  html {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Force 7px max padding on ALL containers and sections - ALL pages */
  .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
    max-width: 100% !important;
  }

  .gmc-section {
    padding-left: 7px !important;
    padding-right: 7px !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  /* Full width wrappers - remove ALL padding */
  .gmc-post-fullwidth,
  .gmc-post-fullwidth-content,
  .gmc-post-box {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Hero sections */
  .gmc-hero {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Site wrapper elements - remove padding */
  #page,
  .site,
  .site-main,
  main {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Ensure no nested padding issues on ALL pages */
  * {
    box-sizing: border-box;
  }

  /* Remove all horizontal padding from nested containers - CRITICAL */
  .gmc-container > *,
  .gmc-section > *,
  .gmc-post-fullwidth-content,
  .gmc-post-box-content,
  .entry-content,
  .entry-content > *,
  .gmc-post-fullwidth-content > *,
  .gmc-post-box > *,
  .gmc-hero > *,
  .gmc-post-fullwidth > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove padding from article wrappers */
  article.gmc-post-box-content,
  article.gmc-post-fullwidth-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove padding from WooCommerce wrapper inside entry-content */
  .entry-content .woocommerce,
  .entry-content .gmc-section,
  .entry-content .gmc-cart-layout,
  .entry-content .gmc-checkout-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove padding from all article and entry wrappers */
  article,
  .entry-content,
  .entry-header,
  .gmc-post-box-content,
  .gmc-post-fullwidth-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove padding from nested divs inside entry-content */
  .entry-content > div,
  .entry-content > div > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Only .gmc-container inside entry-content should have padding */
  .entry-content .gmc-container,
  .entry-content .gmc-section .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* But allow ONLY the direct .gmc-container to have 7px */
  .gmc-post-fullwidth > .gmc-container,
  .gmc-post-fullwidth-content > .gmc-container,
  .gmc-post-box > .gmc-container,
  .gmc-section > .gmc-container,
  .entry-content > .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Override any page-specific padding - ALL page types */
  body.woocommerce .gmc-container,
  body.woocommerce-shop .gmc-container,
  body.single-product .gmc-container,
  body.archive .gmc-container,
  body.blog .gmc-container,
  body.single-post .gmc-container,
  body.page .gmc-container,
  body.home .gmc-container,
  body.front-page .gmc-container,
  body.woocommerce-cart .gmc-container,
  body.woocommerce-checkout .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

/* Section headers */

.gmc-section-header {
  max-width: 720px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

/* Reduce section header margin on shop page */
#gmc-shop-page .gmc-section-header {
  margin-bottom: 1.75rem !important;
}

.gmc-section-header h2 {
  font-size: clamp(1.9rem, 2.4vw, 2.4rem);
  margin-bottom: 0.5rem;
  color: var(--gmc-text);
}

.gmc-section-header p {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

/* Base container - DO NOT MODIFY - Used by multiple sections */
.gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

/* =============================
   HERO
   ============================= */

.gmc-hero {
  padding-top: 5rem;
  padding-bottom: 4rem;
  background: radial-gradient(circle at top left, #ffe7f0 0, transparent 45%),
              radial-gradient(circle at top right, #ffecc5 0, transparent 45%),
              #fffdfb;
}

.gmc-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}

.gmc-hero-text h1 {
  font-size: clamp(2.3rem, 3vw, 2.9rem);
  line-height: 1.15;
  margin-bottom: 1rem;
  color: var(--gmc-text);
}

.gmc-eyebrow {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gmc-primary-dark);
  font-weight: 600;
  margin-bottom: 0.8rem;
}

.gmc-subtitle {
  font-size: 1.02rem;
  color: var(--gmc-text-soft);
  line-height: 1.8;
  max-width: 34rem;
}

.gmc-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: 1.75rem 0 1.25rem;
}

.gmc-hero-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--gmc-text-soft);
  font-size: 0.95rem;
}

.gmc-hero-bullets li::before {
  content: "•";
  color: var(--gmc-secondary);
  display: inline-block;
  margin-right: 0.35rem;
}

.gmc-hero-media {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gmc-hero-image {
  width: 100%;
  max-width: 480px;
  border-radius: 26px;
  box-shadow: var(--gmc-shadow-soft);
  border: 1px solid rgba(255, 255, 255, 0.8);
  object-fit: cover;
  transform: translateY(0);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.gmc-hero-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.16);
}

@media (max-width: 900px) {
  .gmc-hero-inner {
    grid-template-columns: 1fr;
  }
  .gmc-hero-text {
    order: 2;
    text-align: left;
  }
  .gmc-hero-media {
    order: 1;
  }
}

/* Buttons */

.gmc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: all 180ms ease;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.gmc-btn-primary {
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  box-shadow: var(--gmc-shadow-light);
}

.gmc-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(244, 140, 168, 0.35);
}

.gmc-btn-secondary {
  background: #fff;
  color: var(--gmc-text);
  border-color: rgba(15, 23, 42, 0.08);
}

.gmc-btn-secondary:hover {
  border-color: var(--gmc-primary);
  box-shadow: var(--gmc-shadow-light);
  transform: translateY(-1px);
}

.gmc-btn-ghost {
  background: rgba(255, 255, 255, 0.7);
  color: var(--gmc-primary-dark);
  border-color: rgba(244, 140, 168, 0.25);
}

.gmc-btn-ghost:hover {
  background: #fff;
  box-shadow: var(--gmc-shadow-light);
}

/* Strip */

.gmc-strip {
  padding: 0.9rem 1.5rem;
  background: #fff7f0;
  border-top: 1px solid #ffe3c3;
  border-bottom: 1px solid #ffe3c3;
}

.gmc-strip-inner {
  text-align: center;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

/* =============================
   CARDS / UNIVERSAL SURFACES
   ============================= */

.gmc-card {
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  padding: 1.4rem 1.5rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  /* Prevent layout shifts on hover */
  will-change: transform;
  contain: layout style paint;
  box-sizing: border-box;
}

/* Card mobile padding - ensure content doesn't touch borders */
/* HIGH PRIORITY - Must override all other rules */
@media (max-width: 767px) {
  /* All card variants - comprehensive coverage */
  .gmc-card,
  .gmc-card-highlight,
  .gmc-product-card,
  article.gmc-card,
  article.gmc-card-highlight,
  article.gmc-product-card,
  .gmc-card.gmc-card-highlight,
  .gmc-card.gmc-product-card,
  .gmc-card.gmc-step,
  .gmc-card.gmc-quote,
  .gmc-card.gmc-blog-card,
  .gmc-card-highlight.gmc-product-card {
    padding: 1rem 7px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Email signup form */
  .gmc-free-signup {
    padding: 1.75rem 7px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Ensure all content inside cards has proper spacing */
  .gmc-card > *,
  .gmc-card-highlight > *,
  .gmc-product-card > *,
  article.gmc-card > *,
  article.gmc-card-highlight > *,
  article.gmc-product-card > *,
  .gmc-free-signup > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Product card image should still be full width with no padding */
  .gmc-product-card .gmc-product-image,
  article.gmc-product-card .gmc-product-image {
    margin-left: -7px !important;
    margin-right: -7px !important;
    margin-top: -1rem !important; /* Negative margin to remove card padding */
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: calc(100% + 14px) !important;
    max-width: calc(100% + 14px) !important;
    border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
    border-top-left-radius: var(--gmc-radius-md) !important;
    border-top-right-radius: var(--gmc-radius-md) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .gmc-product-card .gmc-product-image img,
  article.gmc-product-card .gmc-product-image img {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
    border-top-left-radius: var(--gmc-radius-md) !important;
    border-top-right-radius: var(--gmc-radius-md) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  /* Text content inside cards - ensure no extra padding */
  .gmc-card h3,
  .gmc-card p,
  .gmc-card-highlight h3,
  .gmc-card-highlight p,
  .gmc-product-card h3,
  .gmc-product-card p,
  .gmc-product-card .gmc-product-meta,
  .gmc-product-card .gmc-product-desc,
  /* Buttons in product cards - full width on mobile for better touch targets */
  .gmc-product-card .gmc-btn,
  .gmc-card .gmc-btn,
  .gmc-card-highlight .gmc-btn,
  article.gmc-product-card .gmc-btn,
  article.gmc-card .gmc-btn,
  article.gmc-card-highlight .gmc-btn {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* WooCommerce product cards in grid */
  .gmc-woocommerce-grid ul.products li.product,
  body.woocommerce ul.products li.product {
    padding: 0 0 1rem 0 !important;
  }

  .gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__link,
  body.woocommerce ul.products li.product .woocommerce-loop-product__link {
    padding: 0 7px !important;
  }

  .gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  .gmc-woocommerce-grid ul.products li.product h2,
  body.woocommerce ul.products li.product h2,
  .gmc-woocommerce-grid ul.products li.product .price,
  body.woocommerce ul.products li.product .price,
  .gmc-woocommerce-grid ul.products li.product .button,
  body.woocommerce ul.products li.product .button {
    padding-left: 7px !important;
    padding-right: 7px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.gmc-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--gmc-shadow-light);
  border-color: rgba(244, 140, 168, 0.45);
}

/* Featured Bundle Card */
.gmc-featured-bundle-card {
  padding: 0 !important;
  overflow: hidden;
}

.gmc-featured-bundle-inner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 2.5rem;
  align-items: start;
}

.gmc-featured-bundle-image {
  width: 100%;
}

.gmc-featured-bundle-image img.gmc-bundle-product-image {
  width: 100%;
  height: auto;
  border-radius: var(--gmc-radius-md);
  display: block;
}

.gmc-featured-bundle-content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.gmc-featured-bundle-title {
  margin: 0 !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.gmc-featured-bundle-title a {
  color: var(--gmc-text);
  text-decoration: none;
  transition: color 180ms ease;
}

.gmc-featured-bundle-title a:hover {
  color: var(--gmc-primary-dark);
}

.gmc-featured-bundle-price {
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  margin: 0 !important;
}

.gmc-featured-bundle-description {
  color: var(--gmc-text-soft);
  line-height: 1.7;
  margin: 0;
}

.gmc-featured-bundle-description p {
  margin: 0 0 0.75rem 0;
}

.gmc-featured-bundle-description p:last-child {
  margin-bottom: 0;
}

.gmc-featured-bundle-includes {
  padding: 1.25rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-includes-title {
  margin: 0 0 0.75rem 0 !important;
  font-size: 0.95rem;
  color: var(--gmc-text);
}

.gmc-bundle-includes-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.gmc-bundle-includes-list li {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  padding: 0;
  margin: 0;
}

.gmc-featured-bundle-cta {
  margin-top: 0.5rem;
}

.gmc-bundle-add-to-cart,
.gmc-bundle-view-product {
  display: inline-block !important;
  padding: 1rem 2rem !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease !important;
  cursor: pointer !important;
  width: auto !important;
}

.gmc-bundle-add-to-cart:hover,
.gmc-bundle-view-product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
  color: #fff !important;
}

.gmc-bundle-reassurance {
  margin: 0 !important;
  padding: 1rem 1.25rem !important;
  background: rgba(244, 140, 168, 0.08);
  border-radius: var(--gmc-radius-md);
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
}

.gmc-bundle-reassurance strong {
  color: var(--gmc-primary-dark);
  font-weight: 600;
}

.gmc-bundle-error {
  padding: 2rem;
  text-align: center;
  color: var(--gmc-text-soft);
}

/* Responsive for Featured Bundle Card */
@media (max-width: 768px) {
  .gmc-featured-bundle-inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .gmc-featured-bundle-image {
    text-align: center;
  }
  
  .gmc-bundle-add-to-cart,
  .gmc-bundle-view-product {
    width: 100% !important;
  }
}

.gmc-card h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.gmc-card p {
  margin: 0;
  margin-top: 0.35rem;
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-card-highlight {
  background: linear-gradient(135deg, #fff4f8, #fff7eb);
}

/* =============================
   BENEFITS SECTION
   ============================= */

.gmc-benefits {
  background: #fffdfb;
}

/* =============================
   LEO SECTION
   ============================= */

.gmc-leo {
  background: var(--gmc-surface-soft);
}

.gmc-leo-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
  gap: 2.5rem;
  align-items: center;
}

.gmc-leo-image {
  width: 100%;
  max-width: 420px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: var(--gmc-shadow-soft);
  object-fit: contain;
}

.gmc-leo-text h2 {
  font-size: clamp(1.9rem, 2.2vw, 2.3rem);
  margin-bottom: 0.75rem;
}

.gmc-leo-text p {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-leo-text ul {
  margin: 0.8rem 0 1.4rem;
  padding-left: 1.1rem;
  color: var(--gmc-text-soft);
}

.gmc-leo-text li {
  margin-bottom: 0.3rem;
}

@media (max-width: 900px) {
  .gmc-leo-inner {
    grid-template-columns: 1fr;
  }
  .gmc-leo-text {
    order: 2;
  }
  .gmc-leo-media {
    order: 1;
    text-align: center;
  }
  .gmc-leo-image {
    margin: 0 auto;
  }
}

/* =============================
   FREE LIBRARY
   ============================= */

.gmc-free-signup {
  margin-top: 2.5rem;
  padding: 1.75rem 1.6rem;
  border-radius: var(--gmc-radius-lg);
  background: #fff7fc;
  border: 1px dashed rgba(244, 140, 168, 0.55);
  box-sizing: border-box;
  text-align: center;
}

.gmc-form {
  margin-top: 0.9rem;
}

.gmc-form-row {
  padding-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
}

.gmc-form input[type="email"] {
  min-width: 240px;
  max-width: 340px;
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  font-size: 0.95rem;
}

.gmc-form-note {
  font-size: 0.8rem;
  color: var(--gmc-text-soft);
  margin-top: 0.45rem;
}

@media (max-width: 600px) {
  .gmc-form-row {
    flex-direction: column;
    align-items: stretch;
  }
  .gmc-form input[type="email"],
  .gmc-form .gmc-btn {
    width: 100%;
  }
}

/* =============================
   SHOP / PRODUCTS
   ============================= */

.gmc-shop {
  background: #fffdfb;
}

/* ============================================
   SHOP PAGE - CONSTRAIN ALL CONTENT TO 1120px
   Sections remain full-width for backgrounds,
   but all content inside is constrained
   ============================================ */

/* Remove horizontal padding from shop page sections and reduce vertical padding */
#gmc-shop-page .gmc-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

/* Hero section keeps slightly more padding */
#gmc-shop-page .gmc-shop-hero {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* Reduce spacing for sections before "Browse all" */
#gmc-shop-page .gmc-shop-bundle,
#gmc-shop-page .gmc-shop,
#gmc-shop-page .gmc-free {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* "Browse all" section can have slightly more spacing */
#gmc-shop-page #gmc-all-products {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

/* Ensure all containers inside shop page respect the 1120px constraint */
#gmc-shop-page .gmc-container {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Ensure hero inner container respects constraint */
#gmc-shop-page .gmc-hero-inner {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Ensure section headers are constrained and centered */
#gmc-shop-page .gmc-section-header {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ensure gmc-woocommerce-grid respects container width */
#gmc-shop-page .gmc-woocommerce-grid {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Ensure gmc-card respects container */
#gmc-shop-page .gmc-card {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Ensure gmc-free-signup respects container */
#gmc-shop-page .gmc-free-signup {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ensure gmc-center respects container */
#gmc-shop-page .gmc-center {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.gmc-product-card .gmc-product-image {
  margin-bottom: 0.9rem;
  margin-top: -1.4rem !important; /* Negative margin to remove card top padding */
  margin-left: -1.5rem !important; /* Negative margin to remove card left padding */
  margin-right: -1.5rem !important; /* Negative margin to remove card right padding */
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden;
  border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
  border-top-left-radius: var(--gmc-radius-md) !important;
  border-top-right-radius: var(--gmc-radius-md) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  width: calc(100% + 3rem) !important; /* Compensate for negative margins */
}

.gmc-product-card img {
  width: 100%;
  display: block;
  border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
  border-top-left-radius: var(--gmc-radius-md) !important;
  border-top-right-radius: var(--gmc-radius-md) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  transition: transform 220ms ease;
  margin: 0 !important;
  padding: 0 !important;
}

.gmc-product-card:hover img {
  transform: scale(1.03);
}

.gmc-product-meta {
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gmc-text-soft);
  margin-bottom: 0.4rem;
}

.gmc-product-desc {
  font-size: 0.95rem;
}

/* =============================
   HOW IT WORKS / STEPS
   ============================= */

.gmc-steps .gmc-step {
  position: relative;
  padding-top: 2.1rem;
}

.gmc-step-number {
  position: absolute;
  top: 1.1rem;
  left: 1.3rem;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  background: #fff3f8;
  background-color: #fff3f8;
  color: var(--gmc-primary-dark);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1;
}

/* Ensure step titles have proper spacing to avoid overlap with numbers */
.gmc-step h3 {
  position: relative;
  z-index: 2;
  padding-left: 2.8rem !important; /* Space for the number badge (1.3rem left + 1.9rem width + gap) */
  margin-left: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0.5rem !important;
}

/* Mobile: Adjust step number and title spacing */
@media (max-width: 767px) {
  .gmc-step-number {
    top: 0.8rem !important;
    left: 7px !important; /* Match card padding */
    width: 1.6rem !important;
    height: 1.6rem !important;
    font-size: 0.85rem !important;
    background: #fff3f8 !important;
    background-color: #fff3f8 !important;
  }

  .gmc-step h3 {
    padding-left: 2.2rem !important; /* Adjust for smaller number on mobile */
  }
}

/* =============================
   CHECKLISTS (FOR PARENTS)
   ============================= */

.gmc-checklist {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.gmc-checklist li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.55rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
}

.gmc-checklist li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-size: 0.78rem;
  color: var(--gmc-accent);
}

/* =============================
   TESTIMONIALS
   ============================= */

.gmc-testimonials {
  background: #fff7fc;
}

.gmc-quote {
  position: relative;
}

.gmc-quote::before {
  content: "\201C";
  position: absolute;
  top: -0.6rem;
  left: 0.3rem;
  font-size: 2.6rem;
  color: rgba(244, 140, 168, 0.25);
}

.gmc-quote-name {
  margin-top: 0.9rem;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  font-weight: 600;
}

/* =============================
   BLOG PREVIEW
   ============================= */

.gmc-blog-card h3 {
  margin-bottom: 0.5rem;
}

.gmc-blog-card a {
  text-decoration: none;
  color: var(--gmc-text);
}

.gmc-blog-card a:hover {
  color: var(--gmc-primary-dark);
}

.gmc-blog-meta {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gmc-text-soft);
  margin-top: 0.6rem;
}

/* =============================
   FAQ
   ============================= */

.gmc-faq-item h3 {
  margin-bottom: 0.25rem;
}

.gmc-faq-link {
  text-align: center;
  margin-top: 2rem;
  color: var(--gmc-text-soft);
}

/* =============================
   FINAL CTA
   ============================= */

.gmc-final {
  padding-bottom: 5rem;
  background: radial-gradient(circle at top, #ffe8f3 0, transparent 55%),
              #fffdfb;
}

.gmc-final-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding: 2.5rem 2rem;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: var(--gmc-shadow-soft);
  border: 1px solid #ffe3f0;
}

.gmc-final-text h2 {
  font-size: clamp(2rem, 2.4vw, 2.3rem);
  margin-bottom: 0.7rem;
}

.gmc-final-text p {
  color: var(--gmc-text-soft);
  margin-bottom: 1.7rem;
}

.gmc-final-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
}

@media (max-width: 600px) {
  .gmc-final-inner {
    padding: 2rem 1.4rem;
  }
}

/* =============================
   SOFT FADE-IN ANIMATION
   ============================= */

@keyframes gmc-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.gmc-section,
.gmc-hero-inner {
  opacity: 0;
  animation: gmc-fade-up 550ms ease-out forwards;
}

.gmc-hero-inner { animation-delay: 80ms; }
.gmc-benefits    { animation-delay: 160ms; }
.gmc-leo         { animation-delay: 220ms; }
.gmc-free        { animation-delay: 280ms; }
.gmc-shop        { animation-delay: 340ms; }
.gmc-how         { animation-delay: 400ms; }
.gmc-for         { animation-delay: 460ms; }
.gmc-testimonials{ animation-delay: 520ms; }
.gmc-blog        { animation-delay: 580ms; }
.gmc-faq         { animation-delay: 640ms; }
.gmc-final       { animation-delay: 700ms; }

/* =========================================
   BEDTIME CALM BUNDLE – LAYOUT & STYLING
   ========================================= */

.gmc-bundle-page {
  background: var(--gmc-bg);
}

.gmc-section-inner {
  max-width: 1120px;
  margin: 0 auto;
}

/* HERO variations for bundle */

.gmc-hero--bundle {
  padding-top: 4.5rem;
  padding-bottom: 4rem;
}

.gmc-hero--bundle .gmc-hero-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.gmc-hero-note {
  margin-top: 0.6rem;
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
}

.gmc-hero-media {
  position: relative;
}

.gmc-hero-tag {
  margin-top: 0.75rem;
  max-width: 260px;
  text-align: center;
  white-space: normal;
}

.gmc-hero-badges {
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
  font-size: 0.85rem;
}

.gmc-hero-badges span {
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--gmc-border-soft);
  background: rgba(255,255,255,0.8);
  color: var(--gmc-text-soft);
}

/* Intro section */

.gmc-section--intro {
  background: #fffdfb;
  text-align: center;
}

.gmc-section--intro p {
  max-width: 720px;
  margin: 0 auto 0.8rem;
  color: var(--gmc-text-soft);
}

/* Section lead text */

.gmc-section-lead {
  max-width: 720px;
  margin: 0 auto 2rem;
  color: var(--gmc-text-soft);
  text-align: center;
}

/* STORY GRID (7 stories) */

.gmc-section--stories {
  background: #fff7f3;
}

.gmc-story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.8rem;
}

.gmc-story-card {
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  padding: 1.4rem 1.5rem 1.6rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  /* Prevent layout shifts on hover */
  will-change: transform;
  contain: layout style paint;
}

.gmc-story-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--gmc-shadow-light);
  border-color: rgba(244, 140, 168, 0.45);
}

.gmc-story-image {
  width: 100%;
  border-radius: var(--gmc-radius-md);
  margin-bottom: 0.9rem;
  display: block;
}

.gmc-story-tag {
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gmc-text-soft);
  margin-bottom: 0.4rem;
}

.gmc-story-card h3 {
  margin: 0 0 0.4rem;
}

.gmc-story-card p {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-story-bullets {
  margin: 0.8rem 0 0;
  padding-left: 1.1rem;
  color: var(--gmc-text-soft);
  font-size: 0.92rem;
}

.gmc-story-bullets li {
  margin-bottom: 0.3rem;
}

/* BONUS SECTION */

.gmc-section--bonus {
  background: #fffdfb;
}

.gmc-bonus-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.4rem;
  align-items: center;
}

.gmc-bonus-copy p {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-bonus-list {
  margin: 1rem 0 1.4rem;
  padding-left: 1.1rem;
  color: var(--gmc-text-soft);
}

.gmc-bonus-list li {
  margin-bottom: 0.4rem;
}

.gmc-bonus-media {
  text-align: center;
}

.gmc-bonus-image {
  width: 100%;
  max-width: 380px;
  border-radius: 18px;
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-bonus-tag {
  margin-top: 0.6rem;
  font-size: 0.85rem;
  color: var(--gmc-primary-dark);
  font-weight: 600;
}

/* BENEFITS GRID */

.gmc-section--benefits {
  background: #fff7fc;
}

.gmc-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.gmc-benefit {
  background: #ffffff;
  border-radius: var(--gmc-radius-lg);
  padding: 1.3rem 1.4rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.02);
}

.gmc-benefit h3 {
  margin-top: 0;
  margin-bottom: 0.4rem;
}

.gmc-benefit p {
  margin: 0;
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

/* FORMATS GRID */

.gmc-section--formats {
  background: #fffdfb;
}

.gmc-format-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4rem;
  margin-bottom: 1.5rem;
}

.gmc-format {
  background: #ffffff;
  border-radius: var(--gmc-radius-lg);
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.02);
}

.gmc-format h3 {
  margin-top: 0;
  margin-bottom: 0.4rem;
  font-size: 1rem;
}

.gmc-format p {
  margin: 0;
  color: var(--gmc-text-soft);
  font-size: 0.94rem;
  line-height: 1.7;
}

.gmc-section--formats .gmc-note {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

/* STEPS */

.gmc-section--steps {
  background: #fff7f3;
}

.gmc-steps {
  list-style: none;
  padding-left: 0;
  margin: 1.5rem 0 0;
}

.gmc-steps li {
  position: relative;
  padding-left: 2.1rem;
  margin-bottom: 1rem;
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-steps li strong {
  color: var(--gmc-text);
}

/* use CSS counter for numbers */

.gmc-steps {
  counter-reset: step-num;
}

.gmc-steps li::before {
  counter-increment: step-num;
  content: counter(step-num) ".";
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-weight: 600;
  color: var(--gmc-primary-dark);
}

/* SAMPLE PLAYER */

.gmc-section--sample {
  background: #fffdfb;
  text-align: center;
}

.gmc-sample-player {
  margin-top: 1.4rem;
  padding: 1.8rem 1.5rem;
  border-radius: var(--gmc-radius-lg);
  border: 1px dashed rgba(244, 140, 168, 0.6);
  background: #fff7fc;
  color: var(--gmc-text-soft);
}

/* FAQ */

.gmc-section--faq {
  background: #fff7f3;
}

.gmc-faq-list {
  max-width: 760px;
  margin: 1.5rem auto 0;
}

.gmc-faq-list details {
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  background: #ffffff;
  padding: 0.7rem 1rem;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.02);
  margin-bottom: 0.75rem;
}

.gmc-faq-list summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--gmc-text);
  list-style: none;
}

.gmc-faq-list summary::-webkit-details-marker {
  display: none;
}

.gmc-faq-list details[open] {
  border-color: rgba(244, 140, 168, 0.5);
}

.gmc-faq-list details p {
  margin-top: 0.5rem;
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

/* FINAL CTA */

.gmc-section--cta {
  background: radial-gradient(circle at top, #ffe8f3 0, transparent 55%), #fffdfb;
}

.gmc-cta-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 2.5rem 2rem;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid #ffe3f0;
  box-shadow: var(--gmc-shadow-soft);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: center;
}

.gmc-cta-copy p {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

.gmc-cta-note {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  margin-bottom: 1.3rem;
}

.gmc-cta-media {
  text-align: center;
}

.gmc-cta-image {
  width: 100%;
  max-width: 360px;
  border-radius: 22px;
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-price-note {
  margin-top: 0.6rem;
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
}

.gmc-price-main {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gmc-primary-dark);
}

.gmc-price-small {
  display: block;
}

/* RESPONSIVE TWEAKS */

@media (max-width: 1024px) {
  .gmc-story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gmc-format-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .gmc-bonus-inner,
  .gmc-cta-inner {
    grid-template-columns: 1fr;
  }
  .gmc-story-grid {
    grid-template-columns: 1fr;
  }
  .gmc-benefit-grid {
    grid-template-columns: 1fr;
  }
  .gmc-format-grid {
    grid-template-columns: 1fr;
  }
  .gmc-section {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* =========================================
   GENTLE MOMS CLUB – SHOP ARCHIVE STYLING
   ========================================= */

/* Page background + spacing */

.woocommerce.archive #inner-wrap,
.post-type-archive-product #inner-wrap {
  background: var(--gmc-bg);
}

.woocommerce.archive .site-main,
.post-type-archive-product .site-main {
  padding-top: 3.5rem;
  padding-bottom: 4rem;
}

/* Header (title + result count + ordering) */

.woocommerce-products-header {
  max-width: 1120px;
  margin: 0 auto 1.8rem;
  padding: 0 1.5rem;
}

.woocommerce-products-header__title.page-title {
  font-size: clamp(2rem, 2.4vw, 2.4rem);
  margin-bottom: 0.3rem;
  color: var(--gmc-text);
}

.woocommerce-products-header p {
  margin: 0;
  color: var(--gmc-text-soft);
}

/* Top bar: result count + ordering */

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

.woocommerce .woocommerce-result-count {
  margin-left: 1.5rem;
}

.woocommerce .woocommerce-ordering select {
  border-radius: 999px;
  border: 1px solid var(--gmc-border-soft);
  padding: 0.3rem 0.9rem;
  font-size: 0.9rem;
}

/* Product grid container */

.woocommerce ul.products {
  max-width: 1120px;
  margin: 1.5rem auto 0;
  padding: 0 1.5rem 0;
}

/* Product cards */

.woocommerce ul.products li.product {
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  padding: 1.3rem 1.3rem 1.5rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  /* Prevent layout shifts on hover */
  will-change: transform;
  contain: layout style paint;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: var(--gmc-shadow-light);
  border-color: rgba(244, 140, 168, 0.45);
}

/* Product images */

.woocommerce ul.products li.product a img {
  border-radius: var(--gmc-radius-md);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  margin-bottom: 0.9rem;
}

/* Product titles */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--gmc-text);
  min-height: 2.7em;
}

/* Prices */

.woocommerce ul.products li.product .price {
  margin-top: 0.4rem;
  font-weight: 600;
  color: var(--gmc-primary-dark);
}

/* Override general price margin for related products - MUST override general rule */
body.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce ul.products li.product .price del {
  font-size: 0.8em !important; /* Increased from 0.7em - 80% of sale price */
  opacity: 1 !important;
  color: #E16C8E !important;
  text-decoration: line-through !important;
}

/* Ensure all child elements get the color */
.woocommerce ul.products li.product .price del *,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del bdi,
.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: #E16C8E !important;
  font-size: inherit !important;
}

/* "Sale" badge - Soft and calm styling for shop/archive pages */
.woocommerce span.onsale,
body.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
body.woocommerce ul.products li.product .onsale {
  background: rgba(244, 140, 168, 0.12) !important;
  color: var(--gmc-primary-dark) !important;
  border: 1px solid rgba(244, 140, 168, 0.25) !important;
  border-radius: 999px;
  min-height: 1.8rem;
  min-width: 1.8rem;
  padding: 0.3rem 0.8rem;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: blur(5px);
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Add to cart button */

.woocommerce ul.products li.product .button {
  margin-top: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.3rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: var(--gmc-shadow-light);
  transition: all 160ms ease;
}

/* Override general button margin for related products - MUST override general rule */
body.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product a.button,
body.woocommerce.single-product .related .woocommerce ul.products li.product .button {
  margin-top: 0 !important;
}

.woocommerce ul.products li.product .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(244, 140, 168, 0.35);
}

/* Pagination */

.woocommerce nav.woocommerce-pagination {
  margin-top: 2.5rem;
}

.woocommerce nav.woocommerce-pagination ul {
  border-radius: 999px;
  border-color: var(--gmc-border-soft);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 999px;
  border-color: transparent;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--gmc-primary);
  color: #fff;
}

/* Mobile tweaks */

@media (max-width: 768px) {
  .woocommerce-products-header {
    padding: 0 1.25rem;
  }
  .woocommerce ul.products {
    padding: 0 1.25rem 0;
  }
}

/* FORCE GENTLE MOMS STYLING ON SHOP + ARCHIVES */

body.woocommerce,
body.woocommerce-page {
  background: var(--gmc-bg);
}

/* Make all WooCommerce pages full-width */
body.woocommerce .site-main > .gmc-section.gmc-post-fullwidth,
body.woocommerce-page .site-main > .gmc-section.gmc-post-fullwidth,
body.woocommerce .site-main > .gmc-post-fullwidth,
body.woocommerce-page .site-main > .gmc-post-fullwidth {
  width: 100% !important;
  max-width: 100% !important;
  /* Temporarily disable viewport breakout to fix white page issue */
  /* margin-left: calc((100vw - 100%) / -2) !important; */
  /* margin-right: calc((100vw - 100%) / -2) !important; */
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

body.woocommerce .site-main,
body.woocommerce-page .site-main {
  padding: 0;
  margin: 0;
}

/* WooCommerce content wrapper - use container */
body.woocommerce .gmc-post-fullwidth-content,
body.woocommerce-page .gmc-post-fullwidth-content {
  padding: 3rem 0;
}

body.woocommerce .woocommerce-products-header {
  max-width: 1120px;
  margin: 0 auto 1.8rem;
  padding: 0 1.5rem;
}

body.woocommerce .woocommerce-products-header__title.page-title {
  font-size: clamp(2rem, 2.4vw, 2.4rem);
  margin-bottom: 0.3rem;
  color: var(--gmc-text);
}

body.woocommerce .woocommerce-products-header p {
  margin: 0;
  color: var(--gmc-text-soft);
}

body.woocommerce .woocommerce-result-count,
body.woocommerce .woocommerce-ordering {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

body.woocommerce .woocommerce-result-count {
  margin-left: 1.5rem;
}

body.woocommerce .woocommerce-ordering select {
  border-radius: 999px;
  border: 1px solid var(--gmc-border-soft);
  padding: 0.3rem 0.9rem;
  font-size: 0.9rem;
}

body.woocommerce ul.products {
  max-width: 1120px;
  margin: 1.5rem auto 0;
  padding: 0 1.5rem;
}

body.woocommerce ul.products li.product {
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  padding: 1.3rem 1.3rem 1.5rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  /* Prevent layout shifts on hover */
  will-change: transform;
  contain: layout style paint;
}

body.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: var(--gmc-shadow-light);
  border-color: rgba(244, 140, 168, 0.45);
}

body.woocommerce ul.products li.product a img {
  border-radius: var(--gmc-radius-md);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  margin-bottom: 0.9rem;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--gmc-text);
  min-height: 2.7em;
}

body.woocommerce ul.products li.product .price {
  margin-top: 0.4rem;
  font-weight: 600;
  color: var(--gmc-primary-dark);
}

/* Override general price margin for related products - MUST override general rule */
body.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.woocommerce ul.products li.product .price del {
  font-size: 0.8em !important; /* Increased from 0.7em - 80% of sale price */
  opacity: 1 !important;
  color: #E16C8E !important;
  text-decoration: line-through !important;
}

/* Ensure all child elements get the color */
.woocommerce ul.products li.product .price del *,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del bdi,
.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: #E16C8E !important;
  font-size: inherit !important;
}

/* Sale Badge - Soft and calm styling (no red, no aggressive visuals) */
body.woocommerce span.onsale,
.woocommerce span.onsale {
  background: rgba(244, 140, 168, 0.12);
  color: var(--gmc-primary-dark);
  border: 1px solid rgba(244, 140, 168, 0.25);
  border-radius: 999px;
  min-height: 1.8rem;
  min-width: 1.8rem;
  padding: 0.3rem 0.8rem;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: blur(5px);
}

/* Add-to-cart button – Gentle Moms style */

body.woocommerce ul.products li.product .button {
  margin-top: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.4rem !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none;
  box-shadow: var(--gmc-shadow-light) !important;
  text-transform: none !important;
  transition: all 160ms ease;
}

/* Override general button margin for related products - MUST override general rule */
body.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product a.button,
body.woocommerce.single-product .related .woocommerce ul.products li.product .button {
  margin-top: 0.8rem !important;
}

body.woocommerce ul.products li.product .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

body.woocommerce nav.woocommerce-pagination {
  margin-top: 2.5rem;
}

body.woocommerce nav.woocommerce-pagination ul {
  border-radius: 999px;
  border-color: var(--gmc-border-soft);
}

body.woocommerce nav.woocommerce-pagination ul li a,
body.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 999px;
  border-color: transparent;
}

body.woocommerce nav.woocommerce-pagination ul li span.current,
body.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--gmc-primary);
  color: #fff;
}

/* Mobile tweaks */

@media (max-width: 768px) {
  body.woocommerce .woocommerce-products-header {
    padding: 0 1.25rem;
  }
  body.woocommerce ul.products {
    padding: 0 1.25rem 0;
  }
}

/* Make shop cards more like a narrow list on large screens */

@media (min-width: 1024px) {
  body.woocommerce ul.products {
    max-width: 900px;
  }
}

/* Hide result count and sorting */

body.woocommerce .woocommerce-result-count,
/* Remove the rule that hides ordering - we want it visible */
/* body.woocommerce .woocommerce-ordering,
.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
} */

.kadence-shop-top-row {
  display: none;
  flex-wrap: wrap;
}



/* Shop Catalog – 3-column grid on desktop */
/* Only apply to shop/archive pages, NOT single product pages */
body.woocommerce:not(.single-product) .woocommerce ul.products,
body.woocommerce.archive .woocommerce ul.products,
body.woocommerce.tax-product_cat .woocommerce ul.products,
body.woocommerce:not(.single-product) ul.products,
body.woocommerce:not(.single-product) ul.products.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2.4rem !important;
}

/* Product Card Styling */

.woocommerce ul.products li.product {
  background: #ffffff;
  border-radius: 22px;
  padding: 1.6rem 1.6rem 2rem;
  border: 1px solid var(--gmc-border-soft);
  box-shadow: 0 6px 18px rgba(15,23,42,0.05);
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* Prevent layout shifts on hover */
  will-change: transform;
  contain: layout style paint;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(15,23,42,0.10);
  border-color: rgba(244, 140, 168, 0.45);
}

.woocommerce ul.products li.product img {
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15,23,42,0.06);
  margin-bottom: 1rem;
}

/* Product Titles - Improved styling */
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(0.95rem, 1.2vw, 1.1rem) !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  line-height: 1.4 !important;
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  min-height: auto !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a {
  color: var(--gmc-text) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 180ms ease !important;
}

.woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a:hover {
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Product Prices - Improved styling - NO UNDERLINES */
.woocommerce ul.products li.product .price,
body.woocommerce.single-product .related ul.products li.product .price {
  font-size: clamp(1rem, 1.3vw, 1.15rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important; /* Minimal line height to reduce spacing */
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.woocommerce ul.products li.product .price del,
body.woocommerce.single-product .related ul.products li.product .price del {
  font-size: 0.8em !important; /* Increased from 0.7em - 80% of sale price */
  font-weight: 500 !important;
  opacity: 1 !important;
  color: #E16C8E !important;
  text-decoration: line-through !important;
}

/* Ensure all child elements of del also use the color */
.woocommerce ul.products li.product .price del *,
body.woocommerce.single-product .related ul.products li.product .price del *,
.woocommerce ul.products li.product .price del .amount,
body.woocommerce.single-product .related ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
body.woocommerce.single-product .related ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del bdi,
body.woocommerce.single-product .related ul.products li.product .price del bdi,
.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol,
body.woocommerce.single-product .related ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: #E16C8E !important;
  font-size: inherit !important;
}

.woocommerce ul.products li.product .price ins,
body.woocommerce.single-product .related ul.products li.product .price ins {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .price .amount,
body.woocommerce.single-product .related ul.products li.product .price .amount {
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* ===== MOBILE FIX FOR SHOP GRID ===== */

@media (max-width: 768px) {
  /* Only apply to shop/archive pages, not related products */
  body.woocommerce:not(.single-product) .woocommerce ul.products,
  body.woocommerce.archive .woocommerce ul.products,
  body.woocommerce.tax-product_cat .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  
  body.woocommerce .gmc-post-fullwidth-content,
  body.woocommerce-page .gmc-post-fullwidth-content {
    padding: 2rem 0;
  }
}

/* =========================================
   WOOCOMMERCE FULL-WIDTH STYLING
   Match existing page styling
   ========================================= */

/* WooCommerce wrapper content - match page styling */
body.woocommerce .gmc-post-fullwidth-content,
body.woocommerce-page .gmc-post-fullwidth-content {
  background: var(--gmc-bg);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 3rem 0;
  position: relative;
}

/* WooCommerce content inside wrapper - use container */
/* Only apply to WooCommerce pages, not regular pages */
body.woocommerce .gmc-post-fullwidth-content .gmc-container,
body.woocommerce-page .gmc-post-fullwidth-content .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Remove left/right padding from container for related products section */
body.woocommerce.single-product .gmc-container > .related,
body.woocommerce.single-product .gmc-container .related {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* Remove left/right padding from container for bottom CTA section */
body.woocommerce.single-product .gmc-container > .gmc-bottom-cta,
body.woocommerce.single-product .gmc-container .gmc-bottom-cta {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* Ensure single product container allows proper grid layout */
body.woocommerce.single-product .gmc-post-fullwidth-content .gmc-container,
body.woocommerce-page.single-product .gmc-post-fullwidth-content .gmc-container {
  display: flex;
  flex-direction: column;
}

/* Ensure regular pages are not affected by WooCommerce styles */
body:not(.woocommerce):not(.woocommerce-page) .gmc-post-fullwidth-content .entry-content {
  padding: 3rem 0;
}

body:not(.woocommerce):not(.woocommerce-page) .gmc-post-fullwidth-content .entry-content .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* =========================================
   SINGLE PRODUCT PAGE STYLING
   Match existing design system
   ========================================= */

/* Single product page wrapper */
body.woocommerce.single-product .gmc-post-fullwidth-content,
.single-product .gmc-post-fullwidth-content {
  padding: 3rem 0;
}

/* Product container - two column layout */
body.woocommerce.single-product .product,
.single-product .product,
.woocommerce.single-product .product,
body.woocommerce.single-product .woocommerce div.product,
body.woocommerce.single-product div.product,
.single-product div.product {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: start !important;
  width: 100% !important;
}

/* Ensure images column is always left and summary is right (override DOM order) */
body.woocommerce.single-product .product > .images { grid-column: 1 / 2 !important; }
body.woocommerce.single-product .product > .summary { grid-column: 2 / 3 !important; }

/* Make product a positioned container so absolutely-positioned badges can align to it */
body.woocommerce.single-product .product { position: relative; }

/* Fallback: if .onsale is output outside the .images element, ensure it doesn't push layout
   and instead sits absolutely at the top-left of the images column */
body.woocommerce.single-product .product .onsale {
  position: absolute !important;
  top: 1.5rem !important;
  left: 1rem !important;
  width: auto !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  z-index: 20 !important;
}

/* Ensure product images and summary stay in their grid columns */
body.woocommerce.single-product .product > .images,
body.woocommerce.single-product .product > .summary,
.woocommerce.single-product .product > .images,
.woocommerce.single-product .product > .summary,
div.product > .images,
div.product > .summary,
body.woocommerce.single-product .woocommerce div.product > .images,
body.woocommerce.single-product .woocommerce div.product > .summary {
  width: 100%;
  min-width: 0; /* Prevent grid overflow */
}

/* Product Rating - Display in summary */
body.woocommerce.single-product .woocommerce-product-rating,
body.woocommerce.single-product .summary .woocommerce-product-rating,
.woocommerce .woocommerce-product-rating {
  margin: 1rem 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* Star Rating - Display as icons, hide text */
body.woocommerce.single-product .star-rating,
.woocommerce .star-rating {
  color: var(--gmc-secondary);
  font-size: 1rem;
  display: inline-block;
  position: relative;
  font-family: 'star' !important;
  font-weight: 400;
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
  font-size: 1em;
  height: 1em;
  width: 5.4em;
  letter-spacing: 0.1em;
}

/* WooCommerce star rating uses font icons - empty stars background */
body.woocommerce.single-product .star-rating::before,
.woocommerce .star-rating::before {
  content: "\73\73\73\73\73"; /* 5 empty stars using WooCommerce font */
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  color: var(--gmc-border-soft);
}

/* Filled stars overlay */
body.woocommerce.single-product .star-rating span,
.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
  color: var(--gmc-secondary);
}

body.woocommerce.single-product .star-rating span::before,
.woocommerce .star-rating span::before {
  content: "\53\53\53\53\53"; /* 5 filled stars using WooCommerce font */
  top: 0;
  position: absolute;
  left: 0;
  color: var(--gmc-secondary);
}

/* Hide screen reader text and any text containing "of 5 stars" */
body.woocommerce.single-product .star-rating .screen-reader-text,
.woocommerce .star-rating .screen-reader-text,
body.woocommerce.single-product .star-rating[title*="stars"],
.woocommerce .star-rating[title*="stars"],
body.woocommerce.single-product .star-rating[aria-label*="stars"],
.woocommerce .star-rating[aria-label*="stars"] {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}

/* Ensure star rating displays properly - reset text-indent for icon display */
body.woocommerce.single-product .star-rating,
.woocommerce .star-rating {
  text-indent: 0;
}

/* Hide any visible text that contains "of 5 stars" or similar patterns */
  /* This will be handled by JavaScript if needed */

/* Hide any text elements containing star rating text */
body.woocommerce.single-product .gmc-hidden-rating-text,
.woocommerce .gmc-hidden-rating-text,
body.woocommerce.single-product span.gmc-hidden-rating-text,
.woocommerce span.gmc-hidden-rating-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body.woocommerce.single-product .woocommerce-review-link,
.woocommerce .woocommerce-review-link {
  color: var(--gmc-text-soft);
  font-size: 0.9rem;
  text-decoration: none;
}

body.woocommerce.single-product .woocommerce-review-link:hover,
.woocommerce .woocommerce-review-link:hover {
  color: var(--gmc-primary-dark);
  text-decoration: underline;
}

/* WooCommerce Store Notice / Demo Banner - Center text and constrain to container */
.woocommerce-store-notice {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box;
}

.woocommerce-store-notice,
.woocommerce-store-notice__dismiss-link {
  text-align: center !important;
}

.woocommerce-store-notice p,
.woocommerce-store-notice__dismiss-link {
  margin: 0 auto !important;
  text-align: center !important;
}

/* Breadcrumbs - Match content alignment and constrain to container */
body.woocommerce.single-product .woocommerce-breadcrumb {
  margin-bottom: 2rem;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

/* Ensure breadcrumbs align with product content */
body.woocommerce.single-product .gmc-container .woocommerce-breadcrumb {
  max-width: 1120px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.woocommerce.single-product .woocommerce-breadcrumb a {
  color: var(--gmc-text-soft);
  text-decoration: none;
  transition: color 180ms ease;
}

body.woocommerce.single-product .woocommerce-breadcrumb a:hover {
  color: var(--gmc-primary-dark);
}

/* Product Images - Removed, see comprehensive gallery styling below */

/* Product Summary (title, price, add to cart) */
body.woocommerce.single-product .summary,
.single-product .summary,
.woocommerce .summary {
  padding: 0;
}

body.woocommerce.single-product .summary .product_title,
.single-product .summary .product_title,
.woocommerce .summary .product_title,
body.woocommerce.single-product .summary h1.product_title,
.single-product .summary h1.product_title,
.woocommerce .summary h1.product_title {
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1rem !important;
  line-height: 1.2 !important;
}

body.woocommerce.single-product .summary .price,
.single-product .summary .price,
.woocommerce .summary .price,
body.woocommerce.single-product .summary p.price,
.single-product .summary p.price,
.woocommerce .summary p.price {
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  margin: 0 0 1.5rem !important;
}

body.woocommerce.single-product .summary .price del,
.single-product .summary .price del,
.woocommerce .summary .price del {
  font-size: 1.2rem;
  opacity: 0.6;
  margin-right: 0.5rem;
}

body.woocommerce.single-product .summary .price ins,
.single-product .summary .price ins,
.woocommerce .summary .price ins {
  text-decoration: none;
}

/* Product Short Description */
body.woocommerce.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description,
.woocommerce .woocommerce-product-details__short-description,
body.woocommerce.single-product .summary .woocommerce-product-details__short-description,
.single-product .summary .woocommerce-product-details__short-description,
.woocommerce .summary .woocommerce-product-details__short-description {
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: var(--gmc-text-soft) !important;
  margin-bottom: 2rem !important;
}

body.woocommerce.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-product-details__short-description p,
.woocommerce .woocommerce-product-details__short-description p {
  margin-bottom: 1rem;
}

/* ==========================================
   PRODUCT PAGE OPTIMIZATION - NEW ELEMENTS
   ========================================== */

/* CTA Wrapper - Centers button and microcopy */
.gmc-cta-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem;
}

/* Reusable CTA Microcopy / Note */
.gmc-cta-note {
  text-align: center !important;
  font-size: 0.9rem !important;
  opacity: 0.85 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.gmc-cta-note small {
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
  font-weight: 400 !important;
}

/* Product Reassurance Strip (near price) */
.gmc-product-reassurance-strip {
  margin: 1rem 0 2rem 0;
  padding: 0;
}

.gmc-product-reassurance-strip .gmc-reassurance-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
}

.gmc-product-reassurance-strip .gmc-reassurance-list li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

.gmc-product-reassurance-strip .gmc-reassurance-icon {
  color: var(--gmc-primary);
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}

.gmc-product-reassurance-strip .gmc-reassurance-text {
  line-height: 1.4;
}

/* ==========================================
   CTA WRAPPER AND MICROCOPY STYLING
   ========================================== */

/* CTA Wrapper - Centers button and microcopy */
.gmc-cta-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem;
}

/* Reusable CTA Microcopy / Note */
.gmc-cta-note {
  text-align: center !important;
  font-size: 0.9rem !important;
  opacity: 0.85 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.gmc-cta-note small {
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
  font-weight: 400 !important;
}

/* Hero CTA Wrapper (primary purchase button in hero) */
.gmc-hero-cta-wrapper {
  margin: 1.5rem 0 1rem 0;
}

.gmc-hero-cta-wrapper form.cart {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
}

.gmc-hero-cta-wrapper .gmc-btn,
.gmc-hero-cta-wrapper .button,
.gmc-hero-cta-wrapper button[type="submit"],
.gmc-hero-cta-wrapper .single_add_to_cart_button {
  width: 100% !important;
  max-width: 400px !important;
  padding: 1rem 2rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease;
  cursor: pointer;
  text-align: center !important;
}

.gmc-hero-cta-wrapper .gmc-btn:hover,
.gmc-hero-cta-wrapper .button:hover,
.gmc-hero-cta-wrapper button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Hero CTA reassurance now uses .gmc-cta-note class */

/* Trust Signals Block */
.gmc-trust-signals-block {
  margin: 1rem 0 2rem 0;
  padding: 0;
  text-align: center;
}

.gmc-trust-signals-text {
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  font-style: italic;
  font-weight: 400;
}

.gmc-trust-signals-text em {
  font-style: italic;
  color: var(--gmc-text-soft);
}

/* Who This Story Is For Block */
body.woocommerce.single-product .gmc-who-this-is-for-block,
.gmc-who-this-is-for-block,
body.woocommerce.single-product .gmc-container > .gmc-who-this-is-for-block {
  width: 100%;
  max-width: 100%;
  padding: 2rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
}

/* If who-this-is-for block is inside product div, span full width */
body.woocommerce.single-product .product > .gmc-who-this-is-for-block,
.woocommerce.single-product .product > .gmc-who-this-is-for-block {
  grid-column: 1 / -1;
}

.gmc-who-for-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

.gmc-who-for-column {
  display: flex;
  flex-direction: column;
}

.gmc-who-for-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.gmc-who-for-title.gmc-who-for-positive {
  color: var(--gmc-primary-dark);
}

.gmc-who-for-title.gmc-who-for-negative {
  color: var(--gmc-text-soft);
}

.gmc-who-for-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.gmc-who-for-list li {
  padding-left: 1.5rem;
  position: relative;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--gmc-text);
}

.gmc-who-for-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gmc-primary);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
}

.gmc-who-for-column:last-child .gmc-who-for-list li::before {
  color: var(--gmc-text-soft);
}

/* Decision CTA Block (mid-page) */
.gmc-decision-cta-block {
  margin: 3rem 0;
  padding: 2.5rem 2rem;
  background: linear-gradient(135deg, rgba(244, 140, 168, 0.05), rgba(240, 194, 123, 0.05));
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid rgba(244, 140, 168, 0.3);
  box-shadow: var(--gmc-shadow-soft);
  text-align: center;
}

.gmc-decision-cta-headline {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 1.5rem 0;
  line-height: 1.3;
}

.gmc-decision-cta-actions {
  margin-bottom: 0;
  width: 100%;
}

.gmc-decision-cta-actions form.cart {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  justify-content: center !important;
}

.gmc-decision-cta-actions .gmc-btn,
.gmc-decision-cta-actions .button,
.gmc-decision-cta-actions button[type="submit"],
.gmc-decision-cta-actions .single_add_to_cart_button,
.gmc-decision-cta-actions a.gmc-btn-primary {
  padding: 1rem 2.5rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease;
  min-width: 250px;
}

.gmc-decision-cta-actions .gmc-btn-secondary,
.gmc-decision-cta-actions a.gmc-btn-secondary {
  padding: 1rem 2.5rem !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  background: var(--gmc-surface) !important;
  color: var(--gmc-text) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease;
  min-width: 250px;
}

.gmc-decision-cta-actions .gmc-btn:hover,
.gmc-decision-cta-actions .button:hover,
.gmc-decision-cta-actions button[type="submit"]:hover,
.gmc-decision-cta-actions a.gmc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

.gmc-decision-cta-actions .gmc-btn-secondary:hover,
.gmc-decision-cta-actions a.gmc-btn-secondary:hover {
  transform: translateY(-1px);
  border-color: var(--gmc-primary) !important;
  color: var(--gmc-primary-dark) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.2) !important;
}

/* Decision CTA reassurance now uses .gmc-cta-note class */

/* Hero CTA - Cart Status Message */
.gmc-cart-status-message {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gmc-primary);
  margin-bottom: 1rem;
  text-align: center;
}

.gmc-hero-cta-reassurance small {
  display: block;
  margin-bottom: 0.25rem;
}

.gmc-hero-cta-reassurance small:last-child {
  margin-bottom: 0;
}

/* Bottom CTA Block (before related products) - Full width layout - Emotionally framed reassurance */
body.woocommerce.single-product .gmc-bottom-cta,
.gmc-bottom-cta,
body.woocommerce.single-product .gmc-container > .gmc-bottom-cta,
.gmc-final-cta-reassurance {
  width: 100%;
  max-width: 100%;
  margin: 3rem 0;
  padding: 3rem 2rem;
  background: linear-gradient(135deg, rgba(244, 140, 168, 0.03), rgba(240, 194, 123, 0.03));
  border-top: 1.5px solid var(--gmc-border-soft);
  border-bottom: 1.5px solid var(--gmc-border-soft);
  clear: both;
  text-align: center;
  display: block;
}

/* If bottom CTA is inside product div, span full width */
body.woocommerce.single-product .product > .gmc-bottom-cta,
.woocommerce.single-product .product > .gmc-bottom-cta {
  grid-column: 1 / -1;
}

.gmc-bottom-cta-inner {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}

.gmc-final-cta-headline {
  font-size: clamp(1.5rem, 2.5vw, 1.875rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0;
  line-height: 1.3;
}

.gmc-final-cta-text {
  font-size: 1.1rem;
  color: var(--gmc-text);
  margin: 0;
  line-height: 1.7;
  max-width: 600px;
  font-weight: 400;
}

.gmc-final-cta-button-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.gmc-final-cta-button {
  padding: 1rem 2.5rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
}

.gmc-final-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
  color: #fff !important;
}

/* Secondary button style for "View cart" */
.gmc-final-cta-button-secondary,
.gmc-btn-secondary {
  padding: 1rem 2.5rem !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  background: var(--gmc-surface) !important;
  color: var(--gmc-text) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 180ms ease;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
}

.gmc-final-cta-button-secondary:hover,
.gmc-btn-secondary:hover {
  transform: translateY(-1px);
  border-color: var(--gmc-primary) !important;
  color: var(--gmc-primary-dark) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.2) !important;
}

/* Microcopy in button group - vertically centered */
.gmc-final-cta-button-group .gmc-cta-note {
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
}

/* Responsive adjustments for new elements */
@media (max-width: 768px) {
  .gmc-product-reassurance-strip .gmc-reassurance-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .gmc-who-this-is-for-block {
    padding: 1.5rem;
    margin: 2rem 0;
  }

  .gmc-who-for-columns {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .gmc-decision-cta-block {
    padding: 2rem 1.5rem;
    margin: 2rem 0;
  }

  .gmc-hero-cta-wrapper {
    margin: 1.25rem 0 0.75rem 0;
  }

  .gmc-trust-signals-block {
    margin: 0.75rem 0 1.5rem 0;
  }

  /* Bottom CTA - Mobile responsive */
  .gmc-bottom-cta {
    margin: 2rem 0;
    padding: 1.5rem 0;
  }

  .gmc-bottom-cta-inner {
    padding-left: 1rem;
    padding-right: 1rem;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
  }

  .gmc-final-cta-headline {
    font-size: 1.4rem;
  }

  .gmc-final-cta-text {
    font-size: 1rem;
    text-align: center;
    margin-bottom: 0;
  }

  .gmc-final-cta-button-group {
    flex-direction: column;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
  }

  .gmc-final-cta-button,
  .gmc-final-cta-button-secondary {
    width: 100%;
    padding: 0.9rem 2rem !important;
    font-size: 1rem !important;
  }

  .gmc-final-cta-button-group .gmc-cta-note {
    text-align: center;
    margin-top: 0 !important;
  }

  .gmc-decision-cta-actions .gmc-btn,
  .gmc-decision-cta-actions .button,
  .gmc-decision-cta-actions button[type="submit"] {
    width: 100%;
    min-width: auto;
  }
}

/* Add to Cart Form - Exclude forms in hero CTA and decision CTA */
body.woocommerce.single-product .summary form.cart:not(.gmc-hero-cta-wrapper form.cart):not(.gmc-decision-cta-actions form.cart),
.single-product .summary form.cart:not(.gmc-hero-cta-wrapper form.cart):not(.gmc-decision-cta-actions form.cart),
.woocommerce .summary form.cart:not(.gmc-hero-cta-wrapper form.cart):not(.gmc-decision-cta-actions form.cart) {
  margin: 2rem 0 !important;
  padding: 2rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  border: 1px solid var(--gmc-border-soft) !important;
}

/* Ensure proper spacing between hero elements - no tight stacking */
body.woocommerce.single-product .summary .gmc-product-reassurance-strip {
  margin-bottom: 1.5rem !important;
}

body.woocommerce.single-product .summary .gmc-hero-cta-wrapper {
  margin-top: 1.5rem !important;
  margin-bottom: 1rem !important;
}

body.woocommerce.single-product .summary .gmc-trust-signals-block {
  margin-top: 1rem !important;
  margin-bottom: 2rem !important;
}

body.woocommerce.single-product form.cart .quantity,
.single-product form.cart .quantity,
.woocommerce form.cart .quantity {
  margin-bottom: 0 !important;
  margin-right: 1rem !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Cart form layout - quantity and button side by side */
body.woocommerce.single-product form.cart,
.single-product form.cart,
.woocommerce form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

body.woocommerce.single-product form.cart .quantity,
.single-product form.cart .quantity,
.woocommerce form.cart .quantity {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.woocommerce.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button,
.woocommerce form.cart .single_add_to_cart_button,
body.woocommerce.single-product form.cart button[type="submit"],
.single-product form.cart button[type="submit"],
.woocommerce form.cart button[type="submit"] {
  flex: 1 1 auto !important;
  min-width: 200px !important;
  margin: 0 !important;
}

body.woocommerce.single-product form.cart .quantity input,
.single-product form.cart .quantity input,
.woocommerce form.cart .quantity input,
body.woocommerce.single-product form.cart input.qty,
.single-product form.cart input.qty,
.woocommerce form.cart input.qty {
  border-radius: var(--gmc-radius-md) !important;
  border: 1px solid var(--gmc-border-soft) !important;
  padding: 0.7rem !important;
  font-size: 1rem !important;
  width: 80px !important;
  text-align: center !important;
  background: var(--gmc-surface) !important;
}

body.woocommerce.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button,
.woocommerce form.cart .single_add_to_cart_button,
body.woocommerce.single-product form.cart button.single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.woocommerce form.cart button.single_add_to_cart_button,
body.woocommerce.single-product form.cart button[type="submit"],
.single-product form.cart button[type="submit"],
.woocommerce form.cart button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.8rem 2rem !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-decoration: none;
  box-shadow: var(--gmc-shadow-light) !important;
  text-transform: none !important;
  transition: all 180ms ease;
  cursor: pointer;
  width: auto !important;
  margin-top: 0 !important;
  flex: 1 1 auto !important;
  min-width: 200px !important;
}

body.woocommerce.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.woocommerce form.cart .single_add_to_cart_button:hover,
body.woocommerce.single-product form.cart button.single_add_to_cart_button:hover,
.single-product form.cart button.single_add_to_cart_button:hover,
.woocommerce form.cart button.single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 40px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Product Meta (SKU, Categories, Tags) */
body.woocommerce.single-product .product_meta {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gmc-border-soft);
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
}

body.woocommerce.single-product .product_meta span {
  display: block;
  margin-bottom: 0.5rem;
}

body.woocommerce.single-product .product_meta a {
  color: var(--gmc-primary-dark);
  text-decoration: none;
  transition: color 180ms ease;
}

body.woocommerce.single-product .product_meta a:hover {
  color: var(--gmc-primary);
}

/* Hide Category from product meta */
body.woocommerce.single-product .product_meta .posted_in,
body.woocommerce.single-product .product_meta span.posted_in,
.woocommerce.single-product .product_meta .posted_in,
.woocommerce .product_meta .posted_in,
div.product .product_meta .posted_in,
.product_meta .posted_in {
  display: none !important;
}

/* Product Tabs - Full width below product grid */
body.woocommerce.single-product .woocommerce-tabs,
.woocommerce .woocommerce-tabs,
body.woocommerce.single-product .gmc-container > .woocommerce-tabs {
  margin-top: 3rem;
  width: 100%;
  clear: both;
  display: block;
}

/* If tabs are inside product div, span full width */
body.woocommerce.single-product .product > .woocommerce-tabs,
.woocommerce.single-product .product > .woocommerce-tabs {
  grid-column: 1 / -1;
}

body.woocommerce.single-product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  gap: 1rem;
  border-bottom: 2px solid var(--gmc-border-soft);
}

body.woocommerce.single-product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}

body.woocommerce.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.8rem 1.5rem;
  color: var(--gmc-text-soft);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 180ms ease;
  font-weight: 600;
}

body.woocommerce.single-product .woocommerce-tabs ul.tabs li.active a,
body.woocommerce.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--gmc-primary-dark);
  border-bottom-color: var(--gmc-primary);
}

body.woocommerce.single-product .woocommerce-tabs .panel,
body.woocommerce.single-product .woocommerce-Tabs-panel {
  padding: 2rem 0;
  color: var(--gmc-text-soft);
  line-height: 1.8;
}

/* DISABLED - Reviews are now allowed in Description tab */
/*
body.woocommerce.single-product #tab-description #reviews,
body.woocommerce.single-product #tab-description #review_form,
body.woocommerce.single-product #tab-description #review_form_wrapper,
body.woocommerce.single-product #tab-description .woocommerce-Reviews,
body.woocommerce.single-product #tab-description .comment-respond,
body.woocommerce.single-product #tab-description .comment-form,
body.woocommerce.single-product #tab-description #respond,
body.woocommerce.single-product #tab-description #commentform,
body.woocommerce.single-product #tab-description .woocommerce-noreviews,
body.woocommerce.single-product #tab-description .woocommerce-Reviews-title,
body.woocommerce.single-product #tab-description [id*="review"],
body.woocommerce.single-product #tab-description [class*="review"],
body.woocommerce.single-product #tab-description [class*="comment"],
body.woocommerce.single-product #tab-description [id*="comment"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description #reviews,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description #review_form,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description #review_form_wrapper,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description .woocommerce-Reviews,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description [id*="review"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description [class*="review"],
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description #reviews,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description #review_form,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description .woocommerce-Reviews,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description .comment-respond,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description .comment-form,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description [id*="review"],
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description [class*="review"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
*/

/* Hide tab panels by default, show only active one */
body.woocommerce.single-product .woocommerce-Tabs-panel[aria-hidden="true"],
body.woocommerce.single-product .woocommerce-tabs .panel[aria-hidden="true"],
body.woocommerce.single-product #tab-description[aria-hidden="true"],
body.woocommerce.single-product #tab-reviews[aria-hidden="true"] {
  display: none !important;
}

/* Show active tab panel - ensure all variations are covered */
body.woocommerce.single-product .woocommerce-Tabs-panel[aria-hidden="false"],
body.woocommerce.single-product .woocommerce-tabs .panel[aria-hidden="false"],
body.woocommerce.single-product .woocommerce-Tabs-panel:not([aria-hidden]),
body.woocommerce.single-product .woocommerce-tabs .panel:not([aria-hidden]),
body.woocommerce.single-product .woocommerce-Tabs-panel:not([aria-hidden="true"]),
body.woocommerce.single-product .woocommerce-tabs .panel:not([aria-hidden="true"]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* CRITICAL: Only show Description tab when it's active, hide Reviews */
body.woocommerce.single-product #tab-description[aria-hidden="false"],
body.woocommerce.single-product #tab-description:not([aria-hidden="true"]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.woocommerce.single-product #tab-description[aria-hidden="false"] ~ #tab-reviews,
body.woocommerce.single-product #tab-description:not([aria-hidden="true"]) ~ #tab-reviews {
  display: none !important;
  visibility: hidden !important;
}

/* Only show Reviews tab when it's active, hide Description */
body.woocommerce.single-product #tab-reviews[aria-hidden="false"],
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.woocommerce.single-product #tab-reviews[aria-hidden="false"] ~ #tab-description,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) ~ #tab-description {
  display: none !important;
  visibility: hidden !important;
}

/* Ensure Reviews tab panel content is visible when shown */
body.woocommerce.single-product #tab-reviews[aria-hidden="false"],
body.woocommerce.single-product #tab-reviews:not([aria-hidden]),
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Make sure ALL content inside Reviews tab is visible when panel is shown */
body.woocommerce.single-product #tab-reviews[aria-hidden="false"] *,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) * {
  visibility: visible !important;
}

/* DISABLED - Reviews are now allowed in Description tab */
/*
body.woocommerce.single-product #tab-description #reviews,
body.woocommerce.single-product #tab-description #review_form,
body.woocommerce.single-product #tab-description #review_form_wrapper,
body.woocommerce.single-product #tab-description .woocommerce-Reviews,
body.woocommerce.single-product #tab-description .comment-respond,
body.woocommerce.single-product #tab-description .comment-form,
body.woocommerce.single-product #tab-description #respond,
body.woocommerce.single-product #tab-description #commentform,
body.woocommerce.single-product #tab-description .woocommerce-noreviews,
body.woocommerce.single-product #tab-description .woocommerce-Reviews-title,
body.woocommerce.single-product #tab-description h2:contains("Reviews"),
body.woocommerce.single-product #tab-description h3:contains("Review"),
body.woocommerce.single-product #tab-description > #reviews,
body.woocommerce.single-product #tab-description > #review_form,
body.woocommerce.single-product #tab-description > .woocommerce-Reviews,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description #reviews,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-description #review_form,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description #reviews,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-description #review_form {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure Reviews tab content is visible when Reviews tab is active */
body.woocommerce.single-product #tab-reviews[aria-hidden="false"] #reviews,
body.woocommerce.single-product #tab-reviews[aria-hidden="false"] #review_form,
body.woocommerce.single-product #tab-reviews[aria-hidden="false"] .woocommerce-Reviews,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) #reviews,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) #review_form,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) .woocommerce-Reviews {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  left: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
}

/* DISABLED - Reviews are now allowed in Description tab */
/*
body.woocommerce.single-product #tab-description[aria-hidden="false"] #reviews,
body.woocommerce.single-product #tab-description[aria-hidden="false"] #review_form,
body.woocommerce.single-product #tab-description[aria-hidden="false"] .woocommerce-Reviews,
body.woocommerce.single-product #tab-description[aria-hidden="false"] .comment-respond,
body.woocommerce.single-product #tab-description:not([aria-hidden="true"]) #reviews,
body.woocommerce.single-product #tab-description:not([aria-hidden="true"]) #review_form,
body.woocommerce.single-product #tab-description:not([aria-hidden="true"]) .woocommerce-Reviews {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
}
*/

body.woocommerce.single-product #tab-reviews[aria-hidden="false"] #reviews,
body.woocommerce.single-product #tab-reviews[aria-hidden="false"] #review_form,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) #reviews,
body.woocommerce.single-product #tab-reviews:not([aria-hidden="true"]) #review_form,
body.woocommerce.single-product #tab-reviews #reviews,
body.woocommerce.single-product #tab-reviews #review_form,
body.woocommerce.single-product #tab-reviews .woocommerce-Reviews,
body.woocommerce.single-product #tab-reviews .comment-respond {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.woocommerce.single-product .woocommerce-tabs .panel h2 {
  font-size: 1.5rem;
  color: var(--gmc-text);
  margin-bottom: 1rem;
}

body.woocommerce.single-product .woocommerce-tabs .panel table {
  width: 100%;
  border-collapse: collapse;
}

body.woocommerce.single-product .woocommerce-tabs .panel table th,
body.woocommerce.single-product .woocommerce-tabs .panel table td {
  padding: 0.8rem;
  border-bottom: 1px solid var(--gmc-border-soft);
  text-align: left;
}

body.woocommerce.single-product .woocommerce-tabs .panel table th {
  font-weight: 600;
  color: var(--gmc-text);
  width: 30%;
}

/* Related Products - Full width below product grid */
body.woocommerce.single-product .related,
.woocommerce .related,
body.woocommerce.single-product .gmc-container > .related,
body.woocommerce.single-product .gmc-container .related {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both;
  display: block;
  box-sizing: border-box;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* If related products are inside product div, span full width */
body.woocommerce.single-product .product > .related,
.woocommerce.single-product .product > .related {
  grid-column: 1 / -1;
}

body.woocommerce.single-product .related h2 {
  font-size: clamp(1.8rem, 2.4vw, 2.2rem);
  color: var(--gmc-text);
  margin: 0 0 1rem 0 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  text-align: center;
}

/* Related Products Grid - 4 columns on desktop - HIGHEST SPECIFICITY - MUST COME AFTER GENERAL RULE */
/* Force 4 columns with maximum specificity - Target columns-4 class specifically */
body.woocommerce.single-product .related ul.products,
body.woocommerce.single-product .related ul.products.products,
body.woocommerce.single-product .related ul.products.columns-4,
body.woocommerce.single-product .related .woocommerce ul.products,
body.woocommerce.single-product .related .woocommerce ul.products.products,
body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
body.woocommerce.single-product .gmc-container .related ul.products,
body.woocommerce.single-product .gmc-container .related ul.products.columns-4,
body.woocommerce.single-product .gmc-container .related .woocommerce ul.products,
body.woocommerce.single-product .gmc-container .related .woocommerce ul.products.columns-4,
.woocommerce.single-product .related ul.products,
.woocommerce.single-product .related ul.products.products,
.woocommerce.single-product .related ul.products.columns-4,
body.single-product.woocommerce .related ul.products,
body.single-product.woocommerce .related ul.products.columns-4,
body.single-product .woocommerce .related ul.products,
body.single-product .woocommerce .related ul.products.products,
body.single-product .related ul.products,
body.single-product .related ul.products.columns-4,
body.single-product .woocommerce .related ul.products.products,
div.related ul.products,
div.related ul.products.columns-4,
.related ul.products.products,
.related ul.products.columns-4,
body.woocommerce.single-product div.related ul.products,
body.woocommerce.single-product div.related ul.products.products,
body.woocommerce.single-product div.related ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  /* Override any max-width from general .woocommerce ul.products rule */
  box-sizing: border-box !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

/* Responsive Related Products - HIGH SPECIFICITY - Include columns-4 class */
/* Desktop: Always 4 columns for screens 993px and above */
@media (min-width: 993px) {
  body.woocommerce.single-product .related ul.products,
  body.woocommerce.single-product .related ul.products.columns-4,
  body.woocommerce.single-product .related .woocommerce ul.products,
  body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
  body.woocommerce.single-product .related ul.products.products,
  .woocommerce.single-product .related ul.products,
  .woocommerce.single-product .related ul.products.columns-4,
  body.single-product .woocommerce .related ul.products,
  body.single-product .related ul.products,
  body.single-product .related ul.products.columns-4,
  .related ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1200px) and (min-width: 993px) {
  body.woocommerce.single-product .related ul.products,
  body.woocommerce.single-product .related ul.products.columns-4,
  body.woocommerce.single-product .related .woocommerce ul.products,
  body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
  body.woocommerce.single-product .related ul.products.products,
  .woocommerce.single-product .related ul.products,
  .woocommerce.single-product .related ul.products.columns-4,
  body.single-product .woocommerce .related ul.products,
  body.single-product .related ul.products,
  body.single-product .related ul.products.columns-4,
  .related ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
  body.woocommerce.single-product .related ul.products,
  body.woocommerce.single-product .related ul.products.columns-4,
  body.woocommerce.single-product .related .woocommerce ul.products,
  body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
  body.woocommerce.single-product .related ul.products.products,
  .woocommerce.single-product .related ul.products,
  .woocommerce.single-product .related ul.products.columns-4,
  body.single-product .woocommerce .related ul.products,
  body.single-product .related ul.products,
  body.single-product .related ul.products.columns-4,
  .related ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }
}

@media (max-width: 768px) and (min-width: 481px) {
  body.woocommerce.single-product .related ul.products,
  body.woocommerce.single-product .related ul.products.columns-4,
  body.woocommerce.single-product .related .woocommerce ul.products,
  body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
  body.woocommerce.single-product .related ul.products.products,
  .woocommerce.single-product .related ul.products,
  .woocommerce.single-product .related ul.products.columns-4,
  body.single-product .woocommerce .related ul.products,
  body.single-product .related ul.products,
  body.single-product .related ul.products.columns-4,
  .related ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce.single-product .related ul.products,
  body.woocommerce.single-product .related ul.products.columns-4,
  body.woocommerce.single-product .related .woocommerce ul.products,
  body.woocommerce.single-product .related .woocommerce ul.products.columns-4,
  body.woocommerce.single-product .related ul.products.products,
  .woocommerce.single-product .related ul.products,
  .woocommerce.single-product .related ul.products.columns-4,
  body.single-product .woocommerce .related ul.products,
  body.single-product .related ul.products,
  body.single-product .related ul.products.columns-4,
  .related ul.products.columns-4 {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }
  
  /* Mobile: Buttons can be slightly wider on small screens */
  body.woocommerce.single-product .related ul.products li.product .button,
  body.woocommerce.single-product .related ul.products li.product a.button {
    width: 75% !important;
    max-width: 75% !important;
  }
  
  /* Mobile: Responsive text sizing */
  body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(0.9rem, 4vw, 1rem) !important;
  }
  
  body.woocommerce.single-product .related ul.products li.product .price {
    font-size: clamp(1rem, 4vw, 1.1rem) !important;
  }
  
  body.woocommerce.single-product .related ul.products li.product .button {
    font-size: clamp(0.85rem, 3.5vw, 0.9rem) !important;
  }
}

/* Related Products - Product Card Styling - Responsive and Professional */
body.woocommerce.single-product .related ul.products li.product,
body.woocommerce.single-product .related .woocommerce ul.products li.product,
.woocommerce.single-product .related ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  align-self: stretch !important;
  background: var(--gmc-surface) !important;
  border-radius: var(--gmc-radius-md) !important;
  padding: 0 0 1.3rem 0 !important; /* Add bottom padding to ensure button spacing */
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04) !important;
  transition: all 180ms ease !important;
  position: relative !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.woocommerce.single-product .related ul.products li.product:hover,
body.woocommerce.single-product .related .woocommerce ul.products li.product:hover,
.woocommerce.single-product .related ul.products li.product:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12), 0 4px 8px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(244, 140, 168, 0.6) !important;
  border-width: 1.5px !important;
}

/* Related Products - Product Images Responsive - Fit inside card - MUST BE FIRST */
body.woocommerce.single-product .related ul.products li.product a:has(img),
body.woocommerce.single-product .related .woocommerce ul.products li.product a:has(img),
.woocommerce.single-product .related ul.products li.product a:has(img),
body.woocommerce.single-product .related ul.products li.product a img {
  order: 1 !important; /* Image comes first */
}

body.woocommerce.single-product .related ul.products li.product a,
body.woocommerce.single-product .related .woocommerce ul.products li.product a,
.woocommerce.single-product .related ul.products li.product a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  padding: 0 !important; /* No padding on image link */
}

body.woocommerce.single-product .related ul.products li.product img,
body.woocommerce.single-product .related .woocommerce ul.products li.product img,
.woocommerce.single-product .related ul.products li.product img,
body.woocommerce.single-product .related ul.products li.product a img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  /* Border radius on top corners to match card */
  border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Related Products - Title Styling - Professional, Responsive, NO UNDERLINE - MUST BE BEFORE PRICE */
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.woocommerce.single-product .related .woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.woocommerce.single-product .related ul.products li.product h2.woocommerce-loop-product__title {
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
  order: 2 !important; /* Ensure title comes after image but before price */
  margin-bottom: 0.4rem !important; /* Reduced gap */
  margin-top: 0.5rem !important;
  min-height: 2.8em !important; /* Ensure consistent height for 2 lines */
  max-height: 2.8em !important;
  font-size: clamp(0.85rem, 2vw, 1.05rem) !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
}

body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a,
body.woocommerce.single-product .related .woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a * {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  color: var(--gmc-text) !important;
  transition: color 180ms ease !important;
  box-shadow: none !important;
}

body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a:hover,
body.woocommerce.single-product .related .woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a:hover,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a:hover * {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  color: var(--gmc-primary-dark) !important;
  box-shadow: none !important;
}

/* Related Products - Price Styling - Professional, Centered, Responsive, No Underline, Single Line - MUST BE AFTER TITLE */
body.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price,
.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related ul.products li.product p.price {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  order: 3 !important; /* Ensure price comes after title */
  margin-top: 0 !important; /* Remove auto - price should be directly below title */
  margin-bottom: 0 !important; /* No gap - button margin-top handles spacing */
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  line-height: 1 !important; /* Minimal line height to reduce spacing */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.3rem !important; /* Reduced gap between price elements */
  flex-wrap: nowrap !important; /* Keep all price elements on one line */
  text-align: center !important;
  width: 100% !important;
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Price child elements - inline, no gaps */
body.woocommerce.single-product .related ul.products li.product .price * {
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
  line-height: inherit !important;
}

body.woocommerce.single-product .related ul.products li.product .price del,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price del,
body.woocommerce.single-product .related ul.products li.product .price del,
body.woocommerce.single-product .related ul.products li.product .price del * {
  font-size: 0.85em !important;
  font-weight: 500 !important;
  opacity: 0.65 !important;
  color: var(--gmc-text-soft) !important;
  text-decoration: line-through !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
  vertical-align: baseline !important;
}

body.woocommerce.single-product .related ul.products li.product .price ins,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price ins,
body.woocommerce.single-product .related ul.products li.product .price ins,
body.woocommerce.single-product .related ul.products li.product .price ins * {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
  vertical-align: baseline !important;
}

body.woocommerce.single-product .related ul.products li.product .price .amount,
body.woocommerce.single-product .related ul.products li.product .price .woocommerce-Price-amount,
body.woocommerce.single-product .related ul.products li.product .price span,
body.woocommerce.single-product .related ul.products li.product .price bdi,
body.woocommerce.single-product .related ul.products li.product .price .woocommerce-Price-currencySymbol,
body.woocommerce.single-product .related ul.products li.product .price .woocommerce-Price-currencySymbol * {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
  vertical-align: baseline !important;
  line-height: inherit !important;
}

/* Style for "FREE" price text */
body.woocommerce.single-product .related ul.products li.product .price .gmc-free-price,
body.woocommerce.single-product .related ul.products li.product .price bdi.gmc-free-price,
.woocommerce.single-product .related ul.products li.product .price .gmc-free-price {
  font-size: clamp(0.95rem, 2.2vw, 1.1rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Final override - Remove ALL underlines from related products text elements - ULTRA AGGRESSIVE */
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title *,
body.woocommerce.single-product .related ul.products li.product h2,
body.woocommerce.single-product .related ul.products li.product h2 *,
body.woocommerce.single-product .related ul.products li.product h2.woocommerce-loop-product__title,
body.woocommerce.single-product .related ul.products li.product h2.woocommerce-loop-product__title * {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
  background: none !important;
}

body.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related ul.products li.product .price *:not(del),
body.woocommerce.single-product .related ul.products li.product p.price,
body.woocommerce.single-product .related ul.products li.product p.price *:not(del) {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
  background: none !important;
  margin-top: 0 !important;
  margin-bottom: 0.4rem !important;
  gap: 0.3rem !important;
  flex-wrap: nowrap !important;
}

/* Ensure price child elements are inline - no stacking */
body.woocommerce.single-product .related ul.products li.product .price > *,
body.woocommerce.single-product .related ul.products li.product .price del,
body.woocommerce.single-product .related ul.products li.product .price ins,
body.woocommerce.single-product .related ul.products li.product .price .amount,
body.woocommerce.single-product .related ul.products li.product .price span,
body.woocommerce.single-product .related ul.products li.product .price bdi {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: baseline !important;
  line-height: inherit !important;
}

/* Keep strikethrough for sale prices - Override with correct styling */
body.woocommerce.single-product .related ul.products li.product .price del {
  font-size: 0.8em !important; /* Increased from 0.7em - 80% of sale price */
  font-weight: 500 !important;
  opacity: 1 !important;
  color: #E16C8E !important;
  text-decoration: line-through !important;
}

/* Ensure all child elements use the color */
body.woocommerce.single-product .related ul.products li.product .price del *,
body.woocommerce.single-product .related ul.products li.product .price del bdi,
body.woocommerce.single-product .related ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: #E16C8E !important;
  font-size: inherit !important;
}

/* Remove underlines from title links - ULTRA AGGRESSIVE */
body.woocommerce.single-product .related ul.products li.product a.woocommerce-loop-product__link,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a,
body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title a *,
body.woocommerce.single-product .related ul.products li.product h2 a,
body.woocommerce.single-product .related ul.products li.product h2 a * {
  text-decoration: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
  background: none !important;
}

/* Ensure proper order: Image -> Title -> Price -> Button - REDUCED GAPS */
body.woocommerce.single-product .related ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important; /* No gap between flex items */
  row-gap: 0 !important; /* No row gap */
}

body.woocommerce.single-product .related ul.products li.product a:has(img),
body.woocommerce.single-product .related ul.products li.product a img {
  order: 1 !important;
}

body.woocommerce.single-product .related ul.products li.product .woocommerce-loop-product__title {
  order: 2 !important;
  margin-bottom: 0.4rem !important; /* Reduced gap */
}

body.woocommerce.single-product .related ul.products li.product .price {
  order: 3 !important;
  margin-top: 0 !important; /* Remove auto - price should be directly below title */
  margin-bottom: 0 !important; /* No gap - button margin-top handles spacing */
  gap: 0.3rem !important; /* Small gap between price elements */
  flex-wrap: nowrap !important; /* Keep all on one line */
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product a.button {
  order: 4 !important;
  margin-top: 0.8rem !important; /* Space between price and button */
  margin-bottom: 0 !important; /* Card padding-bottom handles spacing */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

/* Force all price elements to be inline and remove any block display */
body.woocommerce.single-product .related ul.products li.product .price del,
body.woocommerce.single-product .related ul.products li.product .price ins,
body.woocommerce.single-product .related ul.products li.product .price .amount,
body.woocommerce.single-product .related ul.products li.product .price span,
body.woocommerce.single-product .related ul.products li.product .price bdi,
body.woocommerce.single-product .related ul.products li.product .price .woocommerce-Price-amount,
body.woocommerce.single-product .related ul.products li.product .price .woocommerce-Price-currencySymbol {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: baseline !important;
  line-height: inherit !important;
}

/* Related Products - Button Styling - 70% width, centered, professional */
/* Related Products - Button Styling - 70% width, centered, reduced spacing - MUST BE LAST */
body.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related .woocommerce ul.products li.product .button,
.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product a.button,
body.woocommerce.single-product .related ul.products li.product .added_to_cart,
body.woocommerce.single-product .related ul.products li.product a.added_to_cart {
  order: 4 !important; /* Button comes last */
  margin-top: 0.8rem !important; /* Space between price and button */
  margin-bottom: 0 !important; /* Card padding-bottom handles spacing */
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  width: 70% !important;
  max-width: 70% !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.6rem 1.2rem !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: clamp(0.8rem, 1.8vw, 0.9rem) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--gmc-shadow-light) !important;
  transition: all 160ms ease !important;
  text-align: center !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* Ensure button margin-bottom is 0 - card padding handles spacing */
body.woocommerce.single-product .related ul.products li.product > .button,
body.woocommerce.single-product .related ul.products li.product > a.button,
body.woocommerce.single-product .related ul.products li.product > .added_to_cart,
body.woocommerce.single-product .related ul.products li.product > a.added_to_cart {
  margin-bottom: 0 !important;
}

body.woocommerce.single-product .related ul.products li.product .button:hover,
body.woocommerce.single-product .related .woocommerce ul.products li.product .button:hover,
.woocommerce.single-product .related ul.products li.product .button:hover,
body.woocommerce.single-product .related ul.products li.product a.button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 38px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Ensure all product cards in related section have equal heights */
body.woocommerce.single-product .related ul.products,
body.woocommerce.single-product .related .woocommerce ul.products,
.woocommerce.single-product .related ul.products {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

body.woocommerce.single-product .related ul.products li.product,
body.woocommerce.single-product .related .woocommerce ul.products li.product,
.woocommerce.single-product .related ul.products li.product {
  align-self: stretch !important;
  min-height: 100% !important;
}

/* Hide any "Read More" buttons outside product cards in related section */
body.woocommerce.single-product .related > a,
body.woocommerce.single-product .related .read-more,
body.woocommerce.single-product .related a.read-more,
body.woocommerce.single-product .related .more-link,
body.woocommerce.single-product .related a.more-link {
  display: none !important;
}

/* Ensure product card content wrapper pushes button to bottom */
body.woocommerce.single-product .related ul.products li.product > *:last-child:not(.button):not(a.button):not(.added_to_cart) {
  margin-bottom: 0 !important;
}

/* Ensure button and added_to_cart have no bottom margin - card padding handles spacing */
body.woocommerce.single-product .related ul.products li.product > .button:last-child,
body.woocommerce.single-product .related ul.products li.product > a.button:last-child,
body.woocommerce.single-product .related ul.products li.product > .added_to_cart:last-child,
body.woocommerce.single-product .related ul.products li.product > a.added_to_cart:last-child {
  margin-bottom: 0 !important;
}

/* Sale Badge - Single product page - Soft and calm styling */
/* Badge must be absolutely positioned relative to images container, not affecting layout */
body.woocommerce.single-product .onsale {
  background: rgba(244, 140, 168, 0.12);
  color: var(--gmc-primary-dark);
  border: 1px solid rgba(244, 140, 168, 0.25);
  border-radius: 999px;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
  margin: 0 !important;
  width: auto !important;
  display: inline-block !important;
  pointer-events: none;
}

/* Ensure product images container respects content width and has relative positioning for badge */
body.woocommerce.single-product .images,
body.woocommerce.single-product .woocommerce-product-gallery,
body.woocommerce.single-product .product .images,
body.woocommerce.single-product .woocommerce div.product .images {
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: visible !important;
}

/* Hide magnifier emoji inserted inside the gallery trigger (visual only) */
.woocommerce-product-gallery__trigger .emoji {
  display: none !important;
}

/* Position badge relative to images container - overlay on image */
/* Position badge over the main gallery image (first child) so it's
   inside the rounded image frame and clipped by that container */
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child .onsale,
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child .onsale,
body.woocommerce.single-product .images .onsale,
body.woocommerce.single-product .woocommerce-product-gallery .onsale {
  position: absolute !important;
  top: 2.5rem !important;
  left: 1rem !important;
  z-index: 10 !important;
}

/* Additional constraint: ensure sale badge respects max-width of content area */
body.woocommerce.single-product .gmc-container .product .onsale,
body.woocommerce.single-product .gmc-container .onsale {
  max-width: calc(1120px - 2rem) !important;
  box-sizing: border-box !important;
}

/* Stock Status */
body.woocommerce.single-product .stock {
  margin: 1rem 0;
  font-weight: 600;
}

body.woocommerce.single-product .stock.in-stock {
  color: var(--gmc-accent);
}

body.woocommerce.single-product .stock.out-of-stock {
  color: var(--gmc-primary-dark);
}

/* Product Variations */
body.woocommerce.single-product .variations {
  margin-bottom: 1.5rem;
}

body.woocommerce.single-product .variations tr {
  display: block;
  margin-bottom: 1rem;
}

body.woocommerce.single-product .variations td {
  display: block;
  padding: 0;
  border: none;
}

body.woocommerce.single-product .variations label {
  display: block;
  font-weight: 600;
  color: var(--gmc-text);
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

body.woocommerce.single-product .variations select {
  width: 100%;
  padding: 0.7rem;
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  font-size: 1rem;
  background: var(--gmc-surface);
  color: var(--gmc-text);
}

body.woocommerce.single-product .variations .reset_variations {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  text-decoration: none;
}

body.woocommerce.single-product .variations .reset_variations:hover {
  color: var(--gmc-primary-dark);
}

/* Hide reviews section when it's outside of tabs - be more specific */
body.woocommerce.single-product .product > #reviews:not(.woocommerce-tabs #reviews):not(.woocommerce-Tabs-panel),
body.woocommerce.single-product .summary ~ #reviews:not(.woocommerce-tabs #reviews),
.woocommerce.single-product .product > #reviews:not(.woocommerce-tabs #reviews) {
  display: none !important;
}

/* Hide review form when it's directly after product summary or outside tabs */
body.woocommerce.single-product .summary ~ #review_form:not(.woocommerce-tabs #review_form),
body.woocommerce.single-product .woocommerce-product-details__short-description ~ #review_form:not(.woocommerce-tabs #review_form),
.woocommerce.single-product .summary ~ #review_form:not(.woocommerce-tabs #review_form) {
  display: none !important;
}

/* Show review form and reviews INSIDE tabs - force visibility */
body.woocommerce.single-product .woocommerce-tabs #review_form,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form,
body.woocommerce.single-product .woocommerce-tabs .panel#tab-reviews #review_form,
body.woocommerce.single-product #tab-reviews #review_form,
body.woocommerce.single-product .woocommerce-tabs #reviews,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews,
body.woocommerce.single-product #tab-reviews,
body.woocommerce.single-product .woocommerce-tabs #tab-reviews {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure Reviews tab panel is visible when active */
body.woocommerce.single-product #tab-reviews[aria-hidden="false"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews[aria-hidden="false"],
body.woocommerce.single-product .woocommerce-tabs .panel#tab-reviews[aria-hidden="false"] {
  display: block !important;
  visibility: visible !important;
}

/* Make sure review form is visible inside Reviews tab */
body.woocommerce.single-product #tab-reviews #review_form,
body.woocommerce.single-product #tab-reviews #reviews {
  display: block !important;
  visibility: visible !important;
}

body.woocommerce.single-product #reviews h2 {
  font-size: 1.5rem;
  color: var(--gmc-text);
  margin-bottom: 1.5rem;
}

/* Reviews styling - only inside tabs */
body.woocommerce.single-product .woocommerce-tabs #reviews .commentlist,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .commentlist,
body.woocommerce.single-product #tab-reviews .commentlist {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.woocommerce.single-product .woocommerce-tabs #reviews .comment,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .comment,
body.woocommerce.single-product #tab-reviews .comment {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--gmc-border-soft);
}

body.woocommerce.single-product .woocommerce-tabs #reviews .comment .comment-text,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .comment .comment-text,
body.woocommerce.single-product #tab-reviews .comment .comment-text {
  padding: 0;
  border: none;
}

body.woocommerce.single-product .woocommerce-tabs #reviews .comment .meta,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .comment .meta,
body.woocommerce.single-product #tab-reviews .comment .meta {
  margin-bottom: 0.5rem;
}

body.woocommerce.single-product .woocommerce-tabs #reviews .comment .meta strong,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .comment .meta strong,
body.woocommerce.single-product #tab-reviews .comment .meta strong {
  color: var(--gmc-text);
  font-weight: 600;
}

body.woocommerce.single-product .woocommerce-tabs #reviews .comment .description,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .comment .description,
body.woocommerce.single-product #tab-reviews .comment .description {
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

body.woocommerce.single-product .woocommerce-tabs #reviews .star-rating,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .star-rating,
body.woocommerce.single-product #tab-reviews .star-rating {
  color: var(--gmc-secondary);
  margin-bottom: 0.5rem;
  display: inline-block;
  position: relative;
  font-family: 'WooCommerce' !important;
  font-weight: 400;
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
  font-size: 1em;
  height: 1em;
  width: 5.4em;
  letter-spacing: 0.1em;
}

/* Hide any text that says "X of 5 stars" in reviews */
body.woocommerce.single-product .woocommerce-tabs #reviews .star-rating .screen-reader-text,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .star-rating .screen-reader-text,
body.woocommerce.single-product #tab-reviews .star-rating .screen-reader-text,
body.woocommerce.single-product .woocommerce-tabs #reviews .star-rating[title*="stars"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews .star-rating[title*="stars"],
body.woocommerce.single-product #tab-reviews .star-rating[title*="stars"] {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}

/* Review Form - only show inside Reviews tab */
body.woocommerce.single-product .woocommerce-tabs #review_form,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form,
body.woocommerce.single-product #tab-reviews #review_form {
  margin-top: 2rem;
  padding: 2rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-lg);
  border: 1px solid var(--gmc-border-soft);
  display: block !important;
}

body.woocommerce.single-product .woocommerce-tabs #review_form h3,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form h3,
body.woocommerce.single-product #tab-reviews #review_form h3 {
  font-size: 1.3rem;
  color: var(--gmc-text);
  margin-bottom: 1rem;
}

body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-comment label,
body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-rating label,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form .comment-form-comment label,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form .comment-form-rating label,
body.woocommerce.single-product #tab-reviews #review_form .comment-form-comment label,
body.woocommerce.single-product #tab-reviews #review_form .comment-form-rating label {
  display: block;
  font-weight: 600;
  color: var(--gmc-text);
  margin-bottom: 0.5rem;
}

/* Hide rating select dropdown text options - show only star icons */
body.woocommerce.single-product .comment-form-rating select,
body.woocommerce.single-product #review_form .comment-form-rating select,
body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-rating select,
body.woocommerce.single-product #tab-reviews #review_form .comment-form-rating select,
body.woocommerce.single-product select#comment_rating,
body.woocommerce.single-product select#rating,
body.woocommerce.single-product select[name="rating"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/* Hide any text that appears after the select (like "1 of 5 stars 2 of 5 stars...") */
body.woocommerce.single-product .comment-form-rating p,
body.woocommerce.single-product #review_form .comment-form-rating p,
body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-rating p {
  position: relative;
}

/* Hide text nodes containing rating text patterns */
body.woocommerce.single-product .comment-form-rating .gmc-hidden-rating-text,
body.woocommerce.single-product #review_form .comment-form-rating .gmc-hidden-rating-text,
body.woocommerce.single-product .gmc-hidden-rating-text,
.woocommerce .gmc-hidden-rating-text {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide any text that contains "of 5 stars" pattern anywhere in comment form rating */
body.woocommerce.single-product .comment-form-rating p,
body.woocommerce.single-product #review_form .comment-form-rating p,
body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-rating p {
  position: relative;
}

/* Hide text that appears after select dropdown */
body.woocommerce.single-product .comment-form-rating p:has(select)::after,
body.woocommerce.single-product #review_form .comment-form-rating p:has(select)::after {
  content: none !important;
}

/* More aggressive hiding of rating text */
/* Check if contains rating text pattern - handled by JavaScript */

/* Hide paragraphs that don't contain star selector but contain rating text - handled by JavaScript */

/* Star Rating Selector - Custom star icons for rating selection */
body.woocommerce.single-product .gmc-star-rating-selector,
.woocommerce .gmc-star-rating-selector {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  margin: 0.5rem 0 1rem;
  direction: ltr; /* Ensure stars display left to right */
}

body.woocommerce.single-product .gmc-star-rating-selector .gmc-star,
.woocommerce .gmc-star-rating-selector .gmc-star {
  font-size: 1.8rem;
  color: var(--gmc-border-soft);
  cursor: pointer;
  transition: all 180ms ease;
  line-height: 1;
  user-select: none;
  -webkit-user-select: none;
  display: inline-block;
  font-family: Arial, sans-serif;
}

/* Empty star (☆) - default state */
body.woocommerce.single-product .gmc-star-rating-selector .gmc-star:not(.active):not(.hover),
.woocommerce .gmc-star-rating-selector .gmc-star:not(.active):not(.hover) {
  color: var(--gmc-border-soft);
}

/* Filled star (★) - hover state */
body.woocommerce.single-product .gmc-star-rating-selector .gmc-star:hover,
.woocommerce .gmc-star-rating-selector .gmc-star:hover,
body.woocommerce.single-product .gmc-star-rating-selector .gmc-star.hover,
.woocommerce .gmc-star-rating-selector .gmc-star.hover {
  color: var(--gmc-secondary);
  transform: scale(1.1);
}

/* Filled star (★) - active/selected state */
body.woocommerce.single-product .gmc-star-rating-selector .gmc-star.active,
.woocommerce .gmc-star-rating-selector .gmc-star.active {
  color: var(--gmc-secondary);
}

/* Hide any text that appears near rating selector */
body.woocommerce.single-product .comment-form-rating p,
body.woocommerce.single-product #review_form .comment-form-rating p,
body.woocommerce.single-product .woocommerce-tabs #review_form .comment-form-rating p {
  position: relative;
}

body.woocommerce.single-product .comment-form-rating p:not(:has(.gmc-star-rating-selector))::after,
body.woocommerce.single-product #review_form .comment-form-rating p:not(:has(.gmc-star-rating-selector))::after {
  content: "";
}

/* Hide text nodes containing "of 5 stars" in rating field */
body.woocommerce.single-product .comment-form-rating,
body.woocommerce.single-product #review_form .comment-form-rating {
  position: relative;
}

/* Hide text that matches rating pattern - handled by JavaScript */

/* Options are hidden via display:none on select - handled by JavaScript */

body.woocommerce.single-product .woocommerce-tabs #review_form textarea,
body.woocommerce.single-product .woocommerce-tabs #review_form input[type="text"],
body.woocommerce.single-product .woocommerce-tabs #review_form input[type="email"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form textarea,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form input[type="text"],
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form input[type="email"],
body.woocommerce.single-product #tab-reviews #review_form textarea,
body.woocommerce.single-product #tab-reviews #review_form input[type="text"],
body.woocommerce.single-product #tab-reviews #review_form input[type="email"] {
  width: 100%;
  padding: 0.7rem;
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  font-size: 1rem;
  font-family: inherit;
  margin-bottom: 1rem;
}

body.woocommerce.single-product .woocommerce-tabs #review_form .form-submit input,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form .form-submit input,
body.woocommerce.single-product #tab-reviews #review_form .form-submit input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 2rem !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all 180ms ease;
}

body.woocommerce.single-product .woocommerce-tabs #review_form .form-submit input:hover,
body.woocommerce.single-product .woocommerce-Tabs-panel#tab-reviews #review_form .form-submit input:hover,
body.woocommerce.single-product #tab-reviews #review_form .form-submit input:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Product Notices - Constrain to content container */
.woocommerce-notices-wrapper {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

body.woocommerce.single-product .woocommerce-message,
body.woocommerce.single-product .woocommerce-info,
body.woocommerce.single-product .woocommerce-error,
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem 1.5rem;
  border-radius: var(--gmc-radius-md);
  margin-bottom: 1.5rem;
  border-left: 4px solid;
  box-sizing: border-box;
}

body.woocommerce.single-product .woocommerce-message {
  background: rgba(126, 198, 199, 0.1);
  border-color: var(--gmc-accent);
  color: var(--gmc-accent);
}

body.woocommerce.single-product .woocommerce-info {
  background: rgba(244, 140, 168, 0.1);
  border-color: var(--gmc-primary);
  color: var(--gmc-text);
}

body.woocommerce.single-product .woocommerce-error {
  background: rgba(225, 108, 142, 0.1);
  border-color: var(--gmc-primary-dark);
  color: var(--gmc-text);
}

/* General WooCommerce single product styling - catch all */
/* Only apply to WooCommerce product pages */
body.woocommerce.single-product .woocommerce div.product,
body.woocommerce.single-product .woocommerce-page div.product,
body.woocommerce.single-product div.product,
body.woocommerce-page.single-product div.product,
.woocommerce.single-product div.product,
.woocommerce-page.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: start !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Only apply to WooCommerce product pages */
body.woocommerce.single-product .woocommerce div.product .images,
body.woocommerce.single-product .woocommerce-page div.product .images,
body.woocommerce.single-product div.product .images,
body.woocommerce-page.single-product div.product .images,
.woocommerce.single-product div.product .images,
.woocommerce-page.single-product div.product .images,
div.product .images {
  position: relative;
  overflow: visible; /* Changed to visible to allow thumbnail hover scale effects */
  border-radius: var(--gmc-radius-lg);
  width: 100%;
}

/* Main image should still clip on zoom */
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child,
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
  overflow: hidden;
  border-radius: var(--gmc-radius-lg);
  position: relative !important;
}

/* WooCommerce Gallery Wrapper - Main image + thumbnails */
body.woocommerce.single-product .woocommerce div.product .images .woocommerce-product-gallery__wrapper,
body.woocommerce.single-product .woocommerce-page div.product .images .woocommerce-product-gallery__wrapper,
body.woocommerce.single-product div.product .images .woocommerce-product-gallery__wrapper,
body.woocommerce-page.single-product div.product .images .woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  /* Allow thumbnail hover effects to be visible */
  overflow: visible !important;
}

/* =========================================
   WOOCOMMERCE PRODUCT GALLERY - THUMBNAILS
   Horizontal layout with max 4 per row
   ========================================= */

/* Gallery wrapper - flex column layout */
.woocommerce-product-gallery__wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

/* Main product image - full width */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
  width: 100% !important;
  display: block !important;
  order: 1;
}

/* Thumbnails wrapper (created by JavaScript) - horizontal flex row */
.woocommerce-product-gallery__thumbnails-wrapper,
div.woocommerce-product-gallery__thumbnails-wrapper,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__thumbnails-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  width: 100% !important;
  order: 2;
  margin-top: 1rem;
  /* Force horizontal - override any conflicting styles */
  column-count: 1 !important;
  column-gap: 0 !important;
  height: auto !important;
  max-height: none !important;
  /* Allow hover effects to be visible - prevent clipping */
  overflow: visible !important;
  padding: 0.5rem 1rem !important; /* Added horizontal padding to allow scale hover effect */
  margin-left: -1rem !important; /* Compensate for padding to maintain layout */
  margin-right: -1rem !important;
  width: calc(100% + 2rem) !important; /* Expand to compensate for padding */
}

/* Thumbnails inside wrapper - all same size, including first */
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image,
div.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:last-child {
  flex: 0 0 calc(25% - 0.5625rem) !important;
  max-width: calc(25% - 0.5625rem) !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
  position: relative !important;
  /* Allow hover scale effect to be fully visible - prevent clipping */
  overflow: visible !important;
}

/* All thumbnail images - consistent styling for ALL thumbnails */
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img,
div.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:last-child img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 2px solid transparent !important;
  transition: all 200ms ease !important;
  cursor: pointer !important;
  opacity: 0.7;
  display: block !important;
  /* Ensure all thumbnails are same size - override any special styling */
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
}

/* Fix GIF animation - Simple approach: use contain instead of cover */
/* Exclude video thumbnails explicitly */
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src*=".gif"] {
  object-fit: contain !important;
}

/* Fix GIF animation in main product image - Simple: use contain */
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce div.product .images .woocommerce-product-gallery__image--main img[src$=".gif"],
.woocommerce div.product .images .woocommerce-product-gallery__image--main img[src*=".gif"],
.woocommerce div.product .images .flex-viewport img[src$=".gif"],
.woocommerce div.product .images .flex-viewport img[src*=".gif"],
.woocommerce-page div.product .images .flex-viewport img[src$=".gif"],
.woocommerce-page div.product .images .flex-viewport img[src*=".gif"] {
  object-fit: contain !important;
}

/* Ensure video thumbnails always use cover (override any GIF rules) */
.gmc-video-thumb img,
.gmc-video-thumb img[src$=".gif"],
.gmc-video-thumb img[src*=".gif"] {
  object-fit: cover !important;
}

/* Fallback: Thumbnails not wrapped yet - force horizontal using CSS */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  display: inline-block !important;
  width: calc(25% - 0.5625rem) !important;
  max-width: calc(25% - 0.5625rem) !important;
  margin-right: 0.75rem !important;
  margin-bottom: 0.75rem !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  float: none !important;
  position: relative !important;
  /* Allow hover scale effect to be fully visible - prevent clipping */
  overflow: visible !important;
}

/* Remove right margin every 4th, 8th, 12th thumbnail to create rows */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(5),
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(9),
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(13),
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(17) {
  margin-right: 0 !important;
}

/* Fallback: Thumbnails not wrapped - consistent styling with wrapped thumbnails */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 2px solid transparent !important;
  transition: all 200ms ease !important;
  cursor: pointer !important;
  opacity: 0.7;
  display: block !important;
  /* Ensure all thumbnails are same size */
  min-height: 0 !important;
  max-height: none !important;
}

/* Fix GIF animation in fallback thumbnails - exclude video thumbnails */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child):not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child):not(.gmc-video-thumb) img[src*=".gif"] {
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* Fallback hover animation - for thumbnails not yet wrapped */
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child):hover img,
body.woocommerce.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child):hover img {
  opacity: 1 !important;
  border-color: var(--gmc-primary) !important;
  transform: scale(1.05) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.3) !important;
}

/* Prevent main image hover effect from applying to any thumbnails */
.woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) img {
  transition: all 200ms ease !important;
  cursor: pointer !important;
}

/* Explicit override: thumbnails should NEVER have main image zoom effect */
.woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img {
  transition: all 200ms ease !important;
}

/* Thumbnail hover - ensure ALL thumbnails get this effect including first */
.woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image:hover img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:hover img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child:hover img {
  transform: scale(1.05) !important;
  opacity: 1 !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.3) !important;
  cursor: pointer !important;
}

/* Create a wrapper div for thumbnails - will be done by JavaScript */
.woocommerce-product-gallery__thumbnails-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  width: calc(100% + 2rem) !important;
  order: 2;
  overflow: visible !important;
  padding: 0.5rem 1rem !important; /* Padding for hover scale effect */
  margin-left: -1rem !important;
  margin-right: -1rem !important;
}

.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image {
  flex: 0 0 calc(25% - 0.5625rem) !important;
  max-width: calc(25% - 0.5625rem) !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 2px solid transparent !important;
  transition: all 180ms ease !important;
  cursor: pointer !important;
  opacity: 0.7;
}

.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:hover img {
  opacity: 1;
  border-color: var(--gmc-primary) !important;
}

/* If WooCommerce creates a separate thumbnails container */
.woocommerce-product-gallery__thumbs,
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
}

.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image,
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image {
  flex: 0 0 calc(25% - 0.5625rem) !important;
  max-width: calc(25% - 0.5625rem) !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image img,
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 2px solid transparent !important;
  transition: all 180ms ease !important;
  cursor: pointer !important;
  opacity: 0.7;
}

/* Fix GIF animation in thumbs - exclude video thumbnails */
.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:not(.gmc-video-thumb) img[src*=".gif"] {
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}


.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:hover img,
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image:hover img {
  opacity: 1;
  border-color: var(--gmc-primary) !important;
}

/* Force thumbnails to display horizontally - override any parent column layout */
body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs,
body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs,
body.woocommerce.single-product div.product .images .flex-control-thumbs,
body.woocommerce-page.single-product div.product .images .flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  list-style: none !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  width: 100% !important;
}

body.woocommerce.single-product .woocommerce div.product .images .flex-viewport,
body.woocommerce.single-product .woocommerce-page div.product .images .flex-viewport,
body.woocommerce.single-product div.product .images .flex-viewport,
body.woocommerce-page.single-product div.product .images .flex-viewport {
  width: 100% !important;
  margin-bottom: 1rem;
  border-radius: var(--gmc-radius-lg);
  overflow: hidden;
  box-shadow: var(--gmc-shadow-soft);
}

/* Main Product Image - Large, Full Width */
.woocommerce div.product .images .woocommerce-product-gallery__image:first-child,
.woocommerce-page div.product .images .woocommerce-product-gallery__image:first-child,
.woocommerce div.product .images .woocommerce-product-gallery__image--main,
.woocommerce div.product .images .flex-viewport .woocommerce-product-gallery__image,
.woocommerce-page div.product .images .flex-viewport .woocommerce-product-gallery__image {
  width: 100% !important;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
  cursor: default;
}

/* Main image styling - ONLY for main image, NOT thumbnails */
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.woocommerce-product-gallery__thumbnails-wrapper) img,
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.woocommerce-product-gallery__thumbnails-wrapper *) img,
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:not(.woocommerce-product-gallery__thumbnails-wrapper) img,
.woocommerce div.product .images .woocommerce-product-gallery__image--main img,
.woocommerce div.product .images .flex-viewport img,
.woocommerce-page div.product .images .flex-viewport img,
.woocommerce div.product .images .flex-viewport .woocommerce-product-gallery__image img,
.woocommerce-page div.product .images .flex-viewport .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: var(--gmc-radius-lg) !important;
  box-shadow: var(--gmc-shadow-soft) !important;
  display: block !important;
  transition: transform 0.5s ease !important;
  cursor: default !important;
  object-fit: cover !important;
}

/* Ensure thumbnails don't get main image styling - override main image rules */
.woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child img {
  border-radius: var(--gmc-radius-md) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
  opacity: 0.7 !important;
  border: 2px solid transparent !important;
  transform: none !important;
}

/* THUMBNAIL HOVER - Must come FIRST to establish baseline for all thumbnails */
/* ALL thumbnails (including first) get this hover effect */
.woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image:hover img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:hover img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child:hover img,
.woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:last-child:hover img,
body.woocommerce.single-product .woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image:hover img,
body.woocommerce.single-product .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:hover img,
body.woocommerce.single-product .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child:hover img {
  transform: scale(1.05) !important;
  opacity: 1 !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.3) !important;
  cursor: pointer !important;
}

/* MAIN IMAGE HOVER - Only targets main image (first direct child, NOT inside thumbnails wrapper) */
/* Exclude images inside thumbnails wrapper using :not() on parent */
.woocommerce div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:hover img,
.woocommerce-page div.product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:hover img,
.woocommerce div.product .images .flex-viewport:hover img,
.woocommerce-page div.product .images .flex-viewport:hover img,
.woocommerce div.product .images .flex-viewport .woocommerce-product-gallery__image:hover img,
.woocommerce-page div.product .images .flex-viewport .woocommerce-product-gallery__image:hover img {
  transform: scale(1.3) !important;
}

/* Ensure main image hover does NOT apply to thumbnails - explicit override */
.woocommerce div.product .images .woocommerce-product-gallery__thumbnails-wrapper .woocommerce-product-gallery__image:hover img,
.woocommerce div.product .images .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:hover img,
.woocommerce div.product .images .woocommerce-product-gallery__thumbnails-wrapper > .woocommerce-product-gallery__image:first-child:hover img {
  transform: scale(1.05) !important;
  opacity: 1 !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.3) !important;
  cursor: pointer !important;
}

/* Thumbnail Gallery - Small Images Below Main - HORIZONTAL LAYOUT */
.woocommerce div.product .images .flex-control-thumbs,
.woocommerce-page div.product .images .flex-control-thumbs,
body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs,
body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs,
body.woocommerce.single-product div.product .images .flex-control-thumbs,
body.woocommerce-page.single-product div.product .images .flex-control-thumbs,
div.product .images .flex-control-thumbs,
div.product .woocommerce-product-gallery .flex-control-thumbs,
.woocommerce-product-gallery__thumbs,
.woocommerce-product-gallery .woocommerce-product-gallery__thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  list-style: none !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  width: 100% !important;
  overflow: visible !important;
  clear: both !important;
  /* Force horizontal - override any column layout */
  column-count: 1 !important;
  column-gap: 0 !important;
}

/* Force horizontal layout - override any inline styles with maximum specificity */
.woocommerce div.product .images .flex-control-thumbs[style],
.woocommerce-page div.product .images .flex-control-thumbs[style],
body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs[style],
body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs[style],
div.product .images .flex-control-thumbs[style],
.woocommerce-product-gallery .flex-control-thumbs[style] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

/* Override FlexSlider's default vertical layout - Force horizontal like WooGallery */
.flex-control-thumbs,
.woocommerce-product-gallery .flex-control-thumbs,
div.product .images .flex-control-thumbs,
.woocommerce-product-gallery__thumbs,
ul.flex-control-thumbs,
ol.flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 1rem 0 0 !important;
  clear: both !important;
  overflow: visible !important;
  /* Force horizontal - override any column layout */
  column-count: 1 !important;
  column-gap: 0 !important;
  /* Prevent vertical stacking */
  writing-mode: horizontal-tb !important;
  direction: ltr !important;
  /* Override FlexSlider's default height/width constraints */
  height: auto !important;
  max-height: none !important;
  /* Force flex layout */
  align-items: flex-start !important;
  align-content: flex-start !important;
}

.flex-control-thumbs li,
.woocommerce-product-gallery .flex-control-thumbs li,
div.product .images .flex-control-thumbs li,
.woocommerce-product-gallery__thumbs li,
ul.flex-control-thumbs li,
ol.flex-control-thumbs li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 calc(25% - 0.5625rem) !important;
  max-width: calc(25% - 0.5625rem) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  height: auto !important;
  /* Prevent vertical stacking */
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  /* Override any width constraints */
  min-height: 0 !important;
  max-height: none !important;
}

/* Responsive: 3 per row on tablets */
@media (max-width: 768px) {
  .flex-control-thumbs li,
  .woocommerce-product-gallery .flex-control-thumbs li,
  div.product .images .flex-control-thumbs li {
    flex: 0 0 calc(33.333% - 0.5rem) !important;
    max-width: calc(33.333% - 0.5rem) !important;
  }
}

/* Responsive: 2 per row on mobile */
@media (max-width: 480px) {
  .flex-control-thumbs li,
  .woocommerce-product-gallery .flex-control-thumbs li,
  div.product .images .flex-control-thumbs li {
    flex: 0 0 calc(50% - 0.375rem) !important;
    max-width: calc(50% - 0.375rem) !important;
  }
}

.woocommerce div.product .images .flex-control-thumbs::-webkit-scrollbar {
  height: 4px;
}

.woocommerce div.product .images .flex-control-thumbs::-webkit-scrollbar-thumb {
  background: var(--gmc-border-soft);
  border-radius: 2px;
}

.woocommerce div.product .images .flex-control-thumbs li,
.woocommerce-page div.product .images .flex-control-thumbs li,
body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs li,
body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs li,
body.woocommerce.single-product div.product .images .flex-control-thumbs li,
body.woocommerce-page.single-product div.product .images .flex-control-thumbs li,
div.product .images .flex-control-thumbs li,
div.product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 calc(25% - 0.5625rem) !important; /* Max 4 per row: (100% - 3 gaps) / 4 */
  max-width: calc(25% - 0.5625rem) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  list-style: none !important;
  cursor: pointer;
  box-sizing: border-box;
  display: block !important;
  float: none !important;
  position: relative !important;
  height: auto !important;
}

/* Override any inline styles on list items */
.woocommerce div.product .images .flex-control-thumbs li[style],
.woocommerce-page div.product .images .flex-control-thumbs li[style] {
  display: block !important;
  float: none !important;
  width: auto !important;
}

/* Responsive: 3 per row on tablets */
@media (max-width: 768px) {
  .woocommerce div.product .images .flex-control-thumbs li,
  .woocommerce-page div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product div.product .images .flex-control-thumbs li,
  body.woocommerce-page.single-product div.product .images .flex-control-thumbs li {
    flex: 0 0 calc(33.333% - 0.5rem) !important; /* 3 per row */
    max-width: calc(33.333% - 0.5rem) !important;
  }
}

/* Responsive: 2 per row on mobile */
@media (max-width: 480px) {
  .woocommerce div.product .images .flex-control-thumbs li,
  .woocommerce-page div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product .woocommerce div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product .woocommerce-page div.product .images .flex-control-thumbs li,
  body.woocommerce.single-product div.product .images .flex-control-thumbs li,
  body.woocommerce-page.single-product div.product .images .flex-control-thumbs li {
    flex: 0 0 calc(50% - 0.375rem) !important; /* 2 per row */
    max-width: calc(50% - 0.375rem) !important;
  }
}

/* Thumbnail Images - Small Size (responsive, max 80px) */
.woocommerce div.product .images .flex-control-thumbs li img,
.woocommerce-page div.product .images .flex-control-thumbs li img,
.woocommerce-product-gallery__thumbs li img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 2px solid transparent !important;
  transition: all 180ms ease !important;
  cursor: pointer !important;
  opacity: 0.7;
  display: block !important;
  background: var(--gmc-surface);
}

/* Fix GIF animation in flex-control-thumbs - exclude video thumbnails */
.woocommerce div.product .images .flex-control-thumbs li:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-page div.product .images .flex-control-thumbs li:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce-product-gallery__thumbs li:not(.gmc-video-thumb) img[src$=".gif"],
.woocommerce div.product .images .flex-control-thumbs li:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce-page div.product .images .flex-control-thumbs li:not(.gmc-video-thumb) img[src*=".gif"],
.woocommerce-product-gallery__thumbs li:not(.gmc-video-thumb) img[src*=".gif"] {
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* Thumbnail Hover State */
.woocommerce div.product .images .flex-control-thumbs li:hover img,
.woocommerce-page div.product .images .flex-control-thumbs li:hover img {
  border-color: var(--gmc-primary) !important;
  opacity: 1 !important;
  transform: scale(1.05);
}

/* Active Thumbnail (currently displayed in main image) */
.woocommerce div.product .images .flex-control-thumbs li.flex-active img,
.woocommerce-page div.product .images .flex-control-thumbs li.flex-active img {
  border-color: var(--gmc-primary-dark) !important;
  opacity: 1 !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.2);
}

/* Ensure only main image is large, thumbnails stay small */
.woocommerce div.product .images .flex-viewport .woocommerce-product-gallery__image img,
.woocommerce-page div.product .images .flex-viewport .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce div.product .images .flex-control-thumbs .woocommerce-product-gallery__image img,
.woocommerce-page div.product .images .flex-control-thumbs .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbs .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
}

/* Prevent thumbnail links from opening in new window */
.woocommerce div.product .images .flex-control-thumbs li a,
.woocommerce-page div.product .images .flex-control-thumbs li a {
  display: block;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
}

.woocommerce div.product .images .flex-control-thumbs li a:hover,
.woocommerce-page div.product .images .flex-control-thumbs li a:hover {
  text-decoration: none;
}

/* FlexSlider Navigation Arrows (if visible) */
.woocommerce div.product .images .flex-direction-nav,
.woocommerce-page div.product .images .flex-direction-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce div.product .images .flex-direction-nav a,
.woocommerce-page div.product .images .flex-direction-nav a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  color: var(--gmc-text);
  text-decoration: none;
  transition: all 180ms ease;
}

.woocommerce div.product .images .flex-direction-nav a:hover,
.woocommerce-page div.product .images .flex-direction-nav a:hover {
  background: var(--gmc-surface);
  border-color: var(--gmc-primary);
  color: var(--gmc-primary-dark);
}

/* Hide FlexSlider loading spinner */
.woocommerce div.product .images .flex-loading,
.woocommerce-page div.product .images .flex-loading {
  display: none !important;
}

/* Only apply to WooCommerce product pages */
body.woocommerce.single-product .woocommerce div.product .summary,
body.woocommerce.single-product .woocommerce-page div.product .summary,
body.woocommerce.single-product div.product .summary,
body.woocommerce-page.single-product div.product .summary,
.woocommerce.single-product div.product .summary,
.woocommerce-page.single-product div.product .summary,
div.product .summary {
  padding: 0;
  width: 100%;
}

body.woocommerce.single-product .woocommerce div.product .summary h1,
body.woocommerce.single-product .woocommerce-page div.product .summary h1,
body.woocommerce.single-product div.product .summary h1,
body.woocommerce.single-product .woocommerce div.product .summary .product_title,
body.woocommerce.single-product .woocommerce-page div.product .summary .product_title,
body.woocommerce.single-product div.product .summary .product_title {
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1rem !important;
  line-height: 1.2 !important;
}

body.woocommerce.single-product .woocommerce div.product .summary .price,
body.woocommerce.single-product .woocommerce-page div.product .summary .price,
body.woocommerce.single-product div.product .summary .price {
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  margin: 0 0 1.5rem !important;
}

body.woocommerce.single-product .woocommerce div.product form.cart,
body.woocommerce.single-product .woocommerce-page div.product form.cart,
body.woocommerce.single-product div.product form.cart,
body.woocommerce-page.single-product div.product form.cart {
  margin: 2rem 0 !important;
  padding: 2rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  border: 1px solid var(--gmc-border-soft) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

body.woocommerce.single-product .woocommerce div.product form.cart .quantity,
body.woocommerce.single-product .woocommerce-page div.product form.cart .quantity,
body.woocommerce.single-product div.product form.cart .quantity,
body.woocommerce-page.single-product div.product form.cart .quantity {
  margin-bottom: 0 !important;
  margin-right: 1rem !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}

body.woocommerce.single-product .woocommerce div.product form.cart button,
body.woocommerce.single-product .woocommerce-page div.product form.cart button,
body.woocommerce.single-product div.product form.cart button,
body.woocommerce.single-product .woocommerce div.product form.cart .button,
body.woocommerce.single-product .woocommerce-page div.product form.cart .button,
body.woocommerce.single-product div.product form.cart .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.8rem 2rem !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-decoration: none;
  box-shadow: var(--gmc-shadow-light) !important;
  text-transform: none !important;
  transition: all 180ms ease;
  cursor: pointer;
  width: auto !important;
  margin-top: 0 !important;
  flex: 1 1 auto !important;
  min-width: 200px !important;
}

body.woocommerce.single-product .woocommerce div.product form.cart button:hover,
body.woocommerce.single-product .woocommerce-page div.product form.cart button:hover,
body.woocommerce.single-product div.product form.cart button:hover,
body.woocommerce.single-product .woocommerce div.product form.cart .button:hover,
body.woocommerce.single-product .woocommerce-page div.product form.cart .button:hover,
body.woocommerce.single-product div.product form.cart .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 40px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Responsive - Single Product */
@media (max-width: 900px) {
  body.woocommerce.single-product .product,
  body.woocommerce.single-product .woocommerce div.product,
  body.woocommerce.single-product .woocommerce-page div.product,
  body.woocommerce-page.single-product div.product,
  .woocommerce.single-product div.product,
  .woocommerce-page.single-product div.product,
  div.product {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  body.woocommerce.single-product .gmc-post-fullwidth-content,
  .single-product .gmc-post-fullwidth-content {
    padding: 2rem 0;
  }
  
  body.woocommerce.single-product .woocommerce-tabs ul.tabs,
  .woocommerce .woocommerce-tabs ul.tabs {
    flex-wrap: wrap;
  }
  
  body.woocommerce.single-product form.cart,
  .woocommerce form.cart {
    padding: 1.5rem;
  }
  
  .woocommerce div.product .images img:hover,
  .woocommerce-page div.product .images img:hover {
    transform: scale(1.2);
  }
}

/* =========================================
   WORDPRESS THEME ELEMENTS STYLING
   ========================================= */

/* Site Structure */
#page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  overflow-y: visible !important; /* CRITICAL: Must be visible for sticky to work */
  position: relative;
  /* No contain property - it breaks sticky positioning */
}

/* Ensure body and html don't prevent sticky positioning */
html {
  overflow-x: hidden !important;
  overflow-y: auto !important; /* Allow scrolling - this is the scroll container */
  height: 100%;
  position: relative;
}

body {
  overflow-x: hidden !important;
  overflow-y: auto !important; /* Allow scrolling */
  height: auto;
  min-height: 100vh;
  position: relative;
  margin: 0;
  padding: 0;
  padding-top: 80px; /* Space for fixed header - JavaScript will adjust this */
}

.site-main {
  flex: 1;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow-x: visible; /* To allow full-width elements to break out */
  /* Ensure main content area is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 200px !important;
}

/* Fallback: Ensure all content inside site-main is visible */
.site-main > * {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Skip Link */
.skip-link {
  position: absolute;
  left: -9999px;
  z-index: 999999;
}

.skip-link:focus {
  left: 6px;
  top: 7px;
  padding: 8px 16px;
  background: var(--gmc-primary);
  color: #fff;
  text-decoration: none;
  border-radius: var(--gmc-radius-md);
}

/* ============================================
   HEADER / SITE HEADER - ISOLATED
   ============================================
   
   ⚠️ ISOLATED: All styles scoped to #masthead.site-header
   Changes here will NOT affect other sections
   ============================================ */

/* Header Wrapper - Sticky Header - Always Visible */
/* CSS sticky as primary, JavaScript will use fixed as fallback */
header#masthead.site-header,
header#masthead,
#masthead.site-header,
#masthead,
.site-header,
body header#masthead.site-header,
body header#masthead,
body #masthead.site-header,
body #masthead {
  background: rgba(255, 253, 251, 0.98) !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
  padding: 1.2rem 0 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  max-width: 100vw !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important; /* Safari support */
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important; /* Ensure no transforms that break sticky */
}

/* When JavaScript applies fixed positioning, ensure it works */
header#masthead.site-header[style*="position: fixed"],
#masthead.site-header[style*="position: fixed"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

/* Ensure header stays sticky even inside flex containers (#page uses flex) */
#page > header#masthead.site-header,
#page > header#masthead,
#page > #masthead.site-header,
#page > #masthead,
div#page.site > header#masthead.site-header,
div#page.site > header#masthead {
  align-self: flex-start !important;
  flex-shrink: 0 !important;
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  max-width: 100vw !important;
}

/* Header Container - Independent from base */
#masthead.site-header .gmc-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Site Branding / Logo */
#masthead.site-header .site-branding {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

#masthead.site-header .site-branding .custom-logo,
#masthead.site-header .site-branding img {
  max-height: 50px;
  max-width: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

#masthead.site-header .site-branding .site-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

#masthead.site-header .site-branding .site-title a {
  color: var(--gmc-text);
  text-decoration: none;
  transition: color 180ms ease;
}

#masthead.site-header .site-branding .site-title a:hover {
  color: var(--gmc-primary-dark);
}

#masthead.site-header .site-branding .site-description {
  margin: 0.3rem 0 0;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  font-weight: 400;
}

/* Navigation */
#masthead.site-header .main-navigation {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  min-width: 0;
}

/* Primary Menu */
#masthead.site-header #primary-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

#masthead.site-header #primary-menu li {
  margin: 0;
  padding: 0;
  position: relative;
}

/* Sub-menu positioning */
#masthead.site-header #primary-menu li ul.sub-menu,
#masthead.site-header #primary-menu li ul.children {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: var(--gmc-surface);
  border: 1px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  box-shadow: var(--gmc-shadow-soft);
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 200ms ease;
  z-index: 999;
}

/* Show sub-menu on hover */
#masthead.site-header #primary-menu li:hover > ul.sub-menu,
#masthead.site-header #primary-menu li:hover > ul.children {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Sub-menu items */
#masthead.site-header #primary-menu li ul.sub-menu li,
#masthead.site-header #primary-menu li ul.children li {
  width: 100%;
  margin: 0;
  padding: 0;
}

#masthead.site-header #primary-menu li ul.sub-menu a,
#masthead.site-header #primary-menu li ul.children a {
  display: block;
  padding: 0.6rem 1.2rem;
  color: var(--gmc-text);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 0;
  transition: all 180ms ease;
  white-space: nowrap;
}

#masthead.site-header #primary-menu li ul.sub-menu a:hover,
#masthead.site-header #primary-menu li ul.children a:hover {
  background: rgba(244, 140, 168, 0.1);
  color: var(--gmc-primary-dark);
}

/* Main menu links */
#masthead.site-header #primary-menu > li > a {
  color: var(--gmc-text);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: var(--gmc-radius-md);
  transition: all 180ms ease;
  display: block;
  position: relative;
}

/* Sub-menu indicator arrow */
#masthead.site-header #primary-menu > li.menu-item-has-children > a::after {
  content: "▼";
  font-size: 0.6rem;
  margin-left: 0.4rem;
  opacity: 0.6;
  transition: transform 180ms ease;
}

#masthead.site-header #primary-menu > li.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}

#masthead.site-header #primary-menu > li > a:hover {
  color: var(--gmc-primary-dark);
  background: rgba(244, 140, 168, 0.08);
}

/* Only highlight current menu item, not parent/ancestor */
#masthead.site-header #primary-menu > li.current-menu-item > a {
  color: var(--gmc-primary-dark);
  background: rgba(244, 140, 168, 0.12);
}

/* Don't highlight parent items when on child pages - force reset */
#masthead.site-header #primary-menu > li.current-menu-ancestor > a,
#masthead.site-header #primary-menu > li.current-menu-parent > a {
  color: var(--gmc-text) !important;
  background: transparent !important;
}

#masthead.site-header #primary-menu > li.current-menu-ancestor > a:hover,
#masthead.site-header #primary-menu > li.current-menu-parent > a:hover {
  color: var(--gmc-primary-dark);
  background: rgba(244, 140, 168, 0.08);
}

/* Ensure Blog menu item is not highlighted when on Home */
body.home #masthead.site-header #primary-menu > li:not(.current-menu-item) > a {
  color: var(--gmc-text);
  background: transparent;
}

/* Header CTA Button */
#masthead.site-header .header-cta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
}

#masthead.site-header .header-cta .gmc-btn {
  margin: 0;
  white-space: nowrap;
}

/* Cart Icon */
#masthead.site-header .gmc-cart-icon-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  z-index: 10001; /* Ensure wrapper is above mini-cart for hover detection */
  pointer-events: none; /* Prevent wrapper from capturing hover events */
}

#masthead.site-header .gmc-cart-icon-wrapper .gmc-cart-icon {
  pointer-events: auto; /* Only the icon itself should capture hover */
}

/* Create a bridge area between cart icon and mini-cart for easier mouse movement */
#masthead.site-header .gmc-cart-icon-wrapper::after {
  content: '';
  position: absolute;
  top: 100%;
  right: 0;
  width: 400px;
  max-width: calc(100vw - 2rem);
  height: 1rem;
  pointer-events: auto;
  z-index: 9999;
  background: transparent;
}

/* Mobile: Adjust bridge area */
@media (max-width: 767px) {
  #masthead.site-header .gmc-cart-icon-wrapper::after {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    right: 7px !important;
  }
}

/* Ensure mini-cart stays visible when hovered */
#masthead.site-header .gmc-cart-icon-wrapper.hover-active .gmc-mini-cart,
#masthead.site-header .gmc-cart-icon-wrapper.cart-open .gmc-mini-cart {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

#masthead.site-header .gmc-cart-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--gmc-text);
  text-decoration: none;
  border-radius: var(--gmc-radius-md);
  transition: all 180ms ease;
  background: transparent;
}

#masthead.site-header .gmc-cart-icon:hover {
  background: rgba(244, 140, 168, 0.1);
  color: var(--gmc-primary-dark);
}

#masthead.site-header .gmc-cart-icon svg {
  width: 24px;
  height: 24px;
}

#masthead.site-header .gmc-cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--gmc-primary);
  color: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  min-width: 20px;
}

#masthead.site-header .gmc-cart-count:empty {
  display: none;
}

/* Mini Cart Dropdown - Professional Styling */
#masthead.site-header .gmc-mini-cart {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  width: 400px;
  max-width: calc(100vw - 2rem);
  background: var(--gmc-surface);
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-lg);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.15), 0 4px 12px rgba(15, 23, 42, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 200ms ease;
  z-index: 10000 !important; /* Higher z-index to appear above fixed header */
  max-height: 600px !important; /* Increased height */
  min-height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  display: block !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  /* Ensure scrollbar is visible and styled */
  scrollbar-width: thin;
  scrollbar-color: rgba(244, 140, 168, 0.3) transparent;
  /* Add padding to top to create a "bridge" between icon and cart for easier mouse movement */
  margin-top: 0.25rem;
  padding-top: 0.5rem;
}

/* Webkit scrollbar styling */
#masthead.site-header .gmc-mini-cart::-webkit-scrollbar {
  width: 8px;
}

#masthead.site-header .gmc-mini-cart::-webkit-scrollbar-track {
  background: transparent;
}

#masthead.site-header .gmc-mini-cart::-webkit-scrollbar-thumb {
  background: rgba(244, 140, 168, 0.3);
  border-radius: 4px;
}

#masthead.site-header .gmc-mini-cart::-webkit-scrollbar-thumb:hover {
  background: rgba(244, 140, 168, 0.5);
}

/* Mini cart opens on hover or click - ONLY when hovering over cart icon, not wrapper */
#masthead.site-header .gmc-cart-icon-wrapper.cart-open .gmc-mini-cart,
#masthead.site-header .gmc-cart-icon-wrapper.hover-active .gmc-mini-cart {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  top: calc(100% + 0.5rem) !important;
  bottom: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove hover on wrapper - only icon hover should trigger */
/* Handled via JavaScript - no CSS needed */

/* Keep cart open when hovering over it - but only if opened by hover */
#masthead.site-header .gmc-cart-icon-wrapper.hover-active .gmc-mini-cart:hover,
#masthead.site-header .gmc-cart-icon-wrapper.cart-open .gmc-mini-cart:hover {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content,
#masthead.site-header .gmc-mini-cart > .widget_shopping_cart_content,
#masthead.site-header .gmc-mini-cart div.widget_shopping_cart_content {
  padding: 1.75rem !important;
  margin: 0 !important;
  display: flex !important; /* Use flex for better content layout */
  flex-direction: column !important;
  box-sizing: border-box !important;
  /* Ensure content is fully visible */
  min-height: auto !important;
}

/* Mini cart mobile - fully responsive with 7px padding */
@media (max-width: 767px) {
  #masthead.site-header .gmc-mini-cart {
    width: calc(100vw - 14px) !important; /* 7px on each side */
    max-width: calc(100vw - 14px) !important;
    min-width: calc(100vw - 14px) !important;
    left: 7px !important; /* Position from left edge of viewport */
    right: 7px !important; /* Position from right edge of viewport */
    position: fixed !important; /* Fixed to viewport, not relative to header */
    top: 75px !important; /* Position below header */
    bottom: auto !important;
    max-height: calc(100vh - 90px) !important; /* Leave space for header */
    border-radius: var(--gmc-radius-lg) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transform: none !important; /* Reset any transforms */
    /* Inner padding: 7px left/right to match global mobile padding */
    padding: 0.75rem 7px 0.875rem 7px !important;
    z-index: 10001 !important; /* Above header */
  }

  /* Calculate top position based on header height - use JavaScript to set dynamically */
  #masthead.site-header .gmc-cart-icon-wrapper.cart-open .gmc-mini-cart,
  #masthead.site-header .gmc-cart-icon-wrapper.hover-active .gmc-mini-cart {
    top: 75px !important; /* Approximate header height on mobile + small gap */
    bottom: auto !important;
    transform: none !important;
    left: 7px !important;
    right: 7px !important;
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    position: fixed !important;
  }

  /* Content wrapper - let container padding handle the gap; keep layout clean */
  #masthead.site-header .gmc-mini-cart .widget_shopping_cart_content,
  #masthead.site-header .gmc-mini-cart > .widget_shopping_cart_content,
  #masthead.site-header .gmc-mini-cart div.widget_shopping_cart_content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Remove padding from nested elements - but keep content wrapper padding */
  #masthead.site-header .gmc-mini-cart ul,
  #masthead.site-header .gmc-mini-cart li,
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item,
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Mini cart items - smaller on mobile */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item {
    padding: 0.75rem 0 !important;
    gap: 0.75rem !important;
    font-size: 0.875rem !important; /* Smaller font */
  }

  /* Mini cart item images - smaller on mobile */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__image,
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item a:has(img) {
    flex: 0 0 60px !important;
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
  }

  /* Mini cart item content - adjust font sizes */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__content {
    font-size: 0.875rem !important;
    gap: 0.375rem !important;
    padding-right: 1.5rem !important; /* Space for remove button */
  }

  /* Show product title on mobile for better UX */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__title,
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__title a,
  #masthead.site-header .gmc-mini-cart .mini_cart_item .product-name,
  #masthead.site-header .gmc-mini-cart li.woocommerce-mini-cart-item .product-name {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    margin: 0 0 0.25rem 0 !important;
    padding: 0 !important;
    color: var(--gmc-text) !important;
  }

  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity {
    font-size: 0.8125rem !important; /* 13px */
    color: var(--gmc-text-light) !important;
  }

  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__price {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
  }

  /* Remove button - smaller on mobile */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove {
    width: 24px !important;
    height: 24px !important;
    font-size: 1.125rem !important;
    top: 0.5rem !important;
    right: 0 !important;
  }

  /* Totals section - smaller font */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total {
    padding-left: 7px !important;
    padding-right: 7px !important;
    padding-top: 0.875rem !important;
    padding-bottom: 0.875rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 0.9375rem !important; /* 15px */
    border-top: 1px solid var(--gmc-border-soft) !important;
    margin-top: 0.5rem !important;
  }

  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total strong {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
  }

  /* Buttons - full width with proper padding */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons {
    padding-left: 7px !important;
    padding-right: 7px !important;
    padding-top: 0.5rem !important;
    padding-bottom: 7px !important; /* extra bottom space under buttons */
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
  }

  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons a,
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons button {
    width: 100% !important;
    padding: 0.75rem 14px !important;
    font-size: 0.875rem !important; /* 14px */
    font-weight: 600 !important;
    min-height: 44px !important; /* Touch-friendly */
    box-sizing: border-box !important;
  }

  /* Product list wrapper - add 7px gap from mini-cart border */
  #masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart {
    padding-left: 7px !important;
    padding-right: 7px !important;
    box-sizing: border-box !important;
  }

  /* Empty cart message */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__empty-message {
    padding: 1rem 7px !important;
    font-size: 0.875rem !important;
    text-align: center !important;
  }

  /* On mobile, disable hover-based horizontal expansion that uses negative margins */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item:hover {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
  }
}


/* Ensure mini cart container has proper spacing from border on all sides (desktop only) */
@media (min-width: 768px) {
  #masthead.site-header .gmc-mini-cart {
    box-sizing: border-box !important;
    /* Don't set overflow: hidden here - allow scrolling if content exceeds max-height */
    padding: 0 !important; /* No padding on container, use padding on .widget_shopping_cart_content instead */
  }
}

/* Ensure padding is applied to all direct children */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > ul {
  margin: 0 !important;
  padding: 0 !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > .woocommerce-mini-cart__total {
  margin-top: 1rem !important;
  padding-top: 1.25rem !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > .woocommerce-mini-cart__buttons {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  /* Ensure buttons are always visible */
  position: relative !important;
  z-index: 1 !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > * {
  margin: 0 !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > *:first-child {
  margin-top: 0 !important;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Ensure buttons container takes available space and doesn't get cut off */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content {
  /* Allow content to scroll if needed, but ensure buttons are accessible */
  flex: 1 1 auto !important;
}

/* Make sure buttons container doesn't shrink */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > .woocommerce-mini-cart__buttons {
  flex-shrink: 0 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__empty-message {
  display: none !important;
}

/* Custom empty cart message - Engaging and friendly */
#masthead.site-header .gmc-mini-cart .gmc-empty-cart-message {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2.5rem 1.5rem !important;
  text-align: center !important;
  min-height: 200px !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#masthead.site-header .gmc-mini-cart .gmc-empty-cart-icon {
  font-size: 3rem !important;
  margin-bottom: 1rem !important;
  opacity: 0.6 !important;
}

#masthead.site-header .gmc-mini-cart .gmc-empty-cart-text {
  font-size: 1rem !important;
  color: var(--gmc-text) !important;
  font-weight: 600 !important;
  margin: 0 0 1.5rem 0 !important;
  line-height: 1.5 !important;
}

#masthead.site-header .gmc-mini-cart .gmc-empty-cart-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  transition: all 180ms ease !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25) !important;
}

#masthead.site-header .gmc-mini-cart .gmc-empty-cart-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* ==========================================
   WOOCOMMERCE CART PAGE - PROFESSIONAL STYLING
   ========================================== */

/* Hide breadcrumb and entry title on cart page */
body.woocommerce-cart .woocommerce-breadcrumb,
body.woocommerce-cart nav.woocommerce-breadcrumb {
  display: none !important;
  visibility: hidden !important;
}

body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .gmc-post-fullwidth-content .entry-title,
body.woocommerce-cart .gmc-post-fullwidth-content h1.entry-title {
  display: none !important;
  visibility: hidden !important;
}

/* Hide breadcrumb and entry title on checkout page */
body.woocommerce-checkout .woocommerce-breadcrumb,
body.woocommerce-checkout nav.woocommerce-breadcrumb {
  display: none !important;
  visibility: hidden !important;
}

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .gmc-post-fullwidth-content .entry-title,
body.woocommerce-checkout .gmc-post-fullwidth-content h1.entry-title {
  display: none !important;
  visibility: hidden !important;
}

/* ==========================================
   WOOCOMMERCE CHECKOUT PAGE - PROFESSIONAL STYLING
   ========================================== */

/* Hide empty PayPal reCAPTCHA container if not needed */
body.woocommerce-checkout #ppcp-recaptcha-v2-container:empty,
body.woocommerce-checkout #ppcp-recaptcha-v2-container:not(:has(*)) {
  display: none !important;
  margin: 0 !important;
}

/* Alternative: Hide PayPal reCAPTCHA container completely if you don't need it */
/* Uncomment the line below if you want to hide it regardless of content */
/* body.woocommerce-checkout #ppcp-recaptcha-v2-container { display: none !important; } */

/* Checkout page container */
body.woocommerce-checkout .gmc-container {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Reassurance Strip */
body.woocommerce-checkout .gmc-checkout-reassurance {
  margin: 1.5rem 0 2rem 0 !important;
  padding: 1rem 0 !important;
  border-top: 1px solid var(--gmc-border-soft) !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
}

body.woocommerce-checkout .gmc-checkout-reassurance-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.5rem 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
}

body.woocommerce-checkout .gmc-checkout-reassurance-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
}

body.woocommerce-checkout .gmc-checkout-reassurance-icon {
  color: var(--gmc-primary) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

/* Coupon Details/Summary */
body.woocommerce-checkout .gmc-checkout-coupon-details {
  margin-bottom: 1.5rem !important;
  padding: 1rem 1.5rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 1px solid var(--gmc-border-soft) !important;
}

body.woocommerce-checkout .gmc-checkout-coupon-summary {
  cursor: pointer !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  padding: 0.5rem 0 !important;
  list-style: none !important;
  font-size: 0.95rem !important;
  outline: none !important;
}

body.woocommerce-checkout .gmc-checkout-coupon-summary::-webkit-details-marker {
  display: none !important;
}

body.woocommerce-checkout .gmc-checkout-coupon-summary::before {
  content: "+ " !important;
  margin-right: 0.5rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary) !important;
}

body.woocommerce-checkout .gmc-checkout-coupon-details[open] .gmc-checkout-coupon-summary::before {
  content: "− " !important;
}

body.woocommerce-checkout .gmc-checkout-coupon-content {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--gmc-border-soft) !important;
}

/* Checkout form layout */
body.woocommerce-checkout form.checkout {
  margin-top: 2rem !important;
}

/* Checkout Grid Layout - Mobile-first (single column) */
body.woocommerce-checkout .gmc-checkout-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

body.woocommerce-checkout .gmc-checkout-left,
body.woocommerce-checkout .gmc-checkout-right {
  width: 100%;
}

/* Desktop: Two-column layout */
@media (min-width: 992px) {
  body.woocommerce-checkout .gmc-checkout-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 3rem;
    align-items: start;
  }

  body.woocommerce-checkout .gmc-checkout-left {
    width: 100%;
  }

  body.woocommerce-checkout .gmc-checkout-right {
    width: 100%;
    position: sticky;
    top: 110px;
    align-self: start;
  }
}

body.woocommerce-checkout #customer_details {
  margin-bottom: 2rem !important;
}

body.woocommerce-checkout #customer_details .col2-set {
  display: block !important;
}

body.woocommerce-checkout #customer_details .col-1 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Checkout form fields styling */
body.woocommerce-checkout .form-row {
  margin-bottom: 1.25rem !important;
}

body.woocommerce-checkout .form-row label {
  display: block !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  margin-bottom: 0.5rem !important;
  font-size: 0.9rem !important;
}

body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  border-radius: var(--gmc-radius-md) !important;
  font-size: 0.95rem !important;
  color: var(--gmc-text) !important;
  background: var(--gmc-surface) !important;
  font-family: inherit !important;
  transition: all 180ms ease !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  outline: none !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1) !important;
}

body.woocommerce-checkout .form-row .required {
  color: var(--gmc-primary) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
  padding-bottom: 1rem !important;
  border-bottom: 2px solid var(--gmc-border-soft) !important;
}

/* What happens next block */
body.woocommerce-checkout .gmc-checkout-what-happens-next {
  margin: 2rem 0 !important;
  padding: 2rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-steps {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-step {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-step-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--gmc-primary) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  flex-shrink: 0 !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-step-content {
  flex: 1 !important;
  font-size: 1rem !important;
  color: var(--gmc-text) !important;
  line-height: 1.5 !important;
}

body.woocommerce-checkout .gmc-checkout-what-happens-next-step-content strong {
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
}

/* Order review section */
body.woocommerce-checkout #order_review_heading {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
  padding-bottom: 1rem !important;
  border-bottom: 2px solid var(--gmc-border-soft) !important;
}

body.woocommerce-checkout #order_review {
  background: var(--gmc-surface) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  padding: 2rem !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
  box-sizing: border-box !important;
}

/* Ensure order review and payment stay within right column on desktop */
@media (min-width: 992px) {
  body.woocommerce-checkout .gmc-checkout-right #order_review,
  body.woocommerce-checkout .gmc-checkout-right #payment {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Order review table */
body.woocommerce-checkout #order_review .shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1.5rem !important;
}

body.woocommerce-checkout #order_review .shop_table th,
body.woocommerce-checkout #order_review .shop_table td {
  padding: 1rem 0 !important;
  text-align: left !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
  vertical-align: top !important;
}

body.woocommerce-checkout #order_review .shop_table th {
  font-weight: 600 !important;
  color: var(--gmc-text-soft) !important;
  font-size: 0.9rem !important;
}

body.woocommerce-checkout #order_review .shop_table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  vertical-align: top !important;
}

/* Product name column - left align and allow more space */
body.woocommerce-checkout #order_review .shop_table td.product-name {
  text-align: left !important;
  padding-right: 1rem !important;
  width: auto !important;
  min-width: 0 !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* Product item with image in checkout order review */
body.woocommerce-checkout #order_review .gmc-checkout-product-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left !important;
}

body.woocommerce-checkout #order_review .gmc-checkout-product-image-wrapper {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
}

body.woocommerce-checkout #order_review .gmc-checkout-product-image {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
  display: block !important;
}

body.woocommerce-checkout #order_review .gmc-checkout-product-details {
  flex: 1;
  min-width: 0;
}

/* Make product name smaller in checkout order review */
body.woocommerce-checkout #order_review .gmc-checkout-product-details,
body.woocommerce-checkout #order_review .gmc-checkout-product-details a {
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
  color: var(--gmc-text) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  display: block !important;
  white-space: normal !important;
}

/* Product name in table cell - inline display to prevent vertical stacking */
body.woocommerce-checkout #order_review .shop_table td.product-name,
body.woocommerce-checkout #order_review .shop_table td.product-name a {
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
  color: var(--gmc-text) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  display: inline !important;
  white-space: normal !important;
}

body.woocommerce-checkout #order_review .gmc-checkout-product-details a:hover,
body.woocommerce-checkout #order_review .shop_table td.product-name a:hover {
  color: var(--gmc-primary-dark) !important;
  text-decoration: underline !important;
}

/* Product total wrapper - quantity above price */
body.woocommerce-checkout #order_review .shop_table td.product-total .gmc-checkout-product-total-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

body.woocommerce-checkout #order_review .shop_table .gmc-checkout-product-quantity {
  font-size: 0.75rem !important;
  color: var(--gmc-text-soft) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

body.woocommerce-checkout #order_review .shop_table .gmc-checkout-product-total-divider {
  width: 100%;
  min-width: 40px;
  height: 1px;
  background: var(--gmc-border-soft);
  margin: 0;
  padding: 0;
  display: block !important;
  flex-shrink: 0;
}

body.woocommerce-checkout #order_review .shop_table .gmc-checkout-product-price-amount {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide quantity display in product name area - remove duplicate */
body.woocommerce-checkout #order_review .shop_table td.product-name .product-quantity,
body.woocommerce-checkout #order_review .shop_table td.product-name .quantity,
body.woocommerce-checkout #order_review .shop_table td.product-name .gmc-checkout-product-details .quantity {
  display: none !important;
}

/* Hide quantity text patterns that WooCommerce might add */
body.woocommerce-checkout #order_review .shop_table td.product-name strong:contains("×"),
body.woocommerce-checkout #order_review .shop_table td.product-name strong:contains("x") {
  display: none !important;
}

/* Target any quantity displayed after product name or in details */
body.woocommerce-checkout #order_review .shop_table td.product-name span[class*="quantity"],
body.woocommerce-checkout #order_review .shop_table td.product-name .gmc-checkout-product-details span[class*="quantity"] {
  display: none !important;
}

body.woocommerce-checkout #order_review .shop_table .order-total th,
body.woocommerce-checkout #order_review .shop_table .order-total td {
  border-top: 2px solid var(--gmc-border-soft) !important;
  padding-top: 1rem !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
}

/* Payment methods */
body.woocommerce-checkout #payment {
  margin-top: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Payment methods mobile - remove nested padding */
@media (max-width: 767px) {
  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #payment > *,
  body.woocommerce-checkout #payment .payment_methods,
  body.woocommerce-checkout #payment .payment_methods > *,
  body.woocommerce-checkout #payment .payment_methods li,
  body.woocommerce-checkout #payment .payment_methods li > *,
  body.woocommerce-checkout #payment .payment_methods .payment_method_paypal,
  body.woocommerce-checkout #payment .payment_methods .payment_method_stripe,
  body.woocommerce-checkout #payment .payment_methods .payment_method_ppcp,
  body.woocommerce-checkout #payment .payment_methods .payment_box,
  body.woocommerce-checkout #payment .payment_methods .payment_box > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Only the payment container itself should have 7px padding */
  body.woocommerce-checkout #payment {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

body.woocommerce-checkout #payment .payment_methods {
  list-style: none !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Remove borders from payment method elements */
body.woocommerce-checkout #payment .payment_methods li,
body.woocommerce-checkout #payment .payment_methods .payment_method,
body.woocommerce-checkout #payment .payment_methods .payment_method_stripe,
body.woocommerce-checkout #payment .payment_methods .wc_payment_method,
body.woocommerce-checkout #payment .payment_methods .wc_payment_method_stripe,
body.woocommerce-checkout #payment .wc-stripe-upe-form,
body.woocommerce-checkout #payment .payment_method_stripe .wc-stripe-upe-form,
body.woocommerce-checkout #payment .payment_method_stripe > *,
body.woocommerce-checkout #payment .wc_payment_method_stripe > *,
body.woocommerce-checkout #payment .payment_method_stripe form,
body.woocommerce-checkout #payment .payment_method_stripe .StripeElement,
body.woocommerce-checkout #payment .payment_method_stripe div,
body.woocommerce-checkout #payment .wc-stripe-upe-form > *,
body.woocommerce-checkout #payment .wc-stripe-upe-form form,
body.woocommerce-checkout #payment .wc-stripe-upe-form div {
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

body.woocommerce-checkout #payment .payment_methods li {
  border: 0 !important;
  border-bottom: 0 !important;
  padding: 1rem 1.5rem !important;
  margin: 0 !important;
}

/* Payment methods mobile - 7px padding */
@media (max-width: 767px) {
  body.woocommerce-checkout #payment {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body.woocommerce-checkout #payment .payment_methods {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout #payment .payment_methods li {
    padding-left: 7px !important;
    padding-right: 7px !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }

  /* Remove padding from nested divs inside payment methods */
  body.woocommerce-checkout #payment .payment_methods li > *,
  body.woocommerce-checkout #payment .payment_methods .payment_box,
  body.woocommerce-checkout #payment .payment_methods .payment_box > *,
  body.woocommerce-checkout #payment .payment_methods .payment_method_paypal > *,
  body.woocommerce-checkout #payment .payment_methods .payment_method_stripe > *,
  body.woocommerce-checkout #payment .payment_methods .payment_method_ppcp > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

body.woocommerce-checkout #payment .payment_methods li:last-child {
  border-bottom: none !important;
}

body.woocommerce-checkout #payment .payment_methods label {
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  cursor: pointer !important;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  width: 100% !important;
  padding: 1rem 2rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 180ms ease !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25) !important;
}

body.woocommerce-checkout #place_order:hover {
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(244, 140, 168, 0.35) !important;
}

/* Trust lines in order review box */
body.woocommerce-checkout .gmc-checkout-trust-lines {
  margin: 1.5rem 0 0 0 !important;
  padding: 1rem 0 0 0 !important;
  border-top: 1px solid var(--gmc-border-soft) !important;
}

body.woocommerce-checkout .gmc-checkout-trust-line {
  margin: 0.5rem 0 !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
  line-height: 1.5 !important;
}

body.woocommerce-checkout .gmc-checkout-trust-line:first-child {
  margin-top: 0 !important;
}

body.woocommerce-checkout .gmc-checkout-trust-line:last-child {
  margin-bottom: 0 !important;
}

/* GDPR reassurance */
body.woocommerce-checkout .gmc-checkout-gdpr-reassurance {
  margin: 1.5rem 0 0 0 !important;
  padding: 1rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 1px solid var(--gmc-border-soft) !important;
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
  text-align: center !important;
}

/* ==========================================
   WOOCOMMERCE THANK YOU PAGE - DIGITAL OPTIMIZED
   ========================================== */

/* Thank You Page Container */
body.woocommerce-order-received .gmc-container {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Success Header */
.gmc-thankyou-success-header {
  text-align: center;
  margin-bottom: 3rem;
  padding: 2rem 0;
}

.gmc-thankyou-success-title {
  font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1rem 0 !important;
  line-height: 1.2 !important;
}

.gmc-thankyou-success-subtitle {
  font-size: 1.1rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

/* Error/Failed/Pending States */
.gmc-thankyou-error,
.gmc-thankyou-failed,
.gmc-thankyou-pending {
  text-align: center;
  padding: 3rem 2rem;
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-thankyou-error h1,
.gmc-thankyou-failed h1,
.gmc-thankyou-pending h1 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 1rem 0;
}

.gmc-thankyou-error p,
.gmc-thankyou-failed p,
.gmc-thankyou-pending p {
  font-size: 1rem;
  color: var(--gmc-text-soft);
  margin: 0 0 1.5rem 0;
}

/* Section Titles */
.gmc-thankyou-section-title {
  font-size: clamp(1.3rem, 3vw, 1.8rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
  text-align: center;
}

/* Downloads Section */
.gmc-thankyou-downloads {
  margin-bottom: 3rem;
  padding: 2rem;
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-thankyou-downloads-list {
  margin-bottom: 1.5rem;
}

.gmc-thankyou-download-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  margin-bottom: 1rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  gap: 1.5rem;
}

.gmc-thankyou-download-item:last-child {
  margin-bottom: 0;
}

.gmc-thankyou-download-item-info {
  flex: 1;
  min-width: 0;
}

.gmc-thankyou-download-item-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}

.gmc-thankyou-download-item-file {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

.gmc-thankyou-download-item-action {
  flex-shrink: 0;
}

.gmc-download-button {
  padding: 0.85rem 1.75rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

.gmc-thankyou-downloads-help {
  text-align: center;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gmc-border-soft);
}

.gmc-download-help-text {
  margin: 0.5rem 0;
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
}

.gmc-download-help-text strong {
  color: var(--gmc-text);
  font-weight: 600;
}

/* What Happens Next */
.gmc-thankyou-what-next {
  margin-bottom: 3rem;
  padding: 2rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
}

.gmc-thankyou-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.gmc-thankyou-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.gmc-thankyou-step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--gmc-primary);
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.gmc-thankyou-step-content {
  flex: 1;
  font-size: 1rem;
  color: var(--gmc-text);
  line-height: 1.5;
}

.gmc-thankyou-step-content strong {
  font-weight: 700;
  color: var(--gmc-text);
}

/* Order Summary */
.gmc-thankyou-order-summary {
  margin-bottom: 3rem;
  padding: 2rem;
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-thankyou-order-details {
  max-width: 500px;
  margin: 0 auto;
}

.gmc-thankyou-order-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.gmc-thankyou-order-detail-row:last-child {
  border-bottom: none;
}

.gmc-thankyou-order-detail-label {
  font-weight: 600;
  color: var(--gmc-text-soft);
  font-size: 0.95rem;
}

.gmc-thankyou-order-detail-value {
  font-weight: 600;
  color: var(--gmc-text);
  font-size: 0.95rem;
  text-align: right;
}

.gmc-thankyou-order-total {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
}

/* Support Section */
.gmc-thankyou-support {
  margin-bottom: 3rem;
}

.gmc-thankyou-support-gdpr {
  text-align: center;
  padding: 1.5rem;
  background: rgba(244, 140, 168, 0.08);
  border-radius: var(--gmc-radius-md);
  margin-bottom: 2rem;
}

.gmc-support-gdpr-text {
  margin: 0;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
}

.gmc-thankyou-support-help {
  padding: 1.5rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
}

.gmc-support-help-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 1rem 0;
  text-align: center;
}

.gmc-support-help-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.gmc-support-help-checklist li {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  padding-left: 1.5rem;
  position: relative;
}

.gmc-support-help-checklist li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gmc-primary);
  font-weight: 700;
}

.gmc-support-help-checklist li a {
  color: var(--gmc-primary-dark);
  text-decoration: none;
  font-weight: 600;
  transition: color 180ms ease;
}

.gmc-support-help-checklist li a:hover {
  color: var(--gmc-primary);
  text-decoration: underline;
}

/* Bundle Upsell */
.gmc-thankyou-upsell {
  margin-bottom: 3rem;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(244, 140, 168, 0.05), rgba(240, 194, 123, 0.05));
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid rgba(244, 140, 168, 0.3);
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-thankyou-upsell-title {
  font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
  text-align: center;
}

.gmc-thankyou-upsell-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
}

.gmc-thankyou-upsell-product-name {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 0.75rem 0;
}

.gmc-thankyou-upsell-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gmc-primary-dark);
  margin: 0 0 1rem 0;
}

.gmc-thankyou-upsell-description {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  margin: 0 0 1.5rem 0;
  max-width: 500px;
}

.gmc-upsell-button {
  padding: 1rem 2rem !important;
  font-size: 1.05rem !important;
}

/* Bonus Gift Section */
.gmc-thankyou-bonus-gift {
  margin-bottom: 3rem;
  padding: 2.5rem;
  background: linear-gradient(135deg, rgba(244, 140, 168, 0.08), rgba(240, 194, 123, 0.08));
  border-radius: var(--gmc-radius-lg);
  border: 2px solid rgba(244, 140, 168, 0.4);
  box-shadow: 0 4px 16px rgba(244, 140, 168, 0.15);
  text-align: center;
}

.gmc-thankyou-bonus-gift-content {
  max-width: 600px;
  margin: 0 auto;
}

.gmc-thankyou-bonus-gift-title {
  font-size: clamp(1.4rem, 3vw, 1.9rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1rem 0 !important;
}

.gmc-thankyou-bonus-gift-text {
  font-size: 1.1rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  margin: 0 0 1.5rem 0;
}

.gmc-bonus-gift-button {
  padding: 1rem 2.5rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

.gmc-thankyou-bonus-gift-claimed {
  font-size: 1rem;
  color: var(--gmc-text);
  font-weight: 500;
  margin: 0;
  padding: 1rem;
  background: rgba(244, 140, 168, 0.1);
  border-radius: var(--gmc-radius-md);
}

/* Browse More CTA */
.gmc-thankyou-browse-more {
  text-align: center;
  margin-bottom: 3rem;
}

/* ==========================================
   STORY CLAIM FORM PAGE
   ========================================== */

/* Claim Form Error/Already Claimed/Success States */
.gmc-claim-form-error,
.gmc-claim-form-already-claimed,
.gmc-claim-form-success {
  text-align: center;
  padding: 3rem 2rem;
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
  max-width: 600px;
  margin: 2rem auto;
}

.gmc-claim-form-error h1,
.gmc-claim-form-already-claimed h1,
.gmc-claim-form-success h1 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 1rem 0;
}

.gmc-claim-form-error p,
.gmc-claim-form-already-claimed p,
.gmc-claim-form-success p {
  font-size: 1rem;
  color: var(--gmc-text-soft);
  margin: 0 0 1.5rem 0;
  line-height: 1.6;
}

/* Claim Form Wrapper */
.gmc-claim-form-wrapper {
  max-width: 700px;
  margin: 2rem auto;
  padding: 2.5rem;
  background: var(--gmc-surface);
  border-radius: var(--gmc-radius-lg);
  border: 1.5px solid var(--gmc-border-soft);
  box-shadow: var(--gmc-shadow-soft);
}

.gmc-claim-form-title {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1rem 0 !important;
  text-align: center;
}

.gmc-claim-form-intro {
  font-size: 1.1rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  margin: 0 0 2rem 0;
  text-align: center;
}

/* Claim Form Fields */
.gmc-claim-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.gmc-claim-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.gmc-claim-form-label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--gmc-text);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.gmc-claim-form-required {
  color: var(--gmc-primary);
  font-weight: 700;
}

.gmc-claim-form-optional {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  font-weight: 400;
}

.gmc-claim-form-input,
.gmc-claim-form-select,
.gmc-claim-form-textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  color: var(--gmc-text);
  background: #fff;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  transition: all 180ms ease;
  box-sizing: border-box;
}

.gmc-claim-form-input:focus,
.gmc-claim-form-select:focus,
.gmc-claim-form-textarea:focus {
  outline: none;
  border-color: var(--gmc-primary);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1);
}

.gmc-claim-form-textarea {
  resize: vertical;
  min-height: 100px;
}

.gmc-claim-form-gdpr {
  margin-top: 0.5rem;
}

.gmc-claim-form-gdpr-text {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  margin: 0;
}

.gmc-claim-form-gdpr-text a {
  color: var(--gmc-primary-dark);
  text-decoration: underline;
  transition: color 180ms ease;
}

.gmc-claim-form-gdpr-text a:hover {
  color: var(--gmc-primary);
}

.gmc-claim-form-submit {
  margin-top: 1rem;
}

.gmc-claim-form-submit-button {
  width: 100%;
  padding: 1rem 2rem !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

/* Responsive adjustments for claim form */
@media (max-width: 768px) {
  .gmc-claim-form-wrapper {
    padding: 1.5rem;
    margin: 1rem auto;
  }

  .gmc-thankyou-bonus-gift {
    padding: 2rem 1.5rem;
  }
}

.gmc-thankyou-browse-more .gmc-btn {
  padding: 0.85rem 2rem !important;
  font-size: 1rem !important;
}

/* Responsive Thank You Page */
@media (max-width: 768px) {
  .gmc-thankyou-success-header {
    padding: 1.5rem 0;
    margin-bottom: 2rem;
  }

  .gmc-thankyou-downloads,
  .gmc-thankyou-what-next,
  .gmc-thankyou-order-summary,
  .gmc-thankyou-upsell {
    padding: 1.5rem;
    margin-bottom: 2rem;
  }

  .gmc-thankyou-download-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .gmc-thankyou-download-item-action {
    width: 100%;
  }

  .gmc-download-button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .gmc-thankyou-success-header {
    padding: 1rem 0;
  }

  .gmc-thankyou-downloads,
  .gmc-thankyou-what-next,
  .gmc-thankyou-order-summary,
  .gmc-thankyou-upsell {
    padding: 1.25rem;
  }

  .gmc-thankyou-step-number {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
  }

  .gmc-thankyou-step-content {
    font-size: 0.9rem;
  }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  body.woocommerce-checkout .gmc-checkout-reassurance-list {
    gap: 1rem !important;
  }
  
  body.woocommerce-checkout .gmc-checkout-reassurance-item {
    font-size: 0.85rem !important;
  }
  
  body.woocommerce-checkout .gmc-checkout-what-happens-next {
    padding: 1.5rem !important;
  }
  
  body.woocommerce-checkout #order_review {
    padding: 1.5rem !important;
  }
}

/* Cart page container */
body.woocommerce-cart .gmc-container {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Cart table styling */
body.woocommerce-cart .woocommerce-cart-form .shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 0 2rem 0 !important;
  background: var(--gmc-surface) !important;
  border-radius: var(--gmc-radius-lg) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead {
  background: var(--gmc-surface-soft) !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
  padding: 1.25rem 1rem !important;
  text-align: left !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: var(--gmc-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 2px solid var(--gmc-border-soft) !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr {
  border-bottom: 1px solid var(--gmc-border-soft) !important;
  transition: background-color 180ms ease !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:hover {
  background: var(--gmc-surface-soft) !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:last-child {
  border-bottom: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td {
  padding: 1.5rem 1rem !important;
  vertical-align: middle !important;
}

/* Product remove button */
body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  background: transparent !important;
  color: var(--gmc-text-soft) !important;
  text-decoration: none !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
  transition: all 180ms ease !important;
  font-weight: 400 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover {
  background: var(--gmc-primary) !important;
  border-color: var(--gmc-primary) !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}

/* Product thumbnail */
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
  display: inline-block !important;
  text-decoration: none !important;
}

/* Product name */
body.woocommerce-cart .woocommerce-cart-form .product-name {
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a {
  color: var(--gmc-text) !important;
  text-decoration: none !important;
  transition: color 180ms ease !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a:hover {
  color: var(--gmc-primary-dark) !important;
}

/* Product price */
body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  font-size: 1rem !important;
}

/* Quantity input */
body.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: var(--gmc-surface) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity input[type="number"] {
  width: 60px !important;
  padding: 0.5rem 0.75rem !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity input[type="number"]::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Cart actions */
body.woocommerce-cart .woocommerce-cart-form .actions {
  padding: 1.5rem !important;
  background: var(--gmc-surface-soft) !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: center !important;
  margin-bottom: 1rem !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon input[type="text"] {
  flex: 1 !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  border-radius: 999px !important;
  font-size: 0.9rem !important;
  background: var(--gmc-surface) !important;
  color: var(--gmc-text) !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon input[type="text"]:focus {
  outline: none !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1) !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button,
body.woocommerce-cart .woocommerce-cart-form .actions button {
  padding: 0.75rem 1.5rem !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--gmc-primary) !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  transition: all 180ms ease !important;
  text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button:hover,
body.woocommerce-cart .woocommerce-cart-form .actions button:hover {
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25) !important;
}

/* Cart collaterals (totals sidebar) */
body.woocommerce-cart .cart-collaterals {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  margin-top: 2rem !important;
}

@media (min-width: 768px) {
  body.woocommerce-cart .cart-collaterals {
    grid-template-columns: 1fr 400px !important;
  }
}

body.woocommerce-cart .cart_totals {
  background: var(--gmc-surface) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  padding: 2rem !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

body.woocommerce-cart .cart_totals h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
  padding-bottom: 1rem !important;
  border-bottom: 2px solid var(--gmc-border-soft) !important;
}

body.woocommerce-cart .cart_totals table {
  width: 100% !important;
  margin: 0 0 1.5rem 0 !important;
}

body.woocommerce-cart .cart_totals table tr {
  border-bottom: 1px solid var(--gmc-border-soft) !important;
}

body.woocommerce-cart .cart_totals table tr:last-child {
  border-bottom: none !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
  padding: 0.75rem 0 !important;
  text-align: left !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
}

body.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  color: var(--gmc-primary-dark) !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  font-size: 1.15rem !important;
  padding-top: 1rem !important;
  border-top: 2px solid var(--gmc-border-soft) !important;
}

/* Checkout button */
body.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 1.5rem !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 1rem 1.5rem !important;
  text-align: center !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 180ms ease !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(244, 140, 168, 0.35) !important;
}

/* Cross-sells */
body.woocommerce-cart .cross-sells {
  margin-top: 0 !important;
}

body.woocommerce-cart .gmc-cross-sells-heading {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 2rem 0 1rem 0 !important;
}

/* ==========================================
   FAST-LANE CART PAGE ELEMENTS
   ========================================== */

/* Reassurance Strip */
body.woocommerce-cart .gmc-cart-reassurance {
  margin: 1.5rem 0 2rem 0 !important;
  padding: 1rem 0 !important;
  border-top: 1px solid var(--gmc-border-soft) !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
}

body.woocommerce-cart .gmc-cart-reassurance-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.5rem 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
}

body.woocommerce-cart .gmc-cart-reassurance-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.9rem !important;
  color: var(--gmc-text-soft) !important;
}

body.woocommerce-cart .gmc-cart-reassurance-icon {
  color: var(--gmc-primary) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

/* Top CTA Section */
body.woocommerce-cart .gmc-cart-top-cta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1.5rem !important;
  margin-bottom: 2rem !important;
  padding: 1.5rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  flex-wrap: wrap !important;
}

body.woocommerce-cart .gmc-cart-top-cta-primary {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
}

body.woocommerce-cart .gmc-cart-checkout-btn {
  padding: 0.85rem 2rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .gmc-cart-total-display {
  font-size: 1.1rem !important;
  color: var(--gmc-text) !important;
}

body.woocommerce-cart .gmc-cart-total-display strong {
  color: var(--gmc-primary-dark) !important;
  font-size: 1.2rem !important;
}

body.woocommerce-cart .gmc-cart-continue-shopping {
  color: var(--gmc-text-soft) !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  transition: color 180ms ease !important;
}

/* Emotional intent line */
body.woocommerce-cart .gmc-cart-emotional-intent {
  text-align: center !important;
  margin: -1.5rem 0 2rem 0 !important;
  padding: 0 1.5rem !important;
  font-size: 0.95rem !important;
  color: var(--gmc-text-soft) !important;
  font-style: italic !important;
}

/* Hide quantity column in cart table */
body.woocommerce-cart .product-quantity,
body.woocommerce-cart th.product-quantity,
body.woocommerce-cart td.product-quantity {
  display: none !important;
}

body.woocommerce-cart .gmc-cart-continue-shopping:hover {
  color: var(--gmc-primary-dark) !important;
  text-decoration: underline !important;
}

/* Coupon Details/Summary */
body.woocommerce-cart .gmc-cart-coupon-details {
  margin-bottom: 1rem !important;
}

body.woocommerce-cart .gmc-cart-coupon-summary {
  cursor: pointer !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  padding: 0.5rem 0 !important;
  list-style: none !important;
}

body.woocommerce-cart .gmc-cart-coupon-summary::-webkit-details-marker {
  display: none !important;
}

body.woocommerce-cart .gmc-cart-coupon-summary::before {
  content: "+ " !important;
  margin-right: 0.5rem !important;
}

body.woocommerce-cart .gmc-cart-coupon-details[open] .gmc-cart-coupon-summary::before {
  content: "− " !important;
}

body.woocommerce-cart .gmc-cart-coupon-details .coupon {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--gmc-border-soft) !important;
}

/* What happens next */
body.woocommerce-cart .gmc-cart-what-happens-next {
  margin: 2rem 0 !important;
  padding: 2rem !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-lg) !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--gmc-text) !important;
  margin: 0 0 1.5rem 0 !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-steps {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  flex-shrink: 0 !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step-content {
  flex: 1 !important;
  color: var(--gmc-text) !important;
  line-height: 1.6 !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step-content strong {
  color: var(--gmc-text) !important;
  font-weight: 700 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  body.woocommerce-cart .gmc-cart-reassurance-list {
    flex-direction: column !important;
    gap: 1rem !important;
    align-items: flex-start !important;
  }
  
  body.woocommerce-cart .gmc-cart-top-cta {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  
  body.woocommerce-cart .gmc-cart-top-cta-primary {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  
  body.woocommerce-cart .gmc-cart-checkout-btn {
    width: 100% !important;
  }
}

/* Responsive cart table */
@media (max-width: 768px) {
  body.woocommerce-cart .woocommerce-cart-form .shop_table thead {
    display: none !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr {
    display: block !important;
    margin-bottom: 1.5rem !important;
    border: 1.5px solid var(--gmc-border-soft) !important;
    border-radius: var(--gmc-radius-lg) !important;
    padding: 1rem !important;
    background: var(--gmc-surface) !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.75rem 0 !important;
    border: none !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td::before {
    content: attr(data-title) !important;
    font-weight: 700 !important;
    color: var(--gmc-text-soft) !important;
    margin-right: 1rem !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody .product-remove {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody .product-thumbnail {
    width: 100% !important;
    margin-bottom: 1rem !important;
  }
  
  body.woocommerce-cart .woocommerce-cart-form .actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
  }
  
  body.woocommerce-cart .cart-collaterals {
    grid-template-columns: 1fr !important;
  }
}

#masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Mini Cart Item - Enhanced Layout */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item,
#masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart li,
#masthead.site-header .gmc-mini-cart li.woocommerce-mini-cart-item {
  display: flex !important;
  gap: 1rem !important;
  padding: 1.25rem 0 !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
  transition: background-color 180ms ease;
  position: relative !important;
  align-items: flex-start !important;
  margin: 0 !important;
  list-style: none !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item:hover {
  background: var(--gmc-surface-soft);
  margin-left: -1.75rem;
  margin-right: -1.75rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  border-radius: var(--gmc-radius-md);
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item:last-child {
  border-bottom: none;
}

/* Mini Cart Item Image - Professional Styling */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__image,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item a:has(img) {
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  border-radius: var(--gmc-radius-md) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  background: var(--gmc-surface) !important;
  transition: all 180ms ease;
  margin: 0 !important;
  padding: 0 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item:hover .woocommerce-mini-cart-item__image {
  border-color: var(--gmc-primary);
  box-shadow: 0 6px 16px rgba(244, 140, 168, 0.2);
  transform: scale(1.02);
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__image img,
#masthead.site-header .gmc-mini-cart img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__image a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

/* Mini Cart Item Content - Fixed Layout */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__content {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  position: relative !important;
  padding-right: 2.5rem !important;
  margin: 0 !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

/* Mini Cart Item Quantity and Price - Professional Styling - Improved Typography */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity {
  font-size: 1rem !important;
  color: var(--gmc-text) !important;
  margin: 0.75rem 0 0 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem !important;
  line-height: 1.5 !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  text-align: left !important;
  order: 2 !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  font-family: inherit !important;
}

/* Quantity and price child elements - ensure they stay inline */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity * {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .quantity {
  display: inline-block !important;
  color: var(--gmc-text-soft) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  float: none !important;
  font-family: inherit !important;
  line-height: 1.5 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity bdi,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .price,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .woocommerce-Price-currencySymbol {
  color: var(--gmc-primary-dark) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  font-family: inherit !important;
  line-height: 1.5 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity * {
  font-family: inherit;
  line-height: 1.4;
}

/* Mini Cart Item Remove Button - Professional X Icon - Improved Styling */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--gmc-text-soft) !important;
  text-decoration: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 2px solid var(--gmc-border-soft) !important;
  transition: all 180ms ease;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  z-index: 10 !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove::before {
  content: "×" !important;
  display: block !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  color: inherit !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-1px) !important;
}

/* Also style the span.remove-icon if it exists */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove span.remove-icon {
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
  color: inherit !important;
  display: block !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove * {
  display: none !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove:hover {
  color: #fff !important;
  background: var(--gmc-primary);
  border-color: var(--gmc-primary);
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(244, 140, 168, 0.3);
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove:hover::before {
  color: #fff;
}

/* Mini Cart Total - Professional Styling */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total {
  padding: 1.25rem !important;
  border-top: 2px solid var(--gmc-border-soft) !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: var(--gmc-text) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total strong {
  font-weight: 700;
  color: var(--gmc-primary-dark);
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total .amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total bdi {
  color: var(--gmc-primary-dark) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}

/* ============================================
   COMPREHENSIVE MINI CART ELEMENT STYLING
   Every element inside .gmc-mini-cart
   ============================================ */

/* Base Reset for All Elements */
#masthead.site-header .gmc-mini-cart * {
  box-sizing: border-box;
  font-family: inherit;
}

/* Text Elements - Reset but preserve container padding */
#masthead.site-header .gmc-mini-cart p,
#masthead.site-header .gmc-mini-cart span {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* Divs - Reset but preserve widget_shopping_cart_content padding */
#masthead.site-header .gmc-mini-cart div:not(.widget_shopping_cart_content):not(.woocommerce-mini-cart-item__content):not(.woocommerce-mini-cart-item__image):not(.woocommerce-mini-cart__buttons):not(.woocommerce-mini-cart__total) {
  margin: 0 !important;
  padding: 0.6rem !important;
}

/* Headings */
#masthead.site-header .gmc-mini-cart h1,
#masthead.site-header .gmc-mini-cart h2,
#masthead.site-header .gmc-mini-cart h3,
#masthead.site-header .gmc-mini-cart h4,
#masthead.site-header .gmc-mini-cart h5,
#masthead.site-header .gmc-mini-cart h6 {
  margin: 0;
  padding: 0;
  font-weight: 600;
  color: var(--gmc-text);
  line-height: 1.4;
}

/* Links - General */
#masthead.site-header .gmc-mini-cart a {
  text-decoration: none;
  transition: color 180ms ease;
  color: var(--gmc-text);
}

#masthead.site-header .gmc-mini-cart a:hover {
  color: var(--gmc-primary-dark);
}

/* Lists - Reset */
#masthead.site-header .gmc-mini-cart ul,
#masthead.site-header .gmc-mini-cart ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

#masthead.site-header .gmc-mini-cart li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Images - General */
#masthead.site-header .gmc-mini-cart img {
  max-width: 100%;
  height: auto;
  display: block;
  border: none;
  outline: none;
}

/* Buttons - General Reset */
#masthead.site-header .gmc-mini-cart button,
#masthead.site-header .gmc-mini-cart input[type="button"],
#masthead.site-header .gmc-mini-cart input[type="submit"] {
  font-family: inherit;
  font-size: inherit;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

/* Input Fields - Hide quantity inputs */
#masthead.site-header .gmc-mini-cart input[type="number"],
#masthead.site-header .gmc-mini-cart .quantity input,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity input,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .quantity input[type="number"] {
  display: none !important;
}

/* Hide quantity labels */
#masthead.site-header .gmc-mini-cart .quantity-label,
#masthead.site-header .gmc-mini-cart label {
  display: none !important;
}

/* Price Currency Symbols */
#masthead.site-header .gmc-mini-cart .woocommerce-Price-currencySymbol {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
}

/* Del/Ins Price Elements */
#masthead.site-header .gmc-mini-cart del,
#masthead.site-header .gmc-mini-cart .price del {
  text-decoration: line-through;
  opacity: 0.6;
  color: var(--gmc-text-soft);
}

#masthead.site-header .gmc-mini-cart ins,
#masthead.site-header .gmc-mini-cart .price ins {
  text-decoration: none;
}

/* Spacing Elements */
#masthead.site-header .gmc-mini-cart br {
  display: none;
}

/* Divider Elements */
#masthead.site-header .gmc-mini-cart hr {
  display: none;
  border: none;
  margin: 0;
  padding: 0;
}

/* Widget Shopping Cart Content - Additional Styling */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > *:first-child {
  margin-top: 0;
}

#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content > *:last-child {
  margin-bottom: 0;
}

/* Ensure flex display for items - Multiple selectors for maximum compatibility */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item,
#masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart > li,
#masthead.site-header .gmc-mini-cart li.woocommerce-mini-cart-item,
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1.25rem !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Additional Specific Overrides */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__content {
  display: flex !important;
  flex-direction: column !important;
}

/* Ensure price elements don't break layout */
#masthead.site-header .gmc-mini-cart .price,
#masthead.site-header .gmc-mini-cart .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart bdi {
  display: inline !important;
  white-space: nowrap;
}

/* Ensure quantity wrapper is inline */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity {
  display: flex !important;
}

/* Style any additional text that might appear */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__total * {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
}

/* Ensure buttons container is flex */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
}

/* Mini Cart Buttons - Enhanced Professional Styling */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 1.25rem !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons a {
  flex: 1 !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 999px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  transition: all 180ms ease;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--gmc-shadow-light) !important;
  margin: 0 !important;
  border: none !important;
}

/* View Cart Button - Primary Gradient */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons .wc-forward {
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  border: none;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons .wc-forward:hover {
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary));
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35);
}

/* Checkout Button - Secondary Style */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons .checkout {
  background: var(--gmc-surface);
  color: var(--gmc-text);
  border: 1.5px solid var(--gmc-border-soft);
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons .checkout:hover {
  background: var(--gmc-surface-soft);
  border-color: var(--gmc-primary);
  color: var(--gmc-primary-dark);
  transform: translateY(-1px);
}

/* =============================
   MAIN CONTENT AREA
   ============================= */

/* Site main padding removed above */

/* =============================
   POSTS / ARTICLES
   ============================= */

.page-header {
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.page-title {
  font-size: clamp(1.9rem, 2.4vw, 2.4rem);
  margin: 0 0 0.5rem;
  color: var(--gmc-text);
  font-weight: 700;
}

/* Hide page title on homepage - multiple selectors for reliability */
body.home .page-title,
body.page.page-id-105 .page-title,
body.home .site-main .page-title,
body.home .site-main .page-header .page-title,
body.home .site-main .entry-header .entry-title,
body.home .site-main .entry-title,
body.home .gmc-post-fullwidth-content .entry-title,
body.home .gmc-post-fullwidth-content .entry-header .entry-title,
body.home .gmc-post-box-content .entry-title,
body.home .gmc-post-box-content .entry-header .entry-title {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Remove top padding on home page only */
body.home .entry-content {
  padding-top: 0 !important;
}

body.home .gmc-post-fullwidth-content {
  padding-top: 0 !important;
}

/* Hide entry header entirely on homepage */
body.home .site-main .entry-header,
body.home .gmc-post-fullwidth-content .entry-header,
body.home .gmc-post-box-content .entry-header {
  display: none !important;
}

.archive-description {
  margin-top: 0.5rem;
  color: var(--gmc-text-soft);
  line-height: 1.7;
}

article {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

article:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

/* Single post articles don't need border */
.single article,
.gmc-post-box-content,
.gmc-post-fullwidth-content {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
  /* Ensure content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: auto !important;
}

.entry-header {
  margin-bottom: 1rem;
}

.entry-title {
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  margin: 0 0 0.5rem;
  font-weight: 600;
  line-height: 1.3;
}

.entry-title a {
  color: var(--gmc-text);
  text-decoration: none;
  transition: color 180ms ease;
}

.entry-title a:hover {
  color: var(--gmc-primary-dark);
}

.entry-meta {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  margin-bottom: 0.8rem;
}

.entry-content {
  color: var(--gmc-text);
  line-height: 1.8;
}

.entry-content p {
  margin: 0 0 1.2rem;
}

.entry-content a {
  color: var(--gmc-primary-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.entry-content a:hover {
  color: var(--gmc-primary);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 1.8rem 0 1rem;
  color: var(--gmc-text);
  font-weight: 600;
  line-height: 1.3;
}

.entry-content h2 {
  font-size: 1.6rem;
}

.entry-content h3 {
  font-size: 1.4rem;
}

.entry-content ul,
.entry-content ol {
  margin: 1.2rem 0;
  padding-left: 1.8rem;
}

.entry-content li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}

.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--gmc-radius-md);
  margin: 0;
  box-shadow: var(--gmc-shadow-light);
}

.post-thumbnail {
  margin-bottom: 1.5rem;
}

.post-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: var(--gmc-radius-md);
  box-shadow: var(--gmc-shadow-light);
}

/* =============================
   POST LAYOUTS
   ============================= */

/* =============================
   BOX/CONTAINER POST LAYOUT
   (Isolated to prevent conflicts)
   ============================= */

.site-main .gmc-post-box {
  background: transparent;
  padding: 3rem 0;
}

.site-main .gmc-post-box .gmc-container {
  max-width: 1120px;
  margin: 0 auto;
}

.site-main .gmc-post-box .gmc-post-box-content {
  background: transparent;
  border-radius: 0;
  padding: 2.5rem 0;
  border: none;
  box-shadow: none;
}

.site-main .gmc-post-box .gmc-post-box-content .entry-header {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.site-main .gmc-post-box .gmc-post-box-content .entry-content {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.site-main .gmc-post-box .gmc-post-box-content .entry-title {
  font-size: clamp(1.8rem, 2.2vw, 2.2rem);
}

.site-main .gmc-post-box .gmc-post-box-content .post-thumbnail {
  margin: 0 0 2rem 0;
  border-radius: var(--gmc-radius-md);
}

.site-main .gmc-post-box .gmc-post-box-content .post-thumbnail img {
  border-radius: var(--gmc-radius-md);
  width: 100%;
  display: block;
}

/* =============================
   FULL WIDTH POST LAYOUT - ISOLATED
   (Isolated to prevent conflicts)
   ============================= */

/* ============================================
   FULL WIDTH LAYOUT - COMPLETELY ISOLATED
   ============================================
   
   ⚠️ CRITICAL: This section is 100% isolated.
   - Uses viewport width calculations
   - Never affects header or footer
   - Completely independent container system
   ============================================ */

/* Full-width wrapper - breaks out of all containers using viewport */
.site-main > .gmc-section.gmc-post-fullwidth,
.site-main > .gmc-post-fullwidth {
  /* Viewport breakout - breaks out of ANY parent container */
  /* Using negative margin method - more stable than transform */
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  /* Temporarily disable viewport breakout to fix white page issue */
  /* margin-left: calc((100vw - 100%) / -2) !important; */
  /* margin-right: calc((100vw - 100%) / -2) !important; */
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  /* Remove all top spacing to eliminate gap */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: var(--gmc-bg);
  box-sizing: border-box;
  z-index: 1;
  overflow: visible;
  /* Prevent layout shifts from child hover effects */
  isolation: isolate;
  /* No transform to prevent shaking */
  transform: none !important;
  left: auto !important;
  right: auto !important;
  /* Ensure content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 200px !important;
}

/* Force full-width on homepage when layout is fullwidth */
body.home .site-main > .gmc-section.gmc-post-fullwidth,
body.home .site-main > .gmc-post-fullwidth {
  width: 100% !important;
  max-width: 100% !important;
  /* Temporarily disable viewport breakout to fix white page issue */
  /* margin-left: calc((100vw - 100%) / -2) !important; */
  /* margin-right: calc((100vw - 100%) / -2) !important; */
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

/* Override .gmc-section padding ONLY for full-width - keep some padding for content */
.site-main .gmc-section.gmc-post-fullwidth,
.site-main > .gmc-section.gmc-post-fullwidth,
.site-main > .gmc-post-fullwidth {
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* Ensure wrapper is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 200px !important;
}

/* Full-width post content wrapper - Match single product style */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content {
  background: transparent;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 3rem 0 !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  position: relative;
  border: none;
  border-radius: 0;
  box-shadow: none;
  /* Ensure content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 200px !important;
}

/* Remove container constraints from .gmc-container inside full-width content */
.site-main .gmc-post-fullwidth .gmc-container,
.site-main .gmc-post-fullwidth-content .gmc-container,
.site-main .gmc-post-fullwidth .entry-content .gmc-container {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Allow content inside full-width to span edge-to-edge */
.site-main .gmc-post-fullwidth .entry-content,
/* Regular pages - entry-content should use container */
.site-main .gmc-post-fullwidth-content .entry-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 3rem 0;
  box-sizing: border-box;
  /* Ensure content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: auto !important;
}

/* Regular pages - ensure content is visible and properly contained */
.site-main .gmc-post-fullwidth-content .entry-content .gmc-container {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  /* Ensure container content is visible */
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure all content inside entry-content is visible - use proper display values */
.site-main .gmc-post-fullwidth-content .entry-content p,
.site-main .gmc-post-fullwidth-content .entry-content h1,
.site-main .gmc-post-fullwidth-content .entry-content h2,
.site-main .gmc-post-fullwidth-content .entry-content h3,
.site-main .gmc-post-fullwidth-content .entry-content h4,
.site-main .gmc-post-fullwidth-content .entry-content h5,
.site-main .gmc-post-fullwidth-content .entry-content h6,
.site-main .gmc-post-fullwidth-content .entry-content div {
  visibility: visible !important;
  opacity: 1 !important;
}

.site-main .gmc-post-fullwidth-content .entry-content ul,
.site-main .gmc-post-fullwidth-content .entry-content ol {
  visibility: visible !important;
  opacity: 1 !important;
}

.site-main .gmc-post-fullwidth-content .entry-content li {
  visibility: visible !important;
  opacity: 1 !important;
}

.site-main .gmc-post-fullwidth-content .entry-content span,
.site-main .gmc-post-fullwidth-content .entry-content a,
.site-main .gmc-post-fullwidth-content .entry-content strong,
.site-main .gmc-post-fullwidth-content .entry-content em {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Full-width pages - entry-content spans full width */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content {
  max-width: 100% !important;
  padding: 3rem 0 !important;
  /* Ensure content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 200px !important;
  color: var(--gmc-text) !important;
}

/* Full-width pages - content inside entry-content should use container */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content .gmc-container {
  max-width: 1120px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  /* Ensure container content is visible */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: auto !important;
}

/* Full-width header - isolated */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-header {
  padding: 3rem 0 2rem;
  margin-bottom: 0;
  background: var(--gmc-surface);
  border-bottom: 1px solid var(--gmc-border-soft);
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Full-width header container - independent from base */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-header > .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  box-sizing: border-box;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-title {
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  margin-bottom: 0.8rem;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-meta {
  font-size: 0.9rem;
}

/* Full-width thumbnail - isolated - spans full viewport */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-thumbnail {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-thumbnail img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  object-fit: cover;
}

/* Full-width content - isolated - spans full width */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content {
  padding: 3rem 0;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* Full-width content container - independent from base - full width */
.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content.gmc-container {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content p {
  font-size: 1.05rem;
  line-height: 1.9;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content h2 {
  font-size: 2rem;
  margin-top: 2.5rem;
  margin-bottom: 1.2rem;
}

.site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content h3 {
  font-size: 1.6rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .site-main .gmc-post-box {
    padding: 2rem 0;
  }

  .site-main .gmc-post-box .gmc-post-box-content {
    padding: 1.5rem 0;
  }

  .site-main .gmc-post-box .gmc-post-box-content .post-thumbnail {
    margin: 0 0 1.5rem 0;
  }

  .site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-header {
    padding: 2rem 1.5rem 1.5rem;
  }

  .site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-content {
    padding: 2rem 1.5rem;
  }

  .site-main .gmc-post-fullwidth .gmc-post-fullwidth-content .entry-title {
    font-size: 1.8rem;
  }
}

/* Posts Navigation */
.posts-navigation {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gmc-border-soft);
}

.posts-navigation .nav-links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.posts-navigation a {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  background: var(--gmc-surface);
  color: var(--gmc-text);
  text-decoration: none;
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 180ms ease;
}

.posts-navigation a:hover {
  background: var(--gmc-primary);
  color: #fff;
  border-color: var(--gmc-primary);
  transform: translateY(-1px);
  box-shadow: var(--gmc-shadow-light);
}

/* Page Links */
.page-links {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gmc-border-soft);
}

.page-links a {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  margin: 0 0.3rem 0.3rem 0;
  background: var(--gmc-surface);
  color: var(--gmc-text);
  text-decoration: none;
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  font-size: 0.9rem;
  transition: all 180ms ease;
}

.page-links a:hover {
  background: var(--gmc-primary);
  color: #fff;
  border-color: var(--gmc-primary);
}

/* ============================================
   FOOTER - COMPLETELY ISOLATED
   ============================================
   
   ⚠️ CRITICAL: This section is 100% isolated.
   - Uses its own container system
   - Never modifies base .gmc-container
   - All styles scoped to .site-footer
   - Changes here will NOT affect header or content
   ============================================ */

.site-footer {
  background: var(--gmc-surface-soft);
  border-top: 1px solid var(--gmc-border-soft);
  margin-top: 4rem;
  width: 100%;
  box-sizing: border-box;
}

/* Footer Container - Independent */
.site-footer > .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

/* Footer Widgets Area - Isolated */
.site-footer .footer-widgets {
  padding: 3rem 0;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.site-footer .footer-widgets .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

.site-footer .footer-widgets-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2.5rem;
}

.footer-widget-column {
  min-width: 0;
}

.footer-widget-column .widget {
  margin-bottom: 0;
}

.footer-widget-column .widget-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 1rem;
  color: var(--gmc-text);
}

.footer-widget-column .widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-widget-column .widget ul li {
  margin: 0 0 0.6rem;
  padding: 0;
  padding-left: 0;
}

.footer-widget-column .widget ul li::before {
  display: none;
}

.footer-widget-column .widget ul li a {
  color: var(--gmc-text-soft);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 180ms ease;
}

.footer-widget-column .widget ul li a:hover {
  color: var(--gmc-primary-dark);
}

.footer-widget-column .widget p {
  margin: 0 0 0.8rem;
  color: var(--gmc-text-soft);
  font-size: 0.9rem;
  line-height: 1.7;
}

.footer-widget-column .widget p:last-child {
  margin-bottom: 0;
}

/* Widget-specific styling */
.footer-widget-column .widget_nav_menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-widget-column .widget_nav_menu ul li {
  margin: 0 0 0.6rem;
  padding: 0;
  list-style: none;
}

.footer-widget-column .widget_nav_menu ul li::before {
  display: none;
  content: none;
}

.footer-widget-column .widget_nav_menu ul li a {
  color: var(--gmc-text-soft);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 180ms ease;
}

.footer-widget-column .widget_nav_menu ul li a:hover {
  color: var(--gmc-primary-dark);
}

/* Text widget */
.footer-widget-column .widget_text {
  color: var(--gmc-text-soft);
}

.footer-widget-column .widget_text a {
  color: var(--gmc-primary-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-widget-column .widget_text a:hover {
  color: var(--gmc-primary);
}

/* Social icons widget (if using) */
.footer-widget-column .widget_social_icons ul,
.footer-widget-column .social-icons {
  display: flex;
  gap: 0.8rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-widget-column .widget_social_icons ul li,
.footer-widget-column .social-icons li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-widget-column .widget_social_icons ul li::before,
.footer-widget-column .social-icons li::before {
  display: none;
  content: none;
}

/* Footer Bottom - Isolated */
.site-footer .footer-bottom {
  padding: 1.5rem 0;
  background: var(--gmc-surface-soft);
}

.site-footer .footer-bottom .gmc-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

.site-footer .footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Site Info - Scoped to footer */
.site-footer .site-info {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
}

.site-footer .site-info p {
  margin: 0;
}

/* Footer Navigation - Scoped */
.site-footer .footer-navigation {
  flex: 0 0 auto;
}

.site-footer .footer-navigation #footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

.site-footer .footer-navigation #footer-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer .footer-navigation #footer-menu li::before {
  display: none;
  content: none;
}

.site-footer .footer-navigation #footer-menu a {
  color: var(--gmc-text-soft);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 180ms ease;
}

.site-footer .footer-navigation #footer-menu a:hover {
  color: var(--gmc-primary-dark);
}

/* =============================
   RESPONSIVE HEADER/NAV
   ============================= */

/* ============================================
   MOBILE MENU TOGGLE BUTTON
   ============================================ */

.gmc-menu-toggle {
  display: none; /* Hidden on desktop */
  background: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  width: 44px;
  height: 44px;
  position: relative;
  z-index: 1001;
  flex-shrink: 0;
}

.gmc-menu-toggle-icon {
  display: block;
  width: 24px;
  height: 18px;
  position: relative;
}

.gmc-menu-toggle-icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--gmc-text);
  border-radius: 2px;
  transition: all 200ms ease;
  transform-origin: center;
  position: absolute;
  left: 0;
  right: 0;
}

.gmc-menu-toggle-icon span:nth-child(1) {
  top: 0;
}

.gmc-menu-toggle-icon span:nth-child(2) {
  top: 8px;
}

.gmc-menu-toggle-icon span:nth-child(3) {
  top: 16px;
}

/* Hamburger to X animation */
.gmc-menu-toggle[aria-expanded="true"] .gmc-menu-toggle-icon span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}

.gmc-menu-toggle[aria-expanded="true"] .gmc-menu-toggle-icon span:nth-child(2) {
  opacity: 0;
}

.gmc-menu-toggle[aria-expanded="true"] .gmc-menu-toggle-icon span:nth-child(3) {
  top: 8px;
  transform: rotate(-45deg);
}

.gmc-menu-toggle:hover .gmc-menu-toggle-icon span {
  background: var(--gmc-primary-dark);
}

/* Prevent body scroll when menu is open */
body.menu-open {
  overflow: hidden;
}

/* ============================================
   HEADER RESPONSIVE - ISOLATED
   ============================================ */

@media (max-width: 768px) {
  /* Mobile Header Layout - Ensure sticky works on mobile */
  #masthead.site-header {
    position: sticky !important;
    position: -webkit-sticky !important; /* Safari iOS support */
    top: 0 !important;
    z-index: 9999 !important;
  }
  
  #masthead.site-header .gmc-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 1rem;
  }

  /* Show hamburger menu toggle */
  .gmc-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Site branding (logo) */
  #masthead.site-header .site-branding {
    flex: 1;
    min-width: 0;
    justify-content: flex-start;
  }

  #masthead.site-header .site-branding .custom-logo,
  #masthead.site-header .site-branding img {
    max-width: 150px;
    max-height: 40px;
  }

  /* Hide Shop Now button on mobile */
  #masthead.site-header .header-cta .gmc-header-shop-btn {
    display: none !important;
  }

  /* Navigation - Hidden by default on mobile, shown when menu toggle is active */
  #masthead.site-header .main-navigation {
    position: fixed;
    top: 64px; /* sit just below the mobile header (logo + X) */
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff;
    z-index: 1000;
    padding: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-100%);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
    max-height: 100vh !important;
    height: 100vh !important;
    box-shadow: 2px 0 20px rgba(15, 23, 42, 0.1);
  }

  /* Show navigation when menu is open */
  #masthead.site-header .main-navigation.menu-open {
    padding-top: 50px !important;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }


  #masthead.site-header #primary-menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: var(--gmc-surface);
  }

  #masthead.site-header #primary-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #f5f5f5;
  }

  #masthead.site-header #primary-menu li:last-child {
    border-bottom: none;
  }

  /* Sub-menus on mobile: hidden by default, shown when parent has .gmc-submenu-open */
  #masthead.site-header #primary-menu li ul.sub-menu,
  #masthead.site-header #primary-menu li ul.children {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid #f0f0f0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fafafa !important;
    min-width: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 220ms ease, opacity 200ms ease;
  }

  #masthead.site-header #primary-menu li.gmc-submenu-open > ul.sub-menu,
  #masthead.site-header #primary-menu li.gmc-submenu-open > ul.children {
    max-height: 800px;
    opacity: 1;
    visibility: visible;
  }

  #masthead.site-header #primary-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    padding: 1.25rem 1rem !important;
    font-size: 1rem;
    font-weight: 600;
    color: var(--gmc-text);
    text-decoration: none;
    box-sizing: border-box !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    transition: all 200ms ease;
    background: transparent;
    border: none;
    border-bottom: none;
  }

  /* Menu item hover/active states */
  #masthead.site-header #primary-menu > li > a:hover,
  #masthead.site-header #primary-menu > li > a:focus {
    background: rgba(244, 140, 168, 0.08);
    color: var(--gmc-primary-dark);
  }

  /* Current menu item highlight */
  #masthead.site-header #primary-menu > li.current-menu-item > a,
  #masthead.site-header #primary-menu > li.current-menu-ancestor > a {
    background: rgba(244, 140, 168, 0.12) !important;
    color: var(--gmc-primary-dark) !important;
    font-weight: 700;
  }

  /* Sub-menu arrow indicator */
  #masthead.site-header #primary-menu > li.menu-item-has-children > a::after {
    content: '▼';
    font-size: 0.7rem;
    margin-left: 0.5rem;
    color: var(--gmc-text-soft);
    transition: transform 200ms ease;
  }

  #masthead.site-header #primary-menu > li.menu-item-has-children.gmc-submenu-open > a::after {
    transform: rotate(180deg);
    color: var(--gmc-primary-dark);
  }

  /* Sub-menu items */
  #masthead.site-header #primary-menu li ul.sub-menu li,
  #masthead.site-header #primary-menu li ul.children li {
    border-bottom: 1px solid #f0f0f0;
  }

  #masthead.site-header #primary-menu li ul.sub-menu li:last-child,
  #masthead.site-header #primary-menu li ul.children li:last-child {
    border-bottom: none;
  }

  #masthead.site-header #primary-menu li ul.sub-menu a,
  #masthead.site-header #primary-menu li ul.children a {
    display: block;
    padding: 1rem 1rem 1rem 2.5rem !important;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--gmc-text-soft);
    text-decoration: none;
    box-sizing: border-box !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    transition: all 200ms ease;
    background: transparent;
  }

  #masthead.site-header #primary-menu li ul.sub-menu a:hover,
  #masthead.site-header #primary-menu li ul.children a:hover,
  #masthead.site-header #primary-menu li ul.sub-menu a:focus,
  #masthead.site-header #primary-menu li ul.children a:focus {
    background: rgba(244, 140, 168, 0.06);
    color: var(--gmc-primary-dark);
    padding-left: 2.75rem !important;
  }

  /* Current sub-menu item */
  #masthead.site-header #primary-menu li ul.sub-menu li.current-menu-item > a,
  #masthead.site-header #primary-menu li ul.children li.current-menu-item > a {
    background: rgba(244, 140, 168, 0.1) !important;
    color: var(--gmc-primary-dark) !important;
    font-weight: 600;
  }

  /* Header CTA - only show cart icon on mobile */
  #masthead.site-header .header-cta {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0;
  }

  /* Mini Cart Responsive Fixes */
  #masthead.site-header .gmc-mini-cart {
    width: calc(100vw - 2rem) !important;
    max-width: 380px !important;
    right: -1rem !important;
    left: auto !important;
    bottom: 100% !important;
    margin-bottom: 0.5rem !important;
    top: auto !important;
    max-height: calc(100vh - 120px) !important; /* Increased space for header */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important; /* No padding on container */
    box-sizing: border-box !important;
  }

  #masthead.site-header .gmc-mini-cart .widget_shopping_cart_content {
    padding: 1.5rem !important;
    box-sizing: border-box !important;
    /* Ensure content doesn't get cut off */
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Ensure buttons are visible and not cut off */
  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons {
    margin: 1.25rem !important;
    padding-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    /* Ensure buttons stick to bottom visually */
    position: relative !important;
    z-index: 2 !important;
  }

  #masthead.site-header .gmc-mini-cart .woocommerce-mini-cart__buttons a {
    width: 90% !important;
    padding: 0.85rem 1.5rem !important;
    font-size: 0.95rem !important;
    text-align: center !important;
    box-sizing: border-box !important;
    /* Ensure buttons are clickable and visible */
    position: relative !important;
    z-index: 1 !important;
  }

  /* Ensure list items don't overflow */
  #masthead.site-header .gmc-mini-cart ul.woocommerce-mini-cart {
    max-height: none !important;
    overflow: visible !important;
  }

  /* Footer responsive styles */
  .footer-widgets-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }

  .footer-navigation {
    width: 100%;
  }

  .footer-navigation #footer-menu {
    justify-content: center;
    flex-direction: row;
    gap: 1rem;
  }
}

@media (max-width: 480px) {
  /* Smaller screens - adjust mini cart further */
  #masthead.site-header .gmc-mini-cart {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    right: -0.5rem !important;
  }

  #masthead.site-header .site-branding .custom-logo,
  #masthead.site-header .site-branding img {
    max-width: 120px;
    max-height: 35px;
  }
}

/* =============================
   TYPOGRAPHY BASE
   ============================= */

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.2;
  color: var(--gmc-text);
  margin: 0 0 1rem;
}

p {
  margin: 0 0 1.2rem;
}

a {
  color: var(--gmc-primary-dark);
  transition: color 180ms ease;
}

/* =============================
   UTILITY CLASSES
   ============================= */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

/* =========================================
   FINAL FIX: Remove gap between price and button in related products
   Maximum specificity override - MUST be at end of file
   ========================================= */
body.woocommerce.single-product .related ul.products li.product {
  gap: 0 !important;
  row-gap: 0 !important;
}

body.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related .woocommerce ul.products li.product .price,
.woocommerce.single-product .related ul.products li.product .price,
body.woocommerce.single-product .related ul.products li.product p.price {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1 !important;
}

body.woocommerce.single-product .related ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product a.button,
body.woocommerce.single-product .related .woocommerce ul.products li.product .button,
body.woocommerce.single-product .related ul.products li.product .added_to_cart,
body.woocommerce.single-product .related ul.products li.product a.added_to_cart {
  margin-top: 0.8rem !important;
  margin-bottom: 0 !important;
}

/* ============================================
   GMC – FORCE WOOCOMMERCE SHORTCODES TO RENDER AS REAL GALLERY GRID
   Match Related Products styling exactly
   ============================================ */
.gmc-woocommerce-grid ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gmc-woocommerce-grid ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  flex-basis: auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  align-self: stretch !important;
  background: var(--gmc-surface) !important;
  border-radius: var(--gmc-radius-md) !important;
  padding: 0 0 1.3rem 0 !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04) !important;
  transition: all 180ms ease !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.gmc-woocommerce-grid ul.products li.product:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12), 0 4px 8px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(244, 140, 168, 0.6) !important;
  border-width: 1.5px !important;
}

/* Product images */
.gmc-woocommerce-grid ul.products li.product a:has(img),
.gmc-woocommerce-grid ul.products li.product a img {
  order: 1 !important;
}

.gmc-woocommerce-grid ul.products li.product a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.gmc-woocommerce-grid ul.products li.product img,
.gmc-woocommerce-grid ul.products li.product a img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--gmc-radius-md) var(--gmc-radius-md) 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Product titles */
.gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title,
.gmc-woocommerce-grid ul.products li.product h2.woocommerce-loop-product__title {
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
  order: 2 !important;
  margin-bottom: 0.4rem !important;
  margin-top: 0.5rem !important;
  min-height: 2.8em !important;
  max-height: 2.8em !important;
  font-size: clamp(0.85rem, 2vw, 1.05rem) !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title a,
.gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title a * {
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  color: var(--gmc-text) !important;
  transition: color 180ms ease !important;
  box-shadow: none !important;
}

.gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title a:hover,
.gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title a:hover * {
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  border: none !important;
}

/* Product prices */
.gmc-woocommerce-grid ul.products li.product .price,
.gmc-woocommerce-grid ul.products li.product p.price {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  order: 3 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  font-size: clamp(1rem, 1.3vw, 1.15rem) !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  text-decoration: none !important;
  border: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.gmc-woocommerce-grid ul.products li.product .price del {
  font-size: 0.8em !important;
  font-weight: 500 !important;
  opacity: 1 !important;
  color: #E16C8E !important;
  text-decoration: line-through !important;
}

.gmc-woocommerce-grid ul.products li.product .price del *,
.gmc-woocommerce-grid ul.products li.product .price del .amount,
.gmc-woocommerce-grid ul.products li.product .price del .woocommerce-Price-amount,
.gmc-woocommerce-grid ul.products li.product .price del bdi,
.gmc-woocommerce-grid ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: #E16C8E !important;
  font-size: inherit !important;
}

.gmc-woocommerce-grid ul.products li.product .price ins {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
}

.gmc-woocommerce-grid ul.products li.product .price .amount {
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  text-decoration: none !important;
  border: none !important;
}

/* Add to cart button */
.gmc-woocommerce-grid ul.products li.product .button,
.gmc-woocommerce-grid ul.products li.product a.button,
.gmc-woocommerce-grid ul.products li.product .added_to_cart,
.gmc-woocommerce-grid ul.products li.product a.added_to_cart {
  order: 4 !important;
  margin-top: 0.8rem !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 70% !important;
  max-width: 70% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.55rem 1.3rem !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--gmc-shadow-light) !important;
  text-transform: none !important;
  transition: all 160ms ease !important;
  text-align: center !important;
  align-self: center !important;
}

.gmc-woocommerce-grid ul.products li.product .button:hover,
.gmc-woocommerce-grid ul.products li.product a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(244, 140, 168, 0.35) !important;
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary)) !important;
}

/* Sale badge - Soft and calm styling */
.gmc-woocommerce-grid ul.products li.product .onsale {
  background: rgba(244, 140, 168, 0.12) !important;
  color: var(--gmc-primary-dark) !important;
  border: 1px solid rgba(244, 140, 168, 0.25) !important;
  border-radius: 999px !important;
  min-height: 1.8rem !important;
  min-width: 1.8rem !important;
  padding: 0.3rem 0.8rem !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  backdrop-filter: blur(5px) !important;
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  z-index: 10 !important;
}

/* Responsive */
@media (max-width: 980px) {
  .gmc-woocommerce-grid ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .gmc-woocommerce-grid ul.products {
    grid-template-columns: 1fr !important;
  }
  
  .gmc-woocommerce-grid ul.products li.product .button,
  .gmc-woocommerce-grid ul.products li.product a.button {
    width: 75% !important;
    max-width: 75% !important;
  }
  
  .gmc-woocommerce-grid ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(0.9rem, 4vw, 1rem) !important;
  }
  
  .gmc-woocommerce-grid ul.products li.product .price {
    font-size: clamp(1rem, 4vw, 1.1rem) !important;
  }
  
  .gmc-woocommerce-grid ul.products li.product .button {
    font-size: clamp(0.85rem, 3.5vw, 0.9rem) !important;
  }
}

/* ============================================
   FINAL MINI CART OVERRIDES - ACTUAL HTML STRUCTURE
   Targeting the real structure from the rendered HTML
   ============================================ */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content {
  padding: 1.75rem !important;
}

/* Mini Cart Item Container - Flex Layout with Wrap */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item,
#masthead.site-header .gmc-mini-cart .mini_cart_item {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  padding: 1.25rem 0 !important;
  border-bottom: 1px solid var(--gmc-border-soft) !important;
  position: relative !important;
  align-items: flex-start !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item:last-child,
#masthead.site-header .gmc-mini-cart .mini_cart_item:last-child {
  border-bottom: none !important;
}

/* Remove Button - Positioned absolutely */
#masthead.site-header .gmc-mini-cart .remove.remove_from_cart_button,
#masthead.site-header .gmc-mini-cart a.remove {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border: 2px solid var(--gmc-border-soft) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--gmc-text-soft) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 10 !important;
  text-decoration: none !important;
  transition: all 180ms ease !important;
  cursor: pointer !important;
}

#masthead.site-header .gmc-mini-cart .remove.remove_from_cart_button:hover,
#masthead.site-header .gmc-mini-cart a.remove:hover {
  color: #fff !important;
  background: var(--gmc-primary) !important;
  border-color: var(--gmc-primary) !important;
  transform: scale(1.1) !important;
}

/* Image Wrapper (created by JS) */
#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__image-wrapper {
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
}

#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__image-wrapper a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: var(--gmc-radius-md) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  background: var(--gmc-surface) !important;
  text-decoration: none !important;
}

/* Product Image */
#masthead.site-header .gmc-mini-cart img,
#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__image-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Content Wrapper (created by JS) */
#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__content-wrapper {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  padding-right: 2.5rem !important;
}

/* Product Title Link inside mini cart items */
#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__title-link {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin: 0 0 0.35rem 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  text-decoration: none !important;
}

#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__title-link:hover {
  color: var(--gmc-primary-dark) !important;
  text-decoration: underline !important;
}

/* Product Link - show image as thumbnail */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item > a:not(.remove),
#masthead.site-header .gmc-mini-cart .mini_cart_item > a:not(.remove) {
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  border-radius: var(--gmc-radius-md) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  background: var(--gmc-surface) !important;
  display: block !important;
  text-decoration: none !important;
  position: relative !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item > a:not(.remove) img,
#masthead.site-header .gmc-mini-cart .mini_cart_item > a:not(.remove) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 1 !important;
}

/* Extract and style title text using ::after with data attribute (JS will add) */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item[data-title]::before,
#masthead.site-header .gmc-mini-cart .mini_cart_item[data-title]::before {
  content: attr(data-title) !important;
  display: block !important;
  flex: 1 !important;
  min-width: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--gmc-text) !important;
  line-height: 1.4 !important;
  margin-bottom: 0.75rem !important;
  order: 2 !important;
}

/* Or use a simpler approach - style the link's text content when it appears */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item > a:not(.remove) {
  display: contents !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item > a:not(.remove) img {
  display: block !important;
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: var(--gmc-radius-md) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  object-fit: cover !important;
}

/* Quantity and Price */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item .quantity,
#masthead.site-header .gmc-mini-cart .mini_cart_item .quantity,
#masthead.site-header .gmc-mini-cart .gmc-mini-cart-item__content-wrapper .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--gmc-text-soft) !important;
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
  line-height: 1.5 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Price amount */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart .mini_cart_item .quantity .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item .quantity .amount,
#masthead.site-header .gmc-mini-cart .mini_cart_item .quantity .amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item .quantity bdi,
#masthead.site-header .gmc-mini-cart .mini_cart_item .quantity bdi {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  line-height: 1.5 !important;
}

/* ============================================
   BEDTIME CALM BUNDLE - CHECKOUT LANDING PAGE
   ============================================ */
.gmc-bundle-checkout {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.gmc-bundle-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
  gap: 2.5rem;
  align-items: flex-start;
}

.gmc-bundle-checkout-left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Bundle checkout image */
.gmc-bundle-checkout-image {
  margin-bottom: 1.5rem;
  border-radius: var(--gmc-radius-md);
  overflow: hidden;
  background: var(--gmc-surface-soft);
}

.gmc-bundle-checkout-hero-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: var(--gmc-radius-md);
}

.gmc-bundle-checkout-header h1.gmc-bundle-checkout-title {
  font-size: clamp(1.7rem, 3vw, 2.1rem);
  margin-bottom: 0.75rem;
}

.gmc-bundle-checkout-subtitle {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.gmc-bundle-checkout-micro {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
}

.gmc-bundle-checkout-included h2,
.gmc-bundle-checkout-benefits h2,
.gmc-bundle-checkout-how h2,
.gmc-bundle-checkout-fit h2 {
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}

.gmc-bundle-checkout-intro,
.gmc-bundle-list-note {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  margin-bottom: 0.75rem;
}

.gmc-bundle-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.gmc-bundle-list li {
  font-size: 0.95rem;
}

.gmc-bundle-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

.gmc-bundle-soft-close {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  margin-top: 1rem;
}

.gmc-bundle-steps {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.gmc-bundle-step {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.gmc-bundle-step-number {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: rgba(244, 140, 168, 0.12);
  color: var(--gmc-primary-dark);
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gmc-bundle-step-body h3 {
  margin: 0;
  font-size: 0.98rem;
}

.gmc-bundle-checkout-soft-close p {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

.gmc-bundle-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

.gmc-bundle-checkout-right {
  position: sticky;
  top: 110px;
}

/* On large screens, align checkout section with image (same Y position) */
@media (min-width: 769px) {
  .gmc-bundle-checkout-grid {
    align-items: start;
  }
  
  /* Align checkout box to start at same Y as image - adjust sticky top to account for header */
  .gmc-bundle-checkout-right {
    top: 0;
    padding-top: 0;
  }
  
  /* Ensure checkout box starts at same Y as image header */
  .gmc-bundle-checkout-box {
    margin-top: 0;
  }
  
  /* Remove any top margin from checkout header to align with image */
  .gmc-bundle-checkout-header {
    margin-top: 0;
  }
}

.gmc-bundle-checkout-box {
  background: #fff;
  border-radius: var(--gmc-radius-lg);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  padding: 2rem 1.75rem;
  border: 1px solid var(--gmc-border-soft);
  position: relative;
}

.gmc-bundle-checkout-heading {
  margin: 0 0 0.75rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gmc-text);
}

/* Mobile: stack the bundle checkout columns and place the order box after the left content */
@media (max-width: 768px) {
  .gmc-bundle-checkout-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .gmc-bundle-checkout-left {
    order: 1;
  }

  .gmc-bundle-checkout-right {
    /* disable sticky behavior on small screens so it follows document flow */
    position: relative;
    top: auto;
    padding-top: 0;
    order: 2;
  }

  .gmc-bundle-checkout-box {
    margin-top: 0;
  }
}

.gmc-bundle-checkout-note {
  font-size: 0.95rem;
  color: var(--gmc-text);
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

.gmc-bundle-checkout-microcopy {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout-form {
  margin-top: 0;
}

/* Hide breadcrumbs on bundle checkout */
.gmc-bundle-checkout .woocommerce-breadcrumb {
  display: none;
}

/* Bundle checkout - WooCommerce form styling */
.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-checkout {
  margin: 0;
  padding: 0;
}

/* Hide coupon form on bundle checkout */
.gmc-bundle-checkout .gmc-bundle-checkout-form .gmc-checkout-coupon-details,
.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-form-coupon-toggle {
  display: none !important;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #customer_details {
  margin-bottom: 1.5rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-billing-fields h3,
.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-additional-fields h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

/* Ensure proper spacing for billing fields wrapper */
.gmc-bundle-checkout .gmc-bundle-checkout-form #customer_details {
  margin-bottom: 1.5rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #customer_details .col2-set {
  display: block;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #customer_details .col-1 {
  width: 100%;
  float: none;
  margin: 0;
  padding: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row {
  margin-bottom: 1rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row label {
  display: block;
  font-weight: 600;
  color: var(--gmc-text);
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input[type="text"],
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input[type="email"],
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input[type="tel"],
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input[type="password"],
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input[type="number"],
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row select,
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  font-size: 0.95rem;
  color: var(--gmc-text);
  background: var(--gmc-surface);
  font-family: inherit;
  transition: all 180ms ease;
  box-sizing: border-box;
}

/* Form row layout for two-column fields */
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row-first,
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row-last {
  width: 100%;
  float: none;
  margin-right: 0;
}

@media (min-width: 768px) {
  .gmc-bundle-checkout .gmc-bundle-checkout-form .form-row-first {
    width: 48%;
    float: left;
    margin-right: 4%;
  }
  
  .gmc-bundle-checkout .gmc-bundle-checkout-form .form-row-last {
    width: 48%;
    float: right;
    margin-right: 0;
  }
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row input:focus,
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row select:focus,
.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row textarea:focus {
  outline: none;
  border-color: var(--gmc-primary);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .form-row .required {
  color: var(--gmc-primary);
}

/* Order review styling */
.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review_heading {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 2rem 0 1rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review {
  margin: 0;
  padding: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.5rem 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table th,
.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--gmc-border-soft);
  text-align: left;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table th {
  font-weight: 600;
  color: var(--gmc-text);
  font-size: 0.9rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table td {
  font-size: 0.95rem;
  color: var(--gmc-text);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table .order-total th,
.gmc-bundle-checkout .gmc-bundle-checkout-form #order_review .shop_table .order-total td {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--gmc-text);
  border-top: 2px solid var(--gmc-border-soft);
  padding-top: 1rem;
  border-bottom: none;
}

/* Payment methods */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment {
  margin: 1.5rem 0 0 0;
  padding: 1.5rem 0 0 0;
  border-top: 2px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods {
  list-style: none;
  margin: 0 0 1.5rem 0;
  padding: 0;
  border: none;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods li {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  background: var(--gmc-surface);
  transition: all 180ms ease;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods li:hover {
  border-color: var(--gmc-primary);
  background: var(--gmc-surface-soft);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods li.selected {
  border-color: var(--gmc-primary);
  background: rgba(244, 140, 168, 0.05);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods label {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0.75rem;
  font-weight: 600;
  color: var(--gmc-text);
  cursor: pointer;
  font-size: 1rem;
  margin: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_methods input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  accent-color: var(--gmc-primary);
  order: -1;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_box {
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  padding: 1.25rem;
  margin: 1rem 0 0 0;
  border: 1px solid var(--gmc-border-soft);
}

/* Stripe payment form styling */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc_payment_method_stripe {
  border: 1.5px solid var(--gmc-border-soft) !important;
  padding: 1rem !important;
  margin: 0 0 1rem 0 !important;
  border-radius: var(--gmc-radius-md);
  background: var(--gmc-surface);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe.selected,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc_payment_method_stripe.selected {
  border-color: var(--gmc-primary) !important;
  background: rgba(244, 140, 168, 0.05) !important;
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1) !important;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-form {
  border: none !important;
  padding: 0 !important;
  margin: 1rem 0 0 0 !important;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .StripeElement,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element {
  padding: 0.875rem 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  background: #ffffff;
  transition: all 180ms ease;
  min-height: 48px;
  font-size: 1rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .StripeElement--focus,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element--focus {
  border-color: var(--gmc-primary);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.15);
  outline: none;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element--invalid {
  border-color: #d32f2f;
  background: rgba(211, 47, 47, 0.05);
}

/* Stripe payment method box */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .payment_box,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc_payment_method_stripe .payment_box {
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  padding: 1rem;
  margin: 0.5rem 0 0 0;
  border: 1px solid var(--gmc-border-soft);
}

/* Stripe form fields wrapper */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element-wrapper,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-element {
  margin: 0.5rem 0;
}

/* Stripe saved cards */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-saved-cards {
  margin: 0.5rem 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-saved-cards label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Ensure Stripe elements are visible */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe input[type="radio"] {
  margin-right: 0.5rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .stripe-card-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

/* Stripe UPE (Unified Payment Element) styling */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-form .wc-stripe-upe-element {
  margin: 0.75rem 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-form .wc-stripe-upe-element-wrapper {
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  background: var(--gmc-surface);
}

/* Ensure Stripe payment method is properly displayed */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe > label {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0.75rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  color: var(--gmc-text);
  margin-bottom: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe input[type="radio"] {
  order: -1;
  margin-right: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe input[type="radio"]:checked + label {
  font-weight: 700;
  color: var(--gmc-primary);
}

/* Payment method description text */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .payment_box p {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  margin: 0.5rem 0 0 0;
  line-height: 1.5;
}

/* Stripe payment form styling */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc_payment_method_stripe {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 0.75rem 0 !important;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-form {
  border: none !important;
  padding: 0 !important;
  margin: 0.5rem 0 0 0 !important;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .StripeElement,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element {
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  background: var(--gmc-surface);
  transition: all 180ms ease;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .StripeElement--focus,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element--focus {
  border-color: var(--gmc-primary);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element--invalid {
  border-color: #d32f2f;
  background: rgba(211, 47, 47, 0.05);
}

/* Stripe payment method box */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .payment_box,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc_payment_method_stripe .payment_box {
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  padding: 1.25rem;
  margin: 1rem 0 0 0;
  border: 1px solid var(--gmc-border-soft);
}

/* Stripe "Save payment information" checkbox */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .wc-stripe-save-payment-method-checkbox,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 0.5rem;
  cursor: pointer;
  accent-color: var(--gmc-primary);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .wc-stripe-save-payment-method-checkbox + label,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe label[for*="save-payment-method"] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  cursor: pointer;
  margin-top: 0.75rem;
}

/* Payment method description text */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .payment_box p {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  margin: 0.5rem 0 0 0;
  line-height: 1.5;
}

/* Stripe form fields wrapper */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-card-element-wrapper,
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .wc-stripe-upe-element {
  margin: 0.5rem 0;
}

/* Stripe saved cards */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-saved-cards {
  margin: 0.5rem 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .stripe-saved-cards label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Ensure Stripe elements are visible */
.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe input[type="radio"] {
  margin-right: 0.5rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #payment .payment_method_stripe .stripe-card-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

/* Place order button */
.gmc-bundle-checkout .gmc-bundle-checkout-form #place_order {
  width: 100%;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  border: none;
  cursor: pointer;
  transition: all 180ms ease;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25);
  margin-top: 1.5rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #place_order:hover {
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary));
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(244, 140, 168, 0.35);
}

.gmc-bundle-checkout .gmc-bundle-checkout-form #place_order:active {
  transform: translateY(0);
}

/* Privacy policy text */
.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-privacy-policy-text {
  font-size: 0.85rem;
  color: var(--gmc-text-soft);
  margin: 1.5rem 0 0 0;
  padding: 1rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  line-height: 1.6;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-privacy-policy-text a {
  color: var(--gmc-primary);
  text-decoration: underline;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-privacy-policy-text a:hover {
  text-decoration: none;
}

/* Ensure proper spacing between sections */
.gmc-bundle-checkout .gmc-bundle-checkout-form #customer_details {
  margin-bottom: 2rem;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-billing-fields {
  margin-bottom: 0;
}

.gmc-bundle-checkout .gmc-bundle-checkout-form .woocommerce-billing-fields h3 {
  margin-bottom: 1.25rem;
}

/* Left column section spacing */
.gmc-bundle-checkout-left section {
  margin-bottom: 2.5rem;
}

.gmc-bundle-checkout-left section:last-child {
  margin-bottom: 0;
}

.gmc-bundle-checkout-header {
  margin-bottom: 2.5rem;
}

.gmc-bundle-checkout-included,
.gmc-bundle-checkout-benefits,
.gmc-bundle-checkout-how,
.gmc-bundle-checkout-fit {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout-faq {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout-soft-close {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gmc-border-soft);
}

/* Improve list styling in left column */
.gmc-bundle-checkout-left .gmc-bundle-list li {
  padding-left: 0;
  position: relative;
  line-height: 1.6;
}

.gmc-bundle-checkout-left .gmc-bundle-list-icons li {
  padding-left: 0;
}

/* Section headings consistency */
.gmc-bundle-checkout-left h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 0.75rem 0;
  line-height: 1.3;
}

/* Compare columns */
.gmc-bundle-compare-column h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0 0 0.75rem 0;
}

.gmc-bundle-compare-column ul {
  margin: 0;
  padding: 0;
}

.gmc-bundle-compare-column ul li {
  font-size: 0.9rem;
  color: var(--gmc-text-soft);
  margin-bottom: 0.5rem;
  padding-left: 1.25rem;
  position: relative;
}

.gmc-bundle-compare-column ul li::before {
  content: "•";
  position: absolute;
  left: -10;
  top: 0;
  color: var(--gmc-primary);
  font-weight: 700;
  line-height: inherit;
}

/* Step body typography */
.gmc-bundle-step-body h3 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--gmc-text);
  line-height: 1.5;
}

/* Value anchor */
.gmc-bundle-value-note {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--gmc-text);
  margin: 1rem 0 0 0;
  padding: 0.75rem 1rem;
  background: var(--gmc-surface-soft);
  border-radius: var(--gmc-radius-md);
  border: 1px solid var(--gmc-border-soft);
  text-align: center;
}

/* FAQ section */
.gmc-bundle-checkout-faq {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout-faq h2 {
  font-size: 1.15rem;
  margin-bottom: 1rem;
}

.gmc-bundle-faq-item {
  margin-bottom: 0.75rem;
  border: 1px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  background: var(--gmc-surface);
  overflow: hidden;
}

.gmc-bundle-faq-item:last-of-type {
  margin-bottom: 1.5rem;
}

.gmc-bundle-faq-question {
  display: block;
  padding: 1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background-color 180ms ease;
}

.gmc-bundle-faq-question::-webkit-details-marker {
  display: none;
}

.gmc-bundle-faq-question::marker {
  display: none;
}

.gmc-bundle-faq-question::before {
  content: '+';
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  text-align: center;
  margin-right: 0.75rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--gmc-primary);
  transition: transform 180ms ease;
}

.gmc-bundle-faq-item[open] .gmc-bundle-faq-question::before {
  content: '−';
  transform: rotate(0deg);
}

.gmc-bundle-faq-question:hover {
  background-color: var(--gmc-surface-soft);
}

.gmc-bundle-faq-question h3 {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0;
  vertical-align: top;
}

.gmc-bundle-faq-answer {
  padding: 0 1.25rem 1rem 1.25rem;
  border-top: 1px solid var(--gmc-border-soft);
  background: var(--gmc-surface-soft);
}

.gmc-bundle-faq-answer p {
  font-size: 0.95rem;
  color: var(--gmc-text-soft);
  margin: 1rem 0 0 0;
  line-height: 1.6;
}

.gmc-bundle-faq-answer a {
  color: var(--gmc-primary);
  text-decoration: underline;
}

.gmc-bundle-checkout-faq .gmc-bundle-list-note {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gmc-border-soft);
}

.gmc-bundle-checkout-faq .gmc-bundle-list-note a {
  color: var(--gmc-primary);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .gmc-bundle-checkout {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }

  .gmc-bundle-checkout-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .gmc-bundle-checkout-right {
    position: static;
    order: 1;
  }

  .gmc-bundle-checkout-left {
    order: 2;
  }

  .gmc-bundle-checkout-box {
    padding: 1.5rem 1.25rem;
  }

  .gmc-bundle-compare-grid,
  .gmc-bundle-fit-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .gmc-bundle-checkout-left section {
    margin-bottom: 2rem;
  }

  .gmc-bundle-checkout-header {
    margin-bottom: 2rem;
  }

  .gmc-bundle-checkout-included,
  .gmc-bundle-checkout-benefits,
  .gmc-bundle-checkout-how,
  .gmc-bundle-checkout-fit,
  .gmc-bundle-checkout-faq {
    padding-bottom: 1.5rem;
  }

  .gmc-bundle-checkout-soft-close {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }

  .gmc-bundle-checkout-left h2 {
    font-size: 1.15rem;
  }

  .gmc-bundle-checkout-form #order_review_heading {
    font-size: 1rem;
  }

  .gmc-bundle-checkout-form #place_order {
    font-size: 1rem;
    padding: 0.875rem 1.5rem;
  }
}

/* Currency symbol */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item .quantity .woocommerce-Price-currencySymbol,
#masthead.site-header .gmc-mini-cart .mini_cart_item .quantity .woocommerce-Price-currencySymbol {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
}

/* =========================================
   FINAL MINI CART OVERRIDES - Maximum Specificity
   These rules override everything - MUST be at end of file
   ========================================= */
#masthead.site-header .gmc-mini-cart .widget_shopping_cart_content {
  padding: 1.75rem !important;
}

/* Hide product name in mini cart - user can see count in cart icon */
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__title,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__title a {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-top: 0.75rem !important;
  display: flex !important;
  gap: 0.75rem !important;
  line-height: 1.5 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .quantity {
  font-size: 1rem !important;
  font-weight: 600 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .woocommerce-Price-amount,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity bdi,
#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__quantity .price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gmc-primary-dark) !important;
  line-height: 1.5 !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-width: 2px !important;
}

#masthead.site-header .gmc-mini-cart .woocommerce-mini-cart-item__remove::before {
  font-size: 2rem !important;
  font-weight: 700 !important;
}

/* ==========================================
   GMC – SHOP GRID + PRODUCT CARD (final)
   Makes WooCommerce cards match your screenshot
========================================== */

/* 1) Keep shop content inside your container (fix the "outside red lines" issue) */
body.woocommerce:not(.single-product) .woocommerce,
body.woocommerce-page:not(.single-product) .woocommerce {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

/* Breadcrumb on shop/category pages */
body.woocommerce:not(.single-product) .woocommerce-breadcrumb,
body.woocommerce-page:not(.single-product) .woocommerce-breadcrumb {
  max-width: 1120px;
  margin: 0 auto 1rem;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

/* 2) Product grid (gallery) - Constrained to container */
body.woocommerce:not(.single-product) ul.products,
body.woocommerce:not(.single-product) .woocommerce ul.products {
  list-style: none;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2.2rem !important;

  max-width: 1120px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 980px) {
  body.woocommerce:not(.single-product) ul.products,
  body.woocommerce:not(.single-product) .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  body.woocommerce:not(.single-product) ul.products,
  body.woocommerce:not(.single-product) .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Kill legacy float/width rules WooCommerce sometimes applies */
body.woocommerce:not(.single-product) ul.products li.product,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* 3) Product card */
body.woocommerce:not(.single-product) ul.products li.product,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;

  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  align-self: stretch !important;

  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

/* 4) Make the whole top (image + title + price) behave like your example */
body.woocommerce:not(.single-product) ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Image area */
body.woocommerce:not(.single-product) ul.products li.product a.woocommerce-LoopProduct-link img,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 10px 10px 0 0 !important;
}

/* Sale badge: top-left pill - Soft and calm styling */
body.woocommerce:not(.single-product) ul.products li.product .onsale,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(244, 140, 168, 0.12);
  color: var(--gmc-primary-dark);
  border: 1px solid rgba(244, 140, 168, 0.25);
  padding: 6px 12px;
  border-radius: 999px;
  line-height: 1;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: blur(5px);
}

/* Ensure sale badge can position */
body.woocommerce:not(.single-product) ul.products li.product,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product {
  position: relative;
}

/* Content padding under image */
body.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__title,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce:not(.single-product) ul.products li.product .price,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .price {
  padding-left: 18px;
  padding-right: 18px;
}

/* Title: centered + 2 lines max (like screenshot) */
body.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__title,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 16px 16px 8px 16px !important;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em; /* keeps cards equal height */
}

/* Price: centered and on one line */
body.woocommerce:not(.single-product) ul.products li.product .price,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .price {
  margin: 0 0 14px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px;
  line-height: 1;
  font-weight: 700;
}

body.woocommerce:not(.single-product) ul.products li.product .price del,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .price del {
  opacity: 0.5;
  font-weight: 600;
}

body.woocommerce:not(.single-product) ul.products li.product .price ins,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

/* 5) Add to cart button: centered pill, 70% width */
body.woocommerce:not(.single-product) ul.products li.product a.button,
body.woocommerce:not(.single-product) .woocommerce ul.products li.product a.button {
  margin: 0 auto 18px !important;
  width: 70% !important;
  max-width: 70% !important;

  text-align: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 18px !important;
  font-weight: 700 !important;

  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Keep button at bottom even if titles wrap differently */
body.woocommerce:not(.single-product) ul.products li.product a.button {
  margin-top: auto !important;
}

/* ==========================================
   WOOCOMMERCE ORDERING FORM - PROFESSIONAL STYLING
   ========================================== */

/* Make ordering form visible and properly styled on shop pages */
body.woocommerce:not(.single-product) form.woocommerce-ordering,
body.woocommerce-page:not(.single-product) form.woocommerce-ordering {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 1120px !important;
  margin: 0 auto 2rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Ordering form layout */
body.woocommerce:not(.single-product) form.woocommerce-ordering,
body.woocommerce-page:not(.single-product) form.woocommerce-ordering {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* Orderby select styling */
body.woocommerce:not(.single-product) form.woocommerce-ordering select.orderby,
body.woocommerce-page:not(.single-product) form.woocommerce-ordering select.orderby {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 200px !important;
  padding: 0.65rem 1rem !important;
  padding-right: 2.5rem !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  background: var(--gmc-surface) !important;
  color: var(--gmc-text) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6b73' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 12px !important;
  cursor: pointer !important;
  transition: all 180ms ease !important;
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04) !important;
}

/* Hover state for select */
body.woocommerce:not(.single-product) form.woocommerce-ordering select.orderby:hover,
body.woocommerce-page:not(.single-product) form.woocommerce-ordering select.orderby:hover {
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 4px 8px rgba(244, 140, 168, 0.15) !important;
}

/* Focus state for select */
body.woocommerce:not(.single-product) form.woocommerce-ordering select.orderby:focus,
body.woocommerce-page:not(.single-product) form.woocommerce-ordering select.orderby:focus {
  outline: none !important;
  border-color: var(--gmc-primary) !important;
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1) !important;
}

/* Hidden input fields should stay hidden */
body.woocommerce:not(.single-product) form.woocommerce-ordering input[type="hidden"],
body.woocommerce-page:not(.single-product) form.woocommerce-ordering input[type="hidden"] {
  display: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  body.woocommerce:not(.single-product) form.woocommerce-ordering,
  body.woocommerce-page:not(.single-product) form.woocommerce-ordering {
    justify-content: flex-start !important;
    margin-bottom: 1.5rem !important;
  }
  
  body.woocommerce:not(.single-product) form.woocommerce-ordering select.orderby,
  body.woocommerce-page:not(.single-product) form.woocommerce-ordering select.orderby {
    width: 100% !important;
    min-width: auto !important;
  }
}

/* ==========================================
   WOOCOMMERCE PAGINATION - PROFESSIONAL STYLING
   ========================================== */

/* Constrain pagination to container */
body.woocommerce:not(.single-product) nav.woocommerce-pagination,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination {
  max-width: 1120px !important;
  margin: 3rem auto 2rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Pagination list container */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}

/* Pagination list items */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: inline-block !important;
}

/* Pagination links and spans */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li a,
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li span,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li a,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0 0.75rem !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--gmc-border-soft) !important;
  background: var(--gmc-surface) !important;
  color: var(--gmc-text) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 180ms ease !important;
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04) !important;
  line-height: 1 !important;
}

/* Hover state for pagination links */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li a:hover,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li a:hover {
  background: var(--gmc-primary) !important;
  color: #fff !important;
  border-color: var(--gmc-primary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.25) !important;
}

/* Current page indicator */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li span.current,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li span.current {
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border-color: transparent !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(244, 140, 168, 0.3) !important;
  cursor: default !important;
}

/* Dots/ellipsis styling */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li span.dots,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li span.dots {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gmc-text-soft) !important;
  cursor: default !important;
  min-width: auto !important;
  padding: 0 0.5rem !important;
}

/* Previous/Next buttons - make them more prominent */
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li a.prev,
body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li a.next,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li a.prev,
body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li a.next {
  font-weight: 700 !important;
  padding: 0 1rem !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  body.woocommerce:not(.single-product) nav.woocommerce-pagination,
  body.woocommerce-page:not(.single-product) nav.woocommerce-pagination {
    margin: 2.5rem auto 1.5rem !important;
  }
  
  body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li a,
  body.woocommerce:not(.single-product) nav.woocommerce-pagination ul li span,
  body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li a,
  body.woocommerce-page:not(.single-product) nav.woocommerce-pagination ul li span {
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    font-size: 0.85rem !important;
    padding: 0.6rem !important;
  }
}

/* ==========================================
   COMPREHENSIVE RESPONSIVE SYSTEM
   Breakpoints:
   - Mobile: up to 480px
   - Tablet: 481px - 768px
   - Small Desktop: 769px - 1024px
   - Desktop: 1025px+
   ========================================== */

/* ==========================================
   GLOBAL RESPONSIVE UTILITIES
   ========================================== */

/* Base container padding adjustment */
@media (max-width: 768px) {
  .gmc-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .gmc-section {
    padding: 2.5rem 1rem !important;
  }
}

@media (max-width: 480px) {
  .gmc-container {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }
  
  .gmc-section {
    padding: 2rem 0.875rem !important;
  }
}

/* ==========================================
   HEADER RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  #masthead.site-header .gmc-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

@media (max-width: 480px) {
  #masthead.site-header .site-branding .custom-logo,
  #masthead.site-header .site-branding img {
    max-width: 140px !important;
  }
  
  #masthead.site-header .header-cta {
    gap: 0.5rem;
  }
  
  #masthead.site-header .gmc-mini-cart {
    width: calc(100vw - 1rem) !important;
    right: 0.5rem !important;
    left: auto !important;
  }
}

/* ==========================================
   HOMEPAGE RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  .gmc-hero-text h1 {
    font-size: clamp(1.8rem, 5vw, 2.5rem) !important;
  }
  
  .gmc-hero-media {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .gmc-hero-text h1 {
    font-size: clamp(1.6rem, 6vw, 2rem) !important;
    line-height: 1.2 !important;
  }
  
  .gmc-hero-ctas {
    flex-direction: column;
    gap: 1rem;
  }
  
  .gmc-hero-ctas .gmc-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .gmc-hero-text h1 {
    font-size: clamp(1.4rem, 7vw, 1.8rem) !important;
  }
  
  .gmc-hero-text p {
    font-size: 0.9rem;
  }
  
  .gmc-hero-bullets {
    font-size: 0.85rem;
  }
}

/* ==========================================
   SINGLE PRODUCT PAGE RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  body.woocommerce.single-product .gmc-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce.single-product .gmc-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  body.woocommerce.single-product .product_title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce.single-product .gmc-container {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }
  
  body.woocommerce.single-product .product_title {
    font-size: clamp(1.3rem, 6vw, 1.7rem) !important;
  }
  
  body.woocommerce.single-product .price {
    font-size: clamp(1.2rem, 4vw, 1.5rem) !important;
  }
  
  body.woocommerce.single-product form.cart {
    flex-direction: column !important;
  }
  
  body.woocommerce.single-product form.cart .quantity {
    width: 100%;
    margin-bottom: 1rem;
  }
  
  body.woocommerce.single-product form.cart button[type="submit"],
  body.woocommerce.single-product form.cart .single_add_to_cart_button {
    width: 100%;
  }
}

/* ==========================================
   SHOP/ARCHIVE PAGES RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  body.woocommerce:not(.single-product) .woocommerce,
  body.woocommerce-page:not(.single-product) .woocommerce {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce:not(.single-product) .woocommerce,
  body.woocommerce-page:not(.single-product) .woocommerce {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  body.woocommerce:not(.single-product) .woocommerce-breadcrumb {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.85rem;
  }
  
  body.woocommerce:not(.single-product) form.woocommerce-ordering {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 480px) {
  body.woocommerce:not(.single-product) .woocommerce,
  body.woocommerce-page:not(.single-product) .woocommerce {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }
  
  body.woocommerce:not(.single-product) .woocommerce-breadcrumb {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
    font-size: 0.8rem;
  }
}

/* ==========================================
   CART PAGE RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  body.woocommerce-cart .gmc-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-cart .gmc-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  body.woocommerce-cart .gmc-cart-top-cta {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 1.25rem !important;
  }
  
  body.woocommerce-cart .gmc-cart-top-cta-primary {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }
  
  body.woocommerce-cart .gmc-cart-checkout-btn {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce-cart .gmc-container {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }
  
  body.woocommerce-cart .gmc-cart-top-cta {
    padding: 1rem !important;
  }
  
  body.woocommerce-cart .gmc-cart-reassurance-list {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: flex-start !important;
  }
  
  body.woocommerce-cart .gmc-cart-emotional-intent {
    font-size: 0.9rem !important;
    padding: 0 0.875rem !important;
  }
}

/* ==========================================
   CHECKOUT PAGE RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 1024px) {
  body.woocommerce-checkout .gmc-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-checkout .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  
  body.woocommerce-checkout .gmc-checkout-reassurance-list {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce-checkout .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  
  body.woocommerce-checkout .gmc-checkout-reassurance-item {
    font-size: 0.85rem !important;
  }
  
  body.woocommerce-checkout .form-row input[type="text"],
  body.woocommerce-checkout .form-row input[type="email"],
  body.woocommerce-checkout .form-row input[type="tel"],
  body.woocommerce-checkout .form-row select {
    font-size: 16px !important; /* Prevents zoom on iOS */
    padding: 0.85rem 0.9rem !important;
  }
  
  body.woocommerce-checkout #place_order {
    font-size: 0.95rem !important;
    padding: 0.85rem 1.25rem !important;
  }
  
  body.woocommerce-checkout .gmc-checkout-what-happens-next-step-number {
    width: 28px !important;
    height: 28px !important;
    font-size: 0.8rem !important;
  }
}

/* ==========================================
   POSTS AND PAGES RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 768px) {
  .site-main .gmc-post-box .gmc-post-box-content .entry-header {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .site-main .gmc-post-box .gmc-post-box-content .entry-content {
    padding: 2rem 1rem !important;
  }
  
  .site-main .gmc-post-box .gmc-post-box-content .entry-title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
}

@media (max-width: 480px) {
  .site-main .gmc-post-box .gmc-post-box-content .entry-header {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }
  
  .site-main .gmc-post-box .gmc-post-box-content .entry-content {
    padding: 1.5rem 0.875rem !important;
  }
  
  .site-main .gmc-post-box .gmc-post-box-content .entry-title {
    font-size: clamp(1.3rem, 6vw, 1.7rem) !important;
  }
  
  .site-main .gmc-post-box .gmc-post-box-content .entry-content p,
  .site-main .gmc-post-box .gmc-post-box-content .entry-content li {
    font-size: 0.95rem;
    line-height: 1.7;
  }
}

/* ==========================================
   FOOTER RESPONSIVE ENHANCEMENTS
   ========================================== */

@media (max-width: 480px) {
  .footer-navigation #footer-menu {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* ==========================================
   GENERAL RESPONSIVE FIXES
   ========================================== */

/* Prevent horizontal scroll on all devices */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  * {
    max-width: 100%;
  }
  
  img {
    height: auto;
    max-width: 100%;
  }
  
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Touch-friendly tap targets */
@media (max-width: 768px) {
  a, button, input[type="submit"], input[type="button"] {
    min-height: 44px;
    min-width: 44px;
  }
  
  .gmc-btn {
    padding: 0.85rem 1.5rem !important;
  }
}

/* Ensure readable font sizes on mobile */
@media (max-width: 480px) {
  body {
    font-size: 15px;
  }
  
  h1 {
    font-size: clamp(1.4rem, 7vw, 1.8rem) !important;
  }
  
  h2 {
    font-size: clamp(1.2rem, 6vw, 1.6rem) !important;
  }
  
  h3 {
    font-size: clamp(1.1rem, 5vw, 1.4rem) !important;
  }
}

/* ============================================
   SHOP PAGE - ADD TO CART SUCCESS MESSAGE
   ============================================ */

/* Custom add to cart success message on shop page - improved confirmation with checkout guidance */
.gmc-add-to-cart-success-message {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin: 1rem auto 0 auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.25rem !important;
  padding: 1rem 0.75rem !important;
  text-align: center !important;
  animation: gmc-fadeIn 0.3s ease !important;
  order: 4 !important; /* Same order as button, replaces it when button is hidden */
  width: calc(100% - 2rem) !important;
  max-width: calc(100% - 2rem) !important;
  flex-basis: 100% !important;
  position: relative !important;
  background: var(--gmc-surface-soft) !important;
  border-radius: var(--gmc-radius-md) !important;
  border: 1.5px solid rgba(244, 140, 168, 0.2) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
}

/* Mobile: tighten add-to-cart success message vertical spacing so box matches content height */
@media (max-width: 767px) {
  .gmc-add-to-cart-success-message {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }

  .gmc-add-to-cart-success-message p {
    margin-bottom: 0.4rem !important;
  }
}

/* Ensure success message appears right after add to cart button */
ul.products li.product .add_to_cart_button + .gmc-add-to-cart-success-message,
ul.products li.product a.add_to_cart_button + .gmc-add-to-cart-success-message,
.gmc-woocommerce-grid ul.products li.product .add_to_cart_button + .gmc-add-to-cart-success-message,
.gmc-woocommerce-grid ul.products li.product a.add_to_cart_button + .gmc-add-to-cart-success-message {
  order: 4 !important; /* Same order as button, replaces it */
  margin-top: 0.75rem !important;
}

/* When button is hidden, success message should have normal spacing (no extra gap) */
ul.products li.product .add_to_cart_button.gmc-button-hidden + .gmc-add-to-cart-success-message,
ul.products li.product a.add_to_cart_button.gmc-button-hidden + .gmc-add-to-cart-success-message,
.gmc-woocommerce-grid ul.products li.product .add_to_cart_button.gmc-button-hidden + .gmc-add-to-cart-success-message,
.gmc-woocommerce-grid ul.products li.product a.add_to_cart_button.gmc-button-hidden + .gmc-add-to-cart-success-message,
ul.products li.product .gmc-button-hidden + .gmc-add-to-cart-success-message,
.gmc-woocommerce-grid ul.products li.product .gmc-button-hidden + .gmc-add-to-cart-success-message {
  margin-top: 0.75rem !important;
}

/* Primary line with checkmark */
.gmc-add-to-cart-success-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.6rem !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

.gmc-add-to-cart-success-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary)) !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(244, 140, 168, 0.3) !important;
}

.gmc-add-to-cart-success-primary-text {
  font-size: 1rem !important;
  font-style: normal !important;
  color: var(--gmc-text) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* Secondary line - reassurance */
.gmc-add-to-cart-success-secondary {
  font-size: 0.875rem !important;
  font-style: normal !important;
  color: var(--gmc-text-soft) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* Checkout link wrapper */
.gmc-add-to-cart-success-link-wrapper {
  margin: 0.25rem 0 0 0 !important;
  padding: 0 !important;
}

/* Checkout link - subtle text link with better styling */
.gmc-add-to-cart-checkout-link {
  font-size: 0.95rem !important;
  color: var(--gmc-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: all 200ms ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  line-height: 1.4 !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: var(--gmc-radius-md) !important;
}

.gmc-add-to-cart-checkout-link:hover {
  color: var(--gmc-primary-dark) !important;
  background: rgba(244, 140, 168, 0.1) !important;
  text-decoration: none !important;
  transform: translateX(2px) !important;
}

.gmc-add-to-cart-checkout-link::after {
  content: '→' !important;
  display: inline-block !important;
  transition: transform 200ms ease !important;
}

.gmc-add-to-cart-checkout-link:hover::after {
  transform: translateX(3px) !important;
}

/* Mobile-friendly spacing */
@media (max-width: 768px) {
  .gmc-add-to-cart-success-message {
    margin-top: 0.75rem !important;
    gap: 0.4rem !important;
    padding: 0.875rem 0.625rem !important;
    max-height: 150px;
  }
  
  .gmc-add-to-cart-success-primary {
    gap: 0.5rem !important;
  }
  
  .gmc-add-to-cart-success-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 0.75rem !important;
  }
  
  .gmc-add-to-cart-success-primary-text {
    font-size: 0.95rem !important;
  }
  
  .gmc-add-to-cart-success-secondary {
    font-size: 0.8rem !important;
  }
  
  .gmc-add-to-cart-checkout-link {
    font-size: 0.9rem !important;
    padding: 0.2rem 0.4rem !important;
  }
}

@keyframes gmc-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Hide default "View cart" button on shop pages - Make it very specific and aggressive */
body.woocommerce-shop .added_to_cart,
body.woocommerce.archive .added_to_cart,
body.woocommerce-tax-product_cat .added_to_cart,
body.woocommerce-tax-product_tag .added_to_cart,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product a.added_to_cart,
ul.products li.product .added_to_cart,
ul.products li.product a.added_to_cart,
.gmc-woocommerce-grid ul.products li.product .added_to_cart,
.gmc-woocommerce-grid ul.products li.product a.added_to_cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  pointer-events: none !important;
}

/* Hide "Add to cart" button when product is in cart - Remove from layout flow completely - Consolidated rule */
.gmc-button-hidden,
ul.products li.product .gmc-button-hidden,
ul.products li.product .add_to_cart_button.gmc-button-hidden,
ul.products li.product a.add_to_cart_button.gmc-button-hidden,
ul.products li.product .button.gmc-button-hidden,
ul.products li.product a.button.gmc-button-hidden,
.gmc-woocommerce-grid ul.products li.product .gmc-button-hidden,
.gmc-woocommerce-grid ul.products li.product .add_to_cart_button.gmc-button-hidden,
.gmc-woocommerce-grid ul.products li.product a.add_to_cart_button.gmc-button-hidden,
.gmc-woocommerce-grid ul.products li.product .button.gmc-button-hidden,
.gmc-woocommerce-grid ul.products li.product a.button.gmc-button-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-width: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  flex: 0 0 0 !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: 0 !important;
}

/* Fix viewport meta tag behavior for iOS */
@supports (-webkit-touch-callout: none) {
  body {
    -webkit-font-smoothing: antialiased;
  }
  
  input, textarea, select {
    font-size: 16px !important; /* Prevents zoom on iOS */
  }
}

/* ==========================================
 * FREE PRODUCT FUNNEL STYLING
 * ========================================== */

/* Free Product Email Form */
.gmc-free-product-funnel {
  max-width: 600px;
  margin: 3rem auto;
  padding: 2rem;
  background: var(--gmc-surface);
  border-radius: 12px;
  box-shadow: var(--gmc-shadow-light);
}

.gmc-free-product-header {
  text-align: center;
  margin-bottom: 2rem;
}

.gmc-free-product-image {
  margin-bottom: 1.5rem;
}

.gmc-free-product-image img {
  max-width: 300px;
  height: auto;
  border-radius: 8px;
}

.gmc-free-product-title {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin-bottom: 1rem;
}

.gmc-free-product-subtitle {
  font-size: 1.1rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

.gmc-free-product-form-wrapper {
  margin-top: 2rem;
}

.gmc-free-product-error {
  background: rgba(244, 67, 54, 0.1);
  border: 1px solid rgba(244, 67, 54, 0.3);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  color: #d32f2f;
}

.gmc-free-product-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.gmc-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.gmc-form-label {
  font-weight: 600;
  color: var(--gmc-text);
  font-size: 0.95rem;
}

.gmc-required {
  color: var(--gmc-primary);
}

.gmc-form-input {
  padding: 0.875rem 1rem;
  border: 1.5px solid var(--gmc-border-soft);
  border-radius: 8px;
  font-size: 1rem;
  transition: all 180ms ease;
  background: var(--gmc-surface);
  color: var(--gmc-text);
}

.gmc-form-input:focus {
  outline: none;
  border-color: var(--gmc-primary);
  box-shadow: 0 0 0 3px rgba(244, 140, 168, 0.1);
}

.gmc-form-field-checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
}

.gmc-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1.5;
}

.gmc-checkbox-input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.gmc-checkbox-text {
  color: var(--gmc-text);
}

.gmc-checkbox-text a {
  color: var(--gmc-primary);
  text-decoration: underline;
}

.gmc-free-product-submit {
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  border: none;
  box-shadow: var(--gmc-shadow-light);
  transition: all 180ms ease;
  cursor: pointer;
  margin-top: 0.5rem;
}

.gmc-free-product-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35);
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary));
}

/* Free Product Thank You Page */
.gmc-free-product-thank-you {
  max-width: 800px;
  margin: 3rem auto;
  padding: 2rem;
}

.gmc-free-product-thank-you-header {
  text-align: center;
  margin-bottom: 3rem;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(244, 140, 168, 0.05), rgba(240, 194, 123, 0.05));
  border-radius: 12px;
}

.gmc-free-product-thank-you-title {
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin-bottom: 1rem;
}

.gmc-free-product-thank-you-message {
  font-size: 1.2rem;
  color: var(--gmc-text);
  margin-bottom: 1rem;
}

.gmc-free-product-thank-you-email {
  font-size: 1rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

.gmc-free-product-thank-you-email strong {
  color: var(--gmc-primary-dark);
}

/* Upsell Section */
.gmc-free-product-upsell {
  margin: 3rem 0;
  padding: 2.5rem;
  background: var(--gmc-surface-soft);
  border: 2px solid var(--gmc-border-soft);
  border-radius: 12px;
}

.gmc-free-product-upsell-header {
  text-align: center;
  margin-bottom: 2rem;
}

.gmc-free-product-upsell-title {
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  font-weight: 700;
  color: var(--gmc-text);
  margin-bottom: 0.5rem;
}

.gmc-free-product-upsell-subtitle {
  font-size: 1rem;
  color: var(--gmc-text-soft);
  margin: 0;
}

.gmc-free-product-upsell-content {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 2rem;
  align-items: center;
}

.gmc-free-product-upsell-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.gmc-free-product-upsell-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.gmc-free-product-upsell-product-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gmc-text);
  margin: 0;
}

.gmc-free-product-upsell-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gmc-primary-dark);
}

.gmc-free-product-upsell-description {
  font-size: 1rem;
  color: var(--gmc-text-soft);
  line-height: 1.6;
  margin: 0;
}

.gmc-free-product-upsell-cta {
  margin-top: 1rem;
}

.gmc-free-product-upsell-button {
  display: inline-block;
  padding: 1rem 2.5rem;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gmc-primary), var(--gmc-secondary));
  color: #fff;
  text-decoration: none;
  box-shadow: var(--gmc-shadow-light);
  transition: all 180ms ease;
}

.gmc-free-product-upsell-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 140, 168, 0.35);
  background: linear-gradient(135deg, var(--gmc-primary-dark), var(--gmc-secondary));
  color: #fff;
}

.gmc-free-product-thank-you-support {
  text-align: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gmc-border-soft);
  color: var(--gmc-text-soft);
  font-size: 0.95rem;
}

.gmc-free-product-thank-you-support a {
  color: var(--gmc-primary);
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
  .gmc-free-product-funnel {
    margin: 2rem 1rem;
    padding: 1.5rem;
  }

  .gmc-free-product-thank-you {
    margin: 2rem 1rem;
    padding: 1.5rem;
  }

  .gmc-free-product-upsell {
    padding: 1.5rem;
  }

  .gmc-free-product-upsell-content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .gmc-free-product-upsell-image {
    text-align: center;
  }

  .gmc-free-product-upsell-image img {
    max-width: 200px;
  }
}

/* ============================================
   WOOCOMMERCE CART - LAYOUT & UX FIXES
   ============================================ */

/* Override old cart-collaterals grid that conflicts */
body.woocommerce-cart .cart-collaterals {
  display: block !important;
  grid-template-columns: none !important;
  margin-top: 0 !important;
  padding: 0 !important;
}

@media (min-width: 768px) {
  body.woocommerce-cart .cart-collaterals {
    display: block !important;
    grid-template-columns: none !important;
  }
}

/* Cart Layout: 2-column on desktop - break out of container constraints */
body.woocommerce-cart .gmc-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-cart .gmc-cart-layout {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

body.woocommerce-cart .gmc-cart-main {
  margin-bottom: 2rem;
  width: 100%;
}

body.woocommerce-cart .gmc-cart-sidebar {
  margin-top: 0;
  width: 100%;
}

/* 2-column layout on desktop */
@media (min-width: 980px) {
  body.woocommerce-cart .gmc-cart-layout {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr !important;
    gap: 32px !important;
    align-items: start !important;
    padding: 0 2rem;
  }

  body.woocommerce-cart .gmc-cart-main {
    grid-column: 1 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-cart .gmc-cart-sidebar {
    grid-column: 2 !important;
    position: sticky !important;
    top: 90px !important; /* below sticky header */
    width: 100% !important;
    align-self: start !important;
  }
}

/* Reduce vertical whitespace */
body.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart .shop_table.cart {
  margin-bottom: 1rem !important;
  width: 100% !important;
  border-collapse: collapse;
}

body.woocommerce-cart .shop_table.cart thead {
  display: table-header-group;
}

body.woocommerce-cart .shop_table.cart tbody {
  display: table-row-group;
}

body.woocommerce-cart .cart_totals {
  margin-bottom: 1.5rem !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #E4E3E3 !important;
  border-radius: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals table {
  margin-bottom: 0 !important;
}

body.woocommerce-cart .cart_totals tr {
  border-bottom: 1px solid #f0f0f0;
}

body.woocommerce-cart .cart_totals tr.order-total {
  border-top: 2px solid #E4E3E3;
  border-bottom: none;
  padding-top: 12px;
  margin-top: 8px;
}

body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td {
  padding-top: 16px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* Make checkout button the hero CTA - match Update cart button height */
body.woocommerce-cart .cart-collaterals .checkout-button,
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout,
body.woocommerce-cart .cart-collaterals .checkout-button a,
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a,
body.woocommerce-cart .cart-collaterals a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 1px 20px 10px !important;
  font-size: 15px !important;
  background: #F43676 !important;
  background-color: #F43676 !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  text-decoration: none !important;
  margin-top: 1rem !important;
  box-shadow: 0 2px 8px rgba(244, 54, 118, 0.2) !important;
  line-height: 1.5 !important;
}

body.woocommerce-cart .cart-collaterals .checkout-button:hover,
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout:hover,
body.woocommerce-cart .cart-collaterals .checkout-button a:hover,
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a:hover,
body.woocommerce-cart .cart-collaterals a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #e52e6a !important;
  background-color: #e52e6a !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(244, 54, 118, 0.3) !important;
}

/* Hide/remove top CTA section if it exists */
body.woocommerce-cart .gmc-cart-top-cta {
  display: none !important;
}

/* Tighten cart table spacing */
body.woocommerce-cart .woocommerce-cart-form__contents {
  width: 100% !important;
  border-collapse: collapse;
}

body.woocommerce-cart .woocommerce-cart-form__contents td,
body.woocommerce-cart .woocommerce-cart-form__contents th {
  padding: 12px 8px !important;
  vertical-align: middle;
  border: none;
}

body.woocommerce-cart .woocommerce-cart-form__contents thead {
  display: table-header-group;
}

body.woocommerce-cart .woocommerce-cart-form__contents tbody {
  display: table-row-group;
}

body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail {
  width: 80px;
}

body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail img {
  max-width: 80px;
  width: 80px;
  height: auto;
  display: block;
}

body.woocommerce-cart .woocommerce-cart-form__contents .product-name {
  min-width: 200px;
}

body.woocommerce-cart .woocommerce-cart-form__contents .actions {
  padding: 16px 8px !important;
}

/* Coupon section - only one visible (inside cart table) */
body.woocommerce-cart .gmc-cart-coupon-details {
  margin: 12px 0;
}

body.woocommerce-cart .gmc-cart-coupon-summary {
  cursor: pointer;
  padding: 8px 0;
  font-weight: 500;
  color: var(--gmc-primary);
}

body.woocommerce-cart .gmc-cart-coupon-details .coupon {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

body.woocommerce-cart .gmc-cart-coupon-details input[type="text"] {
  flex: 1;
  padding: 10px;
  border: 1px solid #E4E3E3;
  border-radius: 8px;
}

/* What happens next styling */
body.woocommerce-cart .gmc-cart-what-happens-next {
  margin-top: 1.5rem !important;
  padding: 20px !important;
  background: #fff7f3 !important;
  border: 1px solid #E4E3E3 !important;
  border-radius: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .gmc-cart-what-happens-next-title {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 16px;
  font-weight: 600;
  color: var(--gmc-text);
}

body.woocommerce-cart .gmc-cart-what-happens-next-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step:last-child {
  margin-bottom: 0;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #F43676;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

body.woocommerce-cart .gmc-cart-what-happens-next-step-content {
  flex: 1;
  font-size: 14px;
  line-height: 1.5;
  color: var(--gmc-text-soft);
}

/* Mobile UX */
@media (max-width: 979px) {
  body.woocommerce-cart .gmc-container {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body.woocommerce-cart .gmc-cart-layout {
    display: block !important;
    padding: 0 7px !important;
  }

  body.woocommerce-cart .gmc-cart-sidebar {
    position: static !important;
    margin-top: 2rem !important;
  }

  body.woocommerce-cart .cart_totals {
    padding: 16px !important;
  }

  body.woocommerce-cart .cart-collaterals .checkout-button,
  body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout,
  body.woocommerce-cart .cart-collaterals .checkout-button a,
  body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a,
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    padding: 12px 20px !important;
    font-size: 16px !important;
  }
}

/* ============================================
   COOKIE BANNER - MOBILE RESPONSIVE
   ============================================ */

#gmc-cookie-banner {
  position: fixed !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  background: #fffdfb !important;
  border: 1px solid #efe3d9 !important;
  padding: 16px !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  z-index: 100000 !important;
  display: none !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}

#gmc-cookie-banner .gmc-cookie-banner-content {
  flex: 1 !important;
  min-width: 0 !important;
}

#gmc-cookie-banner strong {
  color: #263238 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

#gmc-cookie-banner .gmc-cookie-banner-content > div {
  color: #5f6b73 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#gmc-cookie-banner .gmc-cookie-buttons {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}

#gmc-cookie-accept {
  background: #F43676 !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1 !important;
  transition: all 0.2s ease !important;
}

#gmc-cookie-accept:hover {
  background: #e52e6a !important;
}

#gmc-cookie-decline {
  background: transparent !important;
  border: 1px solid #E4E3E3 !important;
  color: #5f6b73 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

/* ============================================
   FINAL OVERRIDE: HOMEPAGE CARD PADDING ON MOBILE
   Maximum priority to ensure cards have 7px padding
   ============================================ */
@media (max-width: 767px) {
  /* Force 7px padding on ALL card variants - highest priority */
  body.home .gmc-card,
  body.home .gmc-card-highlight,
  body.home .gmc-product-card,
  body.home article.gmc-card,
  body.home article.gmc-card-highlight,
  body.home article.gmc-product-card,
  body.home .gmc-card.gmc-card-highlight,
  body.home .gmc-card.gmc-product-card,
  body.home .gmc-card.gmc-step,
  body.home .gmc-card.gmc-quote,
  body.home .gmc-card.gmc-blog-card,
  body.home .gmc-card-highlight.gmc-product-card,
  body.front-page .gmc-card,
  body.front-page .gmc-card-highlight,
  body.front-page .gmc-product-card,
  body.front-page article.gmc-card,
  body.front-page article.gmc-card-highlight,
  body.front-page article.gmc-product-card {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Email signup form on homepage */
  body.home .gmc-free-signup,
  body.front-page .gmc-free-signup {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Remove padding from direct children */
  body.home .gmc-card > *,
  body.home .gmc-card-highlight > *,
  body.home .gmc-product-card > *,
  body.front-page .gmc-card > *,
  body.front-page .gmc-card-highlight > *,
  body.front-page .gmc-product-card > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Product images should be full width */
  body.home .gmc-product-card .gmc-product-image,
  body.home .gmc-product-card .gmc-product-image img,
  body.front-page .gmc-product-card .gmc-product-image,
  body.front-page .gmc-product-card .gmc-product-image img {
    margin-left: -7px !important;
    margin-right: -7px !important;
    width: calc(100% + 14px) !important;
    max-width: calc(100% + 14px) !important;
  }
}

#gmc-cookie-decline:hover {
  border-color: #F43676 !important;
  color: #F43676 !important;
}

/* Mobile - 7px padding on smartphones */
@media (max-width: 767px) {
  #gmc-cookie-banner {
    left: 7px !important;
    right: 7px !important;
    bottom: 10px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  #gmc-cookie-banner .gmc-cookie-buttons {
    flex-direction: column !important;
    gap: 8px !important;
  }

  #gmc-cookie-banner button {
    width: 100% !important;
    justify-content: center !important;
    display: flex !important;
  }
}

/* ---------------------------------
   Archive grid / card styles
   Lightweight card layout for page-archive.php
   Uses theme tokens defined in :root above
   --------------------------------- */
.archive-posts-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.archive-posts-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.archive-posts-grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.archive-posts-grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .archive-posts-grid,
  .archive-posts-grid.cols-2,
  .archive-posts-grid.cols-3 {
    grid-template-columns: 1fr !important;
  }
}

.archive-card {
  background: var(--gmc-surface);
  border: 1px solid var(--gmc-border-soft);
  border-radius: var(--gmc-radius-md);
  box-shadow: var(--gmc-shadow-light);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.archive-card:hover { transform: translateY(-6px); box-shadow: var(--gmc-shadow-soft); }

.archive-thumb { display: block; width: 100%; }
.archive-thumb-img { width: 100%; height: auto; display: block; object-fit: cover; }

.archive-card .entry-header { padding: 1rem 1rem 0.5rem; }
.archive-card .entry-title { margin: 0 0 0.5rem; font-size: 1.25rem; color: var(--gmc-text); }

.archive-card .entry-summary { padding: 0 1rem 1rem; color: var(--gmc-text-soft); }
.archive-card .read-more { color: var(--gmc-primary); font-weight: 600; text-decoration: none; }
.archive-card .read-more:hover { text-decoration: underline; }

