/*
Theme Name: Blocksy Child (Vinuma Arts)
Theme URI: https://vinuma.in/
Description: Blocksy Child Theme with Vinuma Arts customizations for soft neomorphic UI and responsive layouts.
Author: Skillup Ventures
Author URI: 
Template: blocksy
Version: 1.1
Text Domain: blocksy-child
*/

/* =========================================================
   Vinuma Art - 2026 Responsive & Soft UI Enhancements
   ========================================================= */

:root {
  --vinuma-gold: #c99a3c;
  --vinuma-gold-dark: #a8751d;
  --vinuma-cream: #fffaf1;
  --vinuma-ivory: #fffdf8;
  --vinuma-brown: #5f4424;
  --vinuma-navy: #17263b;
  --vinuma-soft-shadow: 8px 8px 22px rgba(87, 62, 28, 0.10),
                        -8px -8px 22px rgba(255, 255, 255, 0.85);
  --vinuma-soft-shadow-hover: 12px 12px 30px rgba(87, 62, 28, 0.14),
                              -10px -10px 26px rgba(255, 255, 255, 0.92);
}

/* ---------------------------------------------------------
   Global smoothing
--------------------------------------------------------- */

html,
body {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  background: var(--vinuma-ivory);
}

img {
  max-width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
   Header refinement
--------------------------------------------------------- */

.site-header,
header,
.header,
.main-header {
  transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.site-header img,
header img,
.hfe-site-logo-container img {
  max-height: 110px !important;
  width: auto !important;
  object-fit: contain !important;
}

@media (min-width: 1025px) {
  .site-header,
  header,
  .main-header {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .site-header .menu,
  header .menu,
  nav ul {
    align-items: center;
    gap: 26px;
  }
}

/* =========================================================
   EAEL Woo Product Carousel repair
   ========================================================= */

.eael-woo-product-carousel.products,
.eael-woo-product-carousel .products.swiper-wrapper {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.eael-woo-product-carousel .products.swiper-wrapper::before,
.eael-woo-product-carousel .products.swiper-wrapper::after {
  display: none !important;
  content: none !important;
}

.eael-woo-product-carousel .products.swiper-wrapper > .product.swiper-slide {
  flex: 0 0 calc((100% - 30px) / 4) !important;
  width: calc((100% - 30px) / 4) !important;
  max-width: calc((100% - 30px) / 4) !important;
  margin-right: 10px !important;
}

.eael-woo-product-carousel .products.swiper-wrapper > .product.swiper-slide .eael-product-carousel {
  height: 100%;
}

@media (max-width: 1024px) {
  .eael-woo-product-carousel .products.swiper-wrapper > .product.swiper-slide {
    flex-basis: calc((100% - 20px) / 3) !important;
    width: calc((100% - 20px) / 3) !important;
    max-width: calc((100% - 20px) / 3) !important;
  }
}

@media (max-width: 768px) {
  .eael-woo-product-carousel .products.swiper-wrapper > .product.swiper-slide {
    flex-basis: calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
  }
}

/* Reduce very tall header spacing on desktop */
@media (min-width: 1200px) {
  .site-header,
  header {
    min-height: auto;
  }
}

/* ---------------------------------------------------------
   Hero section
--------------------------------------------------------- */

.hero,
.home-hero,
.banner,
.main-banner,
.elementor-section:first-of-type,
.elementor-64 > .elementor-element:first-of-type {
  position: relative;
  overflow: hidden;
}

.hero h1,
.home-hero h1,
.banner h1,
.main-banner h1,
.elementor-section:first-of-type h1,
.elementor-64 > .elementor-element:first-of-type h2 {
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}

.hero p,
.home-hero p,
.banner p,
.main-banner p,
.elementor-section:first-of-type p,
.elementor-64 > .elementor-element:first-of-type p {
  font-size: clamp(15px, 1.3vw, 18px) !important;
  line-height: 1.7 !important;
}

/* Mobile hero readability */
@media (max-width: 768px) {
  .hero,
  .home-hero,
  .banner,
  .main-banner,
  .elementor-64 > .elementor-element:first-of-type {
    min-height: 480px !important;
    background-position: center center !important;
  }

  .hero::before,
  .home-hero::before,
  .banner::before,
  .main-banner::before,
  .elementor-64 > .elementor-element:first-of-type::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: 1;
    pointer-events: none;
  }

  .hero > *,
  .home-hero > *,
  .banner > *,
  .main-banner > *,
  .elementor-64 > .elementor-element:first-of-type > * {
    position: relative;
    z-index: 2;
  }

  .hero h1,
  .home-hero h1,
  .banner h1,
  .main-banner h1,
  .elementor-64 > .elementor-element:first-of-type h2 {
    font-size: 34px !important;
    line-height: 1.16 !important;
  }

  .hero p,
  .home-hero p,
  .banner p,
  .main-banner p,
  .elementor-64 > .elementor-element:first-of-type p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
}

/* ---------------------------------------------------------
   Buttons and micro-interactions
--------------------------------------------------------- */

button,
.button,
.wp-element-button,
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
input[type="submit"],
a[class*="button"],
.elementor-button {
  border-radius: 8px !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease !important;
}

button:hover,
.button:hover,
.wp-element-button:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
input[type="submit"]:hover,
a[class*="button"]:hover,
.elementor-button:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 10px 24px rgba(201, 151, 58, 0.24) !important;
}

/* Keyboard accessibility */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--vinuma-gold) !important;
  outline-offset: 3px !important;
}

/* ---------------------------------------------------------
   Our Collections Grid and Cards (Wider, Circular & Premium)
--------------------------------------------------------- */

/* Grid Columns for Our Collections */
.elementor-element-9a546df,
.elementor-element-1853ac6 {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

@media (max-width: 1200px) {
  .elementor-element-9a546df,
  .elementor-element-1853ac6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 768px) {
  .elementor-element-9a546df,
  .elementor-element-1853ac6 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* Neomorphic styling only for collections cards */
.elementor-element-9a546df > .e-con-full,
.elementor-element-1853ac6 > .e-con-full,
.elementor-element-9a546df > .e-child,
.elementor-element-1853ac6 > .e-child {
  background: var(--vinuma-cream) !important;
  border: 1px solid rgba(201, 151, 58, 0.16) !important;
  border-radius: 22px !important;
  box-shadow: var(--vinuma-soft-shadow) !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.elementor-element-9a546df > .e-con-full:hover,
.elementor-element-1853ac6 > .e-con-full:hover,
.elementor-element-9a546df > .e-child:hover,
.elementor-element-1853ac6 > .e-child:hover {
  transform: translateY(-4px) scale(1.01) !important;
  border-color: rgba(201, 151, 58, 0.32) !important;
  box-shadow: var(--vinuma-soft-shadow-hover) !important;
}

/* Collections circular images constraint */
.elementor-element-9a546df .elementor-widget-image img,
.elementor-element-1853ac6 .elementor-widget-image img {
  width: 100% !important;
  max-width: 150px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin-bottom: 8px !important;
  transition: transform 0.45s ease !important;
}

.elementor-element-9a546df .elementor-widget-image a,
.elementor-element-1853ac6 .elementor-widget-image a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* Titles wrapping & sizes inside collections cards */
.elementor-element-9a546df h2.elementor-heading-title,
.elementor-element-1853ac6 h2.elementor-heading-title {
  font-size: clamp(13px, 1.1vw, 16px) !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
}

.elementor-element-9a546df h2.elementor-heading-title a,
.elementor-element-1853ac6 h2.elementor-heading-title a {
  color: var(--vinuma-navy) !important;
  text-decoration: none !important;
  word-break: keep-all !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  display: block !important;
}

/* ---------------------------------------------------------
   WooCommerce Catalog Product Cards - Earthy Neomorphism
--------------------------------------------------------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.products .product,
.product-card {
  background: var(--vinuma-cream) !important;
  border: 1px solid rgba(201, 151, 58, 0.16) !important;
  border-radius: 22px !important;
  box-shadow: var(--vinuma-soft-shadow) !important;
  overflow: hidden;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease !important;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.products .product:hover,
.product-card:hover {
  transform: translateY(-4px) scale(1.01) !important;
  border-color: rgba(201, 151, 58, 0.32) !important;
  box-shadow: var(--vinuma-soft-shadow-hover) !important;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product img,
.products .product img,
.product-card img {
  border-radius: 18px 18px 0 0 !important;
  transition: transform 0.45s ease !important;
}

.woocommerce ul.products li.product:hover img,
.wc-block-grid__product:hover img,
.products .product:hover img,
.product-card:hover img {
  transform: scale(1.035) !important;
}

/* Product text spacing */
.woocommerce ul.products li.product,
.products .product {
  padding: 14px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  color: var(--vinuma-navy) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* ---------------------------------------------------------
   Grid responsiveness
--------------------------------------------------------- */

.woocommerce ul.products,
.products,
.wc-block-grid__products,
.collections-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.products::before,
.products::after {
  display: none !important;
}

.woocommerce ul.products li.product,
.products .product {
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 1199px) {
  .woocommerce ul.products,
  .products,
  .wc-block-grid__products,
  .collections-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .products,
  .wc-block-grid__products,
  .collections-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .woocommerce ul.products li.product,
  .products .product,
  .wc-block-grid__product {
    border-radius: 18px !important;
    padding: 10px !important;
  }
}

@media (max-width: 380px) {
  .woocommerce ul.products,
  .products,
  .wc-block-grid__products,
  .collections-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* ---------------------------------------------------------
   Section spacing
--------------------------------------------------------- */

section,
.elementor-section,
.wp-block-group {
  padding-left: clamp(18px, 4vw, 72px) !important;
  padding-right: clamp(18px, 4vw, 72px) !important;
}

.section,
.elementor-section {
  padding-top: clamp(48px, 6vw, 96px) !important;
  padding-bottom: clamp(48px, 6vw, 96px) !important;
}

h2,
.section-title,
.elementor-heading-title {
  font-size: clamp(28px, 3vw, 44px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

/* ---------------------------------------------------------
   Header icons / cart / wishlist interactions
--------------------------------------------------------- */

.header-cart-icon,
.cart-contents,
.site-header-cart,
.wishlist-icon,
a[href*="wishlist"],
a[href*="cart"],
.header a {
  transition: transform 0.3s ease, color 0.3s ease !important;
}

.header-cart-icon:hover,
.cart-contents:hover,
.site-header-cart:hover,
.wishlist-icon:hover,
a[href*="wishlist"]:hover,
a[href*="cart"]:hover {
  transform: scale(1.06) !important;
}

/* ---------------------------------------------------------
   Floating cart / basket FAB
--------------------------------------------------------- */

.floating-cart,
.floating-cart-button,
.xoo-wsc-basket,
.woofc-count,
a[href*="cart"].floating,
.cart-fab {
  position: fixed !important;
  right: 24px !important;
  bottom: 28px !important;
  z-index: 9999 !important;
  transition:
    transform 0.28s ease,
    opacity 0.28s ease,
    box-shadow 0.28s ease !important;
}

.floating-cart:hover,
.floating-cart-button:hover,
.xoo-wsc-basket:hover,
.woofc-count:hover,
.cart-fab:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 12px 28px rgba(201, 151, 58, 0.3) !important;
}

.vinuma-fab-hidden {
  transform: translateY(90px) scale(0.92) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .floating-cart,
  .floating-cart-button,
  .xoo-wsc-basket,
  .woofc-count,
  .cart-fab {
    right: 18px !important;
    bottom: 18px !important;
    width: 52px !important;
    height: 52px !important;
  }
}

/* Dynamic positioning when WooCommerce store notice bar is active */
body.vinuma-has-notice-visible .floating-cart,
body.vinuma-has-notice-visible .floating-cart-button,
body.vinuma-has-notice-visible .xoo-wsc-basket,
body.vinuma-has-notice-visible .woofc-count,
body.vinuma-has-notice-visible .cart-fab,
body.vinuma-has-notice-visible a[href*="cart"].floating {
  bottom: 84px !important;
}

@media (max-width: 768px) {
  body.vinuma-has-notice-visible .floating-cart,
  body.vinuma-has-notice-visible .floating-cart-button,
  body.vinuma-has-notice-visible .xoo-wsc-basket,
  body.vinuma-has-notice-visible .woofc-count,
  body.vinuma-has-notice-visible .cart-fab {
    bottom: 74px !important;
  }
}

/* ---------------------------------------------------------
   Mobile header and menu usability
--------------------------------------------------------- */

@media (max-width: 768px) {
  .site-header,
  header,
  .main-header {
    padding: 12px 18px !important;
  }

  .site-header img,
  header img,
  .hfe-site-logo-container img {
    max-height: 60px !important;
  }

  nav ul,
  .main-navigation ul,
  .menu {
    gap: 12px !important;
  }

  input[type="search"],
  .search-field,
  .search-form input {
    width: 100% !important;
    min-height: 44px !important;
  }

  a,
  button,
  .button,
  .menu-toggle,
  .wpr-mobile-toggle,
  .hfe-nav-menu__toggle {
    min-height: 44px !important;
  }
}

/* ---------------------------------------------------------
   WooCommerce cart / checkout mobile cleanup
--------------------------------------------------------- */

@media (max-width: 768px) {
  .woocommerce-cart table.cart,
  .woocommerce-checkout form.checkout {
    width: 100% !important;
  }

  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
  }

  .woocommerce table.shop_table {
    border-radius: 16px !important;
    overflow: hidden !important;
  }
}

/* ---------------------------------------------------------
   WooCommerce Store Notice (Announcement Bar)
--------------------------------------------------------- */
.woocommerce-store-notice,
.demo_store {
  background-color: var(--vinuma-gold) !important;
  color: var(--vinuma-ivory) !important;
  border: none !important;
  font-family: "Rosarivo", Georgia, serif !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  padding: 12px 30px !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  z-index: 99999 !important;
  box-shadow: 0 -4px 16px rgba(87, 62, 28, 0.15) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

.woocommerce-store-notice__dismiss-link,
.woocommerce-store-notice .woocommerce-store-notice__dismiss-link {
  background: rgba(255, 255, 255, 0.2) !important;
  color: var(--vinuma-cream) !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: background 0.3s ease !important;
}

.woocommerce-store-notice__dismiss-link:hover,
.woocommerce-store-notice .woocommerce-store-notice__dismiss-link:hover {
  background: rgba(255, 255, 255, 0.35) !important;
}

/* ---------------------------------------------------------
   Search Drawer Overlay for Mobile
--------------------------------------------------------- */
.vinuma-search-drawer {
  position: fixed;
  inset: 0;
  background: rgba(23, 38, 59, 0.96); /* deep navy with opacity */
  z-index: 999999 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.vinuma-search-drawer.is-active {
  opacity: 1;
  pointer-events: auto;
}

.vinuma-search-drawer-inner {
  width: 100%;
  max-width: 500px;
  position: relative;
}

/* Close button for search drawer */
.vinuma-search-close {
  position: absolute;
  top: -60px;
  right: 10px;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 32px;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.vinuma-search-close:hover {
  transform: rotate(90deg);
}

/* Styles for search input inside the drawer */
.vinuma-search-drawer input[type="search"] {
  width: 100% !important;
  padding: 16px 24px !important;
  background: var(--vinuma-cream) !important;
  border: 2px solid var(--vinuma-gold) !important;
  border-radius: 30px !important;
  color: var(--vinuma-navy) !important;
  font-size: 18px !important;
  outline: none !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
}

/* Hide the native search widget on mobile headers/navigation */
@media (max-width: 768px) {
  .elementor-widget-wpr-search,
  .wpr-search-form-wrap,
  .search-form,
  .hfe-search-form,
  .elementor-element-ab8c150,
  .elementor-element-deefbd8,
  .elementor-element-e3a9f79,
  .elementor-element-06cc5eb {
    display: none !important;
  }
}

/* Search trigger button style */
.vinuma-search-trigger {
  background: none;
  border: none;
  color: var(--vinuma-gold);
  font-size: 22px;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display: none; /* JS will show it on mobile */
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  .vinuma-search-trigger {
    display: flex;
  }
}

/* =========================================================
   Vinuma UI/UX Correction Pass
   Senior Product Design Review - Liquid Glassmorphism & Cinematic Motion
   ========================================================= */

:root {
  --vinuma-gold: #c99a3c;
  --vinuma-gold-dark: #a8751d;
  --vinuma-cream: #fffaf1;
  --vinuma-ivory: #fffdf8;
  --vinuma-brown: #5f4424;
  --vinuma-navy: #17263b;
  --vinuma-notice-height: 0px;
  
  /* Liquid Glass design tokens */
  --vinuma-glass-bg: rgba(255, 253, 248, 0.72);
  --vinuma-glass-border: rgba(201, 154, 60, 0.22);
  --vinuma-glass-shadow: 
    0 8px 32px 0 rgba(95, 68, 36, 0.06), 
    0 1px 2px 0 rgba(0, 0, 0, 0.05),
    inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  --vinuma-glass-shadow-hover: 
    0 20px 40px 0 rgba(95, 68, 36, 0.12), 
    0 1px 2px 0 rgba(0, 0, 0, 0.05),
    inset 0 0 0 1px rgba(255, 255, 255, 0.8);
  --vinuma-glass-blur: blur(20px);
  
  /* Cinematic Motion curves */
  --vinuma-transition-fluid: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --vinuma-transition-image: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Basic safety */
html,
body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}


/* Accessible focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--vinuma-gold) !important;
  outline-offset: 3px !important;
}

/* Minimum tap targets */
a,
button,
.button,
.menu-toggle,
.header-cart-icon,
.cart-contents,
.wishlist-icon,
.site-header a,
.site-header button {
  min-width: 44px;
  min-height: 44px;
}

/* =========================================================
   Header UX Correction (Liquid Glass Floating Navigation)
   ========================================================= */

.site-header,
#masthead,
header.site-header,
.elementor-sticky--active {
  background: var(--vinuma-glass-bg) !important;
  backdrop-filter: var(--vinuma-glass-blur) !important;
  -webkit-backdrop-filter: var(--vinuma-glass-blur) !important;
  border-bottom: 1px solid rgba(201, 154, 60, 0.15) !important;
  box-shadow: 0 4px 30px rgba(95, 68, 36, 0.04) !important;
  transition: var(--vinuma-transition-fluid) !important;
}

@media (min-width: 1025px) {
  .site-header,
  #masthead,
  header.site-header {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .site-header img,
  #masthead img {
    max-height: 104px;
    width: auto;
    object-fit: contain;
  }
}

@media (max-width: 768px) {
  .site-header,
  #masthead,
  header.site-header {
    padding: 10px 16px !important;
  }

  .site-header img,
  #masthead img {
    max-height: 68px !important;
    width: auto !important;
    object-fit: contain;
  }

  /* Hide original inline search widgets on mobile header */
  #masthead .elementor-widget-wpr-search,
  #masthead .wpr-search-form,
  #masthead .hfe-search-form {
    display: none !important;
  }
}

/* =========================================================
   Our Collections - Corrected Premium Category Tiles
   ========================================================= */

.vinuma-collections-section {
  background: #fff !important;
  padding-block: clamp(52px, 6vw, 92px) !important;
}

.vinuma-collections-grid {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 32px) !important;
  align-items: stretch !important;
}

.vinuma-category-card {
  width: 100% !important;
  margin-inline: auto !important;
  background: var(--vinuma-glass-bg) !important;
  backdrop-filter: var(--vinuma-glass-blur) !important;
  -webkit-backdrop-filter: var(--vinuma-glass-blur) !important;
  border: 1px solid var(--vinuma-glass-border) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: var(--vinuma-glass-shadow) !important;
  transition: var(--vinuma-transition-fluid) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.vinuma-category-card:hover {
  transform: translateY(-8px) scale(1.015) !important;
  border-color: rgba(201, 154, 60, 0.45) !important;
  box-shadow: var(--vinuma-glass-shadow-hover) !important;
}

.vinuma-category-card img,
.elementor-element-9a546df .elementor-widget-image img,
.elementor-element-1853ac6 .elementor-widget-image img {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1.05 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 20px 20px 0 0 !important;
  margin-bottom: 0 !important;
  transition: var(--vinuma-transition-image) !important;
}

.vinuma-category-card:hover img,
.elementor-element-9a546df .elementor-widget-image:hover img,
.elementor-element-1853ac6 .elementor-widget-image:hover img {
  transform: scale(1.04) !important;
}

.vinuma-category-card h2,
.vinuma-category-card h3,
.vinuma-category-card .elementor-heading-title {
  font-size: clamp(17px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  text-align: center !important;
  padding: 14px 10px 16px !important;
  margin: 0 !important;
  color: var(--vinuma-navy) !important;
  font-weight: 700 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

.vinuma-category-card h2 a,
.vinuma-category-card h3 a,
.vinuma-category-card .elementor-heading-title a {
  color: var(--vinuma-navy) !important;
  text-decoration: none !important;
  display: block !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Mobile collection grid */
@media (max-width: 768px) {
  .vinuma-collections-grid {
    width: min(100% - 28px, 440px) !important;
    grid-template-columns: repeat(2, minmax(145px, 1fr)) !important;
    gap: 16px !important;
  }

  .vinuma-category-card {
    border-radius: 20px !important;
  }

  .vinuma-category-card h2,
  .vinuma-category-card h3,
  .vinuma-category-card .elementor-heading-title {
    font-size: 17px !important;
    line-height: 1.2 !important;
    padding: 12px 8px 14px !important;
  }
}

@media (max-width: 380px) {
  .vinuma-collections-grid {
    grid-template-columns: repeat(2, minmax(135px, 1fr)) !important;
    gap: 12px !important;
  }

  .vinuma-category-card h2,
  .vinuma-category-card h3,
  .vinuma-category-card .elementor-heading-title {
    font-size: 16px !important;
  }
}

/* =========================================================
   WooCommerce Product Cards (Liquid Glass Tiles)
   ========================================================= */

.woocommerce ul.products,
.products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 30px) !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.products::before,
.products::after {
  display: none !important;
}

.woocommerce ul.products li.product,
.products .product,
.wc-block-grid__product {
  width: auto !important;
  margin: 0 !important;
  background: var(--vinuma-glass-bg) !important;
  backdrop-filter: var(--vinuma-glass-blur) !important;
  -webkit-backdrop-filter: var(--vinuma-glass-blur) !important;
  border: 1px solid var(--vinuma-glass-border) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  padding: 16px !important;
  box-shadow: var(--vinuma-glass-shadow) !important;
  transition: var(--vinuma-transition-fluid) !important;
}

.woocommerce ul.products li.product:hover,
.products .product:hover,
.wc-block-grid__product:hover {
  transform: translateY(-8px) scale(1.015) !important;
  border-color: rgba(201, 154, 60, 0.45) !important;
  box-shadow: var(--vinuma-glass-shadow-hover) !important;
}

.woocommerce ul.products li.product img,
.products .product img,
.wc-block-grid__product img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  transition: var(--vinuma-transition-image) !important;
}

.woocommerce ul.products li.product:hover img,
.products .product:hover img,
.wc-block-grid__product:hover img {
  transform: scale(1.04) !important;
}

/* Polished larger font size for Product Names */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-size: clamp(17px, 1.25vw, 22px) !important;
  line-height: 1.3 !important;
  color: var(--vinuma-navy) !important;
  font-weight: 700 !important;
  margin-top: 14px !important;
  transition: color 0.3s ease !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.products .product:hover .woocommerce-loop-product__title {
  color: var(--vinuma-gold-dark) !important;
}

.woocommerce ul.products li.product .price,
.products .product .price {
  color: var(--vinuma-brown) !important;
  font-weight: 700 !important;
  font-size: clamp(16px, 1.1vw, 20px) !important;
  margin-top: 6px !important;
  display: block !important;
}

.woocommerce ul.products li.product .button,
.products .product .button,
.wc-block-grid__product .wp-block-button__link {
  width: 100% !important;
  text-align: center !important;
  border-radius: 12px !important;
  margin-top: 14px !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .products,
  .wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .woocommerce ul.products li.product,
  .products .product,
  .wc-block-grid__product {
    padding: 12px !important;
    border-radius: 20px !important;
  }

  .woocommerce ul.products li.product .button,
  .products .product .button,
  .wc-block-grid__product .wp-block-button__link {
    width: 100% !important;
    display: block !important;
  }
}

/* =========================================================
   Custom Homepage Product Tiles (Liquid Glass style)
   ========================================================= */

.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) {
  background: var(--vinuma-glass-bg) !important;
  backdrop-filter: var(--vinuma-glass-blur) !important;
  -webkit-backdrop-filter: var(--vinuma-glass-blur) !important;
  border: 1px solid var(--vinuma-glass-border) !important;
  border-radius: 24px !important;
  padding: 16px !important;
  box-shadow: var(--vinuma-glass-shadow) !important;
  transition: var(--vinuma-transition-fluid) !important;
  box-sizing: border-box !important;
}

.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button):hover {
  transform: translateY(-8px) scale(1.015) !important;
  border-color: rgba(201, 154, 60, 0.45) !important;
  box-shadow: var(--vinuma-glass-shadow-hover) !important;
}

.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) .elementor-widget-image img {
  border-radius: 16px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  transition: var(--vinuma-transition-image) !important;
}

.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button):hover .elementor-widget-image img {
  transform: scale(1.04) !important;
}

.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) .elementor-widget-button .elementor-button {
  width: 100% !important;
  text-align: center !important;
  border-radius: 12px !important;
  margin-top: 14px !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
}

/* =========================================================
   Buttons + Microinteractions
   ========================================================= */

button,
.button,
.wp-element-button,
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
input[type="submit"],
a[class*="button"] {
  transition: var(--vinuma-transition-fluid) !important;
}

button:hover,
.button:hover,
.wp-element-button:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
input[type="submit"]:hover,
a[class*="button"]:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 24px rgba(201, 151, 58, 0.3) !important;
}

/* =========================================================
   Floating Cart / FAB Correction (Translucent Gold Glass)
   ========================================================= */

.floating-cart,
.floating-cart-button,
.xoo-wsc-basket,
.woofc-count,
.cart-fab,
a[href*="cart"].floating {
  bottom: calc(22px + var(--vinuma-notice-height)) !important;
  right: 24px !important;
  z-index: 9998 !important;
  background: rgba(201, 154, 60, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 
    0 8px 32px 0 rgba(95, 68, 36, 0.18), 
    inset 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
  transition:
    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.4s ease,
    bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.floating-cart:hover,
.floating-cart-button:hover,
.xoo-wsc-basket:hover,
.cart-fab:hover {
  transform: scale(1.08) translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(95, 68, 36, 0.26) !important;
}

.vinuma-fab-hidden {
  transform: translateY(90px) scale(0.92) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .floating-cart,
  .floating-cart-button,
  .xoo-wsc-basket,
  .woofc-count,
  .cart-fab,
  a[href*="cart"].floating {
    right: 16px !important;
    bottom: calc(16px + var(--vinuma-notice-height)) !important;
    width: 52px !important;
    height: 52px !important;
  }
}

/* =========================================================
   Store Notice
   ========================================================= */

.woocommerce-store-notice,
.demo_store {
  background: var(--vinuma-gold) !important;
  color: #fffaf1 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
  padding: 10px 48px 10px 18px !important;
  box-shadow: 0 -8px 24px rgba(95, 68, 36, 0.16) !important;
}

.woocommerce-store-notice a,
.demo_store a {
  color: #fffaf1 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* =========================================================
   Typographic Corrections
   ========================================================= */

h1,
h2,
h3,
.elementor-heading-title {
  text-wrap: balance !important;
}

p {
  text-wrap: pretty !important;
}

/* =========================================================
   Search Drawer Custom Styles (Cinematic Entry & Frost Glass)
   ========================================================= */

.vinuma-search-trigger {
  display: none;
  border: 0;
  background: transparent;
  color: var(--vinuma-gold);
  cursor: pointer;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.vinuma-search-trigger svg {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.vinuma-search-trigger:hover svg {
  transform: scale(1.15) rotate(5deg);
}

.vinuma-search-drawer {
  position: fixed;
  inset: 0;
  z-index: 100000 !important;
  background: rgba(255, 253, 248, 0.78) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  padding: 30px;
  box-shadow: 0 16px 40px rgba(95, 68, 36, 0.18);
  transform: translateY(-30px) scale(0.96) !important;
  opacity: 0 !important;
  pointer-events: none;
  transition: 
    transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.4s ease,
    backdrop-filter 0.4s ease !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.vinuma-search-drawer.is-open {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
  pointer-events: auto;
}

.vinuma-search-drawer form {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  position: relative;
}

.vinuma-search-drawer input[type="search"] {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 30px !important;
  border: 2px solid var(--vinuma-gold) !important;
  padding: 12px 28px !important;
  font-size: 18px !important;
  color: var(--vinuma-navy) !important;
  background: var(--vinuma-cream) !important;
  outline: none !important;
  box-shadow: 0 8px 32px rgba(95, 68, 36, 0.12) !important;
}

.vinuma-search-drawer input[type="search"]:focus {
  border-color: var(--vinuma-gold-dark) !important;
  box-shadow: 0 8px 32px rgba(95, 68, 36, 0.2) !important;
}

.vinuma-search-close {
  position: absolute;
  top: 24px;
  right: 24px;
  border: 0;
  background: var(--vinuma-gold);
  color: #fffaf1;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s ease !important;
}

.vinuma-search-close:hover {
  transform: rotate(90deg) scale(1.08) !important;
  background: var(--vinuma-gold-dark) !important;
}

@media (max-width: 768px) {
  .vinuma-search-trigger {
    display: inline-flex;
  }
}

/* =========================================================
   Vinuma Premium Polish Pass
   Footer + Related Products + Mobile Typography + Liquid Glass
   ========================================================= */

:root {
  --vinuma-glass-bg: rgba(255, 253, 248, 0.76);
  --vinuma-glass-bg-strong: rgba(255, 250, 241, 0.88);
  --vinuma-glass-border: rgba(201, 154, 60, 0.26);
  --vinuma-glass-shadow:
    0 18px 44px rgba(76, 52, 24, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
  --vinuma-motion: 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

/* Liquid Glass utility for ecommerce cards */
.woocommerce ul.products li.product,
.products .product,
.related.products ul.products li.product,
.cross-sells ul.products li.product,
.upsells ul.products li.product,
.wc-block-grid__product {
  background: var(--vinuma-glass-bg);
  border: 1px solid var(--vinuma-glass-border);
  border-radius: 24px;
  box-shadow: var(--vinuma-glass-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: hidden;
  padding: 14px;
  transition:
    transform var(--vinuma-motion),
    box-shadow var(--vinuma-motion),
    border-color var(--vinuma-motion);
}

.woocommerce ul.products li.product:hover,
.products .product:hover,
.related.products ul.products li.product:hover,
.cross-sells ul.products li.product:hover,
.upsells ul.products li.product:hover,
.wc-block-grid__product:hover {
  transform: translateY(-6px);
  border-color: rgba(201, 154, 60, 0.42);
  box-shadow:
    0 24px 54px rgba(76, 52, 24, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

/* Product images */
.woocommerce ul.products li.product img,
.products .product img,
.related.products ul.products li.product img,
.cross-sells ul.products li.product img,
.upsells ul.products li.product img,
.wc-block-grid__product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 18px;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.woocommerce ul.products li.product:hover img,
.products .product:hover img,
.related.products ul.products li.product:hover img,
.cross-sells ul.products li.product:hover img,
.upsells ul.products li.product:hover img {
  transform: scale(1.035);
}

/* Stronger product title hierarchy */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.related.products ul.products li.product .woocommerce-loop-product__title,
.cross-sells ul.products li.product .woocommerce-loop-product__title,
.upsells ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-size: clamp(17px, 1.25vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  color: #17263b !important;
  margin: 12px 0 7px !important;
  letter-spacing: -0.01em;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Related products need stronger mobile readability */
.related.products > h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.15 !important;
  text-align: center;
  margin-bottom: 28px !important;
}

.related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 28px);
}

.related.products ul.products::before,
.related.products ul.products::after {
  display: none !important;
}

.related.products ul.products li.product {
  width: auto !important;
  margin: 0 !important;
}

/* Hide noisy related-product category/meta text */
.related.products .posted_in,
.related.products .product_meta,
.related.products li.product .ast-woo-product-category,
.related.products li.product .woocommerce-loop-category__title,
.related.products li.product .product-categories,
.related.products li.product .category,
.related.products li.product .categories {
  display: none !important;
}

/* Price hierarchy */
.woocommerce ul.products li.product .price,
.products .product .price,
.related.products ul.products li.product .price,
.cross-sells ul.products li.product .price,
.upsells ul.products li.product .price {
  display: block;
  color: #5f4424 !important;
  font-size: clamp(15px, 1vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 6px 0 12px !important;
}

/* CTA buttons */
.woocommerce ul.products li.product .button,
.products .product .button,
.related.products ul.products li.product .button,
.cross-sells ul.products li.product .button,
.upsells ul.products li.product .button,
.wc-block-grid__product .wp-block-button__link {
  width: 100%;
  min-height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  transition:
    transform var(--vinuma-motion),
    box-shadow var(--vinuma-motion),
    background-color var(--vinuma-motion);
}

.woocommerce ul.products li.product .button:hover,
.products .product .button:hover,
.related.products ul.products li.product .button:hover {
  transform: translateY(-1px) scale(1.015);
  box-shadow: 0 12px 28px rgba(201, 154, 60, 0.25);
}

/* Product grid responsiveness */
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .products,
  .related.products ul.products,
  .cross-sells ul.products,
  .upsells ul.products,
  .wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .products,
  .related.products ul.products,
  .cross-sells ul.products,
  .upsells ul.products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .woocommerce ul.products li.product,
  .products .product,
  .related.products ul.products li.product,
  .cross-sells ul.products li.product,
  .upsells ul.products li.product,
  .wc-block-grid__product {
    padding: 11px;
    border-radius: 20px;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .products .product .woocommerce-loop-product__title,
  .related.products ul.products li.product .woocommerce-loop-product__title,
  .cross-sells ul.products li.product .woocommerce-loop-product__title,
  .upsells ul.products li.product .woocommerce-loop-product__title,
  .wc-block-grid__product-title {
    font-size: 17.5px !important;
    line-height: 1.25 !important;
  }

  .woocommerce ul.products li.product .price,
  .products .product .price,
  .related.products ul.products li.product .price {
    font-size: 15.5px !important;
  }
}

@media (max-width: 360px) {
  .related.products ul.products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products,
  .products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .products .product .woocommerce-loop-product__title,
  .wc-block-grid__product-title {
    font-size: 16.5px !important;
  }
}

/* =========================================================
   Footer polish
   ========================================================= */

footer,
.site-footer,
.elementor-location-footer {
  background:
    linear-gradient(135deg, rgba(255, 250, 241, 0.96), rgba(246, 235, 219, 0.92));
  color: #17263b;
}

footer h2,
footer h3,
.site-footer h2,
.site-footer h3,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer .elementor-heading-title {
  font-size: clamp(16px, 1.35vw, 18px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  margin-bottom: 12px !important;
  color: #17263b !important;
}

footer p,
.site-footer p,
.elementor-location-footer p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: rgba(23, 38, 59, 0.82);
}

footer a,
.site-footer a,
.elementor-location-footer a {
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  color: rgba(23, 38, 59, 0.86) !important;
  text-decoration: none !important;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  transition:
    color var(--vinuma-motion),
    transform var(--vinuma-motion);
}

footer a:hover,
.site-footer a:hover,
.elementor-location-footer a:hover {
  color: #a8751d !important;
  transform: translateX(2px);
}

@media (max-width: 768px) {
  footer,
  .site-footer,
  .elementor-location-footer {
    text-align: left;
  }

  footer a,
  .site-footer a,
  .elementor-location-footer a {
    min-height: 44px;
    font-size: 15.5px !important;
  }
}

/* =========================================================
   Header and drawer Liquid Glass restraint
   ========================================================= */

.site-header,
#masthead,
header.site-header {
  background: rgba(255, 253, 248, 0.82) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(201, 154, 60, 0.18);
  box-shadow: 0 10px 36px rgba(76, 52, 24, 0.08);
}

/* Keep dark text readable on glass */
.site-header a,
#masthead a,
.site-header button,
#masthead button {
  color: #17263b;
}

/* Mobile drawer glass */
.vinuma-search-drawer {
  background: rgba(255, 250, 241, 0.92) !important;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 24px 64px rgba(76, 52, 24, 0.2);
  transition:
    transform 360ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 280ms ease;
}

/* Floating cart glass */
.floating-cart,
.floating-cart-button,
.xoo-wsc-basket,
.woofc-count,
.cart-fab,
a[href*="cart"].floating {
  background: rgba(201, 154, 60, 0.86) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 18px 44px rgba(95, 68, 36, 0.22);
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid #c99a3c !important;
  outline-offset: 3px !important;
}

/* =========================================================
   Vinuma Emergency UI/UX Correction
   Fixes Related Products + Footer Broken Text
   ========================================================= */

:root {
  --vinuma-gold: #c99a3c;
  --vinuma-dark: #241100;
  --vinuma-navy: #17263b;
  --vinuma-cream: #fffaf1;
  --vinuma-glass-bg: rgba(255, 253, 248, 0.82);
  --vinuma-glass-border: rgba(201, 154, 60, 0.26);
  --vinuma-motion: 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Stop broken word rendering globally for commerce/footer */
.woocommerce,
.woocommerce *,
.related.products,
.related.products *,
footer,
footer *,
.site-footer,
.site-footer *,
.elementor-location-footer,
.elementor-location-footer * {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
   Product Detail Page: Reviews + Related Products
   ========================================================= */

.woocommerce div.product .woocommerce-tabs {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.woocommerce-Tabs-panel--reviews {
  padding-block: clamp(28px, 4vw, 56px) !important;
}

.woocommerce-Reviews-title,
#reviews .woocommerce-Reviews-title {
  font-size: clamp(30px, 3.5vw, 54px) !important;
  line-height: 1.1 !important;
  margin-bottom: 18px !important;
}

/* Related products must not collapse */
.woocommerce div.product .related.products,
.related.products {
  clear: both !important;
  float: none !important;
  display: block !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: clamp(36px, 5vw, 72px) auto !important;
  padding: 0 !important;
}

.related.products > h2 {
  font-size: clamp(30px, 3.4vw, 52px) !important;
  line-height: 1.08 !important;
  margin: 0 0 clamp(24px, 3vw, 40px) !important;
  color: var(--vinuma-navy) !important;
  text-align: left;
  max-width: none !important;
  white-space: normal !important;
}

/* Related product grid */
.related.products ul.products {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(4, minmax(190px, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 30px) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

.related.products ul.products::before,
.related.products ul.products::after {
  display: none !important;
}

/* Related product card */
.related.products ul.products li.product {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--vinuma-glass-bg) !important;
  border: 1px solid var(--vinuma-glass-border) !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 44px rgba(76, 52, 24, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: hidden !important;
  transition:
    transform var(--vinuma-motion),
    box-shadow var(--vinuma-motion),
    border-color var(--vinuma-motion);
}

.related.products ul.products li.product:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 154, 60, 0.42) !important;
  box-shadow:
    0 24px 54px rgba(76, 52, 24, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}

/* Related product image */
.related.products ul.products li.product img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  display: block !important;
  margin: 0 0 12px !important;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.related.products ul.products li.product:hover img {
  transform: scale(1.035);
}

/* Related product title */
.related.products ul.products li.product .woocommerce-loop-product__title,
.related.products ul.products li.product h2,
.related.products ul.products li.product h3 {
  display: block !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  color: var(--vinuma-navy) !important;
  letter-spacing: -0.01em;
  margin: 8px 0 8px !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Price */
.related.products ul.products li.product .price {
  display: block !important;
  color: #5f4424 !important;
  font-size: clamp(15.5px, 1vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 12px !important;
}

/* Hide clutter in related cards */
.related.products .posted_in,
.related.products .product_meta,
.related.products li.product .ast-woo-product-category,
.related.products li.product .woocommerce-loop-category__title,
.related.products li.product .product-categories,
.related.products li.product .category,
.related.products li.product .categories {
  display: none !important;
}

/* CTA */
.related.products ul.products li.product .button,
.related.products ul.products li.product a.button {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-top: auto !important;
}

/* Responsive related products */
@media (max-width: 1024px) {
  .related.products ul.products {
    grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce div.product .related.products,
  .related.products {
    width: min(100% - 28px, 640px) !important;
  }

  .related.products > h2 {
    font-size: clamp(28px, 8vw, 42px) !important;
    text-align: center;
  }

  .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .related.products ul.products li.product {
    padding: 11px !important;
    border-radius: 20px !important;
  }

  .related.products ul.products li.product .woocommerce-loop-product__title,
  .related.products ul.products li.product h2,
  .related.products ul.products li.product h3 {
    font-size: 17.5px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 360px) {
  .related.products ul.products {
    grid-template-columns: 1fr !important;
  }

  .related.products ul.products li.product .woocommerce-loop-product__title,
  .related.products ul.products li.product h2,
  .related.products ul.products li.product h3 {
    font-size: 18px !important;
  }
}

/* =========================================================
   Global WooCommerce product cards
   ========================================================= */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-size: clamp(17px, 1.25vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  color: var(--vinuma-navy) !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.woocommerce ul.products li.product .button,
.products .product .button,
.wc-block-grid__product .wp-block-button__link {
  min-height: 44px !important;
}

/* =========================================================
   Footer Correction
   ========================================================= */

footer,
.site-footer,
.elementor-location-footer {
  background: #241100 !important;
  color: #fffaf1 !important;
  overflow-x: hidden !important;
}

/* Footer layout: prevent narrow broken columns */
footer .e-con-inner,
.site-footer .e-con-inner,
.elementor-location-footer .e-con-inner,
footer .e-grid,
.site-footer .e-grid,
.elementor-location-footer .e-grid {
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}

/* If footer uses Elementor grid */
.elementor-location-footer .e-grid,
footer .e-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 1.7fr) minmax(180px, 0.8fr) minmax(210px, 1fr) minmax(190px, 0.9fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: start !important;
}

/* Footer headings */
footer h1,
footer h2,
footer h3,
footer h4,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer .elementor-heading-title {
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  color: var(--vinuma-gold) !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  max-width: none !important;
}

/* Footer paragraph and links */
footer p,
.site-footer p,
.elementor-location-footer p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: rgba(255, 250, 241, 0.9) !important;
}

footer a,
.site-footer a,
.elementor-location-footer a {
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  color: rgba(255, 250, 241, 0.92) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  transition:
    color var(--vinuma-motion),
    transform var(--vinuma-motion);
}

footer a:hover,
.site-footer a:hover,
.elementor-location-footer a:hover {
  color: var(--vinuma-gold) !important;
  transform: translateX(2px);
}

/* Footer logo should not dominate */
footer img,
.site-footer img,
.elementor-location-footer img {
  max-width: 260px !important;
  height: auto !important;
}

/* Footer responsive */
@media (max-width: 1024px) {
  .elementor-location-footer .e-grid,
  footer .e-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  footer .e-con-inner,
  .site-footer .e-con-inner,
  .elementor-location-footer .e-con-inner,
  footer .e-grid,
  .site-footer .e-grid,
  .elementor-location-footer .e-grid {
    width: min(100% - 32px, 520px) !important;
  }

  .elementor-location-footer .e-grid,
  footer .e-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  footer h1,
  footer h2,
  footer h3,
  footer h4,
  .site-footer h1,
  .site-footer h2,
  .site-footer h3,
  .site-footer h4,
  .elementor-location-footer h1,
  .elementor-location-footer h2,
  .elementor-location-footer h3,
  .elementor-location-footer h4,
  .elementor-location-footer .elementor-heading-title {
    font-size: 23px !important;
  }

  footer a,
  .site-footer a,
  .elementor-location-footer a {
    min-height: 44px !important;
    font-size: 16px !important;
  }
}

/* =========================================================
   Focus visibility
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--vinuma-gold) !important;
  outline-offset: 3px !important;
}

/* =========================================================
   Vinuma Footer Contact Heading + Active Menu State Fix
   ========================================================= */

/* Footer heading consistency */
footer h2,
footer h3,
footer h4,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer .elementor-heading-title,
.vinuma-footer-contact-heading,
.vinuma-footer-contact-heading .elementor-widget-container,
.vinuma-footer-contact-heading p {
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #c99a3c !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  font-family: inherit !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Keep actual contact details smaller */
footer .vinuma-footer-contact-heading + *,
.elementor-location-footer .vinuma-footer-contact-heading + *,
footer .vinuma-footer-contact-details,
.elementor-location-footer .vinuma-footer-contact-details {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(255, 250, 241, 0.92) !important;
}

/* Footer links/details should not inherit heading size */
footer a,
.site-footer a,
.elementor-location-footer a,
footer p:not(.vinuma-footer-heading),
.site-footer p,
.elementor-location-footer p:not(.vinuma-footer-heading) {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

/* Mobile footer headings */
@media (max-width: 768px) {
  footer h2,
  footer h3,
  footer h4,
  .site-footer h2,
  .site-footer h3,
  .site-footer h4,
  .elementor-location-footer h2,
  .elementor-location-footer h3,
  .elementor-location-footer h4,
  .elementor-location-footer .elementor-heading-title,
  .vinuma-footer-contact-heading,
  .vinuma-footer-contact-heading .elementor-widget-container,
  .vinuma-footer-contact-heading p {
    font-size: 30px !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
  }
}

/* =========================================================
   Active menu / current page state
   ========================================================= */

.site-header nav a,
#masthead nav a,
.main-navigation a,
.menu a {
  position: relative;
  transition:
    color 280ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 280ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Current page text color */
.site-header .current-menu-item > a,
.site-header .current_page_item > a,
.site-header .current-menu-ancestor > a,
.site-header .current-menu-parent > a,
#masthead .current-menu-item > a,
#masthead .current_page_item > a,
#masthead .current-menu-ancestor > a,
#masthead .current-menu-parent > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current-menu-parent > a {
  color: #c99a3c !important;
  font-weight: 700 !important;
}

/* Premium underline active state */
.site-header .current-menu-item > a::after,
.site-header .current_page_item > a::after,
.site-header .current-menu-ancestor > a::after,
.site-header .current-menu-parent > a::after,
#masthead .current-menu-item > a::after,
#masthead .current_page_item > a::after,
#masthead .current-menu-ancestor > a::after,
#masthead .current-menu-parent > a::after,
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after,
.main-navigation .current-menu-ancestor > a::after,
.main-navigation .current-menu-parent > a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #c99a3c, transparent);
}

/* Hover state */
.site-header nav a:hover,
#masthead nav a:hover,
.main-navigation a:hover,
.menu a:hover {
  color: #a8751d !important;
}

/* Mobile menu active state */
@media (max-width: 768px) {
  .site-header .current-menu-item > a,
  .site-header .current_page_item > a,
  .site-header .current-menu-ancestor > a,
  .site-header .current-menu-parent > a,
  #masthead .current-menu-item > a,
  #masthead .current_page_item > a,
  #masthead .current-menu-ancestor > a,
  #masthead .current-menu-parent > a,
  .main-navigation .current-menu-item > a,
  .main-navigation .current_page_item > a,
  .main-navigation .current-menu-ancestor > a,
  .main-navigation .current-menu-parent > a {
    background: rgba(201, 154, 60, 0.12) !important;
    border-radius: 12px;
    padding-inline: 12px;
  }

  .site-header .current-menu-item > a::after,
  .site-header .current_page_item > a::after,
  .site-header .current-menu-ancestor > a::after,
  .site-header .current-menu-parent > a::after,
  #masthead .current-menu-item > a::after,
  #masthead .current_page_item > a::after,
  #masthead .current-menu-ancestor > a::after,
  #masthead .current-menu-parent > a::after,
  .main-navigation .current-menu-item > a::after,
  .main-navigation .current_page_item > a::after,
  .main-navigation .current-menu-ancestor > a::after,
  .main-navigation .current-menu-parent > a::after {
    display: none;
  }
}

/* =========================================================
   Footer hierarchy correction
   ========================================================= */

footer .elementor-element-6c65ffa > .e-con-inner,
.elementor-location-footer .elementor-element-6c65ffa > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.15fr) minmax(610px, 1.6fr) !important;
  gap: clamp(36px, 4vw, 64px) !important;
  align-items: start !important;
}

footer .elementor-element-2104cc3,
.elementor-location-footer .elementor-element-2104cc3 {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  grid-template-columns: minmax(170px, 0.95fr) minmax(205px, 1fr) minmax(175px, 0.95fr) !important;
  gap: clamp(24px, 3vw, 44px) !important;
  align-items: start !important;
}

footer .elementor-element-8559ab6,
footer .elementor-element-b80747d,
footer .elementor-element-04abbb3,
.elementor-location-footer .elementor-element-8559ab6,
.elementor-location-footer .elementor-element-b80747d,
.elementor-location-footer .elementor-element-04abbb3 {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

footer .elementor-element-6c65ffa h2.elementor-heading-title,
footer .elementor-element-6c65ffa h2.elementor-heading-title a,
.elementor-location-footer .elementor-element-6c65ffa h2.elementor-heading-title,
.elementor-location-footer .elementor-element-6c65ffa h2.elementor-heading-title a {
  display: block !important;
  font-size: clamp(26px, 2.15vw, 34px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: #c99a3c !important;
  text-decoration: none !important;
  margin: 0 0 22px !important;
  min-height: 0 !important;
}

footer .elementor-element-6c65ffa .elementor-icon-list-item,
.elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-item {
  margin-block-start: 0 !important;
  padding-block-end: 0 !important;
}

footer .elementor-element-6c65ffa .elementor-icon-list-item > a,
footer .elementor-element-6c65ffa .elementor-icon-list-text,
.elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-item > a,
.elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-text {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: rgba(255, 250, 241, 0.92) !important;
  min-height: 32px !important;
}

footer .elementor-element-6c65ffa .elementor-icon-list-icon,
.elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-icon {
  width: 18px !important;
  min-width: 18px !important;
  margin-right: 8px !important;
}

footer .elementor-element-6c65ffa .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: #c99a3c !important;
}

footer .elementor-element-6c65ffa .elementor-widget-text-editor,
footer .elementor-element-6c65ffa .elementor-widget-text-editor p,
.elementor-location-footer .elementor-element-6c65ffa .elementor-widget-text-editor,
.elementor-location-footer .elementor-element-6c65ffa .elementor-widget-text-editor p {
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  color: rgba(255, 250, 241, 0.9) !important;
}

footer .elementor-element-6c65ffa .elementor-widget-text-editor p,
.elementor-location-footer .elementor-element-6c65ffa .elementor-widget-text-editor p {
  margin-bottom: 18px !important;
}

@media (max-width: 1024px) {
  footer .elementor-element-6c65ffa > .e-con-inner,
  .elementor-location-footer .elementor-element-6c65ffa > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  footer .elementor-element-2104cc3,
  .elementor-location-footer .elementor-element-2104cc3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  footer .elementor-element-2104cc3,
  .elementor-location-footer .elementor-element-2104cc3 {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  footer .elementor-element-6c65ffa h2.elementor-heading-title,
  footer .elementor-element-6c65ffa h2.elementor-heading-title a,
  .elementor-location-footer .elementor-element-6c65ffa h2.elementor-heading-title,
  .elementor-location-footer .elementor-element-6c65ffa h2.elementor-heading-title a {
    font-size: 28px !important;
    margin-bottom: 14px !important;
  }

  footer .elementor-element-6c65ffa .elementor-icon-list-item > a,
  footer .elementor-element-6c65ffa .elementor-icon-list-text,
  .elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-item > a,
  .elementor-location-footer .elementor-element-6c65ffa .elementor-icon-list-text {
    font-size: 15px !important;
    min-height: 36px !important;
  }
}

/* =========================================================
   Vinuma Product Focus Pass
   Clean product imagery + restrained glass + subtle Indian motion
   ========================================================= */

:root {
  --vinuma-page-bg:
    radial-gradient(circle at 12% 18%, rgba(201, 154, 60, 0.08), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(26, 88, 80, 0.06), transparent 24%),
    linear-gradient(180deg, #fffdf8 0%, #fffaf1 44%, #fffdf8 100%);
  --vinuma-focused-glass: rgba(255, 253, 248, 0.56);
  --vinuma-focused-glass-strong: rgba(255, 253, 248, 0.72);
  --vinuma-focused-border: rgba(201, 154, 60, 0.14);
  --vinuma-focused-shadow: 0 18px 46px rgba(49, 36, 19, 0.08);
  --vinuma-focused-shadow-hover: 0 24px 60px rgba(49, 36, 19, 0.12);
}

body {
  background: var(--vinuma-page-bg) !important;
  position: relative;
  isolation: isolate;
}

body::before,
body::after,
.vinuma-live-background,
.vinuma-live-background::before,
.vinuma-live-background::after {
  position: fixed;
  pointer-events: none;
  z-index: 0;
}

body::before {
  content: "";
  inset: 0;
  opacity: 0.16;
  background-image:
    radial-gradient(circle at center, rgba(201, 154, 60, 0.34) 0 2px, transparent 2px),
    conic-gradient(from 22deg, transparent 0 8deg, rgba(201, 154, 60, 0.22) 8deg 11deg, transparent 11deg 22deg);
  background-size: 92px 92px, 184px 184px;
  background-position: 0 0, 38px 20px;
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
}

body::after {
  content: "";
  width: 34vmax;
  height: 34vmax;
  right: -12vmax;
  top: 18vh;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(201, 154, 60, 0.12), transparent 60%),
    repeating-conic-gradient(from 0deg, rgba(201, 154, 60, 0.18) 0 5deg, transparent 5deg 17deg);
  filter: blur(1px);
  opacity: 0.22;
  animation: vinumaSlowSpin 42s linear infinite;
}

.vinuma-live-background {
  inset: 0;
  overflow: hidden;
}

.vinuma-live-background::before,
.vinuma-live-background::after {
  content: "";
  border-radius: 999px;
  filter: blur(0.5px);
  opacity: 0.2;
  animation: vinumaFloatPetal 18s ease-in-out infinite alternate;
}

.vinuma-live-background::before {
  width: 190px;
  height: 190px;
  left: max(22px, 4vw);
  top: 28vh;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(160, 65, 47, 0.18), transparent 35%),
    radial-gradient(ellipse at 50% 82%, rgba(201, 154, 60, 0.16), transparent 36%);
}

.vinuma-live-background::after {
  width: 260px;
  height: 260px;
  right: 8vw;
  bottom: 12vh;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(26, 88, 80, 0.14), transparent 38%),
    radial-gradient(ellipse at 70% 50%, rgba(201, 154, 60, 0.15), transparent 40%);
  animation-delay: -7s;
}

@keyframes vinumaSlowSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes vinumaFloatPetal {
  from {
    transform: translate3d(0, 0, 0) rotate(-4deg);
  }

  to {
    transform: translate3d(16px, -24px, 0) rotate(7deg);
  }
}

.woocommerce ul.products,
.products,
.wc-block-grid__products,
.related.products ul.products,
.cross-sells ul.products,
.upsells ul.products,
.vinuma-collections-grid {
  align-items: stretch !important;
}

.woocommerce ul.products li.product,
.products .product,
.related.products ul.products li.product,
.cross-sells ul.products li.product,
.upsells ul.products li.product,
.wc-block-grid__product,
.vinuma-category-card,
.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) {
  background: var(--vinuma-focused-glass) !important;
  border: 1px solid var(--vinuma-focused-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--vinuma-focused-shadow) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
  overflow: hidden !important;
  transform: translateZ(0);
}

.woocommerce ul.products li.product:hover,
.products .product:hover,
.related.products ul.products li.product:hover,
.cross-sells ul.products li.product:hover,
.upsells ul.products li.product:hover,
.wc-block-grid__product:hover,
.vinuma-category-card:hover,
.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button):hover {
  border-color: rgba(201, 154, 60, 0.24) !important;
  box-shadow: var(--vinuma-focused-shadow-hover) !important;
  transform: translateY(-4px) !important;
}

.woocommerce ul.products li.product a:first-child,
.products .product a:first-child,
.related.products ul.products li.product a:first-child,
.cross-sells ul.products li.product a:first-child,
.upsells ul.products li.product a:first-child,
.wc-block-grid__product-link,
.vinuma-category-card .elementor-widget-image,
.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) .elementor-widget-image {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product img,
.products .product img,
.related.products ul.products li.product img,
.cross-sells ul.products li.product img,
.upsells ul.products li.product img,
.wc-block-grid__product img,
.vinuma-category-card img,
.elementor-element-9a546df .elementor-widget-image img,
.elementor-element-1853ac6 .elementor-widget-image img,
.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  outline: 0 !important;
  transition: transform 460ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce ul.products li.product:hover img,
.products .product:hover img,
.related.products ul.products li.product:hover img,
.cross-sells ul.products li.product:hover img,
.upsells ul.products li.product:hover img,
.wc-block-grid__product:hover img,
.vinuma-category-card:hover img,
.elementor-element-9a546df .elementor-widget-image:hover img,
.elementor-element-1853ac6 .elementor-widget-image:hover img,
.e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button):hover .elementor-widget-image img {
  transform: scale(1.025) !important;
}

.woocommerce ul.products li.product,
.products .product,
.related.products ul.products li.product,
.cross-sells ul.products li.product,
.upsells ul.products li.product,
.wc-block-grid__product {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.related.products ul.products li.product .woocommerce-loop-product__title,
.cross-sells ul.products li.product .woocommerce-loop-product__title,
.upsells ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  padding-inline: clamp(12px, 1.4vw, 18px) !important;
  margin: 14px 0 6px !important;
  text-align: center !important;
  letter-spacing: 0 !important;
}

.woocommerce ul.products li.product .price,
.products .product .price,
.related.products ul.products li.product .price,
.cross-sells ul.products li.product .price,
.upsells ul.products li.product .price {
  padding-inline: clamp(12px, 1.4vw, 18px) !important;
  text-align: center !important;
  margin-bottom: 14px !important;
}

.woocommerce ul.products li.product .button,
.products .product .button,
.related.products ul.products li.product .button,
.cross-sells ul.products li.product .button,
.upsells ul.products li.product .button,
.wc-block-grid__product .wp-block-button__link {
  width: calc(100% - 24px) !important;
  margin: auto 12px 12px !important;
}

.vinuma-category-card,
.elementor-element-9a546df > .e-con-full,
.elementor-element-1853ac6 > .e-con-full,
.elementor-element-9a546df > .e-child,
.elementor-element-1853ac6 > .e-child {
  padding: 0 !important;
}

.vinuma-category-card h2,
.vinuma-category-card h3,
.vinuma-category-card .elementor-heading-title,
.elementor-element-9a546df h2.elementor-heading-title,
.elementor-element-1853ac6 h2.elementor-heading-title {
  padding: 14px 12px 16px !important;
  margin: 0 !important;
  letter-spacing: 0 !important;
}

.elementor-section,
.e-con,
.wp-block-group {
  position: relative;
}

.elementor-section:not(.elementor-location-footer),
.e-con:not(.elementor-location-footer):not(footer),
.wp-block-group {
  background-color: transparent;
}

.elementor-widget-container,
.woocommerce {
  position: relative;
  z-index: 1;
}

#main,
main,
.site-main,
.site-content,
.ct-container,
.elementor,
.elementor-location-header,
.elementor-location-footer,
footer {
  position: relative;
  z-index: 1;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .products,
  .related.products ul.products,
  .cross-sells ul.products,
  .upsells ul.products,
  .wc-block-grid__products {
    gap: 18px !important;
  }
}

@media (max-width: 768px) {
  body::before {
    opacity: 0.1;
    background-size: 72px 72px, 144px 144px;
  }

  body::after,
  .vinuma-live-background::before,
  .vinuma-live-background::after {
    opacity: 0.14;
  }

  .woocommerce ul.products,
  .products,
  .related.products ul.products,
  .cross-sells ul.products,
  .upsells ul.products,
  .wc-block-grid__products,
  .vinuma-collections-grid {
    gap: 14px !important;
  }

  .woocommerce ul.products li.product,
  .products .product,
  .related.products ul.products li.product,
  .cross-sells ul.products li.product,
  .upsells ul.products li.product,
  .wc-block-grid__product,
  .vinuma-category-card,
  .e-grid > .e-con-full.e-flex:has(.elementor-widget-image):has(.elementor-widget-button) {
    border-radius: 15px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .products .product .woocommerce-loop-product__title,
  .related.products ul.products li.product .woocommerce-loop-product__title,
  .cross-sells ul.products li.product .woocommerce-loop-product__title,
  .upsells ul.products li.product .woocommerce-loop-product__title,
  .wc-block-grid__product-title {
    font-size: clamp(15px, 4.1vw, 17px) !important;
    line-height: 1.24 !important;
    padding-inline: 10px !important;
  }

  .woocommerce ul.products li.product .price,
  .products .product .price,
  .related.products ul.products li.product .price {
    font-size: 14px !important;
    padding-inline: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body::after,
  .vinuma-live-background::before,
  .vinuma-live-background::after {
    animation: none !important;
  }
}

/* =========================================================
   Mobile Hero Collision Fix
   Keeps hero copy, trust icons, cart FAB, and notice separated
   ========================================================= */

@media (max-width: 768px) {
  .hero,
  .home-hero,
  .banner,
  .main-banner,
  .elementor-section:first-of-type,
  .elementor-64 > .elementor-element:first-of-type {
    min-height: max(720px, calc(100svh - 88px)) !important;
    padding: clamp(44px, 8vh, 72px) 20px calc(138px + var(--vinuma-notice-height, 0px)) !important;
    background-position: 58% center !important;
  }

  .hero::before,
  .home-hero::before,
  .banner::before,
  .main-banner::before,
  .elementor-section:first-of-type::before,
  .elementor-64 > .elementor-element:first-of-type::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(18, 18, 16, 0.66) 0%, rgba(18, 18, 16, 0.46) 48%, rgba(18, 18, 16, 0.18) 100%),
      linear-gradient(180deg, rgba(18, 18, 16, 0.12) 0%, rgba(18, 18, 16, 0.2) 72%, rgba(18, 18, 16, 0.48) 100%);
    z-index: 1;
    pointer-events: none;
  }

  .hero > *,
  .home-hero > *,
  .banner > *,
  .main-banner > *,
  .elementor-section:first-of-type > *,
  .elementor-64 > .elementor-element:first-of-type > * {
    position: relative;
    z-index: 2;
  }

  .hero h1,
  .home-hero h1,
  .banner h1,
  .main-banner h1,
  .elementor-section:first-of-type h1,
  .elementor-64 > .elementor-element:first-of-type h2 {
    max-width: 10.5em !important;
    font-size: clamp(34px, 10.2vw, 45px) !important;
    line-height: 1.12 !important;
    margin-bottom: 18px !important;
    letter-spacing: 0 !important;
  }

  .hero p,
  .home-hero p,
  .banner p,
  .main-banner p,
  .elementor-section:first-of-type p,
  .elementor-64 > .elementor-element:first-of-type p {
    max-width: 22em !important;
    font-size: clamp(16px, 4.4vw, 19px) !important;
    line-height: 1.55 !important;
    margin-bottom: 20px !important;
  }

  .hero .elementor-button,
  .home-hero .elementor-button,
  .banner .elementor-button,
  .main-banner .elementor-button,
  .elementor-section:first-of-type .elementor-button,
  .elementor-64 > .elementor-element:first-of-type .elementor-button {
    min-height: 52px !important;
    padding: 13px 22px !important;
    font-size: 18px !important;
  }

  .hero .elementor-icon-box-wrapper,
  .home-hero .elementor-icon-box-wrapper,
  .banner .elementor-icon-box-wrapper,
  .main-banner .elementor-icon-box-wrapper,
  .elementor-section:first-of-type .elementor-icon-box-wrapper,
  .elementor-64 > .elementor-element:first-of-type .elementor-icon-box-wrapper {
    max-width: 112px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .hero .elementor-icon-box-title,
  .home-hero .elementor-icon-box-title,
  .banner .elementor-icon-box-title,
  .main-banner .elementor-icon-box-title,
  .elementor-section:first-of-type .elementor-icon-box-title,
  .elementor-64 > .elementor-element:first-of-type .elementor-icon-box-title {
    font-size: clamp(14px, 3.7vw, 17px) !important;
    line-height: 1.28 !important;
    margin: 8px 0 0 !important;
  }

  .floating-cart,
  .floating-cart-button,
  .xoo-wsc-basket,
  .woofc-count,
  .cart-fab,
  a[href*="cart"].floating {
    right: 12px !important;
    bottom: calc(12px + var(--vinuma-notice-height, 0px)) !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  .woocommerce-store-notice,
  .demo_store {
    min-height: 58px !important;
    padding: 10px 56px 10px 16px !important;
    font-size: clamp(13px, 3.8vw, 16px) !important;
    line-height: 1.32 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .woocommerce-store-notice__dismiss-link,
  .woocommerce-store-notice .woocommerce-store-notice__dismiss-link,
  .demo_store .woocommerce-store-notice__dismiss-link {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  .woocommerce-store-notice__dismiss-link::before,
  .woocommerce-store-notice .woocommerce-store-notice__dismiss-link::before,
  .demo_store .woocommerce-store-notice__dismiss-link::before {
    content: "x";
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
  }
}

@media (max-width: 380px) {
  .hero,
  .home-hero,
  .banner,
  .main-banner,
  .elementor-section:first-of-type,
  .elementor-64 > .elementor-element:first-of-type {
    min-height: max(760px, calc(100svh - 78px)) !important;
    padding-inline: 18px !important;
  }
}
