/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0.4
*/

/* =====================================================
   GLOBAL
===================================================== */


:root {
    --color-primary: #7A1F2B;
    --color-primary-hover: #804048;/*#525050;*/
    --color-text: #2A2A2A;
    --color-text-light:   #6B6B6B;
    --color-bg: #efebe5;
    --color-surface: #F7F7F7;
    --color-border: #E5E5E5;
    --color-accent: goldenrod;
    --color-badge: #aa151b;

    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-full: 999px;
}



body {
    font-family: 'Roboto', sans-serif;
    background: var(--color-bg);
}

/* Ensure all main layout areas share background */

.site-main,
.site-footer,
.site-header {
  background: transparent;
}

.elementor-image-box-description{
  color: var(--color-text-light)!important;
  font-size: smaller!important;
  width: 80%;
}
/* =====================================================
Hide elements that are not needed, or that will be replaced by custom ones.
=======================================================*/
.woocommerce-ordering,.woocommerce-result-count, .woocommerce-breadcrumb,.page-header .entry-title{
  display:none !important;
}
/* =====================================================
   THEME COLORS
===================================================== */

.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--color-text) !important;
}

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

.woocommerce .product_meta a,
.woocommerce .posted_in a,
.woocommerce .tagged_as a {
    color: var(--color-primary) !important;
}

.woocommerce .product_meta a:hover,
.woocommerce .posted_in a:hover,
.woocommerce .tagged_as a:hover {
    color: var(--color-primary-hover) !important;
}

/*LOGO SIZE*/

.elementor-2917 .elementor-element.elementor-element-01f33c2 img{
  max-width: 80px!important;
}

/* =====================================================
   CHECKOUT ELEMENTS and MY ACCOUNT
===================================================== */
.elementor-widget-woocommerce-cart .e-cart-section,.elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
.woocommerce-additional-fields,
.e-checkout__order_review,
.e-coupon-box,
.woocommerce-checkout-payment{
  border-radius: var(--radius-md)!important;
  border:none!important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.elementor-widget-woocommerce-cart .woocommerce button.button,
.button.alt,
.woocommerce-button.button.e-apply-coupon,
.woocommerce-Button.button,
.woocommerce-form-login__submit{
  color: var(--color-surface)!important;
  background-color: var(--color-primary)!important;
  border:none!important;
}

.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward) {
  color: var(--color-primary)!important;
}
.elementor-widget-woocommerce-checkout-page a {
  color: var(--color-primary)!important;
}
li.ab-item a{
  color: #ffffff!important;
}
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a,
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a{
  color: var(--color-text)!important;
  font-weight: 600;
}


/* =====================================================
   HEADER WRAPPER
===================================================== */

/* ================= HEADER POSITION FIX ================= */

.floating-glass-header{
  position: fixed;
  top: 44px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: min(1200px, calc(100vw - 32px)) !important;
  z-index: 9999;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}

/* Glass box (the visible header) */
.glass-box{
  transform: scale(1);
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    backdrop-filter .35s ease,
    background .35s ease;
}

/* Shrunk state */
.floating-glass-header.is-shrunk .glass-box{
  transform: scale(.92);
  padding-top: 6px;
  padding-bottom: 6px;
}




/* =====================================================
   OVERRIDE ELEMENTOR INNER WRAPPER
===================================================== */

.floating-glass-header > .e-con-inner{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  gap: 14px !important;
}


/* Kill Elementor child sizing */
.floating-glass-header .e-child{
  flex: 0 0 auto !important;
  width: auto !important;
}


/* =====================================================
   GLASS BASE
===================================================== */

.glass-box{

  --glass-blur: 10px;
  --glass-opacity: 0.55;

  background: rgba(255,255,255,var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(180%);

  border-radius: var(--radius-full);
  border: 1px solid rgba(255,255,255,0.35);

  box-shadow:
    0 6px 20px rgba(0,0,0,0.12),
    inset 0 1px 0 rgba(255,255,255,0.4);

  padding: 10px 40px;

  display: flex !important;
  align-items: center;
  justify-content: center;

  white-space: nowrap;
}

.glass-box{
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  background: rgba(255,255,255,0.60);

  border: 1px solid rgba(255,255,255,0.35);

  box-shadow:
    0 8px 30px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.6);

  transition: all .35s ease;
}
@media (max-width: 767px){
  .glass-box{
    padding: 6px 8px !important;
  }
}


/*HIDE CART TOTAL ON MOBILE*/
@media (max-width: 767px){

  .cart-total{
    display: none !important;
  }
}
/*MOBILE FONTS*/
@media (max-width: 767px){

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

  .uva-producer{
    font-size: 16px !important;
  }

  .woocommerce ul.products li.product .price{
    font-size: 18px !important;
    margin-bottom:30px;
  }

}
/*MOBILE ICONS*/

@media (max-width: 767px){

  .uva-icon{
    width: 52px !important;
    height: 52px !important;
  }

  .uva-icon svg{
    width: 52px !important;
    height: 52px !important
    ;
  }

}

/* =====================================================
   FLEX LOGIC
===================================================== */

/* Logo + buttons fixed */
.glass-logo,
.glass-buttons{
  flex: 0 0 auto !important;
}
/* Buttons container must be reference for search */
.glass-buttons{
  position: relative !important;
  overflow: hidden; /* prevents visual glitches */
}


/* Menu grows */
.glass-menu{
  flex: 1 1 auto !important;
  min-width: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  /*padding: 10px 40px;*/
}


/* Nav fills menu */
.glass-menu .elementor-nav-menu,
.glass-menu .elementor-nav-menu > ul{
  display: flex !important;
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 18px;
}

.bottle-grid{
    margin-top:60px;
}


/* =====================================================
   MOBILE
===================================================== */

/* Hide menu + hamburger on mobile */
@media (max-width: 767px){

  /* Hide menu pill */
  .glass-menu{
    display: none !important;
  }

  /* Hide Elementor hamburger toggle */
  .elementor-menu-toggle{
    display: none !important;
  }

  /* Hide mobile dropdown menu */
  .elementor-nav-menu--dropdown{
    display: none !important;
  }

}
/* =====================================================
   MOBILE: FIT LOGO + BUTTONS HORIZONTALLY
===================================================== */

@media (max-width: 767px){

  /* Force single row */
  .floating-glass-header > .e-con-inner{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  /* Hide menu (already done, but keep safe) */
  .glass-menu{
    display: none !important;
  }

  /* Let logo shrink if needed */
  .glass-logo{
    flex: 0 0 auto !important;
    max-width: none;
  }

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

  /* Buttons stay compact */
  .glass-buttons{
    flex: 0 0 auto !important;
    white-space: nowrap;
  }

  /* Reduce padding on pills */
  .glass-box{
    padding: 6px 10px !important;
  }

  .bottle-grid{
    margin-top:40px;
}

}

@media (max-width: 767px){

  .floating-glass-header{
    left: 46% !important;
    right: auto !important;

    width: calc(100vw - 20px) !important;

    transform: translateX(-46%);
  }

  .glass-box{
    width: 100%;
    box-sizing: border-box;
  }

}



/* =====================================================
   HEADER ICON BUTTONS (FINAL)
===================================================== */

.floating-glass-header .cart-trigger,
.floating-glass-header .filter-trigger {

  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 44px;
  padding: 0 16px;

  border-radius: var(--radius-full);
  cursor: pointer;
}

/*cart total button*/
.cart-total{
  margin-left: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
/*If cart empty no badge*/
.cart-badge:not(.has-items){
  display: none;
}

/*If cart total empty hide*/
.cart-trigger .cart-total {
  transition: opacity 0.2s ease;
}

.cart-trigger[data-count="0"] .cart-total {
  opacity: 0.4;
}

/*================================
FILTER TRIGGER POLISH
================================ */

.filter-trigger svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: var(--color-surface);
}

/* ===============================
   CART TRIGGER POLISH
================================ */

.cart-trigger {

  display: inline-flex;
  align-items: center;
  gap: 12px;                /* space between icon / badge / total */

  padding: 0 20px;          /* ← left & right space */
  height: 44px;             /* keep your button height */

  border-radius: var(--radius-full);     /* keep pill look */
}

/* Icon size control */
.cart-trigger svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  fill: var(--color-surface);
}

/* Badge spacing */
.cart-trigger .cart-badge {
  margin-left: -4px;        /* pull slightly toward icon */
}

/* Total spacing */
.cart-trigger .cart-total {
  margin-left: 6px;
  font-weight: 500;
  white-space: nowrap;
}

.cart-trigger svg{
  flex-shrink: 0;
}

.cart-total{
  font-weight: 500;
  white-space: nowrap;
}


/* Hover */
.floating-glass-header .filter-trigger:hover,
.floating-glass-header .cart-trigger:hover,
.floating-glass-header .search-trigger{

    color: var(--color-text-light);
    transform: scale(1.08);
}


/* Subtle background hover */
.floating-glass-header .filter-trigger:hover,
.floating-glass-header .cart-trigger:hover {

    background: rgba(255,255,255,0.15);
}

/*CART ICON*/

/* Let SVG render cleanly inside Elementor buttons */
.cart-trigger .elementor-button-text,
.filter-trigger .elementor-button-text{
    display: contents;
}

/* CART BADGE */
.cart-badge{

    position: absolute;
    top: -4px;
    right: -4px;

    min-width: 18px;
    height: 18px;

    background: var(--color-badge);
    color: #fff;

    font-size: 11px;
    font-weight: 600;

    border-radius: var(--radius-full);

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: none;
}



/*Mobile IOS*/
@media (max-width: 767px){

  .floating-glass-header .elementor-button{
    padding: 10px;
  }

  .cart-trigger .elementor-button-text{
    display: none;
  }

}
/* =====================
 SEARCH WRAPPER 
===================== */

.header-search{
  position: absolute;
  inset: 6px; /* keeps same padding as pill */

  display: flex;
  align-items: center;
  gap: 10px;

  background: rgba(255,255,255,0.95);
  border-radius: var(--radius-full);

  padding: 0 14px;

  opacity: 0;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: right center;

  transition: 
    transform 0.35s ease,
    opacity 0.25s ease;
}

/* When active */
.header-search.active{

  width: 360px; /* adjust */
  opacity: 1;

  padding: 6px 14px;
}
.header-search input{

  border: none;
  outline: none;
  background: transparent;

  flex: 1;

  font-size: 14px;
  color: var(--color-text);
}

.header-search input::placeholder{
  color: var(--color-text-light);
}
.header-search svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;

  color: var(--color-text-light);
}
/* Force the search-bar icon to render */
.floating-glass-header .header-search{
  color: var(--color-text-light) !important; /* feeds currentColor */
}

.floating-glass-header .header-search svg{
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
  opacity: 0.8 !important;
}

.search-trigger{

  all: unset;

  width: 52px;
  height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  color: var(--color-border);
}

.search-trigger svg{
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
/* Search open state */
.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.floating-glass-header .search-trigger svg{
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
}



/* ================= HEADER SEARCH SYSTEM ================= */

/* Buttons container */
.glass-buttons{
  display: flex;
  align-items: center;
  gap: 8px;

  transition: all 0.35s ease;
}

/* Search input hidden by default */
.header-search-input{

  width: 0;
  min-width: 0;

  opacity: 0;
  visibility: hidden;

  border: none;
  outline: none;

  background: transparent;

  font-size: 14px;
  color: var(--color-text);

  transition: all 0.35s ease;

}

/* Rounded search button */
.search-trigger{

  width: 40px;
  height: 40px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  background: transparent;

  color: var(--color-text);

  transition: all 0.25s ease;
}

/* Reduce padding when searching */
.floating-glass-header.search-open .glass-buttons{
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* ================= SEARCH FULL WIDTH FIX ================= */

.floating-glass-header.search-open > .e-con-inner{

  display: flex !important;
  justify-content: space-between !important;

}


/* Kill menu width when hidden */
.floating-glass-header.search-open .glass-menu{

  width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

}

/* Let buttons take menu space */
.floating-glass-header.search-open .glass-buttons{

  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;

  margin-left: 14px; /* space from logo */

  justify-content: flex-start !important;

}

/* Hérna Search open state */
.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}


/* Let search fill buttons container */
.floating-glass-header.search-open .header-search{

  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: none !important;

}
/* Hérna Search open state */
.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}


/* Let input really stretch */
.floating-glass-header.search-open .header-search-input{

  flex: 1 1 auto !important;
  width: 100% !important;

}



/* ================= SEARCH OPEN MODE ================= */

.floating-glass-header.search-open .glass-menu{
  opacity: 0;
  pointer-events: none;
  transform: scale(0.95);
}

/* Expand button container */
.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto;
  width: 100%;
}

/* Expand input */
.floating-glass-header.search-open .header-search-input{

  width: 100%;
  min-width: 200px;

  opacity: 1;
  visibility: visible;

  padding: 6px 10px;
}

/* Push other buttons */
.floating-glass-header.search-open .filter-trigger,
.floating-glass-header.search-open .cart-trigger{

  opacity: 0;
  pointer-events: none;
  transform: scale(0.8);

}

/* Search button active */
.floating-glass-header.search-open .search-trigger{
  color: var(--color-primary);
}

/* ================= SEARCH FULL EXPAND ================= */

/* When search is open, let buttons stretch */
.floating-glass-header.search-open .glass-buttons{

  flex: 1 1 100% !important;   /* allow full growth */
  width: 100% !important;

  justify-content: flex-start; /* content flows from left */
}


/* Make search container fill available space */
.floating-glass-header.search-open .header-search{

  flex: 1 1 auto;
  max-width: 100%;
}


/* Let input really stretch */
.floating-glass-header.search-open .header-search-input{

  flex: 1 1 auto;
  width: 100%;
}

/* Search input */
.header-search-input{
  flex: 1 1 auto;
  width: 100%;

  border: none;
  background: transparent;

  font-size: 15px;

  outline: none;
}


/* ================= SEARCH LAYOUT FIX ================= */

/* Turn buttons container into horizontal bar */
.floating-glass-header.search-open .glass-buttons{

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  height: var(--uva-pill-height) !important;

}


/* Remove button sizing when searching */
.floating-glass-header.search-open .search-trigger{

  width: auto !important;
  height: auto !important;

  padding: 0 !important;

  background: transparent !important;

  border-radius: 0 !important;

}


/* Make search container behave like bar */
.floating-glass-header.search-open .header-search{

  display: flex !important;
  align-items: center !important;

  height: 100% !important;

  padding: 0 12px !important;

  background: transparent !important;

}


/* Input fills remaining space */
.floating-glass-header.search-open .header-search-input{

  height: 100% !important;

  padding: 0 10px !important;

  background: transparent !important;

  border: none !important;

  line-height: normal !important;

  font-size: 14px;

}

/* Prevent header jumping */
.floating-glass-header{
  min-height: var(--uva-pill-height);
}

/* Expand buttons container when searching */
.floating-glass-header.search-open .glass-buttons{

  flex: 1 1 auto !important;

  max-width: 100% !important;

  padding: 0 18px !important; /* remove fat padding */

  display: flex !important;
  align-items: center !important;

}
* Remove circle button look */
.floating-glass-header.search-open .search-trigger{

  width: auto !important;
  height: auto !important;

  padding: 0 !important;

  background: transparent !important;

  border-radius: 0 !important;

}
/* Search bar becomes main layout */
.floating-glass-header.search-open .header-search{

  flex: 1 1 auto !important;

  display: flex !important;
  align-items: center !important;

  height: 100% !important;

  margin-left: 8px;

}
/* Input fills available space */
.floating-glass-header.search-open .header-search-input{

  flex: 1 !important;

  height: 100% !important;

  padding: 0 10px !important;

  background: transparent !important;

  border: none !important;

  outline: none !important;

  font-size: 14px;

}
/* Hide menu without collapsing height */
.floating-glass-header.search-open .glass-menu{
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Smooth slow search expand */
.floating-glass-header .header-search{
  transition:
    transform 0.45s cubic-bezier(.22,.61,.36,1),
    opacity   0.25s ease;
}

/* =====================================================
   PRODUCT GRID
===================================================== */

.woocommerce ul.products li.product {
    position: relative;

    background: #fff !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;

    padding: 70px 12px 14px !important;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.woocommerce ul.products li.product .price {
    color: var(--color-text-light);
}

/* =====================================================
   PRODUCER
===================================================== */

.uva-producer {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #777;

    margin: 6px 0 2px;
}

/* =====================================================
   ADD TO CART PILL
===================================================== */

.products .product.uva-has-qty .add_to_cart_button {

    display: flex !important;
    align-items: center;
    justify-content: space-between;

    height: 42px;

    padding: 6px 12px !important;

    border-radius: var(--radius-full) !important;

    background: var(--color-primary) !important;
    color: #fff !important;

    gap: 6px;
}

.uva-qty-btn {

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,0.18);
    color: #fff;

    cursor: pointer;
}

.uva-qty-btn:hover {
    background: rgba(255,255,255,0.28);
}

.uva-qty-count {
    min-width: 26px;
    text-align: center;
    font-weight: 600;
}

.uva-qty-btn.minus {
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.uva-qty-btn.minus[style*="display: none"] {
    opacity: 0;
    transform: scale(0.8);
}
/* =====================================================
   CART PILL COUNTER MORPH
===================================================== */

.uva-qty-count{
  display:inline-block;
  position:relative;
  overflow:hidden;
  height:1.1em;
  line-height:1.1em;
}

.uva-qty-count-inner{
  display:flex;
  flex-direction:column;
  transform:translateY(0);
  transition:transform .28s cubic-bezier(.2,.7,.2,1);
}

.uva-qty-count.morph-up .uva-qty-count-inner{
  transform:translateY(-100%);
}

.uva-qty-count.morph-down .uva-qty-count-inner{
  transform:translateY(100%);
}

/* =====================================================
   FIX HEADER CART DOUBLE PILL
===================================================== */

/* Remove inner button styling */
.elementor-menu-cart__toggle_button {

    background: transparent !important;
    border-radius: 0 !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
}

/* Let ONLY the outer cart-trigger control styling */
.cart-trigger {
    border-radius: var(--uva-pill-radius) !important;
}

/* =====================================================
   FIX PRODUCT BUTTON POSITION (LOCK TO BOTTOM)
===================================================== */

/* Make product card full height */
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}

/* Push cart section down */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    margin-top: auto !important;
}


/* ===============================
   Pill Loading State
================================ */

.uva-has-qty.loading {
    opacity: 0.6;
    pointer-events: none;
}

.uva-has-qty.loading .uva-qty-btn {
    cursor: wait;
}


/* =====================================================
   WOOCOMMERCE: Hide View basket ALWAYS (no flicker)
===================================================== */

a.added_to_cart,
.woocommerce a.added_to_cart,
.woocommerce .added_to_cart,
.woocommerce-message a.wc-forward,
.woocommerce-message a.button.wc-forward{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* =====================================================
   ICON LAYER (IMPORTANT PART)
===================================================== */

/* Containers */

.uva-icons-left,
.uva-icons-right {

    position: absolute;
    top: 12px;

    display: flex;
    flex-direction: column;
    gap: 10px;

    z-index: 100;

    pointer-events: none; /* allow children only */
}

/* Left */

.uva-icons-left {
    left: 10px;
}

/* Right */

.uva-icons-right {
    right: 10px;
}

/* Icons */

.uva-icon {

    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    color: #c4c4c4;

    transition: color 0.2s ease, transform 0.15s ease;

    pointer-events: auto;
}

/* Base icon state */
a .uva-icon,.uva-icon {
  color: var(--border-color, #E5E5E5)!important;
  transition: color 0.2s ease;
}

.uva-icon svg {
  fill: currentColor;
  transition: transform 0.2s ease;
}

a .uva-icon:hover,.uva-icon:hover {
  color: var(--color-text-light)!important;
}

a .uva-icon:hover,.uva-icon:hover svg {
  transform: scale(1.12);
}

.uva-icon {
  color: var(--border-color, #E5E5E5)!important;
  transition: color 0.2s ease;
}

.uva-icon svg {
  fill: currentColor;
  transition: transform 0.2s ease;
}

.uva-icon:hover {
  color: var(--color-text-light)!important;
}

.uva-icon:hover svg {
  transform: scale(1.12)!important;
}





/* =====================================================
   ICONS: Flag flush to top border, stack stays same
===================================================== */

.uva-icons-right{
  top: 12px !important;           /* normal column position */
  padding-top: 0 !important;      /* reset any old padding */
}

.uva-icons-right .uva-icon.country{
  position: absolute !important;
  top: -12px !important;          /* “touch border” look */
  right: 0 !important;
}

/* push the rest down (but NOT the flag) */
.uva-icons-right .uva-icon:not(.country){
  margin-top: 8px;               /* adjust to taste */
}


.uva-icons-left{
    padding-top:52px;
}

/* =====================================================
   ICONS: Reduce ONLY Instagram to avoid clipping
===================================================== */

.uva-icon.share.ig svg{
  transform: scale(0.86);
  transform-origin: center;
}


/* =====================================================
   ARTICLE POPUP
===================================================== */

.article-divider {
    width: 100%;
    margin: 20px 0 !important;
    border: 1px solid var(--color-border);
}

/* =====================================================
   BEROCKET: CHECKBOXES AS SVG CIRCLES
===================================================== */

.bapf_body input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;

  width:20px !important;
  height:20px !important;

  border:none !important;
  border-radius:var(--radius-full) !important;

  background: url("/wp-content/themes/hello-elementor-child/assets/icons/checkbox-off.svg")
    no-repeat center !important;
  background-size: 20px 20px !important;

  margin-right:10px !important;
  vertical-align: middle !important;

  cursor:pointer !important;
}

/* checked */
.bapf_body input[type="checkbox"]:checked{
  background: url("/wp-content/themes/hello-elementor-child/assets/icons/checkbox-on.svg")
    no-repeat center !important;
  background-size: 20px 20px !important;
}

/* =====================================================
   BEROCKET: PRICE SLIDER – REASSERT BRAND COLOR
===================================================== */

.irs--flat .irs-bar,
.irs--flat .irs-single,
.irs--flat .irs-from,
.irs--flat .irs-to{
  background-color: var(--color-primary) !important;
}

.irs--flat .irs-from:before,
.irs--flat .irs-to:before{
  border-top-color: var(--color-primary) !important;
}

.irs--flat .irs-handle > i:first-child{
  background-color: var(--color-primary) !important;

}

/* =====================================================
BEROKET FONT ADJUSTMENTS
====================================================== */

.bapf_head h3,h3.bapf_hascolarr{font-size: 1rem !important;}/* Redefining Filter main*/
.bapf_body ul li{font-size: 90%!important;} /* Reducing filter category font size*/
.bapf_body ul li label{line-height:2!important;} /* fixing label spacing*/
.bapf_head .bapf_colaps_togl,.bapf_sfilter{ cursor: pointer;}
/* =====================================================
   WOOCOMMERCE PAGINATION – PILL BUTTONS
===================================================== */

.woocommerce nav.woocommerce-pagination ul{
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li{
  border: none !important;
  margin: 0 6px !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius: var(--radius-full) !important;
  padding: 10px 14px !important;
  min-width: 44px;
  text-align: center;
  background: #fff !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-text) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* =====================================================
   MASTER PILL SYSTEM – ALL BUTTONS
===================================================== */

:root {
    --uva-pill-radius: var(--radius-full);
    --uva-pill-height: 44px;
}


/* Core pill styling */

.uva-pill,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.products .product .add_to_cart_button,
.elementor-button,
.cart-trigger,
.filter-trigger,
.elementor-menu-cart__toggle_button {

    border-radius: var(--uva-pill-radius) !important;

    height: var(--uva-pill-height) !important;
    min-height: var(--uva-pill-height) !important;

    padding: 0 22px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
}


/* Primary buttons (default look) */

.woocommerce a.button,
.products .product .add_to_cart_button,
.elementor-button,
.cart-trigger,
.filter-trigger,
.elementor-menu-cart__toggle_button {

    background: var(--color-primary) !important;
    color: #fff !important;
}


/* Hover */

.woocommerce a.button:hover,
.products .product .add_to_cart_button:hover,
.elementor-button:hover,
.cart-trigger:hover,
.filter-trigger:hover {

    background: var(--color-primary-hover) !important;
}


/* Active */

.woocommerce a.button:active,
.products .product .add_to_cart_button:active,
.cart-trigger:active,
.filter-trigger:active {

    transform: scale(0.97);
}


/* Quantity pill = same geometry */

.products .product.uva-has-qty .add_to_cart_button {
    border-radius: var(--uva-pill-radius) !important;
    height: var(--uva-pill-height) !important;
}

/* ================= TRIGGER BUTTON FIX ================= */
/* Force correct size, color, and alignment */

.cart-trigger,
.filter-trigger,
.elementor-menu-cart__toggle_button {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 40px !important;
    padding: 8px 14px !important;

    border: none !important;

    line-height: 1 !important;
    box-sizing: border-box !important;
}


/* SVG / Icon inside buttons */


/* Hover */
.cart-trigger:hover,
.filter-trigger:hover,
.elementor-menu-cart__toggle_button:hover {
    background-color: var(--color-primary-hover) !important;
    color: #ffffff !important;
}

/* Active filter */
.filter-trigger.active {
    background-color: var(--color-accent) !important;
    color: var(--color-text) !important;
}

/* Focus (keyboard / accessibility) */
.cart-trigger:focus,
.filter-trigger:focus,
.elementor-menu-cart__toggle_button:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(122, 31, 43, 0.25);
}

/* ================= FILTER TRIGGER FIX ================= */

/* Active = solid accent */
.filter-trigger.active-filter {
    background: var(--color-accent) !important;
    background-image: none !important;

    color: var(--color-text) !important;

    box-shadow: none !important;
    border: none !important;
}

/* Kill Elementor overlays */
.filter-trigger.active-filter::before,
.filter-trigger.active-filter::after,
.filter-trigger.active-filter span::before,
.filter-trigger.active-filter span::after {
    display: none !important;
    content: none !important;
}

/* Ensure inner wrapper is transparent */
.filter-trigger.active-filter *,
.filter-trigger.active-filter span {
    background: transparent !important;
}

/* Normal state */
.filter-trigger:not(.active-filter) {
    background: var(--color-primary) !important;
    background-image: none !important;
}

/* ================= BEROCKET CHEVRON RESTORE ================= */

.bapf_hascolarr .bapf_colaps_smb,
.bapf_colaps_smb {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    opacity: 0.85 !important;
}

/* Ensure we don’t “font-size:0” ourselves into invisibility in some templates */
.bapf_colaps_smb.fa {
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Default (down) */
.bapf_hascolarr .bapf_colaps_smb {
    background-image: url("/wp-content/themes/hello-elementor-child/assets/icons/chevron-down.svg") !important;
}

/* Open (up) – some installs use class, others rely on rotation */
.bapf_colaps_smb.fa-chevron-up {
    background-image: url("/wp-content/themes/hello-elementor-child/assets/icons/chevron-up.svg") !important;
}

/* Rotation fallback if plugin uses “opened” state */
.bapf_opened .bapf_colaps_smb {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}

/* ================= FIXED HEIGHT ARTICLE POPUP ================= */

@media (max-width: 767px) {

    .elementor-popup-modal[data-id="YOUR_POPUP_ID"] {
        align-items: flex-end !important;
    }

    .elementor-popup-modal[data-id="YOUR_POPUP_ID"] .elementor-popup__content {

        position: fixed !important;
        bottom: 0;
        left: 0;
        right: 0;

        width: 100% !important;
        height: 70vh !important;
        max-height: 70vh !important;
        min-height: 70vh !important;

        border-radius: 20px 20px 0 0;

        overflow: hidden;

        transform: translateY(100%);
        transition: transform 0.35s cubic-bezier(.22,.61,.36,1);

        will-change: transform;
    }

    /* Show state */
    .elementor-popup-modal.elementor-popup-modal--visible[data-id="YOUR_POPUP_ID"]
    .elementor-popup__content {

        transform: translateY(0);
    }

    /* Inner content scroll */
    .elementor-popup-modal[data-id="YOUR_POPUP_ID"]
    .elementor-popup__content
    .elementor-widget-wrap {

        height: 100% !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

}
/* ================= FIX ICON VERTICAL ALIGNMENT ================= */

/* Force consistent start position for left icons */
.woocommerce ul.products li.product .uva-icons-left {
    min-height: 120px;           /* Reserve vertical space */
    justify-content: flex-start;
}

/* Force consistent start position for right icons */
.woocommerce ul.products li.product .uva-icons-right {
    min-height: 120px;           /* Same height as left */
    justify-content: flex-start;
}

/* Ensure icons always start at same offset */
.uva-icons-left,
.uva-icons-right {
    padding-top: 52px !important;
}
/* ==============================
ICON SHARING IG COPIED
=============================== */
.uva-icon.share.ig.copied {
    color: var(--color-accent);
}

/* Prevent header jumping */
.floating-glass-header,
.floating-glass-header .glass-box{
  min-height: var(--uva-pill-height) !important;
}

/* Lock pill height */
.glass-box{
  min-height: 52px !important;
}
.header-search svg{
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  fill: currentColor;
  opacity: 0.7;
}

/* Freeze buttons container height */
.glass-buttons{
  position: relative !important;
  height: 44px !important; /* same as pill height */
  min-height: 44px !important;
  overflow: visible !important;
}
/* Search overlay (NOT in layout flow) */
.header-search{
  position: absolute !important;

  top: 50%;
  left: 0;
  right: 0;

  transform: translateY(-50%) scaleX(0);

  height: 44px;

  display: flex;
  align-items: center;
  gap: 8px;

  padding: 0 16px;

  border-radius: var(--radius-full);

  background: rgba(255,255,255,0.9);

  opacity: 0;
  pointer-events: none;

  transition: 
    transform 0.25s ease,
    opacity 0.2s ease;
}
/* Open state */
.floating-glass-header.search-open .header-search{
  transform: translateY(-50%) scaleX(1);
  opacity: 1;
  pointer-events: auto;
}
/* Hide menu without reflow jump */
.floating-glass-header.search-open .glass-menu{
  visibility: hidden !important;
  opacity: 0 !important;
}
/* Search input */
.header-search-input{
  flex: 1 !important;

  border: none !important;
  background: transparent !important;

  height: 100%;

  font-size: 15px;

  outline: none !important;
}

/* =====================================================
   HEADER SEARCH PATCH (NO LAYOUT BREAK)
===================================================== */

:root{
  --uva-search-h: 44px;
}

/* Lock buttons height */
.floating-glass-header .glass-buttons{
  position: relative !important;
  height: var(--uva-search-h) !important;
  min-height: var(--uva-search-h) !important;
  overflow: hidden !important;
}

/* Search overlay */
.floating-glass-header .header-search{
  position: absolute !important;
  inset: 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px;

  padding: 0 16px !important;

  background: rgba(255,255,255,.95) !important;
  border-radius: var(--radius-full) !important;

  opacity: 0;
  pointer-events: none;

  transform: scaleX(0);
  transform-origin: right center;

  transition: .25s ease !important;
}

/* Input */
.floating-glass-header .header-search-input{
  flex: 1 !important;
  height: 100% !important;

  border: none !important;
  background: transparent !important;
  outline: none !important;
}

/* Search button */
.floating-glass-header .search-trigger{
  width: var(--uva-search-h) !important;
  height: var(--uva-search-h) !important;
  border-radius: var(--radius-full) !important;
}

/* Open state */

.floating-glass-header.search-open .glass-menu{
  visibility: hidden !important;
  opacity: 0 !important;
}

.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto !important;
  margin-left: 14px !important;
}

.floating-glass-header.search-open
.filter-trigger,
.floating-glass-header.search-open
.cart-trigger{
  opacity: 0 !important;
  pointer-events: none !important;
}

.floating-glass-header.search-open .header-search{
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scaleX(1) !important;
}
/* =====================================================
   HEADER SEARCH FINAL FIX (68PX / NO JUMP / NO DOUBLE ICON)
===================================================== */

:root{
  --uva-header-h: 68px;
}

/* --------------------------------------------------
   LOCK HEADER + PILLS HEIGHT (STOP JUMPING)
-------------------------------------------------- */

.floating-glass-header,
.floating-glass-header .glass-box,
.floating-glass-header .glass-buttons{
  height: var(--uva-header-h) !important;
  min-height: var(--uva-header-h) !important;
}


/* --------------------------------------------------
   BUTTON CONTAINER
-------------------------------------------------- */

.floating-glass-header .glass-buttons{
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  overflow: hidden !important;
}


/* --------------------------------------------------
   SEARCH OVERLAY
-------------------------------------------------- */

.floating-glass-header .header-search{
  position: absolute !important;
  inset: 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px;

  padding: 0 22px !important;

  background: rgba(255,255,255,.95) !important;
  border-radius: var(--radius-full) !important;

  opacity: 0;
  pointer-events: none;

  transform: scaleX(0);
  transform-origin: right center;

  transition: .25s ease !important;
}


/* --------------------------------------------------
   SEARCH INPUT
-------------------------------------------------- */

.floating-glass-header .header-search-input{
  flex: 1 !important;
  height: 100% !important;

  border: none !important;
  background: transparent !important;
  outline: none !important;

  font-size: 15px !important;
}


/* --------------------------------------------------
   SEARCH BUTTON (MAGNIFIER)
-------------------------------------------------- */

.floating-glass-header .search-trigger{
  width: var(--uva-header-h) !important;
  height: var(--uva-header-h) !important;

  border-radius: var(--radius-full)!important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #fff !important; /* WHITE ICON */
}


/* --------------------------------------------------
   OPEN STATE
-------------------------------------------------- */

.floating-glass-header.search-open .glass-menu{
  visibility: hidden !important;
  opacity: 0 !important;
}


/* Let buttons stretch */
.floating-glass-header.search-open .glass-buttons{
  flex: 1 1 auto !important;
  margin-left: 14px !important;
}


/* Hide cart + filter */
.floating-glass-header.search-open
.filter-trigger,
.floating-glass-header.search-open
.cart-trigger{
  opacity: 0 !important;
  pointer-events: none !important;
}


/* Show search bar */
.floating-glass-header.search-open .header-search{
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scaleX(1) !important;
}


/* --------------------------------------------------
   REMOVE DOUBLE SEARCH ICON
-------------------------------------------------- */

/* Hide trigger icon when open */
.floating-glass-header.search-open .search-trigger{
  opacity: 0 !important;
  pointer-events: none !important;
}
/* ===============================
   FIX SEARCH BUTTON SIZE (NORMAL)
================================ */

/* Normal state = 44px */
.floating-glass-header:not(.search-open) .search-trigger{
  width: 42px !important;
  height: 42px !important;
}


/* Search open = auto (hidden anyway) */
.floating-glass-header.search-open .search-trigger{
  width: auto !important;
  height: auto !important;
}

/* ===============================
   SHOW SEARCH ICON IN BAR
================================ */

.floating-glass-header .header-search svg{
  display: block !important;
  color: var(--color-text-light) !important;
  opacity: 0.8;
}

/* ===============================
   MENU FADE WHEN SEARCH OPENS
================================ */

.glass-menu{
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.floating-glass-header.search-open .glass-menu{
  opacity: 0 !important;
  transform: scale(0.95);
  pointer-events: none;
}
/* ===============================
   HEADER FOCUS MODE
================================ */

.floating-glass-header::after{
  content: "";
  position: fixed;
  inset: 0;

  background: rgba(255,255,255,0.35);
  backdrop-filter: blur(4px);

  opacity: 0;
  pointer-events: none;

  transition: opacity 0.3s ease;

  z-index: -1;
}

/* Show blur when searching */
.floating-glass-header.search-open::after{
  opacity: 1;
}

/* ===============================
   SEARCH RESULTS LAYER
================================ */

#header-search-layer{

  position: fixed;
  z-index: 999999;

  background: #fff;

  border-radius: 14px;
  border: 1px solid var(--color-border);

  box-shadow: 0 12px 30px rgba(0,0,0,0.15);

  max-height: 380px;        /* bigger */
  overflow-y: auto;

  padding: 8px 0;

  display: none;
}

#header-search-layer.active{
  display: block;
}

/* Result item */
#header-search-layer a{
  display: block;
  padding: 12px 18px;
  font-size: 14px;
  color: var(--color-text);
  text-decoration: none;
}

#header-search-layer a:hover,
#header-search-layer a.active{
  background: var(--color-surface);
  color: var(--color-primary);
}

/**********************************
  Hide Cart badge on cart page
***********************************/

body.uva-cart-mode .glass-buttons {
  visibility: hidden;
}

body.uva-cart-mode .page-header{
  margin-top:80px;
}

/* ===============================
   PRODUCT LOADING STATE
================================ */

.product {
  position: relative;
  transition: opacity 0.25s ease;
}

/* Dim product slightly */
.product.loading {
  pointer-events: none;
}

/* Overlay */
.product.loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(2px);
  border-radius: inherit;
  z-index: 5;
}

/* Spinner */
.product.loading::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  border-top: 3px solid var(--color-primary);
  border-radius: 50%;
  animation: uva-spin 0.7s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
}

/* Animation */
@keyframes uva-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Animate BADGE on refresh*/
.cart-badge{
  transition: transform .18s cubic-bezier(.34,1.56,.64,1);
}

.cart-badge.bump{
  transform: scale(1.28);
}

@keyframes badge-bump {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.25); }
  100% { transform: scale(1); }
}

/* Smooth Pill Count Animation */
.uva-qty-count {
  display: inline-block;
}

.uva-qty-count.bump {
  animation: uva-bump 0.25s ease;
}

@keyframes uva-bump {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.25); }
  100% { transform: scale(1); }
}

/*ADMINBAR FADEOUT MOUSE OUT*/
#wpadminbar {
    opacity: 0;
    transition: opacity 0.3s ease;
}

#wpadminbar:hover {
    opacity: 1;
}

/**********************************
  SINGLE PAGE ADJUSTMENS
***********************************/

.site-main {
  margin-top: 100px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt{
  background-color: var(--color-primary)!important;
}
.price .woocommerce-Price-amount.amount{
  color: var(--color-primary)!important;
}
.woocommerce-tabs.wc-tabs-wrapper ul.wc-tabs{
  display: none;
}
/*Table Additional information*/

body.single-product table.shop_attributes,
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td,
body.single-product table.shop_attributes tr {
    border: none !important;
}
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td {
    padding: 10px 0;
}

body.single-product table.shop_attributes tr {
    border-bottom: 1px solid #eee;
}

body.single-product table.shop_attributes tr:last-child {
    border-bottom: none;
}
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td {
    vertical-align: middle;
}

/*HIDE BANNER X items Have Been added to your basket*/
.woocommerce-message,
.woocommerce-notices-wrapper {
    display: none !important;
}

/*CART ADJUSTMENTS*/
.woocommerce-message,
.woocommerce-notices-wrapper {
    display: none !important;
}
div.wc-block-components-button__text{
    color: #ffffff !important;
}
:root :where(.wp-element-button, .wp-block-button__link) {
    border-radius: var(--radius-full) !important;
    text-decoration: none !important;
    color: #fff !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
a.wc-block-components-product-name{
    color: var(--color-text) !important;
    font-weight: 600 !important;
}

/*Berocket remove styles*/
.berocket_filter_widget,
.berocket_single_filter_widget {
    all: unset;
}

/*FOOTER ADJUSTMENTS*/
.footer-text,
.footer-text-editor,
.footer-text-contact,
.footer-text-icon-list,
.footer-text-icon-list li,
.footer-text-icon-list li a {
    color: var(--color-text-light)!important;
    
}