/*
Theme Name: The Lush Kingdom — Eden 3.1
Theme URI: https://thelushkingdom.com
Author: The Lush Kingdom
Author URI: https://thelushkingdom.com
Description: Luxury resort-wear and Caribbean fashion label e-commerce theme for WordPress and WooCommerce. Eden Vol. 3.1 design system with ambient cinematic video header, self-hosted fonts, authentic hand-cut frond motifs, and pure fashion storefront.
Version: 3.5.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thelushkingdom
Tags: fashion, resortwear, e-commerce, woocommerce, video-header, block-patterns, full-width-template
*/

/* 1. Core Eden 3.1 Stylesheet Imports */
@import url('./lush-kingdom/styles.css');
@import url('./lush-kingdom/eden-v3.1-patch.css');
@import url('./lush-kingdom/components-forms.css');
@import url('./lush-kingdom/icons.css');

/* 2. Theme-Level Global Rules & Typography Tuning */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--teal-900);
  color: var(--text-on-dark);
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 3. Hairline Borders & Restraint */
.lk-hairline-dark {
  border: 1px solid var(--border-on-dark);
}
.lk-hairline-light {
  border: 1px solid var(--border-on-light);
}

/* 4. Video Viewport & Motion Transitions */
.lk-hero-cinema-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-on-dark);
  background-color: var(--teal-950);
}

@media (max-width: 768px) {
  .lk-hero-cinema-frame {
    aspect-ratio: 4 / 5;
  }
}

.lk-hero-cinema-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.4s var(--ease-standard);
}

.lk-hero-cinema-frame.is-loading video {
  opacity: 0.3;
}

/* Video Vignette Switcher Buttons */
.lk-vignette-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--grey-300);
  border: 1px solid var(--border-on-dark);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease-standard);
}

.lk-vignette-btn:hover {
  color: var(--grey-100);
  background: rgba(228, 231, 235, 0.08);
}

.lk-vignette-btn.active {
  background: var(--teal-800);
  color: var(--grey-100);
  border-color: var(--grey-100);
}

/* 5. Product Image & Video Motion Hover */
.lk-product-media-wrap {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border-on-light);
  background-color: var(--grey-200);
}

.lk-product-media-wrap img,
.lk-product-media-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
}

.lk-product-card:hover .lk-product-media-wrap img {
  transform: scale(1.04);
}

/* Video layer inside product card (hidden until active/hovered) */
.lk-product-hover-video {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-base) var(--ease-standard);
}

.lk-product-card.video-active .lk-product-hover-video {
  opacity: 1;
  pointer-events: auto;
}

/* 6. Frond Texture Background Watermark */
.lk-frond-texture-bg {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.08;
  color: currentColor;
}

/* 7. Modal & Drawer Primitives */
.lk-quickview-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(7, 47, 42, 0.85);
  backdrop-filter: blur(8px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  opacity: 0;
  visibility: hidden;
  transition: all var(--duration-base) var(--ease-standard);
}

.lk-quickview-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.lk-quickview-modal {
  background: var(--grey-50);
  color: var(--teal-900);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-on-light);
  width: 100%;
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  transform: translateY(16px);
  transition: transform var(--duration-base) var(--ease-out);
}

.lk-quickview-backdrop.is-open .lk-quickview-modal {
  transform: translateY(0);
}

/* 8. Scroll-Driven Canvas Scroller Primitives */
body.lk-canvas-loading {
  overflow: hidden !important;
}

#lk-canvas-preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background-color: var(--teal-950, #072F2A);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.6s ease;
}

.lk-canvas-track {
  position: relative;
  width: 100%;
  height: 450vh;
  background-color: var(--teal-950, #072F2A);
}

.lk-canvas-sticky-viewport {
  position: sticky;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000000;
}

#lk-sequence-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  pointer-events: none;
}

.lk-canvas-narrative-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lk-narrative-card {
  position: absolute;
  max-width: 580px;
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  background: rgba(7, 47, 42, 0.90);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border-on-dark, rgba(228, 231, 235, 0.22));
  border-radius: var(--radius-lg, 12px);
  padding: 40px 44px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .lk-narrative-card {
    padding: 28px 24px;
    max-width: 90vw;
  }
}

/* ==========================================
   9. Header Navigation Dropdown
   ========================================== */
.lk-nav-dropdown-wrap:hover .lk-nav-dropdown-menu,
.lk-nav-dropdown-wrap:focus-within .lk-nav-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.lk-dropdown-item:hover {
  background-color: #F4F6F8 !important;
  color: var(--magenta-600, #A81D6E) !important;
}

/* ==========================================
   10. Light Grey Live-Site Footer
   ========================================== */
.lk-site-footer-light {
  background-color: #D1D5D9 !important;
  color: #1E2226 !important;
}

.lk-social-circle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background-color: #FFFFFF !important;
  color: #1E2226 !important;
  border: 1px solid rgba(30, 34, 38, 0.14) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s, background-color 0.22s, color 0.22s, border-color 0.22s !important;
  flex-shrink: 0;
}

.lk-social-circle svg {
  display: block;
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease, stroke 0.2s ease;
}

.lk-social-circle:hover {
  transform: translateY(-3px) scale(1.05) !important;
  box-shadow: 0 8px 18px rgba(30, 34, 38, 0.18) !important;
  background-color: #1E2226 !important;
  color: #FFFFFF !important;
  border-color: #1E2226 !important;
}

.lk-social-circle:hover svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

.lk-subscribe-form input:focus {
  outline: none;
  border-color: #1E2226 !important;
  box-shadow: 0 0 0 2px rgba(30, 34, 38, 0.1);
}

.lk-subscribe-form button:hover {
  background-color: #1E2226 !important;
  color: #FFFFFF !important;
  border-color: #1E2226 !important;
}

/* ==========================================
   11. WooCommerce Luxury Resort-Wear Styling
   ========================================== */
.woocommerce-page,
.woocommerce {
  background-color: var(--grey-50, #F8FAFB);
  color: var(--teal-950, #072F2A);
}

.woocommerce::after,
.woocommerce-page::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

.woocommerce-breadcrumb {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-on-light-muted, #5A6068);
  margin-bottom: 28px;
}

.woocommerce-breadcrumb a {
  color: var(--teal-900, #0B4A42);
  text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
  color: var(--magenta-600, #A81D6E);
}

/* Shop Archive Result Count & Ordering Filter */
.woocommerce .woocommerce-result-count {
  font-family: var(--font-mono) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--text-on-light-muted, #5A6068) !important;
  margin: 0 0 28px 0 !important;
  float: left !important;
  line-height: 42px !important;
}

.woocommerce .woocommerce-ordering {
  margin: 0 0 28px 0 !important;
  float: right !important;
}

.woocommerce .woocommerce-ordering select {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border: 1.5px solid var(--border-on-light, rgba(7, 47, 42, 0.18)) !important;
  border-radius: var(--radius-pill, 9999px) !important;
  background-color: #FFFFFF !important;
  color: var(--teal-950, #072F2A) !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

/* Shop Loop Grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important;
  gap: 32px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 48px 0 !important;
  clear: both !important;
}

.woocommerce ul.products li.product {
  background: #FFFFFF !important;
  border: 1px solid var(--border-on-light, rgba(7, 47, 42, 0.12)) !important;
  border-radius: var(--radius-md, 12px) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  position: relative !important;
  transition: transform var(--duration-fast), box-shadow var(--duration-fast) !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(7, 47, 42, 0.08) !important;
}

/* Standard Uniform 1:1 Square Product Image Box */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 280px !important;
  min-height: 280px !important;
  max-height: 280px !important;
  aspect-ratio: 1 / 1 !important; /* Gold Standard Uniform 1:1 Square */
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  background-color: var(--grey-100, #F4F6F8) !important;
  border-bottom: 1px solid var(--border-on-light, rgba(7, 47, 42, 0.08)) !important;
  transition: transform 0.35s ease !important;
}

@media (max-width: 600px) {
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
  .woocommerce ul.products li.product .woocommerce-loop-product__link img,
  .woocommerce ul.products li.product img {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.03) !important;
}

/* Wishlist and Compare Link Polish */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,
.woocommerce ul.products li.product .yith-wcwl-add-button,
.woocommerce ul.products li.product .compare {
  margin: 0 16px 10px !important;
  text-align: center !important;
  display: block !important;
}

.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a,
.woocommerce ul.products li.product .compare {
  font-family: var(--font-mono, "DM Mono", monospace) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: var(--teal-900, #0B4A42) !important;
  text-decoration: none !important;
  opacity: 0.75 !important;
  transition: opacity 0.2s, color 0.2s !important;
}

.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
.woocommerce ul.products li.product .compare:hover {
  opacity: 1 !important;
  color: var(--magenta-600, #A81D6E) !important;
}

/* Sale Badge Pill */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  min-height: auto !important;
  line-height: 1 !important;
  background-color: var(--marigold-500, #FFB800) !important;
  color: var(--teal-950, #072F2A) !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: var(--radius-pill, 9999px) !important;
  z-index: 10 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14) !important;
  margin: 0 !important;
}

/* Balanced Card Typography (Eliminates Jumped Text) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--teal-900, #0B4A42) !important;
  margin: 18px 20px 8px !important;
  min-height: 46px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.woocommerce ul.products li.product .price {
  font-family: var(--font-mono) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--marigold-800, #7A5205) !important;
  margin: 0 20px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.woocommerce ul.products li.product .price del {
  opacity: 0.55 !important;
  color: var(--text-on-light-muted, #5A6068) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  text-decoration: line-through !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--marigold-800, #7A5205) !important;
  font-weight: 700 !important;
}

/* Loop Add to Cart / Select Options Button */
.woocommerce ul.products li.product .button {
  margin: auto 20px 20px !important;
  background-color: var(--teal-900, #0B4A42) !important;
  color: #FFFFFF !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 13px 20px !important;
  border-radius: var(--radius-pill, 9999px) !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  display: block !important;
  transition: all var(--duration-fast, 0.2s) ease !important;
}

.woocommerce ul.products li.product .button:hover {
  background-color: var(--magenta-600, #A81D6E) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(168, 29, 110, 0.22) !important;
}

/* ==========================================
   Single Product Layout & Typography
   ========================================== */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
  margin-bottom: 64px !important;
}

@media (max-width: 860px) {
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

/* Single Product Gallery Image - Square Standard (1:1) */
.woocommerce div.product div.images {
  margin-bottom: 0 !important;
  position: relative !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Primary Gallery Main Image (strictly scoped so it does not affect zoom icon or thumbnails) */
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-viewport img,
.woocommerce div.product div.images > a > img,
.woocommerce div.product div.images > img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important; /* Square Standard */
  height: auto !important;
  max-height: 580px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: var(--radius-md, 12px) !important;
  box-shadow: 0 12px 32px rgba(7, 47, 42, 0.08) !important;
  display: block !important;
}

/* Floating Zoom / Lightbox Trigger Button (Elegant round disc in top-right corner) */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 30 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(7, 47, 42, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all var(--duration-fast, 0.2s) ease !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
  background: #FFFFFF !important;
  transform: scale(1.08) !important;
  box-shadow: 0 6px 20px rgba(7, 47, 42, 0.22) !important;
}

/* Guard: Constrain any icon or emoji SVG inside the trigger button */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger .emoji {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

/* Gallery Thumbnails List (FlexSlider) */
.woocommerce div.product div.images .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 16px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: calc(25% - 9px) !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  box-sizing: border-box !important;
  transition: border-color var(--duration-fast, 0.2s) ease !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  opacity: 0.72 !important;
  transition: opacity var(--duration-fast, 0.2s) ease !important;
}

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

.woocommerce div.product div.images .flex-control-thumbs li:has(img.flex-active),
.woocommerce div.product div.images .flex-control-thumbs li.flex-active-item {
  border-color: var(--magenta-600, #A81D6E) !important;
}

/* Single Product Title & Price */
.woocommerce div.product .product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: var(--teal-900, #0B4A42) !important;
  margin: 0 0 14px 0 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-mono) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--marigold-800, #7A5205) !important;
  margin: 0 0 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.woocommerce div.product p.price del {
  opacity: 0.55 !important;
  color: var(--text-on-light-muted, #5A6068) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  text-decoration: line-through !important;
}

.woocommerce div.product p.price ins {
  text-decoration: none !important;
  color: var(--marigold-800, #7A5205) !important;
  font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--text-on-light, #2B3036) !important;
  margin: 0 0 28px 0 !important;
}

/* ==========================================
   Single Product Variations & Cart Form
   (Fixes Squeezed / Jumped Buttons & Text)
   ========================================== */
.woocommerce div.product form.cart {
  display: block !important;
  width: 100% !important;
  margin: 24px 0 !important;
}

.woocommerce div.product form.cart table.variations {
  width: 100% !important;
  border-collapse: separate !important;
  border: none !important;
  margin: 0 0 20px 0 !important;
  background: transparent !important;
}

.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  border: none !important;
  margin-bottom: 16px !important;
  width: 100% !important;
}

.woocommerce div.product form.cart table.variations th.label {
  display: block !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
  background: transparent !important;
}

.woocommerce div.product form.cart table.variations th.label label {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--teal-900, #0B4A42) !important;
}

.woocommerce div.product form.cart table.variations td.value {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Standard Variation Dropdown */
.woocommerce div.product form.cart table.variations td.value select {
  width: 100% !important;
  max-width: 400px !important;
  height: 48px !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--border-on-light, rgba(7, 47, 42, 0.18)) !important;
  border-radius: var(--radius-md, 8px) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--teal-950, #072F2A) !important;
  background-color: #FFFFFF !important;
  cursor: pointer !important;
  outline: none !important;
}

/* Swatch buttons (WooCommerce Swatches / Pills) */
.woocommerce div.product form.cart .tawcvs-swatches,
.woocommerce div.product form.cart .wvs-swatches,
.woocommerce div.product form.cart .variable-items-wrapper,
.woocommerce div.product form.cart ul.variable-items-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 0 !important;
}

.woocommerce div.product form.cart .variable-item,
.woocommerce div.product form.cart .swatch-anchor {
  border: 1.5px solid var(--border-on-light, rgba(7, 47, 42, 0.2)) !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  background: #FFFFFF !important;
  color: var(--teal-950, #072F2A) !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.woocommerce div.product form.cart .variable-item.selected,
.woocommerce div.product form.cart .variable-item:hover {
  border-color: var(--magenta-600, #A81D6E) !important;
  background: var(--teal-900, #0B4A42) !important;
  color: #FFFFFF !important;
}

/* Reset Variations Link */
.woocommerce div.product form.cart a.reset_variations {
  display: inline-block !important;
  margin-top: 8px !important;
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-on-light-muted, #5A6068) !important;
  text-decoration: underline !important;
}

/* Single Variation Wrapper */
.woocommerce div.product form.cart .single_variation_wrap {
  width: 100% !important;
  margin-top: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.woocommerce div.product form.cart .woocommerce-variation-description {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
}

.woocommerce div.product form.cart .woocommerce-variation-price {
  margin-bottom: 12px !important;
}

.woocommerce div.product form.cart .woocommerce-variation-price .price {
  font-family: var(--font-mono) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--marigold-800, #7A5205) !important;
}

/* Add to Cart Button Row - Generous Horizontal Layout */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 8px !important;
}

.woocommerce div.product form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce div.product form.cart .quantity input.qty {
  width: 68px !important;
  height: 52px !important;
  line-height: 52px !important;
  border: 1.5px solid var(--border-on-light, rgba(7, 47, 42, 0.2)) !important;
  border-radius: var(--radius-md, 8px) !important;
  text-align: center !important;
  font-family: var(--font-mono) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--teal-950, #072F2A) !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  height: 52px !important;
  padding: 0 44px !important;
  background-color: var(--magenta-600, #A81D6E) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: var(--radius-pill, 9999px) !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 16px rgba(168, 29, 110, 0.25) !important;
  transition: all var(--duration-fast, 0.2s) ease !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: var(--magenta-700, #8E165C) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(168, 29, 110, 0.35) !important;
}

/* Inside form.cart: Secondary Outlined Pill Style for Wishlist */
.woocommerce div.product form.cart .yith-wcwl-add-to-wishlist,
.woocommerce div.product form.cart .tinv-wraper {
  margin: 0 !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce div.product form.cart .yith-wcwl-add-to-wishlist a,
.woocommerce div.product form.cart .yith-wcwl-add-to-wishlist a.add_to_wishlist,
.woocommerce div.product form.cart .yith-wcwl-add-to-wishlist a.button,
.woocommerce div.product form.cart .tinv-wraper a,
.woocommerce div.product form.cart .tinv-wraper a.tinvwl_add_to_wishlist_button {
  height: 52px !important;
  line-height: 50px !important;
  padding: 0 24px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--magenta-600, #A81D6E) !important;
  border: 1.5px solid var(--magenta-600, #A81D6E) !important;
  border-radius: var(--radius-pill, 9999px) !important;
  font-family: var(--font-mono) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all var(--duration-fast, 0.2s) ease !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

.woocommerce div.product form.cart .yith-wcwl-add-to-wishlist a:hover,
.woocommerce div.product form.cart .tinv-wraper a:hover {
  background-color: var(--magenta-600, #A81D6E) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(168, 29, 110, 0.25) !important;
}

/* Standalone Wishlist & Compare Rows (below cart/summary) */
.woocommerce div.product .summary > .yith-wcwl-add-to-wishlist,
.woocommerce div.product .summary > .tinv-wraper,
.woocommerce div.product .summary > .woosc-btn,
.woocommerce div.product form.cart + .yith-wcwl-add-to-wishlist,
.woocommerce div.product form.cart + .woosc-btn {
  margin-top: 14px !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce div.product .summary > .yith-wcwl-add-to-wishlist a,
.woocommerce div.product .summary > .tinv-wraper a,
.woocommerce div.product .summary > .woosc-btn a,
.woocommerce div.product form.cart + .yith-wcwl-add-to-wishlist a,
.woocommerce div.product form.cart + .woosc-btn a {
  font-family: var(--font-mono) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--magenta-600, #A81D6E) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: color var(--duration-fast, 0.2s) ease !important;
}

.woocommerce div.product .summary > .yith-wcwl-add-to-wishlist a:hover,
.woocommerce div.product .summary > .woosc-btn a:hover {
  color: var(--magenta-700, #8E165C) !important;
}

/* Duplicate Wishlist Prevention: If a wishlist button is already inside form.cart, hide redundant secondary link outside */
.woocommerce div.product form.cart:has(.yith-wcwl-add-to-wishlist) ~ .yith-wcwl-add-to-wishlist,
.woocommerce div.product form.cart:has(.tinv-wraper) ~ .tinv-wraper,
.woocommerce div.product form.cart:has(.yith-wcwl-add-to-wishlist) ~ * .yith-wcwl-add-to-wishlist {
  display: none !important;
}

/* Meta Information (SKU, Categories, Tags) */
.woocommerce div.product .product_meta {
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--border-on-light, rgba(7, 47, 42, 0.12)) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-on-light-muted, #5A6068) !important;
}

.woocommerce div.product .product_meta a {
  color: var(--teal-900, #0B4A42) !important;
  text-decoration: none !important;
}

.woocommerce div.product .product_meta a:hover {
  color: var(--magenta-600, #A81D6E) !important;
}

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 48px !important;
  grid-column: 1 / -1 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px 0 !important;
  display: flex !important;
  gap: 24px !important;
  border-bottom: 1px solid var(--border-on-light, rgba(7, 47, 42, 0.12)) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding-bottom: 12px !important;
  position: relative !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--text-on-light-muted, #5A6068) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--teal-900, #0B4A42) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  content: "" !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--marigold-500, #FFB800) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--text-on-light, #2B3036) !important;
}

/* Cart & Checkout Tables */
.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: #FFFFFF;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border-on-light);
  margin-bottom: 36px;
}

.woocommerce table.shop_table th {
  background: var(--grey-100, #E4E7EB);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 16px 20px;
  text-align: left;
}

.woocommerce table.shop_table td {
  padding: 16px 20px;
  border-top: 1px solid var(--border-on-light);
  font-family: var(--font-body);
  font-size: 15px;
}


/* ==========================================
   12. Lush Blog / Journal Styling
   ========================================== */
.lk-blog-container {
  max-width: var(--layout-container-max, 1200px);
  margin: 0 auto;
  padding: 64px 24px 96px;
}

.lk-blog-hero {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 64px;
}

.lk-blog-card {
  background: #FFFFFF;
  border: 1px solid var(--border-on-light, rgba(7, 47, 42, 0.12));
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--duration-fast), box-shadow var(--duration-fast);
  text-decoration: none;
  color: inherit;
}

.lk-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(7, 47, 42, 0.08);
}

.lk-blog-card-img-wrap {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--grey-200);
}

.lk-blog-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
}

.lk-blog-card:hover .lk-blog-card-img-wrap img {
  transform: scale(1.05);
}

.lk-blog-card-body {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.lk-blog-card-title {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.25;
  color: var(--teal-900, #0B4A42);
  margin: 8px 0 12px;
  font-weight: normal;
}

.lk-blog-card-excerpt {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text-on-light-muted);
  margin-bottom: 20px;
  flex-grow: 1;
}

.lk-blog-card-link {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--magenta-600, #A81D6E);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}


