/**
 * BirdieChaser WooCommerce Styles
 * 
 * Contains all styles for:
 * - Cart page (cross-sells, cart totals, return link)
 * - Cart icon and breadcrumb row
 * - Shop/Product pages
 * - Upsells and cross-sells
 * - Product highlights, taglines, materials
 * - Shop filter slide-out panel
 * - Sorting dropdowns
 * 
 * Loaded conditionally on WooCommerce pages only
 * 
 * @package BirdieChaser
 * @since 2.0.0
 */

/* ----------------------------------------
   HIDE DEFAULT PAGE TITLES
   Only on Cart, Checkout, Account pages
   (NOT on shop archives or single products)
   ---------------------------------------- */

/* Hide default entry titles on Cart/Checkout/Account only */
.woocommerce-cart .entry-header,
.woocommerce-cart article > header.entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-checkout article > header.entry-header,
.woocommerce-account .entry-header,
.woocommerce-account article > header.entry-header {
  display: none !important;
}

/* Hide h1.entry-title on Cart/Checkout/Account only */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-account h1.entry-title {
  display: none !important;
}

/* Make sure our custom titles ARE visible */
.bc-page-title {
  display: block !important;
}

/* ----------------------------------------
   CART PAGE - Cross-Sells / Upsells
   ---------------------------------------- */
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-cart .cross-sells,
.cross-sells {
  margin-top: 30px;
  width: 100%;
  padding: 0 !important;
  padding-left: 0 !important;
}

/* Reorder cart collaterals - Cart totals first, then cross-sells */
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals {
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  order: 1 !important;
  margin-bottom: 40px !important;
}

.woocommerce .cart-collaterals .cross-sells,
.woocommerce-cart .cart-collaterals .cross-sells {
  order: 2 !important;
}

/* Cart page title */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce-products-header__title,
.woocommerce-cart h1.page-title,
body.woocommerce-cart .bc-page-title {
  display: block !important;
  visibility: visible !important;
  font-family: var(--font-heading) !important;
  font-size: 32pt !important;
  font-weight: var(--font-weight-bold) !important;
  color: #fbe8c6 !important;
  margin: 0 0 30px 0 !important;
}

/* Return to Shop link (Cart page) */
.bc-return-link {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 14pt;
  font-weight: var(--font-weight-medium);
  color: #fbe8c6;
  text-decoration: none;
  margin-bottom: 15px;
  transition: color 0.2s ease;
}

.bc-return-link:hover {
  color: #f5cd84;
  text-decoration: underline;
}

/* ----------------------------------------
   CART PAGE - Table & Text Styling
   ---------------------------------------- */
/* Cart table headers */
body.woocommerce-cart .woocommerce table.shop_table thead th,
body.woocommerce-cart .shop_table th {
  color: #fbe8c6 !important;
  font-weight: 600 !important;
}

/* Cart table product name */
body.woocommerce-cart .woocommerce table.shop_table td.product-name a,
body.woocommerce-cart .shop_table .product-name a {
  color: #fbe8c6 !important;
}

body.woocommerce-cart .woocommerce table.shop_table td.product-name a:hover {
  color: #f5cd84 !important;
}

/* Cart table product variation text */
body.woocommerce-cart .woocommerce table.shop_table td.product-name .variation,
body.woocommerce-cart .woocommerce table.shop_table td.product-name dl.variation dt,
body.woocommerce-cart .woocommerce table.shop_table td.product-name dl.variation dd {
  color: #fbe8c6 !important;
}

/* Cart table prices */
body.woocommerce-cart .woocommerce table.shop_table td.product-price,
body.woocommerce-cart .woocommerce table.shop_table td.product-subtotal,
body.woocommerce-cart .shop_table .product-price,
body.woocommerce-cart .shop_table .product-subtotal {
  color: #f5cd84 !important;
}

/* Cart table quantity */
body.woocommerce-cart .woocommerce table.shop_table td.product-quantity {
  color: #fbe8c6 !important;
}

/* ----------------------------------------
   CART ICON (Single Product & Shop Archive)
   ---------------------------------------- */
.bc-cart-icon {
  position: absolute;
  top: 100px !important;
  right: 40px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  color: var(--color-brown-dark);
  text-decoration: none;
  transition: all 0.2s ease;
  z-index: 10;
}

/* Hide the absolute cart icon on shop and single product pages on DESKTOP (we use inline/breadcrumb ones instead) */
@media (min-width: 769px) {
  body.post-type-archive-product .bc-cart-icon,
  body.tax-product_cat .bc-cart-icon,
  body.tax-product_tag .bc-cart-icon,
  body.single-product .bc-cart-icon {
    display: none !important;
  }
}

/* On mobile, hide the absolute cart on single product pages only (uses breadcrumb cart) */
@media (max-width: 768px) {
  body.single-product .bc-cart-icon {
    display: none !important;
  }
}

/* Breadcrumb Row - contains breadcrumb and cart icon on single product pages */
.bc-breadcrumb-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin-bottom: 20px !important;
}

.bc-breadcrumb-row .woocommerce-breadcrumb {
  margin: 0 !important;
}

/* Cart icon in breadcrumb row */
.bc-breadcrumb-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fbe8c6 !important;
  text-decoration: none !important;
  position: relative !important;
  transition: all 0.2s ease !important;
}

.bc-breadcrumb-cart:hover {
  color: #f5cd84 !important;
  transform: scale(1.1) !important;
}

.bc-breadcrumb-cart svg {
  width: 24px !important;
  height: 24px !important;
}

.bc-breadcrumb-cart .bc-cart-count {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Mobile - Add more space between breadcrumbs and cart icon */
@media (max-width: 768px) {
  .bc-breadcrumb-row {
    gap: 20px !important;
  }
  
  .bc-breadcrumb-row .woocommerce-breadcrumb {
    flex: 1 !important;
    padding-right: 15px !important;
  }
  
  .bc-breadcrumb-cart {
    flex-shrink: 0 !important;
    padding: 8px !important;
  }
}

/* Align cart with content container on larger screens */
@media (min-width: 1200px) {
  .bc-cart-icon {
    right: calc((100vw - 1200px) / 2 + 40px) !important;
  }
}

.bc-cart-icon:hover {
  color: var(--color-brown-medium);
  transform: scale(1.1);
}

.bc-cart-icon svg {
  width: 28px;
  height: 28px;
}

/* Cart count badge */
.bc-cart-icon .bc-cart-count {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--color-brown-dark);
  color: var(--color-cream-light);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Make WooCommerce main content container relative */
.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce .woocommerce-content-wrap,
body.single-product .site-content,
body.post-type-archive-product .site-content,
body.woocommerce-shop .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
  position: relative;
}

/* ========================================
   CONSISTENT SPACING FOR ALL USERS
   Add top margin to simulate admin bar space
   so layout is identical for admins and members
   ======================================== */
body.woocommerce-page .site-main,
body.single-product .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.page-id-69 .site-main {
  margin-top: 32px !important;
}

/* Remove the extra margin when admin bar IS present (it already adds space) */
body.admin-bar.woocommerce-page .site-main,
body.admin-bar.single-product .site-main,
body.admin-bar.post-type-archive-product .site-main,
body.admin-bar.tax-product_cat .site-main,
body.admin-bar.tax-product_tag .site-main,
body.admin-bar.woocommerce-cart .site-main,
body.admin-bar.woocommerce-checkout .site-main,
body.admin-bar.page-id-69 .site-main {
  margin-top: 0 !important;
}

/* ----------------------------------------
   SINGLE PRODUCT PAGE - Upsells
   "You may also like..." section
   ---------------------------------------- */
.woocommerce .upsells.products > h2,
.woocommerce-page .upsells.products > h2,
.single-product .upsells > h2,
section.upsells > h2 {
  font-family: var(--font-body) !important;
  font-size: 24px !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fbe8c6 !important;
  margin: 0 0 20px 0 !important;
}

/* Upsell product titles - smaller than section heading */
.woocommerce .upsells.products ul.products li.product h2,
.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__title,
.upsells ul.products li.product h2,
.upsells ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--color-brown-dark) !important;
  margin: 10px 0 5px 0 !important;
  line-height: 1.4 !important;
}

/* ----------------------------------------
   SINGLE PRODUCT - Highlight Field (ACF)
   ---------------------------------------- */
.bc-product-highlight {
  margin: 0 !important;
  padding: 0 !important;
  order: 4 !important; /* Position after short description (order: 3) */
}

/* Simple products (no variations) - extra bottom padding on highlights */
body.simple-product .bc-product-highlight {
  padding-bottom: 50px !important;
}

.bc-product-highlight ul {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  font-style: italic;
  color: #fbe8c6;
  margin: 0;
  padding: 0 0 0 20px;
  line-height: 1.6;
}

.bc-product-highlight ul li {
  margin-bottom: 4px;
}

.bc-product-highlight ul li:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------
   SINGLE PRODUCT - Vendor (ACF)
   Appears above product title
   ---------------------------------------- */
.bc-product-vendor {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  color: #f5cd84;
  margin: 0 !important;
  line-height: 1.4;
  order: 0 !important;
}

/* ----------------------------------------
   SINGLE PRODUCT - Style (ACF)
   Displayed in product meta above Category
   ---------------------------------------- */
.bc-product-style {
  display: block !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #fbe8c6 !important;
  margin-bottom: 5px !important;
}

/* ----------------------------------------
   SINGLE PRODUCT - Product Details (under Description tab)
   Warehouse Location, Time to Ship, Safety Notice
   ---------------------------------------- */
.bc-product-details {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid rgba(246, 224, 188, 0.25);
}

.bc-product-details h2 {
  font-family: var(--font-body);
  font-size: 16pt;
  font-weight: var(--font-weight-bold);
  color: #f6e0bc;
  text-transform: uppercase;
  margin: 0 0 15px 0;
}

.bc-detail-row {
  font-family: var(--font-body);
  font-size: 14pt;
  font-weight: var(--font-weight-medium);
  color: #f6e0bc;
  line-height: 1.6;
  margin-bottom: 10px;
}

.bc-detail-row:last-child {
  margin-bottom: 0;
}

.bc-detail-row strong {
  font-weight: var(--font-weight-bold);
}

/* ----------------------------------------
   SINGLE PRODUCT - Return Policy Tab
   ---------------------------------------- */
.bc-return-policy-content {
  font-family: var(--font-body);
  font-size: 14pt;
  font-weight: var(--font-weight-medium);
  color: #f6e0bc;
  line-height: 1.6;
}

.bc-return-policy-content p {
  margin: 0 0 15px 0;
}

/* ----------------------------------------
   SINGLE PRODUCT - Materials Tab
   ---------------------------------------- */
.bc-materials-content {
  font-family: var(--font-body);
  font-size: 14pt;
  font-weight: var(--font-weight-medium);
  color: #f6e0bc;
  line-height: 1.6;
}

.bc-materials-content p {
  margin: 0 0 15px 0;
}

/* ----------------------------------------
   SHOP/ARCHIVE - Product Tagline (ACF)
   ---------------------------------------- */
/* Reduce bottom margin on product title when tagline follows */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin-bottom: -5px !important;
}

.bc-product-tagline {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  font-style: normal;
  color: var(--color-brown-dark);
  margin: 0 0 10px 0;
  padding: 0;
  line-height: 1.4;
  opacity: 0.8;
}

/* "You almost forgot..." heading */
.woocommerce .cart-collaterals .cross-sells h2,
.woocommerce-cart .cross-sells h2,
.cross-sells > h2 {
  font-family: var(--font-body) !important;
  font-size: 22px !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #fbe8c6 !important;
  margin: 0 0 20px 0 !important;
  text-align: center !important;
}

/* ===== HIDE DEFAULT CROSS-SELLS (keep our carousel) ===== */
.woocommerce-cart .cart-collaterals > .cross-sells:not(.bc-carousel-section) {
  display: none !important;
}

/* ===== CROSS-SELLS CAROUSEL ===== */

/* Cross-sells container - our carousel version */
.cross-sells.bc-carousel-section {
  display: block !important;
  margin-bottom: 30px !important;
  width: 380px !important;
  float: right !important;
  clear: right !important;
}

/* Carousel container */
.bc-cross-sells-carousel {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 380px !important;
  margin: 0 auto !important;
}

/* Track wrapper - overflow hidden */
.bc-carousel-track-wrapper {
  flex: 1 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

/* Track - slides horizontally */
.bc-carousel-track,
.cross-sells ul.products.bc-carousel-track,
.woocommerce .cart-collaterals .cross-sells ul.products.bc-carousel-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  transition: transform 0.4s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Each product slide */
.bc-carousel-track li.product,
.cross-sells .bc-carousel-track li.product,
.woocommerce .cart-collaterals .cross-sells ul.products.bc-carousel-track li.product {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  background: #faf6f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  text-align: center !important;
}

/* Product image */
.bc-carousel-track li.product a,
.cross-sells .bc-carousel-track li.product a {
  display: block !important;
}

.bc-carousel-track li.product a img,
.cross-sells .bc-carousel-track li.product a img {
  border-radius: 8px !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border: 1px solid #d4a96a !important;
  margin: 0 !important;
}

/* Product title */
.bc-carousel-track li.product .woocommerce-loop-product__title,
.bc-carousel-track li.product h2.woocommerce-loop-product__title {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--color-brown-dark, #412818) !important;
  margin: 10px 0 4px 0 !important;
  line-height: 1.3 !important;
}

/* Product tagline */
.bc-carousel-track li.product .bc-product-tagline {
  font-size: 12px !important;
  color: #888 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}

/* Product price */
.bc-carousel-track li.product .price {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: var(--font-weight-bold) !important;
  color: #b87f2a !important;
  margin: 0 !important;
}

/* Hide add to cart / select options button */
.bc-carousel-track li.product .button,
.bc-carousel-track li.product .add_to_cart_button,
.bc-carousel-track li.product a.button,
.bc-carousel-track li.product > a.button,
.cross-sells .bc-carousel-track li.product .button,
.cross-sells .bc-carousel-track li.product a.button,
.cross-sells.bc-carousel-section li.product > a.button,
.cross-sells.bc-carousel-section li.product .add_to_cart_button {
  display: none !important;
}

/* Navigation arrows */
.bc-carousel-nav {
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(65, 40, 24, 0.85) !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fbe8c6 !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.bc-carousel-nav:hover {
  background: rgba(65, 40, 24, 1) !important;
  transform: scale(1.05) !important;
}

/* Arrow icons using CSS */
.bc-carousel-prev::before,
.bc-carousel-next::before {
  content: '' !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid #fbe8c6 !important;
  border-right: 2px solid #fbe8c6 !important;
}

.bc-carousel-prev::before {
  transform: rotate(-135deg) !important;
  margin-left: 4px !important;
}

.bc-carousel-next::before {
  transform: rotate(45deg) !important;
  margin-right: 4px !important;
}

/* Hide SVG if not rendering */
.bc-carousel-nav svg {
  display: none !important;
}

/* Dots navigation */
.bc-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.bc-carousel-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(251, 232, 198, 0.4) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.2s ease !important;
}

.bc-carousel-dot:hover {
  background: rgba(251, 232, 198, 0.7) !important;
}

.bc-carousel-dot.active {
  background: #fbe8c6 !important;
  transform: scale(1.3) !important;
}

/* Mobile carousel adjustments moved to CROSS-SELLS MOBILE section below */

/* ----------------------------------------
   SHOP FILTER SLIDE-OUT PANEL
   ---------------------------------------- */

/* Style WPC chips */
.wpc-filter-chips-list li,
.wpc-filter-chips-list li.wpc-filter-chip,
.wpc-filter-chips-list li.wpc-chip-reset-all {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.wpc-filter-chips-list a,
.wpc-filter-chips-list li.wpc-filter-chip a,
.wpc-filter-chips-list li.wpc-chip-reset-all a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.wpc-filter-chips-list a:hover,
.wpc-filter-chips-list li.wpc-filter-chip a:hover,
.wpc-filter-chips-list li.wpc-chip-reset-all a:hover {
  background: #5a3a25 !important;
  color: var(--color-cream-light, #fbe8c6) !important;
}

/* Chip X remove icon */
.wpc-filter-chips-list .wpc-filter-chip-content svg,
.wpc-filter-chips-list .wpc-chip-remove-icon {
  stroke: var(--color-cream-light, #fbe8c6) !important;
  fill: none !important;
  width: 14px !important;
  height: 14px !important;
}

/* Filter Toggle Button - Inline */
.bc-filter-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  vertical-align: top !important;
}

.bc-filter-toggle:hover {
  background: #5a3a25 !important;
}

.bc-filter-toggle svg {
  stroke: currentColor !important;
}

/* Mobile - Hide filter button text, show only icon */
@media (max-width: 768px) {
  .bc-filter-toggle span {
    display: none !important;
  }
  
  .bc-filter-toggle {
    padding: 12px !important;
  }
  
  /* Make filter and sorting sit on same row */
  .bc-shop-controls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  
  /* Hide inline cart icon on mobile - use absolute one instead */
  .bc-shop-controls .bc-cart-icon-inline {
    display: none !important;
  }
  
  /* Show absolute cart icon on mobile shop pages — positioned LEFT to avoid
     collision with the iframe close (X) button on the right */
  body.post-type-archive-product .bc-cart-icon,
  body.tax-product_cat .bc-cart-icon,
  body.tax-product_tag .bc-cart-icon {
    display: flex !important;
    position: absolute !important;
    top: 20px !important;
    left: 25px !important;
    right: auto !important;
    z-index: 10 !important;
    transform: none !important;
  }

  /* When admin bar is present, no extra offset needed */
  body.admin-bar.post-type-archive-product .bc-cart-icon,
  body.admin-bar.tax-product_cat .bc-cart-icon,
  body.admin-bar.tax-product_tag .bc-cart-icon {
    top: 10px !important;
  }

  /* Extra top padding on archive/category pages to clear iframe close button + Safari UI */
  body.post-type-archive-product .site-main,
  body.tax-product_cat .site-main,
  body.tax-product_tag .site-main {
    margin-top: 60px !important;
    padding-bottom: 120px !important;
  }

  /* Shrink sorting dropdown */
  .bc-shop-controls .woocommerce-ordering,
  .bc-shop-controls form.woocommerce-ordering {
    flex: 1 !important;
    max-width: 200px !important;
  }
  
  .bc-shop-controls .woocommerce-ordering select,
  .woocommerce-ordering select {
    width: 100% !important;
    padding: 12px 35px 12px 15px !important;
    font-size: 12px !important;
  }
  
  /* Inline cart icon on mobile */
  .bc-cart-icon-inline svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* Make Filter and Sorting appear on same row */
.woocommerce .woocommerce-ordering,
form.woocommerce-ordering {
  display: inline-block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
  width: auto !important;
}

/* Shop controls wrapper - contains Filter button, Sorting dropdown, and Cart icon */
.bc-shop-controls {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 25px !important;
  flex-wrap: nowrap !important;
}

/* Ensure filter button and select have same height and no extra padding */
.bc-filter-toggle,
.bc-shop-controls .woocommerce-ordering select {
  height: 46px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Remove any margin from the form wrapper */
.bc-shop-controls form.woocommerce-ordering {
  margin: 0 !important;
  padding: 0 !important;
}

/* Inline Cart Icon - pushed to right */
.bc-cart-icon-inline {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  color: var(--color-brown-dark, #412818) !important;
  text-decoration: none !important;
  position: relative !important;
  transition: all 0.2s ease !important;
}

.bc-cart-icon-inline:hover {
  color: #5a3a25 !important;
  transform: scale(1.1) !important;
}

.bc-cart-icon-inline svg {
  width: 28px !important;
  height: 28px !important;
}

/* Inline cart count badge */
.bc-cart-count-inline {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hide top chips completely - stronger selectors */
ul.wpc-filter-chips-list {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* HIDE chips inside wpc-custom-selected-terms (the duplicate at top) */
.wpc-custom-selected-terms,
.wpc-custom-selected-terms ul.wpc-filter-chips-list,
div.wpc-custom-selected-terms {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* SHOW relocated chips (moved by JavaScript) */
ul.wpc-filter-chips-list.bc-relocated-chips {
  display: flex !important;
  visibility: visible !important;
  position: static !important;
  left: auto !important;
  height: auto !important;
  overflow: visible !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Only show chips inside entry-content or woocommerce-archive-wrapper */
.entry-content ul.wpc-filter-chips-list,
.woocommerce-archive-wrapper ul.wpc-filter-chips-list,
.inside-article ul.wpc-filter-chips-list {
  display: flex !important;
  visibility: visible !important;
  position: static !important;
  left: auto !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Shop Controls Container - Filter + Sorting inline */
.woocommerce-page .woocommerce-notices-wrapper + .woocommerce-result-count,
.woocommerce-page p.woocommerce-result-count {
  margin-bottom: 15px !important;
}

/* Style the Default Sorting dropdown to match */
.woocommerce-ordering select,
.woocommerce-ordering .orderby,
form.woocommerce-ordering select {
  padding: 12px 40px 12px 20px !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer !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 24 24' fill='none' stroke='%23fbe8c6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 15px center !important;
  transition: all 0.3s ease !important;
}

.woocommerce-ordering select:hover,
.woocommerce-ordering .orderby:hover {
  background-color: #5a3a25 !important;
}

.woocommerce-ordering select:focus,
.woocommerce-ordering .orderby:focus {
  outline: none !important;
}

/* Remove default WooCommerce ordering wrapper styling */
.woocommerce .woocommerce-ordering,
form.woocommerce-ordering {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-block !important;
  width: auto !important;
  vertical-align: top !important;
}

/* ----------------------------------------
   FILTER CHIPS STYLING (Below Header)
   ---------------------------------------- */

/* HIDE all chip lists by default */
ul.wpc-filter-chips-list {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* HIDE the wpc-custom-selected-terms container (duplicate chips at top) */
.wpc-custom-selected-terms,
div.wpc-custom-selected-terms {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* SHOW only chips inside entry-content or woocommerce-archive-wrapper */
.entry-content ul.wpc-filter-chips-list,
.inside-article ul.wpc-filter-chips-list,
.woocommerce-archive-wrapper ul.wpc-filter-chips-list {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  left: auto !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Hide chips that appear at the very top of the page, outside main content */
body > ul.wpc-filter-chips-list,
body > .fe-chips-wrapper,
#page > ul.wpc-filter-chips-list,
#page > .fe-chips-wrapper,
.site > ul.wpc-filter-chips-list,
.site > .fe-chips-wrapper {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Style chips container in main content area */
.woocommerce-page .entry-content .fe-chips-wrapper,
.woocommerce-page .woocommerce-archive-wrapper .fe-chips-wrapper,
.woocommerce-page .fe-selected-chips,
.entry-content ul.wpc-filter-chips-list,
.inside-article ul.wpc-filter-chips-list,
.woocommerce-archive-wrapper ul.wpc-filter-chips-list,
ul.wpc-filter-chips-list.bc-relocated-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-bottom: 20px !important;
  visibility: visible !important;
  position: static !important;
  height: auto !important;
  overflow: visible !important;
  left: auto !important;
}

/* Individual chip styling - fe classes */
.fe-chip,
.fe-selected-chip,
.fe-reset-all,
a.fe-reset-all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.fe-chip:hover,
.fe-selected-chip:hover,
.fe-reset-all:hover,
a.fe-reset-all:hover {
  background: #5a3a25 !important;
  color: var(--color-cream-light, #fbe8c6) !important;
}

/* Chip remove X button - fe classes */
.fe-chip .fe-chip-remove,
.fe-selected-chip .fe-remove,
.fe-chip svg,
.fe-selected-chip svg {
  stroke: var(--color-cream-light, #fbe8c6) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  opacity: 0.8 !important;
  width: 14px !important;
  height: 14px !important;
}

.fe-chip:hover .fe-chip-remove,
.fe-selected-chip:hover .fe-remove {
  opacity: 1 !important;
}

/* Filter Overlay */
.bc-filter-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.bc-filter-overlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Filter Panel */
.bc-filter-panel {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 380px !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: #fff !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s ease !important;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15) !important;
}

/* Add padding when admin bar is present so panel content isn't hidden behind it */
body.admin-bar .bc-filter-panel {
  padding-top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .bc-filter-panel {
    padding-top: 46px !important; /* Mobile admin bar is taller */
  }
}

.bc-filter-panel.is-open {
  transform: translateX(0) !important;
}

/* Panel Header */
.bc-filter-panel-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 25px 25px 20px 25px !important;
  border-bottom: 1px solid #eee !important;
  flex-shrink: 0 !important;
}

.bc-filter-panel-header h3 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--color-brown-dark, #412818) !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.bc-filter-close {
  background: none !important;
  border: none !important;
  padding: 5px !important;
  cursor: pointer !important;
  color: var(--color-brown-dark, #412818) !important;
  transition: opacity 0.2s ease !important;
}

.bc-filter-close:hover {
  opacity: 0.7 !important;
}

/* Panel Content */
.bc-filter-panel-content {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 25px !important;
  padding-top: 30px !important;
  -webkit-overflow-scrolling: touch !important;
}

/* WPC filter checkbox styling - make checkboxes brown when checked */
.bc-filter-panel input[type="checkbox"] {
  accent-color: var(--color-brown-dark, #412818) !important;
}

/* Panel Footer */
.bc-filter-panel-footer {
  display: flex !important;
  gap: 10px !important;
  padding: 20px 25px !important;
  border-top: 1px solid #eee !important;
  flex-shrink: 0 !important;
  background: #fff !important;
}

.bc-filter-clear,
.bc-filter-apply {
  flex: 1 !important;
  padding: 14px 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.bc-filter-clear {
  background: #fff !important;
  color: var(--color-brown-dark, #412818) !important;
  border: 1px solid var(--color-brown-dark, #412818) !important;
}

.bc-filter-clear:hover {
  background: var(--color-cream-light, #fbe8c6) !important;
}

.bc-filter-apply {
  background: var(--color-brown-dark, #412818) !important;
  color: var(--color-cream-light, #fbe8c6) !important;
  border: 1px solid var(--color-brown-dark, #412818) !important;
}

.bc-filter-apply:hover {
  background: #5a3a25 !important;
}

/* ----------------------------------------
   FILTER EVERYTHING WIDGET STYLING
   ---------------------------------------- */

/* Filter Section Titles */
.bc-filter-panel .widget-title,
.bc-filter-panel .fe-filter-title,
.bc-filter-panel .flrt-filter-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--color-brown-dark, #412818) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 15px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #eee !important;
}

/* Filter Groups */
.bc-filter-panel .fe-widget-filter,
.bc-filter-panel .flrt-filter-wrapper {
  margin-bottom: 25px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid #f5f5f5 !important;
}

/* WPC Filter Text and Links - Change blue to brown */
.bc-filter-panel,
.bc-filter-panel a,
.bc-filter-panel label,
.bc-filter-panel span,
.bc-filter-panel li,
.bc-filter-panel .wpc-filter-content a,
.bc-filter-panel .wpc-filter-item a,
.bc-filter-panel .wpc-filter-item label,
.bc-filter-panel .wpc-term-name,
.bc-filter-panel .wpc-term-item a,
.bc-filter-panel .wpc-term-item label,
.bc-filter-panel .wpc-filters-labels a,
.bc-filter-panel .wpc-filters-labels label,
.bc-filter-panel .wpc-filter-link,
.bc-filter-panel li.wpc-term-item a {
  color: var(--color-brown-dark, #412818) !important;
  text-decoration: none !important;
}

.bc-filter-panel a:hover,
.bc-filter-panel .wpc-filter-item a:hover,
.bc-filter-panel .wpc-term-item a:hover,
.bc-filter-panel .wpc-filter-link:hover {
  color: #5a3a25 !important;
}

/* WPC Filter Section Titles */
.bc-filter-panel .wpc-filter-title,
.bc-filter-panel .wpc-filter-header,
.bc-filter-panel .widget-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--color-brown-dark, #412818) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 15px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #eee !important;
}

.bc-filter-panel .fe-widget-filter:last-child,
.bc-filter-panel .flrt-filter-wrapper:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

/* Checkbox Items - Default style (single column, full width) */
.bc-filter-panel .wpc-filters-ul-list,
.bc-filter-panel .fe-filter-items,
.bc-filter-panel .wpc-filter-items-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.bc-filter-panel .wpc-filters-ul-list li,
.bc-filter-panel .fe-filter-items li,
.bc-filter-panel .wpc-term-item {
  margin: 0 !important;
  padding: 0 !important;
}

/* Default label style (full width pills) */
.bc-filter-panel .fe-filter-items label,
.bc-filter-panel .flrt-filter-item label,
.bc-filter-panel .wpc-filter-item label,
.bc-filter-panel .wpc-term-item label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--color-brown-dark, #412818) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Hide ALL counts */
.bc-filter-panel .wpc-term-count,
.bc-filter-panel .fe-count,
.bc-filter-panel .flrt-count,
.bc-filter-panel .wpc-filter-count {
  display: none !important;
}

/* SIZE AND GLOVE SIZE - 3-column grid layout */
.bc-filter-panel [data-fslug="size"] .wpc-filters-ul-list,
.bc-filter-panel [data-fslug="glove-size"] .wpc-filters-ul-list,
.bc-filter-panel .wpc-filter-pa_size .wpc-filters-ul-list,
.bc-filter-panel .wpc-filter-pa_glove-size .wpc-filters-ul-list,
.bc-filter-panel .wpc-filter-content[data-fslug="size"] ul,
.bc-filter-panel .wpc-filter-content[data-fslug="glove-size"] ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}

/* SIZE AND GLOVE SIZE - Full width labels */
.bc-filter-panel [data-fslug="size"] .wpc-term-item label,
.bc-filter-panel [data-fslug="glove-size"] .wpc-term-item label,
.bc-filter-panel .wpc-filter-pa_size .wpc-term-item label,
.bc-filter-panel .wpc-filter-pa_glove-size .wpc-term-item label {
  width: 100% !important;
  padding: 10px 8px !important;
}

.bc-filter-panel .fe-filter-items label:hover,
.bc-filter-panel .flrt-filter-item label:hover,
.bc-filter-panel .wpc-filter-item label:hover,
.bc-filter-panel .wpc-term-item label:hover {
  border-color: var(--color-brown-dark, #412818) !important;
  background: #f9f6f2 !important;
}

/* Hide default checkbox, style the label as button */
.bc-filter-panel .fe-filter-items input[type="checkbox"],
.bc-filter-panel .flrt-filter-item input[type="checkbox"],
.bc-filter-panel .wpc-filter-item input[type="checkbox"],
.bc-filter-panel .wpc-term-item input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* WPC Filter - Checked state background */
.bc-filter-panel input[type="checkbox"]:checked + label {
  background: #412818 !important;
  border-color: #412818 !important;
}

/* Checked state */
.bc-filter-panel .fe-filter-items input[type="checkbox"]:checked + label,
.bc-filter-panel .flrt-filter-item input[type="checkbox"]:checked + label,
.bc-filter-panel .wpc-filter-item input[type="checkbox"]:checked + label,
.bc-filter-panel .wpc-term-item input[type="checkbox"]:checked + label,
.bc-filter-panel .fe-filter-items label.is-checked,
.bc-filter-panel .flrt-filter-item label.is-checked,
.bc-filter-panel .wpc-filter-item.wpc-term-item-checked label,
.bc-filter-panel .wpc-term-item.wpc-term-item-checked label,
.bc-filter-panel li.wpc-term-item-checked a,
.bc-filter-panel li.wpc-term-item-checked label,
.bc-filter-panel li.wpc-term-item-checked .wpc-term-name,
.bc-filter-panel .wpc-term-item-checked a,
.bc-filter-panel .wpc-term-item-checked label,
.bc-filter-panel .wpc-term-item-checked span {
  background: var(--color-brown-dark, #412818) !important;
  border-color: var(--color-brown-dark, #412818) !important;
  color: #fbe8c6 !important;
}

/* Force cream text on ALL elements inside checked filter items */
.bc-filter-panel li.wpc-term-item-checked a,
.bc-filter-panel li.wpc-term-item-checked a span,
.bc-filter-panel li.wpc-term-item-checked a .wpc-term-name,
.bc-filter-panel li.wpc-term-item-checked .wpc-filter-link,
.bc-filter-panel li.wpc-term-item-checked .wpc-filter-link span,
.bc-filter-panel .wpc-term-item-checked .wpc-term-name,
.bc-filter-panel .wpc-term-item-checked .wpc-filter-count,
li.wpc-term-item.wpc-term-item-checked a,
li.wpc-term-item.wpc-term-item-checked a span,
li.wpc-term-item.wpc-term-item-checked .wpc-term-name,
li.wpc-term-item.wpc-term-item-checked .wpc-filter-count {
  color: #fbe8c6 !important;
}

/* Counter styling */
.bc-filter-panel .fe-count,
.bc-filter-panel .flrt-count,
.bc-filter-panel .wpc-filter-count {
  font-size: 11px !important;
  color: #999 !important;
  margin-left: 5px !important;
}

/* Make ALL text inside checked items cream colored */
.bc-filter-panel li.wpc-term-item-checked,
.bc-filter-panel li.wpc-term-item-checked *,
.bc-filter-panel .wpc-term-item-checked a,
.bc-filter-panel .wpc-term-item-checked a *,
.bc-filter-panel .wpc-term-item-checked label,
.bc-filter-panel .wpc-term-item-checked label *,
li.wpc-term-item.wpc-term-item-checked,
li.wpc-term-item.wpc-term-item-checked *,
li.wpc-term-item.wpc-term-item-checked a,
li.wpc-term-item.wpc-term-item-checked a *,
.bc-filter-panel input[type="checkbox"]:checked + label,
.bc-filter-panel input[type="checkbox"]:checked + label *,
.bc-filter-panel input[type="checkbox"]:checked + label a {
  color: #fbe8c6 !important;
}

.bc-filter-panel input[type="checkbox"]:checked + label .fe-count,
.bc-filter-panel input[type="checkbox"]:checked + label .flrt-count,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-filter-count,
.bc-filter-panel .wpc-term-item-checked .wpc-filter-count,
.bc-filter-panel li.wpc-term-item-checked .wpc-filter-count {
  color: var(--color-cream-light, #fbe8c6) !important;
  opacity: 0.8 !important;
}

/* Price Range Inputs */
.bc-filter-panel input[type="number"],
.bc-filter-panel .fe-numeric-input,
.bc-filter-panel .flrt-range-input {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: var(--color-brown-dark, #412818) !important;
  transition: border-color 0.2s ease !important;
}

.bc-filter-panel input[type="number"]:focus,
.bc-filter-panel .fe-numeric-input:focus,
.bc-filter-panel .flrt-range-input:focus {
  outline: none !important;
  border-color: var(--color-brown-dark, #412818) !important;
}

/* Price Range Container */
.bc-filter-panel .fe-range-wrapper,
.bc-filter-panel .flrt-range-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.bc-filter-panel .fe-range-separator,
.bc-filter-panel .flrt-range-separator {
  color: #999 !important;
  font-size: 14px !important;
}

/* Products Found Count */
.bc-filter-panel .fe-posts-found,
.bc-filter-panel .flrt-posts-found {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
  margin-bottom: 20px !important;
  padding-bottom: 15px !important;
  border-bottom: 1px solid #eee !important;
}

/* Selected Chips */
.bc-filter-panel .fe-chip,
.bc-filter-panel .flrt-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 12px !important;
  background: var(--color-cream-light, #fbe8c6) !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  color: var(--color-brown-dark, #412818) !important;
  margin: 0 5px 5px 0 !important;
}

.bc-filter-panel .fe-chip-remove,
.bc-filter-panel .flrt-chip-remove {
  cursor: pointer !important;
  opacity: 0.7 !important;
}

.bc-filter-panel .fe-chip-remove:hover,
.bc-filter-panel .flrt-chip-remove:hover {
  opacity: 1 !important;
}

/* Mobile Adjustments */
@media (max-width: 480px) {
  .bc-filter-panel {
    max-width: 100% !important;
  }
  
  .bc-filter-toggle {
    padding: 10px 14px !important;
    font-size: 12px !important;
  }
  
  .woocommerce-ordering select {
    padding: 10px 35px 10px 14px !important;
    font-size: 12px !important;
  }
  
  .fe-chip,
  .fe-selected-chip,
  .fe-reset-all,
  a.fe-reset-all {
    padding: 8px 12px !important;
    font-size: 11px !important;
  }
}

/* ================================================
   CRITICAL: Force cream text on selected filters
   ================================================ */
/* Target the exact WPC filter structure when checkbox is checked */
.bc-filter-panel input[type="checkbox"]:checked + label,
.bc-filter-panel input[type="checkbox"]:checked + label a,
.bc-filter-panel input[type="checkbox"]:checked + label a.wpc-filter-link,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-term-count,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-term-count span,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-term-count-value,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-term-count-brackets-open,
.bc-filter-panel input[type="checkbox"]:checked + label .wpc-term-count-brackets-close,
.bc-filter-panel-content input[type="checkbox"]:checked + label,
.bc-filter-panel-content input[type="checkbox"]:checked + label a,
.bc-filter-panel-content input[type="checkbox"]:checked + label span,
.bc-filter-panel-content input[type="checkbox"]:checked + label .wpc-filter-link,
.bc-filter-panel-content input[type="checkbox"]:checked + label .wpc-term-count,
.bc-filter-panel-content input[type="checkbox"]:checked + label .wpc-term-count span {
  color: #fbe8c6 !important;
}


/* ================================================================
   WOOCOMMERCE OVERRIDES
   Merged from woocommerce-overrides.css
   ================================================================ */

/* ========================================
   1. GLOBAL STYLES
   ======================================== */

/* ----------------------------------------
   PREVENT HORIZONTAL SCROLL ON CHECKOUT
   ---------------------------------------- */
html.woocommerce-checkout,
body.woocommerce-checkout {
  overflow-x: hidden !important;
}

/* ----------------------------------------
   SINGLE VARIATION PRODUCTS (OS only)
   Hide swatches when only one option exists
   ---------------------------------------- */
/* Target products with only 1 variation using data attribute */
div[data-total="1"] table.variations,
div[data-total="1"] .variable-items-wrapper,
div[data-total="1"] .woo-variation-items-wrapper,
div[data-total="1"] .reset_variations,
div[data-total="1"] a.reset_variations {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Also target by body class if PHP adds it */
body.single-variation-product .woocommerce div.product form.cart .variations,
body.single-variation-product .woocommerce div.product form.cart table.variations,
body.single-variation-product div.product form.cart .variations,
body.single-variation-product form.cart .variations,
body.single-variation-product .variations,
body.single-variation-product table.variations {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Also hide reset variations link */
body.single-variation-product .reset_variations,
body.single-variation-product a.reset_variations {
  display: none !important;
}

/* Target swatches plugin containers */
body.single-variation-product .woo-variation-swatches,
body.single-variation-product .variable-items-wrapper,
body.single-variation-product .wvs-style-squared,
body.single-variation-product .wvs-style-rounded,
body.single-variation-product .woo-variation-swatches-wrapper,
body.single-variation-product .tawcvs-swatches,
body.single-variation-product .cfvsw-swatches-container,
body.single-variation-product div[data-threshold_min] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure add to cart section still shows */
body.single-variation-product .single_variation_wrap,
div[data-total="1"] ~ .single_variation_wrap {
  display: block !important;
}

body.single-variation-product .woocommerce-variation-add-to-cart,
div[data-total="1"] ~ .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: flex !important;
}

/* Cream gradient background for shop pages (excluding cart/checkout) */
.site-content {
  background: var(--gradient-cream) !important;
}

/* Cart page - override to transparent so body background shows */
body.woocommerce-cart .site-content,
body.woocommerce-cart #page,
body.woocommerce-cart .grid-container,
body.woocommerce-cart .container {
  background: transparent !important;
}

/* Remove conflicting white backgrounds */
.inside-article,
.entry-content,
.woocommerce-tabs,
.wc-tab,
.related.products {
  background: transparent !important;
}

/* ----------------------------------------
   SINGLE PRODUCT - Custom Background Color with Vignette
   ---------------------------------------- */
body.single-product {
  background: #c4824c !important;
  position: relative !important;
}

/* Vignette (single product) — body background-image instead of
   ::before pseudo-element for cross-browser consistency. See the
   archive vignette block below for the full rationale. */
body.single-product {
  background-image: radial-gradient(
    ellipse at center,
    transparent 40%,
    rgba(0, 0, 0, 0.25) 80%,
    rgba(0, 0, 0, 0.45) 100%
  );
  background-attachment: fixed;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

body.single-product .site,
body.single-product .site-content,
body.single-product .content-area,
body.single-product .site-main,
body.single-product #primary,
body.single-product article,
body.single-product .inside-article,
body.single-product .entry-content {
  background: transparent !important;
}

/* Cart page - transparent inner containers */
body.woocommerce-cart .site,
body.woocommerce-cart .site-content,
body.woocommerce-cart .content-area,
body.woocommerce-cart .site-main,
body.woocommerce-cart #primary,
body.woocommerce-cart article,
body.woocommerce-cart .inside-article,
body.woocommerce-cart .entry-content {
  background: transparent !important;
}

/* ----------------------------------------
   SINGLE PRODUCT - Page Styling to Match Shop Archive
   ---------------------------------------- */
/* Breadcrumb color - dark brown */
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
  color: #412818 !important;
}

body.single-product .woocommerce-breadcrumb a:hover {
  color: #5a3a25 !important;
}

/* Product price - metallic gold gradient */
body.single-product .summary .price,
body.single-product .summary .price span {
  background: linear-gradient(135deg, #d4a340 0%, #f5cd84 25%, #ffe6a0 50%, #f5cd84 75%, #c4943a 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-weight: 600 !important;
}

/* Product tagline (below price) */
body.single-product .summary .bc-single-product-tagline {
  color: #412818 !important;
  font-family: var(--font-heading) !important;
  font-size: 32px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  order: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Product short description */
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .summary .woocommerce-product-details__short-description p {
  color: var(--color-cream-light, #fbe8c6) !important;
}

/* Product image with golden border */
body.single-product .woocommerce-product-gallery img,
body.single-product .woocommerce-product-gallery__image img {
  border: 1px solid #d4a96a !important;
  border-radius: 10px !important;
}

/* Variation labels and selects */
body.single-product .variations label {
  color: var(--color-cream-light, #fbe8c6) !important;
}

/* Quantity label */
body.single-product .quantity-label,
body.single-product label[for="quantity"] {
  color: var(--color-cream-light, #fbe8c6) !important;
}

/* Tabs styling */
body.single-product .woocommerce-tabs ul.tabs li a {
  color: #412818 !important;
}

body.single-product .woocommerce-tabs ul.tabs li:hover a {
  color: #fbe8c6 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #fbe8c6 !important;
}

/* Related/Upsell product cards - match shop archive styling */
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
  background: var(--color-cream-light, #faf6f0) !important;
  border-radius: 16px !important;
  padding: 15px 15px 20px 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

body.single-product .related.products ul.products li.product img,
body.single-product .upsells.products ul.products li.product img {
  border: 1px solid #d4a96a !important;
  border-radius: 10px !important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-heading, 'Playfair Display', serif) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--color-brown-dark, #412818) !important;
}

body.single-product .related.products ul.products li.product .price,
body.single-product .upsells.products ul.products li.product .price {
  color: #b87f2a !important;
}

/* ----------------------------------------
   SHOP ARCHIVE - Custom Background Color with Vignette
   ---------------------------------------- */
body.post-type-archive-product,
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-cart {
  background: #c4824c !important;
  position: relative !important;
}

/* Vignette — applied directly to the body's background-image so the
   gradient layers ON TOP of GP's body background color without needing
   a position:fixed pseudo-element overlay. Safari rendered the old
   ::before approach inconsistently (Francisco kept seeing it at edges
   on iOS); a background-image avoids that compositing layer entirely.
   background-attachment: fixed preserves the original "stays in place
   while content scrolls" behavior. */
body.post-type-archive-product,
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-cart {
  background-image: radial-gradient(
    ellipse at center,
    transparent 40%,
    rgba(0, 0, 0, 0.25) 80%,
    rgba(0, 0, 0, 0.45) 100%
  );
  background-attachment: fixed;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* ----------------------------------------
   SHOP ARCHIVE - Page Title & Tagline
   ---------------------------------------- */
/* Shop page title - ensure visible on dark background and centered */
.woocommerce-products-header__title.page-title,
body.post-type-archive-product .entry-title,
body.woocommerce-shop .entry-title {
  color: var(--color-cream-light, #fbe8c6) !important;
  text-align: center !important;
}

/* Center the entire products header */
.woocommerce-products-header {
  text-align: center !important;
}

/* Shop Archive Tagline/Subheading */
.bc-shop-tagline {
  font-family: var(--font-body, 'Outfit', sans-serif);
  font-size: 18pt;
  font-weight: var(--font-weight-medium, 500);
  color: #f5cd84;
  margin: -10px 0 25px 0;
  letter-spacing: 0.02em;
  text-align: center !important;
}

/* Prevent duplicate taglines */
.bc-shop-tagline + .bc-shop-tagline {
  display: none !important;
}

/* Shop Archive - Breadcrumb color */
body.post-type-archive-product .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb a,
body.woocommerce-shop .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb a {
  color: #fbe8c6 !important;
}

body.post-type-archive-product .woocommerce-breadcrumb a:hover,
body.woocommerce-shop .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover {
  color: #f5cd84 !important;
}

/* Hide breadcrumb on the MAIN Shop archive only — category (tax-product_cat)
   and tag (tax-product_tag) archives keep their breadcrumb. */
body.post-type-archive-product .bc-breadcrumb-row,
body.woocommerce-shop .bc-breadcrumb-row {
  display: none !important;
}

/* Shop Archive - Results count color */
body.post-type-archive-product .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  color: #fbe8c6 !important;
}

/* Shop Archive - Cart icon color (match title) */
body.post-type-archive-product .bc-cart-icon-inline,
body.woocommerce-shop .bc-cart-icon-inline,
body.tax-product_cat .bc-cart-icon-inline,
body.tax-product_tag .bc-cart-icon-inline {
  color: var(--color-cream-light, #fbe8c6) !important;
}

body.post-type-archive-product .bc-cart-icon-inline:hover,
body.woocommerce-shop .bc-cart-icon-inline:hover,
body.tax-product_cat .bc-cart-icon-inline:hover,
body.tax-product_tag .bc-cart-icon-inline:hover {
  color: #f5cd84 !important;
}

/* ----------------------------------------
   SHOP ARCHIVE - Product Card Styling
   ---------------------------------------- */
/* Product grid - 3 columns */
body.post-type-archive-product ul.products,
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
  justify-content: start !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

/* Reset any ::before that might take grid space */
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after {
  display: none !important;
  content: none !important;
}

/* Product card container — flex column so cards in a row match height
   and the price always pins to the bottom regardless of how many
   lines the title or tagline take up. */
body.post-type-archive-product ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  background: var(--color-cream-light, #faf6f0) !important;
  border-radius: 16px !important;
  padding: 15px 15px 20px 15px !important;
  position: relative !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Push the price + add-to-cart pill row to the bottom of the card so
   short-description cards align their price with long-description cards
   in the same row. .price is the last "content" element WC renders. */
body.post-type-archive-product ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
  margin-top: auto !important;
}

/* Ensure first product isn't hidden or offset */
body.post-type-archive-product ul.products li.product:first-child,
body.woocommerce-shop ul.products li.product:first-child,
body.tax-product_cat ul.products li.product:first-child,
body.tax-product_tag ul.products li.product:first-child {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Image wrapper with golden border */
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
}

body.post-type-archive-product ul.products li.product a img,
body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link img,
body.woocommerce-shop ul.products li.product a img,
body.woocommerce-shop ul.products li.product .woocommerce-LoopProduct-link img,
body.tax-product_cat ul.products li.product a img,
body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link img,
body.tax-product_tag ul.products li.product a img,
body.tax-product_tag ul.products li.product .woocommerce-LoopProduct-link img {
  border: 1px solid #d4a96a !important;
  border-radius: 10px !important;
  padding: 0 !important;
  background: var(--color-cream-light, #faf6f0) !important;
}

/* Product title */
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product h2,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product h2,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product h2,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product h2 {
  font-family: var(--font-heading, 'Playfair Display', serif) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--color-brown-dark, #412818) !important;
  margin-top: 15px !important;
  line-height: 1.3 !important;
}

/* Product tagline */
body.post-type-archive-product ul.products li.product .bc-product-tagline,
body.woocommerce-shop ul.products li.product .bc-product-tagline,
body.tax-product_cat ul.products li.product .bc-product-tagline,
body.tax-product_tag ul.products li.product .bc-product-tagline {
  font-family: var(--font-body, 'Outfit', sans-serif) !important;
  font-style: normal !important;
  color: var(--color-brown-dark, #412818) !important;
  opacity: 0.85 !important;
}

/* Product price - golden color */
body.post-type-archive-product ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price span,
body.woocommerce-shop ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price span,
body.tax-product_cat ul.products li.product .price,
body.tax-product_cat ul.products li.product .price span,
body.tax-product_tag ul.products li.product .price,
body.tax-product_tag ul.products li.product .price span {
  color: #b87f2a !important;
  font-weight: 500 !important;
}

/* Add to cart button as small cart icon */
body.post-type-archive-product ul.products li.product .button,
body.post-type-archive-product ul.products li.product .add_to_cart_button,
body.woocommerce-shop ul.products li.product .button,
body.woocommerce-shop ul.products li.product .add_to_cart_button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_cat ul.products li.product .add_to_cart_button,
body.tax-product_tag ul.products li.product .button,
body.tax-product_tag ul.products li.product .add_to_cart_button {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  background: radial-gradient(circle, #f5e6c8 0%, #f2cf88 100%) !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
}

body.post-type-archive-product ul.products li.product .button::before,
body.post-type-archive-product ul.products li.product .add_to_cart_button::before,
body.woocommerce-shop ul.products li.product .button::before,
body.woocommerce-shop ul.products li.product .add_to_cart_button::before,
body.tax-product_cat ul.products li.product .button::before,
body.tax-product_cat ul.products li.product .add_to_cart_button::before,
body.tax-product_tag ul.products li.product .button::before,
body.tax-product_tag ul.products li.product .add_to_cart_button::before {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23412818' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

body.post-type-archive-product ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .add_to_cart_button:hover,
body.woocommerce-shop ul.products li.product .button:hover,
body.woocommerce-shop ul.products li.product .add_to_cart_button:hover,
body.tax-product_cat ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .add_to_cart_button:hover,
body.tax-product_tag ul.products li.product .button:hover,
body.tax-product_tag ul.products li.product .add_to_cart_button:hover {
  background: radial-gradient(circle, #f5e6c8 0%, #e8c070 100%) !important;
  transform: scale(1.05) !important;
}

body.post-type-archive-product .site,
body.post-type-archive-product .site-content,
body.post-type-archive-product .content-area,
body.post-type-archive-product .site-main,
body.post-type-archive-product #primary,
body.post-type-archive-product article,
body.post-type-archive-product .inside-article,
body.post-type-archive-product .entry-content,
body.woocommerce-shop .site,
body.woocommerce-shop .site-content,
body.woocommerce-shop .content-area,
body.woocommerce-shop .site-main,
body.woocommerce-shop #primary,
body.woocommerce-shop article,
body.woocommerce-shop .inside-article,
body.woocommerce-shop .entry-content,
body.tax-product_cat .site,
body.tax-product_cat .site-content,
body.tax-product_cat .content-area,
body.tax-product_cat .site-main,
body.tax-product_cat #primary,
body.tax-product_cat article,
body.tax-product_cat .inside-article,
body.tax-product_cat .entry-content,
body.tax-product_tag .site,
body.tax-product_tag .site-content,
body.tax-product_tag .content-area,
body.tax-product_tag .site-main,
body.tax-product_tag #primary,
body.tax-product_tag article,
body.tax-product_tag .inside-article,
body.tax-product_tag .entry-content {
  background: transparent !important;
}

/* ----------------------------------------
   CART PAGE - Full Cream Background for Iframe
   ---------------------------------------- */
/* Cart page already has caramel background from earlier rule - ensure containers are transparent */
body.woocommerce-cart .site,
body.woocommerce-cart .site-content,
body.woocommerce-cart .content-area,
body.woocommerce-cart .site-main,
body.woocommerce-cart #primary,
body.woocommerce-cart article,
body.woocommerce-cart .inside-article,
body.woocommerce-cart .entry-content {
  background: transparent !important;
}

/* ----------------------------------------
   CHECKOUT PAGE - Caramel Background with Vignette (matches Cart)
   ---------------------------------------- */
/* Checkout — peach base color + radial vignette gradient layered on
   top via background-image (instead of ::before pseudo-element) for
   Safari rendering consistency. */
body.woocommerce-checkout {
  background-color: #c4824c !important;
  background-image: radial-gradient(
    ellipse at center,
    transparent 40%,
    rgba(0, 0, 0, 0.25) 80%,
    rgba(0, 0, 0, 0.45) 100%
  ) !important;
  background-attachment: fixed !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  position: relative !important;
}

body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #primary,
body.woocommerce-checkout article,
body.woocommerce-checkout .inside-article,
body.woocommerce-checkout .entry-content {
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ----------------------------------------
   SHOP PAGE - Match Archive Layout Width
   ---------------------------------------- */
body.woocommerce-shop .site-content,
body.woocommerce-shop .content-area,
body.woocommerce-shop .site-main,
body.woocommerce-shop .entry-content,
body.tax-product_cat .site-content,
body.tax-product_cat .content-area,
body.tax-product_cat .site-main,
body.tax-product_cat .entry-content,
body.tax-product_tag .site-content,
body.tax-product_tag .content-area,
body.tax-product_tag .site-main,
body.tax-product_tag .entry-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}

/* Remove any full-width overrides on shop page */
body.woocommerce-shop .inside-article,
body.tax-product_cat .inside-article,
body.tax-product_tag .inside-article {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ----------------------------------------
   CART ICON POSITIONING CONTAINER
   ---------------------------------------- */
/* Make content containers relative for absolute cart icon positioning */
.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce .content-area,
.woocommerce-page .content-area,
body.single-product .site-content,
body.post-type-archive-product .site-content,
body.woocommerce-shop .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
  position: relative !important;
}

/* ----------------------------------------
   GLOBAL BUTTON STYLES
   ---------------------------------------- */
.woocommerce button.button.alt,
.woocommerce button.button.single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
  font-family: var(--font-body) !important;
  font-weight: var(--font-weight-bold) !important;
  font-size: var(--font-size-md) !important;
  text-transform: uppercase !important;
  color: var(--color-cream-light) !important;
  background: var(--color-brown-dark) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 32px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  transition: opacity var(--transition-base) !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.woocommerce button.button.alt:hover,
.woocommerce button.button.single_add_to_cart_button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
  opacity: 0.9 !important;
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  text-decoration: none !important;
}

.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ========================================
   2. SHOP ARCHIVE PAGE
   ======================================== */

/* ----------------------------------------
   PRODUCT GRID
   ---------------------------------------- */

/* Hide "Select options" buttons on archive */
.products .product .button {
  display: none !important;
}

/* Product images - no white box, with hover zoom */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
  display: block;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 10px;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover img {
  transform: scale(1.05) !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--color-brown-dark);
  line-height: 1.3;
  margin: 0.75rem 0 0.5rem 0;
  min-height: 2.6em;
  transition: color var(--transition-fast);
}

/* Product price */
.woocommerce ul.products li.product .price {
  font-family: var(--font-body);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--color-brown-dark);
  margin: 0;
  transition: color var(--transition-fast);
}

/* Hover state for title and price */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover .price {
  color: var(--color-brown-medium) !important;
}

/* ----------------------------------------
   SORTING DROPDOWN & RESULTS COUNT LAYOUT
   ---------------------------------------- */
/* Normalize layout across shop and category pages */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin-bottom: 15px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-brown-dark) !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin-bottom: 30px !important;
}

.woocommerce-ordering select.orderby {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-dark);
  background: transparent;
  border: var(--stroke-thin) solid var(--color-brown-dark);
  border-radius: 10px;
  padding: 0.5rem 2.5rem 0.5rem 1rem;
  min-width: 200px;
  cursor: pointer;
  transition: all var(--transition-fast);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23412818' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px;
}

.woocommerce-ordering select.orderby:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--color-brown-medium);
  background-color: rgba(255, 255, 255, 0.5);
}

/* ----------------------------------------
   PAGINATION
   ---------------------------------------- */
.woocommerce nav.woocommerce-pagination {
  text-align: center;
  margin: 2rem 0;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 0;
  padding: 0;
  border: none;
  margin: 0;
  list-style: none;
  overflow: hidden;
  border-radius: 10px;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  padding: 0;
  margin: 0;
  float: none;
  display: inline-block;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 0.75rem;
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-dark);
  background: transparent;
  border: var(--stroke-thin) solid var(--color-brown-dark);
  border-radius: 0;
  text-decoration: none;
  transition: all var(--transition-fast);
  line-height: 1;
  margin-left: -3px;
}

.woocommerce nav.woocommerce-pagination ul li:first-child a,
.woocommerce nav.woocommerce-pagination ul li:first-child span {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  margin-left: 0;
}

.woocommerce nav.woocommerce-pagination ul li:last-child a,
.woocommerce nav.woocommerce-pagination ul li:last-child span {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--color-brown-dark);
  color: #ffffff;
  position: relative;
  z-index: 1;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-brown-dark);
  color: #ffffff;
  border-color: var(--color-brown-dark);
  position: relative;
  z-index: 1;
}

/* ----------------------------------------
   SHOP & CATEGORY PAGE TITLE
   ---------------------------------------- */
.woocommerce-page .entry-header .entry-title,
.woocommerce-page .woocommerce-products-header__title,
.woocommerce-page .page-title,
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title {
  font-size: 38px !important;
}

/* Product titles in shop grid - 18px */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
}

/* Product prices in shop grid - 18px */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-size: 18px !important;
}

/* ========================================
   3. SINGLE PRODUCT PAGE
   ======================================== */

/* ----------------------------------------
   PRODUCT TITLE
   ---------------------------------------- */
.woocommerce div.product .product_title {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: var(--font-weight-medium) !important;
  color: #f5cd84 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ----------------------------------------
   PRODUCT IMAGES
   ---------------------------------------- */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  overflow: hidden;
  border-radius: 10px;
}

/* Remove white line from Flexslider gallery wrapper */
.woocommerce div.product div.images .flex-viewport {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* Prevent adjacent slides from bleeding through (sub-pixel gap fix) */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  transform: translateZ(0) !important;
}

.woocommerce div.product div.images .flex-viewport .flex-active-slide {
  z-index: 2 !important;
  position: relative !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block !important;
  line-height: 0 !important;
  border: none !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery {
  border: none !important;
  padding: 0 !important;
  outline: none !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:hover img {
  transform: scale(1.2);
}

/* Thumbnail gallery */
.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 10px !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  list-style: none;
  margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 10px;
  opacity: 0.7;
  transition: opacity var(--transition-fast);
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1;
}

/* ----------------------------------------
   PRODUCT INFO
   ---------------------------------------- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-body) !important;
  font-weight: var(--font-weight-bold) !important;
  font-size: var(--font-size-lg) !important;
  background: linear-gradient(135deg, #d4a340 0%, #f5cd84 25%, #ffe6a0 50%, #f5cd84 75%, #c4943a 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
  display: none !important;
}

/* ----------------------------------------
   VARIATION CONTROLS
   ---------------------------------------- */
.woocommerce div.product form.cart .variations th.label {
  padding-left: 0 !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):focus {
  box-shadow: 0 0 0 3px var(--color-text-muted) !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
  box-shadow: 0 0 0 2px var(--color-brown-dark) !important;
}

/* ----------------------------------------
   ADD TO CART FORM
   ---------------------------------------- */
.woocommerce div.product form.cart .quantity .qty {
  width: 4.5em !important;
  padding: 12px 15px !important;
  border-radius: 10px !important;
  text-align: center !important;
}

.woocommerce .quantity .qty:focus {
  border-color: var(--color-brown-dark) !important;
}

.woocommerce div.product form.cart div.quantity {
  margin-right: 12px !important;
}

/* ----------------------------------------
   PRODUCT TABS
   ---------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  overflow: hidden;
  position: relative;
  display: inline-flex;
  gap: 0;
  border-radius: 10px;
  border: none;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: var(--stroke-thin) solid var(--color-brown-dark);
  background-color: transparent;
  color: var(--color-brown-dark);
  display: inline-block;
  position: relative;
  z-index: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  margin-left: -3px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  margin-left: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: #412818;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
  background: var(--color-brown-dark);
  z-index: 1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #fbe8c6;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--color-brown-dark);
  color: #ffffff;
  z-index: 2;
  border-color: var(--color-brown-dark);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fbe8c6;
}

.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0 0 2rem;
  padding: 1.5rem 0 0;
  color: #fbe8c6;
}

.woocommerce div.product .woocommerce-tabs .panel p {
  color: #fbe8c6;
}

/* Description heading */
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--font-body) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #fbe8c6 !important;
  text-transform: uppercase !important;
}

/* ----------------------------------------
   SKU, CATEGORY & TAGS - Hidden
   ---------------------------------------- */
.woocommerce div.product .product_meta {
  display: none !important;
}

.woocommerce div.product .product_meta > span {
  display: block !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #fbe8c6 !important;
  margin-bottom: 5px !important;
}

.woocommerce div.product .product_meta > span:last-child {
  margin-bottom: 0 !important;
}

.woocommerce div.product .product_meta a {
  color: #f5cd84 !important;
  text-decoration: underline !important;
}

/* ----------------------------------------
   PRODUCT SUMMARY LAYOUT (Flexbox for reordering)
   ---------------------------------------- */
.woocommerce div.product .summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
}

/* Vendor sits tight with title (small gap) */
.woocommerce div.product .summary .bc-product-vendor {
  margin-bottom: 2px !important;
}

.woocommerce div.product .summary .product_title {
  order: 1 !important;
}

.woocommerce div.product .summary .price {
  order: 4 !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
  order: 3 !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product .summary .product_meta {
  order: 8 !important;
}

.woocommerce div.product .summary form.cart {
  order: 5 !important;
}

.woocommerce div.product .summary .bc-pdp-main-content {
  order: 6 !important;
  margin-top: 10px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(251, 232, 198, 0.2) !important;
}

.bc-pdp-main-content ul {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  color: #fbe8c6;
  margin: 0 0 15px 0;
  padding: 0 0 0 20px;
  list-style: disc;
}

.bc-pdp-main-content ul li {
  margin-bottom: 5px;
  line-height: 1.5;
}

.bc-pdp-main-content ul li:last-child {
  margin-bottom: 0;
}

.bc-pdp-main-content .bc-pdp-section-divider {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  color: #f5cd84;
  text-align: center;
  letter-spacing: 0.08em;
  margin: 20px 0 10px;
}

.bc-pdp-main-content .bc-pdp-section-text {
  font-family: var(--font-body);
  font-size: 16px;
  color: #fbe8c6;
  line-height: 1.6;
  margin: 0;
}

/* ----------------------------------------
   RELATED PRODUCTS
   ---------------------------------------- */
.woocommerce div.product .related.products > h2 {
  font-family: var(--font-body) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #fbe8c6 !important;
  text-transform: uppercase !important;
}

/* ----------------------------------------
   THUMBNAIL GALLERY - 4 across
   ---------------------------------------- */
.woocommerce div.product div.images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  margin-top: 15px !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  list-style: none !important;
  margin: 0 !important;
  width: 100% !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 10px !important;
  opacity: 0.7 !important;
  transition: opacity var(--transition-fast) !important;
  cursor: pointer !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1 !important;
}

/* ========================================
   4. CART PAGE
   ======================================== */

/* ----------------------------------------
   PAGE TITLE
   ---------------------------------------- */
.woocommerce-cart .entry-header .entry-title {
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--color-brown-dark) !important;
  margin-bottom: 40px !important;
  font-size: 36px !important;
}

/* ----------------------------------------
   MAIN CART LAYOUT - Two Columns
   ---------------------------------------- */
.woocommerce-cart .entry-content .woocommerce {
  overflow: hidden !important;
}

/* Left Column - Cart Table Form */
.woocommerce-cart .woocommerce-cart-form {
  float: left !important;
  width: calc(100% - 410px) !important;
  padding-right: 30px !important;
  border-right: 1px solid #fbe8c6 !important;
  box-sizing: border-box !important;
}

/* Right Column - Cart Totals */
.woocommerce-cart .cart-collaterals {
  float: right !important;
  width: 380px !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-left: none !important;
}

.woocommerce-cart .cart_totals {
  float: right !important;
  width: 380px !important;
  background: #faf6f0 !important;
  border-radius: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
  border-left: none !important;
}

/* Remove any left border on cart totals wrapper */
.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart_totals::before {
  display: none !important;
}

/* ----------------------------------------
   HIDDEN ELEMENTS
   ---------------------------------------- */
.woocommerce-cart .woocommerce-cart-form .coupon,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form .actions,
.woocommerce-cart .wc-proceed-to-checkout > div:not(.cart-totals-coupon),
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-payment-request-wrapper,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-payment-request-button,
.woocommerce-cart .wc-proceed-to-checkout iframe,
.woocommerce-cart .bc-qty-badge,
.bc-qty-badge {
  display: none !important;
}

/* ----------------------------------------
   CART TABLE
   ---------------------------------------- */
.woocommerce-cart .woocommerce-cart-form table.cart {
  border: none !important;
  border-collapse: collapse !important;
  background: transparent !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Table Header */
.woocommerce-cart .woocommerce-cart-form table.cart thead th,
.woocommerce-cart table.shop_table thead th {
  background: transparent !important;
  border: none !important;
  padding: 10px 15px 20px 15px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: #fbe8c6 !important;
  text-align: left !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart thead th.product-remove,
.woocommerce-cart .woocommerce-cart-form table.cart thead th.product-thumbnail,
.woocommerce-cart table.shop_table thead th.product-remove,
.woocommerce-cart table.shop_table thead th.product-thumbnail {
  visibility: hidden !important;
  width: 50px !important;
  padding: 10px 5px !important;
}

/* Table Body */
.woocommerce-cart .woocommerce-cart-form table.cart tbody tr.cart_item,
.woocommerce-cart table.shop_table tbody tr.cart_item {
  border-bottom: 1px solid rgba(251, 232, 198, 0.3) !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart tbody tr.cart_item:last-of-type,
.woocommerce-cart table.shop_table tbody tr.cart_item:last-of-type {
  border-bottom: none !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart tbody td,
.woocommerce-cart table.shop_table tbody td {
  border: none !important;
  padding: 20px 15px !important;
  vertical-align: middle !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #fbe8c6 !important;
}

/* Remove Button */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove {
  width: 50px !important;
  padding: 20px 5px 20px 0 !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  background: var(--color-brown-dark) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove:hover {
  background: var(--color-brown-medium) !important;
  color: #ffffff !important;
}

/* Thumbnail */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail {
  width: 80px !important;
  padding: 15px 10px !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img,
.woocommerce-cart table.shop_table td.product-thumbnail img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #d4a96a !important;
  background: #ffffff !important;
}

/* Product Name */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name,
.woocommerce-cart table.shop_table td.product-name {
  color: #fbe8c6 !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-name a,
.woocommerce-cart table.shop_table td.product-name a {
  color: #fbe8c6 !important;
  text-decoration: none !important;
  font-weight: var(--font-weight-medium) !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-name a:hover,
.woocommerce-cart table.shop_table td.product-name a:hover {
  color: #f5cd84 !important;
}

/* Variation text in cart */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name .variation,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name dl.variation,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name dl.variation dt,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name dl.variation dd,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name dl.variation dd p,
.woocommerce-cart table.shop_table td.product-name .variation,
.woocommerce-cart table.shop_table td.product-name dl.variation,
.woocommerce-cart table.shop_table td.product-name dl.variation dt,
.woocommerce-cart table.shop_table td.product-name dl.variation dd {
  color: #fbe8c6 !important;
}

/* Product Price & Subtotal - golden */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-price,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-subtotal,
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-price .woocommerce-Price-amount,
.woocommerce-cart table.shop_table td.product-subtotal .woocommerce-Price-amount {
  color: #f5cd84 !important;
}

/* Quantity Input */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-quantity input.qty {
  width: 60px !important;
  height: 40px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--color-text-muted) !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-brown-dark) !important;
  background: #ffffff !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-quantity input.qty:focus {
  border-color: var(--color-brown-dark) !important;
  outline: none !important;
}

/* ----------------------------------------
   CART TOTALS
   ---------------------------------------- */
.woocommerce-cart .cart_totals > h2 {
  background: #faf6f0 !important;
  border-radius: 20px 20px 0 0 !important;
  padding: 30px 30px 15px 30px !important;
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #412818 !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  background: #faf6f0 !important;
  border: none !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}

.woocommerce-cart .cart_totals table tr {
  background: #faf6f0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  background: #faf6f0 !important;
  border: none !important;
  padding: 12px 30px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #412818 !important;
  vertical-align: top !important;
}

.woocommerce-cart .cart_totals table th {
  font-weight: var(--font-weight-medium) !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
}

.woocommerce-cart .cart_totals table ul#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

.woocommerce-cart .cart_totals table ul#shipping_method li {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals table ul#shipping_method label {
  font-size: var(--font-size-xxs) !important;
  color: #412818 !important;
}

.woocommerce-cart .cart_totals table .woocommerce-shipping-destination {
  font-size: var(--font-size-xxs) !important;
  color: #5a3d2b !important;
  margin-top: 8px !important;
}

.woocommerce-cart .cart_totals table .woocommerce-shipping-destination strong {
  color: #412818 !important;
}

.woocommerce-cart .cart_totals table td a {
  color: #412818 !important;
  font-size: var(--font-size-xxs) !important;
}

.woocommerce-cart .cart_totals table td a:hover {
  color: #b87f2a !important;
}

.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
  font-weight: var(--font-weight-bold) !important;
  padding-top: 15px !important;
  color: #412818 !important;
}

/* Price amounts in cart totals */
.woocommerce-cart .cart_totals .woocommerce-Price-amount {
  color: #b87f2a !important;
}

/* ----------------------------------------
   CART COUPON
   ---------------------------------------- */
.cart-totals-coupon {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  padding: 15px 30px !important;
  margin: 0 !important;
  background: #faf6f0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Coupon input - fill available space */
.cart-totals-coupon input[type="text"],
.cart-totals-coupon input#cart_totals_coupon_code {
  flex: 1 1 0% !important;
  min-width: 215px !important;
  width: 0 !important;
  margin-left: -30px !important;
  max-width: none !important;
  padding: 10px 12px !important;
  border: 1px solid #d4a96a !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-xxs) !important;
  color: #412818 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.cart-totals-coupon input[type="text"]::placeholder {
  color: var(--color-text-muted) !important;
}

.cart-totals-coupon input[type="text"]:focus {
  border-color: var(--color-brown-dark) !important;
  outline: none !important;
}

.cart-totals-coupon button,
.woocommerce-cart .cart-totals-coupon button,
.woocommerce-cart .wc-proceed-to-checkout .cart-totals-coupon button {
  flex: 0 0 auto !important;
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.cart-totals-coupon button:hover {
  opacity: 0.9 !important;
}

/* ----------------------------------------
   PROCEED TO CHECKOUT
   ---------------------------------------- */
.woocommerce-cart .wc-proceed-to-checkout {
  background: #faf6f0 !important;
  border-radius: 0 0 20px 20px !important;
  padding: 10px 30px 30px 30px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  line-height: 1.4 !important;
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  opacity: 0.9 !important;
  color: var(--color-cream-light) !important;
}

/* ----------------------------------------
   CART RESPONSIVE
   ---------------------------------------- */
@media (max-width: 900px) {
  .woocommerce-cart .woocommerce-cart-form {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
    border-right: none !important;
    margin-bottom: 30px !important;
  }
  
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  .woocommerce-cart .entry-header .entry-title {
    padding-bottom: 15px !important;
    margin-bottom: 25px !important;
    font-size: 28px !important;
  }
  
  .woocommerce-cart .cart_totals > h2 {
    padding: 20px 20px 10px 20px !important;
  }
  
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout {
    padding: 10px 20px 20px 20px !important;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    font-size: 13px !important;
    padding: 14px 15px !important;
  }
  
  .cart-totals-coupon {
    padding: 15px 20px !important;
  }
  
  .woocommerce-cart .woocommerce-cart-form table.cart thead {
    display: none !important;
  }
  
  .woocommerce-cart .woocommerce-cart-form table.cart tbody td {
    padding: 15px 8px !important;
  }
  
  .woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-cart .woocommerce-cart-form table.cart td.product-price {
    display: none !important;
  }
  
  .cart-totals-coupon {
    flex-direction: column !important;
  }
  
  .cart-totals-coupon button {
    width: 100% !important;
    font-size: 13px !important;
    padding: 14px 15px !important;
  }
}

/* ========================================
   5. CHECKOUT PAGE
   ======================================== */

/* ----------------------------------------
   RETURN TO CART LINK
   ---------------------------------------- */
.woocommerce-checkout .return-to-cart-link {
  margin-bottom: 20px !important;
}

.woocommerce-checkout .return-to-cart-link a {
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #fbe8c6 !important;
  text-decoration: none !important;
}

.woocommerce-checkout .return-to-cart-link a:hover {
  color: #f5cd84 !important;
}

/* ----------------------------------------
   CHECKOUT TITLE
   ---------------------------------------- */
.woocommerce-checkout .checkout-title {
  font-family: var(--font-heading) !important;
  font-size: 36px !important;
  font-weight: var(--font-weight-bold) !important;
  color: #fbe8c6 !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid #fbe8c6 !important;
}

/* ----------------------------------------
   EXPRESS CHECKOUT
   ---------------------------------------- */
.woocommerce-checkout .express-checkout-section {
  margin-bottom: 40px !important;
}

.woocommerce-checkout .express-checkout-buttons {
  display: block !important;
  margin-bottom: 30px !important;
}

.woocommerce-checkout .express-checkout-buttons > div,
.woocommerce-checkout .express-checkout-buttons .wc-stripe-payment-request-wrapper,
.woocommerce-checkout .express-checkout-buttons #wc-stripe-payment-request-wrapper {
  display: flex !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .express-checkout-buttons .wc-stripe-payment-request-wrapper > *,
.woocommerce-checkout .express-checkout-buttons #wc-stripe-payment-request-wrapper > * {
  flex: 1 1 0 !important;
  height: 44px !important;
  border-radius: 8px !important;
  min-width: 0 !important;
  max-width: 180px !important;
}

/* Hide "— OR —" text */
.woocommerce-checkout .wc-stripe-payment-request-button-separator,
.woocommerce-checkout .express-checkout-section .wc-stripe-payment-request-button-separator,
.woocommerce-checkout .express-checkout-buttons .wc-stripe-payment-request-button-separator,
.woocommerce-checkout #wc-stripe-payment-request-button-separator,
.woocommerce-checkout .express-checkout-buttons > p,
.woocommerce-checkout .express-checkout-buttons > span,
.woocommerce-checkout .express-checkout-section span:not(.woocommerce-Price-amount),
.woocommerce-checkout .express-checkout-buttons + p,
.woocommerce-checkout .express-checkout-buttons ~ p {
  display: none !important;
}

/* "Or continue below" Divider */
.woocommerce-checkout .express-checkout-divider {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  margin: 30px 0 !important;
}

.woocommerce-checkout .express-checkout-divider::before,
.woocommerce-checkout .express-checkout-divider::after {
  content: "" !important;
  flex: 1 !important;
  border-bottom: 1px solid rgba(251, 232, 198, 0.5) !important;
}

.woocommerce-checkout .express-checkout-divider span {
  padding: 0 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #fbe8c6 !important;
  white-space: nowrap !important;
}

/* Hide express buttons elsewhere */
.woocommerce-checkout #customer_details .wc-stripe-payment-request-wrapper,
.woocommerce-checkout .checkout-payment-section .wc-stripe-payment-request-wrapper {
  display: none !important;
}

/* ----------------------------------------
   HIDE DEFAULT COUPON NOTICE
   ---------------------------------------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  display: none !important;
}

/* ----------------------------------------
   CHECKOUT COLUMNS LAYOUT
   ---------------------------------------- */
.woocommerce-checkout .checkout-columns {
  display: flex !important;
  gap: 30px !important;
}

/* Left Column */
.woocommerce-checkout .checkout-left-column {
  flex: 1 !important;
  min-width: 0 !important;
  padding-right: 30px !important;
  border-right: 1px solid #fbe8c6 !important;
}

/* Right Column */
.woocommerce-checkout .checkout-right-column {
  width: 380px !important;
  flex-shrink: 0 !important;
}

/* Order Summary Card */
.woocommerce-checkout .order-summary-card {
  background: #faf6f0 !important;
  border-radius: 20px !important;
  padding: 30px !important;
}

/* ----------------------------------------
   CHECKOUT SUBHEADINGS
   ---------------------------------------- */
/* Left column headings - cream on caramel background */
.woocommerce-checkout .express-checkout-section > h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fbe8c6 !important;
  margin: 0 0 15px 0 !important;
}

/* Order summary + payment headings - dark brown on cream card */
.woocommerce-checkout .order-summary-card > h3 {
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #412818 !important;
  margin: 0 0 20px 0 !important;
}

.woocommerce-checkout .express-checkout-section > h3 {
  margin-bottom: 20px !important;
}

/* Ship to different address */
.woocommerce-checkout #ship-to-different-address {
  margin: 0 0 20px 0 !important;
}

.woocommerce-checkout #ship-to-different-address label {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fbe8c6 !important;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  margin-right: 12px !important;
  accent-color: #fbe8c6 !important;
  cursor: pointer !important;
}

/* ----------------------------------------
   CUSTOMER DETAILS
   ---------------------------------------- */
.woocommerce-checkout #customer_details {
  display: flex !important;
  flex-direction: column !important;
}

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

.woocommerce-checkout #customer_details .col-2 {
  margin-top: 30px !important;
}

/* ----------------------------------------
   FORM FIELDS
   ---------------------------------------- */
.woocommerce-checkout .form-row {
  margin-bottom: 15px !important;
}

.woocommerce-checkout .form-row label {
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: #fbe8c6 !important;
  margin-bottom: 5px !important;
  display: block !important;
}

.woocommerce-checkout .form-row label .required {
  color: #f5cd84 !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #d4a96a !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #412818 !important;
  background: #faf6f0 !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: #412818 !important;
  outline: none !important;
}

/* Select2 */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.5 !important;
  padding-left: 14px !important;
  color: #412818 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 10px !important;
}

/* Two-column rows */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 48% !important;
  display: inline-block !important;
  vertical-align: top !important;
}

.woocommerce-checkout .form-row-first {
  margin-right: 4% !important;
}

/* Checkbox */
.woocommerce-checkout .form-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-right: 8px !important;
  accent-color: var(--color-brown-dark) !important;
}

/* ----------------------------------------
   ORDER NOTES
   ---------------------------------------- */
.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 30px !important;
}

.woocommerce-checkout #order_comments {
  min-height: 100px !important;
  resize: vertical !important;
}

/* ----------------------------------------
   PAYMENT SECTION
   ---------------------------------------- */
/* Payment section inside #order_review — styled to match order-summary-card */
.woocommerce-checkout .checkout-payment-section {
  background: #faf6f0 !important;
  border-radius: 20px !important;
  padding: 30px !important;
  margin-top: 20px !important;
}

.woocommerce-checkout .checkout-payment-section > h3 {
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #412818 !important;
  margin: 0 0 20px 0 !important;
}

.woocommerce-checkout #payment {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0 0 10px 0 !important;
  padding: 15px !important;
  background: #faf6f0 !important;
  border: 1px solid #d4a96a !important;
  border-radius: 8px !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: #412818 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  margin-right: 10px !important;
  accent-color: var(--color-brown-dark) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: transparent !important;
  padding: 15px 0 0 28px !important;
  margin: 0 !important;
  color: #412818 !important;
}

.woocommerce-checkout #payment div.payment_box p,
.woocommerce-checkout #payment div.payment_box label,
.woocommerce-checkout #payment div.payment_box span,
.woocommerce-checkout #payment .wc-stripe-checkout-container label,
.woocommerce-checkout #payment .stripe-source-form label,
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label,
.woocommerce-checkout #payment .wc-saved-payment-methods label,
.woocommerce-checkout #payment [class*="save"] label,
.woocommerce-checkout #payment input[type="checkbox"] + label,
.woocommerce-checkout #payment .payment_box label {
  color: #412818 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Stripe & Klarna field labels - force dark brown */
.woocommerce-checkout #payment .wc-stripe-form label,
.woocommerce-checkout #payment .wc-stripe-elements label,
.woocommerce-checkout #payment .wc-stripe-form p,
.woocommerce-checkout #payment .wc-stripe-form span,
.woocommerce-checkout #payment .wc-stripe-upe-element label,
.woocommerce-checkout #payment .wc-stripe-upe-form label,
.woocommerce-checkout #payment .wc-stripe-upe-form p,
.woocommerce-checkout #payment .wc-stripe-upe-form span,
.woocommerce-checkout #payment fieldset label,
.woocommerce-checkout #payment .form-row label,
.woocommerce-checkout #payment .payment_method_klarna label,
.woocommerce-checkout #payment .payment_method_klarna p,
.woocommerce-checkout #payment .payment_method_klarna span,
.woocommerce-checkout #payment .payment_box p,
.woocommerce-checkout #payment .payment_box span,
.woocommerce-checkout #payment .payment_box label {
  color: #412818 !important;
}

/* Stripe Fields */
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .stripe-card-group {
  background: #ffffff !important;
  border: 1px solid #d4a96a !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin-top: 10px !important;
}

/* ----------------------------------------
   PLACE ORDER BUTTON
   ---------------------------------------- */
.woocommerce-checkout #payment .place-order {
  padding: 0 !important;
  margin-top: 30px !important;
}

.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  line-height: 48px !important;
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
}

.woocommerce-checkout #place_order:hover {
  opacity: 0.9 !important;
}

/* ----------------------------------------
   TERMS AND CONDITIONS
   ---------------------------------------- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 15px 0 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  font-family: var(--font-body) !important;
  font-size: var(--font-size-xxs) !important;
  color: #412818 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: #5a3a1e !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover {
  color: #412818 !important;
}

/* Payment box links */
.woocommerce-checkout #payment div.payment_box a {
  color: #b87f2a !important;
}

.woocommerce-checkout #payment div.payment_box a:hover {
  color: #412818 !important;
}

/* ----------------------------------------
   ORDER REVIEW TABLE
   ---------------------------------------- */
.woocommerce-checkout #order_review {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: none !important;
  border-collapse: collapse !important;
  margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
  display: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  border: none !important;
  padding: 10px 0 !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  color: #412818 !important;
  background: transparent !important;
  vertical-align: top !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  text-align: left !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
  text-align: right !important;
  color: #b87f2a !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total .woocommerce-Price-amount {
  color: #b87f2a !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(65, 40, 24, 0.15) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  text-align: left !important;
  font-weight: var(--font-weight-medium) !important;
  color: #412818 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  color: #b87f2a !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-amount {
  color: #b87f2a !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td {
  padding: 8px 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-weight: var(--font-weight-bold) !important;
  font-size: var(--font-size-md) !important;
  padding-top: 15px !important;
  border-top: 1px solid rgba(65, 40, 24, 0.15) !important;
}

/* ----------------------------------------
   ORDER SUMMARY COUPON DROPDOWN
   ---------------------------------------- */
.woocommerce-checkout .coupon-row td {
  padding: 0 !important;
}

.order-summary-coupon-section {
  border-top: 1px solid rgba(65, 40, 24, 0.15) !important;
  border-bottom: 1px solid rgba(65, 40, 24, 0.15) !important;
  margin: 10px 0 !important;
}

.order-summary-coupon-section .coupon-toggle {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 12px 0 !important;
  cursor: pointer !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-brown-dark) !important;
}

.order-summary-coupon-section .coupon-toggle-icon {
  width: 12px !important;
  height: 12px !important;
  position: relative !important;
  transition: transform 0.3s ease !important;
}

.order-summary-coupon-section .coupon-toggle-icon::before {
  content: "" !important;
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid var(--color-brown-dark) !important;
  border-bottom: 2px solid var(--color-brown-dark) !important;
  transform: rotate(45deg) !important;
  top: 0 !important;
  right: 2px !important;
  transition: transform 0.3s ease !important;
}

.order-summary-coupon-section.open .coupon-toggle-icon::before {
  transform: rotate(-135deg) !important;
  top: 4px !important;
}

.order-summary-coupon-section .coupon-form-wrapper {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease !important;
}

.order-summary-coupon-section.open .coupon-form-wrapper {
  max-height: 150px !important;
}

.order-summary-coupon-section .coupon-form {
  display: flex !important;
  gap: 10px !important;
  padding-bottom: 12px !important;
  overflow: visible !important;
}

.order-summary-coupon-section .coupon-form input[type="text"] {
  flex: 1 !important;
  padding: 10px 12px !important;
  border: 1px solid #d4a96a !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-xxs) !important;
  color: #412818 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.order-summary-coupon-section .coupon-form input[type="text"]::placeholder {
  color: var(--color-text-muted) !important;
}

.order-summary-coupon-section .coupon-form input[type="text"]:focus {
  border-color: var(--color-brown-dark) !important;
  outline: none !important;
}

.order-summary-coupon-section .coupon-form button {
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.order-summary-coupon-section .coupon-form button:hover {
  opacity: 0.9 !important;
}

/* ----------------------------------------
   ORDER SUMMARY PLACE ORDER BUTTON
   ---------------------------------------- */
.order-summary-place-order {
  margin-top: 20px !important;
}

.order-summary-place-order button {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  line-height: 48px !important;
  background: var(--color-brown-dark) !important;
  color: var(--color-cream-light) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
}

.order-summary-place-order button:hover {
  opacity: 0.9 !important;
}

/* Hide duplicate Place Order button */
.woocommerce-checkout #order_review .order-summary-place-order + .order-summary-place-order {
  display: none !important;
}

/* ----------------------------------------
   CHECKOUT RESPONSIVE
   ---------------------------------------- */
@media (max-width: 900px) {
  .woocommerce-checkout .checkout-columns {
    flex-direction: column !important;
  }
  
  .woocommerce-checkout .checkout-left-column {
    padding-right: 0 !important;
    border-right: none !important;
  }
  
  .woocommerce-checkout .checkout-right-column {
    width: 100% !important;
    margin-top: 30px !important;
  }
}

@media (max-width: 600px) {
  .woocommerce-checkout .checkout-title {
    font-size: 28px !important;
  }
  
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important;
    display: block !important;
    margin-right: 0 !important;
  }
  
  .woocommerce-checkout .order-summary-card,
  .woocommerce-checkout .checkout-payment-section {
    padding: 20px !important;
  }

  .woocommerce-checkout .express-checkout-section > h3,
  .woocommerce-checkout .woocommerce-billing-fields h3,
  .woocommerce-checkout #ship-to-different-address label,
  .woocommerce-checkout .woocommerce-additional-fields h3,
  .woocommerce-checkout .checkout-payment-section > h3,
  .woocommerce-checkout .order-summary-card > h3 {
    font-size: 18px !important;
  }
}

/* ----------------------------------------
   CHECKOUT PAGE CONTENT PADDING
   ---------------------------------------- */
.woocommerce-checkout .entry-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px !important;
}

/* ========================================
   6. MOBILE RESPONSIVE
   ======================================== */

/* ----------------------------------------
   SINGLE PRODUCT - TABS MOBILE FIX
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Make tabs horizontally scrollable */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 15px !important;
    font-size: 13px !important;
  }
  
  /* Hide scrollbar but keep functionality */
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}

/* Even smaller screens - stack tabs vertically */
@media (max-width: 480px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    flex-direction: column !important;
    overflow-x: visible !important;
    border-radius: 10px !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    width: 100% !important;
    margin: 0 !important;
    margin-left: 0 !important;
    border-radius: 0 !important;
    border-bottom: none !important;
    border-left: var(--stroke-thin) solid var(--color-brown-dark) !important;
    border-right: var(--stroke-thin) solid var(--color-brown-dark) !important;
    border-top: var(--stroke-thin) solid var(--color-brown-dark) !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    border-bottom-left-radius: 0 !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
    border-bottom: var(--stroke-thin) solid var(--color-brown-dark) !important;
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-top-right-radius: 0 !important;
  }
  
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    text-align: center !important;
    padding: 12px 15px !important;
    font-size: 16px !important;
  }
}

/* ----------------------------------------
   MOBILE TEXT SIZE INCREASE (+5%)
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Vendor name ("Birdie Chaser") */
  .woocommerce div.product .bc-product-vendor {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }

  /* Product title ("7" GURDY PLUSH") */
  .woocommerce div.product .product_title {
    font-size: 20px !important;
    margin-bottom: 6px !important;
  }

  /* Product tagline ("Small in size, big in birdies.") */
  body.single-product .summary .bc-single-product-tagline {
    font-size: 36px !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }

  /* Product short description */
  .woocommerce div.product .woocommerce-product-details__short-description,
  .woocommerce div.product .woocommerce-product-details__short-description p {
    font-size: 22px !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
  }

  /* Product price */
  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 38px !important;
    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }

  /* Quantity input */
  .woocommerce div.product form.cart .quantity input {
    font-size: 22px !important;
    width: 5em !important;
    padding: 14px 16px !important;
  }

  /* Add to cart button */
  .woocommerce div.product form.cart .button,
  .woocommerce div.product .single_add_to_cart_button {
    font-size: 18px !important;
    padding: 16px 24px !important;
  }

  /* Highlight ACF fields */
  .woocommerce div.product .product-highlight,
  .woocommerce div.product .bc-product-highlight {
    font-size: 20px !important;
  }

  /* Product description/tab content */
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-tabs .panel p {
    font-size: 16px !important;
  }

  /* Product meta (SKU, categories) */
  .woocommerce div.product .product_meta > span {
    font-size: 18px !important;
  }

  .woocommerce div.product .product_meta > span a {
    font-size: 18px !important;
  }

  /* Style field in meta */
  .woocommerce div.product .bc-product-style {
    font-size: 18px !important;
  }

  /* Product details under description tab */
  .bc-product-details h2 {
    font-size: 16px !important;
  }

  .bc-detail-row {
    font-size: 16px !important;
  }

  /* Related products title */
  .woocommerce div.product .related.products > h2 {
    font-size: 28px !important;
  }

  /* Tab panel headings */
  .woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: 28px !important;
  }
}

/* ----------------------------------------
   SHOP ARCHIVE MOBILE (+5% text)
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Single column product grid on mobile — match archive specificity */
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  body.post-type-archive-product ul.products,
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.woocommerce-shop ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
  
  /* Product images - full width */
  .woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
  }
  
  /* Left align product info */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .bc-product-tagline {
    text-align: left !important;
  }

  /* Product title - increased size */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 23px !important;
  }
  
  /* Product tagline - increased size */
  .woocommerce ul.products li.product .bc-product-tagline {
    font-size: 21px !important;
  }
  
  /* Product price - increased size */
  .woocommerce ul.products li.product .price {
    font-size: 23px !important;
  }
  
  .woocommerce-page .entry-header .entry-title,
  .woocommerce-page .woocommerce-products-header__title,
  .woocommerce-page .page-title {
    font-size: 40px !important; /* ~38px * 1.05 */
  }
}

/* ----------------------------------------
   SHOP ARCHIVE MOBILE - Prevent Horizontal Scroll
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Prevent horizontal overflow */
  body.post-type-archive-product,
  body.woocommerce-shop,
  body.tax-product_cat,
  body.tax-product_tag,
  body.post-type-archive-product .site-content,
  body.woocommerce-shop .site-content,
  body.tax-product_cat .site-content,
  body.tax-product_tag .site-content,
  body.post-type-archive-product .content-area,
  body.woocommerce-shop .content-area,
  body.tax-product_cat .content-area,
  body.tax-product_tag .content-area,
  body.post-type-archive-product .entry-content,
  body.woocommerce-shop .entry-content,
  body.tax-product_cat .entry-content,
  body.tax-product_tag .entry-content {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  
  /* Reduce padding on mobile (40px -> 15px) and center content */
  body.woocommerce-shop .site-content,
  body.woocommerce-shop .content-area,
  body.woocommerce-shop .site-main,
  body.woocommerce-shop .entry-content,
  body.post-type-archive-product .site-content,
  body.post-type-archive-product .content-area,
  body.post-type-archive-product .site-main,
  body.post-type-archive-product .entry-content,
  body.tax-product_cat .site-content,
  body.tax-product_cat .content-area,
  body.tax-product_cat .site-main,
  body.tax-product_cat .entry-content,
  body.tax-product_tag .site-content,
  body.tax-product_tag .content-area,
  body.tax-product_tag .site-main,
  body.tax-product_tag .entry-content {
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Force parent containers to center on mobile */
  body.post-type-archive-product .site,
  body.post-type-archive-product #page,
  body.post-type-archive-product .grid-container,
  body.woocommerce-shop .site,
  body.woocommerce-shop #page,
  body.woocommerce-shop .grid-container,
  body.tax-product_cat .site,
  body.tax-product_cat #page,
  body.tax-product_cat .grid-container,
  body.tax-product_tag .site,
  body.tax-product_tag #page,
  body.tax-product_tag .grid-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 !important;
  }

  /* Reset inside-article to not add extra padding */
  body.post-type-archive-product .inside-article,
  body.woocommerce-shop .inside-article,
  body.tax-product_cat .inside-article,
  body.tax-product_tag .inside-article {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ----------------------------------------
   CART PAGE MOBILE (+5% text)
   ---------------------------------------- */
@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form table.cart tbody td {
    font-size: 15px !important;
  }
  
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td,
  body.woocommerce-cart .cart_totals .shop_table th,
  body.woocommerce-cart .cart_totals .shop_table td,
  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td {
    font-size: 15px !important;
    color: #412818 !important;
  }
  
  .woocommerce-cart .cart_totals > h2 {
    font-size: 21px !important; /* ~20px * 1.05 */
  }
  
  /* ========================================
     MOBILE CART - HORIZONTAL CARD LAYOUT
     ======================================== */
  
  /* Cart table reset */
  .woocommerce table.shop_table.cart {
    border: none !important;
  }
  
  .woocommerce table.cart tbody tr {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    position: relative !important;
  }
  
  /* Hide all default labels */
  .woocommerce table.cart td::before {
    display: none !important;
    content: none !important;
  }
  
  /* Remove button on mobile - far right where price used to be */
  .woocommerce table.cart td.product-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    flex-shrink: 0 !important;
    order: 3 !important;
  }

  .woocommerce table.cart td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.6) !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }
  
  /* Product thumbnail - smaller with relative position for badge */
  .woocommerce table.cart td.product-thumbnail {
    display: block !important;
    width: 75px !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    border: none !important;
    position: relative !important;
    order: 0 !important;
  }
  
  .woocommerce table.cart td.product-thumbnail a {
    display: block !important;
  }
  
  .woocommerce table.cart td.product-thumbnail img,
  .woocommerce table.cart .product-thumbnail a img,
  .woocommerce-cart table.cart img {
    width: 65px !important;
    height: 65px !important;
    min-width: 65px !important;
    min-height: 65px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  }
  
  /* Product name - left aligned next to thumbnail */
  .woocommerce table.cart td.product-name {
    display: block !important;
    flex: 1 !important;
    padding: 0 10px !important;
    border: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    order: 1 !important;
  }
  
  /* Variation details */
  .woocommerce table.cart td.product-name .variation {
    font-weight: 400 !important;
    font-size: 12px !important;
    color: #888 !important;
    margin-top: 2px !important;
  }
  
  .woocommerce table.cart td.product-name .variation dt,
  .woocommerce table.cart td.product-name .variation dd {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .woocommerce table.cart td.product-name .variation dt {
    display: none !important; /* Hide "Size:" label */
  }
  
  .woocommerce table.cart td.product-name .variation dd p {
    margin: 0 !important;
  }
  
  /* Product price - under product name, left aligned */
  .woocommerce table.cart td.product-subtotal {
    display: block !important;
    width: calc(100% - 75px - 38px) !important;
    margin-left: 75px !important;
    padding: 2px 10px 0 !important;
    border: none !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-align: left !important;
    color: #888 !important;
    order: 4 !important;
  }
  
  /* Hide quantity row - we show it as badge */
  .woocommerce table.cart td.product-quantity {
    display: none !important;
  }
  
  /* Hide price column (we show subtotal instead) */
  .woocommerce table.cart td.product-price {
    display: none !important;
  }
  
  /* Coupon code section - match checkout button width */
  .cart-totals-coupon {
    flex-direction: column !important;
    padding: 0 30px 15px !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .cart-totals-coupon input[type="text"],
  .cart-totals-coupon input#coupon_code,
  .cart-totals-coupon input#cart_totals_coupon_code,
  .cart-totals-coupon .input-text {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .cart-totals-coupon button,
  .woocommerce-cart .cart-totals-coupon button,
  .woocommerce-cart .wc-proceed-to-checkout .cart-totals-coupon button,
  .cart-totals-coupon .button {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    flex: none !important;
  }
}

/* ----------------------------------------
   CROSS-SELLS MOBILE - JS CAROUSEL ONLY
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Cart collaterals — prevent horizontal overflow */
  .woocommerce .cart-collaterals,
  .woocommerce-cart .cart-collaterals {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Container — no horizontal scroll on page */
  .woocommerce-cart .cross-sells,
  .woocommerce .cart-collaterals .cross-sells,
  .cross-sells,
  .cross-sells.bc-carousel-section {
    overflow: hidden !important;
    max-height: none !important;
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Carousel wrapper — hide arrows, fit parent width */
  .bc-carousel-nav {
    display: none !important;
  }

  .bc-cross-sells-carousel {
    max-width: 100% !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Track wrapper — must not exceed parent */
  .bc-carousel-track-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Track — override grid layout and remove all spacing */
  .bc-carousel-track,
  .cross-sells ul.products.bc-carousel-track,
  .woocommerce ul.products.bc-carousel-track,
  .woocommerce-page ul.products.bc-carousel-track {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Each slide — fill full width, no internal padding */
  .bc-carousel-track li.product,
  .cross-sells .bc-carousel-track li.product {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Track wrapper */
  .bc-carousel-track-wrapper {
    overflow: hidden !important;
  }

  /* Square image */
  .bc-carousel-track li.product a img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    max-height: none !important;
  }

  /* Title */
  .bc-carousel-track li.product h2,
  .bc-carousel-track li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  /* Hide tagline */
  .bc-carousel-track li.product .bc-product-tagline {
    display: none !important;
  }

  /* Price */
  .bc-carousel-track li.product .price,
  .bc-carousel-track li.product .price span {
    font-size: 15px !important;
  }

  /* Hide add to cart button — tap card to view product */
  .bc-carousel-track li.product .button,
  .bc-carousel-track li.product a.button,
  .bc-carousel-track li.product .add_to_cart_button {
    display: none !important;
  }

  /* Dots — smaller */
  .bc-carousel-dots {
    margin-top: 8px !important;
  }

  .bc-carousel-dot {
    width: 8px !important;
    height: 8px !important;
  }
}

/* ----------------------------------------
   CHECKOUT PAGE MOBILE (+5% text)
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Prevent horizontal scroll — single top-level overflow to avoid iOS 18 clipping */
  body.woocommerce-checkout {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  .woocommerce-checkout .site-content,
  .woocommerce-checkout .content-area,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .checkout-columns,
  .woocommerce-checkout .checkout-left-column {
    max-width: 100% !important;
    overflow-x: visible !important;
  }
  
  /* Ensure form elements don't overflow */
  .woocommerce-checkout form,
  .woocommerce-checkout .woocommerce-form-coupon,
  .woocommerce-checkout .express-checkout-buttons,
  .woocommerce-checkout .express-checkout-buttons > div {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .woocommerce-checkout .form-row label {
    font-size: 15px !important;
  }
  
  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .form-row select {
    font-size: 17px !important; /* Slightly larger for mobile input */
  }
  
  .woocommerce-checkout .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table td {
    font-size: 15px !important;
  }
  
  /* Order Summary card padding fix - content too close to edges */
  .woocommerce-checkout .order-summary-card {
    padding: 25px 20px !important;
  }
  
  .woocommerce-checkout .order-summary-card > h3 {
    padding-right: 0 !important;
  }
  
  /* Add padding to table cells */
  .woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    table-layout: auto !important;
  }
  
  .woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    width: 70% !important;
    padding-right: 10px !important;
    word-wrap: break-word !important;
  }
  
  .woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
    width: 30% !important;
    padding-left: 5px !important;
    text-align: right !important;
  }
  
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    padding-right: 10px !important;
  }
  
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    padding-left: 5px !important;
  }
  
  /* Coupon section padding */
  .woocommerce-checkout .order-summary-coupon-section {
    margin: 10px 0 !important;
  }
  
  /* Fix coupon form on mobile - stack vertically */
  .woocommerce-checkout .order-summary-coupon-section .coupon-form {
    flex-direction: column !important;
    gap: 8px !important;
  }
  
  .woocommerce-checkout .order-summary-coupon-section .coupon-form input[type="text"] {
    width: 100% !important;
  }
  
  .woocommerce-checkout .order-summary-coupon-section .coupon-form button {
    width: 100% !important;
    padding: 12px 16px !important;
  }
  
  .woocommerce-checkout .order-summary-coupon-section.open .coupon-form-wrapper {
    max-height: 200px !important;
  }
  
  /* Place order button full width */
  .woocommerce-checkout .order-summary-place-order {
    margin-top: 15px !important;
  }

  /* iOS 18 Safari: prevent form field clipping when virtual keyboard opens */
  .woocommerce-checkout .checkout-left-column,
  .woocommerce-checkout .checkout-right-column,
  .woocommerce-checkout .order-summary-card,
  .woocommerce-checkout .checkout-payment-section {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  /* iOS 18 Safari: ensure Stripe iframe doesn't get clipped */
  .woocommerce-checkout #payment .wc-stripe-elements-field,
  .woocommerce-checkout #payment .stripe-card-group {
    overflow: visible !important;
    -webkit-overflow-scrolling: auto !important;
  }

  /* iOS 18: prevent input zoom (already 17px but ensure minimum) */
  .woocommerce-checkout input,
  .woocommerce-checkout select,
  .woocommerce-checkout textarea {
    font-size: max(17px, 1em) !important;
  }
}

/* ----------------------------------------
   THUMBNAIL GALLERY MOBILE
   ---------------------------------------- */
@media (max-width: 600px) {
  .woocommerce div.product div.images .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
  }
}

@media (max-width: 400px) {
  .woocommerce div.product div.images .flex-control-thumbs {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ----------------------------------------
   RELATED PRODUCTS & UPSELLS MOBILE
   ---------------------------------------- */
@media (max-width: 768px) {
  /* Single column for related products */
  .woocommerce div.product .related.products ul.products,
  .woocommerce div.product .upsells ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }
  
  .woocommerce div.product .related.products ul.products li.product,
  .woocommerce div.product .upsells ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
  
  /* Full width images */
  .woocommerce div.product .related.products ul.products li.product img,
  .woocommerce div.product .upsells ul.products li.product img {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
  }
  
  /* Left align text */
  .woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title,
  .woocommerce div.product .related.products ul.products li.product .price,
  .woocommerce div.product .related.products ul.products li.product .bc-product-tagline,
  .woocommerce div.product .upsells ul.products li.product .woocommerce-loop-product__title,
  .woocommerce div.product .upsells ul.products li.product .price,
  .woocommerce div.product .upsells ul.products li.product .bc-product-tagline {
    text-align: left !important;
  }
  
  /* Product title - match shop page */
  .woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title,
  .woocommerce div.product .upsells ul.products li.product .woocommerce-loop-product__title {
    font-size: 23px !important;
  }
  
  /* Product tagline - match shop page */
  .woocommerce div.product .related.products ul.products li.product .bc-product-tagline,
  .woocommerce div.product .upsells ul.products li.product .bc-product-tagline {
    font-size: 21px !important;
  }
  
  /* Product price - match shop page */
  .woocommerce div.product .related.products ul.products li.product .price,
  .woocommerce div.product .upsells ul.products li.product .price {
    font-size: 23px !important;
  }
}

/* ----------------------------------------
   ORDER RECEIVED / THANK YOU PAGE
   ---------------------------------------- */
.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received .woocommerce-order * {
  color: #fbe8c6 !important;
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.4em !important;
  font-weight: 500 !important;
  color: #fbe8c6 !important;
}

.woocommerce-order-received table.woocommerce-table--order-details {
  border-color: rgba(251, 232, 198, 0.3) !important;
}

.woocommerce-order-received table.woocommerce-table--order-details th,
.woocommerce-order-received table.woocommerce-table--order-details td {
  border-color: rgba(251, 232, 198, 0.3) !important;
}

.woocommerce-order-received .woocommerce-order-overview {
  border-color: rgba(251, 232, 198, 0.3) !important;
}

.woocommerce-order-received .woocommerce-order-overview li {
  border-right-color: rgba(251, 232, 198, 0.3) !important;
}

.woocommerce-order-received a {
  color: #f5cd84 !important;
}

.woocommerce-order-received a:hover {
  color: #fbe8c6 !important;
}