/* =========================================
VL24 ROOT DESIGN SYSTEM
========================================= */

:root{

  /* spacing */
  --vl24-gap-xs:6px;
  --vl24-gap-sm:10px;
  --vl24-gap-md:16px;
  --vl24-gap-lg:22px;

  /* radius */
  --vl24-radius-sm:4px;
  --vl24-radius-md:6px;
  --vl24-radius-lg:10px;

  /* font */
  --vl24-font-sm:14px;
  --vl24-font-md:15px;
  --vl24-font-lg:16px;

  /* weight */
  --vl24-fw-medium:600;
  --vl24-fw-bold:700;

  /* borders */
  --vl24-border:1px solid rgba(0,0,0,0.15);

  --vl24-hover-dark: #111;

}

:root{

 --vl24-green: linear-gradient(
  135deg,
  #4ade80 0%,
  #22c55e 40%,
  #15803d 100%
);       
  --vl24-green-dark: #24965a;   
  --vl24-green-light: #6ee7a6; 
  --vl24-green-soft: #e6f9ef;


  --vl24-text: #111;
  --vl24-text-muted: #6b7280;
}

:root{
  --vl24-orange: #f59e0b;
  --vl24-orange-dark: #d97706;
  --vl24-orange-soft: #fff4e5;
}

/* =========================================
VL24 PRODUCT PAGE
========================================= */

.vl24-product-page--2026{
  max-width: 1520px;
  margin: 0 auto;
  padding: 28px 28px 88px;
}

/* =========================================
HERO GRID
========================================= */

.vl24-product-hero{
  margin-bottom: 72px;
}

.vl24-product-hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  gap: 64px;
  align-items: start;
}

.vl24-product-gallery-col,
.vl24-product-summary-col{
  min-width: 0;
}

/* =========================================
GALLERY — PREMIUM
========================================= */

.vl24-product-gallery-col{
  position: relative;
}

.vl24-product-gallery-card{
  position: relative;
}

.vl24-product-image-wrap{
  overflow: visible;
}

/* badge */
.vl24-product-badge{
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border: 1px solid rgba(17,17,17,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(17,17,17,0.06);
}

/* =========================================
SUMMARY — PREMIUM
========================================= */

.vl24-product-header{
  margin-bottom: 20px;
}

.vl24-product-title{
  margin: 0 0 12px;
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
  line-height: .98;
  letter-spacing: -0.02em;
  font-weight: 600;
  max-width: 11ch;
}

.vl24-product-rating-summary{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.vl24-product-rating-summary .star-rating{
  margin: 0;
}

.vl24-rating-link{
  font-size: 14px;
  text-decoration: none;
  opacity: .72;
}

.vl24-rating-link:hover{
  opacity: 1;
}

.vl24-product-price-row{
  margin: 0 0 20px;
}

.vl24-product-price-row .price{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  margin: 0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.vl24-product-price-row del{
  opacity: .45;
  font-size: .62em;
  font-weight: 600;
}

.vl24-product-price-row ins{
  text-decoration: none;
}

.vl24-product-excerpt{
  margin-bottom: 24px;
  max-width: 60ch;
  font-size: 17px;
  line-height: 1.78;
  opacity: .9;
}

.vl24-product-excerpt > *:last-child{
  margin-bottom: 0;
}

/* =========================================
INFO STRIP
========================================= */

.vl24-product-info-strip{
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}

.vl24-product-delivery,
.vl24-product-note-line{
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid rgba(17,17,17,0.07);
  border-radius: 8px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(10px);
  font-size: 14px;
  line-height: 1.45;
  box-shadow: 0 8px 20px rgba(17,17,17,0.03);
}

/* =========================================
LISTS
========================================= */

.vl24-product-benefits{
  margin-bottom: 20px;
}

.vl24-product-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.vl24-product-list li{
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
}

.vl24-product-list li + li{
  margin-top: 8px;
}

.vl24-product-list li::before{
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #111;
  opacity: .8;
}

/* =========================================
PURCHASE CARD
========================================= */

.vl24-product-purchase-card{
  margin-top: 22px;
  margin-bottom: 18px;
  padding: 28px;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 24px;
  background: #fff;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 28px 70px rgba(17,17,17,0.06);
}

.woocommerce div.product form.cart,
.woocommerce-page div.product form.cart{
  margin: 0;
}

/* =========================================
VARIATIONS = SAME STRUCTURE AS CONFIGURATOR
========================================= */

.woocommerce div.product form.cart .variations{
  display:block;
  margin:0 0 20px;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr{
  display:block;
}

.woocommerce div.product form.cart .variations td{
  display:block;
  padding:0;
  border:0;
}

/* FIELD WRAPPER */
.woocommerce div.product form.cart .variations tr{
  margin-bottom:16px;
}

/* LABEL */
.woocommerce div.product form.cart .variations td.label{
  margin:0 0 4px;
}

.woocommerce div.product form.cart .variations td.label label{
  display:block;
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

/* VALUE WRAP */
.woocommerce div.product form.cart .variations td.value{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* =========================================
FORCE IDENTICAL BUTTON SIZE (KEY FIX)
========================================= */

.vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* 🔥 KÕIK BUTTONID SAMA */
.vl24-swatch--button{
  height:48px;
  min-height:48px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:600;
  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);
  background:#fff;
  line-height:1;
  white-space:nowrap;
}

/* 🔥 eemaldab Woo random kõrgused */
.woocommerce div.product form.cart .variations td.value *{
  box-sizing:border-box;
}

/* =========================================
UNIFY VARIATIONS + CUSTOM (ONE SYSTEM)
========================================= */

/* label = sama */
.woocommerce div.product form.cart .variations td.label label{
  font-size:15px;
  font-weight:700;
  margin-bottom:8px;
}

/* WRAP → sama mis custom */
.woocommerce div.product form.cart .variations td.value{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* SELECT → PEIDAME */
.woocommerce div.product form.cart .variations select{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none;
  height:0;
}

/* kõik variatsioonid kasutavad swatch UI */
.woocommerce div.product form.cart .variations td.value .vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.woocommerce div.product form.cart .variations select:focus,
.woocommerce-page div.product form.cart .variations select:focus{
  outline: none;
  border-color: #111;
}



/* variation price / availability */
.single_variation_wrap{
  margin-top: 8px;
}

.single_variation{
  margin-bottom: 16px;
}

.woocommerce-variation-price{
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
}

.woocommerce-variation-availability{
  margin-bottom: 8px;
  font-size: 14px;
}

/* =========================================
QTY + CTA
========================================= */

.woocommerce div.product form.cart .single_variation_wrap,
.woocommerce-page div.product form.cart .single_variation_wrap{
  display: block;
}

.quantity{
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0;
}

.quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;

  height:48px;
  padding:0 6px;

  border:1px solid rgba(17,17,17,0.12);
  border-radius:6px;
  background:#fff;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
}

.quantity input{
  border:none;
  background:transparent;

  width:40px;
  height:100%;

  font-size:18px;
  font-weight:700;
  text-align:center;
}

.quantity input:focus{
  outline:none;
}

/* eemaldame browser arrows */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

.quantity{
  display:flex;
  align-items:center;
  gap:6px;

  height:60px;
  padding:6px;

  border:1px solid rgba(17,17,17,0.12);
  border-radius:6px;
  background:#fff;
}

.quantity input{
  width:40px;
  border:none;
  background:transparent;
  text-align:center;
  font-size:18px;
  font-weight:700;
}

.qty-minus,
.qty-plus{
  width:42px;
  height:48px;

  border:none;
  border-radius:6px;
  background:#f3f4f6;

  font-size:20px;
  font-weight:700;

  cursor:pointer;
}

.quantity input[type=number]{
  -moz-appearance:textfield;
}

.single_add_to_cart_button{
  width: 100%;
  min-height: 60px;
  padding: 0 22px;
  border-radius: 8px !important;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  box-shadow: 0 16px 34px rgba(17,17,17,0.10);
}

.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled{
  opacity: .55;
  cursor: not-allowed;
}

/* =========================================
EXTRA BUTTONS
========================================= */

.vl24-product-actions-extra{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  margin-bottom: 14px;
}

.vl24-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid rgba(17,17,17,0.10);
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(17,17,17,0.04);
}



/* =========================================
NOTE / META
========================================= */

.vl24-product-small-note{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  opacity: .78;
}

.vl24-product-meta-wrap{
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(17,17,17,0.08);
  font-size: 13px;
  line-height: 1.7;
  opacity: .72;
}

.vl24-product-meta-wrap .product_meta > span{
  display: block;
}

.vl24-product-meta-wrap .product_meta > span + span{
  margin-top: 4px;
}

/* =========================================
CONTENT SECTIONS
========================================= */

.vl24-product-includes-section,
.vl24-product-tabs-section,
.vl24-product-reviews-summary-section,
.vl24-upsells-section,
.vl24-related-section{
  margin-top: 64px;
}

.vl24-product-includes-card,
.vl24-product-tabs-card{
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 24px;
  background: #fff;
  padding: 34px;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 18px 46px rgba(17,17,17,0.04);
}

.vl24-section-head{
  margin-bottom: 18px;
}

.vl24-section-head h2,
.vl24-product-reviews-title{
  margin: 0;
  font-size: clamp(1.65rem, 2vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.vl24-product-reviews-meta{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
}

.vl24-product-reviews-stars .star-rating{
  margin: 0;
}

.vl24-product-reviews-stats{
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
}

.vl24-no-reviews-yet{
  margin: 14px 0 0;
  font-size: 14px;
  opacity: .75;
}

/* =========================================
WOO TABS — PREMIUM
========================================= */

.woocommerce div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs{
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 30px;
  padding: 0;
  border-bottom: 1px solid rgba(17,17,17,0.08);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::after{
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li{
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li::after{
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a{
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 0 16px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  opacity: .48;
  letter-spacing: -0.01em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a{
  opacity: 1;
  box-shadow: inset 0 -2px 0 #111;
}

.woocommerce-Tabs-panel{
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.85;
}

.woocommerce-Tabs-panel > *:last-child{
  margin-bottom: 0;
}

/* =========================================
DESCRIPTION CONTENT
========================================= */

.woocommerce-Tabs-panel h1,
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3,
.woocommerce-Tabs-panel h4{
  margin: 1.5em 0 .6em;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.woocommerce-Tabs-panel h2{
  font-size: clamp(1.75rem, 2vw, 2.2rem);
}

.woocommerce-Tabs-panel h3{
  font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}

.woocommerce-Tabs-panel p{
  margin: 0 0 1.1em;
}

.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol{
  margin: 0 0 1.2em 1.2em;
  padding: 0;
}

.woocommerce-Tabs-panel li{
  margin-bottom: .55em;
}

.woocommerce-Tabs-panel .table-wrap{
  width: 100%;
  overflow-x: auto;
  margin: 22px 0;
}

.woocommerce-Tabs-panel table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 18px 0;
  font-size: 15px;
  line-height: 1.6;
  background: #fff;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 18px;
  overflow: hidden;
}

.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td{
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17,17,17,0.08);
  text-align: left;
  vertical-align: top;
}

.woocommerce-Tabs-panel table tr:last-child th,
.woocommerce-Tabs-panel table tr:last-child td{
  border-bottom: 0;
}

.woocommerce-Tabs-panel table th{
  font-weight: 700;
}

.woocommerce-Tabs-panel table td:first-child{
  width: 32%;
  font-weight: 700;
}

/* Woo Additional Information */
.woocommerce table.shop_attributes{
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 18px;
  overflow: hidden;
  margin: 0;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border: 0;
  border-bottom: 1px solid rgba(17,17,17,0.08);
  padding: 16px 18px;
  background: none !important;
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td{
  border-bottom: 0;
}

.woocommerce table.shop_attributes th{
  width: 32%;
  font-size: 15px;
  font-weight: 700;
}

.woocommerce table.shop_attributes td{
  font-size: 15px;
  font-style: normal;
}

.woocommerce table.shop_attributes td p{
  margin: 0;
}

/* =========================================
PRODUCT LISTS
========================================= */

.vl24-upsells-section ul.products,
.vl24-related-section ul.products{
  margin: 0;
}

/* =========================================
TABLET
========================================= */

@media (max-width: 1280px){

  .vl24-product-hero__grid{
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
    gap: 40px;
  }

  .vl24-product-title{
    max-width: none;
  }

}

/* =========================================
MOBILE / TABLET
========================================= */

@media (max-width: 1024px){

  .vl24-product-page--2026{
    padding: 24px 20px 60px;
  }

  .vl24-product-hero__grid{
    grid-template-columns: 1fr;
    gap: 32px;
  }

}

@media (max-width: 767px){

  .vl24-product-page--2026{
    padding: 18px 16px 48px;
  }

  .vl24-product-title{
    font-size: 2.1rem;
  }

  .vl24-product-purchase-card,
  .vl24-product-includes-card,
  .vl24-product-tabs-card{
    padding: 22px;
    border-radius: 10px;
  }

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart,
  .woocommerce div.product form.cart:not(.variations_form),
  .woocommerce-page div.product form.cart:not(.variations_form){
    grid-template-columns: 1fr;
  }

  .quantity input{
    height: 56px;
    border-radius: 16px;
  }

  .single_add_to_cart_button{
    min-height: 56px;
    border-radius: 16px !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs,
  .woocommerce-page div.product .woocommerce-tabs ul.tabs{
    gap: 18px;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  .woocommerce-page div.product .woocommerce-tabs ul.tabs li a{
    min-height: 44px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .woocommerce-Tabs-panel table th,
  .woocommerce-Tabs-panel table td,
  .woocommerce table.shop_attributes th,
  .woocommerce table.shop_attributes td{
    padding: 14px 12px;
    font-size: 14px;
  }

}

@media (max-width: 560px){

  .vl24-product-title{
    font-size: 1.85rem;
  }

  .vl24-product-actions-extra{
    flex-direction: column;
  }

  .vl24-btn{
    width: 100%;
  }

}

/* =========================================
VL24 2026 PREMIUM GALLERY (REAL VERSION)
========================================= */

.vl24-gallery{
  width:100%;
}

.vl24-gallery-main{
  position:relative;
  border-radius:10px;
  background:transparent;
  box-shadow:0 25px 70px rgba(0,0,0,0.08);
  aspect-ratio:4/3;
  overflow:hidden;
  flex: 0 0 auto;
}

/* HOVER ZOOM */
.vl24-gallery-main:hover img{
  transform:scale(1.03); 
}

/* NAV BUTTONS */
.vl24-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,0.9);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
  z-index:3;
}

.vl24-gallery-nav--prev{ left:12px; }
.vl24-gallery-nav--next{ right:12px; }

.vl24-gallery-nav:hover{
  transform:translateY(-50%) scale(1.1);
}

/* TOOLBAR */
.vl24-gallery-toolbar{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  gap:8px;
  z-index:4;
}

.vl24-gallery-counter{
  background:rgba(0,0,0,0.6);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

/* THUMBS WRAP */
.vl24-gallery-thumbs-wrap{
  position:relative;
  margin-top:14px;
}

/* THUMB WRAP */
.vl24-gallery-thumbs{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:6px 8px;
}

/* THUMB CARD */
.vl24-gallery-thumb{
  position:relative;
  flex:0 0 auto;
  width:120px;
  height:120px;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;

  /* eemaldame border bugi */
  border:none;

  /* clean card */
  box-shadow:0 8px 22px rgba(0,0,0,0.08);

  transition:all .2s ease;
}

/* IMAGE */
.vl24-gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ACTIVE — ÕIGE VIIS (outline, mitte border!) */
.vl24-gallery-thumb.is-active{
  outline:2px solid #111;
  outline-offset:2px; /* 🔥 see lahendab "ülemine serv kadunud" bugi */
  transform:scale(1.03);
}

.vl24-gallery-thumbs{
  scroll-behavior:smooth;
}

/* NAV THUMBS */
.vl24-gallery-thumbs-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  border:none;
  z-index:3;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.vl24-gallery-thumbs-nav--prev{ left:-10px; }
.vl24-gallery-thumbs-nav--next{ right:-10px; }

/* ===============================
VL24 LIGHTBOX — FIXED (FINAL)
=============================== */

.vl24-gallery-lightbox{
  position:fixed !important;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.96);
  z-index:999999999 !important;
}

/* oluline */
.vl24-gallery-lightbox[hidden]{
  display:none !important;
}

/* pilt */
.vl24-gallery-lightbox img{
  max-width:92vw;
  max-height:92vh;
  object-fit:contain;
  border-radius:14px;
}

/* close nupp */
.vl24-gallery-lightbox-close{
  position:fixed;
  top:20px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  border:none;
  font-size:20px;
  cursor:pointer;
  z-index:999999999;
}

/* 🔥 SEE ON KRIITILINE */
.vl24-product-gallery-col,
.vl24-product-gallery-card,
.vl24-gallery,
.vl24-gallery-main{
  transform:none !important;
}

/* 🔥 FORCE IMAGE FULL COVER */

.vl24-gallery-stage{
  position:absolute;
  inset:0;
}

.vl24-gallery-main-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.vl24-gallery-thumb{
  padding:0 !important;
  line-height:0;
}

/* =========================================
CE CONFIGURATOR → MATCH WOO VARIATIONS UI
========================================= */

/* wrapper spacing */
.ce-configurator{
  margin:0 0 20px;
}

/* field spacing nagu variations */
.ce-configurator-field{
  margin-bottom:16px;
}

.ce-configurator-field label{
  display:block;
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

.ce-configurator-section{
  margin-bottom:18px;
}

.ce-configurator-title{
  margin:0 0 12px;
  font-size:16px;
  font-weight:700;
}

/* SELECT = IDENTNE WOO DROPDOWN */
.ce-configurator-field select{
  width:100%;
  height:60px;
  margin:0;
  padding:0 54px 0 18px;
  border:1px solid rgba(17,17,17,0.12);
  border-radius:18px;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
  appearance:none;
}

/* SELECT focus */
.ce-configurator-field select:focus{
  outline:none;
  border-color:#111;
}

/* TEXT INPUTS (match qty + variation inputs) */
.ce-configurator-field input[type="text"],
.ce-configurator-field input[type="email"],
.ce-configurator-field input[type="tel"],
.ce-configurator-field textarea{
  width:100%;
  height:60px;
  padding:0 18px;
  border:1px solid rgba(17,17,17,0.12);
  border-radius:18px;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
}

/* textarea kõrgem */
.ce-configurator-field textarea{
  height:auto;
  min-height:120px;
  padding:14px 18px;
}

/* focus */
.ce-configurator-field input:focus,
.ce-configurator-field textarea:focus{
  outline:none;
  border-color:#111;
}

/* CHILD FIELDS (indent + elegant line) */
.ce-children-group{
  margin-top:14px;
  margin-left:6px;
  padding-left:14px;
  border-left:2px solid rgba(17,17,17,0.08);
}

/* required star */
.ce-required{
  color:#dc2626;
  margin-left:4px;
}

/* HIDE */
.ce-hidden{
  display:none !important;
}

/* =========================================
CE CONFIGURATOR — FIX LAYOUT INSIDE WOO CART
========================================= */

/* configurator peab võtma kogu rea */
.woocommerce div.product form.cart .ce-configurator,
.woocommerce-page div.product form.cart .ce-configurator,
.woocommerce div.product form.cart .ce-configurator-section,
.woocommerce-page div.product form.cart .ce-configurator-section{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  grid-column:1 / -1;
}

/* kui configurator on sattunud qty + button grid sisse,
   siis tõstame ta enne neid ja üle mõlema veeru */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .ce-configurator,
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .ce-configurator,
.woocommerce div.product form.cart .ce-configurator{
  order:-10;
  grid-column:1 / -1;
  width:100%;
  margin:0 0 22px;
}

/* kõik field wrapperid täislaiuseks */
.ce-configurator-field,
.ce-configurator-choice,
.ce-children-group{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
}

/* kõik inputid/selectid täislaiusesse */
.ce-configurator-field select,
.ce-configurator-field input[type="text"],
.ce-configurator-field input[type="email"],
.ce-configurator-field input[type="tel"],
.ce-configurator-field textarea{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0;
  box-sizing:border-box;
}

/* child group ei tohi kokku vajuda */
.ce-children-group{
  margin-top:14px;
  margin-left:0;
  padding-left:14px;
  border-left:2px solid rgba(17,17,17,0.08);
}

/* veendu, et qty + nupp jäävad pärast configuratorit */
.woocommerce div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button{
  position:relative;
  z-index:1;
}

body,
.woocommerce-Tabs-panel,
.vl24-product-excerpt{
  font-size: 16px;
  line-height: 1.7;
}

/* rohkem “shop” spacing */
.vl24-product-summary-col{
  padding-left: 10px;
}

/* vähem õhku */
.vl24-product-hero{
  margin-bottom: 40px; /* oli 72px */
}

/* =========================================
STICKY — REAL FIX (SCROLL CONTEXT FIX)
========================================= */

@media (min-width: 1025px){

  html, body{
    height: auto;
  }

  

  /* 🔥 see on KÕIGE OLULISEM */
  .vl24-product-hero{
    display: block;
  }

  /* 🔥 grid EI TOHI piirata kõrgust */
  .vl24-product-hero__grid{
    display: grid;
    align-items: start;
  }

  /* 🔥 sticky peab olema SEE */
  .vl24-product-gallery-col{
    position: sticky;
    top: 120px;
  }

}

/* =========================================
RADIUS FIX — FORCE (BAUHAUS STYLE)
========================================= */

/* suured kastid */
.vl24-product-purchase-card,
.vl24-product-includes-card,
.vl24-product-tabs-card{
  border-radius: 6px !important;
}

/* sisemised valikud */
.woocommerce div.product form.cart .variations select,
.ce-configurator-field select,
.ce-configurator-field input,
.ce-configurator-field textarea,
.quantity input{
  border-radius: 6px !important;
}

/* gallery */
.vl24-gallery-main{
  border-radius: 6px !important;
}

.vl24-gallery-thumb{
  border-radius: 4px !important;
}

/* buttons */
.single_add_to_cart_button{
  border-radius: 6px !important;
}

/* info box */
.vl24-product-delivery,
.vl24-product-note-line{
  border-radius: 6px !important;
}







.woocommerce div.product form.cart .variations select{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
  height: 0;
}

/* WRAP */
.vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* BASE */
.vl24-swatch{
  cursor:pointer;
  transition:all .2s ease;
}





/* IMAGE */
.vl24-swatch--image{
  width:56px;
  height:56px;
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.1);
}

.vl24-swatch--image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.vl24-swatch--button{
  padding:12px 16px;
  border-radius:var(--vl24-radius-md);
  border:var(--vl24-border);
  font-size:var(--vl24-font-md);
  font-weight:var(--vl24-fw-medium);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  transition:all .18s ease;
}

.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

/* ACTIVE */
.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

.vl24-swatch-tooltip{
  position: fixed;
  transform: translateX(-50%);
  background:#111;
  color:#fff;
  padding:6px 10px;
  font-size:12px;
  border-radius:6px;
  pointer-events:none;
  white-space:nowrap;
  z-index:9999;
  opacity:0;
  animation:fadeIn .15s ease forwards;
}

@keyframes fadeIn{
  to{ opacity:1; }
}

.vl24-product-title-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.vl24-product-title-rating .star-rating{
  font-size:14px;
}

.vl24-product-purchase{
  display:block;
}

/* =========================================
VL24 CHECKOUT — FINAL (WORKING)
========================================= */

/* GRID */
.vl24-checkout-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap:40px;
  align-items:start;
}

/* LEFT */
.vl24-checkout-main{
  width:100%;
  min-width:0;
}

/* RIGHT */
.vl24-checkout-side{
  width:100%;
  position:sticky;
  top:120px;
}

/* MOBILE */
@media (max-width: 1024px){
  .vl24-checkout-grid{
    grid-template-columns:1fr;
  }

  .vl24-checkout-side{
    position:relative;
    top:auto;
  }
}

/* =========================================
CARD STYLE (MATCH YOUR DESIGN)
========================================= */

#customer_details{
  background:#fff;
  padding:28px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* =========================================
TYPO
========================================= */

.vl24-checkout-side h3{
  font-size:18px;
  font-weight:700;
  margin-bottom:16px;
}

/* =========================================
FIELDS
========================================= */

.woocommerce-checkout .form-row{
  margin-bottom:14px;
}

.woocommerce-checkout input,
.woocommerce-checkout select{
  width:100%;
  height:52px;
  padding:0 16px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
  font-size:15px;
  box-sizing:border-box;
}

/* TEXTAREA */
.woocommerce-checkout textarea{
  width:100%;
  padding:14px 16px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
}



/* =========================================
BUTTON
========================================= */

#place_order{
  width:100%;
  height:58px;
  background:#111;
  color:#fff;
  font-weight:700;
  border-radius:6px;
}

/* =========================================
NOTE
========================================= */

.vl24-checkout-note{
  margin-top:20px;
  font-size:14px;
  opacity:0.7;
}

/* mobile */
@media (max-width:640px){
  .vl24-option-grid{
    grid-template-columns:1fr;
  }
}

/* CHECKOUT CARD SYSTEM */

.vl24-checkout-card{
  margin-top:20px;
  padding:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

.vl24-checkout-main > *{
  margin-bottom:20px;
}

/* =========================================
CHECKOUT STRUCTURE FIX (FINAL)
========================================= */

.vl24-checkout-section{
  margin-top:20px;
}

.vl24-checkout-section h4{
  margin-bottom:10px;
  font-size:15px;
  font-weight:700;
}

/* SWATCH GROUP (SAMA MIS PRODUCT) */
.vl24-swatch-group{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.vl24-swatch-group .vl24-swatch{
  min-width:180px;
}

/* ACTIVE */
.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

/* =========================================
CHECKOUT — FINAL PROFESSIONAL FIX
========================================= */

/* WRAP RIGHT SIDE INTO CARD */
.vl24-checkout-side{
  position:sticky;
  top:120px;
}

.vl24-checkout-side > h3{
  display:none;
}

.vl24-checkout-side{
  background:#fff;
  padding:28px;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,0.06);
}

/* ORDER TABLE CLEAN */
.vl24-checkout-side table{
  margin:0;
}

.vl24-checkout-side th{
  font-weight:700;
}

/* ALIGN WITH BILLING CARD */
#customer_details{
  padding:28px;
}

/* DELIVERY BLOCK FIX */
#vl24-delivery-extra{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.08);
}

/* CHECKBOX FIX (SUUR PROBLEEM) */
#vl24-delivery-extra .vl24-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  margin-bottom:14px;
}

/* FORCE CHECKBOX SIZE */
#vl24-delivery-extra input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
}

/* HIDE WOO DEFAULT LABEL */
#vl24-shipping-wrapper h3{
  display:none;
}

/* REMOVE WOO WEIRD SPACING */
#vl24-shipping-wrapper .woocommerce-shipping-fields{
  margin:0;
  padding:0;
}

/* FIX SHIPPING FIELDS ALIGNMENT */
#vl24-shipping-wrapper .form-row{
  width:100%;
  float:none;
}

/* INPUT STYLE = PRODUCT PAGE STYLE */
#vl24-shipping-wrapper input{
  height:52px;
  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);
}

/* GRID FIX */
.vl24-checkout-grid{
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
}

/* LEFT CARD SPACING */
.vl24-checkout-main > *{
  margin-bottom:24px;
}

/* DELIVERY BUTTONS ALIGN */
.vl24-swatch-group{
  margin-top:8px;
}

/* REMOVE RANDOM FLOAT BUG */
.woocommerce-shipping-fields__field-wrapper{
  display:block;
}

/* BUTTON ALIGN */
#place_order{
  margin-top:20px;
}

/* =========================================
BILLING = SAME STYLE AS DELIVERY (FINAL)
========================================= */

/* LABEL */
#customer_details label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700;
}

/* INPUT BASE */
#customer_details input,
#customer_details select,
#customer_details textarea{
  width:100%;
  height:48px;
  padding:0 16px;

  border:1px solid rgba(0,0,0,0.15);
  border-radius:6px;

  background:#fff;

  font-size:15px;
  font-weight:600;

  line-height:1;
  box-sizing:border-box;

  transition:all .18s ease;
}

/* TEXTAREA */
#customer_details textarea{
  height:auto;
  min-height:110px;
  padding:14px 16px;
}

/* FOCUS = sama feel nagu swatch active */
#customer_details input:focus,
#customer_details select:focus,
#customer_details textarea:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,0.1);
}

/* PLACEHOLDER */
#customer_details input::placeholder{
  opacity:0.6;
  font-weight:500;
}

/* SELECT ARROW CLEAN */
#customer_details select{
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 14px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

/* ROW SPACING */
#customer_details .form-row{
  margin-bottom:16px;
}

/* REMOVE WOO FLOAT SHIT */
#customer_details .form-row-first,
#customer_details .form-row-last{
  float:none;
  width:100%;
}

/* NAME 2-COLUMN (LIKE PRO UI) */
#customer_details .form-row-first,
#customer_details .form-row-last{
  display:inline-block;
  width:calc(50% - 8px);
}

#customer_details .form-row-first{
  margin-right:16px;
}

/* FORCE CLEAN */
#customer_details *{
  box-sizing:border-box;
}

/* =========================================
CHECKOUT — FINAL FIX (BILLING = SHIPPING 1:1)
========================================= */

/* 🔥 FORCE SAME INPUT SIZE (billing + shipping) */
#customer_details input,
#customer_details select,
#vl24-shipping-wrapper input,
#vl24-shipping-wrapper select{
  height:48px !important;
  border-radius:6px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  font-size:15px;
  padding:0 16px;
  width:100%;
  box-sizing:border-box;
}

/* 🔥 FIX SELECT2 (country/state Woo) */
.select2-container .select2-selection--single{
  height:48px !important;
  border-radius:6px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  display:flex;
  align-items:center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:48px !important;
  padding-left:16px;
  font-size:15px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:48px !important;
}

/* 🔥 REMOVE FLOATS (shipping + billing SAME) */
#customer_details .form-row,
#vl24-shipping-wrapper .form-row{
  width:100% !important;
  float:none !important;
  margin-bottom:16px;
}

/* 🔥 NAME 2 COLUMN — BOTH */
#customer_details .form-row-first,
#customer_details .form-row-last,
#vl24-shipping-wrapper .form-row-first,
#vl24-shipping-wrapper .form-row-last{
  display:inline-block;
  width:calc(50% - 8px);
  vertical-align:top;
}

#customer_details .form-row-first,
#vl24-shipping-wrapper .form-row-first{
  margin-right:16px;
}

/* 🔥 FORCE FULL WIDTH REST */
#customer_details .form-row-wide,
#vl24-shipping-wrapper .form-row-wide{
  width:100%;
  display:block;
}

/* 🔥 LABEL MATCH */
#vl24-shipping-wrapper label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700;
}

/* 🔥 FIX COUNTRY CLICK BUG */
.select2-container{
  width:100% !important;
  z-index:9999;
}

/* REMOVE shipping row from order table */
.woocommerce-checkout-review-order-table .shipping{
  display:none !important;
}

/* =========================================
THANK YOU — FINAL PRO (MATCH SYSTEM)
========================================= */

.vl24-thankyou{
  max-width:1400px;
  margin:40px auto;
  padding:0 20px;
}

/* HERO */
.vl24-thankyou-hero{
  margin-bottom:32px;
}

.vl24-thankyou-hero h1{
  font-size:32px;
  margin-bottom:10px;
}

.vl24-thankyou-lead{
  font-size:16px;
  font-weight:600;
  margin-bottom:6px;
}

.vl24-thankyou-desc{
  opacity:0.7;
  max-width:600px;
}

/* GRID */
.vl24-thankyou-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap:32px;
}

/* CARD */
.vl24-thankyou-card{
  background:#fff;
  padding:28px;
  border:var(--vl24-border);
  border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,0.05);
}

.vl24-thankyou-card h3{
  margin-bottom:14px;
  font-size:18px;
}

/* LIST */
.vl24-thankyou-card ul{
  padding-left:18px;
}

.vl24-thankyou-card li{
  margin-bottom:6px;
}

/* MOBILE */
@media(max-width:900px){
  .vl24-thankyou-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================
THANK YOU — PRODUCT CARD (PRO)
========================================= */

.vl24-order-card{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:16px;
  padding:20px;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  background:#fff;
}

.vl24-order-card + .vl24-order-card{
  margin-top:16px;
}

/* IMAGE */
.vl24-order-image{
  width:120px;
  height:120px;
  overflow:hidden;
  border-radius:6px;
  background:#f5f5f5;
}

.vl24-order-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* CONTENT */
.vl24-order-content{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* TITLE */
.vl24-order-title{
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.01em;
}

/* PRICE */
.vl24-order-price{
  margin-top:6px;
  font-size:16px;
  font-weight:700;
}

/* NOTE */
.vl24-order-note{
  font-size:13px;
  opacity:0.6;
}

/* =========================================
THANK YOU — SPEC LIST (PRO)
========================================= */

.vl24-order-specs{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}

/* ROW */
.vl24-order-option{
  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:8px 0;

  border-bottom:1px solid rgba(0,0,0,0.06);
}

/* eemaldame viimase borderi */
.vl24-order-option:last-child{
  border-bottom:none;
}

/* LABEL */
.vl24-order-option-label{
  font-size:14px;
  opacity:0.6;
}

/* VALUE */
.vl24-order-option-value{
  font-size:14px;
  font-weight:600;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce-page div.product form.cart:not(.variations_form){
  display:flex;
  align-items:stretch;
  gap:8px;
  flex-wrap:wrap;
}

.woocommerce div.product form.cart .quantity{
  width:140px;
  flex:0 0 140px;
}

.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1;
  width:auto;
  margin:0 !important;
}

.vl24-quote-btn{
  flex:1;
  min-height:60px;
  padding:0 22px;

  border:1px solid #111;
  border-radius:6px;

  background:#fff;
  color:#111;

  font-size:15px;
  font-weight:800;

  cursor:pointer;
}

@media (max-width:767px){

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:8px !important;
    flex-wrap:wrap !important;
  }

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .quantity{
    width:120px !important;
    flex:0 0 120px !important;
    margin:0 !important;
  }

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .vl24-quote-btn,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .vl24-quote-btn{
    flex:0 0 100% !important;
    width:100% !important;
    margin-top:10px !important;
  }
}

.single_add_to_cart_button,
.vl24-quote-btn{
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}

.single_add_to_cart_button *{
  font-family: inherit !important;
  font-weight: inherit !important;
}














/* =========================================
VL24 HEADER — FINAL CLEAN FIX
========================================= */

.vl24-header{
  width:100%;
}

.vl24-header *,
.vl24-header *::before,
.vl24-header *::after{
  box-sizing:border-box;
}

/* SAME CONTAINER FOR ALL 3 ROWS */
.vl24-header .vl24-container{
  width:100%;
  max-width:1520px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

/* TOP BAR */
.vl24-header-top{
  background:#efefef;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.vl24-header-top .vl24-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:10px;
  padding-bottom:10px;
}

/* TOP MENU */
.vl24-top-menu{
  margin:0;
  padding:0;
}

.vl24-top-menu-list{
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}

.vl24-top-menu-list li{
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}

.vl24-top-menu-list a{
  display:flex;
  align-items:center;
  
  padding:0 16px;
  font-size:14px;
  color:#111;
  text-decoration:none;
}

.vl24-top-menu-list li{
  display:flex;
  height:100%;
}

.vl24-top-menu-list a{
  display:flex;
  align-items:center;
  height:100%;
  padding:0 16px;
}

.vl24-top-menu-list li:first-child a{
  padding-left:0;
}

.vl24-top-menu-list li:hover{
  background:#dcdcdc;
}

/* RIGHT SIDE */
.vl24-top-right{
  display:flex;
  align-items:center;
  gap:18px;
}

.vl24-phone{
  font-size:14px;
  white-space:nowrap;
}

.vl24-icons{
  display:flex;
  align-items:center;
  gap:12px;
}

.vl24-icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.vl24-icon svg,
.vl24-cart svg{
  width:24px;
  height:24px;
  stroke:#111;
  stroke-width:2.4;
  transition:stroke .2s ease;
}

.vl24-icon:hover svg,
.vl24-cart:hover svg{
  stroke:var(--vl24-green);
}

.vl24-cart{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.vl24-cart-count{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:var(--vl24-orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  text-decoration:none !important;
}

.vl24-header-main .vl24-container{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:32px;

  padding-top:14px;  
  padding-bottom:14px;
}

.vl24-logo{
  margin:0;
  padding:0;
}

.vl24-logo a{
  display:inline-flex;
  align-items:center;
  font-size:20px;
  font-weight:700;
  color:#111;
  text-decoration:none;
}

.vl24-search svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.vl24-cta-group{
  display:flex;
  align-items:center;
  gap:12px;
}

.vl24-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 22px;
  border-radius:6px;
  background:var(--vl24-green);
  color:#fff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.vl24-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 22px;
  border:1px solid var(--vl24-green);
  border-radius:6px;
  background:#fff;
  color:var(--vl24-green);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

/* CATEGORY BAR */
.vl24-header-categories{
  background:var(--vl24-green);
}

.vl24-header-categories .vl24-container{
  display:block !important;
  text-align:left !important;
  padding-top:0;
  padding-bottom:0;
}

.vl24-header-categories .vl24-container{
  display:flex !important;
  align-items:center;
  min-height:44px; 
}

.vl24-cat-menu{
  display:flex !important;
  align-items:center;
  justify-content:flex-start !important;
  gap:34px;
  width:100%;
  list-style:none;
  margin:0;
  padding:14px 0;
  padding-inline-start:0 !important;
  text-align:left !important;
}

.vl24-cat-menu li{
  position:relative;
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}

.vl24-cat-menu li:first-child{
  margin-left:0 !important;
}

.vl24-cat-menu li:first-child a{
  padding-left:0 !important;
}

.vl24-cat-menu a{
  position:relative;
  display:inline-flex;
  align-items:center;
  line-height:1;
  padding:0;
  font-size:16px !important;
  font-weight:600 !important;
  color:#fff !important;
  letter-spacing:0.01em;
  text-decoration:none;
}

.vl24-cat-menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-25px !important;
  width:100%;
  height:3px;
  background:#0b0b0b;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

.vl24-cat-menu li:hover a::after{
  transform:scaleX(1);
}

.vl24-cat-menu a:hover{
  color:#fff;
  opacity:.85;
}

/* MOBILE */
@media (max-width:1024px){
  .vl24-header-main .vl24-container{
    grid-template-columns:1fr;
    gap:16px;
  }

  .vl24-cta-group{
    flex-wrap:wrap;
  }
}

/* =========================================
VL24 BUTTON SYSTEM — FINAL
========================================= */

.vl24-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:6px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:all .18s ease;
  border:1px solid transparent;
}

/* PRIMARY (MAIN CTA) */
.vl24-btn--primary{
  background:var(--vl24-green);
  color:#fff;
}

.vl24-btn--primary:hover{
  background:var(--vl24-green-dark);
  transform:translateY(-1px);
}

/* GHOST (SOFT BG) */
.vl24-btn--ghost{
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
}

/* OUTLINE */
.vl24-btn--outline{
  background:#fff;
  border:1px solid var(--vl24-green);
  color:var(--vl24-green);
}

.vl24-btn--outline:hover{
  background:var(--vl24-green);
  color:#fff;
}

/* DANGER (ORANGE CTA) */
.vl24-btn--danger{
  background:var(--vl24-orange);
  color:#fff;
}

/* =========================================
VL24 BADGE SYSTEM — FINAL
========================================= */

.vl24-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* SALE */
.vl24-badge--sale{
  background:var(--vl24-orange);
  color:#fff;
}

/* NEW */
.vl24-badge--new{
  background:var(--vl24-green);
  color:#fff;
}

/* STOCK OK */
.vl24-badge--stock{
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
}

/* LOW STOCK */
.vl24-badge--low{
  background:#fee2e2;
  color:#b91c1c;
}

/* =========================================
VL24 CARD SYSTEM — FINAL
========================================= */

.vl24-card{
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:6px;
  overflow:hidden;
  transition:all .2s ease;
}

/* HOVER */
.vl24-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

/* IMAGE */
.vl24-card-image{
  aspect-ratio:4/3;
  overflow:hidden;
}

.vl24-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* CONTENT */
.vl24-card-body{
  padding:16px;
}

/* TITLE */
.vl24-card-title{
  font-size:16px;
  font-weight:700;
  margin-bottom:6px;
}

/* PRICE */
.vl24-card-price{
  font-size:18px;
  font-weight:800;
  color:var(--vl24-green-dark);
}

/* ACTIONS */
.vl24-card-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
}

/* =========================================
VL24 GRID SYSTEM — FINAL
========================================= */

.vl24-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:20px;
}

/* MOBILE */
@media(max-width:640px){
  .vl24-grid{
    grid-template-columns:1fr;
  }
}

.vl24-cart-count{
  background:var(--vl24-orange);
  color:#fff;
  font-size:12px;
  padding:2px 6px;
  border-radius:999px;
}

.vl24-btn-primary{
  background:var(--vl24-green);
}

.vl24-btn-primary--alt{
  background:var(--vl24-orange);
}

.single_add_to_cart_button{
  background:var(--vl24-green) !important;
  color:#fff !important;
  border:none !important;
}

.vl24-cat-menu a:hover{
  color:#fff;
  opacity:0.85;
}

.vl24-cat-menu li:hover{
  transform:translateY(-1px);
}

.vl24-icon svg,
.vl24-cart svg{
  transition:stroke .2s ease;
}

.vl24-top-menu-list a{
  position:relative;
  z-index:1;
}

.vl24-top-menu-list a::before{
  content:"";
  position:absolute;
  top:-10px;
  bottom:-10px;
  left:0;
  right:0;
  background:#dcdcdc;
  opacity:0;
  z-index:-1;
  transition:opacity .2s ease;
}

.vl24-top-menu-list a:hover::before{
  opacity:1;
}

.vl24-header-categories{
  position: relative;
  background: var(--vl24-green) !important;
  overflow: hidden;
}

.vl24-header-categories::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,0.25) 45%,
    transparent 70%
  );
  opacity:0.4;
  pointer-events:none;
}

/* SALE BUTTON */
.menu-sale > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background: linear-gradient(135deg, #ff3b3b, #ff7a00);
  color:#fff !important;

  padding:10px 18px;
  border-radius:6px;

  font-weight:800;
  letter-spacing:0.02em;

  transition:all .25s ease;
  box-shadow:0 6px 16px rgba(0,0,0,0.25);
}

/* =========================================
VL24 ROOT DESIGN SYSTEM
========================================= */

:root{

  /* spacing */
  --vl24-gap-xs:6px;
  --vl24-gap-sm:10px;
  --vl24-gap-md:16px;
  --vl24-gap-lg:22px;

  /* radius */
  --vl24-radius-sm:4px;
  --vl24-radius-md:6px;
  --vl24-radius-lg:10px;

  /* font */
  --vl24-font-sm:14px;
  --vl24-font-md:15px;
  --vl24-font-lg:16px;

  /* weight */
  --vl24-fw-medium:600;
  --vl24-fw-bold:700;

  /* borders */
  --vl24-border:1px solid rgba(0,0,0,0.15);

}

:root{

 --vl24-green: linear-gradient(
  135deg,
  #4ade80 0%,
  #22c55e 40%,
  #15803d 100%
);       
  --vl24-green-dark: #24965a;   
  --vl24-green-light: #6ee7a6; 
  --vl24-green-soft: #e6f9ef;


  --vl24-text: #111;
  --vl24-text-muted: #6b7280;
}

:root{
  --vl24-orange: #f59e0b;
  --vl24-orange-dark: #d97706;
  --vl24-orange-soft: #fff4e5;
}

/* =========================================
VL24 PRODUCT PAGE 2026 — APPLE PREMIUM BASE
========================================= */

.vl24-product-page--2026{
  max-width: 1520px;
  margin: 0 auto;
  padding: 28px 28px 88px;
}

/* =========================================
HERO GRID
========================================= */

.vl24-product-hero{
  margin-bottom: 72px;
}

.vl24-product-hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  gap: 64px;
  align-items: start;
}

.vl24-product-gallery-col,
.vl24-product-summary-col{
  min-width: 0;
}

/* =========================================
GALLERY — PREMIUM
========================================= */

.vl24-product-gallery-col{
  position: relative;
}

.vl24-product-gallery-card{
  position: relative;
}

.vl24-product-image-wrap{
  overflow: visible;
}

/* badge */
.vl24-product-badge{
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border: 1px solid rgba(17,17,17,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(17,17,17,0.06);
}

/* =========================================
SUMMARY — PREMIUM
========================================= */

.vl24-product-header{
  margin-bottom: 20px;
}

.vl24-product-title{
  margin: 0 0 12px;
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
  line-height: .98;
  letter-spacing: -0.02em;
  font-weight: 600;
  max-width: 11ch;
}

.vl24-product-rating-summary{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.vl24-product-rating-summary .star-rating{
  margin: 0;
}

.vl24-rating-link{
  font-size: 14px;
  text-decoration: none;
  opacity: .72;
}

.vl24-rating-link:hover{
  opacity: 1;
}

.vl24-product-price-row{
  margin: 0 0 20px;
}

.vl24-product-price-row .price{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  margin: 0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.vl24-product-price-row del{
  opacity: .45;
  font-size: .62em;
  font-weight: 600;
}

.vl24-product-price-row ins{
  text-decoration: none;
}

.vl24-product-excerpt{
  margin-bottom: 24px;
  max-width: 60ch;
  font-size: 17px;
  line-height: 1.78;
  opacity: .9;
}

.vl24-product-excerpt > *:last-child{
  margin-bottom: 0;
}

/* =========================================
INFO STRIP
========================================= */

.vl24-product-info-strip{
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}

.vl24-product-delivery,
.vl24-product-note-line{
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid rgba(17,17,17,0.07);
  border-radius: 8px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(10px);
  font-size: 14px;
  line-height: 1.45;
  box-shadow: 0 8px 20px rgba(17,17,17,0.03);
}

/* =========================================
LISTS
========================================= */

.vl24-product-benefits{
  margin-bottom: 20px;
}

.vl24-product-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.vl24-product-list li{
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
}

.vl24-product-list li + li{
  margin-top: 8px;
}

.vl24-product-list li::before{
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #111;
  opacity: .8;
}

/* =========================================
PURCHASE CARD
========================================= */

.vl24-product-purchase-card{
  margin-top: 22px;
  margin-bottom: 18px;
  padding: 28px;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 24px;
  background: #fff;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 28px 70px rgba(17,17,17,0.06);
}

.woocommerce div.product form.cart,
.woocommerce-page div.product form.cart{
  margin: 0;
}

/* =========================================
VARIATIONS = SAME STRUCTURE AS CONFIGURATOR
========================================= */

.woocommerce div.product form.cart .variations{
  display:block;
  margin:0 0 20px;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr{
  display:block;
}

.woocommerce div.product form.cart .variations td{
  display:block;
  padding:0;
  border:0;
}

/* FIELD WRAPPER */
.woocommerce div.product form.cart .variations tr{
  margin-bottom:16px;
}

/* LABEL */
.woocommerce div.product form.cart .variations td.label{
  margin:0 0 4px;
}

.woocommerce div.product form.cart .variations td.label label{
  display:block;
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

/* VALUE WRAP */
.woocommerce div.product form.cart .variations td.value{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* =========================================
FORCE IDENTICAL BUTTON SIZE (KEY FIX)
========================================= */

.vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* 🔥 KÕIK BUTTONID SAMA */
.vl24-swatch--button{
  height:48px;
  min-height:48px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:600;
  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);
  background:#fff;
  line-height:1;
  white-space:nowrap;
}

/* 🔥 eemaldab Woo random kõrgused */
.woocommerce div.product form.cart .variations td.value *{
  box-sizing:border-box;
}

/* =========================================
UNIFY VARIATIONS + CUSTOM (ONE SYSTEM)
========================================= */

/* label = sama */
.woocommerce div.product form.cart .variations td.label label{
  font-size:15px;
  font-weight:700;
  margin-bottom:8px;
}

/* WRAP → sama mis custom */
.woocommerce div.product form.cart .variations td.value{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* SELECT → PEIDAME */
.woocommerce div.product form.cart .variations select{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none;
  height:0;
}

/* kõik variatsioonid kasutavad swatch UI */
.woocommerce div.product form.cart .variations td.value .vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.woocommerce div.product form.cart .variations select:focus,
.woocommerce-page div.product form.cart .variations select:focus{
  outline: none;
  border-color: #111;
}



/* variation price / availability */
.single_variation_wrap{
  margin-top: 8px;
}

.single_variation{
  margin-bottom: 16px;
}

.woocommerce-variation-price{
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
}

.woocommerce-variation-availability{
  margin-bottom: 8px;
  font-size: 14px;
}

/* =========================================
QTY + CTA
========================================= */

.woocommerce div.product form.cart .single_variation_wrap,
.woocommerce-page div.product form.cart .single_variation_wrap{
  display: block;
}

.quantity{
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0;
}

.quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;

  height:60px;
  padding:0 6px;

  border:1px solid rgba(17,17,17,0.12);
  border-radius:6px;
  background:#fff;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
}

.quantity input{
  border:none;
  background:transparent;

  width:40px;
  height:100%;

  font-size:18px;
  font-weight:700;
  text-align:center;
}

.quantity input:focus{
  outline:none;
}

/* eemaldame browser arrows */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

.quantity{
  display:flex;
  align-items:center;
  gap:6px;

  height:60px;
  padding:6px;

  border:1px solid rgba(17,17,17,0.12);
  border-radius:6px;
  background:#fff;
}

.quantity input{
  width:40px;
  border:none;
  background:transparent;
  text-align:center;
  font-size:18px;
  font-weight:700;
}

.qty-minus,
.qty-plus{
  width:42px;
  height:48px;

  border:none;
  border-radius:6px;
  background:#f3f4f6;

  font-size:20px;
  font-weight:700;

  cursor:pointer;
}

.quantity input[type=number]{
  -moz-appearance:textfield;
}

.single_add_to_cart_button{
  width: 100%;
  min-height: 60px;
  padding: 0 22px;
  border-radius: 8px !important;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  box-shadow: 0 16px 34px rgba(17,17,17,0.10);
}

.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled{
  opacity: .55;
  cursor: not-allowed;
}

/* =========================================
EXTRA BUTTONS
========================================= */

.vl24-product-actions-extra{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  margin-bottom: 14px;
}

.vl24-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid rgba(17,17,17,0.10);
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(17,17,17,0.04);
}

/* =========================================
NOTE / META
========================================= */

.vl24-product-small-note{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  opacity: .78;
}

.vl24-product-meta-wrap{
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(17,17,17,0.08);
  font-size: 13px;
  line-height: 1.7;
  opacity: .72;
}

.vl24-product-meta-wrap .product_meta > span{
  display: block;
}

.vl24-product-meta-wrap .product_meta > span + span{
  margin-top: 4px;
}

/* =========================================
CONTENT SECTIONS
========================================= */

.vl24-product-includes-section,
.vl24-product-tabs-section,
.vl24-product-reviews-summary-section,
.vl24-upsells-section,
.vl24-related-section{
  margin-top: 64px;
}

.vl24-product-includes-card,
.vl24-product-tabs-card{
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 24px;
  background: #fff;
  padding: 34px;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 18px 46px rgba(17,17,17,0.04);
}

.vl24-section-head{
  margin-bottom: 18px;
}

.vl24-section-head h2,
.vl24-product-reviews-title{
  margin: 0;
  font-size: clamp(1.65rem, 2vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.vl24-product-reviews-meta{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
}

.vl24-product-reviews-stars .star-rating{
  margin: 0;
}

.vl24-product-reviews-stats{
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
}

.vl24-no-reviews-yet{
  margin: 14px 0 0;
  font-size: 14px;
  opacity: .75;
}

/* =========================================
WOO TABS — PREMIUM
========================================= */

.woocommerce div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs{
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 30px;
  padding: 0;
  border-bottom: 1px solid rgba(17,17,17,0.08);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::after{
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li{
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li::after{
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a{
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 0 16px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  opacity: .48;
  letter-spacing: -0.01em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a{
  opacity: 1;
  box-shadow: inset 0 -2px 0 #111;
}

.woocommerce-Tabs-panel{
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.85;
}

.woocommerce-Tabs-panel > *:last-child{
  margin-bottom: 0;
}

/* =========================================
DESCRIPTION CONTENT
========================================= */

.woocommerce-Tabs-panel h1,
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3,
.woocommerce-Tabs-panel h4{
  margin: 1.5em 0 .6em;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.woocommerce-Tabs-panel h2{
  font-size: clamp(1.75rem, 2vw, 2.2rem);
}

.woocommerce-Tabs-panel h3{
  font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}

.woocommerce-Tabs-panel p{
  margin: 0 0 1.1em;
}

.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol{
  margin: 0 0 1.2em 1.2em;
  padding: 0;
}

.woocommerce-Tabs-panel li{
  margin-bottom: .55em;
}

.woocommerce-Tabs-panel .table-wrap{
  width: 100%;
  overflow-x: auto;
  margin: 22px 0;
}

.woocommerce-Tabs-panel table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 18px 0;
  font-size: 15px;
  line-height: 1.6;
  background: #fff;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 18px;
  overflow: hidden;
}

.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td{
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17,17,17,0.08);
  text-align: left;
  vertical-align: top;
}

.woocommerce-Tabs-panel table tr:last-child th,
.woocommerce-Tabs-panel table tr:last-child td{
  border-bottom: 0;
}

.woocommerce-Tabs-panel table th{
  font-weight: 700;
}

.woocommerce-Tabs-panel table td:first-child{
  width: 32%;
  font-weight: 700;
}

/* Woo Additional Information */
.woocommerce table.shop_attributes{
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 18px;
  overflow: hidden;
  margin: 0;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border: 0;
  border-bottom: 1px solid rgba(17,17,17,0.08);
  padding: 16px 18px;
  background: none !important;
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td{
  border-bottom: 0;
}

.woocommerce table.shop_attributes th{
  width: 32%;
  font-size: 15px;
  font-weight: 700;
}

.woocommerce table.shop_attributes td{
  font-size: 15px;
  font-style: normal;
}

.woocommerce table.shop_attributes td p{
  margin: 0;
}

/* =========================================
PRODUCT LISTS
========================================= */

.vl24-upsells-section ul.products,
.vl24-related-section ul.products{
  margin: 0;
}

/* =========================================
TABLET
========================================= */

@media (max-width: 1280px){

  .vl24-product-hero__grid{
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
    gap: 40px;
  }

  .vl24-product-title{
    max-width: none;
  }

}

/* =========================================
MOBILE / TABLET
========================================= */

@media (max-width: 1024px){

  .vl24-product-page--2026{
    padding: 24px 20px 60px;
  }

  .vl24-product-hero__grid{
    grid-template-columns: 1fr;
    gap: 32px;
  }

}

@media (max-width: 767px){

  .vl24-product-page--2026{
    padding: 18px 16px 48px;
  }

  .vl24-product-title{
    font-size: 2.1rem;
  }

  .vl24-product-purchase-card,
  .vl24-product-includes-card,
  .vl24-product-tabs-card{
    padding: 22px;
    border-radius: 10px;
  }

  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
  .woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart,
  .woocommerce div.product form.cart:not(.variations_form),
  .woocommerce-page div.product form.cart:not(.variations_form){
    grid-template-columns: 1fr;
  }

  .quantity input{
    height: 56px;
    border-radius: 16px;
  }

  .single_add_to_cart_button{
    min-height: 56px;
    border-radius: 16px !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs,
  .woocommerce-page div.product .woocommerce-tabs ul.tabs{
    gap: 18px;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  .woocommerce-page div.product .woocommerce-tabs ul.tabs li a{
    min-height: 44px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .woocommerce-Tabs-panel table th,
  .woocommerce-Tabs-panel table td,
  .woocommerce table.shop_attributes th,
  .woocommerce table.shop_attributes td{
    padding: 14px 12px;
    font-size: 14px;
  }

}

@media (max-width: 560px){

  .vl24-product-title{
    font-size: 1.85rem;
  }

  .vl24-product-actions-extra{
    flex-direction: column;
  }

  .vl24-btn{
    width: 100%;
  }

}

/* =========================================
VL24 2026 PREMIUM GALLERY (REAL VERSION)
========================================= */

.vl24-gallery{
  width:100%;
}

.vl24-gallery-main{
  position:relative;
  border-radius:10px;
  background:transparent;
  box-shadow:0 25px 70px rgba(0,0,0,0.08);
  aspect-ratio:4/3;
  overflow:hidden;
  flex: 0 0 auto;
}

/* HOVER ZOOM */
.vl24-gallery-main:hover img{
  transform:scale(1.03); 
}

/* NAV BUTTONS */
.vl24-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,0.9);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
  z-index:3;
}

.vl24-gallery-nav--prev{ left:12px; }
.vl24-gallery-nav--next{ right:12px; }

.vl24-gallery-nav:hover{
  transform:translateY(-50%) scale(1.1);
}

/* TOOLBAR */
.vl24-gallery-toolbar{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  gap:8px;
  z-index:4;
}

.vl24-gallery-counter{
  background:rgba(0,0,0,0.6);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

/* THUMBS WRAP */
.vl24-gallery-thumbs-wrap{
  position:relative;
  margin-top:14px;
}

/* THUMB WRAP */
.vl24-gallery-thumbs{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:6px 8px;
}

/* THUMB CARD */
.vl24-gallery-thumb{
  position:relative;
  flex:0 0 auto;
  width:120px;
  height:120px;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;

  /* eemaldame border bugi */
  border:none;

  /* clean card */
  box-shadow:0 8px 22px rgba(0,0,0,0.08);

  transition:all .2s ease;
}

/* IMAGE */
.vl24-gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ACTIVE — ÕIGE VIIS (outline, mitte border!) */
.vl24-gallery-thumb.is-active{
  outline:2px solid #111;
  outline-offset:2px; /* 🔥 see lahendab "ülemine serv kadunud" bugi */
  transform:scale(1.03);
}

.vl24-gallery-thumbs{
  scroll-behavior:smooth;
}

/* NAV THUMBS */
.vl24-gallery-thumbs-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  border:none;
  z-index:3;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.vl24-gallery-thumbs-nav--prev{ left:-10px; }
.vl24-gallery-thumbs-nav--next{ right:-10px; }

/* ===============================
VL24 LIGHTBOX — FIXED (FINAL)
=============================== */

.vl24-gallery-lightbox{
  position:fixed !important;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.96);
  z-index:999999999 !important;
}

/* oluline */
.vl24-gallery-lightbox[hidden]{
  display:none !important;
}

/* pilt */
.vl24-gallery-lightbox img{
  max-width:92vw;
  max-height:92vh;
  object-fit:contain;
  border-radius:14px;
}

/* close nupp */
.vl24-gallery-lightbox-close{
  position:fixed;
  top:20px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  border:none;
  font-size:20px;
  cursor:pointer;
  z-index:999999999;
}

/* 🔥 SEE ON KRIITILINE */
.vl24-product-gallery-col,
.vl24-product-gallery-card,
.vl24-gallery,
.vl24-gallery-main{
  transform:none !important;
}

/* 🔥 FORCE IMAGE FULL COVER */

.vl24-gallery-stage{
  position:absolute;
  inset:0;
}

.vl24-gallery-main-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.vl24-gallery-thumb{
  padding:0 !important;
  line-height:0;
}

/* =========================================
CE CONFIGURATOR → MATCH WOO VARIATIONS UI
========================================= */

/* wrapper spacing */
.ce-configurator{
  margin:0 0 20px;
}

/* field spacing nagu variations */
.ce-configurator-field{
  margin-bottom:16px;
}

.ce-configurator-field label{
  display:block;
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

.ce-configurator-section{
  margin-bottom:18px;
}

.ce-configurator-title{
  margin:0 0 12px;
  font-size:16px;
  font-weight:700;
}

/* SELECT = IDENTNE WOO DROPDOWN */
.ce-configurator-field select{
  width:100%;
  height:60px;
  margin:0;
  padding:0 54px 0 18px;
  border:1px solid rgba(17,17,17,0.12);
  border-radius:18px;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
  appearance:none;
}

/* SELECT focus */
.ce-configurator-field select:focus{
  outline:none;
  border-color:#111;
}

/* TEXT INPUTS (match qty + variation inputs) */
.ce-configurator-field input[type="text"],
.ce-configurator-field input[type="email"],
.ce-configurator-field input[type="tel"],
.ce-configurator-field textarea{
  width:100%;
  height:60px;
  padding:0 18px;
  border:1px solid rgba(17,17,17,0.12);
  border-radius:18px;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03);
}

/* textarea kõrgem */
.ce-configurator-field textarea{
  height:auto;
  min-height:120px;
  padding:14px 18px;
}

/* focus */
.ce-configurator-field input:focus,
.ce-configurator-field textarea:focus{
  outline:none;
  border-color:#111;
}

/* CHILD FIELDS (indent + elegant line) */
.ce-children-group{
  margin-top:14px;
  margin-left:6px;
  padding-left:14px;
  border-left:2px solid rgba(17,17,17,0.08);
}

/* required star */
.ce-required{
  color:#dc2626;
  margin-left:4px;
}

/* HIDE */
.ce-hidden{
  display:none !important;
}

/* =========================================
CE CONFIGURATOR — FIX LAYOUT INSIDE WOO CART
========================================= */

/* configurator peab võtma kogu rea */
.woocommerce div.product form.cart .ce-configurator,
.woocommerce-page div.product form.cart .ce-configurator,
.woocommerce div.product form.cart .ce-configurator-section,
.woocommerce-page div.product form.cart .ce-configurator-section{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  grid-column:1 / -1;
}

/* kui configurator on sattunud qty + button grid sisse,
   siis tõstame ta enne neid ja üle mõlema veeru */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .ce-configurator,
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .ce-configurator,
.woocommerce div.product form.cart .ce-configurator{
  order:-10;
  grid-column:1 / -1;
  width:100%;
  margin:0 0 22px;
}

/* kõik field wrapperid täislaiuseks */
.ce-configurator-field,
.ce-configurator-choice,
.ce-children-group{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
}

/* kõik inputid/selectid täislaiusesse */
.ce-configurator-field select,
.ce-configurator-field input[type="text"],
.ce-configurator-field input[type="email"],
.ce-configurator-field input[type="tel"],
.ce-configurator-field textarea{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0;
  box-sizing:border-box;
}

/* child group ei tohi kokku vajuda */
.ce-children-group{
  margin-top:14px;
  margin-left:0;
  padding-left:14px;
  border-left:2px solid rgba(17,17,17,0.08);
}

/* veendu, et qty + nupp jäävad pärast configuratorit */
.woocommerce div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button{
  position:relative;
  z-index:1;
}

body,
.woocommerce-Tabs-panel,
.vl24-product-excerpt{
  font-size: 16px;
  line-height: 1.7;
}

/* rohkem “shop” spacing */
.vl24-product-summary-col{
  padding-left: 10px;
}

/* vähem õhku */
.vl24-product-hero{
  margin-bottom: 30px; /* oli 72px */
}


/* =========================================
STICKY — REAL FIX (SCROLL CONTEXT FIX)
========================================= */

@media (min-width: 1025px){

  html, body{
    height: auto;
  }

  /* 🔥 oluline: lase gridil päriselt kasvada */
  .vl24-product-page--2026{
    overflow: visible !important;
  }

  /* 🔥 see on KÕIGE OLULISEM */
  .vl24-product-hero{
    display: block;
  }

  /* 🔥 grid EI TOHI piirata kõrgust */
  .vl24-product-hero__grid{
    display: grid;
    align-items: start;
  }

  /* 🔥 sticky peab olema SEE */
  .vl24-product-gallery-col{
    position: sticky;
    top: 120px;
  }

}

/* =========================================
RADIUS FIX — FORCE (BAUHAUS STYLE)
========================================= */

/* suured kastid */
.vl24-product-purchase-card,
.vl24-product-includes-card,
.vl24-product-tabs-card{
  border-radius: 6px !important;
}

/* sisemised valikud */
.woocommerce div.product form.cart .variations select,
.ce-configurator-field select,
.ce-configurator-field input,
.ce-configurator-field textarea,
.quantity input{
  border-radius: 6px !important;
}

/* gallery */
.vl24-gallery-main{
  border-radius: 6px !important;
}

.vl24-gallery-thumb{
  border-radius: 4px !important;
}

/* buttons */
.single_add_to_cart_button{
  border-radius: 6px !important;
}

/* info box */
.vl24-product-delivery,
.vl24-product-note-line{
  border-radius: 6px !important;
}

body{
  overflow: visible !important;
}

.woocommerce div.product form.cart .variations select{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
  height: 0;
}

/* WRAP */
.vl24-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* BASE */
.vl24-swatch{
  cursor:pointer;
  transition:all .2s ease;
}



/* IMAGE */
.vl24-swatch--image{
  width:56px;
  height:56px;
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.1);
}

.vl24-swatch--image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.vl24-swatch--button{
  padding:12px 16px;
  border-radius:var(--vl24-radius-md);
  border:var(--vl24-border);
  font-size:var(--vl24-font-md);
  font-weight:var(--vl24-fw-medium);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  transition:all .18s ease;
}

.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

/* ACTIVE */
.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

.vl24-swatch-tooltip{
  position: fixed;
  transform: translateX(-50%);
  background:#111;
  color:#fff;
  padding:6px 10px;
  font-size:12px;
  border-radius:6px;
  pointer-events:none;
  white-space:nowrap;
  z-index:9999;
  opacity:0;
  animation:fadeIn .15s ease forwards;
}

@keyframes fadeIn{
  to{ opacity:1; }
}

.vl24-product-title-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.vl24-product-title-rating .star-rating{
  font-size:14px;
}

.vl24-product-purchase{
  display:block;
}

/* =========================================
VL24 CHECKOUT — FINAL (WORKING)
========================================= */

/* GRID */
.vl24-checkout-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap:40px;
  align-items:start;
}

/* LEFT */
.vl24-checkout-main{
  width:100%;
  min-width:0;
}

/* RIGHT */
.vl24-checkout-side{
  width:100%;
  position:sticky;
  top:120px;
}

/* MOBILE */
@media (max-width: 1024px){
  .vl24-checkout-grid{
    grid-template-columns:1fr;
  }

  .vl24-checkout-side{
    position:relative;
    top:auto;
  }
}

/* =========================================
CARD STYLE (MATCH YOUR DESIGN)
========================================= */

#customer_details{
  background:#fff;
  padding:28px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* =========================================
TYPO
========================================= */

.vl24-checkout-side h3{
  font-size:18px;
  font-weight:700;
  margin-bottom:16px;
}

/* =========================================
FIELDS
========================================= */

.woocommerce-checkout .form-row{
  margin-bottom:14px;
}

.woocommerce-checkout input,
.woocommerce-checkout select{
  width:100%;
  height:52px;
  padding:0 16px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
  font-size:15px;
  box-sizing:border-box;
}

/* TEXTAREA */
.woocommerce-checkout textarea{
  width:100%;
  padding:14px 16px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
}



/* =========================================
BUTTON
========================================= */

#place_order{
  width:100%;
  height:58px;
  background:#111;
  color:#fff;
  font-weight:700;
  border-radius:6px;
}

/* =========================================
NOTE
========================================= */

.vl24-checkout-note{
  margin-top:20px;
  font-size:14px;
  opacity:0.7;
}

/* mobile */
@media (max-width:640px){
  .vl24-option-grid{
    grid-template-columns:1fr;
  }
}

/* CHECKOUT CARD SYSTEM */

.vl24-checkout-card{
  margin-top:20px;
  padding:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

.vl24-checkout-main > *{
  margin-bottom:20px;
}

/* =========================================
CHECKOUT STRUCTURE FIX (FINAL)
========================================= */

.vl24-checkout-section{
  margin-top:20px;
}

.vl24-checkout-section h4{
  margin-bottom:10px;
  font-size:15px;
  font-weight:700;
}

/* SWATCH GROUP (SAMA MIS PRODUCT) */
.vl24-swatch-group{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.vl24-swatch-group .vl24-swatch{
  min-width:180px;
}

/* ACTIVE */
.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

/* =========================================
CHECKOUT — FINAL PROFESSIONAL FIX
========================================= */

/* WRAP RIGHT SIDE INTO CARD */
.vl24-checkout-side{
  position:sticky;
  top:120px;
}

.vl24-checkout-side > h3{
  display:none;
}

.vl24-checkout-side{
  background:#fff;
  padding:28px;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,0.06);
}

/* ORDER TABLE CLEAN */
.vl24-checkout-side table{
  margin:0;
}

.vl24-checkout-side th{
  font-weight:700;
}

/* ALIGN WITH BILLING CARD */
#customer_details{
  padding:28px;
}

/* DELIVERY BLOCK FIX */
#vl24-delivery-extra{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.08);
}

/* CHECKBOX FIX (SUUR PROBLEEM) */
#vl24-delivery-extra .vl24-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  margin-bottom:14px;
}

/* FORCE CHECKBOX SIZE */
#vl24-delivery-extra input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
}

/* HIDE WOO DEFAULT LABEL */
#vl24-shipping-wrapper h3{
  display:none;
}

/* REMOVE WOO WEIRD SPACING */
#vl24-shipping-wrapper .woocommerce-shipping-fields{
  margin:0;
  padding:0;
}

/* FIX SHIPPING FIELDS ALIGNMENT */
#vl24-shipping-wrapper .form-row{
  width:100%;
  float:none;
}

/* INPUT STYLE = PRODUCT PAGE STYLE */
#vl24-shipping-wrapper input{
  height:52px;
  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);
}

/* GRID FIX */
.vl24-checkout-grid{
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
}

/* LEFT CARD SPACING */
.vl24-checkout-main > *{
  margin-bottom:24px;
}

/* DELIVERY BUTTONS ALIGN */
.vl24-swatch-group{
  margin-top:8px;
}

/* REMOVE RANDOM FLOAT BUG */
.woocommerce-shipping-fields__field-wrapper{
  display:block;
}

/* BUTTON ALIGN */
#place_order{
  margin-top:20px;
}

/* =========================================
BILLING = SAME STYLE AS DELIVERY (FINAL)
========================================= */

/* LABEL */
#customer_details label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700;
}

/* INPUT BASE */
#customer_details input,
#customer_details select,
#customer_details textarea{
  width:100%;
  height:48px;
  padding:0 16px;

  border:1px solid rgba(0,0,0,0.15);
  border-radius:6px;

  background:#fff;

  font-size:15px;
  font-weight:600;

  line-height:1;
  box-sizing:border-box;

  transition:all .18s ease;
}

/* TEXTAREA */
#customer_details textarea{
  height:auto;
  min-height:110px;
  padding:14px 16px;
}

/* FOCUS = sama feel nagu swatch active */
#customer_details input:focus,
#customer_details select:focus,
#customer_details textarea:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,0.1);
}

/* PLACEHOLDER */
#customer_details input::placeholder{
  opacity:0.6;
  font-weight:500;
}

/* SELECT ARROW CLEAN */
#customer_details select{
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 14px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

/* ROW SPACING */
#customer_details .form-row{
  margin-bottom:16px;
}

/* REMOVE WOO FLOAT SHIT */
#customer_details .form-row-first,
#customer_details .form-row-last{
  float:none;
  width:100%;
}

/* NAME 2-COLUMN (LIKE PRO UI) */
#customer_details .form-row-first,
#customer_details .form-row-last{
  display:inline-block;
  width:calc(50% - 8px);
}

#customer_details .form-row-first{
  margin-right:16px;
}

/* FORCE CLEAN */
#customer_details *{
  box-sizing:border-box;
}

/* =========================================
CHECKOUT — FINAL FIX (BILLING = SHIPPING 1:1)
========================================= */

/* 🔥 FORCE SAME INPUT SIZE (billing + shipping) */
#customer_details input,
#customer_details select,
#vl24-shipping-wrapper input,
#vl24-shipping-wrapper select{
  height:48px !important;
  border-radius:6px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  font-size:15px;
  padding:0 16px;
  width:100%;
  box-sizing:border-box;
}

/* 🔥 FIX SELECT2 (country/state Woo) */
.select2-container .select2-selection--single{
  height:48px !important;
  border-radius:6px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  display:flex;
  align-items:center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:48px !important;
  padding-left:16px;
  font-size:15px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:48px !important;
}

/* 🔥 REMOVE FLOATS (shipping + billing SAME) */
#customer_details .form-row,
#vl24-shipping-wrapper .form-row{
  width:100% !important;
  float:none !important;
  margin-bottom:16px;
}

/* 🔥 NAME 2 COLUMN — BOTH */
#customer_details .form-row-first,
#customer_details .form-row-last,
#vl24-shipping-wrapper .form-row-first,
#vl24-shipping-wrapper .form-row-last{
  display:inline-block;
  width:calc(50% - 8px);
  vertical-align:top;
}

#customer_details .form-row-first,
#vl24-shipping-wrapper .form-row-first{
  margin-right:16px;
}

/* 🔥 FORCE FULL WIDTH REST */
#customer_details .form-row-wide,
#vl24-shipping-wrapper .form-row-wide{
  width:100%;
  display:block;
}

/* 🔥 LABEL MATCH */
#vl24-shipping-wrapper label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700;
}

/* 🔥 FIX COUNTRY CLICK BUG */
.select2-container{
  width:100% !important;
  z-index:9999;
}

/* REMOVE shipping row from order table */
.woocommerce-checkout-review-order-table .shipping{
  display:none !important;
}

/* =========================================
THANK YOU — FINAL PRO (MATCH SYSTEM)
========================================= */

.vl24-thankyou{
  max-width:1400px;
  margin:40px auto;
  padding:0 20px;
}

/* HERO */
.vl24-thankyou-hero{
  margin-bottom:32px;
}

.vl24-thankyou-hero h1{
  font-size:32px;
  margin-bottom:10px;
}

.vl24-thankyou-lead{
  font-size:16px;
  font-weight:600;
  margin-bottom:6px;
}

.vl24-thankyou-desc{
  opacity:0.7;
  max-width:600px;
}

/* GRID */
.vl24-thankyou-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap:32px;
}

/* CARD */
.vl24-thankyou-card{
  background:#fff;
  padding:28px;
  border:var(--vl24-border);
  border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,0.05);
}

.vl24-thankyou-card h3{
  margin-bottom:14px;
  font-size:18px;
}

/* LIST */
.vl24-thankyou-card ul{
  padding-left:18px;
}

.vl24-thankyou-card li{
  margin-bottom:6px;
}

/* MOBILE */
@media(max-width:900px){
  .vl24-thankyou-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================
THANK YOU — PRODUCT CARD (PRO)
========================================= */

.vl24-order-card{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:16px;
  padding:20px;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:6px;
  background:#fff;
}

.vl24-order-card + .vl24-order-card{
  margin-top:16px;
}

/* IMAGE */
.vl24-order-image{
  width:120px;
  height:120px;
  overflow:hidden;
  border-radius:6px;
  background:#f5f5f5;
}

.vl24-order-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* CONTENT */
.vl24-order-content{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* TITLE */
.vl24-order-title{
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.01em;
}

/* PRICE */
.vl24-order-price{
  margin-top:6px;
  font-size:16px;
  font-weight:700;
}

/* NOTE */
.vl24-order-note{
  font-size:13px;
  opacity:0.6;
}

/* =========================================
THANK YOU — SPEC LIST (PRO)
========================================= */

.vl24-order-specs{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}

/* ROW */
.vl24-order-option{
  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:8px 0;

  border-bottom:1px solid rgba(0,0,0,0.06);
}

/* eemaldame viimase borderi */
.vl24-order-option:last-child{
  border-bottom:none;
}

/* LABEL */
.vl24-order-option-label{
  font-size:14px;
  opacity:0.6;
}

/* VALUE */
.vl24-order-option-value{
  font-size:14px;
  font-weight:600;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce-page div.product form.cart:not(.variations_form){
  display:flex;
  align-items:stretch;
  gap:8px;
  flex-wrap:wrap;
}

.woocommerce div.product form.cart .quantity{
  width:140px;
  flex:0 0 140px;
}

.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1;
  width:auto;
  margin:0 !important;
}

.vl24-quote-btn{
  flex:1;
  min-height:60px;
  padding:0 22px;

  border:1px solid #111;
  border-radius:6px;

  background:#fff;
  color:#111;

  font-size:17px;
  font-weight:800;

  cursor:pointer;
}



.single_add_to_cart_button,
.vl24-quote-btn{
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}

.single_add_to_cart_button *{
  font-family: inherit !important;
  font-weight: inherit !important;
}














/* =========================================
VL24 HEADER — FINAL CLEAN FIX
========================================= */

.vl24-header{
  width:100%;
}

.vl24-header *,
.vl24-header *::before,
.vl24-header *::after{
  box-sizing:border-box;
}

/* SAME CONTAINER FOR ALL 3 ROWS */
.vl24-header .vl24-container{
  width:100%;
  max-width:1520px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

/* TOP BAR */
.vl24-header-top{
  background:#efefef;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.vl24-header-top .vl24-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:10px;
  padding-bottom:10px;
}

/* TOP MENU */
.vl24-top-menu{
  margin:0;
  padding:0;
}

.vl24-top-menu-list{
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}

.vl24-top-menu-list li{
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}

.vl24-top-menu-list a{
  display:flex;
  align-items:center;
  
  padding:0 16px;
  font-size:14px;
  color:#111;
  text-decoration:none;
}

.vl24-top-menu-list li{
  display:flex;
  height:100%;
}

.vl24-top-menu-list a{
  display:flex;
  align-items:center;
  height:100%;
  padding:0 16px;
}

.vl24-top-menu-list li:first-child a{
  padding-left:0;
}

.vl24-top-menu-list li:hover{
  background:#dcdcdc;
}

/* RIGHT SIDE */
.vl24-top-right{
  display:flex;
  align-items:center;
  gap:18px;
}

.vl24-phone{
  font-size:14px;
  white-space:nowrap;
}

.vl24-icons{
  display:flex;
  align-items:center;
  gap:12px;
}

.vl24-icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.vl24-icon svg,
.vl24-cart svg{
  width:24px;
  height:24px;
  stroke:#111;
  stroke-width:2.4;
  transition:stroke .2s ease;
}

.vl24-icon:hover svg,
.vl24-cart:hover svg{
  stroke:var(--vl24-green);
}

.vl24-cart{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.vl24-cart-count{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:var(--vl24-orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  text-decoration:none !important;
}

.vl24-header-main .vl24-container{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:32px;

  height:100%;
  min-height:var(--vl24-header-main-h);
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.vl24-logo{
  margin:0;
  padding:0;
}

.vl24-logo a{
  display:inline-flex;
  align-items:center;
  font-size:20px;
  font-weight:700;
  color:#111;
  text-decoration:none;
}

.vl24-search svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.vl24-cta-group{
  display:flex;
  align-items:center;
  gap:12px;
}

.vl24-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 22px;
  border-radius:4px;
  background:var(--vl24-green);
  color:#fff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.vl24-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 22px;
  border:1px solid var(--vl24-green);
  border-radius:4px;
  background:#fff;
  color:var(--vl24-green);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

/* CATEGORY BAR */
.vl24-header-categories{
  background:var(--vl24-green);
}

.vl24-header-categories .vl24-container{
  display:block !important;
  text-align:left !important;
  padding-top:0;
  padding-bottom:0;
}

.vl24-header-categories .vl24-container{
  display:flex !important;
  align-items:center;
  min-height:44px; 
}

.vl24-cat-menu{
  display:flex !important;
  align-items:center;
  justify-content:flex-start !important;
  gap:34px;
  width:100%;
  list-style:none;
  margin:0;
  padding:14px 0;
  padding-inline-start:0 !important;
  text-align:left !important;
}

.vl24-cat-menu li{
  position:relative;
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}

.vl24-cat-menu li:first-child{
  margin-left:0 !important;
}

.vl24-cat-menu li:first-child a{
  padding-left:0 !important;
}

.vl24-cat-menu a{
  position:relative;
  display:inline-flex;
  align-items:center;
  line-height:1;
  padding:0;
  font-size:16px !important;
  font-weight:600 !important;
  color:#fff !important;
  letter-spacing:0.01em;
  text-decoration:none;
}

.vl24-cat-menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-14px;
  width:100%;
  height:3px;
  background:#0b0b0b;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

.vl24-cat-menu li:hover a::after{
  transform:scaleX(1);
}

.vl24-cat-menu a:hover{
  color:#fff;
  opacity:.85;
}

/* MOBILE */
@media (max-width:1024px){
  .vl24-header-main .vl24-container{
    grid-template-columns:1fr;
    gap:16px;
  }

  .vl24-cta-group{
    flex-wrap:wrap;
  }
}

/* =========================================
VL24 BUTTON SYSTEM — FINAL
========================================= */

.vl24-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:6px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:all .18s ease;
  border:1px solid transparent;
}

/* PRIMARY (MAIN CTA) */
.vl24-btn--primary{
  background:var(--vl24-green);
  color:#fff;
}

.vl24-btn--primary:hover{
  background:var(--vl24-green-dark);
  transform:translateY(-1px);
}

/* GHOST (SOFT BG) */
.vl24-btn--ghost{
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
}

.vl24-btn--ghost:hover{
  background:var(--vl24-green-light);
}

/* OUTLINE */
.vl24-btn--outline{
  background:#fff;
  border:1px solid var(--vl24-green);
  color:var(--vl24-green);
}

.vl24-btn--outline:hover{
  background:var(--vl24-green);
  color:#fff;
}

/* DANGER (ORANGE CTA) */
.vl24-btn--danger{
  background:var(--vl24-orange);
  color:#fff;
}

.vl24-btn--danger:hover{
  background:var(--vl24-orange-dark);
}

/* =========================================
VL24 BADGE SYSTEM — FINAL
========================================= */

.vl24-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* SALE */
.vl24-badge--sale{
  background:var(--vl24-orange);
  color:#fff;
}

/* NEW */
.vl24-badge--new{
  background:var(--vl24-green);
  color:#fff;
}

/* STOCK OK */
.vl24-badge--stock{
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
}

/* LOW STOCK */
.vl24-badge--low{
  background:#fee2e2;
  color:#b91c1c;
}

/* =========================================
VL24 CARD SYSTEM — FINAL
========================================= */

.vl24-card{
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:6px;
  overflow:hidden;
  transition:all .2s ease;
}

/* HOVER */
.vl24-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

/* IMAGE */
.vl24-card-image{
  aspect-ratio:4/3;
  overflow:hidden;
}

.vl24-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* CONTENT */
.vl24-card-body{
  padding:16px;
}

/* TITLE */
.vl24-card-title{
  font-size:16px;
  font-weight:700;
  margin-bottom:6px;
}

/* PRICE */
.vl24-card-price{
  font-size:18px;
  font-weight:800;
  color:var(--vl24-green-dark);
}

/* ACTIONS */
.vl24-card-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
}

/* =========================================
VL24 GRID SYSTEM — FINAL
========================================= */

.vl24-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:20px;
}

/* MOBILE */
@media(max-width:640px){
  .vl24-grid{
    grid-template-columns:1fr;
  }
}

.vl24-cart-count{
  background:var(--vl24-orange);
  color:#fff;
  font-size:12px;
  padding:2px 6px;
  border-radius:999px;
}

.vl24-btn-primary{
  background:var(--vl24-green);
}

.vl24-btn-primary--alt{
  background:var(--vl24-orange);
}

.single_add_to_cart_button{
  background:var(--vl24-green) !important;
  color:#fff !important;
  border:none !important;
}

.vl24-cat-menu a:hover{
  color:#fff;
  opacity:0.85;
}

.vl24-cat-menu li:hover{
  transform:translateY(-1px);
}

.vl24-icon svg,
.vl24-cart svg{
  transition:stroke .2s ease;
}

.vl24-top-menu-list a{
  position:relative;
  z-index:1;
}

.vl24-top-menu-list a::before{
  content:"";
  position:absolute;
  top:-10px;
  bottom:-10px;
  left:0;
  right:0;
  background:#dcdcdc;
  opacity:0;
  z-index:-1;
  transition:opacity .2s ease;
}

.vl24-top-menu-list a:hover::before{
  opacity:1;
}

.vl24-header-categories{
  position: relative;
  background: var(--vl24-green) !important;
  overflow: hidden;
}

.vl24-header-categories::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,0.25) 45%,
    transparent 70%
  );
  opacity:0.4;
  pointer-events:none;
}

/* SALE BUTTON — CLEAN & WORKING */

.menu-sale > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:10px 18px;
  border-radius:6px;

  color:#fff !important;
  font-weight:800;
  letter-spacing:0.02em;

  background: linear-gradient(135deg, #ff3b3b, #ff7a00);

  box-shadow:0 6px 16px rgba(0,0,0,0.25);
  transition:all .25s ease;
}

/* 🔥 HOVER — EI TUHMISTA */
.menu-sale > a:hover{
  background: linear-gradient(135deg, #ff7a00, #ff3b3b); /* flip gradient */
  box-shadow:0 10px 22px rgba(0,0,0,0.35);
}

/* =========================================
BOTANICAL OVERLAY — CATEGORIES BAR
========================================= */

.vl24-header-categories{
  position: relative;
  overflow: visible !important;
background: var(--vl24-green) !important;
}

.vl24-header-categories::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 220'%3E%3Cg fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 180 C120 110, 180 150, 280 95 S470 35, 620 92 S790 155, 900 80' stroke-width='2.2' opacity='0.34'/%3E%3Cpath d='M40 210 C150 145, 250 185, 360 120 S560 55, 700 120 S830 185, 930 130' stroke-width='1.8' opacity='0.28'/%3E%3Cpath d='M95 130 C120 118, 135 98, 145 72' stroke-width='1.5' opacity='0.42'/%3E%3Cpath d='M132 108 C150 95, 160 78, 165 55' stroke-width='1.3' opacity='0.35'/%3E%3Cpath d='M250 120 C270 103, 285 82, 296 56' stroke-width='1.5' opacity='0.40'/%3E%3Cpath d='M412 84 C426 68, 438 48, 445 26' stroke-width='1.4' opacity='0.36'/%3E%3Cpath d='M560 96 C576 78, 588 55, 594 28' stroke-width='1.5' opacity='0.40'/%3E%3Cpath d='M715 118 C734 100, 748 76, 758 45' stroke-width='1.5' opacity='0.40'/%3E%3Cpath d='M770 145 C788 128, 803 105, 814 76' stroke-width='1.4' opacity='0.34'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat: repeat;
  background-size: 760px auto;
  background-position: center center;
  opacity: 0.4;
}

.vl24-header-categories > *{
  position:relative;
  z-index:2;
}


/* =========================================
BOTANICAL OVERLAY — PRIMARY CTA
========================================= */

.vl24-btn-primary{
  position: relative;
  overflow: hidden;
background: var(--vl24-green) !important;
  color:#fff !important;
}

.vl24-btn-primary::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 120'%3E%3Cg fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-10 92 C55 42, 120 82, 190 42 S325 18, 430 58' stroke-width='1.9' opacity='0.34'/%3E%3Cpath d='M72 68 C86 55, 97 38, 104 18' stroke-width='1.3' opacity='0.40'/%3E%3Cpath d='M182 48 C194 35, 204 20, 210 4' stroke-width='1.2' opacity='0.36'/%3E%3Cpath d='M296 42 C308 28, 318 14, 325 -2' stroke-width='1.3' opacity='0.40'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat: repeat;
  background-size: 280px auto;
  background-position: center center;
  opacity: 0.4;
}

.vl24-btn-primary > *{
  position:relative;
  z-index:2;
}

/* =========================================
UNIFIED CTA + QTY SIZE (MATCH HEADER)
========================================= */

/* WRAP ALIGN */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{
  display:flex;
  align-items:stretch;
  gap:8px;
}

/* 🔥 QUANTITY */
.quantity{
  height:46px;
  padding:0 6px;
  display:flex;
  align-items:center;
  border-radius:6px;
}

.quantity input{
  height:100%;
  font-size:16px;
}

/* +/- buttons */
.qty-minus,
.qty-plus{
  height:100%;
  width:38px;
  border-radius:4px;
  font-size:18px;
}

/* 🔥 ADD TO CART */
.single_add_to_cart_button{
  height:46px !important;
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:6px !important;
  font-size:15px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* 🔥 QUOTE BUTTON */
.vl24-quote-btn{
  height:46px;
  min-height:46px;
  padding:0 18px;
  border-radius:6px;
  font-size:15px !important;
}

/* 🔥 FIX FLEX */
.woocommerce div.product form.cart .quantity{
  width:120px;
  flex:0 0 120px;
}

.vl24-btn-primary,
.vl24-btn-secondary{
  border-radius:6px !important;
}

.quantity{
  padding:0 !important;
  overflow:hidden;
}

.qty-minus,
.qty-plus{
  height:100%;
  width:42px;

  background:#f3f4f6;
  border:none;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* vasak nupp */
.qty-minus{
  border-radius:6px 0 0 6px;
}

/* parem nupp */
.qty-plus{
  border-radius:0 6px 6px 0;
}

/* input keskel */
.quantity input{
  flex:1;
}

.vl24-quote-btn{
  border:1px solid var(--vl24-green-dark);
  color:var(--vl24-green-dark);
  background:#fff;
}

.vl24-btn--secondary,
.vl24-btn-secondary,
.vl24-quote-btn{

  background:#fff !important;
border:1px solid var(--vl24-green-dark) !important;
  color:var(--vl24-green-dark) !important;

  border-radius:6px !important;

  transition: all .18s ease;
}

/* FORCE BUTTON TEXT WEIGHT */

.vl24-btn--primary,
.vl24-btn-primary,
.single_add_to_cart_button,
.vl24-quote-btn{

  font-weight:500 !important; 
}

/* =========================================
PRICE — VL24 SYSTEM FIX (PRO)
========================================= */

/* põhi hind */
.vl24-product-price-row .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color: var(--vl24-text) !important;
}

/* kui SALE → uus hind */
.vl24-product-price-row ins .amount,
.woocommerce div.product p.price ins .amount,
.woocommerce div.product span.price ins .amount{
  color: var(--vl24-green-dark) !important;
}

/* vana hind */
.vl24-product-price-row del .amount,
.woocommerce div.product p.price del .amount{
  color: #9ca3af !important; /* neutral gray */
  opacity:1 !important;
}

/* variation price */
.woocommerce-variation-price .price{
  color: var(--vl24-green-dark) !important;
}

/* =========================================
VL24 HEADER — ROBUST HIDE/REVEAL SYSTEM
========================================= */

:root{
  /* vajadusel timmi neid 3 väärtust */
  --vl24-header-top-h: 45px;
  --vl24-header-main-h: 86px;
  --vl24-header-cat-h: 64px;

  --vl24-header-full-h: calc(
    var(--vl24-header-top-h) +
    var(--vl24-header-main-h) +
    var(--vl24-header-cat-h)
  );

  --vl24-header-compact-h: var(--vl24-header-cat-h);
  --vl24-header-hide-offset: calc(
    var(--vl24-header-top-h) +
    var(--vl24-header-main-h)
  );
}

/* kogu header on ALATI fixed */
.vl24-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--vl24-header-full-h);
  z-index: 9999;
  background: #fff;
  transition: height .24s ease;
  will-change: height;
}

/* ainult siis kui header on fixed */
body.has-vl24-header{
  padding-top: var(--vl24-header-full-h);
}

/* read paika */
.vl24-header-top{
  height: var(--vl24-header-top-h);
}

.vl24-header-main{
  height: var(--vl24-header-main-h);
}

.vl24-header-categories{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--vl24-header-cat-h);
  z-index: 2;
  width: 100%;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* top + main liiguvad välja, mitte display:none */
.vl24-header-top,
.vl24-header-main{
  transition:
    transform .24s ease,
    opacity .18s ease;
  will-change: transform, opacity;
}

/* compact olek */
.vl24-header.header-compact{
  height: var(--vl24-header-compact-h);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.vl24-header.header-compact .vl24-header-top,
.vl24-header.header-compact .vl24-header-main{
  transform: translateY(calc(-1 * var(--vl24-header-hide-offset)));
  opacity: 0;
  pointer-events: none;
}

/* admin bar */
body.admin-bar .vl24-header{
  top: 32px;
}

/* väiksemad ekraanid – kui vaja saad hiljem eraldi loogika */
@media (max-width: 1024px){
  :root{
    --vl24-header-top-h: 45px;
    --vl24-header-main-h: 96px;
    --vl24-header-cat-h: 52px;
  }
}

@media (max-width: 782px){
  body.admin-bar .vl24-header{
    top: 46px;
  }
}

/* =========================================
VL24 SIMPLE HOVER (WORKING 100%)
========================================= */

/* PRIMARY (roheline nupp) */
.vl24-btn-primary,
.single_add_to_cart_button{
  background: var(--vl24-green) !important;
  color:#fff !important;
  border:none !important;
  transition: all .2s ease;
}

.vl24-btn-primary:hover,
.single_add_to_cart_button:hover{
  background: #111 !important; /* hover värv */
  color:#fff !important;
}

/* OUTLINE / QUOTE */
.vl24-btn-secondary,
.vl24-quote-btn{
  background:#fff !important;
  color: var(--vl24-green-dark) !important;
  border:1px solid var(--vl24-green-dark) !important;
  transition: all .2s ease;
}

.vl24-btn-secondary:hover,
.vl24-quote-btn:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* =========================================
FIX: HEADER ICON HOVER (FINAL WORKING)
========================================= */

/* tee wrapper clickable ja nähtav */
.vl24-icon,
.vl24-cart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  cursor:pointer;
}

/* SVG peab kasutama currentColor */
.vl24-icon svg,
.vl24-cart svg{
  width:24px;
  height:24px;

  stroke:currentColor !important;
  fill:none !important;

  transition:all .2s ease;
}

/* default värv */
.vl24-icon,
.vl24-cart{
  color:#111;
}

/* 🔥 HOVER — SIIN OLI SU BUG */
.vl24-icon:hover,
.vl24-cart:hover{
  color:#22c55e; /* roheline */
}

.vl24-icon:hover,
.vl24-cart:hover{
  color:var(--vl24-green-dark);
}

/* fix: kui kuskil on overflow/overlay */
.vl24-icon svg{
  pointer-events:none;
}

/* =========================================
ADD TO CART BUTTON — FINAL FIX
========================================= */

/* Woo nupp */
button.single_add_to_cart_button,
a.single_add_to_cart_button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:14px 26px;
  border-radius:6px;

  font-weight:600;
  font-size:15px;

  cursor:pointer;

  background:var(--vl24-green) !important;
  color:#fff !important;
  border:none !important;

  position:relative;
  overflow:hidden;
  isolation:isolate;

  transition:all .2s ease;
}

/* 🔥 botanical overlay */
button.single_add_to_cart_button::before,
a.single_add_to_cart_button::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 120'%3E%3Cg fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-10 92 C55 42, 120 82, 190 42 S325 18, 430 58' stroke-width='1.9' opacity='0.34'/%3E%3Cpath d='M72 68 C86 55, 97 38, 104 18' stroke-width='1.3' opacity='0.40'/%3E%3Cpath d='M182 48 C194 35, 204 20, 210 4' stroke-width='1.2' opacity='0.36'/%3E%3Cpath d='M296 42 C308 28, 318 14, 325 -2' stroke-width='1.3' opacity='0.40'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat:repeat;
  background-size:280px auto;
  background-position:center;

  opacity:0.4;
}

/* tekst jääb peale */
button.single_add_to_cart_button span,
button.single_add_to_cart_button strong{
  position:relative;
  z-index:2;
}

/* hover */
button.single_add_to_cart_button:hover,
a.single_add_to_cart_button:hover{
  background:#111 !important;
  color:#fff !important;
}

button.single_add_to_cart_button:hover::before,
a.single_add_to_cart_button:hover::before{
  opacity:0.18;
}

/* =========================================
VL24 SEARCH — FINAL SINGLE SYSTEM
========================================= */

.vl24-search{
  position:relative;
  width:100%;
  max-width:520px;
  min-width:0;

  display:flex;        
  align-items:center;   
}

/* sinu oma ikoon */
.vl24-search > svg{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:#999;
  pointer-events:none;
  z-index:5;
}

/* Fibo põhi wrapper */
.vl24-search .dgwt-wcas-search-wrapp{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Fibo form */
.vl24-search .dgwt-wcas-search-form{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* peida Fibo enda search nupp / ikoon */
.vl24-search .dgwt-wcas-search-submit{
  display:none !important;
}

/* peida Fibo enda luubiikoon kui plugin selle lisab */
.vl24-search .dgwt-wcas-ico-magnifier,
.vl24-search .dgwt-wcas-ico-loupe{
  display:none !important;
}

/* input */
.vl24-search .dgwt-wcas-search-input{
  width:100% !important;
  min-width:0 !important;
  height:50px !important;
  margin:0 !important;

  padding-left:44px !important;
  padding-right:16px !important;

  border:1px solid #e5e7eb !important;
  border-radius:6px !important;
  background:#fff !important;
  box-shadow:none !important;

  font-size:15px !important;
  color:#111 !important;
}

/* placeholder */
.vl24-search .dgwt-wcas-search-input::placeholder{
  color:#999 !important;
  opacity:1 !important;
}

/* focus */
.vl24-search .dgwt-wcas-search-input:focus{
  outline:none !important;
  border-color:#111 !important;
  box-shadow:none !important;
}

/* preloader õige koht */
.vl24-search .dgwt-wcas-inner-preloader{
  right:14px !important;
}

/* dropdown */
.vl24-search .dgwt-wcas-suggestions-wrapp{
  margin-top:8px !important;
  border-radius:10px !important;
  box-shadow:0 20px 50px rgba(0,0,0,0.12) !important;
  overflow:hidden !important;
}

/* suggestion row */
.vl24-search .dgwt-wcas-suggestion{
  padding:12px 14px !important;
}

/* product image */
.vl24-search .dgwt-wcas-si img{
  border-radius:6px !important;
}

/* highlight */
.vl24-search .dgwt-wcas-highlight{
  color:var(--vl24-green-dark) !important;
}

/* =========================================
VL24 SEARCH — HOVER + FOCUS FIX FOR FIBO
========================================= */

/* wrapper */
.vl24-search{
  position:relative !important;
}

/* sinu custom icon */
.vl24-search > svg{
  position:absolute !important;
  left:24px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:18px !important;
  height:18px !important;
  color:#999 !important;
  stroke:currentColor !important;
  fill:none !important;
  transition:color .2s ease, stroke .2s ease !important;
  pointer-events:none !important;
  z-index:5 !important;
}

/* Fibo wrapper */
.vl24-search .dgwt-wcas-search-wrapp{
  width:100% !important;
}

/* input default */
.vl24-search .dgwt-wcas-search-input{
  width:100% !important;
  height:50px !important;
  padding-left:44px !important;
  padding-right:16px !important;
  border:1px solid #e5e7eb !important;
  border-radius:6px !important;
  background:#fff !important;
  box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease !important;
}

/* HOVER */
.vl24-search:hover .dgwt-wcas-search-input{
  border-color:var(--vl24-green-dark) !important;
  box-shadow:0 0 0 2px rgba(36,150,90,0.16) !important;
}

.vl24-search:hover > svg{
  color:var(--vl24-green-dark) !important;
  stroke:currentColor !important;
}

/* CLICK / FOCUS */
.vl24-search:focus-within .dgwt-wcas-search-input,
.vl24-search .dgwt-wcas-search-input:focus{
  border-color:var(--vl24-green-dark) !important;
  box-shadow:0 0 0 2px rgba(36,150,90,0.18) !important;
  outline:none !important;
}

.vl24-search:focus-within > svg{
  color:var(--vl24-green-dark) !important;
  stroke:currentColor !important;
}


/* =========================================
FIBOSEARCH — FINAL FIX (VL24 SYSTEM)
========================================= */

/* ===============================
IMAGE — REAL FIX (WORKING)
=============================== */

/* container */
body .dgwt-wcas-si{
  width:84px !important;
  height:84px !important;

  border-radius:0 !important;
  overflow:hidden !important;

  padding:0 !important;
  margin:0 !important;

  background:none !important;
}

/* ainult link täidab */
body .dgwt-wcas-si a{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

/* ainult img fillib */
body .dgwt-wcas-si img{
  width:100% !important;
  height:100% !important;

  object-fit:cover !important;

  display:block !important;

  vertical-align:top !important;
}

/* ===============================
PRICE — VL24 GREEN SYSTEM (BOTANIC)
=============================== */

body .dgwt-wcas-sp{
  justify-self:end !important;

  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;

  font-size:13px !important;
  font-weight:800 !important;

  padding:6px 12px !important;
  border-radius:6px !important;

  background:var(--vl24-green) !important;
  color:#fff !important;

  position:relative;
  overflow:hidden;
}

/* 🔥 botanical overlay sama mis CTA */
body .dgwt-wcas-sp::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 120'%3E%3Cg fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-10 92 C55 42, 120 82, 190 42 S325 18, 430 58' stroke-width='1.9' opacity='0.34'/%3E%3Cpath d='M72 68 C86 55, 97 38, 104 18' stroke-width='1.3' opacity='0.40'/%3E%3Cpath d='M182 48 C194 35, 204 20, 210 4' stroke-width='1.2' opacity='0.36'/%3E%3Cpath d='M296 42 C308 28, 318 14, 325 -2' stroke-width='1.3' opacity='0.40'/%3E%3C/g%3E%3C/svg%3E");

  background-size:260px auto;
  opacity:0.35;
}

/* tekst peale */
body .dgwt-wcas-sp *{
  position:relative;
  z-index:2;
}

/* vana hind */
body .dgwt-wcas-sp del{
  color:rgba(255,255,255,0.6) !important;
}

/* uus hind */
body .dgwt-wcas-sp ins{
  color:#fff !important;
  text-decoration:none !important;
}

/* =========================================
MEGAMENU → VL24 CAT MENU REAL FIX
========================================= */

/* wrapper */
.vl24-header-categories .mega-menu-wrap{
  width:100% !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* top row */
.vl24-header-categories .mega-menu-wrap .mega-menu{
  display:flex !important;
  align-items:stretch !important;
  gap:34px !important;

  margin:0 !important;
  padding:0 !important;
  min-height:var(--vl24-header-cat-h) !important;

  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  list-style:none !important;
}

/* each item */
.vl24-header-categories .mega-menu-wrap .mega-menu > li{
  position:relative !important;
  display:flex !important;
  align-items:stretch !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* normal links */
.vl24-header-categories .mega-menu-wrap .mega-menu > li > a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:var(--vl24-header-cat-h) !important;
  line-height:1 !important;

  padding:0 !important;
  margin:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;

  font-size:16px !important;
  font-weight:600 !important;
  color:#fff !important;
  letter-spacing:0.01em !important;
  text-decoration:none !important;
}

/* remove plugin active bg */
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-current-menu-item > a,
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-current-menu-ancestor > a,
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-toggle-on > a{
  background:transparent !important;
  box-shadow:none !important;
}

/* text hover */
.vl24-header-categories .mega-menu-wrap .mega-menu > li > a:hover{
  color:#fff !important;
  opacity:.85 !important;
}

/* sale button stays custom */
.vl24-header-categories .mega-menu-wrap .mega-menu > li.menu-sale{
  margin-left:auto !important;
}

.vl24-header-categories .mega-menu-wrap .mega-menu > li.menu-sale > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:auto !important;
  align-self:center !important;

  padding:10px 18px !important;
  border-radius:6px !important;

  background:linear-gradient(135deg, #ff3b3b, #ff7a00) !important;
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:0.02em !important;

  box-shadow:0 6px 16px rgba(0,0,0,0.25) !important;
}

.vl24-header-categories .mega-menu-wrap .mega-menu > li.menu-sale > a::after{
  display:none !important;
}

/* dropdown */
.vl24-header-categories .mega-menu-wrap .mega-sub-menu{
  background:#fff !important;
  padding:40px 60px !important;
  border:none !important;
  box-shadow:0 20px 40px rgba(0,0,0,0.08) !important;
}

/* link vertikaalselt päris keskele */
.vl24-header-categories .mega-menu-wrap .mega-menu > li > a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:var(--vl24-header-cat-h) !important;
  line-height:1 !important;

  padding:0 !important;
  margin:0 !important;
  border:none !important;
  background:transparent !important;

  box-shadow: inset 0 -3px 0 transparent !important;
  transition:opacity .2s ease, box-shadow .2s ease !important;
}

/* underline hover + active */
.vl24-header-categories .mega-menu-wrap .mega-menu > li:not(.menu-sale):hover > a,
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-current-menu-item:not(.menu-sale) > a,
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-current-menu-ancestor:not(.menu-sale) > a,
.vl24-header-categories .mega-menu-wrap .mega-menu > li.mega-toggle-on:not(.menu-sale) > a{
  box-shadow: inset 0 -3px 0 #111 !important;
}

/* =========================================
MEGAMENU — FINAL FIX (STICKY SAFE)
========================================= */

.mega-menu-wrap{
  position: static !important; /* 🔥 EI SEO sticky külge */
}

.mega-menu-wrap .mega-sub-menu{
  position: fixed !important;  

  top: 64px !important;        /* 🔥 pane õige header height */
  left: 0 !important;

  width: 100vw !important;
  max-width: 100vw !important;

  z-index: 9999;
}

/* =========================================
VL24 QUOTE MODAL
========================================= */

.vl24-quote-modal{
  position:fixed;
  inset:0;
  z-index:999999;
}

.vl24-quote-modal[hidden]{
  display:none !important;
}

.vl24-quote-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.42);
  backdrop-filter:blur(4px);
  z-index:999998;
}

.vl24-cart-drawer{
  z-index:999999;
}

.vl24-quote-drawer{
  position:fixed; /* 🔥 KÕIGE OLULISEM */
  top:0;
  right:0;
  width:min(720px, 92vw);
  height:100vh;
  background:#fff;
  box-shadow:-20px 0 60px rgba(0,0,0,0.22);

  z-index:999999; /* 🔥 PEAB OLEMA SUUREM KUI OVERLAY */

  transform:translateX(100%);
  transition:transform .3s ease;
  overflow:hidden;
}

.vl24-quote-modal.is-open .vl24-quote-drawer{
  transform:translateX(0);
}

.vl24-quote-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:20;
  width:42px;
  height:42px;
  border:none;
  border-radius:50%;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.vl24-quote-iframe{
  display:block;
  width:100%;
  height:100%;
  border:none;
  background:#fff;
}

@media (max-width: 767px){
  .vl24-quote-drawer{
    width:100vw;
    max-width:none;
  }
}

/* =========================================
VL24 QUOTE HEADER — EXACT MATCH CAT MENU
========================================= */

.vl24-quote-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;

  height:64px;
  padding:0 20px;

  background:#fff;
  border-bottom:1px solid rgba(0,0,0,0.08);
}

.vl24-quote-header h2{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#111;
  letter-spacing:-0.01em;
}

/* subtle accent */
.vl24-quote-header::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:80px;
  height:3px;
  background:var(--vl24-green);
  border-radius:2px;
}

.vl24-quote-inner{
  display:flex;
  flex-direction:column;
  height:100vh;
}

[data-quote-iframe]{
  flex:1;
  width:100%;
  height:100%;
  border:0;
}

/* =========================================
HEADER (IDENTICAL TO QUOTE)
========================================= */

.vl24-cart-header{
  position:relative;

  height:64px;
  padding:0 20px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  border-bottom:1px solid rgba(0,0,0,0.08);

  flex-shrink:0;
}

.vl24-cart-header h2{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#111;
  letter-spacing:-0.01em;
}

.vl24-cart-header::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:80px;
  height:3px;
  background:var(--vl24-green);
  border-radius:2px;
}

/* CLOSE BUTTON */
.vl24-cart-close{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);

  width:42px;
  height:42px;

  border:none;
  border-radius:50%;

  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);

  font-size:22px;
  cursor:pointer;
}

/* =========================================
ITEMS
========================================= */

.vl24-cart-item{
  display:flex;
  gap:14px;
  margin-bottom:18px;
  align-items:flex-start;
}

.vl24-cart-img img{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:6px;
}

.vl24-cart-content{
  flex:1;
}

.vl24-cart-title{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:6px;
  color:#111;
}

.vl24-cart-qty{
  font-size:13px;
  color:#666;
}

.vl24-cart-remove{
  font-size:18px;
  text-decoration:none;
  color:#999;
}

/* =========================================
FOOTER (ALWAYS VISIBLE)
========================================= */

.vl24-cart-footer{
  flex-shrink:0;

  background:#fff;
  border-top:1px solid rgba(0,0,0,0.08);

  padding:16px 20px;

  display:flex;
  gap:10px;
}

/* BUTTONS */
.vl24-cart-footer .vl24-btn{
  flex:1;

  min-height:60px;

  font-size:17px;
  font-weight:800;
  letter-spacing:-0.01em;

  border-radius:6px;

  display:flex;
  align-items:center;
  justify-content:center;

  transition:all .18s ease;
}

/* PRIMARY */
.vl24-cart-footer .vl24-btn--primary{
  background:var(--vl24-green);
  color:#fff;
  border:none;
}

.vl24-cart-footer .vl24-btn--primary:hover{
  background:var(--vl24-green-dark);
  transform:translateY(-1px);
}

/* OUTLINE */
.vl24-cart-footer .vl24-btn--outline{
  background:#fff;
  border:1px solid #111;
  color:#111;
}

.vl24-cart-footer .vl24-btn--outline:hover{
  background:#111;
  color:#fff;
  transform:translateY(-1px);
}

/* =========================================
VL24 CART MODAL — SINGLE WORKING VERSION
========================================= */

body.vl24-cart-open{
  overflow:hidden !important;
  touch-action:none !important;
}

.vl24-cart-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  overflow:hidden !important;
}

.vl24-cart-modal[hidden]{
  display:none !important;
}

.vl24-cart-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,0.42) !important;
  backdrop-filter:blur(4px) !important;
  z-index:1 !important;
}

.vl24-cart-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  width:min(520px, 92vw) !important;
  height:100vh !important;
  background:#fff !important;
  box-shadow:-20px 0 60px rgba(0,0,0,0.22) !important;
  z-index:2 !important;
  transform:translateX(100%) !important;
  transition:transform .3s ease !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

.vl24-cart-modal.is-open .vl24-cart-drawer{
  transform:translateX(0) !important;
}

.vl24-cart-header{
  position:relative !important;
  flex:0 0 64px !important;
  height:64px !important;
  flex-shrink:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 20px !important;
  background:#fff !important;
  border-bottom:1px solid rgba(0,0,0,0.08) !important;
}

.vl24-cart-body{
  flex:0 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding:20px !important;
}

.vl24-cart-body .widget_shopping_cart_content{
  display:block !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.vl24-cart-body .woocommerce-mini-cart{
  margin:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.vl24-cart-footer{
  flex:0 0 auto !important;
  flex-shrink:0 !important;
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,0.08) !important;
  padding:16px 20px !important;
  display:flex !important;
  gap:10px !important;
}

/* =========================
CART MODAL — FORCE INLINE SCROLL (WORKS 100%)
========================= */

body.vl24-cart-open{
  overflow:hidden !important;
}

/* MODAL */
.vl24-cart-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;

  width:min(520px, 92vw) !important;
  height:100vh !important;

  overflow-y:auto !important;   /* ✅ SCROLL SIIN */
  overflow-x:hidden !important;

  -webkit-overflow-scrolling:touch !important;

  display:block !important;     /* ❗ eemaldab flex bugid */
}

/* eemaldame kõik sisemised piirangud */
.vl24-cart-drawer *{
  max-height:none !important;
  overflow:visible !important;
}

/* =========================================
VL24 OPTION BOXES — FINAL (MATCH CUSTOM UI)
========================================= */

/* ainult variation swatch wrapper */
.vl24-swatches.vl24-swatches--variation{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:10px !important;
}

/* Woo value cell */
.variations td.value{
  display:block !important;
  padding:0 !important;
}

/* ainult variation kastid */
.vl24-swatches.vl24-swatches--variation .vl24-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:14px 20px;
  min-width:auto;

  font-size:15px;
  font-weight:600;
  line-height:1.2;

  border-radius:6px;
  border:2px solid #d9d9d9;

  background:#fff !important;
  color:#111 !important;

  cursor:pointer;
  transition:all .2s ease;
  box-shadow:none !important;
  appearance:none;
}

/* hover */
.vl24-swatches.vl24-swatches--variation .vl24-swatch:hover{
  border-color:#999;
  background:#fff !important;
}

/* aktiivne */
.vl24-swatches.vl24-swatches--variation .vl24-swatch.is-active{
  background:#fff !important;
  color:#111 !important;
  border-color:var(--vl24-green-dark) !important;
  box-shadow:0 0 0 2px rgba(36,150,90,0.18) !important;
}

/* disabled */
.vl24-swatches.vl24-swatches--variation .vl24-swatch.is-disabled{
  opacity:.4;
  pointer-events:none;
}

/* Woo tabeli read */
.variations tr{
  display:block;
  margin-bottom:18px;
}

.variations td.label{
  display:block;
  margin-bottom:6px;
  font-weight:600;
}

.variations td.label label{
  display:block;
  margin:0 0 8px;
}

.ce-swatches .vl24-swatch.is-active{
  border-color:var(--vl24-green-dark) !important;
  box-shadow:0 0 0 2px rgba(36,150,90,0.18) !important;
}

.vl24-swatch.is-active{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}

/* =========================================
VL24 SWATCHES — FINAL FIX
========================================= */

/* BASE */
.vl24-swatch,
.ce-choice-button{
  border:2px solid #ddd !important;
  background:#fff;
  transition:all .2s ease;
}

/* HOVER — IDENTNE VARIATSIOONIDEGA */
.vl24-swatch:hover,
.ce-choice-button:hover{
  border-color:#000 !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* ACTIVE */
.vl24-swatch.is-active,
.ce-choice-button.is-active{
  border-color:var(--vl24-primary, #2e7d32) !important;
  box-shadow:none !important;
}

/* FOCUS FIX (ära tapa hoverit) */
.vl24-swatch:focus,
.ce-choice-button:focus{
  outline:none !important;
}

/* =========================================
VL24 PRODUCT META — FINAL 2026
========================================= */

.vl24-product-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

/* ITEM */
.vl24-meta-item{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:6px 12px;

  font-size:13px;
  font-weight:500;

  border-radius:999px;
  background:#f6f7f8;

  color:#555;

  transition:all .2s ease;
}

/* LABEL */
.vl24-meta-label{
  color:#999;
}

/* VALUE */
.vl24-meta-value{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  color:#111;
  font-weight:600;
}

/* CATEGORY BADGE */
.vl24-cat-badge{
  display:inline-block;
  padding:4px 10px;

  border-radius:999px;
  background:#eef7f0;

  color:var(--vl24-primary, #2e7d32);
  font-size:12px;
  font-weight:600;

  text-decoration:none;
  transition:all .2s ease;
}

.vl24-cat-badge:hover{
  background:#dff3e4;
}

/* HOVER EFFECT */
.vl24-meta-item:hover{
  transform:translateY(-1px);
  background:#eef7f0;
}

/* =========================================
VL24 CART MODAL — FINAL 2026
ONLY CART MODAL, DO NOT TOUCH HEADER
========================================= */

/* MODAL SHELL */
.vl24-cart-modal{
  position:fixed;
  inset:0;
  z-index:999999;
}

.vl24-cart-modal[hidden]{
  display:none !important;
}

.vl24-cart-overlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.34);
  backdrop-filter:blur(4px);
}

.vl24-cart-drawer{
  position:absolute;
  top:0;
  right:0;
  width:min(760px, 96vw);
  height:100vh;
  display:flex;
  flex-direction:column;
  background:#f8f8f8;
  box-shadow:-18px 0 60px rgba(0,0,0,0.18);
  transform:translateX(100%);
  transition:transform .28s ease;
}

.vl24-cart-modal.is-open .vl24-cart-drawer{
  transform:translateX(0);
}

/* HEADER — KEEP CLEAN, NO EXTRA X */
.vl24-cart-header{
  flex:0 0 auto;
  padding:24px 28px 18px;
  border-bottom:1px solid rgba(0,0,0,0.08);
  background:#f8f8f8;
}

.vl24-cart-header h2{
  margin:0;
  font-size:clamp(1.7rem, 2vw, 2.1rem);
  line-height:1.05;
  letter-spacing:-0.03em;
  font-weight:700;
  color:#111;
  text-align:center;
}

.vl24-cart-close{
  position:absolute;
  top:18px;
  right:18px;
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  color:#111;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,0.08);
}

/* BODY */
.vl24-cart-body[data-cart-content]{
  flex:1 1 auto !important;
  min-height:0;
  overflow-y:auto;
  padding:22px 22px 28px !important;
  background:#f8f8f8;
}

/* MINI CART LIST RESET */
.vl24-cart-body .woocommerce-mini-cart{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.vl24-cart-body .woocommerce-mini-cart-item{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  border:0 !important;
  background:transparent !important;
}

/* CARD BUILT BY JS */
.vl24-cart-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:20px;
  align-items:start;

  padding:18px;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:18px;
  background:#fff;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 20px 50px rgba(17,17,17,0.05);
}

/* IMAGE */
.vl24-cart-media{
  width:180px;
  height:180px;
  overflow:hidden;
  border-radius:16px;
  background:#eef2f3;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);
}

.vl24-cart-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
  border-radius:16px;
}

/* BODY SIDE */
.cart-item-details{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:14px;
}

.vl24-cart-top .remove{
  position:absolute;
  top:2px;
  right:2px;
}

.vl24-cart-top{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding-right:44px;
  width:100%;
}

/* PRODUCT TITLE */
.vl24-cart-top > a:not(.remove){
  display:block;
  flex:1 1 auto;
  min-width:0;

  color:#111 !important;
  text-decoration:none !important;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-0.02em;
}

/* REMOVE ICON — NEUTRAL, NO RED */
.vl24-cart-top .remove{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(17,17,17,0.04);
  color:#111 !important;
  text-decoration:none !important;
  font-size:20px;
  line-height:1;
  opacity:.56;
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}

.vl24-cart-top .remove:hover{
  opacity:1;
  transform:scale(1.04);
  background:rgba(17,17,17,0.08);
}

/* VARIATION BLOCK */
.vl24-cart-meta{
  min-width:0;
}

.vl24-cart-meta .variation{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.vl24-cart-meta .variation dt{
  margin:0 !important;
  padding:0 !important;
  color:#4b5563;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.vl24-cart-meta .variation dd{
  margin:0 !important;
  padding:0 !important;
  color:#111;
  font-size:15px;
  line-height:1.5;
  min-width:0;
}

.vl24-cart-meta .variation dd p{
  margin:0 !important;
}

/* ACTION ROW */
.vl24-cart-actions{
  margin-top:auto;
}

.vl24-cart-actions .quantity{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  width:100% !important;
  max-width:none !important;
  min-height:58px;

  padding:0 18px !important;
  margin:0 !important;

  border:1px solid rgba(17,17,17,0.10) !important;
  border-radius:6px !important;
  background:#fff !important;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 10px 24px rgba(17,17,17,0.04);
}

.vl24-cart-actions .quantity *{
  line-height:1.2;
}

.vl24-cart-actions .quantity .amount{
  font-size:18px;
  font-weight:700;
  color:#111;
}

.vl24-cart-actions .quantity .woocommerce-Price-amount{
  font-size:18px;
  font-weight:700;
  color:#111;
}

/* TOTAL */
.vl24-cart-body .woocommerce-mini-cart__total,
.vl24-cart-body p.total{
  margin:6px 2px 0 !important;
  padding:18px 0 0 !important;
  border-top:1px solid rgba(17,17,17,0.08);
  font-size:28px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#111;
}

.vl24-cart-body .woocommerce-mini-cart__total strong,
.vl24-cart-body p.total strong{
  font-weight:800;
  color:#111;
}

/* HIDE DEFAULT WOO BUTTONS IF THEY APPEAR */
.vl24-cart-body .woocommerce-mini-cart__buttons{
  display:none !important;
}

/* EMPTY CART */
.vl24-cart-body .woocommerce-mini-cart__empty-message{
  margin:0;
  padding:36px 18px;
  text-align:center;
  font-size:16px;
  color:#6b7280;
  border:1px dashed rgba(17,17,17,0.12);
  border-radius:18px;
  background:#fff;
}

/* FOOTER BUTTONS */
.vl24-cart-footer{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;

  padding:18px 22px 22px;
  border-top:1px solid rgba(17,17,17,0.08);
  background:#f8f8f8;
}

.vl24-cart-footer .vl24-btn{
  min-height:56px !important;
  width:100%;
  border-radius:14px !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-0.01em !important;
  box-shadow:none !important;
}

.vl24-cart-footer .vl24-btn--primary{
  background:var(--vl24-green) !important;
  color:#fff !important;
  border:none !important;
}

.vl24-cart-footer .vl24-btn--outline{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(17,17,17,0.16) !important;
}

/* SCROLLBAR */
.vl24-cart-body[data-cart-content]::-webkit-scrollbar{
  width:10px;
}

.vl24-cart-body[data-cart-content]::-webkit-scrollbar-thumb{
  background:rgba(17,17,17,0.18);
  border-radius:999px;
}

.vl24-cart-body[data-cart-content]::-webkit-scrollbar-track{
  background:transparent;
}

/* MOBILE */
@media (max-width:767px){

  .vl24-cart-drawer{
    height:100dvh !important;
    max-height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  .vl24-cart-header{
    flex:0 0 auto !important;
  }

  .vl24-cart-body{
    flex:1 1 auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding-bottom:18px !important;
  }

  .vl24-cart-footer{
    flex:0 0 auto !important;
    margin-top:auto !important;
    padding:10px 14px 12px !important;
    background:#fff !important;
    border-top:1px solid #eee !important;
  }

}

.vl24-cart-title-wrap a{
  display:block;
  font-size:18px;
  font-weight:700;
  color:#111 !important;
  text-decoration:none !important;
  line-height:1.2;
  margin-bottom:6px;
}

.vl24-cart-title-wrap{
  width:100%;
}

.vl24-cart-title-wrap a{
  display:block;
  width:100%;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  color:#111 !important;
}

.vl24-quote-body{
  height:100%;
  overflow:auto;
  padding:20px;
  background:#fff;
}

/* =========================================
CHECKOUT PRODUCT CARD — FORCE
========================================= */

.vl24-checkout-card-item{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:14px;
  align-items:start;
  padding:12px 0;
}

.vl24-checkout-card-img img{
  width:80px;
  height:80px;
  object-fit:cover;
  border-radius:6px;
}

.vl24-checkout-card-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:6px;
}

.vl24-checkout-card-meta{
  font-size:13px;
  color:#555;
  margin-bottom:6px;
}

.vl24-meta-row{
  margin-bottom:4px;
}

.vl24-checkout-card-price{
  font-weight:700;
  font-size:14px;
}

.vl24-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}

/* REMOVE BUTTON */
.vl24-remove-item{
  width:32px;
  height:32px;
  border:none;
  border-radius:6px;
  background:#111;
  color:#fff;
  font-size:16px;
  cursor:pointer;
}

/* QTY */
.vl24-qty{
  display:flex;
  align-items:center;
  border:1px solid rgba(0,0,0,0.15);
  border-radius:6px;
  overflow:hidden;
}

.vl24-qty input{
  width:40px;
  height:32px;            
  text-align:center;
  border:none;
  padding:0;             
  font-size:14px;
}

.vl24-qty-minus,
.vl24-qty-plus{
  width:32px;
  height:32px;
  border:none;
  background:#f3f4f6;
  cursor:pointer;
}

/* =========================================
FIX: SELECT2 DROPDOWN HEADER OVERLAP
========================================= */

.select2-container {
  z-index: 999 !important;
}

.select2-dropdown {
  z-index: 999 !important;
}

/* =========================================
CHECKOUT LINKS — CLEAN (NO BLUE SHIT)
========================================= */

.woocommerce-checkout a{
  color:#111;
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid rgba(0,0,0,0.25);
  transition:all .2s ease;
}

.woocommerce-checkout a:hover{
  color:var(--vl24-green-dark);
  border-bottom-color:var(--vl24-green-dark);
}

/* =========================================
COUPON BAR — FULL REDESIGN
========================================= */

/* kogu bar */
.woocommerce-form-coupon-toggle{
  background:#f3f4f6;
  border:none !important;
  border-radius:6px;
  padding:16px 18px;
  margin-bottom:20px;
  box-shadow:none;
  position:relative;
}

/* 🔥 EEMALDA SININE JOON */
.woocommerce-form-coupon-toggle::before{
  display:none !important;
}

/* tekst */
.woocommerce-form-coupon-toggle .woocommerce-info{
  border:none !important;
  background:none !important;
  padding:0 !important;
  margin:0;
  color:#111;
  font-weight:600;
}

/* 🔥 IKON — uus */
.woocommerce-form-coupon-toggle .woocommerce-info::before{
  content:"🏷️";
  margin-right:10px;
  font-size:16px;
}

/* =========================================
COUPON OPEN FORM — CLEAN PRO UI
========================================= */

.woocommerce form.checkout_coupon{
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:6px;
  padding:20px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

/* input */
.woocommerce form.checkout_coupon input.input-text{
  flex:1;
  height:48px;
  padding:0 16px;
  border:1px solid rgba(0,0,0,0.15);
  border-radius:6px;
  font-size:15px;
  font-weight:600;
}

/* focus */
.woocommerce form.checkout_coupon input.input-text:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,0.1);
}

/* button */
.woocommerce form.checkout_coupon button.button{
  height:48px;
  padding:0 20px;
  border:none;
  border-radius:6px;
  background:var(--vl24-green);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:all .2s ease;
}

.woocommerce form.checkout_coupon button.button:hover{
  background:var(--vl24-green-dark);
  transform:translateY(-1px);
}

/* =========================================
REMOVE WOO DEFAULT STYLES (IMPORTANT)
========================================= */

.woocommerce-info{
  border:none !important;
  background:none !important;
}

/* =========================================
MOBILE FIX
========================================= */

@media(max-width:640px){

  .woocommerce form.checkout_coupon{
    flex-direction:column;
    align-items:stretch;
  }

  .woocommerce form.checkout_coupon button.button{
    width:100%;
  }

}

/* =========================================
COUPON ICON — BIGGER & CLEAN
========================================= */

/* PEIDA WOO DEFAULT COUPON IKON */
.woocommerce-form-coupon-toggle .woocommerce-info::before{
  display:none !important;
  content:none !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info{
  position:relative;
  padding-left:50px !important; /* rohkem ruumi */
}

/* IKON */
.woocommerce-form-coupon-toggle .woocommerce-info::after{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);

  width:28px;  
  height:28px; 

  background-repeat:no-repeat;
  background-size:contain;

  background-image:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
    <path d='M3 11L11 3h7v7l-8 8-7-7z' fill='none' stroke='%2324965a' stroke-width='2' stroke-linejoin='round'/>\
    <circle cx='15.5' cy='6.5' r='1.5' fill='%2324965a'/>\
    <path d='M8 14l4-4' stroke='%2324965a' stroke-width='2' stroke-linecap='round'/>\
    <circle cx='9' cy='9' r='1' fill='%2324965a'/>\
    <circle cx='13' cy='13' r='1' fill='%2324965a'/>\
  </svg>");
}


/* =========================================
MAKE WOO VARIATIONS MATCH PLUGIN SPACING
========================================= */

/* kogu rida spacing (PEAMINE) */
.woocommerce div.product form.cart .variations tr{
  margin-bottom:18px !important; /* pluginil sama */
}

/* label (pealkiri) */
.woocommerce div.product form.cart .variations td.label{
  padding-bottom:8px !important;
}

.woocommerce div.product form.cart .variations td.label label{
  margin:0 !important;
  padding:0 !important;
  line-height:1.2;
}

/* value (buttonid) */
.woocommerce div.product form.cart .variations td.value{
  padding:0 !important;
  margin:0 !important;
}

/* swatch/button spacing */
.woocommerce div.product form.cart .variations td.value .vl24-swatches{
  margin-top:0 !important;
}

/* KILL Woo default table spacing */
.woocommerce div.product form.cart .variations{
  border-spacing:0 0 !important;
}

.woocommerce div.product form.cart .variations tbody{
  display:block;
}

.woocommerce div.product form.cart .variations tr{
  display:block;
}

/* =========================================
VL24 CART — PURE DESIGN (NO LAYOUT TOUCH)
========================================= */

/* =========================================
KASTID — VISUAAL (EI MUUDA POSITSIOONI)
========================================= */

.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block{
  background:#fff;
  padding:28px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* =========================================
PEALKIRI (REMOVE WOO LINK LOOK)
========================================= */

.wc-block-components-product-name a{
  color:#111 !important;
  text-decoration:none !important;

  font-size:17px;
  font-weight:700;
  letter-spacing:-0.01em;
}

.wc-block-components-product-name a:hover{
  opacity:0.7;
}



/* =========================================
PAREM HIND (TOTAL)
========================================= */

.wc-block-cart-item__total{
  font-size:20px;
  font-weight:800;
  color:var(--vl24-green-dark);
}

/* SAVE */
.wc-block-cart-item__total small{
  display:inline-block;
  margin-top:6px;
  font-size:11px;
  padding:4px 8px;
  border-radius:4px;

  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
}

/* =========================================
VARIATSIOONID — CLEAN LIST
========================================= */

.wc-block-components-product-details{
  margin-top:8px;
  font-size:13px;
  line-height:1.5;
  opacity:0.7;
}

.wc-block-components-product-details li{
  margin-bottom:2px;
}

/* =========================================
TOTAL BOX
========================================= */

.wc-block-components-totals-footer-item{
  font-size:20px;
  font-weight:800;
}

/* =========================================
SAFE SPACING (EI MUUDA LAYOUTI)
========================================= */

/* kogu ala */
.wp-block-woocommerce-cart{
  padding:40px 24px 60px;
}

/* max width + kesk */
.wp-block-woocommerce-filled-cart-block{
  max-width:1400px;
  margin-left:auto;
  margin-right:auto;
}

/* VISUAALNE VAHE KASTIDE VAHEL — ilma layouti muutmata */
.wp-block-woocommerce-cart-items-block{
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.04),
    20px 0 0 0 transparent; /* visuaalne separation */
}

.wp-block-woocommerce-cart-totals-block{
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.04);
}

/* =========================================
REAL GAP FIX (WORKS WITH WOO BLOCKS)
========================================= */

/* parent wrapper */
.wp-block-woocommerce-filled-cart-block{
  display:flex !important;
  gap:32px !important;
}

/* oluline: ära lase wrapida */
.wp-block-woocommerce-filled-cart-block{
  flex-wrap:nowrap !important;
}

/* vasak kast */
.wp-block-woocommerce-cart-items-block{
  flex:1 1 auto;
  min-width:0;
}

/* parem kast */
.wp-block-woocommerce-cart-totals-block{
  width:420px;
  flex:0 0 420px;
}

/* =========================================
VL24 CART — CLEAN BASE (RESET)
========================================= */

.wp-block-woocommerce-cart{
  background:#fff; /* EI OLE enam hall */
  padding:0;
}


/* =========================================
TOP BAR (MATCH CHECKOUT COUPON)
========================================= */

.wp-block-woocommerce-cart-header{
  width:100%;
  background:#efefef;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.wp-block-woocommerce-cart-header .wp-block-heading{
  max-width:1400px;
  margin:0 auto;
  padding:18px 20px;

  font-size:18px;
  font-weight:700;
}


/* =========================================
GRID (IDENTICAL TO CHECKOUT)
========================================= */

.wp-block-woocommerce-filled-cart-block{
  max-width:1400px;
  margin:30px auto;
  padding:0 20px;

  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:32px;
}

@media(max-width:1024px){
  .wp-block-woocommerce-filled-cart-block{
    grid-template-columns:1fr;
  }
}


/* =========================================
CARDS (MATCH SYSTEM)
========================================= */

.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block{
  background:#fff;
  padding:28px;
  border:var(--vl24-border);
  border-radius:var(--vl24-radius-md);
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* =========================================
HEADER BAR (MATCH CHECKOUT COUPON)
========================================= */

.vl24-cart-header{
  width:100%;
  background:#efefef;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.vl24-cart-header .wp-block-heading{
  max-width:1400px;
  margin:0 auto;
  padding:18px 20px;

  font-size:18px;
  font-weight:700;
  letter-spacing:-0.01em;
}

/* =========================================
LAYOUT (SAMA MIS CHECKOUT)
========================================= */

.wp-block-woocommerce-filled-cart-block{
  max-width:1400px;
  margin:30px auto;
  padding:0 20px;

  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:32px;
}

@media(max-width:1024px){
  .wp-block-woocommerce-filled-cart-block{
    grid-template-columns:1fr;
  }
}

/* =========================================
VL24 CART — MATCH CHECKOUT (NO LAYOUT CHANGE)
========================================= */

/* -----------------------------------------
IMAGE (CHECKOUT STYLE)
----------------------------------------- */
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width:120px !important;
  height:120px !important;
  object-fit:cover !important;
  border-radius:6px !important;
  background:#f5f5f5;
}

/* -----------------------------------------
TITLE (CHECKOUT STYLE)
----------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-product-name a{
  font-size:16px !important;
  font-weight:700 !important;
  color:#111 !important;
  text-decoration:none !important;
}


/* -----------------------------------------
VARIATIONS CLEAN (ONE PER ROW)
----------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-product-details{
  margin-top:8px !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#111 !important;
}

.wp-block-woocommerce-cart .wc-block-components-product-details li{
  display:block !important;
  margin-bottom:4px !important;
}

/* -----------------------------------------
ROW SPACING (LIKE CHECKOUT)
----------------------------------------- */
.wp-block-woocommerce-cart .wc-block-cart-items__row{
  padding-top:20px !important;
  padding-bottom:20px !important;
}

/* IMAGE — FORCE SQUARE, KEEP RADIUS */
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width:120px !important;
  aspect-ratio:1 / 1 !important; /* 🔥 see teeb ruudu */
  height:auto !important;
  object-fit:cover !important;
}

/* =========================================
QTY — 1:1 CHECKOUT (FINAL FIX)
========================================= */

.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  height:36px !important;
  padding:0 !important;

  display:flex !important;
  align-items:stretch !important;

  border:1px solid rgba(17,17,17,0.12) !important;
  border-radius:6px !important;
  background:#fff !important;

  overflow:hidden; /* 🔥 eemaldab valged ääred */
}

/* BUTTONS */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector button{
  width:48px !important;
  height:100% !important;

  border:none !important;
  background:#f3f4f6 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  font-size:18px !important;
  font-weight:700 !important;

  margin:0 !important;
  padding:0 !important;
}

/* INPUT */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector input{
  width:48px !important;
  height:100% !important;

  border:none !important;
  background:#fff !important;

  text-align:center !important;
  font-size:16px !important;
  font-weight:700 !important;

  margin:0 !important;
  padding:0 !important;
}

/* REMOVE INPUT SHADOW / BUG */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector input:focus{
  outline:none !important;
}

/* =========================================
DELETE — EXACT SAME HEIGHT
========================================= */

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  width:36px !important;
  height:36px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#111 !important;
  color:#fff !important;

  border-radius:6px !important;

  margin-left:10px !important;
  padding:0 !important;
}

/* ICON */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg{
  width:18px !important;
  height:18px !important;
  stroke:#fff !important;
}

/* =========================================
PRICE — SAME AS CHECKOUT
========================================= */

.wp-block-woocommerce-cart .wc-block-components-product-price{
  display:block !important;

  font-size:14px !important;
  font-weight:700 !important;
  color:#111 !important;

  margin-top:4px !important;
}

/* =========================================
CART TITLE — HARD FORCE (FINAL)
========================================= */

.wp-block-woocommerce-cart a.wc-block-components-product-name,
.wp-block-woocommerce-cart .wc-block-components-product-name a{
  all:unset !important;

  display:block !important;

  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:-0.01em !important;

  color:#111 !important;
  cursor:pointer !important;
}

/* =========================================
REMOVE PRICE UNDER TITLE (LEFT SIDE ONLY)
========================================= */

.wp-block-woocommerce-cart 
.wc-block-cart-item__product 
.wc-block-components-product-price{
  display:none !important;
}

/* =========================================
CART CTA — MATCH CHECKOUT BUTTON
========================================= */

.wp-block-woocommerce-proceed-to-checkout-block a{
  width:100% !important;
  height:58px !important;

  display:flex !important;
  align-items:center;
  justify-content:center;

  background:#111 !important;
  color:#fff !important;

  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;

  border-radius:6px !important;
  border:none !important;

  text-decoration:none !important;

  transition:all .18s ease;
}

/* hover sama feel */
.wp-block-woocommerce-proceed-to-checkout-block a:hover{
  transform:translateY(-1px);
  opacity:0.9;
}

/* =========================================
CHANGE BUTTON TEXT
========================================= */

.wp-block-woocommerce-proceed-to-checkout-block a{
  font-size:0 !important;
  position:relative;
}

.wp-block-woocommerce-proceed-to-checkout-block a::after{
  content:"Continue to Request"; /* 🔥 MUUDA SIIN */
  
  font-size:17px;
  font-weight:700;
}

/* =========================================
VL24 BREADCRUMB — PERFECT CENTER FIX
========================================= */

.vl24-breadcrumb-bar{
  width:100%;
  background:#f3f4f6;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

/* 🔥 SEE ON KÕIGE OLULISEM */
.vl24-breadcrumb-bar .vl24-container{
  height:34px;              /* 🔥 FIX kõrgus */
  display:flex;
  align-items:center;       /* 🔥 PERFECT CENTER */
  padding:0 10px;
}

.vl24-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:6px;

  height:100%;

  font-size:13px;
  line-height:1;

  overflow-x:auto;
  white-space:nowrap;

  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;

  position:relative;
  top:0px;
}

.vl24-breadcrumb span,
.vl24-breadcrumb a{
  display:flex;
  align-items:center;
  height:100%;
}

/* hide scrollbar */
.vl24-breadcrumb::-webkit-scrollbar{
  display:none;
}

/* items */
.vl24-breadcrumb-item{
  display:inline-flex;
  align-items:center;
  height:100%;
}

/* links */
.vl24-breadcrumb a{
  display:inline-flex;
  align-items:center;
  height:100%;

  color:#111;
  text-decoration:none;
  font-weight:500;
  opacity:0.7;

  transition:all .18s ease;
}

.vl24-breadcrumb a{
  position:relative;
  transition:all .2s ease;
}

/* underline animation */
.vl24-breadcrumb a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:#24965a;
  transition:width .25s ease;
}

/* hover effect */
.vl24-breadcrumb a:hover{
  color:#24965a;
  opacity:1;
  transform:translateY(-1px);
}

.vl24-breadcrumb a:hover::after{
  width:100%;
}

/* current */
.vl24-breadcrumb-item:last-child{
  color:#6b7280;
}

/* separator */
.vl24-breadcrumb-sep{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  opacity:0.5;
}

.vl24-breadcrumb-sep::before{
  content:"";
  width:6px;
  height:6px;
  border-right:2px solid #9ca3af;
  border-top:2px solid #9ca3af;
  transform:rotate(45deg);
}

@media (max-width:767px){

  .vl24-breadcrumb-bar .vl24-container{
    height:38px;
  }

  .vl24-breadcrumb{
  top:0px;
  font-size:12px;
}

}

.vl24-breadcrumb-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  color:#111;
}

.vl24-breadcrumb-home-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
}

.vl24-breadcrumb-home-icon svg{
  width:14px;
  height:14px;
  display:block;
  stroke:currentColor;
}

/* =========================================
BREADCRUMB FADE SCROLL — PREMIUM
========================================= */

/* vajalik, et pseudo-element töötab */
.vl24-breadcrumb-bar{
  position:relative;
}

/* parem fade */
.vl24-breadcrumb-bar::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:40px;

  pointer-events:none;

  background:linear-gradient(
    to right,
    rgba(243,244,246,0),
    #f3f4f6 80%
  );
}

/* vasak fade */
.vl24-breadcrumb-bar::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:30px;

  pointer-events:none;

  background:linear-gradient(
    to left,
    rgba(243,244,246,0),
    #f3f4f6 80%
  );
}

/* alguses mõlemad peidus */
.vl24-breadcrumb-bar::before,
.vl24-breadcrumb-bar::after{
  opacity:0;
  transition:opacity .25s ease;
}

/* aktiveerime */
.vl24-breadcrumb-bar.vl24-fade-left::before{
  opacity:1;
}

.vl24-breadcrumb-bar.vl24-fade-right::after{
  opacity:1;
}

/* =========================================
QUOTE PRICE — FINAL PROFESSIONAL
========================================= */

.vl24-request-price{
  display:inline-block;

  padding:8px 14px;

  border:1px solid rgba(34,197,94,0.4); /* sinu roheline, aga soft */
  border-radius:8px;

  background:rgba(34,197,94,0.06);

  cursor:pointer;
}

/* MAIN TEXT */
.vl24-price-main{
  font-size:18px; /* 🔥 oluline fix */
  font-weight:600;
  color:#111;
  letter-spacing:-0.01em;
}

/* SUBTEXT */
.vl24-price-sub{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

/* hover */
.vl24-request-price:hover{
  background:rgba(34,197,94,0.1);
}

/* hover taust */
.vl24-request-price:hover{
  background:#111 !important;
  border-color:#111 !important;
}

/* 🔥 TEKST VALGEKS */
.vl24-request-price:hover .vl24-price-main{
  color:#fff !important;
}

.vl24-request-price:hover .vl24-price-sub{
  color:rgba(255,255,255,0.7) !important;
}

/* =========================================
VL24 REMOVE DUPLICATE TAB TITLES (GLOBAL)
========================================= */

.woocommerce-Tabs-panel > h1:first-child,
.woocommerce-Tabs-panel > h2:first-child,
.woocommerce-Tabs-panel > h3:first-child{
  display:none !important;
}

/* =========================================
REVIEWS — FORCE FIX (WORKS ALWAYS)
========================================= */

/* kogu review blokk */
#reviews,
.woocommerce-Reviews,
#review_form_wrapper{
  background:#fff !important;
  padding:24px !important;
  border-radius:12px !important;
  box-shadow:0 10px 30px rgba(0,0,0,0.06) !important;
}

/* title */
#reviews h2,
#reviews h3{
  font-weight:800 !important;
}

/* textarea */
#reviews textarea{
  width:100% !important;
  min-height:140px !important;
  border-radius:10px !important;
  border:1px solid #e5e7eb !important;
  padding:14px !important;
  font-size:14px !important;
  margin-bottom:12px !important;
}

/* inputs */
#reviews input[type="text"],
#reviews input[type="email"]{
  width:100% !important;
  border-radius:8px !important;
  border:1px solid #e5e7eb !important;
  padding:12px !important;
  margin-bottom:12px !important;
}

/* checkbox */
#reviews input[type="checkbox"]{
  margin-right:6px !important;
}

/* write review button */
#reviews .woocommerce-review-link{
  display:inline-block !important;
  margin-top:10px !important;
  background:#22c55e !important;
  color:#fff !important;
  padding:10px 14px !important;
  border-radius:8px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

/* review list */
#reviews ol.commentlist{
  list-style:none !important;
  padding:0 !important;
  margin-bottom:20px !important;
}

#reviews li.review{
  background:#fafafa !important;
  border-radius:10px !important;
  padding:16px !important;
  border:1px solid rgba(0,0,0,0.06) !important;
  margin-bottom:12px !important;
}

/* REMOVE BLUE LINKS */
#reviews a{
  color:var(--vl24-green-dark);
  text-decoration:none;
  font-weight:600;
}

#reviews a:hover{
  text-decoration:underline;
}

/* REVIEW ITEM CARD */
#reviews .commentlist li{
  background:#fff;
  border-radius:10px;
  padding:18px;
  border:1px solid rgba(0,0,0,0.06);
  box-shadow:0 8px 20px rgba(0,0,0,0.04);
}

/* AUTHOR ROW */
#reviews .comment-author{
  font-weight:700;
  color:#111;
}

/* DATE */
#reviews .comment-meta{
  font-size:13px;
  color:#6b7280;
  margin-bottom:10px;
}

/* TEXT */
#reviews .description,
#reviews .comment-text{
  font-size:14px;
  line-height:1.6;
}

/* =========================================
VL24 REVIEWS — MATCH PRODUCT CARDS (FINAL)
========================================= */

/* kogu review section */
.vl24-reviews-section{
  margin-top:64px;
}

/* review list + form wrapper */
#reviews,
#review_form_wrapper{
  background:#fff;
  padding:34px;
  border:var(--vl24-border);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* spacing */
#review_form_wrapper{
  margin-top:20px;
}

/* textarea */
#review_form textarea{
  width:100%;
  min-height:140px;
  padding:14px 16px;

  border:var(--vl24-border);
  border-radius:6px;
  background:#fff;

  font-size:15px;

  box-shadow:0 1px 0 rgba(17,17,17,0.02),
             0 12px 30px rgba(17,17,17,0.03);
}

/* inputid */
#review_form input{
  width:100%;
  height:48px;
  padding:0 16px;

  border:var(--vl24-border);
  border-radius:6px;
  background:#fff;

  font-size:15px;

  box-shadow:0 1px 0 rgba(17,17,17,0.02),
             0 12px 30px rgba(17,17,17,0.03);
}

/* focus */
#review_form input:focus,
#review_form textarea:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,0.1);
}

/* =========================================
VL24 REVIEWS — FORCE SAME RADIUS SYSTEM
========================================= */

/* kõik review kastid */
#reviews,
#review_form_wrapper,
#reviews .commentlist li,
#reviews .comment_container{
  border-radius: 6px !important;
}

/* card style */
#reviews,
#review_form_wrapper{
  background:#fff;
  border:var(--vl24-border);
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.04);
  padding:28px;
}

/* individual review */
#reviews .commentlist li{
  background:#fff;
  border:var(--vl24-border);
  padding:20px;
  margin-bottom:10px !important;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 24px rgba(17,17,17,0.03);
}

/* eemaldame Woo default radius */
.woocommerce #reviews #comments ol.commentlist li{
  border-radius:6px !important;
}

#reviews,
#review_form_wrapper,
#reviews .commentlist li{
  border-radius: var(--vl24-radius-md) !important;
}

#commentform input[type="checkbox"]{
  width:18px;
  height:18px;

  accent-color:#111; /* match system */
  cursor:pointer;
}

#commentform .comment-form-cookies-consent{
  display:flex;
  align-items:center;
  gap:10px;
}

/* =========================================
VL24 REVIEWS — FINAL CSS ONLY
NO NEW FILES
========================================= */

/* OUTER REVIEW CARDS = same feel as site cards */
#reviews,
#reviews #comments,
#reviews #respond,
#review_form_wrapper{
  background:#fff !important;
  border:var(--vl24-border) !important;
  border-radius:var(--vl24-radius-md) !important;
  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 18px 46px rgba(17,17,17,0.04) !important;
}

#reviews #comments,
#reviews #respond,
#review_form_wrapper{
  padding:28px !important;
}

/* review item card */
#reviews #comments ol.commentlist,
#reviews #comments ul.commentlist{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

#reviews #comments ol.commentlist li,
#reviews #comments ul.commentlist li{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 0 10px !important;
}

/* headings */
#reviews h2,
#reviews h3,
#reviews .comment-reply-title{
  margin:0 0 16px !important;
  color:var(--vl24-text) !important;
  letter-spacing:-0.02em !important;
}

/* remove ugly defaults */
#reviews .woocommerce-review-link,
#reviews .comment-notes,
#reviews .logged-in-as{
  margin-bottom:14px !important;
}

/* links = no blue wp default */
#reviews a{
  color:var(--vl24-green-dark) !important;
  text-decoration:none !important;
  font-weight:600 !important;
}

#reviews a:hover{
  color:var(--vl24-green-dark) !important;
  text-decoration:underline !important;
}

/* form layout */
#commentform{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  margin:0 !important;
}

/* field wrappers */
#commentform .comment-form-comment,
#commentform .comment-form-author,
#commentform .comment-form-email,
#commentform .comment-form-url,
#commentform .comment-form-cookies-consent,
#commentform .form-submit{
  margin:0 !important;
  padding:0 !important;
}

/* labels */
#commentform label{
  display:block !important;
  margin:0 0 8px !important;
  color:var(--vl24-text) !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}

/* inputs + textarea = same system */
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;

  border:var(--vl24-border) !important;
  border-radius:var(--vl24-radius-md) !important;
  background:#fff !important;
  color:var(--vl24-text) !important;

  font-size:15px !important;
  font-weight:600 !important;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 12px 30px rgba(17,17,17,0.03) !important;

  transition:all .18s ease !important;
}

#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"]{
  height:48px !important;
  padding:0 16px !important;
}

#commentform textarea{
  min-height:160px !important;
  padding:14px 16px !important;
  resize:vertical !important;
}

/* focus */
#commentform input[type="text"]:focus,
#commentform input[type="email"]:focus,
#commentform input[type="url"]:focus,
#commentform textarea:focus{
  outline:none !important;
  border-color:#111 !important;
  box-shadow:0 0 0 2px rgba(17,17,17,0.10) !important;
}

/* checkbox row */
#commentform .comment-form-cookies-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
}

#commentform .comment-form-cookies-consent input[type="checkbox"]{
  margin:2px 0 0 !important;
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  accent-color:#111 !important;
}

#commentform .comment-form-cookies-consent label{
  margin:0 !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}

/* SUBMIT BUTTON = same feel as site buttons / add to cart */
#commentform .form-submit{
  margin-top:4px !important;
}

/* =========================================
REVIEW BUTTON — ABSOLUTE FORCE (NO FAIL)
========================================= */

#reviews input[type="submit"],
#reviews button[type="submit"],
#review_form input[type="submit"],
#review_form button[type="submit"]{

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  min-width:0 !important;
  height:48px !important;
  padding:0 20px !important;

  border:none !important;
  border-radius:6px !important;

  background:var(--vl24-green) !important;
  color:#fff !important;

  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;

  cursor:pointer !important;

  box-shadow:none !important;

  transition:all .18s ease !important;
}


/* ACTIVE */
#reviews input[type="submit"]:active{
  transform:translateY(0) !important;
}

#reviews input#submit{
  all:unset;
  
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:48px;
  padding:0 20px;

  font-size:15px;
  font-weight:700;

  cursor:pointer;

  border-radius:var(--vl24-radius-md);

  /* 👉 KASUTAME SAMA DISAINI */
  background:var(--vl24-green);
  color:#fff;

  transition:all .18s ease;
}

#reviews input[type="submit"]:hover,
#review_form input[type="submit"]:hover{
  background:#111 !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

#reviews .commentlist li{
  background:rgba(255,255,255,0.7) !important;
  backdrop-filter:blur(6px) !important;

  border:1px solid rgba(0,0,0,0.05) !important;
  border-radius:6px !important;

  padding:16px !important;
}

#reviews .comment_container{

  background:rgba(255,255,255,0.65) !important;
  backdrop-filter:blur(10px) !important;

  border:1px solid rgba(255,255,255,0.4) !important;
  border-radius:6px !important;

  padding:16px !important;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.04) !important;

}

/* =========================================
VL24 PRODUCTS SLIDER — 2026
========================================= */

.vl24-products-slider{
  display:flex;
  gap:16px;
  overflow-x:auto;
  padding-bottom:6px;
  

  scroll-snap-type:x mandatory;
}

.vl24-products-slider::-webkit-scrollbar{
  height:6px;
}

.vl24-products-slider::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,0.15);
  border-radius:6px;
}

/* =========================================
CARD 2026
========================================= */

.vl24-product-card-2026{
  flex:0 0 280px;
  scroll-snap-align:start;

  background:#fff;
  border:var(--vl24-border);
  border-radius:6px;
  overflow:hidden;

  transition:all .18s ease;
}

.vl24-product-card-2026:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

/* IMAGE */

.vl24-card-image-wrap{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#f5f5f5;
}

.vl24-card-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ACTION ICONS */

.vl24-card-actions{
  position:absolute;
  right:10px;
  top:10px;

  display:flex;
  flex-direction:column;
  gap:8px;
}

.vl24-icon-btn{
  width:36px;
  height:36px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  border-radius:50%;

  box-shadow:0 8px 20px rgba(0,0,0,0.15);

  text-decoration:none;
  font-size:16px;

  transition:all .18s ease;
}

.vl24-icon-btn:hover{
  background:#111;
  color:#fff;
}

/* BODY */

.vl24-product-card-2026 .vl24-card-body{
  padding:14px;
}

/* TITLE */

.vl24-product-card-2026 .vl24-card-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:6px;
}

/* META */

.vl24-card-meta{
  font-size:13px;
  color:var(--vl24-text-muted);
  margin-bottom:6px;
}

/* PRICE */

.vl24-product-card-2026 .vl24-card-price{
  font-size:16px;
  font-weight:800;
  color:var(--vl24-green-dark);
}

/* =========================================
SECTION BACKGROUNDS
========================================= */

/* Recommended (soft green premium) */

.vl24-upsells-section--2026{
  padding:20px 10px !important;
  border-radius:6px;

  background:linear-gradient(
    180deg,
    var(--vl24-green-soft) 0%,
    #ffffff 100%
  );
}

/* Related (clean white) */

.vl24-related-section--2026{
  padding:28px;
  border-radius:6px;

  background:#fff;
  border:var(--vl24-border);
}

/* =========================================
MOBILE
========================================= */

@media(max-width:768px){

  .vl24-product-card-2026{
    flex:0 0 78%;
  }

}

/* =========================================
UPSELL CARD ACTIONS — FINAL FIX
========================================= */

.vl24-card-actions{
  position:absolute;
  top:10px;
  right:10px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  z-index:5;
}

/* CART WRAP */
.vl24-cart-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:42px;
  height:38px;
  text-decoration:none !important;
}

/* WHITE ICON CIRCLE — ALWAYS STAYS WHITE */
.vl24-cart-icon{
  position:relative;
  z-index:3;

  width:38px;
  height:38px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#fff !important;
  color:#111 !important;

  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

/* FORCE CART ICON BLACK */
.vl24-cart-icon svg{
  display:block;
  width:18px;
  height:18px;
  stroke:currentColor !important;
  color:#111 !important;
}

/* do NOT let hover turn icon green */
.vl24-cart-wrap:hover .vl24-cart-icon{
  background:#fff !important;
  color:#111 !important;
}

.vl24-cart-wrap:hover .vl24-cart-icon svg{
  stroke:currentColor !important;
  color:#111 !important;
}

/* SLIDE PILL */
.vl24-cart-pill{
  position:absolute;
  top:0;
  right:19px;
  z-index:2;

  height:38px;
  width:0;
  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:flex-start;

  padding:0;

  background:#111;
  color:#fff;

  border-radius:999px 0 0 999px;

  opacity:0;
  transition:width .26s ease, opacity .2s ease;
}

/* TEXT */
.vl24-cart-text{
  display:block;
  padding:0 20px 0 18px;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:#fff;
}

/* HOVER = pill runs LEFT */
.vl24-cart-wrap:hover .vl24-cart-pill{
  width:116px; /* pikem, et text mahuks ära */
  opacity:1;
}

/* WISHLIST BUTTON */
.vl24-icon-btn{
  width:38px;
  height:38px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#fff;
  color:#111;

  box-shadow:0 8px 20px rgba(0,0,0,0.15);

  text-decoration:none;
  transition:all .18s ease;
}

.vl24-icon-btn svg{
  display:block;
  width:18px;
  height:18px;
  stroke:currentColor;
}

@media (hover:hover) and (pointer:fine){
  .vl24-icon-btn:hover{
    background:#111;
    color:#fff;
  }
}

/* =========================================
FORCE CARD TITLE FIX (OVERRIDE WOO)
========================================= */

.vl24-product-card-2026 .vl24-card-title{
  margin-bottom:6px !important;
}

/* FORCE LINK */
.vl24-product-card-2026 .vl24-card-title-link{
  display:block !important;

  font-size:17px !important;
  font-weight:700 !important;

  color:#111 !important;
  text-decoration:none !important;

  line-height:1.3 !important;
  letter-spacing:-0.01em !important;

  font-family:inherit !important;

  transition:color .18s ease !important;
}

/* HOVER */
.vl24-product-card-2026 .vl24-card-title-link:hover{
  color:var(--vl24-green-dark) !important;
}

/* =========================================
CARD SHORT DESCRIPTION — CLEAN
========================================= */

.vl24-card-desc{
  font-size:14px;
  color:var(--vl24-text-muted);

  line-height:1.4;

  margin-bottom:8px;

  opacity:0.9;
}

/* 🔥 hoiab kõik kaardid sama kõrgusega */
.vl24-card-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* =========================================
CARD — REQUEST PRICE (MATCH PRODUCT PAGE)
========================================= */

.vl24-card-request-price{
  margin-top:10px;

  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:12px 14px;

  border:1px solid var(--vl24-green-dark);
  border-radius:6px;

  background:var(--vl24-green-soft);

  text-align:center;
}

/* MAIN TEXT */
.vl24-card-request-main{
  font-size:14px;
  font-weight:800;
  color:var(--vl24-green-dark);
}

/* SUB TEXT */
.vl24-card-request-sub{
  font-size:12px;
  color:var(--vl24-text-muted);
  margin-top:2px;
}

.vl24-card-request-price{
  text-decoration:none;
  cursor:pointer;
}

.vl24-card-request-price:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.vl24-cart-wrap{
  border:none;
  padding:0;
  background:transparent;
}

/* =========================================
RELATED PRODUCTS — 2026
========================================= */

.vl24-related-section{
  background: linear-gradient(to bottom, #f5f5f5 0%, #ffffff 100%);
  padding: 40px 0;
}

.vl24-related-slider{
  display:flex;
  gap:20px;
  overflow-x:auto;
  padding:10px 4px;
}

/* kaart */
.vl24-related-card{
  flex:0 0 260px;

  background: linear-gradient(
    to bottom,
    rgba(34,197,94,0.15),
    #ffffff
  );

  border-radius:6px;
  overflow:hidden;

  transition:all .2s ease;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.vl24-related-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

/* image */
.vl24-related-image img{
  width:100%;
  height:180px;
  object-fit:cover;
}

/* body */
.vl24-related-body{
  padding:14px;
}

/* title */
.vl24-related-title{
  font-size:15px;
  font-weight:600;
  margin-bottom:6px;
}

/* price */
.vl24-related-price{
  font-size:16px;
  font-weight:700;
  margin-bottom:10px;
}

/* CTA */
.vl24-related-cta button,
.vl24-related-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:36px;
  padding:0 12px;

  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);

  background:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}

.vl24-related-section,
.vl24-related-section .related{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* =========================================
VL24 CARD HEIGHT SYSTEM — FINAL FIX
========================================= */

/* KÕIK KAARDID SAMA KÕRGUS */
.vl24-product-card-2026{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* BODY peab venima */
.vl24-product-card-2026 .vl24-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
}

/* TITLE — max 2 rida */
.vl24-card-title{
  font-size:16px;
  font-weight:700;
  line-height:1.25;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;

  overflow:hidden;
  min-height:40px; /* 🔥 hoiab layouti */
}

/* DESC — max 2 rida */
.vl24-card-desc{
  font-size:14px;
  color:#6b7280;
  margin-top:6px;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;

  overflow:hidden;

  min-height:36px; /* 🔥 kriitiline */
}

/* PRICE / REQUEST AREA ALATI ALL */
.vl24-card-price,
.vl24-card-request-price{
  margin-top:auto;
}

.vl24-products-slider > *{
  height:100%;
}

.vl24-card-image-wrap{
  aspect-ratio:4/3;
  overflow:hidden;
}

.vl24-card-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.vl24-products-slider{
  align-items:stretch;
}

/* =========================================
RELATED TITLE — FORCE SAME AS RECOMMENDED
========================================= */

.vl24-related-section .vl24-card-title{
  margin-bottom:6px !important;
}

.vl24-related-section .vl24-card-title a{
  display:block !important;

  font-size:17px !important;
  font-weight:700 !important;

  color:#111 !important;
  text-decoration:none !important;

  line-height:1.3 !important;
  letter-spacing:-0.01em !important;

  font-family:inherit !important;

  transition:color .18s ease !important;
}

/* hover sama nagu upgrade */
.vl24-related-section .vl24-card-title a:hover{
  color:var(--vl24-green-dark) !important;
}

/* =========================================
FORCE RELATED = SAME CARD SYSTEM
========================================= */

.vl24-related-slider .vl24-product-card-2026{
  display:flex;
  flex-direction:column;
  height:auto;
}

.vl24-gallery-main-wrap{
  position:relative;
}

.vl24-gallery-main{
  position:relative;
  overflow:hidden;
  border-radius:6px !important;
}

.vl24-gallery-stage{
  position:absolute;
  inset:0;
  border-radius:6px !important;
  overflow:hidden;
}

.vl24-gallery-main-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vl24-gallery-nav{
  position:absolute;
  top:45%; /* 🔥 see on õige */
  transform:translateY(-50%);
  z-index:20;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:50%;
  background:#fff !important;
  color:#111 !important;
  box-shadow:0 10px 30px rgba(0,0,0,0.18);
  cursor:pointer;
}

.vl24-gallery-nav:hover{
  transform:translateY(-50%) scale(1.05);
}

/* =========================================
VL24 GALLERY — FINAL CLEAN FIX
========================================= */

.vl24-gallery{
  width:100%;
}

.vl24-gallery-main-wrap{
  position:relative;
}

.vl24-gallery-main{
  position:relative;
  aspect-ratio:4/3;
  border-radius:6px !important;
  overflow:hidden;
  background:#fff;
  box-shadow:0 25px 70px rgba(0,0,0,0.08);
}

/* ainult pilt täidab kogu ala */
.vl24-gallery-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:6px !important;
  background:#fff;
}

.vl24-gallery-main-image{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
}

/* ära lase mõnel muul img reeglil seda lõhkuda */
.vl24-gallery-stage img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
}

/* nav */
.vl24-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:20;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:50%;
  background:#fff !important;
  color:#111 !important;
  box-shadow:0 10px 30px rgba(0,0,0,0.18);
  cursor:pointer;
}


.vl24-gallery-nav:hover{
  transform:translateY(-50%) scale(1.05);
}

/* counter */
.vl24-gallery-toolbar{
  position:absolute;
  top:12px;
  right:12px;
  z-index:21;
}

.vl24-gallery-counter{
  background:rgba(0,0,0,0.6);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

/* thumbs */
.vl24-gallery-thumbs-wrap{
  position:relative;
  margin-top:14px;
}

.vl24-gallery-thumbs{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:6px 8px;
  scroll-behavior:smooth;
}

.vl24-gallery-thumb{
  position:relative;
  flex:0 0 auto;
  width:120px;
  height:120px;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  border:none;
  box-shadow:0 8px 22px rgba(0,0,0,0.08);
  transition:all .2s ease;
  padding:0 !important;
  line-height:0;
}

.vl24-gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vl24-gallery-thumb.is-active{
  outline:2px solid #111;
  outline-offset:2px;
  transform:scale(1.03);
}

.vl24-gallery-thumbs-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  border:none;
  z-index:3;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.vl24-gallery-thumbs-nav--prev{ left:-10px; }
.vl24-gallery-thumbs-nav--next{ right:-10px; }

/* FORCE GALLERY NAV POSITION */
.vl24-gallery-main-wrap .vl24-gallery-nav{
  top:36% !important;
  transform:translateY(-50%) !important;
}



/* =========================================
HERO — REAL FULLSCREEN (HEADER SAFE)
========================================= */

/* HEADER kõrgus — MUUDA VAJADUSEL */
:root{
  --header-h:130px;
}

/* HERO BOX */
body.home .hero{
  position:relative !important;

  height:calc(100vh - var(--header-h)) !important;
  min-height:calc(100vh - var(--header-h)) !important;

  margin-top:calc(-1 * var(--header-h)) !important;

  overflow:hidden !important;
}

body.home .hero{
  position:relative !important;

  height:100vh !important;
  margin-top:0 !important;

  overflow:hidden !important;
}

/* iOS fix */
@supports (height: 100svh){
  body.home .hero{
    height:calc(100svh - var(--header-h)) !important;
  }
}

/* VIDEO */
body.home .hero-video{
  position:absolute !important;
  top:0;
  left:0;

  width:100% !important;
  height:100% !important;

  object-fit:cover !important;

  z-index:1;
}

/* OVERLAY */
body.home .hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
}

/* CONTENT */
body.home .hero-content{
  position:relative;
  z-index:3;
}

body.home .hero-poster{
  position:absolute;
  top:0;
  left:0;

  width:100vw !important;
  height:100vh !important;

  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;

  z-index:0;
}

/* VIDEO */
body.home .hero-video{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  z-index:1;
}

body.home .hero-content{
  position:absolute;
  inset:0;
  z-index:3;

  display:flex;
  align-items:flex-end;
}

body.home .hero-inner{
  width:100%;
  padding-bottom:60px;

  display:flex;
  flex-direction:column;
  gap:18px;
}

body.home .hero-text-wrap{
  max-width:720px;
}

body.home .hero-title{
  font-size:clamp(28px, 3vw, 44px); 
  font-weight:700; 
  line-height:1.1;
  letter-spacing:-0.02em; 
  color:#fff;
  margin:0;
}

body.home .hero-text{
  font-size:clamp(15px, 1.1vw, 17px);
  line-height:1.65;
  color:rgba(255,255,255,0.9);
  margin-top:10px;
  max-width:520px; 
}

body.home .hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

body.home .hero-actions .vl24-btn{
  height:52px;
  padding:0 26px;
  font-size:16px;
}

@media(max-width:768px){

  body.home .hero-actions{
    flex-direction:column;
  }

  body.home .hero-actions .vl24-btn{
    width:100%;
  }
}

body.home .hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,          
    rgba(0,0,0,0) 45%,         
    rgba(0,0,0,0.25) 70%,      
    rgba(0,0,0,0.55) 100%      
  );
}

body.home .hero-title{
  text-shadow:0 4px 18px rgba(0,0,0,0.45);
}

body.home .hero-text{
  text-shadow:0 2px 10px rgba(0,0,0,0.35);
}

@media(min-width:768px){

  body.home .hero-inner{
    padding-left:60px; /* liigutab paremale */
  }

}

@media(max-width:768px){

  body.home .hero-inner{
    padding-bottom:80px; 
  }

}

@media(max-width:768px){

  /* vähenda üldist spacingut */
  body.home .hero-inner{
    gap:10px; /* enne 18px → nüüd kompaktne */
  }

  /* pealkiri kompaktsem */
  body.home .hero-title{
    font-size:24px;
    line-height:1.15;
    letter-spacing:-0.01em;
  }

  /* tekst kompaktsem */
  body.home .hero-text{
    font-size:14px;
    line-height:1.5;
    margin-top:6px;
    max-width:100%;
  }

  /* CTA lähemale tekstile */
  body.home .hero-actions{
    margin-top:8px;
    gap:10px;
  }

}

@media(max-width:768px){

  /* vähenda vahe teksti ja CTA vahel */
  body.home .hero-inner{
    gap:6px !important; /* enne 18px */
  }

  /* vähenda texti enda alumist vahet */
  body.home .hero-text{
    margin-bottom:0 !important;
  }

}

/* =========================================
CHECKOUT SHIPPING FIELDS — MATCH BILLING
========================================= */

#vl24-shipping-wrap{
  margin-top:18px;
  padding:0;
}

#vl24-shipping-wrap .form-row{
  width:100% !important;
  float:none !important;
  margin-bottom:16px;
  box-sizing:border-box;
}

#vl24-shipping-wrap label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

#vl24-shipping-wrap input,
#vl24-shipping-wrap select,
#vl24-shipping-wrap textarea{
  width:100% !important;
  height:48px !important;
  padding:0 16px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  border-radius:6px !important;
  background:#fff !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  transition:all .18s ease;
}

#vl24-shipping-wrap textarea{
  height:auto !important;
  min-height:110px !important;
  padding:14px 16px !important;
  line-height:1.5 !important;
}

#vl24-shipping-wrap input:focus,
#vl24-shipping-wrap select:focus,
#vl24-shipping-wrap textarea:focus{
  outline:none !important;
  border-color:#111 !important;
  box-shadow:0 0 0 2px rgba(17,17,17,0.1) !important;
}

#vl24-shipping-wrap input::placeholder{
  opacity:0.6;
  font-weight:500;
}

#vl24-shipping-wrap .form-row-first,
#vl24-shipping-wrap .form-row-last{
  display:inline-block !important;
  width:calc(50% - 8px) !important;
  vertical-align:top;
}

#vl24-shipping-wrap .form-row-first{
  margin-right:16px !important;
}

#vl24-shipping-wrap .form-row-wide{
  display:block !important;
  width:100% !important;
}

#vl24-shipping-wrap .select2-container{
  width:100% !important;
}

#vl24-shipping-wrap .select2-container .select2-selection--single{
  height:48px !important;
  border-radius:6px !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  display:flex !important;
  align-items:center !important;
}

#vl24-shipping-wrap .select2-selection__rendered{
  line-height:48px !important;
  padding-left:16px !important;
  font-size:15px !important;
  font-weight:600 !important;
}

#vl24-shipping-wrap .select2-selection__arrow{
  height:48px !important;
}

@media(max-width:640px){
  #vl24-shipping-wrap .form-row-first,
  #vl24-shipping-wrap .form-row-last{
    display:block !important;
    width:100% !important;
    margin-right:0 !important;
  }
}

/* =========================================
THANK YOU — STACKED (ONE COLUMN)
========================================= */

.vl24-thankyou-grid{
  display:block !important;
}

/* kõik kastid täislaiuses */
.vl24-thankyou-main,
.vl24-thankyou-side,
.vl24-thankyou-grid > .vl24-thankyou-card{
  width:100% !important;
  max-width:100% !important;
}

/* eemalda parem column täielikult */
.vl24-thankyou-side{
  display:block !important;
  position:relative !important;
  top:auto !important;
}

/* spacing */
.vl24-thankyou-main{
  display:flex;
  flex-direction:column;
  gap:24px;
}

/* card style jääb */
.vl24-thankyou-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.08);
  border-radius:8px;
  padding:24px;
  box-shadow:0 12px 30px rgba(0,0,0,0.04);
}

/* =========================================
THANK YOU — CARD SPACING
========================================= */

.vl24-thankyou-card{
  margin-bottom:10px;
}

/* viimasel kaardil pole extra space */
.vl24-thankyou-card:last-child{
  margin-bottom:0;
}

.vl24-thankyou-card > * + *{
  margin-top:10px;
}

.vl24-cart-modal.is-loading .vl24-cart-body{
  opacity:0.3;
  pointer-events:none;
}

.vl24-cart-modal.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.6);
  z-index:10;
}

.vl24-cart-modal.is-loading::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:36px;
  height:36px;
  border-radius:50%;
  border:3px solid rgba(0,0,0,0.2);
  border-top-color:#111;
  transform:translate(-50%,-50%);
  animation:vl24-spin .7s linear infinite;
  z-index:11;
}

@keyframes vl24-spin{
  to{ transform:translate(-50%,-50%) rotate(360deg); }
}

/* =========================================
MINI CART 2026
========================================= */

.vl24-mini-cart{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0px;
}

/* CARD */
.vl24-cart-card{
  display:flex;
  gap:12px; 
  padding:16px; 
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,0.06);
  transition:all .25s ease;
}

.vl24-cart-card:hover{
  transform:translateY(-2px);
}

/* IMAGE */
.vl24-cart-card__media img{
  width:80px;
  height:80px;
  object-fit:cover;
  border-radius:10px;
}

/* BODY */
.vl24-cart-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* TOP */
.vl24-cart-card__top{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.vl24-cart-card__title{
  font-weight:600;
  font-size:14px;
  line-height:1.3;
  color:#111;
  text-decoration:none;
}

.vl24-cart-remove{
  font-size:18px;
  text-decoration:none;
  color:#999;
}

/* VARIATIONS */
.vl24-cart-card__meta{
  font-size:12px;
  color:#666;
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
}

/* BOTTOM */
.vl24-cart-card__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:auto;
}

/* PRICE */
.vl24-cart-price{
  font-weight:700;
  font-size:15px;
}

/* QTY */
.vl24-cart-qty{
  display:flex;
  align-items:center;
  gap:6px;
}

.vl24-cart-qty input{
  width:40px;
  text-align:center;
  border:none;
  background:#f5f5f5;
  border-radius:6px;
}

.vl24-qty-minus,
.vl24-qty-plus{
  width:26px;
  height:26px;
  border:none;
  border-radius:6px;
  background:#eee;
  cursor:pointer;
}

.vl24-cart-card__top{
  position:relative;
}

.vl24-cart-remove{
  position:absolute;
  top:0px;
  right:0px;

  width:28px;
  height:28px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#f3f3f3;

  padding:0;
}

.vl24-cart-remove svg{
  display:block;
  width:14px;
  height:14px;
}

.vl24-cart-remove:hover{
  background:#e5e5e5;
}

.vl24-cart-qty{
  display:flex;
  align-items:center;
  gap:6px;
}

.vl24-cart-qty button{
  width:36px;
  height:36px;
  border-radius:8px;
  background:#eee;
  border:none;
  cursor:pointer;
  font-size:16px;
}

.vl24-cart-qty input{
  width:48px;
  height:36px; /* 🔥 sama mis button */
  text-align:center;
  border-radius:8px;
  border:1px solid #ddd;
  font-size:14px;
}

.vl24-cart-card__excerpt{
  font-size:13px;
  color:#777;
  margin-top:4px;
  line-height:1.4;
}

[data-cart-modal] .vl24-cart-close{
  top:22px;   /* enne oli liiga üleval */
  right:12px;

  width:36px;
  height:36px;

  border-radius:50%;
  background:#fff;

  display:flex;
  align-items:center;
  justify-content:center;

  box-shadow:0 4px 10px rgba(0,0,0,0.08);

  z-index:10;
}

.vl24-cart-card__title{
  display:block;
  padding-right:36px; /* 🔥 jätab ruumi X-ile */
}

@media (max-width:767px){

  .vl24-cart-card__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  /* 🔥 price ei tohi murduda */
  .vl24-cart-price{
    white-space:nowrap;
    font-size:14px;
  }

  /* 🔥 QTY kompaktne */
  .vl24-cart-qty{
    display:flex;
    align-items:center;
    gap:4px;
    flex-shrink:0; /* ei lase kokku suruda */
  }

  .vl24-cart-qty button{
    width:30px;
    height:30px;
    border-radius:6px;
    font-size:14px;
  }

  .vl24-cart-qty input{
    width:40px;
    height:30px;
    font-size:13px;
    border-radius:6px;
  }

}

/* =========================================
CART MODAL ABOVE MOBILE BOTTOM BAR
========================================= */

.vl24-cart-modal{
  z-index:999999 !important;
}

.vl24-cart-overlay{
  z-index:999998 !important;
}

.vl24-cart-drawer{
  z-index:1000000 !important;
}

/* kui cart modal on lahti, peida alumine mobile bar */
body.vl24-cart-open .vl24-mobile-bar{
  display:none !important;
}

/* mobile cart scroll fix */
@media (max-width:767px){

  .vl24-cart-drawer{
    height:100dvh !important;
    max-height:100dvh !important;
    overflow:hidden !important;
  }

  .vl24-cart-body{
  
    overflow-y:auto !important;
    
  }

  .vl24-cart-footer{
    position:relative !important;
    z-index:5 !important;
    background:#fff !important;
  }

}

@media (max-width:767px){

  .vl24-cart-footer{
    padding:10px 14px !important;
    border-top:1px solid #eee;
  }

}

@media (max-width:767px){

  .vl24-cart-drawer{
    height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .vl24-cart-body{
    flex:1 1 auto !important;
    overflow-y:auto !important;

    padding:16px 16px 0 !important; /* 🔥 EI OLE enam bottom padding */
  }

  .vl24-cart-footer{
    flex:0 0 auto !important;
    padding:12px 14px !important; /* 🔥 väiksem */
    margin:0 !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart .wc-block-cart-items__row{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:16px !important;
    border-radius:12px !important;
    background:#fff !important;
  }

  /* TITLE */
  body.woocommerce-cart .wc-block-components-product-name{
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
  }

  /* 🔥 PRICE kohe title alla */
  body.woocommerce-cart .wc-block-cart-item__total{
    order:1 !important;
    margin-top:4px !important;
    font-size:18px !important;
    font-weight:800 !important;
    text-align:left !important;
  }

  /* META */
  body.woocommerce-cart .wc-block-components-product-details{
    order:2 !important;
    font-size:14px !important;
    color:#666 !important;
  }

  /* 🔥 QTY + REMOVE ÜHTE RITTA */
  body.woocommerce-cart .wc-block-cart-item__quantity{
    order:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-top:6px !important;
  }

  /* qty */
  body.woocommerce-cart .wc-block-components-quantity-selector{
    height:44px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector button{
    width:40px !important;
    height:44px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector input{
    width:55px !important;
    height:44px !important;
    font-size:16px !important;
    font-weight:700 !important;
  }

  /* delete */
  body.woocommerce-cart .wc-block-cart-item__remove-link{
    width:44px !important;
    height:44px !important;
    background:#111 !important;
    color:#fff !important;
    border-radius:8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart .wc-block-components-totals-wrapper,
  body.woocommerce-cart .wc-block-cart__submit-container{
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-cart .wc-block-components-panel__button,
  body.woocommerce-cart .wc-block-components-totals-footer-item,
  body.woocommerce-cart .wc-block-cart__submit-button{
    width:100% !important;
    box-sizing:border-box !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart .wc-block-cart__submit-container{
    position:fixed !important;
    left:0;
    right:0;
    bottom:50px;
    padding:10px 14px 20px 14px;
    background:#fff;
    z-index:999;
  }

}

@media (max-width:768px){

  /* 🔥 eemaldab venimise */
  body.woocommerce-cart .wc-block-cart__totals{
    flex:0 0 auto !important;
    height:auto !important;
    min-height:unset !important;
  }

  /* 🔥 wrapper EI tohi täita ruumi */
  body.woocommerce-cart .wc-block-cart__sidebar{
    flex:0 0 auto !important;
  }

  /* 🔥 KÕIGE OLULISEM – eemaldab selle "tühja ala pushimise" */
  body.woocommerce-cart .wc-block-cart{
    align-items:flex-start !important;
  }

}



  body.woocommerce-cart footer,
  body.woocommerce-cart .site-footer,
  body.woocommerce-cart .footer,
  body.woocommerce-cart .site-footer-pro{
    display:none !important;
  }

/* =========================================
CART DESKTOP LAYOUT FIX — FULL WIDTH
========================================= */

@media (min-width:1024px){

  /* 🔥 kogu cart container */
  body.woocommerce-cart .wp-block-woocommerce-cart{
    max-width:1100px;
    margin:0 auto;
  }

  /* 🔥 eemalda Woo 2-column grid */
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block{
    display:block !important;
  }

  /* 🔥 cart items full width */
  body.woocommerce-cart .wp-block-woocommerce-cart-items-block{
    width:100% !important;
    max-width:100% !important;
    margin-bottom:30px;
  }

  /* 🔥 totals full width */
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block{
    width:100% !important;
    max-width:100% !important;
  }

  /* 🔥 recommended section full width */
  body.woocommerce-cart .vl24-upsells-section{
    width:100%;
    margin-top:40px;
  }

}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block{
  margin-top:10px;
}

@media (max-width:768px){

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items__row,
  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-cart .wc-block-cart-item__product,
  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__total,
  body.woocommerce-cart .wc-block-cart-item__quantity{
    border-radius:0 !important;
    box-shadow:none !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row{
    border-bottom:1px solid rgba(0,0,0,.12) !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block{
    border-radius:0 !important;
    overflow:hidden !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart 
  .wp-block-woocommerce-cart-items-block{
    border-radius:8px 8px 0 0 !important;
    overflow:hidden !important;
  }

}

@media (max-width:768px){

  /* eemaldab inner kastid */
  body.woocommerce-cart 
  .wc-block-cart-totals-block{
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
  }

  body.woocommerce-cart 
  .wc-block-cart-order-summary-block{
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
  }

  /* jätab ainult ühe clean kasti */
  body.woocommerce-cart 
  .wp-block-woocommerce-cart-totals-block{
    border:1px solid rgba(0,0,0,0.08) !important;
    border-radius:0px !important;
    padding:12px !important;
    background:#fff !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart 
  .wp-block-woocommerce-cart-totals-block{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

}

@media (max-width:768px){

  body.woocommerce-cart 
  .wc-block-cart__main{
    border-radius:0 0 8px 8px !important;
    overflow:hidden !important;
  }

}

/* =========================================
CART UPSELL TITLE FIX
========================================= */

body.woocommerce-cart .vl24-upsells-section .vl24-card-title a,
body.woocommerce-cart .vl24-upsells-section .vl24-card-title a:visited,
body.woocommerce-cart .vl24-upsells-section .vl24-card-title a:active{
  color:#111 !important;
  text-decoration:none !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:-0.01em !important;
  font-family:inherit !important;
}

body.woocommerce-cart .vl24-upsells-section .vl24-card-title a:hover{
  color:var(--vl24-green-dark) !important;
  text-decoration:none !important;
}

@media (max-width:768px){

  body.woocommerce-cart .wp-block-woocommerce-cart{
    padding-bottom:60px !important;
  }

}

/* CART MOBILE — OUTER ITEMS BOX TOP CORNERS ONLY */
@media (max-width:767px){

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block{
    border-top-left-radius:8px !important;
    border-top-right-radius:8px !important;
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
    overflow:hidden !important;
  }

}

/* =========================================
HIDE FOOTER ON CHECKOUT
========================================= */

.woocommerce-checkout .site-footer,
.woocommerce-checkout footer{
  display:none !important;
}

/* =========================================
CHECKOUT HEADER — REMOVE UNDERLINES (REAL FIX)
========================================= */

body.woocommerce-checkout .rb-header a,
body.woocommerce-checkout .vl24-header a{
  text-decoration:none !important;
  border-bottom:none !important;
}

/* 🔥 kui joon tehakse ::after või ::before */
body.woocommerce-checkout .rb-header a::after,
body.woocommerce-checkout .rb-header a::before,
body.woocommerce-checkout .vl24-header a::after,
body.woocommerce-checkout .vl24-header a::before{
  display:none !important;
  content:none !important;
}

/* =========================================
CHECKOUT MOBILE — CARD INNER SPACING
========================================= */

@media (max-width:767px){

  #customer_details,
  .vl24-checkout-card,
  .vl24-checkout-side{

    padding-left:10px !important;
    padding-right:10px !important;

  }

}

@media (max-width:768px){

  /* kogu tabel blockiks */
  .woocommerce-checkout-review-order-table,
  .woocommerce-checkout-review-order-table thead,
  .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout-review-order-table tr{
    display:block;
    width:100%;
  }

  /* HEADER – ainult 1 pealkiri */
  .woocommerce-checkout-review-order-table thead tr{
    display:flex;
    justify-content:flex-start;
  }

  /* "Price" PEALKIRI TÄIESTI ÄRA */
  .woocommerce-checkout-review-order-table thead th.product-total{
    display:none !important;
  }

  /* "Selected product" full width */
  .woocommerce-checkout-review-order-table thead th.product-name{
    width:100%;
  }

  /* tooterida */
  .woocommerce-checkout-review-order-table tr.cart_item{
    display:block;
    padding:15px 0;
    border-bottom:1px solid #eee;
  }

  /* product name */
  .woocommerce-checkout-review-order-table td.product-name{
    display:flex;
    gap:12px;
    width:100% !important;
  }

  /* HIND ALLA */
  .woocommerce-checkout-review-order-table td.product-total{
    display:block;
    width:100% !important;
    margin-top:10px;
    font-size:18px;
    font-weight:700;
    text-align:left;
  }

}

@media (max-width:768px){

  .woocommerce-checkout-review-order-table thead th:last-child{
    display:none !important;
  }

}

.vl24-price-request{
  font-weight:600;
  color:#24965a;
}

.vl24-cart-qty input{
  width:40px;
  text-align:center;
}

/* =========================================
MINI CART QTY INPUT – FINAL FIX
========================================= */

.vl24-mini-cart .vl24-cart-qty{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

.vl24-mini-cart .vl24-cart-qty input[type="number"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;

  width:48px !important;
  min-width:48px !important;
  height:36px !important;

  padding:0 !important;
  margin:0 !important;

  border:1px solid #ddd !important;
  border-radius:8px !important;
  background:#f5f5f5 !important;

  color:#111 !important;
  -webkit-text-fill-color:#111 !important;

  font-size:14px !important;
  font-weight:700 !important;
  line-height:36px !important;
  text-align:center !important;

  appearance:textfield !important;
  -moz-appearance:textfield !important;
}

.vl24-mini-cart .vl24-cart-qty input[type="number"]::-webkit-outer-spin-button,
.vl24-mini-cart .vl24-cart-qty input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

.vl24-mini-cart .vl24-cart-qty button{
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  border-radius:8px !important;
}

/* =========================================
MINI CART TITLE – FIX
========================================= */

.vl24-mini-cart .vl24-cart-card__title{
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;

  color: #111 !important;
  font-weight: 600 !important;

  display: inline-block;
}

/* kui hover paneb joone tagasi */
.vl24-mini-cart .vl24-cart-card__title:hover{
  text-decoration: none !important;
  border-bottom: none !important;
}

/* =========================================
MINI CART — PRICE TEXT BREAK FIX
========================================= */

.vl24-price-request{
  display:block;          /* lubab uue rea */
  white-space:normal;     /* 🔥 KÕIGE OLULISEM */
  line-height:1.2;
}

/* kui ikka ei murra (flex parent) */
.vl24-cart-price{
  white-space:normal !important;
}

/* safety (kui wrapper on flex) */
.vl24-cart-card__bottom{
  align-items:flex-start;
}

/* =========================================
MINI CART — QTY RESPONSIVE FIX
========================================= */

.vl24-cart-qty{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:1;        /* 🔥 lubab kokku minna */
}

/* nupud väiksemaks */
.vl24-cart-qty button{
  width:32px;
  height:32px;
  flex:0 0 32px;
  font-size:16px;
}

/* input väiksemaks */
.vl24-cart-qty input{
  width:40px;
  height:32px;
  text-align:center;
  font-size:14px;
  padding:0;
}

/* 🔥 MOBILE EXTRA */
@media (max-width:480px){

  .vl24-cart-qty button{
    width:28px;
    height:28px;
    flex:0 0 28px;
    font-size:14px;
  }

  .vl24-cart-qty input{
    width:34px;
    height:28px;
    font-size:13px;
  }

}

.vl24-cart-card__bottom{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap; /* 🔥 kui kitsas, läheb alla */
}


/* =========================================
VL24 CATEGORY SHORTCODE — CLEAN FINAL
========================================= */

.vl24-cat-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:20px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.vl24-cat-grid::before,
.vl24-cat-grid::after{
  display:none !important;
  content:none !important;
}

.vl24-cat-card{
  position:relative !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  border-radius:8px !important;
  background:#f3f3f3 !important;
  text-decoration:none !important;
  box-shadow:0 16px 36px rgba(0,0,0,0.06) !important;
}

.vl24-cat-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

.vl24-cat-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.vl24-cat-overlay{
  position:absolute !important;
  left:12px !important;
  right:12px !important;
  bottom:12px !important;
  z-index:2 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;

  min-height:52px !important;
  padding:10px 14px !important;

  background:rgba(255,255,255,0.94) !important;
  backdrop-filter:blur(10px) !important;
  border-radius:10px !important;
  box-shadow:0 10px 28px rgba(0,0,0,0.14) !important;
}

.vl24-cat-title{
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  color:#111 !important;
}

.vl24-cat-count{
  flex:0 0 auto !important;
  min-width:34px !important;
  height:34px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#159c52 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  border-radius:999px !important;
}

.vl24-cat-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 24px 60px rgba(0,0,0,0.10) !important;
}

/* TABLET */
@media(max-width:1024px){
  .vl24-cat-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
  }
}

/* MOBILE — 2 kõrvuti */
@media(max-width:600px){
  .vl24-cat-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  .vl24-cat-overlay{
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
    min-height:44px !important;
    padding:8px 9px !important;
    border-radius:8px !important;
  }

  .vl24-cat-title{
    font-size:13px !important;
  }

  .vl24-cat-count{
    min-width:30px !important;
    height:30px !important;
    font-size:12px !important;
  }
}

/* 🔥 FORCE REMOVE GHOST ITEMS */
.vl24-cat-grid > *{
  min-height:0 !important;
}

.vl24-cat-grid > *:not(:has(img)){
  display:none !important;
}





.vl24-shortcode-products-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:28px !important;
}

.vl24-shortcode-products .vl24-product-card-2026{
  background:#fff !important;
  border:var(--vl24-border) !important;
  border-radius:6px !important;
  overflow:hidden !important;
  height:auto !important;
}

.vl24-shortcode-products .vl24-card-image-wrap{
  position:relative !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  background:#f5f5f5 !important;
}

.vl24-shortcode-products .vl24-card-image-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.vl24-shortcode-products .vl24-card-body{
  display:block !important;
  padding:14px !important;
}

.vl24-shortcode-products .vl24-card-title{
  margin:0 0 6px !important;
}

.vl24-shortcode-products .vl24-card-title-link{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  color:#111 !important;
  text-decoration:none !important;
}

.vl24-shortcode-products .vl24-card-desc{
  font-size:14px !important;
  line-height:1.4 !important;
  color:var(--vl24-text-muted) !important;
  margin:0 0 10px !important;
}

.vl24-shortcode-products .vl24-card-request-price{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid var(--vl24-green-dark) !important;
  border-radius:6px !important;
  background:var(--vl24-green-soft) !important;
  text-align:center !important;
  text-decoration:none !important;
}

.vl24-shortcode-products .vl24-card-request-main{
  font-size:14px !important;
  font-weight:800 !important;
  color:var(--vl24-green-dark) !important;
}

.vl24-shortcode-view-all{
  text-align:center !important;
  margin-top:28px !important;
}

.vl24-shortcode-view-all-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:13px 26px !important;
  border-radius:999px !important;
  border:1px solid var(--vl24-green-dark) !important;
  color:var(--vl24-green-dark) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.vl24-shortcode-view-all-btn:hover{
  background:var(--vl24-green-dark) !important;
  color:#fff !important;
}

@media(max-width:1024px){
  .vl24-shortcode-products-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:600px){
  .vl24-shortcode-products-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  .vl24-shortcode-products .vl24-card-body{
    padding:10px !important;
  }

  .vl24-shortcode-products .vl24-card-title-link{
    font-size:13px !important;
  }

  .vl24-shortcode-products .vl24-card-desc{
    font-size:12px !important;
    margin-bottom:8px !important;
  }

  .vl24-shortcode-products .vl24-card-request-price{
    padding:9px 8px !important;
  }

  .vl24-shortcode-products .vl24-card-request-main{
    font-size:12px !important;
  }
}

/* =========================================
FORCE HEADER BUTTON STYLE (SHORTCODE FIX)
========================================= */

.vl24-shortcode-view-all .vl24-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:14px 28px;
  font-size:16px;
  font-weight:700;

  border-radius:8px;
  text-decoration:none;

  border:1px solid var(--vl24-green-dark);
  color:var(--vl24-green-dark);
  background:transparent;

  transition:all .2s ease;
}

/* HOVER — MUST NAGU HEADERIS */
.vl24-shortcode-view-all .vl24-btn:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

/* =========================================
FULL WIDTH SECTION BACKGROUND
========================================= */

.vl24-section{
  position:relative;
  padding:50px 0;
}

/* 🔥 see teeb tausta full screen */
.vl24-section::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform:translateX(-50%);

  width:100vw;               /* 🔥 FULL SCREEN */
  z-index:-1;

  background:linear-gradient(
    to bottom,
    #f3f3f3 0%,
    #ffffff 100%
  );
}

/* content jääb containerisse */
.vl24-section > *{
  position:relative;
  z-index:2;
}

/* spacing */
.vl24-section h2{
  margin-top:0 !important; 
  margin-bottom:16px;
}

/* =========================================
MOBILE CATEGORY CARDS — HIGHER + NO WHITE EDGES
SHORTCODE + SHOP + CATEGORY
========================================= */

@media (max-width: 767px){

  /* 2 kaarti kõrvuti */
  .vl24-cat-grid,
  .vl24-subcategories{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  /* shortcode category card */
  .vl24-cat-grid .vl24-cat-card{
    aspect-ratio: 1 / 1.18 !important;
    min-height:180px !important;
  }

  .vl24-cat-grid .vl24-cat-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  .vl24-cat-grid .vl24-cat-image img{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  /* shop/category page subcategory card */
  .vl24-subcategories .vl24-cat-card{
    aspect-ratio: 1 / 1.18 !important;
    min-height:180px !important;
  }

  .vl24-subcategories .vl24-cat-img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  .vl24-subcategories .vl24-cat-img img{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  /* overlay jääb peale */
  .vl24-cat-overlay{
    z-index:5 !important;
  }
}

/* ainult shop */
.woocommerce-shop .vl24-subcategories{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:24px !important;
}

/* tablet */
@media(max-width:1024px){
  .woocommerce-shop .vl24-subcategories{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

/* mobiil */
@media(max-width:600px){
  .woocommerce-shop .vl24-subcategories{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px !important;
  }
}

/* =========================================
POLICY PAGE — CLEAN FINAL
========================================= */

/* REMOVE INNER BREADCRUMB ONLY */
.policy-content .rank-math-breadcrumb,
.policy-content .aioseo-breadcrumbs,
.policy-content .yoast-breadcrumb,
.policy-content .breadcrumbs,
.policy-content .breadcrumb,
.policy-content .woocommerce-breadcrumb,
.policy-content p:has(.breadcrumb),
.policy-content p:has(.breadcrumbs){
  display:none !important;
}

.policy-content .container{
  max-width:1180px !important;

  margin:0 auto !important;

  padding:40px 40px 90px !important;
}

/* spacing after title */
.policy-content > .container > *:first-child{
  margin-top:0 !important;
}

/* H2 */
.policy-content h2{
  margin:48px 0 18px !important;

  font-size:42px !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  font-weight:800 !important;

  color:#111 !important;
}

/* H3 */
.policy-content h3{
  margin:34px 0 14px !important;

  font-size:24px !important;
  line-height:1.2 !important;
  font-weight:700 !important;

  color:#111 !important;
}

/* paragraphs */
.policy-content p{
  margin:0 0 18px !important;

  font-size:16px !important;
  line-height:1.85 !important;
  font-weight:400 !important;

  color:#667085 !important;
}

/* lists */
.policy-content ul,
.policy-content ol{
  margin:0 0 24px 20px !important;
}

.policy-content li{
  margin-bottom:10px !important;

  font-size:16px !important;
  line-height:1.8 !important;

  color:#667085 !important;
}

/* links */
.policy-content a,
.policy-content a:visited{
  color:#16a34a !important;

  text-decoration:none !important;

  font-weight:600 !important;
}

.policy-content a:hover{
  color:#15803d !important;
}

/* strong */
.policy-content strong{
  color:#111 !important;
  font-weight:700 !important;
}

/* MOBILE */
@media (max-width:767px){

  .policy-content .container{
    padding-top:26px !important;
    padding-bottom:60px !important;
  }

  .policy-content h2{
    font-size:34px !important;
  }

  .policy-content h3{
    font-size:21px !important;
  }

  .policy-content p,
  .policy-content li{
    font-size:15px !important;
  }

}

/* =========================================
FIX GIANT HEADINGS
========================================= */

.policy-content h2{
  margin:42px 0 16px !important;

  font-size:28px !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
  font-weight:800 !important;

  color:#111 !important;
}

.policy-content h3{
  margin:28px 0 12px !important;

  font-size:20px !important;
  line-height:1.3 !important;
  font-weight:700 !important;

  color:#111 !important;
}

/* =========================================
TEXT
========================================= */

.policy-content p{
  margin:0 0 18px !important;

  font-size:16px !important;
  line-height:1.85 !important;

  color:#667085 !important;
}

/* =========================================
LINKS
========================================= */

.policy-content a,
.policy-content a:visited{
  color:#16a34a !important;
  text-decoration:none !important;
  font-weight:600 !important;
}

.policy-content a:hover{
  color:#15803d !important;
}

/* =========================================
LISTS
========================================= */

.policy-content li{
  font-size:16px !important;
  line-height:1.8 !important;
  color:#667085 !important;
}

/* =========================================
REMOVE LOWER VL24 BREADCRUMB
========================================= */

.policy-page .vl24-breadcrumb{
  display:none !important;
}

/* =========================================
POLICY PAGE TITLE ALIGN
========================================= */

.policy-page .entry-title,
.policy-page h1{
  max-width:1180px !important;

  margin:0 auto 50px !important;

  padding:0 40px !important;

  font-size:32px !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  font-weight:800 !important;

  color:#111 !important;
}

/* =========================================
POLICY TITLE SPACING
========================================= */

.policy-page .entry-title,
.policy-page h1{
  margin-top:28px !important;
  margin-bottom:6px !important;
}

/* =========================================
POLICY MOBILE PADDING
========================================= */

@media (max-width:767px){

  .policy-content .container{
    padding:
      26px 22px 60px !important;
  }

  .policy-page .entry-title,
  .policy-page h1{
    padding:0 22px !important;

    font-size:28px !important;
    line-height:1.08 !important;
  }

}

/* =========================================
CONTACT PAGE — 2026 PREMIUM
========================================= */

.contact-page-2026{
  position:relative;
  overflow:hidden;

  padding:
    120px 0
    80px;

  background:
    radial-gradient(circle at top left,
      rgba(36,150,90,.12),
      transparent 40%),
    #f5f7f6;
}

/* CONTAINER */
.contact-page-inner{
  position:relative;
  z-index:2;
}

.contact-hero-layout{
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    520px;

  gap:40px;
  align-items:start;
}

/* =========================================
LEFT
========================================= */

.contact-hero-info{
  min-width:0;
}

.contact-info-head{
  margin-bottom:36px;
}

.contact-info-head .hero-title{
  margin:0;

  font-size:clamp(2.6rem,5vw,5rem);
  line-height:.94;
  letter-spacing:-0.05em;

  max-width:10ch;
}

.contact-form-header,
.contact-info-sub,
.employee-text{
  line-height:1.7;
}

/* =========================================
INFO CARDS
========================================= */

.contact-info-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;

  margin-bottom:30px;
}

.contact-info-card{
  position:relative;

  display:flex;
  gap:16px;

  padding:24px;

  border-radius:28px;

  background:
    rgba(255,255,255,.75);

  border:
    1px solid rgba(255,255,255,.55);

  backdrop-filter:blur(18px);

  box-shadow:
    0 20px 60px rgba(0,0,0,.06);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.contact-info-card:hover{
  transform:translateY(-4px);

  box-shadow:
    0 28px 70px rgba(0,0,0,.1);
}

.contact-info-icon{
  width:54px;
  height:54px;

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      var(--vl24-green),
      var(--vl24-green-dark)
    );

  color:#fff;

  display:flex;
  align-items:center;
  justify-content:center;

  flex-shrink:0;
}

.contact-info-icon svg{
  width:24px;
  height:24px;
}

.contact-info-label{
  margin-bottom:8px;

  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;

  opacity:.55;
}

.contact-info-value{
  display:block;

  font-size:20px;
  line-height:1.25;
  font-weight:700;

  color:#111;

  text-decoration:none;
}

.contact-info-value:hover{
  color:var(--vl24-green-dark);
}

.contact-info-sub{
  margin-top:10px;

  font-size:14px;
  color:var(--vl24-text-muted);
}

/* =========================================
EMPLOYEES
========================================= */

.contact-employees{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.contact-employee-card{
  overflow:hidden;

  border-radius:28px;

  background:#fff;

  border:1px solid rgba(17,17,17,.06);

  box-shadow:
    0 20px 50px rgba(0,0,0,.06);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.contact-employee-card:hover{
  transform:translateY(-4px);

  box-shadow:
    0 28px 70px rgba(0,0,0,.12);
}

.employee-image{
  aspect-ratio:4/3;
  overflow:hidden;
}

.employee-image img{
  width:100%;
  height:100%;
  object-fit:cover;

  display:block;
}

.employee-body{
  padding:22px;
}

.employee-name{
  font-size:22px;
  font-weight:700;
  line-height:1.1;
}

.employee-role{
  margin-top:6px;

  color:var(--vl24-green-dark);

  font-weight:600;
}

.employee-text{
  margin-top:14px;

  font-size:14px;
  color:var(--vl24-text-muted);
}

.employee-contacts{
  margin-top:18px;

  display:flex;
  flex-direction:column;
  gap:8px;
}

.employee-contacts a{
  color:#111;
  text-decoration:none;
  font-weight:600;
}

/* =========================================
FORM
========================================= */

.contact-hero-form{
  position:sticky;
  top:120px;
}

.contact-form-card{
  padding:34px;

  border-radius:32px;

  background:#fff;

  border:1px solid rgba(17,17,17,.06);

  box-shadow:
    0 30px 80px rgba(0,0,0,.08);
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.contact-form input,
.contact-form textarea{
  width:100%;

  border:none;
  outline:none;

  background:#f4f6f5;

  min-height:58px;

  padding:0 18px;

  border-radius:18px;

  font-size:15px;

  transition:
    background .2s ease,
    box-shadow .2s ease;
}

.contact-form textarea{
  min-height:160px;
  padding-top:18px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
  background:#fff;

  box-shadow:
    0 0 0 2px rgba(36,150,90,.18);
}

/* =========================================
BUTTON
========================================= */

.vl24-contact-submit{
  width:100% !important;
  min-height:64px !important;

  border-radius:18px !important;

  margin-top:6px !important;

  font-size:16px !important;
  font-weight:700 !important;
}

/* =========================================
MAPS
========================================= */

.contact-map{
  padding:0 0 100px;
  background:#f5f7f6;
}

.contact-map-split,
.contact-map-single{
  width:min(1520px,calc(100% - 40px));
  margin:0 auto;

  overflow:hidden;

  border-radius:32px;

  box-shadow:
    0 30px 80px rgba(0,0,0,.08);
}

.contact-map-split{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.contact-map iframe{
  width:100%;
  height:560px;
  border:none;
  display:block;
}

/* =========================================
MOBILE
========================================= */

@media (max-width:1024px){

  .contact-hero-layout{
    grid-template-columns:1fr;
  }

  .contact-hero-form{
    position:relative;
    top:auto;
  }

}

@media (max-width:767px){

  .contact-page-2026{
    padding:
      70px 0
      60px;
  }

  .contact-hero-layout{
    gap:26px;
  }

  .contact-info-cards,
  .contact-employees,
  .contact-grid,
  .contact-map-split{
    grid-template-columns:1fr;
  }

  .contact-info-card,
  .contact-form-card,
  .contact-employee-card{
    border-radius:24px;
  }

  .contact-form-card{
    padding:22px;
  }

  .contact-info-head .hero-title{
    max-width:none;

    font-size:42px;
  }

  .contact-map iframe{
    height:420px;
  }

}

/* PAGE TITLE PAREMALE */
.vl24-page-header .hero-title{
    padding-left: 24px;
}

/* CONTACT FORM BUTTON ONLY */
.page-id-179 .contact-form button[type="submit"],
.page-id-179 .contact-form .vl24-contact-submit{

    width:100%;
    min-height:60px;

    padding:0 22px !important;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    border:none !important;
    border-radius:6px !important;

    background:var(--vl24-green) !important;
    color:#fff !important;

    font-size:17px !important;
    font-weight:800 !important;
    letter-spacing:-0.01em !important;

    cursor:pointer;

    box-shadow:
      0 1px 0 rgba(17,17,17,0.02),
      0 16px 34px rgba(17,17,17,0.10);

    transition:
      transform .18s ease,
      box-shadow .18s ease,
      filter .18s ease;
}

/* HOVER */
.page-id-179 .contact-form button[type="submit"]:hover,
.page-id-179 .contact-form .vl24-contact-submit:hover{

    transform:translateY(-1px);

    box-shadow:
      0 22px 44px rgba(17,17,17,0.16);

    filter:brightness(1.03);
}

/* ACTIVE */
.page-id-179 .contact-form button[type="submit"]:active,
.page-id-179 .contact-form .vl24-contact-submit:active{

    transform:translateY(0);

    box-shadow:
      0 6px 18px rgba(17,17,17,0.12);
}

/* =========================================
CONTACT PAGE — FIXES
========================================= */

/* SMALLER / CONSISTENT RADIUS */
.contact-info-card,
.contact-form-card,
.contact-employee-card,
.contact-map-split,
.contact-map-single{
  border-radius:14px !important;
}

/* INPUTS */
.contact-form input,
.contact-form textarea{
  border-radius:10px !important;
}

/* ICONS VISIBLE */
.contact-info-icon{
  width:54px;
  height:54px;

  flex-shrink:0;

  border-radius:12px !important;

  background:
    linear-gradient(
      135deg,
      #34d06f,
      #1f9d4d
    ) !important;

  color:#fff !important;

  display:flex !important;
  align-items:center;
  justify-content:center;

  box-shadow:
    0 10px 24px rgba(36,150,90,.24);
}

.contact-info-icon svg{
  width:24px !important;
  height:24px !important;

  display:block !important;

  stroke:#fff !important;
}

/* BUTTON SAME AS HEADER BUTTON */
.page-id-179 .contact-form .vl24-contact-submit{
  position:relative;
  overflow:hidden;

  min-height:60px !important;

  border-radius:10px !important;

  background:
    linear-gradient(
      135deg,
      #45d97b 0%,
      #1f9d4d 100%
    ) !important;

  color:#fff !important;

  border:none !important;

  box-shadow:
    0 18px 40px rgba(36,150,90,.22);

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

/* LIGHT BRANCH EFFECT */
.page-id-179 .contact-form .vl24-contact-submit::before{
  content:"";

  position:absolute;
  inset:0;

  background-image:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255,255,255,.18) 45%,
      transparent 100%
    );

  opacity:.9;

  pointer-events:none;
}

/* BUTTON HOVER */
.page-id-179 .contact-form .vl24-contact-submit:hover{
  transform:translateY(-2px);

  box-shadow:
    0 24px 48px rgba(36,150,90,.28);

  filter:brightness(1.03);
}

/* ICON IN BUTTON */
.page-id-179 .vl24-contact-submit .vl24-btn__icon{
  display:flex;
  align-items:center;
  justify-content:center;
}

.page-id-179 .vl24-contact-submit .vl24-btn__icon svg{
  width:18px;
  height:18px;

  stroke:#fff;
}

.contact-map{
    margin-top:0 !important;

    padding:
      60px 0 0 !important;

    background:#f5f7f6 !important;
}

/* SEE ON ÕIGE ELEMENT MIS ON VASTU SERVA */
.page-id-179 .contact-hero-form{
    padding-bottom:24px !important;
}

.page-id-179 .vl24-page-header{
    display:none !important;
}

/* CONTACT PAGE — MOVE CONTENT UP */
.page-id-179 .contact-page-2026{
    padding-top:40px !important;
     padding-bottom:20px !important;
}

/* kui ikka liiga suur vahe */
.page-id-179 .contact-info-head{
    margin-bottom:24px !important;
}

.contact-form-header{
    margin-bottom:26px !important;
}


/* =========================================
CONTACT PAGE — MATCH SITE TYPO
========================================= */

.page-id-179 .contact-info-head .hero-title{
    font-size:clamp(2rem,2.6vw,2.8rem) !important;
    line-height:1 !important;
    letter-spacing:-0.03em !important;
    font-weight:700 !important;

    max-width:9ch !important;
}

.page-id-179 .contact-info-label{
    font-size:12px !important;
    letter-spacing:.06em !important;
}

.page-id-179 .contact-info-value{
    font-size:16px !important;
    line-height:1.3 !important;
    font-weight:700 !important;

    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

.page-id-179 .contact-info-sub,
.page-id-179 .contact-form-header{
    font-size:14px !important;
    line-height:1.7 !important;
}

.page-id-179 .contact-form input,
.page-id-179 .contact-form textarea{
    font-size:14px !important;
}

@media (max-width:767px){

    .page-id-179 .contact-info-head .hero-title{
        font-size:34px !important;
    }

    .page-id-179 .contact-info-value{
        font-size:18px !important;
    }

}

/* =========================================
VL24 CONTACT / ENQUIRY PAGE — 2026
========================================= */

.vl24-contact-page{
    position:relative;
    padding:100px 20px;
    background:
        radial-gradient(circle at top left, rgba(74,222,128,.12), transparent 35%),
        radial-gradient(circle at bottom right, rgba(34,197,94,.10), transparent 35%),
        #f5f7f6;

    overflow:hidden;
}

/* container */
.vl24-contact-wrap{
    max-width:1400px;
    margin:0 auto;
}

/* HERO */
.vl24-contact-hero{
    text-align:center;
    margin-bottom:50px;
}

.vl24-contact-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:8px 14px;
    margin-bottom:18px;

    border-radius:999px;

    background:#e6f9ef;
    color:#24965a;

    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.vl24-contact-hero h1{
    margin:0 0 18px;

    font-size:clamp(42px,5vw,72px);
    line-height:.95;
    letter-spacing:-0.04em;
    font-weight:800;

    color:#111;
}

.vl24-contact-hero p{
    max-width:760px;
    margin:0 auto;

    font-size:18px;
    line-height:1.7;

    color:#6b7280;
}

/* CARD */
.vl24-contact-card{
    position:relative;

    max-width:1100px;
    margin:0 auto;

    padding:50px;

    border:1px solid rgba(0,0,0,.06);
    border-radius:24px;

    background:#fff;

    box-shadow:
        0 10px 30px rgba(0,0,0,.04),
        0 40px 100px rgba(0,0,0,.06);
}

/* GRID */
.vl24-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

/* FULL */
.vl24-contact-grid .full{
    grid-column:1 / -1;
}

/* FIELD */
.vl24-form-row{
    position:relative;
}

.vl24-form-row input,
.vl24-form-row textarea,
.vl24-form-row select{
    width:100%;
    height:64px;

    padding:0 22px;

    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;

    background:#fff;

    font-size:16px;
    font-weight:600;
    color:#111;

    transition:all .18s ease;

    box-sizing:border-box;
}

/* textarea */
.vl24-form-row textarea{
    height:180px;
    padding:20px 22px;
    resize:vertical;
}

/* focus */
.vl24-form-row input:focus,
.vl24-form-row textarea:focus,
.vl24-form-row select:focus{
    outline:none;

    border-color:#24965a;

    box-shadow:
        0 0 0 4px rgba(36,150,90,.10),
        0 12px 30px rgba(36,150,90,.10);
}

/* placeholder */
.vl24-form-row input::placeholder,
.vl24-form-row textarea::placeholder{
    color:#9ca3af;
    font-weight:500;
}

/* BUTTON */
.vl24-contact-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:260px;
    height:64px;

    padding:0 34px;
    margin-top:10px;

    border:none;
    border-radius:18px;

    background:var(--vl24-green);

    color:#fff;

    font-size:17px;
    font-weight:800;
    letter-spacing:-0.01em;

    cursor:pointer;

    transition:all .18s ease;

    box-shadow:
        0 20px 50px rgba(36,150,90,.20);
}

.vl24-contact-submit:hover{
    transform:translateY(-2px);
}

/* MOBILE */
@media(max-width:900px){

    .vl24-contact-page{
        padding:70px 16px;
    }

    .vl24-contact-card{
        padding:26px;
        border-radius:18px;
    }

    .vl24-contact-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .vl24-contact-hero h1{
        font-size:42px;
    }

    .vl24-contact-hero p{
        font-size:16px;
    }

    .vl24-form-row input,
    .vl24-form-row textarea,
    .vl24-form-row select{
        height:58px;
        border-radius:14px;
    }

    .vl24-form-row textarea{
        height:150px;
    }

    .vl24-contact-submit{
        width:100%;
        min-width:0;
        height:58px;
        border-radius:14px;
    }
}

/* =========================================
SELECT / DROPDOWN FIX
========================================= */

.contact-form select,
.vl24-form-row select{

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    width:100%;
    height:64px;

    padding:0 60px 0 22px;

    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;

    background-color:#fff;

    color:#111;
    font-size:16px;
    font-weight:600;

    cursor:pointer;

    box-sizing:border-box;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");

    background-repeat:no-repeat;
    background-position:right 20px center;
    background-size:18px;
}

/* OPTION */
.contact-form select option{
    color:#111;
    background:#fff;
}

/* MOBILE */
@media(max-width:900px){

    .contact-form select,
    .vl24-form-row select{
        height:58px;
        border-radius:14px;
    }

}

/* =========================================
SELECT / DROPDOWN FIX
========================================= */

.contact-form select,
.vl24-form-row select{

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    width:100%;
    height:64px;

    padding:0 60px 0 22px;

    border:1px solid transparent;
    border-radius:18px;

    background-color:#f3f3f3;

    color:#111;
    font-size:16px;
    font-weight:600;

    cursor:pointer;

    box-sizing:border-box;

    transition:all .18s ease;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");

    background-repeat:no-repeat;
    background-position:right 20px center;
    background-size:18px;
}

/* FOCUS */
.contact-form select:focus,
.vl24-form-row select:focus{

    outline:none;

    border-color:#24965a;

    box-shadow:
        0 0 0 4px rgba(36,150,90,.10),
        0 12px 30px rgba(36,150,90,.10);
}

/* OPTION */
.contact-form select option{
    color:#111;
    background:#fff;
}

/* MOBILE */
@media(max-width:900px){

    .contact-form select,
    .vl24-form-row select{
        height:58px;
        border-radius:14px;
    }

}

/* DROPDOWN TEXT COLOR = SAME AS OTHER INPUTS */

.contact-form select,
.vl24-form-row select{
    color:#6b7280 !important;
    font-weight:500 !important;
}

/* =========================================
DESKTOP FORM LAYOUT
========================================= */

.vl24-form-layout{
    display:grid;
    grid-template-columns:520px 1fr;
    gap:28px;
    align-items:start;
}

/* LEFT SIDE */
.contact-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}

/* RIGHT SIDE */
.vl24-form-right{
    display:flex;
    flex-direction:column;
    gap:20px;
}

/* TEXTAREA */
.vl24-form-right textarea{
    min-height:346px;
    height:100%;
}

/* BUTTON */
.vl24-form-right .vl24-contact-submit{
    width:100%;
    min-width:0;
}

/* MOBILE */
@media(max-width:980px){

    .vl24-form-layout{
        grid-template-columns:1fr;
        gap:18px;
    }

    .vl24-form-right textarea{
        min-height:180px;
    }

}

/* =========================================
CONTENT SECTION
========================================= */

.vl24-content-container{
    width:min(1400px, calc(100% - 80px));
    margin:0 auto;
}

.vl24-content-section{
    padding:80px 0;
}

.vl24-content-container p,
.vl24-content-container h2,
.vl24-content-container h3{
    max-width:none;
}

/* =========================================
QUOTE / CALLBACK — SAME BG AS CONTACT
========================================= */

.vl24-product-enquiry{
    background:
        linear-gradient(
            90deg,
            #edf5f0 0%,
            #f5f5f5 100%
        ) !important;

    padding:80px 0 !important;
}

/* eemaldab hero looki */
.hero-overlay{
    display:none !important;
}

/* content ala */
.vl24-product-enquiry-content{
    max-width:720px;
}

/* väiksem eyebrow */
.vl24-eyebrow-pill{
    margin-bottom:18px;
    padding:8px 14px;
    border-radius:6px;

    background:#fff;

    border:1px solid rgba(0,0,0,0.06);

    box-shadow:
        0 10px 24px rgba(0,0,0,0.04);
}

.hero-eyebrow{
    font-size:12px;
    font-weight:700;
    color:#24965a;
    letter-spacing:.04em;
    text-transform:uppercase;
}

/* NORMAL pealkiri, mitte hiiglane */
.hero-title{
    margin:0 0 18px !important;

    font-size:52px !important;
    line-height:1 !important;
    letter-spacing:-0.04em;

    font-weight:700 !important;

    color:#111;
}

/* tekst */
.contact-form-header{
    max-width:58ch;

    font-size:17px;
    line-height:1.8;

    color:#6b7280;
}

/* layout */
.vl24-product-enquiry-top{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(420px,560px);

    gap:50px;

    align-items:start;
}

/* kaart */
.vl24-product-enquiry-card{
    padding:32px !important;

    background:#fff;

    border:1px solid rgba(0,0,0,0.06);

    border-radius:6px !important;

    box-shadow:
        0 18px 50px rgba(0,0,0,0.05);
}

/* inputid */
.contact-form input,
.contact-form select,
.contact-form textarea{
    background:#f3f5f4 !important;

    border:1px solid rgba(0,0,0,0.06) !important;

    border-radius:6px !important;

    min-height:56px;

    font-size:15px;
    font-weight:600;

    color:#111;
}

.contact-form textarea{
    min-height:180px;
    padding:18px;
}

/* focus */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    outline:none;

    background:#fff !important;

    border-color:#22c55e !important;

    box-shadow:
        0 0 0 3px rgba(34,197,94,.08);
}

/* button */
.vl24-contact-submit{
    min-height:58px;

    border-radius:6px !important;

    font-size:15px !important;
    font-weight:700 !important;

    box-shadow:
        0 14px 34px rgba(36,150,90,.18);
}

/* MOBILE */
@media(max-width:1024px){

    .vl24-product-enquiry-top{
        grid-template-columns:1fr;
    }

}

@media(max-width:767px){

    .vl24-product-enquiry{
        padding:60px 0 !important;
    }

    .hero-title{
        font-size:38px !important;
    }

    .vl24-product-enquiry-card{
        padding:22px !important;
    }

}

/* =========================================
MOBILE MAIN MENU DROPDOWN
========================================= */

@media(max-width:1024px){

  .vl24-mobile-main-menu .menu-item-has-children > a{

    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .vl24-mobile-dropdown-arrow{

    margin-left:auto;

    display:flex;
    align-items:center;

    transition:.3s ease;
  }

  .vl24-mobile-main-menu .menu-item-has-children.is-open
  > a
  .vl24-mobile-dropdown-arrow{

    transform:rotate(180deg);
  }

  .vl24-mobile-main-menu .sub-menu{

    margin-top:12px;
    padding:14px 0;

    background:#f5f5f5;

    border-radius:16px;

    list-style:none;
  }

  .vl24-mobile-main-menu .sub-menu li{

    width:100%;
  }

  .vl24-mobile-main-menu .sub-menu li a{

    display:block;

    padding:14px 22px;

    font-size:15px;
    font-weight:500;

    color:#222;
  }

}

/* =========================================
GLOBAL SECTION GAP FIX
========================================= */

.vl24-content-section,
.content-section{
  margin-top:0 !important;
  padding-top:0 !important;
  position:relative;
  z-index:2;
}

.vl24-content-section::before,
.vl24-content-section::after,
.content-section::before,
.content-section::after{
  display:none !important;
  content:none !important;
}

.vl24-hero,
.hero-section{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.vl24-hero + .vl24-content-section,
.hero-section + .vl24-content-section,
.vl24-hero + .content-section,
.hero-section + .content-section{
  margin-top:-1px !important;
}

/* eemaldab browser whitespace/gap */
main,
.site-main,
#primary,
.content-area{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* =========================================================
GUIDES PAGE — FINAL FIX
PAGE ID: 644
========================================================= */

.page-id-644 .vl24-content-section{
  padding:0 !important;
  background:#fff !important;
}

.page-id-644 .vl24-content-container{
  max-width:1320px !important;
  margin:0 auto !important;
  padding:0 28px !important;
}

/* HERO */

.page-id-644 .vl24-guides-hero{
  padding:28px 0 8px !important;
}

.page-id-644 .vl24-guides-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:auto !important;
  min-height:30px !important;
  padding:8px 16px 7px !important;

  border-radius:999px !important;
  background:#eef7f1 !important;

  color:#24965a !important;

  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;

  margin:0 0 18px !important;
}

.page-id-644 .vl24-guides-main-title{
  margin:0 0 12px !important;

  font-size:36px !important;
  line-height:1.08 !important;
  letter-spacing:-0.03em !important;
  font-weight:800 !important;

  color:#111 !important;
}

.page-id-644 .vl24-guides-main-desc{
  margin:0 !important;

  max-width:620px !important;

  font-size:15px !important;
  line-height:1.75 !important;

  color:#6b7280 !important;
}

/* CATEGORY */

.page-id-644 .vl24-guides-category{
  margin-top:34px !important;
}

.page-id-644 .vl24-guides-head{
  margin:0 0 14px !important;
}

.page-id-644 .vl24-guides-title{
  margin:0 !important;

  font-size:26px !important;
  line-height:1.15 !important;
  letter-spacing:-0.02em !important;
  font-weight:800 !important;

  color:#111 !important;
}

/* LIST */

.page-id-644 .vl24-guides-list{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* CARD ROW */

.page-id-644 .vl24-guide-row{
  position:relative !important;

  display:flex !important;
  align-items:flex-start !important;
  gap:18px !important;

  min-height:78px !important;

  padding:14px 20px 14px 78px !important;

  background:#fff !important;

  border:1px solid rgba(17,17,17,.08) !important;
  border-radius:6px !important;

  box-shadow:none !important;

  transition:all .18s ease !important;
}

.page-id-644 .vl24-guide-action{
    align-self:center !important;
}

.page-id-644 .vl24-guide-row:hover{
  border-color:rgba(17,17,17,.14) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.05) !important;
  transform:translateY(-1px) !important;
}

/* PDF ICON */

.page-id-644 .vl24-guide-row::before{
  content:"" !important;

  position:absolute !important;
  left:20px !important;
  top:50% !important;
  transform:translateY(-50%) !important;

  width:44px !important;
  height:44px !important;

  border-radius:6px !important;

  background:
    #f3f5f1
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 2H14L19 7V20C19 21.1 18.1 22 17 22H7C5.9 22 5 21.1 5 20V4C5 2.9 5.9 2 7 2Z' fill='%23E53935'/%3E%3Cpath d='M14 2V7H19' fill='%23FFCDD2'/%3E%3Ctext x='7.2' y='17' font-size='5' fill='white' font-family='Arial' font-weight='700'%3EPDF%3C/text%3E%3C/svg%3E")    center/26px no-repeat !important;

  border:1px solid rgba(17,17,17,.06) !important;
}

/* TEXT */

.page-id-644 .vl24-guide-content{
  flex:1 !important;
  min-width:0 !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;

  margin:0 !important;

  font-size:13px !important;
  line-height:1.45 !important;
  color:#6b7280 !important;
}

.page-id-644 .vl24-guide-content h3{
  margin:0 0 4px !important;
  padding:0 !important;

  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;

  color:#111 !important;
}

.page-id-644 .vl24-guide-content h3 a{
  color:#111 !important;
  text-decoration:none !important;
}

.page-id-644 .vl24-guide-content h3 a:hover{
  color:#24965a !important;
}

.page-id-644 .vl24-guide-content p{
  margin:0 !important;
  padding:0 !important;

  font-size:13px !important;
  line-height:1.45 !important;

  color:#6b7280 !important;
}

/* MOBILE */

@media(max-width:767px){

  .page-id-644 .vl24-content-container{
    padding:0 16px !important;
  }

  .page-id-644 .vl24-guides-main-title{
    font-size:30px !important;
  }

  .page-id-644 .vl24-guides-title{
    font-size:23px !important;
  }

  .page-id-644 .vl24-guide-row{
    flex-direction:column !important;
    align-items:flex-start !important;

    padding:0px !important;
  }

  .page-id-644 .vl24-guide-row::before{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;

    width:42px !important;
    height:42px !important;
  }

  .page-id-644 .vl24-guide-action,
  .page-id-644 .vl24-guide-action a{
    width:100% !important;
  }
}

/* =========================================================
BUTTON — FINAL WORKING FIX
========================================================= */

.page-id-644 .vl24-guide-action{
    flex:0 0 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:38px !important;

    margin:auto 0 !important;
    padding:0 !important;
}

.page-id-644 .vl24-guide-action a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:38px !important;
    min-height:38px !important;

    padding:0 16px !important;
    margin:0 !important;

    background:#f3f5f1 !important;

    border:1px solid rgba(17,17,17,.08) !important;
    border-radius:6px !important;

    color:#24965a !important;

    font-size:13px !important;
    font-weight:800 !important;
    line-height:38px !important;

    text-decoration:none !important;
    white-space:nowrap !important;

    box-sizing:border-box !important;
}

.page-id-644 .vl24-guide-action a:hover{
    background:#24965a !important;
    border-color:#24965a !important;
    color:#fff !important;
}

/* WORDPRESS AUTOP FIX */

.page-id-644 .vl24-guide-action p{
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:100% !important;
}

.page-id-644 .vl24-guide-action br{
    display:none !important;
}

.page-id-644 .vl24-guide-action a{
    position:relative !important;
    top:0 !important;
}

.page-id-644 .vl24-guides-hero{
    padding-top:40px !important;
    padding-bottom:70px !important;
}

.page-id-644 .vl24-guides-hero-content{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
}

@media(max-width:767px){

  .page-id-644 .entry-content,
  .page-id-644 .vl24-content-section,
  .page-id-644 .vl24-content-container,
  .page-id-644 .wp-block-group{
      width:100% !important;
      max-width:100% !important;

      padding-left:10px !important;
      padding-right:10px !important;

      margin-left:0 !important;
      margin-right:0 !important;

      box-sizing:border-box !important;
  }

}

@media(max-width:767px){

  .page-id-644 .vl24-guide-row{
      display:flex !important;
      flex-direction:column !important;
      align-items:stretch !important;

      padding:16px !important;
      gap:14px !important;

      min-height:auto !important;
  }

  /* eemaldame absolute ikooni */
  .page-id-644 .vl24-guide-row::before{
      position:relative !important;

      left:auto !important;
      top:auto !important;
      transform:none !important;

      width:54px !important;
      height:54px !important;

      flex:0 0 54px !important;
  }

  /* tekst */
  .page-id-644 .vl24-guide-content{
      width:100% !important;
      margin:0 !important;
      padding:0 !important;
  }

  .page-id-644 .vl24-guide-content h3{
      font-size:17px !important;
      line-height:1.3 !important;
      margin:0 0 6px !important;
  }

  .page-id-644 .vl24-guide-content p{
      font-size:14px !important;
      line-height:1.6 !important;
  }

  /* button */
  .page-id-644 .vl24-guide-action{
      width:100% !important;
      margin-top:2px !important;
  }

  .page-id-644 .vl24-guide-action a{
      width:100% !important;
      height:50px !important;

      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
  }

}

/* =========================================================
VIDEO ROW ICON
========================================================= */

.page-id-644 .vl24-video-row::before{

  background:
    #f3f5f1
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='5' width='20' height='14' rx='4' fill='%23FF0000'/%3E%3Cpolygon points='10,9 16,12 10,15' fill='white'/%3E%3C/svg%3E")
    center/26px no-repeat !important;

}

.vl24-video-wrap{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;

    border-radius:10px;

    background:#000;
}

.vl24-video-wrap iframe{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    border:0;
}

/* =========================================================
VIDEO PAGE CONTENT
========================================================= */

.vl24-video-content{
    margin-top:22px !important;
}

.vl24-video-content h1{
    margin:0 0 10px !important;

    font-size:32px !important;
    line-height:1.18 !important;

    letter-spacing:-0.02em !important;
    font-weight:700 !important;

    color:#111 !important;

    max-width:none !important;
}

.vl24-video-content p{
    margin:0 !important;

    max-width:760px !important;

    font-size:15px !important;
    line-height:1.75 !important;

    color:#6b7280 !important;
}

/* MOBILE */

@media(max-width:767px){

    .vl24-video-content{
        margin-top:18px !important;
    }

    .vl24-video-content h1{
        font-size:26px !important;
        line-height:1.2 !important;
    }

    .vl24-video-content p{
        font-size:14px !important;
        line-height:1.7 !important;
    }

}

/* =========================================================
ABOUT PAGE
PAGE ID: 676
MATCH VL24 / GREENHOUSE STYLE
========================================================= */

.page-id-676 .vl24-content-section{
  padding:0 !important;
  background:#fff !important;
}

.page-id-676 .vl24-content-container{
  max-width:1520px !important;
  margin:0 auto !important;
  padding:0 28px !important;
}

.page-id-676 .vl24-about-page{
  padding:36px 0 88px;
  color:#111;
}

.page-id-676 .vl24-about-page *{
  box-sizing:border-box;
}

.page-id-676 .vl24-about-page img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* HERO */

.page-id-676 .vl24-about-hero{
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(420px,1.1fr);
  gap:48px;
  align-items:center;
  margin-bottom:70px;
}

.page-id-676 .vl24-about-hero-text{
  max-width:620px;
}

.page-id-676 .vl24-about-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 14px;
  margin-bottom:18px;
  border-radius:999px;
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.page-id-676 .vl24-about-hero h1{
  margin:0 0 18px;
  max-width:12ch;
  font-size:clamp(2.4rem,4vw,4.8rem);
  line-height:.96;
  letter-spacing:-.05em;
  font-weight:800;
  color:#111;
}

.page-id-676 .vl24-about-hero-text{
  font-size:17px;
  line-height:1.8;
  color:var(--vl24-text-muted);
}

.page-id-676 .vl24-about-hero-image{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:6px;
  background:#f5f5f5;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

/* INTRO */

.page-id-676 .vl24-about-intro{
  max-width:880px;
  margin:0 0 64px;
  font-size:16px;
  line-height:1.8;
  color:var(--vl24-text-muted);
}

.page-id-676 .vl24-about-intro h2,
.page-id-676 .vl24-about-split-text h2,
.page-id-676 .vl24-about-cta h2{
  margin:0 0 16px;
  font-size:clamp(1.8rem,2.6vw,3rem);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:800;
  color:#111;
}

/* CARDS */

.page-id-676 .vl24-about-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-bottom:76px;
}

.page-id-676 .vl24-about-card{
  padding:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
  font-size:15px;
  line-height:1.75;
  color:var(--vl24-text-muted);
  transition:all .18s ease;
}

.page-id-676 .vl24-about-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.page-id-676 .vl24-about-card h3{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.02em;
  color:#111;
}

/* SPLIT */

.page-id-676 .vl24-about-split{
  display:grid;
  grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);
  gap:54px;
  align-items:center;
  margin-bottom:76px;
}

.page-id-676 .vl24-about-split-image{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:6px;
  background:#f5f5f5;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.page-id-676 .vl24-about-split-text{
  max-width:680px;
  font-size:16px;
  line-height:1.85;
  color:var(--vl24-text-muted);
}

/* VALUES */

.page-id-676 .vl24-about-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-bottom:76px;
}

.page-id-676 .vl24-about-value{
  padding:24px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:6px;
  background:#f3f5f1;
  font-size:15px;
  line-height:1.75;
  color:var(--vl24-text-muted);
}

.page-id-676 .vl24-about-value strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:6px;
  background:#fff;
  color:var(--vl24-green-dark);
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.page-id-676 .vl24-about-value h3{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.02em;
  color:#111;
}

/* CTA */

.page-id-676 .vl24-about-cta{
  padding:42px;
  border-radius:6px;
  background:#111;
  color:#fff;
}

.page-id-676 .vl24-about-cta h2{
  color:#fff;
}

.page-id-676 .vl24-about-cta{
  font-size:16px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}

.page-id-676 .vl24-about-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  margin-top:22px;
  padding:0 22px;
  border-radius:6px;
  background:var(--vl24-green);
  color:#fff !important;
  font-size:15px;
  font-weight:800;
  line-height:1;
  text-decoration:none !important;
  transition:all .18s ease;
}

.page-id-676 .vl24-about-btn:hover{
  transform:translateY(-1px);
  opacity:.9;
}

/* MOBILE */

@media(max-width:1024px){

  .page-id-676 .vl24-about-hero,
  .page-id-676 .vl24-about-split{
    grid-template-columns:1fr;
    gap:30px;
  }

  .page-id-676 .vl24-about-grid,
  .page-id-676 .vl24-about-values{
    grid-template-columns:1fr;
  }

  .page-id-676 .vl24-about-hero h1{
    max-width:none;
  }

}

@media(max-width:767px){

  .page-id-676 .vl24-content-container{
    padding:0 20px !important;
  }

  .page-id-676 .vl24-about-page{
    padding:26px 0 60px;
  }

  .page-id-676 .vl24-about-hero,
  .page-id-676 .vl24-about-intro,
  .page-id-676 .vl24-about-grid,
  .page-id-676 .vl24-about-split,
  .page-id-676 .vl24-about-values{
    margin-bottom:46px;
  }

  .page-id-676 .vl24-about-hero h1{
    font-size:34px;
    line-height:1.05;
  }

  .page-id-676 .vl24-about-intro h2,
  .page-id-676 .vl24-about-split-text h2,
  .page-id-676 .vl24-about-cta h2{
    font-size:28px;
    line-height:1.08;
  }

  .page-id-676 .vl24-about-card,
  .page-id-676 .vl24-about-value{
    padding:20px;
  }

  .page-id-676 .vl24-about-cta{
    padding:26px 22px;
  }

}

/* =========================================
VL24 BLOG PAGE — GREENHOUSE STYLE
========================================= */

.vl24-blog-page{
  max-width:1520px;
  margin:0 auto;
  padding:34px 28px 90px;
}

/* HERO */

.vl24-blog-hero{
  margin-bottom:42px;
}

.vl24-blog-hero-inner{
  max-width:760px;
}

.vl24-breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;

  margin-bottom:16px;

  font-size:13px;
  font-weight:600;

  color:#6b7280;
}

.vl24-breadcrumb a{
  color:#6b7280;
  text-decoration:none;

  transition:color .18s ease;
}

.vl24-breadcrumb a:hover{
  color:#24965a;
}

.vl24-blog-title{
  margin:0 0 12px;

  font-size:42px;
  line-height:1.02;
  letter-spacing:-0.03em;
  font-weight:800;

  color:#111;
}

.vl24-blog-desc{
  max-width:680px;

  font-size:15px;
  line-height:1.75;

  color:#6b7280;
}

/* GRID */

.vl24-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

/* CARD */

.vl24-blog-card{
  display:flex;
  flex-direction:column;

  background:#fff;

  border:1px solid rgba(17,17,17,.08);
  border-radius:6px;

  overflow:hidden;

  transition:
  transform .18s ease,
  box-shadow .18s ease,
  border-color .18s ease;

  box-shadow:
  0 10px 30px rgba(0,0,0,.04);
}

.vl24-blog-card:hover{
  transform:translateY(-3px);

  border-color:rgba(17,17,17,.12);

  box-shadow:
  0 20px 50px rgba(0,0,0,.08);
}

/* IMAGE */

.vl24-blog-card-image{
  display:block;

  aspect-ratio:4/3;

  overflow:hidden;

  background:#f5f5f5;
}

.vl24-blog-card-image img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:transform .35s ease;
}

.vl24-blog-card:hover .vl24-blog-card-image img{
  transform:scale(1.04);
}

/* BODY */

.vl24-blog-card-body{
  display:flex;
  flex-direction:column;
  flex:1;

  padding:18px;
}

/* META */

.vl24-blog-card-meta{
  display:flex;
  align-items:center;
  gap:8px;

  margin-bottom:10px;

  font-size:12px;
  font-weight:700;
  line-height:1;

  color:#6b7280;
}

.vl24-blog-sep{
  opacity:.5;
}

/* TITLE */

.vl24-blog-card-title{
  margin:0 0 10px;
}

.vl24-blog-card-title a{
  color:#111;
  text-decoration:none;

  font-size:18px;
  line-height:1.3;
  letter-spacing:-0.02em;
  font-weight:800;

  transition:color .18s ease;
}

.vl24-blog-card-title a:hover{
  color:#24965a;
}

/* EXCERPT */

.vl24-blog-card-excerpt{
  margin-bottom:18px;

  font-size:14px;
  line-height:1.75;

  color:#6b7280;
}

/* READ MORE */

.vl24-blog-readmore{
  margin-top:auto;

  display:inline-flex;
  align-items:center;

  font-size:13px;
  font-weight:800;

  color:#24965a;
  text-decoration:none;

  transition:color .18s ease;
}

.vl24-blog-readmore:hover{
  color:#111;
}

/* PAGINATION */

.vl24-blog-pagination{
  margin-top:46px;
}

.vl24-blog-pagination .nav-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.vl24-blog-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:40px;
  height:40px;

  padding:0 14px;

  border-radius:6px;

  background:#fff;

  border:1px solid rgba(17,17,17,.08);

  color:#111;
  text-decoration:none;

  font-size:13px;
  font-weight:700;

  transition:all .18s ease;
}

.vl24-blog-pagination .page-numbers:hover,
.vl24-blog-pagination .page-numbers.current{
  background:#24965a;
  border-color:#24965a;
  color:#fff;
}

/* MOBILE */

@media(max-width:1024px){

  .vl24-blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media(max-width:767px){

  .vl24-blog-page{
    padding:24px 20px 70px;
  }

  .vl24-blog-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .vl24-blog-title{
    font-size:32px;
    line-height:1.05;
  }

  .vl24-blog-desc{
    font-size:14px;
  }

  .vl24-blog-card-title a{
    font-size:17px;
  }

  .vl24-blog-card-body{
    padding:16px;
  }

}

/* =========================================
BLOG BREADCRUMB ALIGN FIX
========================================= */

.blog .vl24-breadcrumb-bar,
.home .vl24-breadcrumb-bar{
  width:100%;
}

.blog .vl24-breadcrumb-bar .vl24-container,
.home .vl24-breadcrumb-bar .vl24-container{
  max-width:1520px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  height:44px !important;

  display:flex !important;
  align-items:center !important;
}

.blog .vl24-breadcrumb,
.home .vl24-breadcrumb{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  margin:0 !important;
  padding:0 !important;

  min-height:44px !important;
  line-height:1 !important;
}

.blog .vl24-breadcrumb-item,
.home .vl24-breadcrumb-item,
.blog .vl24-breadcrumb-item a,
.home .vl24-breadcrumb-item a{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}

.blog .vl24-breadcrumb-sep,
.home .vl24-breadcrumb-sep{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}

/* =========================================
GLOBAL BREADCRUMB VERTICAL ALIGN FIX
========================================= */

.vl24-breadcrumb-bar{
  width:100% !important;
}

.vl24-breadcrumb-bar .vl24-container{
  display:flex !important;
  align-items:center !important;

  min-height:44px !important;
}

.vl24-breadcrumb{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;

  margin:0 !important;
  padding:0 !important;

  min-height:44px !important;
}

.vl24-breadcrumb-item,
.vl24-breadcrumb-item a,
.vl24-breadcrumb-sep,
.vl24-breadcrumb-home-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  line-height:1 !important;
}

.vl24-breadcrumb-home-icon svg{
  width:14px !important;
  height:14px !important;

  display:block !important;
}

/* =========================================
VL24 SINGLE POST IMPROVEMENTS
========================================= */

/* HERO */

.vl24-blog-hero{
  position:relative;
  overflow:hidden;

  margin-bottom:0;
}

.vl24-blog-hero > img{
  width:100%;
  max-height:560px;
  object-fit:cover;
  display:block;
}

.vl24-blog-hero::after{
  content:"";

  position:absolute;
  inset:0;

  background:
  linear-gradient(
    to top,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.15) 45%,
    rgba(0,0,0,.05) 100%
  );
}

.vl24-blog-hero__inner{
  position:absolute;
  inset:0;
  z-index:5;

  display:flex;
  align-items:flex-end;
}

.vl24-ph-left{
  width:100%;
  max-width:1180px;

  margin:0 auto;
  padding:0 32px 46px;
}

.hero-title{
  margin:0;

  max-width:920px;

  font-size:clamp(3rem,5vw,5.6rem);
  line-height:.92;
  letter-spacing:-0.05em;
  font-weight:800;

  color:#111;

  text-shadow:0 10px 40px rgba(0,0,0,.35);
}

/* BREAD */

.vl24-breadcrumb--post{
  margin-top:18px;

  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;

  font-size:14px;
  font-weight:600;
}

.vl24-breadcrumb--post a{
  color:rgba(255,255,255,.82);
  text-decoration:none;
}

.vl24-breadcrumb--post .is-current{
  color:#fff;
}

/* META BAR */

.vl24-post-meta-bar{
  position:relative;
  z-index:20;

  margin-top:-34px;
}

.vl24-post-meta-inner{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}

.vl24-post-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  padding:18px 24px;

  background:#fff;

  border:1px solid rgba(17,17,17,.06);
  border-radius:14px;

  box-shadow:
  0 10px 30px rgba(0,0,0,.05),
  0 2px 10px rgba(0,0,0,.04);
}

.vl24-post-meta-left{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;

  min-width:0;
}

.vl24-meta-item{
  display:flex;
  align-items:center;
  gap:8px;

  font-size:14px;
  font-weight:600;

  color:#4b5563;
}

.vl24-meta-sep{
  color:#cbd5e1;
}

/* SHARE */

.vl24-post-share{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.vl24-post-share a{
  width:42px;
  height:42px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:10px;

  background:#f8fafc;
  border:1px solid rgba(17,17,17,.08);

  color:#111;

  transition:all .18s ease;
}

.vl24-post-share a:hover{
  transform:translateY(-2px);

  background:#24965a;
  border-color:#24965a;

  color:#fff;
}

.vl24-post-share svg{
  width:18px;
  height:18px;

  fill:currentColor;
}

/* CONTENT */

.vl24-blog-content{
  padding:54px 0 80px;
}

.vl24-blog-content .container{
  max-width:920px;
}

.vl24-blog-content p{
  margin-bottom:28px;

  font-size:21px;
  line-height:1.9;

  color:#374151;
}

.vl24-blog-content h2{
  margin:70px 0 24px;

  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
  letter-spacing:-0.04em;
  font-weight:800;

  color:#111;
}

.vl24-blog-content h3{
  margin:48px 0 20px;

  font-size:clamp(1.6rem,3vw,2.3rem);
  line-height:1.15;
  letter-spacing:-0.03em;
  font-weight:800;

  color:#111;
}

.vl24-blog-content img{
  border-radius:14px;

  margin:24px 0 34px;

  box-shadow:0 10px 40px rgba(0,0,0,.08);
}

.vl24-blog-content ul,
.vl24-blog-content ol{
  padding-left:24px;
  margin-bottom:28px;
}

.vl24-blog-content li{
  margin-bottom:12px;

  font-size:19px;
  line-height:1.8;

  color:#374151;
}

/* RELATED */

.vl24-related-posts{
  padding:0 0 90px;
}

.vl24-related-inner{
  max-width:1180px;
  margin:0 auto;

  padding:0 32px;
}

.vl24-related-title{
  margin:0 0 34px;

  font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;
  letter-spacing:-0.04em;
  font-weight:800;

  color:#111;
}

.vl24-related-scroll{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}

.vl24-related-card{
  display:flex;
  flex-direction:column;

  text-decoration:none;

  background:#fff;

  border-radius:14px;

  overflow:hidden;

  border:1px solid rgba(17,17,17,.08);

  transition:all .18s ease;

  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.vl24-related-card:hover{
  transform:translateY(-5px);

  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.vl24-related-media{
  aspect-ratio:16/10;
  overflow:hidden;
}

.vl24-related-media img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .35s ease;
}

.vl24-related-card:hover img{
  transform:scale(1.04);
}

.vl24-related-heading{
  margin:0;
  padding:18px 20px 22px;

  font-size:24px;
  line-height:1.2;
  letter-spacing:-0.03em;
  font-weight:800;

  color:#111;
}

/* MOBILE */

@media(max-width:1024px){

  .vl24-related-scroll{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media(max-width:767px){

  .vl24-ph-left{
    padding:0 20px 28px;
  }

  .hero-title{
    font-size:2.8rem;
  }

  .vl24-post-meta-inner{
    padding:0 20px;
  }

  .vl24-post-meta{
    flex-direction:column;
    align-items:flex-start;
  }

  .vl24-blog-content{
    padding:40px 0 60px;
  }

  .vl24-blog-content .container{
    padding:0 20px;
  }

  .vl24-blog-content p{
    font-size:17px;
    line-height:1.85;
  }

  .vl24-blog-content li{
    font-size:17px;
  }

  .vl24-related-inner{
    padding:0 20px;
  }

  .vl24-related-scroll{
    grid-template-columns:1fr;
  }

  .vl24-related-heading{
    font-size:21px;
  }

}

/* REMOVE HERO BREADCRUMB ON SINGLE POST */

.vl24-blog-hero .vl24-breadcrumb--post{
  display:none !important;
}

/* =========================================
VL24 SINGLE POST TYPOGRAPHY FIX
========================================= */

/* HERO TITLE */

.hero-title{
  font-size:clamp(2rem,3vw,3.4rem) !important;
  line-height:1.02 !important;
  letter-spacing:-0.04em !important;
}

/* CONTENT */

.vl24-blog-content p{
  font-size:17px !important;
  line-height:1.9 !important;
}

.vl24-blog-content li{
  font-size:16px !important;
  line-height:1.8 !important;
}

/* H2 */

.vl24-blog-content h2{
  font-size:clamp(1.7rem,2.5vw,2.5rem) !important;
  line-height:1.15 !important;

  margin:52px 0 18px !important;
}

/* H3 */

.vl24-blog-content h3{
  font-size:clamp(1.35rem,2vw,1.9rem) !important;
  line-height:1.2 !important;

  margin:36px 0 14px !important;
}

/* RELATED TITLE */

.vl24-related-title{
  font-size:clamp(1.8rem,2.4vw,2.6rem) !important;
  line-height:1.1 !important;

  margin-bottom:26px !important;
}

/* RELATED CARD TITLE */

.vl24-related-heading{
  font-size:20px !important;
  line-height:1.28 !important;

  padding:16px 18px 18px !important;
}

/* META */

.vl24-meta-item{
  font-size:13px !important;
}

/* MOBILE */

@media(max-width:767px){

  .hero-title{
    font-size:2rem !important;
  }

  .vl24-blog-content p{
    font-size:16px !important;
  }

  .vl24-blog-content h2{
    font-size:1.8rem !important;
  }

  .vl24-blog-content h3{
    font-size:1.45rem !important;
  }

  .vl24-related-heading{
    font-size:18px !important;
  }

}

/* =========================================
BLOG HERO FIX
========================================= */

.vl24-blog-hero{
  background:#f3f3f3 !important;
  box-shadow:none !important;
  filter:none !important;
}

.vl24-blog-hero::before,
.vl24-blog-hero::after{
  display:none !important;
  content:none !important;
}

.vl24-blog-hero-inner{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

/* BLOG PAGE WHITE BACKGROUND FIX */

.vl24-blog-page,
.vl24-blog-hero,
.vl24-blog-grid-wrap,
.vl24-blog-hero-inner{
  background:#fff !important;
}

/* =========================================
SINGLE POST LAYOUT FIX
========================================= */

/* HERO CONTENT */

.single-post .vl24-blog-hero__inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 40px;
}

/* META BAR */

.single-post .vl24-post-meta-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 40px;
}

/* CONTENT */

.single-post .vl24-blog-content .container{
    max-width:1200px;
    padding:0 40px;
}

/* RELATED */

.single-post .vl24-related-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 40px;
}

/* MOBILE */

@media(max-width:767px){

    .single-post .vl24-blog-hero__inner,
    .single-post .vl24-post-meta-inner,
    .single-post .vl24-blog-content .container,
    .single-post .vl24-related-inner{
        padding:0 20px;
    }

}

/* =========================================
VL24 SINGLE POST RESPONSIVE
PRO CLEAN VERSION
========================================= */

/* HERO */

.single-post .vl24-blog-hero{
    position:relative;
    overflow:hidden;

    height:420px;
    min-height:420px;
}

.single-post .vl24-blog-hero img{
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    display:block;
}

.single-post .vl24-blog-hero::before{
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.15),
        rgba(0,0,0,.42)
    );

    z-index:1;
}

.single-post .vl24-blog-hero__inner{
    position:absolute;
    inset:0;

    z-index:2;

    display:flex;
    align-items:flex-end;
}

.single-post .vl24-ph-left{
    width:100%;

    max-width:1200px;

    margin:0 auto;

    padding:0 40px 78px;
}

/* TITLE */

.single-post .hero-title{
    margin:0;

    max-width:900px;

    color:#fff;

    font-size:clamp(2.3rem,4vw,4rem) !important;
    line-height:1.02 !important;
    letter-spacing:-0.05em !important;
    font-weight:800;
}

/* REMOVE INNER BREAD */

.single-post .vl24-blog-hero .vl24-breadcrumb--post{
    display:none !important;
}

/* META BAR */

.single-post .vl24-post-meta-bar{
    position:relative;
    z-index:20;

    margin-top:-42px;
}

.single-post .vl24-post-meta-inner{
    max-width:1200px;
    margin:0 auto;

    padding:0 40px;
}

.single-post .vl24-post-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:18px 24px;

    background:#fff;

    border-radius:18px;

    border:1px solid rgba(17,17,17,.06);

    box-shadow:
    0 10px 30px rgba(0,0,0,.05),
    0 2px 10px rgba(0,0,0,.04);
}

.single-post .vl24-post-meta-left{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:14px;
}

.single-post .vl24-meta-item{
    display:flex;
    align-items:center;
    gap:8px;

    font-size:13px;
    font-weight:600;

    color:#4b5563;
}

.single-post .vl24-meta-sep{
    color:#cbd5e1;
}

/* SHARE */

.single-post .vl24-post-share{
    display:flex;
    flex-wrap:wrap;

    gap:10px;
}

.single-post .vl24-post-share a{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:#f8fafc;

    border:1px solid rgba(17,17,17,.08);

    color:#111;

    transition:all .18s ease;
}

.single-post .vl24-post-share a:hover{
    background:#24965a;
    border-color:#24965a;

    color:#fff;

    transform:translateY(-2px);
}

.single-post .vl24-post-share svg{
    width:18px;
    height:18px;

    fill:currentColor;
}

/* CONTENT */

.single-post .vl24-blog-content{
    padding:54px 0 80px;
}

.single-post .vl24-blog-content .container{
    max-width:1200px;

    padding:0 40px;
}

.single-post .vl24-blog-content p{
    margin-bottom:26px;

    font-size:18px !important;
    line-height:1.9 !important;

    color:#374151;
}

.single-post .vl24-blog-content h2{
    margin:56px 0 18px !important;

    font-size:clamp(1.9rem,3vw,3rem) !important;
    line-height:1.1 !important;
    letter-spacing:-0.04em !important;
    font-weight:800;

    color:#111;
}

.single-post .vl24-blog-content h3{
    margin:38px 0 16px !important;

    font-size:clamp(1.45rem,2vw,2rem) !important;
    line-height:1.15 !important;
    letter-spacing:-0.03em !important;
    font-weight:800;

    color:#111;
}

.single-post .vl24-blog-content ul,
.single-post .vl24-blog-content ol{
    padding-left:24px;

    margin-bottom:28px;
}

.single-post .vl24-blog-content li{
    margin-bottom:12px;

    font-size:17px !important;
    line-height:1.8 !important;

    color:#374151;
}

.single-post .vl24-blog-content img{
    width:100%;
    height:auto;

    border-radius:18px;

    margin:24px 0 34px;

    box-shadow:0 10px 40px rgba(0,0,0,.08);
}

/* GALLERY */

.single-post .blocks-gallery-grid,
.single-post .wp-block-gallery{
    gap:18px;
}

/* RELATED */

.single-post .vl24-related-posts{
    padding:0 0 80px;
}

.single-post .vl24-related-inner{
    max-width:1200px;

    margin:0 auto;

    padding:0 40px;
}

.single-post .vl24-related-title{
    margin:0 0 28px;

    font-size:clamp(1.8rem,3vw,2.8rem) !important;
    line-height:1.08 !important;
    letter-spacing:-0.04em !important;
    font-weight:800;

    color:#111;
}

.single-post .vl24-related-scroll{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:24px;
}

.single-post .vl24-related-card{
    display:flex;
    flex-direction:column;

    overflow:hidden;

    border-radius:18px;

    background:#fff;

    border:1px solid rgba(17,17,17,.08);

    box-shadow:0 10px 30px rgba(0,0,0,.04);

    transition:all .18s ease;

    text-decoration:none;
}

.single-post .vl24-related-card:hover{
    transform:translateY(-4px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.single-post .vl24-related-media{
    aspect-ratio:16/10;

    overflow:hidden;
}

.single-post .vl24-related-media img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .35s ease;
}

.single-post .vl24-related-card:hover img{
    transform:scale(1.04);
}

.single-post .vl24-related-heading{
    margin:0;

    padding:18px;

    font-size:19px !important;
    line-height:1.3 !important;
    font-weight:700;

    color:#111;
}

/* =========================================
TABLET
========================================= */

@media(max-width:1024px){

    .single-post .vl24-related-scroll{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

/* =========================================
MOBILE
========================================= */

@media(max-width:767px){

    /* HERO */

    .single-post .vl24-blog-hero{
        height:260px;
        min-height:260px;
    }

    .single-post .vl24-ph-left{
        padding:0 20px 92px;
    }

    .single-post .hero-title{
        max-width:320px;

        font-size:2rem !important;
        line-height:1.02 !important;
    }

    /* META */

    .single-post .vl24-post-meta-bar{
        margin-top:-58px;
    }

    .single-post .vl24-post-meta-inner{
        padding:0 20px;
    }

    .single-post .vl24-post-meta{
        flex-direction:column;
        align-items:flex-start;

        gap:16px;

        padding:16px;

        border-radius:18px;
    }

    .single-post .vl24-post-meta-left{
        gap:10px;
    }

    .single-post .vl24-meta-item{
        font-size:13px;
    }

    .single-post .vl24-meta-sep{
        display:none;
    }

    /* SHARE */

    .single-post .vl24-post-share{
        width:100%;

        display:grid;
        grid-template-columns:repeat(4,1fr);

        gap:10px;
    }

    .single-post .vl24-post-share a{
        width:100%;
        height:48px;

        border-radius:12px;
    }

    /* CONTENT */

    .single-post .vl24-blog-content{
        padding:36px 0 54px;
    }

    .single-post .vl24-blog-content .container{
        padding:0 20px;
    }

    .single-post .vl24-blog-content p{
        font-size:16px !important;
        line-height:1.85 !important;
    }

    .single-post .vl24-blog-content li{
        font-size:16px !important;
    }

    .single-post .vl24-blog-content h2{
        font-size:2rem !important;
        line-height:1.14 !important;

        margin:42px 0 16px !important;
    }

    .single-post .vl24-blog-content h3{
        font-size:1.45rem !important;
        line-height:1.18 !important;
    }

    /* GUTENBERG COLUMNS */

    .single-post .wp-block-columns{
        flex-direction:column !important;

        gap:18px;
    }

    .single-post .wp-block-column{
        flex-basis:100% !important;
    }

    /* RELATED */

    .single-post .vl24-related-inner{
        padding:0 20px;
    }

    .single-post .vl24-related-scroll{
        grid-template-columns:1fr;

        gap:18px;
    }

    .single-post .vl24-related-title{
        font-size:2rem !important;
    }

    .single-post .vl24-related-heading{
        font-size:18px !important;
    }

}

/* =========================================
MOBILE META BAR
ONE ROW LAYOUT
========================================= */

@media(max-width:767px){

    .single-post .vl24-post-meta{
        max-width:100% !important;

        width:100% !important;

        padding:10px 12px !important;
    }

    /* TOP ROW */

    .single-post .vl24-post-meta-left{
        display:flex !important;
        flex-wrap:nowrap !important;
        align-items:center;

        justify-content:space-between;

        width:100%;

        gap:4px !important;
    }

    .single-post .vl24-meta-item{
        font-size:10px !important;

        padding:6px 8px !important;

        white-space:nowrap;
    }

    .single-post .vl24-meta-sep{
        display:none !important;
    }

    /* ICONS ROW */

    .single-post .vl24-post-share{
        display:grid !important;

        grid-template-columns:repeat(8,1fr) !important;

        gap:6px !important;

        width:100%;
    }

    .single-post .vl24-post-share a{
        width:100% !important;
        height:32px !important;

        min-width:0 !important;

        border-radius:8px !important;
    }

    .single-post .vl24-post-share svg{
        width:12px !important;
        height:12px !important;
    }

}

/* =========================================
FINAL MOBILE FIX
VL24 SINGLE POST
========================================= */

@media(max-width:767px){

    /* HERO */

    .single-post .vl24-blog-hero{
        height:220px !important;
        min-height:220px !important;
    }

    .single-post .vl24-ph-left{
        padding:0 10px 72px !important;
    }

    .single-post .hero-title{
        max-width:260px !important;

        font-size:1.9rem !important;
        line-height:1.02 !important;
        letter-spacing:-0.04em !important;
    }

    /* META WRAP */

    .single-post .vl24-post-meta-bar{
        margin-top:-42px !important;
    }

    .single-post .vl24-post-meta-inner{
        padding-left:10px !important;
        padding-right:10px !important;

        width:100% !important;
        max-width:100% !important;
    }

    /* META CARD */

    .single-post .vl24-post-meta{
        width:100% !important;
        max-width:100% !important;

        display:flex !important;
        flex-direction:column !important;

        gap:10px !important;

        padding:10px !important;

        border-radius:18px !important;
    }

    /* TOP META ROW */

    .single-post .vl24-post-meta-left{
        width:100% !important;

        display:grid !important;
        grid-template-columns:repeat(3,1fr) !important;

        gap:6px !important;

        align-items:center !important;
    }

    .single-post .vl24-meta-item{
        width:100% !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        text-align:center !important;

        padding:7px 6px !important;

        font-size:11px !important;
        line-height:1 !important;

        border-radius:999px !important;

        white-space:nowrap !important;
    }

    .single-post .vl24-meta-sep{
        display:none !important;
    }

    /* SHARE ICONS */

    .single-post .vl24-post-share{
        width:100% !important;

        display:grid !important;
        grid-template-columns:repeat(8,1fr) !important;

        gap:6px !important;
    }

    .single-post .vl24-post-share a{
        width:100% !important;
        height:34px !important;

        min-width:0 !important;

        border-radius:10px !important;
    }

    .single-post .vl24-post-share svg{
        width:13px !important;
        height:13px !important;
    }

    /* CONTENT */

    .single-post .vl24-blog-content{
        padding:28px 0 46px !important;
    }

    .single-post .vl24-blog-content .container{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .single-post .vl24-blog-content p{
        font-size:15px !important;
        line-height:1.8 !important;

        margin-bottom:20px !important;
    }

    .single-post .vl24-blog-content li{
        font-size:15px !important;
        line-height:1.75 !important;
    }

    .single-post .vl24-blog-content h2{
        font-size:1.75rem !important;
        line-height:1.12 !important;

        margin:36px 0 14px !important;
    }

    .single-post .vl24-blog-content h3{
        font-size:1.35rem !important;
        line-height:1.18 !important;

        margin:28px 0 12px !important;
    }

    .single-post .vl24-blog-content img{
        border-radius:14px !important;

        margin:18px 0 24px !important;
    }

    /* GALLERY */

    .single-post .wp-block-gallery{
        gap:10px !important;
    }

    /* RELATED */

    .single-post .vl24-related-inner{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .single-post .vl24-related-title{
        font-size:1.8rem !important;

        margin-bottom:18px !important;
    }

    .single-post .vl24-related-scroll{
        grid-template-columns:1fr !important;

        gap:16px !important;
    }

    .single-post .vl24-related-heading{
        font-size:17px !important;
        line-height:1.25 !important;

        padding:14px !important;
    }

}

/* =========================================
MOBILE TYPOGRAPHY FIX
PROPER RESPONSIVE SCALE
========================================= */

@media(max-width:767px){

    /* HERO */

    .single-post .vl24-blog-hero{
        height:210px !important;
        min-height:210px !important;
    }

    .single-post .vl24-ph-left{
        padding:0 14px 58px !important;
    }

    /* HERO TITLE */

    .single-post .hero-title{
        max-width:240px !important;

        font-size:1.15rem !important;
        line-height:1.04 !important;
        letter-spacing:-0.04em !important;
        font-weight:800 !important;
    }

    /* META */

    .single-post .vl24-post-meta-bar{
        margin-top:-34px !important;
    }

    .single-post .vl24-post-meta{
        padding:10px !important;
        gap:10px !important;

        border-radius:18px !important;
    }

    .single-post .vl24-meta-item{
        font-size:10px !important;

        padding:6px 7px !important;
    }

    .single-post .vl24-post-share a{
        height:34px !important;
    }

    .single-post .vl24-post-share svg{
        width:12px !important;
        height:12px !important;
    }

    /* CONTENT WRAP */

    .single-post .vl24-blog-content{
        padding:22px 0 40px !important;
    }

    .single-post .vl24-blog-content .container{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    /* PARAGRAPH */

    .single-post .vl24-blog-content p{
        font-size:14px !important;
        line-height:1.75 !important;

        margin-bottom:18px !important;
    }

    /* LIST */

    .single-post .vl24-blog-content li{
        font-size:14px !important;
        line-height:1.7 !important;

        margin-bottom:10px !important;
    }

    /* MAIN H2 */

    .single-post .vl24-blog-content h2{
        font-size:1.08rem !important;
        line-height:1.18 !important;
        letter-spacing:-0.03em !important;

        margin:28px 0 12px !important;
    }

    /* H3 */

    .single-post .vl24-blog-content h3{
        font-size:0.95rem !important;
        line-height:1.2 !important;
        letter-spacing:-0.02em !important;

        margin:22px 0 10px !important;
    }

    /* IMAGES */

    .single-post .vl24-blog-content img{
        border-radius:12px !important;

        margin:16px 0 20px !important;
    }

    /* RELATED */

    .single-post .vl24-related-title{
        font-size:1.2rem !important;

        margin-bottom:14px !important;
    }

    .single-post .vl24-related-heading{
        font-size:14px !important;
        line-height:1.28 !important;

        padding:12px !important;
    }

}

/* =========================================
MOBILE HERO TITLE READABILITY FIX
========================================= */

@media(max-width:767px){

    .single-post .vl24-blog-hero::before{
        background:linear-gradient(
            to bottom,
            rgba(0,0,0,.35),
            rgba(0,0,0,.62)
        ) !important;
    }

    .single-post .hero-title{
        color:#fff !important;

        text-shadow:
        0 2px 10px rgba(0,0,0,.45),
        0 1px 2px rgba(0,0,0,.55);

        position:relative;
        z-index:3;
    }

}

.vl24-blog-card-title,
.vl24-blog-card-title a{
  font-size:clamp(1.2rem, 1.8vw, 2.2rem);
  line-height:1.12;
  letter-spacing:-0.03em;
}

.page-id-676 .vl24-content-container{
  padding:0 20px !important;
}

.page-id-676 .vl24-about-intro,
.page-id-676 .vl24-about-hero-text,
.page-id-676 .vl24-about-split-text{
  max-width:none !important;
}

@media(max-width:767px){

  .page-id-676 .vl24-content-section,
  .page-id-676 .vl24-content-container,
  .page-id-676 .vl24-about-page,
  .page-id-676 .vl24-about-hero,
  .page-id-676 .vl24-about-intro,
  .page-id-676 .vl24-about-grid,
  .page-id-676 .vl24-about-split,
  .page-id-676 .vl24-about-values,
  .page-id-676 .vl24-about-cta{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .page-id-676 .vl24-about-hero-text,
  .page-id-676 .vl24-about-split-text{
    width:100% !important;
    max-width:100% !important;
  }

}

/* =========================================
CE ACCESSORIES TITLE — PREMIUM SECTION HEADER
========================================= */

.ce-configurator-title{
  position:relative;

  display:flex;
  align-items:center;
  gap:10px;

  margin:0 0 14px !important;
  padding:11px 14px 11px 16px;

  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2;
  letter-spacing:-0.01em;

  color:#111;

  background:linear-gradient(
    135deg,
    rgba(34,197,94,0.10),
    rgba(255,255,255,0.95)
  );

  border:1px solid rgba(34,197,94,0.22);
  border-left:4px solid #24965a;
  border-radius:6px;

  box-shadow:
    0 1px 0 rgba(17,17,17,0.02),
    0 10px 24px rgba(17,17,17,0.04);
}

.ce-configurator-title::before{
  content:"";

  width:8px;
  height:8px;

  flex:0 0 8px;

  border-radius:50%;
  background:#24965a;

  box-shadow:0 0 0 4px rgba(34,197,94,0.14);
}

/* Kui kasutad accordion/tab lahendust, siis pealkiri jääb klikitav */
.ce-configurator-section.ce-mobile-accordion .ce-configurator-title{
  cursor:pointer;
  margin-bottom:0 !important;
}

/* Kui accordion on avatud, tekib valikutele ilus vahe */
.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-title{
  margin-bottom:12px !important;
}

/* Mobile veidi kompaktsem */
@media (max-width:767px){

  .ce-configurator-title{
    padding:10px 12px 10px 13px;
    font-size:13px !important;
    margin-bottom:10px !important;
  }

  .ce-configurator-title::before{
    width:7px;
    height:7px;
    flex-basis:7px;
  }

}

/* =========================================
CE ACCESSORIES ACCORDION — ALL SCREENS
========================================= */

.ce-configurator-section.ce-mobile-accordion{
  border:1px solid rgba(17,17,17,0.12);
  border-radius:6px;
  background:#fff;
  overflow:hidden;
  margin:0 0 14px !important;
}

.ce-configurator-section.ce-mobile-accordion .ce-configurator-title{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  width:100%;
  margin:0 !important;
  padding:14px 16px !important;

  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:-0.01em;

  color:#111;

  background:linear-gradient(
    135deg,
    rgba(34,197,94,0.10),
    rgba(255,255,255,0.96)
  );

  border-left:4px solid #24965a;

  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.ce-configurator-section.ce-mobile-accordion .ce-configurator-title::before{
  content:"";

  width:8px;
  height:8px;
  flex:0 0 8px;

  border-radius:50%;
  background:#24965a;
  box-shadow:0 0 0 4px rgba(34,197,94,0.14);
}

.ce-configurator-section.ce-mobile-accordion .ce-configurator-title::after{
  content:"+";

  width:24px;
  height:24px;
  flex:0 0 24px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  border:1px solid rgba(36,150,90,0.25);
  background:#fff;

  color:#24965a;

  font-size:17px;
  font-weight:800;
  line-height:1;
}

.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-title::after{
  content:"−";
}

/* CLOSED */
.ce-configurator-section.ce-mobile-accordion:not(.is-open) .ce-configurator-field{
  display:none !important;
}

/* OPEN */
.ce-configurator-section.ce-mobile-accordion.is-open{
  padding-bottom:12px;
}

.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-field{
  padding-left:14px;
  padding-right:14px;
}

.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-field:first-of-type{
  padding-top:12px;
}


/* =========================================
MOBILE — SAME TAB, SMALLER SIZE
========================================= */

@media (max-width:767px){

  .ce-configurator-section.ce-mobile-accordion{
    margin-bottom:12px !important;
  }

  .ce-configurator-section.ce-mobile-accordion .ce-configurator-title{
    padding:12px 13px !important;
    font-size:13px !important;
  }

  .ce-configurator-section.ce-mobile-accordion .ce-configurator-title::before{
    width:7px;
    height:7px;
    flex-basis:7px;
  }

  .ce-configurator-section.ce-mobile-accordion .ce-configurator-title::after{
    width:22px;
    height:22px;
    flex-basis:22px;
    font-size:16px;
  }

}

/* =========================================
CE ACCORDION ICON CENTER FIX
========================================= */

.ce-configurator-section.ce-mobile-accordion .ce-configurator-title::after{
  content:"+";

  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  flex:0 0 22px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 !important;
  margin:0 !important;

  border-radius:50%;
  border:1px solid rgba(36,150,90,0.25);
  background:#fff;

  color:#24965a;

  font-size:16px !important;
  font-weight:800 !important;
  line-height:22px !important;

  text-align:center;
  box-sizing:border-box;

  transform:none !important;
}

.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-title::after{
  content:"−";
  line-height:20px !important;
}

/* parem päris telefoni tap */
.ce-configurator-section.ce-mobile-accordion .ce-configurator-title{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* =========================================
CE ACCORDION PLUS/MINUS — TRUE CENTER FIX
PUT THIS LAST
========================================= */

.ce-configurator-section.ce-mobile-accordion .ce-configurator-title::after{
  content:"+";

  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  flex:0 0 22px !important;

  display:grid !important;
  place-items:center !important;

  padding:0 !important;
  margin:0 !important;

  border-radius:50% !important;
  border:1px solid rgba(36,150,90,0.25) !important;
  background:#fff !important;
  color:#24965a !important;

  font-family:Arial, Helvetica, sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;

  line-height:0 !important;
  text-align:center !important;

  box-sizing:border-box !important;

  position:relative !important;
  top:0 !important;
  transform:none !important;
}

/* optiline parandus: + märk liigub 1px üles */
.ce-configurator-section.ce-mobile-accordion .ce-configurator-title::after{
  padding-bottom:0px !important;
}

/* minus vajab teist joondust */
.ce-configurator-section.ce-mobile-accordion.is-open .ce-configurator-title::after{
  content:"−";
  padding-bottom:3px !important;
  font-size:18px !important;
}

/* =========================================
VL24 FAVORITES COUNT + BUTTON
========================================= */

.vl24-favorites-link,
.vl24-mobile-favorites-link{
  position:relative;
}

.vl24-fav-count{
  position:absolute;
  top:-6px;
  right:-7px;

  min-width:18px;
  height:18px;
  padding:0 5px;

  display:none;
  align-items:center;
  justify-content:center;

  border-radius:999px;
  background:var(--vl24-orange);
  color:#fff;

  font-size:11px;
  font-weight:800;
  line-height:1;

  box-shadow:0 6px 14px rgba(0,0,0,.18);
  z-index:5;
}

.vl24-fav-count[hidden]{
  display:none !important;
}

/* Product card favorite active */
.vl24-fav-btn.is-active{
  background:#111 !important;
  color:#fff !important;
}

.vl24-fav-btn.is-active svg{
  fill:currentColor;
}

/* =========================================
VL24 FAVORITES ACTIVE — FINAL
========================================= */

.vl24-fav-btn.is-active,
.vl24-fav-btn[data-fav-active="1"]{
  background:#111 !important;
  color:#fff !important;
}

.vl24-fav-btn.is-active svg,
.vl24-fav-btn[data-fav-active="1"] svg{
  fill:currentColor !important;
  stroke:currentColor !important;
}

/* =========================================
VL24 FAVORITES MOBILE HOVER FIX
========================================= */

/* Desktopis hover töötab ainult päris hiirega */
@media (hover:hover) and (pointer:fine){
  .vl24-icon-btn:hover{
    background:#111;
    color:#fff;
  }
}

/* Touch seadmes ära jäta hover/focus mustaks */
@media (hover:none), (pointer:coarse){

  .vl24-fav-btn:not(.is-active):not([data-fav-active="1"]),
  .vl24-fav-btn:not(.is-active):not([data-fav-active="1"]):hover,
  .vl24-fav-btn:not(.is-active):not([data-fav-active="1"]):focus,
  .vl24-fav-btn:not(.is-active):not([data-fav-active="1"]):active{
    background:#fff !important;
    color:#111 !important;
  }

  .vl24-fav-btn:not(.is-active):not([data-fav-active="1"]) svg{
    fill:none !important;
    stroke:currentColor !important;
  }

}

/* Favorites aktiivne olek */
.vl24-fav-btn.is-active,
.vl24-fav-btn[data-fav-active="1"]{
  background:#111 !important;
  color:#fff !important;
}

.vl24-fav-btn.is-active svg,
.vl24-fav-btn[data-fav-active="1"] svg{
  fill:currentColor !important;
  stroke:currentColor !important;
}

/* =========================================
VL24 FAVORITES PAGE — CLEAN FINAL
========================================= */

.vl24-favorites-page{
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:46px 24px 90px;
  box-sizing:border-box;
}

.vl24-favorites-page [hidden]{
  display:none !important;
}

.vl24-favorites-hero,
.vl24-favorites-toolbar,
.vl24-favorites-empty{
  box-sizing:border-box;
}

.vl24-favorites-hero{
  width:100%;
  margin:0 0 24px;
  padding:34px;
  border-radius:10px;
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.18), transparent 36%),
    linear-gradient(135deg, #ffffff 0%, #f3f4f6 100%);
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 18px 50px rgba(17,17,17,.05);
}

.vl24-favorites-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  margin-bottom:12px;
  border-radius:999px;
  background:#e6f9ef;
  color:#15803d;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1;
}

.vl24-favorites-hero h1{
  margin:0 0 10px;
  font-size:clamp(2rem, 4vw, 4rem);
  line-height:1;
  letter-spacing:-.05em;
  font-weight:800;
  color:#111;
}

.vl24-favorites-hero p{
  max-width:680px;
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:#6b7280;
}

.vl24-favorites-toolbar{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 24px;
  padding:14px 16px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(17,17,17,.04);
}

.vl24-favorites-count{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:700;
  line-height:1;
  color:#111;
}

.vl24-favorites-count span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:26px;
  margin:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:13px;
  line-height:1;
}

.vl24-favorites-clear,
.vl24-favorites-empty-btn{
  height:44px;
  min-height:44px;
  padding:0 18px;
  display:inline-grid;
  place-items:center;
  border-radius:6px;
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.vl24-favorites-clear{
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  color:#111;
}

.vl24-favorites-clear:hover{
  background:#111;
  color:#fff;
}

.vl24-favorites-empty-btn{
  min-width:190px;
  background:var(--vl24-green);
  color:#fff !important;
  border:none;
  box-shadow:0 12px 24px rgba(34,197,94,.25);
}

.vl24-favorites-loader{
  padding:28px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  color:#6b7280;
  font-weight:700;
}

.vl24-favorites-grid-wrap{
  width:100%;
}

.vl24-favorites-products.products{
  width:100%;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.vl24-favorites-products.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
}

.vl24-favorites-empty{
  width:100%;
  max-width:620px;
  margin:40px auto 0;
  padding:46px 28px;
  text-align:center;
  border-radius:10px;
  border:1px solid rgba(17,17,17,.08);
  background:#fff;
  box-shadow:0 20px 60px rgba(17,17,17,.06);
}

.vl24-favorites-empty-icon{
  width:72px;
  height:72px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e6f9ef;
  color:#15803d;
}

.vl24-favorites-empty-icon svg{
  width:32px;
  height:32px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

.vl24-favorites-empty h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.vl24-favorites-empty p{
  max-width:420px;
  margin:0 auto 22px;
  color:#6b7280;
  line-height:1.6;
}

/* =========================================================
FAVORITES SHORTCODE PAGE — MOBILE LAYOUT FIX
20px REAL SIDE SPACE + CENTERED BUTTON TEXT
PUT THIS VERY LAST IN responsive.css
========================================================= */

@media (max-width:767px){

  /* Leht, kus shortcode sees on */
  body.page .vl24-content-section,
  body.page .vl24-content-container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Shortcode wrapper — see peab looma 20px õhu */
  body.page .vl24-favorites-page{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;

    padding-top:22px !important;
    padding-right:20px !important;
    padding-bottom:96px !important;
    padding-left:20px !important;

    box-sizing:border-box !important;
  }

  body.page .vl24-favorites-page *{
    box-sizing:border-box !important;
  }

  /* Kõik Favorites kastid täidavad shortcode sisu laiuse */
  body.page .vl24-favorites-hero,
  body.page .vl24-favorites-toolbar,
  body.page .vl24-favorites-empty,
  body.page .vl24-favorites-grid-wrap,
  body.page .vl24-favorites-loader{
    width:100% !important;
    max-width:none !important;

    margin-left:0 !important;
    margin-right:0 !important;

    box-sizing:border-box !important;
  }

  body.page .vl24-favorites-hero{
    padding:24px 18px !important;
    margin-bottom:18px !important;
    border-radius:8px !important;
  }

  body.page .vl24-favorites-toolbar{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;

    gap:18px !important;
    padding:20px !important;
    margin-bottom:22px !important;
    border-radius:8px !important;
  }

  body.page .vl24-favorites-count{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    line-height:1 !important;
  }

  body.page .vl24-favorites-count span{
    margin:0 !important;
    flex:0 0 auto !important;
  }

  body.page .vl24-favorites-empty{
    margin-top:20px !important;
    padding:34px 18px !important;
    border-radius:8px !important;
  }

  /* Kui tooted olemas — 2 veergu ja täislaius */
  body.page .vl24-favorites-products.products{
    width:100% !important;
    max-width:none !important;

    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;

    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  body.page .vl24-favorites-products.products li.product{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:none !important;
  }

  /* NUPUD — päriselt tekst keskele */
  body.page .vl24-favorites-clear,
  body.page .vl24-favorites-empty-btn{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;

    padding:0 20px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    line-height:1 !important;
    text-align:center !important;
    vertical-align:middle !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:800 !important;

    appearance:none !important;
    -webkit-appearance:none !important;
    box-sizing:border-box !important;
  }

  body.page .vl24-favorites-empty-btn{
    min-width:196px !important;
  }

  body.page .vl24-favorites-clear::before,
  body.page .vl24-favorites-clear::after,
  body.page .vl24-favorites-empty-btn::before,
  body.page .vl24-favorites-empty-btn::after{
    display:none !important;
  }

}

@media (max-width:380px){

  body.page .vl24-favorites-products.products{
    grid-template-columns:1fr !important;
  }

}

/* =========================================
FAVORITES BUTTON TEXT REAL CENTER
========================================= */

.vl24-favorites-clear,
.vl24-favorites-empty-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:44px !important;
  min-height:44px !important;
  padding:0 20px !important;

  line-height:1 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.vl24-favorites-empty-btn{
  height:48px !important;
  min-height:48px !important;
}

.vl24-favorites-btn-text{
  display:block !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateY(-1px);
}

/* =========================================
FAVORITES CARD REMOVE ANIMATION
========================================= */

.vl24-favorites-products.products li.product{
  transition:
    opacity .22s ease,
    transform .22s ease,
    filter .22s ease;
}

.vl24-favorites-products.products li.product.vl24-favorite-removing{
  opacity:0 !important;
  transform:scale(.96) translateY(8px) !important;
  filter:blur(2px) !important;
  pointer-events:none !important;
}

/* =========================================
VL24 CART OPTIONS - MINI CART / CART / CHECKOUT
========================================= */

.vl24-cart-options{
  width:100%;
  margin:12px 0 8px;
  padding:10px 11px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9f8 100%);
  display:grid;
  gap:8px;
}

.vl24-cart-option{
  display:grid;
  gap:2px;
  padding:0 0 7px;
  border-bottom:1px solid rgba(16,24,40,.07);
}

.vl24-cart-option:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.vl24-cart-option__label{
  display:block;
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.01em;
  color:#159451;
}

.vl24-cart-option__value{
  display:block;
  font-size:12.5px;
  line-height:1.35;
  font-weight:600;
  color:#1f2933;
  word-break:break-word;
}

/* Variation label also green */
.vl24-cart-option--variation .vl24-cart-option__label{
  color:#159451;
}

/* Mini cart compact */
.vl24-mini-cart .vl24-cart-options{
  margin-top:10px;
  margin-bottom:10px;
}

.vl24-mini-cart .vl24-cart-option__label{
  font-size:10.5px;
}

.vl24-mini-cart .vl24-cart-option__value{
  font-size:12px;
}

/* Checkout review */
.woocommerce-checkout-review-order-table .vl24-cart-options{
  margin-top:8px;
  padding:9px 10px;
  border-radius:10px;
}

.vl24-checkout-item-title{
  font-weight:800;
  margin-bottom:7px;
  line-height:1.25;
  color:#0b0b0b;
}

/* Woo cart block meta fallback */
.wc-block-components-product-metadata,
.wc-block-components-product-details{
  font-size:13px !important;
  line-height:1.55 !important;
  color:#4b5563 !important;
}

.wc-block-components-product-details__name,
.wc-block-components-product-metadata__description{
  font-weight:700 !important;
  color:#159451 !important;
}

.wc-block-components-product-details__value{
  font-weight:600 !important;
  color:#1f2933 !important;
}

/* Mobile */
@media (max-width: 767px){

  .vl24-cart-options{
    padding:9px 10px;
    gap:7px;
    border-radius:11px;
  }

  .vl24-cart-option__label{
    font-size:10.5px;
  }

  .vl24-cart-option__value{
    font-size:12px;
  }

  .woocommerce-checkout-review-order-table .vl24-cart-options{
    margin-top:8px;
  }
}

/* =========================================
VL24 CART / MINI CART / CHECKOUT OPTIONS
Same style everywhere, label always new line
========================================= */

.vl24-cart-options,
.vl24-checkout-product-line .vl24-cart-options,
.vl24-mini-cart .vl24-cart-options,
.woocommerce-cart-form .vl24-cart-options,
.shop_table .vl24-cart-options{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 100%;
}

/* iga valik on oma rida */
.vl24-cart-option{
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  line-height: 1.35;
}

/* PEALKIRI ALATI UUEL REAL */
.vl24-cart-option-label{
  display: block;
  width: 100%;
  margin: 0 0 2px 0;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
  color: #18a35a;
}

/* VALITUD VÄÄRTUS ALATI ERALDI REAL */
.vl24-cart-option-value{
  display: block;
  width: 100%;
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  color: #111;
  word-break: normal;
  overflow-wrap: anywhere;
}

/* mini cart / checkout kaart ilusamaks, aga mitte liiga suur kast */
.vl24-mini-cart .vl24-cart-options,
.vl24-checkout-product-line .vl24-cart-options{
  background: #f7f8f7;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px;
}

/* checkoutis ära lase valikutel liiga kitsaks minna */
.vl24-checkout-product-info{
  min-width: 0;
  width: 100%;
}

.vl24-checkout-product-line{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}

/* cart lehe Woo default meta, kui seal tuleb ikka dl/variation kaudu */
.woocommerce-cart-form .variation,
.woocommerce-cart-form dl.variation{
  margin: 10px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #111;
}

.woocommerce-cart-form .variation dt,
.woocommerce-cart-form dl.variation dt{
  display: block;
  float: none;
  clear: both;
  margin: 0 0 2px 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
  color: #18a35a;
}

.woocommerce-cart-form .variation dd,
.woocommerce-cart-form dl.variation dd{
  display: block;
  float: none;
  clear: both;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  color: #111;
}

.woocommerce-cart-form .variation dd p,
.woocommerce-cart-form dl.variation dd p{
  margin: 0;
  padding: 0;
}

/* cart lehel kui meta tuleb tekstina product-name sees */
.woocommerce-cart-form .product-name .variation{
  max-width: 100%;
}

/* mobiilis kompaktsem */
@media (max-width: 767px){

  .vl24-cart-options,
  .vl24-checkout-product-line .vl24-cart-options,
  .vl24-mini-cart .vl24-cart-options,
  .woocommerce-cart-form .vl24-cart-options,
  .shop_table .vl24-cart-options{
    gap: 7px;
  }

  .vl24-mini-cart .vl24-cart-options,
  .vl24-checkout-product-line .vl24-cart-options{
    padding: 11px;
    border-radius: 11px;
  }

  .vl24-cart-option-label,
  .woocommerce-cart-form .variation dt,
  .woocommerce-cart-form dl.variation dt{
    font-size: 12.5px;
  }

  .vl24-cart-option-value,
  .woocommerce-cart-form .variation dd,
  .woocommerce-cart-form dl.variation dd{
    font-size: 12.5px;
  }

}

/* =========================================
CART / MINI CART / CHECKOUT OPTION META
Makes every option start from a new line
========================================= */

/* Sinu custom option box */
.vl24-cart-options{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  max-width:100%;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  background:#f7f8f8;
}

.vl24-cart-option{
  display:block;
  padding:7px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.vl24-cart-option:last-child{
  border-bottom:0;
}

.vl24-cart-option-label{
  display:block;
  margin:0 0 2px 0;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
  color:#159653;
}

.vl24-cart-option-value{
  display:block;
  font-size:13px;
  line-height:1.35;
  font-weight:500;
  color:#111;
  word-break:normal;
  overflow-wrap:anywhere;
}

/* Classic Woo cart meta */
.woocommerce-cart .variation,
.woocommerce-cart dl.variation{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  margin:12px 0 0 0 !important;
  padding:10px 12px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:10px !important;
  background:#f7f8f8 !important;
}

.woocommerce-cart .variation dt,
.woocommerce-cart dl.variation dt{
  display:block !important;
  float:none !important;
  clear:both !important;
  margin:0 0 2px 0 !important;
  padding:7px 0 0 0 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#159653 !important;
}

.woocommerce-cart .variation dd,
.woocommerce-cart dl.variation dd{
  display:block !important;
  float:none !important;
  clear:both !important;
  margin:0 0 7px 0 !important;
  padding:0 0 7px 0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  color:#111 !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
}

.woocommerce-cart .variation dd:last-child,
.woocommerce-cart dl.variation dd:last-child{
  border-bottom:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.woocommerce-cart .variation dd p,
.woocommerce-cart dl.variation dd p{
  margin:0 !important;
}

/* Woo Blocks cart page metadata */
.wc-block-components-product-metadata,
.wc-block-components-product-details{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  margin:12px 0 0 0 !important;
  padding:10px 12px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:10px !important;
  background:#f7f8f8 !important;
}

.wc-block-components-product-details li,
.wc-block-components-product-details__item{
  display:block !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
}

.wc-block-components-product-details li:last-child,
.wc-block-components-product-details__item:last-child{
  border-bottom:0 !important;
}

.wc-block-components-product-details__name{
  display:block !important;
  margin:0 0 2px 0 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#159653 !important;
}

.wc-block-components-product-details__value{
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  color:#111 !important;
}

/* Checkout image/content no inline chaos */
.vl24-product-info,
.vl24-checkout-product-line{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.vl24-checkout-product-img{
  width:80px;
  height:80px;
  object-fit:cover;
  border-radius:6px;
  flex:0 0 80px;
}

.vl24-checkout-product-content,
.vl24-checkout-product-info{
  min-width:0;
  flex:1;
}

.vl24-checkout-item-title,
.vl24-checkout-product-title{
  margin:0 0 8px 0;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  color:#050505;
}

@media (max-width:480px){
  .vl24-cart-options,
  .woocommerce-cart .variation,
  .woocommerce-cart dl.variation,
  .wc-block-components-product-metadata,
  .wc-block-components-product-details{
    padding:9px 10px !important;
    border-radius:9px !important;
  }

  .vl24-cart-option-label,
  .woocommerce-cart .variation dt,
  .woocommerce-cart dl.variation dt,
  .wc-block-components-product-details__name{
    font-size:12.5px !important;
  }

  .vl24-cart-option-value,
  .woocommerce-cart .variation dd,
  .woocommerce-cart dl.variation dd,
  .wc-block-components-product-details__value{
    font-size:12.5px !important;
  }
}

/* =========================================
CART PRODUCT OPTIONS — MINIMAL SAFE FIX
No button override, no extra product boxes
========================================= */

body.woocommerce-cart .wc-block-components-product-details{
  display:block !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Iga valik algab uuelt realt */
body.woocommerce-cart .wc-block-components-product-details > span,
body.woocommerce-cart .wc-block-components-product-details__item{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Eemalda WooCommerce "/" separator */
body.woocommerce-cart .wc-block-components-product-details [aria-hidden="true"]{
  display:none !important;
}

/* Pealkiri roheline */
body.woocommerce-cart .wc-block-components-product-details__name{
  display:block !important;
  color:#169653 !important;
  font-weight:800 !important;
  font-size:14px !important;
  line-height:1.25 !important;
  margin:0 0 2px !important;
}

/* Valitud väärtus */
body.woocommerce-cart .wc-block-components-product-details__value{
  display:block !important;
  color:#5f6872 !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

/* Ära lase Woo blockil detaile ühte jorusse panna */
body.woocommerce-cart .wc-block-components-product-metadata{
  display:block !important;
}

/* Mobiilis samuti üks valik = üks rida */
@media (max-width:767px){
  body.woocommerce-cart .wc-block-components-product-details > span,
  body.woocommerce-cart .wc-block-components-product-details__item{
    margin-bottom:9px !important;
  }

  body.woocommerce-cart .wc-block-components-product-details__name,
  body.woocommerce-cart .wc-block-components-product-details__value{
    font-size:14px !important;
  }
}

/* =========================================
CART — ONLY REQUESTED SMALL FIXES
========================================= */

/* CART: pealkiri vasakule tagasi, mitte keskele */
body.woocommerce-cart .wc-block-components-product-name{
  text-align:left !important;
  display:block !important;
  margin:0 0 10px !important;
}

/* CART: pilt veidi suuremaks desktop/tahvel, ilma layouti lõhkumata */
body.woocommerce-cart .wc-block-cart-item__image img{
  width:150px !important;
  max-width:150px !important;
  height:120px !important;
  object-fit:cover !important;
  border-radius:8px !important;
  display:block !important;
}

/* CART: kogus/delete ei oleks vastu ülemist raami */
body.woocommerce-cart .wc-block-cart-item__quantity{
  margin-top:14px !important;
}

/* CART: price ei vajuks liiga alla */
body.woocommerce-cart .wc-block-cart-item__total{
  vertical-align:middle !important;
}

/* MINI CART: pildil kumerad nurgad */
.vl24-mini-cart .vl24-cart-card__media img,
.vl24-cart-card__media img{
  border-radius:8px !important;
  display:block !important;
  border:0 !important;
  box-shadow:none !important;
}

/* MINI CART: eemalda pildi alt must joon */
.vl24-mini-cart .vl24-cart-card__media,
.vl24-cart-card__media{
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* CHECKOUT: qty kast sama stiiliga nagu cart/minicart */
.woocommerce-checkout .vl24-qty{
  display:inline-flex !important;
  align-items:stretch !important;
  height:36px !important;
  overflow:hidden !important;
  border:1px solid #dfe3e6 !important;
  border-radius:7px !important;
  background:#fff !important;
}

.woocommerce-checkout .vl24-qty button,
.woocommerce-checkout .vl24-qty input{
  height:36px !important;
  min-height:36px !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

.woocommerce-checkout .vl24-qty button{
  width:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f2f3f4 !important;
}

.woocommerce-checkout .vl24-qty input{
  width:42px !important;
  text-align:center !important;
  background:#fff !important;
}

/* MOBILE: ära tee pilti full width, ainult normaliseeri */
@media (max-width:767px){

  body.woocommerce-cart .wc-block-cart-item__image img{
    width:124px !important;
    max-width:124px !important;
    height:100px !important;
    object-fit:cover !important;
    border-radius:8px !important;
  }

  body.woocommerce-cart .wc-block-components-product-name{
    text-align:left !important;
    margin-bottom:10px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__quantity{
    margin-top:12px !important;
  }
}

/* =========================================
MINI CART IMAGE RADIUS FIX
========================================= */

.vl24-mini-cart .vl24-cart-card__media,
.vl24-mini-cart .vl24-cart-card__media a{
  border-radius:8px !important;
  overflow:hidden !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.vl24-mini-cart .vl24-cart-card__media img{
  border-radius:8px !important;
  overflow:hidden !important;
  display:block !important;
  border:0 !important;
  box-shadow:none !important;
}


/* =========================================
CART MOBILE — IMAGE + TITLE SIDE BY SIDE
Only mobile cart page
========================================= */

@media (max-width:767px){

  body.woocommerce-cart .wc-block-cart-items__row{
    display:grid !important;
    grid-template-columns:124px 1fr !important;
    column-gap:12px !important;
    align-items:start !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image{
    grid-column:1 !important;
    grid-row:1 !important;
    width:124px !important;
    padding:0 !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image img{
    width:124px !important;
    max-width:124px !important;
    height:100px !important;
    object-fit:cover !important;
    border-radius:8px !important;
    display:block !important;
  }

  body.woocommerce-cart .wc-block-cart-item__product{
    grid-column:2 !important;
    grid-row:1 !important;
    padding:0 !important;
    min-width:0 !important;
  }

  body.woocommerce-cart .wc-block-components-product-name{
    display:block !important;
    text-align:left !important;
    margin:0 0 10px !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }

  body.woocommerce-cart .wc-block-components-product-metadata{
    margin-top:10px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__quantity,
  body.woocommerce-cart .wc-block-cart-item__total{
    grid-column:1 / -1 !important;
  }
}

/* =========================================
CART MOBILE — FIX PRICE POSITION
========================================= */

@media (max-width:767px){

  body.woocommerce-cart .wc-block-cart-items__row{
    position:relative !important;
  }

  body.woocommerce-cart .wc-block-cart-item__total{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    width:100% !important;
    padding:10px 0 0 !important;
    margin:0 !important;
    text-align:right !important;
    position:static !important;
    display:block !important;
    clear:both !important;
  }

  body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    justify-content:flex-end !important;
    text-align:right !important;
    width:100% !important;
    display:flex !important;
  }

  body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
  body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount,
  body.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-amount{
    display:block !important;
    text-align:right !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }

  body.woocommerce-cart .wc-block-cart-item__quantity{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    margin-top:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
}

/* =========================================
CART MOBILE — QTY + DELETE EI JOOKSE ÜLE ÄÄRE
========================================= */

@media (max-width:767px){

  body.woocommerce-cart .wc-block-cart-item__quantity{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector{
    width:106px !important;
    min-width:106px !important;
    max-width:106px !important;
    height:42px !important;
    display:grid !important;
    grid-template-columns:34px 38px 34px !important;
    flex:0 0 106px !important;
    overflow:hidden !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector__button{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:42px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector__input{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:42px !important;
    padding:0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-cart .wc-block-cart-item__remove-link,
  body.woocommerce-cart .wc-block-cart-item__remove-link-contained{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

}

/* =========================================
VL24 THANK YOU PAGE — PREMIUM REQUEST RECEIVED
========================================= */

.vl24-thankyou{
  max-width:1360px;
  margin:0 auto;
  padding:42px 24px 80px;
  color:#111;
}

/* HERO */
.vl24-thankyou-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 28px;
  padding:34px 34px;
  border-radius:10px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(135deg, #4ade80 0%, #22c55e 42%, #15803d 100%);
  color:#fff;
  box-shadow:0 22px 55px rgba(21,128,61,.18);
}

.vl24-thankyou-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.12) 42%, transparent 64%);
  pointer-events:none;
}

.vl24-thankyou-hero h1{
  position:relative;
  z-index:2;
  margin:0 0 10px;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
}

.vl24-thankyou-lead{
  position:relative;
  z-index:2;
  margin:0 0 6px;
  font-size:17px;
  line-height:1.5;
  font-weight:800;
}

.vl24-thankyou-desc{
  position:relative;
  z-index:2;
  max-width:720px;
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.88);
}

/* MAIN GRID */
.vl24-thankyou-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:24px;
  align-items:start;
}

.vl24-thankyou-main,
.vl24-thankyou-side{
  min-width:0;
}

.vl24-thankyou-side{
  position:sticky;
  top:110px;
}

/* CARDS */
.vl24-thankyou-card{
  margin:0 0 18px;
  padding:24px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:
    0 1px 0 rgba(17,17,17,.02),
    0 18px 45px rgba(17,17,17,.055);
}

.vl24-thankyou-card h3{
  margin:0 0 16px;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
}

.vl24-thankyou-card p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#5f6872;
}

.vl24-thankyou-card p + p{
  margin-top:8px;
}

.vl24-thankyou-card strong{
  color:#111;
  font-weight:800;
}

/* NEXT STEPS */
.vl24-thankyou-card ul{
  margin:0;
  padding:0;
  list-style:none;
}

.vl24-thankyou-card li{
  position:relative;
  margin:0;
  padding:13px 0 13px 34px;
  border-bottom:1px solid rgba(17,17,17,.07);
  font-size:14px;
  line-height:1.45;
  color:#374151;
  font-weight:650;
}

.vl24-thankyou-card li:last-child{
  border-bottom:0;
}

.vl24-thankyou-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:10px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e6f9ef;
  color:#169653;
  font-size:13px;
  font-weight:900;
}

/* PRODUCT CARD */
.vl24-order-card{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:18px;
  padding:18px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:10px;
  background:#f8faf9;
}

.vl24-order-card + .vl24-order-card{
  margin-top:16px;
}

.vl24-order-image{
  width:140px;
  height:120px;
  overflow:hidden;
  border-radius:8px;
  background:#eef2f0;
}

.vl24-order-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vl24-order-content{
  min-width:0;
}

.vl24-order-title{
  margin:0 0 12px;
  font-size:19px;
  line-height:1.22;
  font-weight:850;
  letter-spacing:-.025em;
  color:#111;
}

/* OPTIONS */
.vl24-order-specs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
}

.vl24-order-option{
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(17,17,17,.07);
  border-radius:8px;
  background:#fff;
}

.vl24-order-option-label{
  display:block;
  margin:0 0 3px;
  color:#169653;
  font-size:13px;
  line-height:1.25;
  font-weight:850;
}

.vl24-order-option-value{
  display:block;
  color:#5f6872;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
  word-break:break-word;
}

.vl24-order-price{
  display:inline-flex;
  align-items:center;
  margin:0 0 8px;
  padding:8px 12px;
  border-radius:10px;
  background:#e6f9ef;
  color:#169653;
  font-size:14px;
  line-height:1.2;
  font-weight:850;
}

.vl24-order-note{
  font-size:13px;
  line-height:1.55;
  color:#6b7280;
}

/* ADDRESS CARDS */
.vl24-thankyou-card address,
.vl24-thankyou-card .woocommerce-customer-details--phone,
.vl24-thankyou-card .woocommerce-customer-details--email{
  font-style:normal;
  color:#5f6872;
  line-height:1.7;
}

/* MOBILE / TABLET */
@media (max-width:1024px){
  .vl24-thankyou{
    padding:28px 18px 70px;
  }

  .vl24-thankyou-grid{
    grid-template-columns:1fr;
  }

  .vl24-thankyou-side{
    position:relative;
    top:auto;
  }
}

@media (max-width:767px){
  .vl24-thankyou{
    padding:22px 16px 70px;
  }

  .vl24-thankyou-hero{
    padding:26px 22px;
    border-radius:10px;
  }

  .vl24-thankyou-hero h1{
    font-size:28px;
  }

  .vl24-thankyou-lead{
    font-size:15px;
  }

  .vl24-thankyou-desc{
    font-size:14px;
  }

  .vl24-thankyou-card{
    padding:18px;
    border-radius:10px;
  }

  .vl24-order-card{
    grid-template-columns:96px minmax(0,1fr);
    gap:12px;
    padding:14px;
    border-radius:10px;
  }

  .vl24-order-image{
    width:96px;
    height:82px;
    border-radius:8px;
  }

  .vl24-order-title{
    font-size:16px;
    line-height:1.25;
    margin-bottom:10px;
  }

  .vl24-order-specs{
    grid-template-columns:1fr;
    gap:7px;
  }

  .vl24-order-option{
    padding:9px 10px;
  }

  .vl24-order-option-label,
  .vl24-order-option-value{
    font-size:13px;
  }

  .vl24-order-price{
    font-size:13px;
    padding:7px 10px;
  }
}

@media (max-width:420px){
  .vl24-order-card{
    grid-template-columns:82px minmax(0,1fr);
  }

  .vl24-order-image{
    width:82px;
    height:74px;
  }

  .vl24-order-title{
    font-size:15px;
  }
}

/* =========================================
THANK YOU — SPACE BETWEEN PRODUCT AND OPTIONS
========================================= */

.vl24-thankyou .vl24-order-card{
  margin-bottom:22px !important;
}

.vl24-thankyou .vl24-order-card + .vl24-thankyou-card,
.vl24-thankyou .vl24-thankyou-card + .vl24-thankyou-card{
  margin-top:22px !important;
}

@media (max-width:767px){
  .vl24-thankyou .vl24-order-card{
    margin-bottom:18px !important;
  }

  .vl24-thankyou .vl24-order-card + .vl24-thankyou-card,
  .vl24-thankyou .vl24-thankyou-card + .vl24-thankyou-card{
    margin-top:18px !important;
  }
}

/* =========================================
PRODUCT DESCRIPTION TABLE RESPONSIVE FIX
Only table scrolls, page does not break
========================================= */

.woocommerce-Tabs-panel,
.woocommerce-Tabs-panel .woocommerce-product-details__short-description{
  max-width:100%;
  overflow-x:hidden;
}

/* Kui tabel on juba .table-wrap sees */
.woocommerce-Tabs-panel .table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

/* Kui tabel EI ole .table-wrap sees */
@media (max-width:767px){

  .woocommerce-Tabs-panel table{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:680px;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;
  }

  .woocommerce-Tabs-panel table tbody,
  .woocommerce-Tabs-panel table thead,
  .woocommerce-Tabs-panel table tr{
    width:100%;
  }

  .woocommerce-Tabs-panel table th,
  .woocommerce-Tabs-panel table td{
    white-space:nowrap;
  }
}

/* Attribute links green */
.single-product table.woocommerce-product-attributes a,
.woocommerce-product-attributes a,
body[class*="tax-pa_"] a{
  color:#24965a !important;
  text-decoration:none !important;
}

.single-product table.woocommerce-product-attributes a:hover,
.woocommerce-product-attributes a:hover,
body[class*="tax-pa_"] a:hover{
  color:#16844c !important;
  text-decoration:underline !important;
}

/* =========================================
ADDITIONAL INFO TABLE — HORIZONTAL SCROLL ONLY
Kui tabel ei mahu, scrollib ainult tabeli ala
========================================= */

.single-product .woocommerce-Tabs-panel--additional_information{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

/* tabel jääb tabeliks, ei lähe katki */
.single-product .woocommerce-Tabs-panel--additional_information table.woocommerce-product-attributes{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
}

/* mobiilis lase tabelil vajadusel kõrvale scrollida */
@media (max-width:767px){
  .single-product .woocommerce-Tabs-panel--additional_information table.woocommerce-product-attributes{
    min-width:620px;
  }
}

/* =========================================================
FAQ PAGE — GREENHOUSE PREMIUM ACCORDION
========================================================= */

.vl24-tabs-section{
  position:relative;
  max-width:1520px;
  margin:0 auto;
  padding:36px 28px 88px;
  color:#111;
  background:#fff;
}

.vl24-tabs-section *{
  box-sizing:border-box;
}

.vl24-tabs-section > .container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

/* HEADER */

.vl24-tabs-head{
  max-width:780px;
  margin:0 auto 42px;
  text-align:left;
}

.vl24-tabs-head .hero-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 14px;
  margin-bottom:18px;

  border-radius:999px;
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);

  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.vl24-tabs-title{
  margin:0 0 16px;

  font-size:clamp(2.2rem,4vw,4.4rem);
  line-height:.96;
  letter-spacing:-.05em;
  font-weight:800;

  color:#111;
}

.vl24-tabs-intro{
  max-width:760px;
  margin:0 auto;

  font-size:17px;
  line-height:1.8;
  color:var(--vl24-text-muted);
}

.vl24-tabs-intro p{
  margin:0;
}

/* ACCORDION WRAP */

.vl24-accordion{
  max-width:980px;
  margin:0 auto;
  display:grid;
  gap:14px;
}

/* ITEM */

.vl24-acc-item{
  position:relative;

  border:1px solid rgba(17,17,17,.08);
  border-radius:6px;
  background:#fff;

  overflow:hidden;

  box-shadow:0 12px 30px rgba(0,0,0,.04);
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.vl24-acc-item:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 50px rgba(0,0,0,.07);
  border-color:rgba(36,150,90,.22);
}

.vl24-acc-item.active{
  border-color:rgba(36,150,90,.28);
  background:
    linear-gradient(135deg, rgba(34,197,94,.045), rgba(255,255,255,1) 42%);
}

/* HEADER BUTTON */

.vl24-acc-header{
  width:100%;
  min-height:68px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:20px 24px;

  border:0;
  background:transparent;

  text-align:left;
  cursor:pointer;

  -webkit-tap-highlight-color:transparent;
}

.vl24-acc-title{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;

  color:#111;

  font-size:18px;
  line-height:1.28;
  font-weight:800;
  letter-spacing:-.02em;
}

.vl24-acc-title::before{
  content:"";

  width:9px;
  height:9px;
  flex:0 0 9px;

  border-radius:50%;
  background:#24965a;
  box-shadow:0 0 0 5px rgba(34,197,94,.13);
}

/* PLUS / MINUS ICON */

.vl24-acc-icon{
  position:relative;

  width:32px;
  height:32px;
  flex:0 0 32px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  border:1px solid rgba(36,150,90,.24);
  background:#fff;

  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.vl24-acc-icon::before,
.vl24-acc-icon::after{
  content:"";
  position:absolute;

  width:13px;
  height:2px;

  border-radius:999px;
  background:#24965a;

  transition:transform .18s ease, opacity .18s ease;
}

.vl24-acc-icon::after{
  transform:rotate(90deg);
}

.vl24-acc-item.active .vl24-acc-icon::after{
  transform:rotate(0deg);
  opacity:0;
}

/* CONTENT */

.vl24-acc-content{
  display:none;

  padding:0 24px 24px 47px;

  font-size:16px;
  line-height:1.85;
  color:var(--vl24-text-muted);
}

.vl24-acc-item.active .vl24-acc-content{
  display:block;
}

.vl24-acc-content p{
  margin:0;
}

.vl24-acc-content p + p{
  margin-top:12px;
}

.vl24-acc-content a{
  color:var(--vl24-green-dark);
  font-weight:700;
  text-decoration:none;
}

.vl24-acc-content a:hover{
  text-decoration:underline;
}

/* =========================================================
FAQ PAGE — LEFT ALIGNED LAYOUT FIX
========================================================= */

.vl24-tabs-section{
  padding:56px 28px 88px !important;
}

.vl24-tabs-section > .container{
  max-width:1320px !important;
  margin:0 auto !important;
}

/* Header vasakule */
.vl24-tabs-head{
  max-width:860px !important;
  margin:0 0 42px !important;
  text-align:left !important;
}

/* Eyebrow ei lähe keskele */
.vl24-tabs-head .hero-eyebrow{
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Pealkiri vasakule */
.vl24-tabs-title{
  text-align:left !important;
}

/* Intro tekst vasakule */
.vl24-tabs-intro{
  max-width:860px !important;
  margin:0 !important;
  text-align:left !important;
}

/* Accordion vasakule ja sama laiusega */
.vl24-accordion{
  max-width:1000px !important;
  margin:0 !important;
}

/* =========================================================
FAQ PAGE — EXACT WIDTH LIKE ABOUT US
========================================================= */

/* ära lase tabs sectionil ise lisalaiust teha */
.vl24-tabs-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
}

/* see peab käituma nagu About Us content container */
.vl24-tabs-section > .container{
  width:100% !important;
  max-width:1520px !important;
  margin:0 auto !important;
  padding:36px 28px 60px !important;
  box-sizing:border-box !important;
}

/* header vasakule */
.vl24-tabs-head{
  width:100% !important;
  max-width:880px !important;
  margin:0 0 42px !important;
  text-align:left !important;
}

/* intro nagu About Us intro tekst */
.vl24-tabs-intro{
  max-width:880px !important;
  margin:0 !important;
  text-align:left !important;
}

/* FAQ kast ei lähe üle containeri */
.vl24-accordion{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

/* =========================================================
ABOUT US — EYEBROW + TITLE SPACING
========================================================= */

.page-id-676 .vl24-about-label{
  margin-bottom:8px !important;
}

.page-id-676 .vl24-about-hero h1{
  margin-top:0 !important;
}

/* =========================================================
CATEGORY FAQ — WIDTH FIX
Desktop wide, mobile padded
========================================================= */

.vl24-category-faq-section{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;

  margin-top:56px !important;

  /* DESKTOP: sama lai nagu muu sisu */
  padding-left:0 !important;
  padding-right:0 !important;
}

.vl24-category-faq-section > .container{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;

  padding-left:0 !important;
  padding-right:0 !important;

  margin-left:0 !important;
  margin-right:0 !important;
}

.vl24-category-faq-section .vl24-tabs-head,
.vl24-category-faq-section .vl24-tabs-intro,
.vl24-category-faq-section .vl24-accordion{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;

  margin-left:0 !important;
  margin-right:0 !important;
}

/* TABLET */
@media (max-width:1024px){

  .vl24-category-faq-section{
    padding-left:0 !important;
    padding-right:0 !important;
  }

}

/* MOBILE */
@media (max-width:767px){

  .vl24-category-faq-section{
    margin-top:36px !important;

    /* MOBILE: 20px küljevahe jääb alles */
    padding-left:20px !important;
    padding-right:20px !important;
  }

}

/* =========================================================
HOW TO ORDER PAGE — FINAL PREMIUM DESIGN
========================================================= */

/* =========================
CONTENT BLOCKS
========================= */

.vl24-order-content{
  max-width:1520px;
  margin:0 auto;
  padding:34px 28px 26px;
  box-sizing:border-box;
  color:#111;
}

.vl24-order-content *{
  box-sizing:border-box;
}

.vl24-order-content--intro{
  padding-top:38px;
  padding-bottom:24px;
}

.vl24-order-content--notice{
  position:relative;
  margin-top:0;
  padding-top:38px;
  padding-bottom:42px;

  background:
    linear-gradient(135deg, rgba(230,249,239,.75), rgba(255,255,255,1) 48%),
    radial-gradient(circle at top right, rgba(36,150,90,.10), transparent 34%);

  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
}

.vl24-order-title{
  max-width:900px;
  margin:0 0 14px;

  font-size:clamp(2.35rem,4vw,4.6rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:800;

  color:#111;
}

.vl24-order-content p{
  max-width:900px;
  margin:0;

  font-size:17px;
  line-height:1.78;
  color:var(--vl24-text-muted);
}

.vl24-order-content p + p{
  margin-top:12px;
}

/* =========================
PROCESS SECTION — WOW BACKGROUND
========================= */

#ostuprotsess.process{
  position:relative;

  max-width:none;
  width:100%;

  margin:0;
  padding:42px 0 50px;

  overflow:hidden;
  background:
    linear-gradient(135deg, #f3f5f1 0%, #ffffff 44%, #eaf8f0 100%);
  color:#111;
}

/* full width soft background */
#ostuprotsess.process::before{
  content:"";
  position:absolute;
  inset:0;

  background:
    radial-gradient(circle at 10% 15%, rgba(36,150,90,.13), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(34,197,94,.16), transparent 30%),
    linear-gradient(120deg, rgba(255,255,255,.72), rgba(255,255,255,.25));

  pointer-events:none;
}

/* subtle greenhouse line pattern */
#ostuprotsess.process::after{
  content:"";
  position:absolute;
  inset:0;

  background-image:
    linear-gradient(120deg, rgba(36,150,90,.08) 1px, transparent 1px),
    linear-gradient(60deg, rgba(36,150,90,.055) 1px, transparent 1px);

  background-size:120px 120px;
  opacity:.65;

  pointer-events:none;
}

#ostuprotsess .process-bg,
#ostuprotsess .process-overlay{
  display:none !important;
}

#ostuprotsess .process-layout{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1520px;
  margin:0 auto;
  padding:0 28px;

  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  gap:56px;
  align-items:start;
}

/* LEFT SIDE */
#ostuprotsess .process-intro{
  position:sticky;
  top:120px;

  max-width:620px;
  padding:30px 0 0;
}

#ostuprotsess .hero-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:34px;
  padding:0 14px;
  margin-bottom:14px;

  border-radius:999px;
  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);

  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#ostuprotsess .process-intro h2{
  margin:0 0 14px;

  font-size:clamp(2.3rem,3.7vw,4.35rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:800;

  color:#111;
}

#ostuprotsess .process-intro p{
  margin:0;

  font-size:17px;
  line-height:1.78;
  color:var(--vl24-text-muted);
}

/* RIGHT STEPS */
#ostuprotsess .process-steps{
  display:grid;
  gap:14px;
}

/* step card */
#ostuprotsess .process-step{
  position:relative;

  min-height:132px;

  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:22px;
  align-items:start;

  padding:24px 28px;

  border:1px solid rgba(17,17,17,.08);
  border-radius:6px;

  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);

  box-shadow:
    0 1px 0 rgba(17,17,17,.02),
    0 18px 46px rgba(17,17,17,.055);

  overflow:hidden;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

#ostuprotsess .process-step:hover{
  transform:translateY(-3px);
  border-color:rgba(36,150,90,.28);
  background:#fff;

  box-shadow:
    0 1px 0 rgba(17,17,17,.02),
    0 26px 70px rgba(17,17,17,.08);
}

/* big watermark word */
#ostuprotsess .process-step::before{
  content:attr(data-icon);

  position:absolute;
  right:18px;
  bottom:8px;

  font-size:58px;
  line-height:.8;
  font-weight:900;
  letter-spacing:-.08em;
  text-transform:uppercase;

  color:rgba(36,150,90,.055);

  pointer-events:none;
  user-select:none;
}

#ostuprotsess .step-num{
  width:58px;
  height:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:6px;

  background:var(--vl24-green-soft);
  color:var(--vl24-green-dark);

  font-size:16px;
  font-weight:900;
  line-height:1;

  box-shadow:
    inset 0 0 0 1px rgba(36,150,90,.16),
    0 10px 24px rgba(36,150,90,.08);
}

#ostuprotsess .process-step h3{
  margin:0 0 7px;

  font-size:22px;
  line-height:1.16;
  letter-spacing:-.035em;
  font-weight:800;

  color:#111;
}

#ostuprotsess .process-step p{
  margin:0;
  max-width:720px;

  font-size:15px;
  line-height:1.68;
  color:var(--vl24-text-muted);
}

/* =========================
ORDER FAQ / TABS
Anchor in builder: order-faq
========================= */

#order-faq.vl24-tabs-section{
  max-width:none !important;
  width:100% !important;

  margin:0 !important;
  padding:46px 0 82px !important;

  background:#fff !important;
  box-sizing:border-box !important;
}

#order-faq.vl24-tabs-section > .container{
  width:100% !important;
  max-width:1520px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  box-sizing:border-box !important;
}

#order-faq .vl24-tabs-head{
  max-width:900px !important;
  margin:0 0 34px !important;
  text-align:left !important;
}

#order-faq .hero-eyebrow{
  margin-bottom:14px !important;
}

#order-faq .vl24-tabs-title{
  max-width:860px;
  margin:0 0 14px !important;

  font-size:clamp(2.25rem,3.8vw,4.3rem) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  font-weight:800 !important;

  color:#111 !important;
  text-align:left !important;
}

#order-faq .vl24-tabs-intro{
  max-width:900px !important;
  margin:0 !important;

  text-align:left !important;
  font-size:17px !important;
  line-height:1.78 !important;
  color:var(--vl24-text-muted) !important;
}

#order-faq .vl24-tabs-intro p{
  margin:0 !important;
}

#order-faq .vl24-accordion{
  width:100% !important;
  max-width:1180px !important;
  margin:0 !important;

  display:grid !important;
  gap:14px !important;
}

/* =========================================================
QUOTE + CALLBACK PROCESS — HIDE WATERMARK WORDS
========================================================= */

body.page-id-635 #ostuprotsess .process-step::before,
body.page-id-633 #ostuprotsess .process-step::before{
  display:none !important;
  content:none !important;
}

/* =========================================
FIBOSEARCH — CLEAN PRICE + SEE ALL PRODUCTS
========================================= */

/* Kui hind puudub / price span tühi, siis ära näita rohelist kasti */
body .dgwt-wcas-sp:empty,
body .dgwt-wcas-sp.dgwt-wcas-sp-empty{
  display:none !important;
}

/* Kui plugin jätab ainult tühja teksti sisse */
body .dgwt-wcas-sp:not(:has(.amount)):not(:has(ins)):not(:has(del)){
  display:none !important;
}

/* Kui hind on olemas, siis hoia roheline pill */
body .dgwt-wcas-sp:has(.amount),
body .dgwt-wcas-sp:has(ins),
body .dgwt-wcas-sp:has(del){
  display:inline-flex !important;
}

/* Kui price peidetud, siis title ei pea kõrvale ruumi jätma */
body .dgwt-wcas-suggestion:not(:has(.dgwt-wcas-sp .amount)) .dgwt-wcas-content-wrapp{
  padding-right:0 !important;
}

/* =========================================
FIBOSEARCH — SEE ALL PRODUCTS BUTTON
========================================= */

body .dgwt-wcas-suggestion-more,
body .dgwt-wcas-suggestion-more-products{
  padding:18px 20px 22px !important;
  background:#fff !important;
  border-top:1px solid rgba(17,17,17,0.08) !important;
  text-align:center !important;
}

body .dgwt-wcas-suggestion-more a,
body .dgwt-wcas-suggestion-more-products a,
body .dgwt-wcas-st-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  min-height:44px !important;
  padding:0 22px !important;

  border-radius:6px !important;
  border:1px solid var(--vl24-green-dark) !important;

  background:var(--vl24-green) !important;
  color:#fff !important;

  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;

  text-decoration:none !important;

  box-shadow:0 12px 28px rgba(36,150,90,0.22) !important;
  transition:all .18s ease !important;
}

/* Nool paremale */
body .dgwt-wcas-suggestion-more a::after,
body .dgwt-wcas-suggestion-more-products a::after,
body .dgwt-wcas-st-more::after{
  content:"→";
  font-size:16px;
  line-height:1;
  transform:translateY(-1px);
}

/* Hover */
body .dgwt-wcas-suggestion-more a:hover,
body .dgwt-wcas-suggestion-more-products a:hover,
body .dgwt-wcas-st-more:hover{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 16px 34px rgba(17,17,17,0.18) !important;
}

/* =========================================
MOBILE — FIBOSEARCH PRICE + BUTTON
========================================= */

@media (max-width:767px){

  body .dgwt-wcas-sp:empty,
  body .dgwt-wcas-sp.dgwt-wcas-sp-empty,
  body .dgwt-wcas-sp:not(:has(.amount)):not(:has(ins)):not(:has(del)){
    display:none !important;
  }

  body .dgwt-wcas-suggestion-more,
  body .dgwt-wcas-suggestion-more-products{
    padding:16px 16px 20px !important;
  }

  body .dgwt-wcas-suggestion-more a,
  body .dgwt-wcas-suggestion-more-products a,
  body .dgwt-wcas-st-more{
    width:100% !important;
    max-width:280px !important;
    min-height:44px !important;
    font-size:12px !important;
  }
}

/* =========================================
FIBOSEARCH — SEE ALL PRODUCTS COMPACT FIX
========================================= */

/* alumine ala puhtaks, ilma musta jooneta */
body .dgwt-wcas-suggestion-more,
body .dgwt-wcas-suggestion-more-products{
  padding:12px 16px 14px !important;
  background:#fff !important;
  border-top:1px solid rgba(17,17,17,0.06) !important;
  text-align:center !important;
}

/* kompaktsem nupp */
body .dgwt-wcas-suggestion-more a,
body .dgwt-wcas-suggestion-more-products a,
body .dgwt-wcas-st-more{
  min-height:36px !important;
  height:36px !important;
  padding:0 16px !important;

  border-radius:6px !important;
  border:none !important;
  outline:none !important;

  background:var(--vl24-green) !important;
  color:#fff !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;

  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(36,150,90,0.22) !important;
}

/* eemaldab browseri/linkide musta joone */
body .dgwt-wcas-suggestion-more a,
body .dgwt-wcas-suggestion-more-products a,
body .dgwt-wcas-st-more,
body .dgwt-wcas-suggestion-more a:focus,
body .dgwt-wcas-suggestion-more-products a:focus,
body .dgwt-wcas-st-more:focus,
body .dgwt-wcas-suggestion-more a:active,
body .dgwt-wcas-suggestion-more-products a:active,
body .dgwt-wcas-st-more:active{
  outline:none !important;
  box-shadow:0 8px 18px rgba(36,150,90,0.22) !important;
  text-decoration:none !important;
}

/* nool väiksem */
body .dgwt-wcas-suggestion-more a::after,
body .dgwt-wcas-suggestion-more-products a::after,
body .dgwt-wcas-st-more::after{
  content:"→";
  font-size:13px !important;
  margin-left:4px;
  transform:none !important;
}

/* hover väiksem, mitte liiga dramaatiline */
body .dgwt-wcas-suggestion-more a:hover,
body .dgwt-wcas-suggestion-more-products a:hover,
body .dgwt-wcas-st-more:hover{
  background:#24965a !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 10px 22px rgba(36,150,90,0.26) !important;
}

/* mobile */
@media (max-width:767px){

  body .dgwt-wcas-suggestion-more,
  body .dgwt-wcas-suggestion-more-products{
    padding:10px 14px 12px !important;
  }

  body .dgwt-wcas-suggestion-more a,
  body .dgwt-wcas-suggestion-more-products a,
  body .dgwt-wcas-st-more{
    width:auto !important;
    max-width:none !important;
    min-height:34px !important;
    height:34px !important;
    padding:0 14px !important;
    font-size:11px !important;
  }
}

body .dgwt-wcas-suggestions-wrapp a,
body .dgwt-wcas-suggestions-wrapp a *,
body .dgwt-wcas-suggestions-wrapp span{
  text-decoration:none !important;
  text-decoration-line:none !important;
}

/* =====================================
   OSTUPROTSESS — BOTTOM SPACING FIX
===================================== */

#ostuprotsess.section.process{
  padding-bottom:60px;
}

/* =====================================
   FORCE FAQ / TABS BOTTOM SPACING
   FINAL OVERRIDE
===================================== */

html body .vl24-tabs-section,
html body #order-faq.vl24-tabs-section{
  padding-bottom:60px !important;
  margin-bottom:0 !important;
}

html body .vl24-tabs-section > .container,
html body #order-faq.vl24-tabs-section > .container{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* Kui FAQ järel tuleb järgmine section ja suur vahe tuleb hoopis sealt */
html body .vl24-tabs-section + .section,
html body #order-faq.vl24-tabs-section + .section{
  padding-top:60px !important;
  margin-top:0 !important;
}

@media(max-width:768px){

  html body .vl24-tabs-section,
  html body #order-faq.vl24-tabs-section{
    padding-bottom:45px !important;
  }

  html body .vl24-tabs-section > .container,
  html body #order-faq.vl24-tabs-section > .container{
    padding-bottom:0 !important;
  }

  html body .vl24-tabs-section + .section,
  html body #order-faq.vl24-tabs-section + .section{
    padding-top:45px !important;
  }

}

/* =========================================================
   COOKIEYES CUSTOM STYLE - VL24 PREMIUM SOFT GREEN
   Replace previous CookieYes CSS with this
========================================================= */

/* Main banner */
.cky-consent-container .cky-consent-bar,
.cky-consent-bar{
  position: relative !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(110, 231, 166, 0.10), transparent 34%),
    linear-gradient(135deg, #10251c 0%, #123525 48%, #0b1d15 100%) !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  border-radius: 14px !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
  padding: 22px !important;
  color: #ffffff !important;
  overflow: hidden !important;
}

/* Subtle soft overlay */
.cky-consent-container .cky-consent-bar::before,
.cky-consent-bar::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.055) 48%,
    transparent 76%
  ) !important;
  opacity: 0.55 !important;
  pointer-events: none !important;
}

.cky-consent-bar > *,
.cky-consent-container .cky-consent-bar > *{
  position: relative !important;
  z-index: 2 !important;
}

/* Title */
.cky-title{
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 8px !important;
}

/* Text */
.cky-notice-des,
.cky-notice-des p,
.cky-notice-des *,
.cky-consent-bar p{
  color: rgba(255,255,255,0.80) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

/* Links - no gold */
.cky-notice-des a,
.cky-consent-bar a,
.cky-policy{
  color: #86efac !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.cky-notice-des a:hover,
.cky-consent-bar a:hover,
.cky-policy:hover{
  color: #bbf7d0 !important;
}

/* Button wrapper */
.cky-notice-btn-wrapper{
  gap: 10px !important;
}

/* All buttons */
.cky-btn{
  min-height: 44px !important;
  border-radius: 6px !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    color .18s ease !important;
  box-shadow: none !important;
}

/* Accept all button - softer, not neon */
.cky-btn-accept{
  background: linear-gradient(135deg, #24965a 0%, #1f7a49 52%, #17613a 100%) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(20,83,45,0.28) !important;
}

.cky-btn-accept:hover{
  background: linear-gradient(135deg, #2aa866 0%, #24965a 52%, #17613a 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 34px rgba(20,83,45,0.34) !important;
}

/* Reject button */
.cky-btn-reject{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #ffffff !important;
}

.cky-btn-reject:hover{
  background: rgba(255,255,255,0.11) !important;
  border-color: rgba(255,255,255,0.30) !important;
  transform: translateY(-1px) !important;
}

/* Customize / Preferences button - NO GOLD */
.cky-btn-customize,
.cky-btn-preferences{
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(134,239,172,0.28) !important;
  color: #d1fae5 !important;
}

.cky-btn-customize:hover,
.cky-btn-preferences:hover{
  background: rgba(134,239,172,0.10) !important;
  border-color: rgba(134,239,172,0.42) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* =========================================================
   PREFERENCE MODAL
========================================================= */

.cky-modal,
.cky-preference-center,
.cky-preference-center-wrapper .cky-modal{
  background:
    radial-gradient(circle at top right, rgba(110,231,166,0.08), transparent 34%),
    linear-gradient(135deg, #10251c 0%, #123525 52%, #0b1d15 100%) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  box-shadow: 0 28px 85px rgba(0,0,0,0.44) !important;
  color: #ffffff !important;
  overflow: hidden !important;
}

/* Modal header */
.cky-preference-header{
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.11) !important;
}

/* Modal title */
.cky-preference-title{
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
}

/* Modal text */
.cky-preference-content-wrapper,
.cky-preference-content-wrapper p,
.cky-accordion-header-des,
.cky-accordion-header-des p,
.cky-cookie-des-table,
.cky-cookie-des-table *,
.cky-preference-body-wrapper,
.cky-preference-body-wrapper p{
  color: rgba(255,255,255,0.78) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Show more link */
.cky-show-desc-btn,
.cky-show-desc-btn:hover{
  color: #86efac !important;
  font-weight: 800 !important;
}

/* Accordion boxes */
.cky-accordion-wrapper,
.cky-accordion{
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Accordion hover */
.cky-accordion:hover,
.cky-accordion-wrapper:hover{
  border-color: rgba(134,239,172,0.25) !important;
  background: rgba(255,255,255,0.075) !important;
}

/* Accordion title */
.cky-accordion-header .cky-accordion-btn,
.cky-accordion-btn{
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* Always active text - no bright poison green */
.cky-always-active{
  color: #86efac !important;
  font-weight: 800 !important;
}

/* Accordion arrows / icons */
.cky-accordion-chevron,
.cky-accordion-header button,
.cky-accordion-header button::before,
.cky-accordion-header button::after{
  color: rgba(255,255,255,0.78) !important;
}

/* Cookie table */
.cky-cookie-des-table{
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.10) !important;
}

.cky-cookie-des-table th{
  color: #ffffff !important;
  background: rgba(255,255,255,0.06) !important;
}

.cky-cookie-des-table td{
  color: rgba(255,255,255,0.76) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* Close button */
.cky-btn-close,
.cky-close{
  color: #ffffff !important;
  opacity: 0.72 !important;
}

.cky-btn-close:hover,
.cky-close:hover{
  opacity: 1 !important;
}

/* =========================================================
   TOGGLE SWITCHES - SOFT GREEN
========================================================= */

.cky-switch input:checked,
.cky-switch input:checked + .cky-slider,
.cky-switch input:checked ~ .cky-slider{
  background: #24965a !important;
}

.cky-switch .cky-slider{
  background: rgba(255,255,255,0.24) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

.cky-switch .cky-slider::before{
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.22) !important;
}

/* =========================================================
   MODAL FOOTER BUTTON AREA
========================================================= */

.cky-prefrence-btn-wrapper,
.cky-preference-btn-wrapper{
  border-top: 1px solid rgba(255,255,255,0.11) !important;
  background: rgba(2,6,23,0.16) !important;
}

/* Save preferences button - NO GOLD */
.cky-btn-save,
.cky-prefrence-btn-wrapper .cky-btn-save,
.cky-preference-btn-wrapper .cky-btn-save{
  background: linear-gradient(135deg, #24965a 0%, #1f7a49 52%, #17613a 100%) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(20,83,45,0.24) !important;
}

.cky-btn-save:hover,
.cky-prefrence-btn-wrapper .cky-btn-save:hover,
.cky-preference-btn-wrapper .cky-btn-save:hover{
  background: linear-gradient(135deg, #2aa866 0%, #24965a 52%, #17613a 100%) !important;
  transform: translateY(-1px) !important;
}

/* Force all footer secondary buttons to green/white style, not gold */
.cky-prefrence-btn-wrapper .cky-btn,
.cky-preference-btn-wrapper .cky-btn{
  border-radius: 6px !important;
}

.cky-prefrence-btn-wrapper .cky-btn:not(.cky-btn-save):not(.cky-btn-accept),
.cky-preference-btn-wrapper .cky-btn:not(.cky-btn-save):not(.cky-btn-accept){
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(134,239,172,0.28) !important;
  color: #d1fae5 !important;
}

.cky-prefrence-btn-wrapper .cky-btn:not(.cky-btn-save):not(.cky-btn-accept):hover,
.cky-preference-btn-wrapper .cky-btn:not(.cky-btn-save):not(.cky-btn-accept):hover{
  background: rgba(134,239,172,0.10) !important;
  border-color: rgba(134,239,172,0.42) !important;
  color: #ffffff !important;
}

/* =========================================================
   REVISIT COOKIE BUTTON
========================================================= */

.cky-revisit-bottom-left,
.cky-revisit-bottom-right,
.cky-btn-revisit-wrapper{
  background: linear-gradient(135deg, #123525 0%, #0b1d15 100%) !important;
  border: 1px solid rgba(134,239,172,0.28) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.28) !important;
}

.cky-revisit-bottom-left:hover,
.cky-revisit-bottom-right:hover,
.cky-btn-revisit-wrapper:hover{
  background: linear-gradient(135deg, #174b34 0%, #10251c 100%) !important;
  border-color: rgba(134,239,172,0.42) !important;
}

/* Revisit icon */
.cky-revisit-bottom-left svg,
.cky-revisit-bottom-right svg,
.cky-btn-revisit-wrapper svg{
  fill: #ffffff !important;
}

/* =========================================================
   SCROLLBAR INSIDE MODAL
========================================================= */

.cky-preference-body-wrapper::-webkit-scrollbar,
.cky-preference-content-wrapper::-webkit-scrollbar{
  width: 10px !important;
}

.cky-preference-body-wrapper::-webkit-scrollbar-track,
.cky-preference-content-wrapper::-webkit-scrollbar-track{
  background: rgba(255,255,255,0.06) !important;
}

.cky-preference-body-wrapper::-webkit-scrollbar-thumb,
.cky-preference-content-wrapper::-webkit-scrollbar-thumb{
  background: #24965a !important;
  border-radius: 999px !important;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px){

  .cky-consent-container{
    width: calc(100% - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  .cky-consent-container .cky-consent-bar,
  .cky-consent-bar{
    border-radius: 12px !important;
    padding: 18px !important;
  }

  .cky-title{
    font-size: 17px !important;
  }

  .cky-notice-des,
  .cky-notice-des p,
  .cky-notice-des *,
  .cky-consent-bar p{
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .cky-notice-btn-wrapper{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .cky-btn{
    width: 100% !important;
    min-height: 44px !important;
  }

  .cky-modal,
  .cky-preference-center{
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    border-radius: 12px !important;
  }

  .cky-preference-title{
    font-size: 18px !important;
  }

  .cky-preference-content-wrapper,
  .cky-preference-content-wrapper p,
  .cky-accordion-header-des,
  .cky-accordion-header-des p{
    font-size: 13px !important;
  }
}

/* =========================================================
   COOKIEYES - HIDE FLOATING REVISIT BUTTON
========================================================= */

.cky-revisit-bottom-left,
.cky-revisit-bottom-right,
.cky-btn-revisit-wrapper{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =========================================
FOOTER PRIVACY + COOKIE SETTINGS LINKS
========================================= */

.footer-legal-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.footer-legal-links a{
  display:inline-flex;
  align-items:center;
  color:inherit;
  text-decoration:none;
  opacity:.75;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  transition:opacity .18s ease, color .18s ease;
}

.footer-legal-links a:hover{
  opacity:1;
  color:#24965a;
  text-decoration:underline;
  text-underline-offset:3px;
}

.footer-legal-separator{
  opacity:.35;
  font-size:13px;
  line-height:1;
}

/* Mobile */
@media (max-width:767px){
  .footer-legal-links{
    justify-content:flex-start;
    gap:8px;
  }

  .footer-legal-links a{
    font-size:13px;
  }
}

/* =========================================================
   COOKIEYES TAB / ACCORDION CONTENT FIX
   Put this VERY LAST
========================================================= */

/* Accordion card spacing */
.cky-accordion,
.cky-accordion-wrapper{
  margin-bottom: 10px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Accordion header - more breathing room */
.cky-accordion-header{
  padding: 18px 24px !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Accordion title */
.cky-accordion-btn,
.cky-accordion-header .cky-accordion-btn{
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

/* Accordion description/content area */
.cky-accordion-body,
.cky-accordion-content,
.cky-accordion-header-des{
  padding: 0 28px 22px 28px !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Text inside opened tab */
.cky-accordion-header-des,
.cky-accordion-header-des p,
.cky-accordion-body,
.cky-accordion-body p,
.cky-accordion-content,
.cky-accordion-content p{
  color: rgba(255,255,255,0.78) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Open accordion background */
.cky-accordion.cky-accordion-active,
.cky-accordion.active,
.cky-accordion.open{
  background: rgba(255,255,255,0.065) !important;
  border-color: rgba(184,232,201,0.22) !important;
}

/* Necessary / Functional / Analytics card background */
.cky-accordion{
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}

/* Fix white cookie table / no cookies box */
.cky-cookie-des-table,
.cky-cookie-des-table *,
.cky-audit-table,
.cky-audit-table *,
.cky-cookie-des-table-wrapper,
.cky-audit-table-wrapper{
  color: rgba(255,255,255,0.78) !important;
}

/* The white "No cookies to display" box */
.cky-cookie-des-table-wrapper,
.cky-audit-table-wrapper,
.cky-cookie-audit-table,
.cky-audit-table,
.cky-cookie-des-table{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 8px !important;
}

/* If CookieYes outputs empty state text */
.cky-cookie-des-table-wrapper p,
.cky-audit-table-wrapper p,
.cky-cookie-audit-table p,
.cky-audit-table p,
.cky-cookie-des-table p{
  color: rgba(255,255,255,0.72) !important;
}

/* Stronger fix for "No cookies to display" white field */
.cky-empty-cookies-text,
.cky-cookie-des-table-empty,
.cky-audit-table-empty,
.cky-no-cookie{
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.72) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
}

/* Some CookieYes versions use div/table cells */
.cky-accordion-body div,
.cky-accordion-content div,
.cky-accordion-header-des div{
  color: rgba(255,255,255,0.78) !important;
}

/* Table cells */
.cky-cookie-des-table th,
.cky-cookie-des-table td,
.cky-audit-table th,
.cky-audit-table td{
  background: rgba(255,255,255,0.04) !important;
  color: rgba(255,255,255,0.78) !important;
  border-color: rgba(255,255,255,0.08) !important;
  padding: 12px 14px !important;
}

/* Table headings */
.cky-cookie-des-table th,
.cky-audit-table th{
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* Always active text */
.cky-always-active{
  color: #b8e8c9 !important;
  font-weight: 800 !important;
  padding-left: 12px !important;
}

/* Arrow icon spacing */
.cky-accordion-header .cky-accordion-btn::before,
.cky-accordion-header button::before,
.cky-accordion-chevron{
  margin-right: 10px !important;
  color: rgba(255,255,255,0.75) !important;
}

/* Body spacing inside modal */
.cky-preference-body-wrapper{
  padding: 22px 30px 120px 30px !important;
}

/* Top description spacing */
.cky-preference-content-wrapper{
  padding-bottom: 18px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}

/* Bottom fixed button bar */
.cky-prefrence-btn-wrapper,
.cky-preference-btn-wrapper{
  padding: 18px 30px !important;
  gap: 10px !important;
}

/* Mobile */
@media (max-width: 767px){

  .cky-accordion-header{
    padding: 16px 18px !important;
  }

  .cky-accordion-body,
  .cky-accordion-content,
  .cky-accordion-header-des{
    padding: 0 18px 18px 18px !important;
  }

  .cky-accordion-btn,
  .cky-accordion-header .cky-accordion-btn{
    font-size: 16px !important;
  }

  .cky-accordion-header-des,
  .cky-accordion-header-des p,
  .cky-accordion-body,
  .cky-accordion-body p,
  .cky-accordion-content,
  .cky-accordion-content p{
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .cky-preference-body-wrapper{
    padding: 18px 18px 130px 18px !important;
  }

  .cky-prefrence-btn-wrapper,
  .cky-preference-btn-wrapper{
    padding: 14px 18px !important;
  }
}

/* =========================================================
   COOKIEYES - HIDE ONLY EMPTY COOKIE LIST, NOT THE MODAL
========================================================= */

.cky-cookie-des-table-wrapper,
.cky-audit-table-wrapper,
.cky-cookie-des-table,
.cky-audit-table,
.cky-cookie-audit-table,
.cky-empty-cookies-text,
.cky-cookie-des-table-empty,
.cky-audit-table-empty,
.cky-no-cookie{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* =========================================================
   COOKIEYES - INNER CATEGORY CARDS SIDE SPACING
========================================================= */

/* Adds breathing room around inner category cards */
.cky-preference-body-wrapper .cky-accordion-wrapper,
.cky-preference-body-wrapper .cky-accordion{
  margin-left: 5px !important;
  margin-right: 5px !important;
  width: calc(100% - 10px) !important;
  box-sizing: border-box !important;
}

/* If CookieYes uses category wrappers */
.cky-preference-body-wrapper .cky-accordion-item,
.cky-preference-body-wrapper .cky-category-wrapper{
  margin-left: 5px !important;
  margin-right: 5px !important;
  width: calc(100% - 10px) !important;
  box-sizing: border-box !important;
}

/* Keep text/content aligned nicely inside cards */
.cky-accordion-header{
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.cky-accordion-body,
.cky-accordion-content,
.cky-accordion-header-des{
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Mobile */
@media (max-width: 767px){
  .cky-preference-body-wrapper .cky-accordion-wrapper,
  .cky-preference-body-wrapper .cky-accordion,
  .cky-preference-body-wrapper .cky-accordion-item,
  .cky-preference-body-wrapper .cky-category-wrapper{
    margin-left: 4px !important;
    margin-right: 4px !important;
    width: calc(100% - 8px) !important;
  }

  .cky-accordion-header{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .cky-accordion-body,
  .cky-accordion-content,
  .cky-accordion-header-des{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* =========================================================
   COOKIEYES - INNER CATEGORY CARDS TOP SPACING
========================================================= */

.cky-preference-body-wrapper .cky-accordion-wrapper:first-of-type,
.cky-preference-body-wrapper .cky-accordion:first-of-type,
.cky-preference-body-wrapper .cky-accordion-item:first-of-type,
.cky-preference-body-wrapper .cky-category-wrapper:first-of-type{
  margin-top: 5px !important;
}

/* If CookieYes wraps all accordion cards in one container */
.cky-preference-body-wrapper .cky-accordion-wrapper{
  padding-top: 5px !important;
  box-sizing: border-box !important;
}

/* =========================================
DESKTOP ONLY — BREADCRUMB WIDTH
Same max width as single product page
========================================= */

@media (min-width:1025px){

  .woocommerce-breadcrumb,
  .vl24-breadcrumb,
  .breadcrumbs,
  .breadcrumb,
  nav.woocommerce-breadcrumb{
    width:100% !important;
    max-width:1520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:20px !important;
    padding-right:28px !important;
    box-sizing:border-box !important;
  }

}

/* =========================================
DESKTOP ONLY — REAL SHOP / CATEGORY / ATTRIBUTE WIDTH FIX
Uses actual wrapper from woocommerce.php
Does not affect mobile/tablet or single product
========================================= */

@media (min-width:1025px){

  body:not(.single-product) .vl24-archive-container{
    width:100% !important;
    max-width:1520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:28px !important;
    padding-right:28px !important;
    box-sizing:border-box !important;
  }

  body:not(.single-product) .vl24-archive-container .vl24-products{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body:not(.single-product) .vl24-archive-container .vl24-sidebar{
    box-sizing:border-box !important;
  }

  body:not(.single-product) .vl24-archive-container .vl24-subcategories,
  body:not(.single-product) .vl24-archive-container ul.products{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

}

/* =========================================
PRODUCT CARD SALE BADGE — MATCH HEADER SALE BUTTON
========================================= */

.vl24-card-image-wrap{
  position:relative !important;
}

.vl24-sale-badge{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  z-index:999 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:31px !important;
  padding:7px 12px !important;

  background:linear-gradient(135deg, #ff7a18 0%, #ff4d1f 100%) !important;
  color:#ffffff !important;

  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:7px !important;

  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;

  box-shadow:
    0 10px 20px rgba(255,77,31,.26),
    inset 0 1px 0 rgba(255,255,255,.28) !important;

  text-shadow:0 1px 1px rgba(0,0,0,.12);
}

/* =========================================
SINGLE PRODUCT MAIN IMAGE SALE BADGE
========================================= */

.vl24-gallery-main .vl24-sale-badge--single{
  top:14px !important;
  left:14px !important;
  min-height:34px !important;
  padding:8px 14px !important;
  font-size:13px !important;
  border-radius:7px !important;
  z-index:20 !important;
}

/* =========================================
SALE PAGE — PREMIUM GREENHOUSE STYLE
========================================= */

.vl24-sale-page{
  width:100%;
  max-width:1520px;
  margin:0 auto;
  padding:18px 0 72px;
}

/* HERO */
.vl24-sale-hero{
  position:relative;
  overflow:hidden;

  padding:56px 42px;
  border-radius:10px;

  background:
    radial-gradient(circle at 88% 12%, rgba(255,122,24,.20), transparent 32%),
    radial-gradient(circle at 8% 0%, rgba(74,222,128,.20), transparent 34%),
    linear-gradient(135deg, #f6fff9 0%, #ffffff 48%, #fff7f0 100%);

  border:1px solid rgba(17,17,17,.08);

  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 18px 46px rgba(17,17,17,.06);
}

.vl24-sale-hero::before{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(36,150,90,.08);
  pointer-events:none;
}

.vl24-sale-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,0));
  pointer-events:none;
}

.vl24-sale-hero > *{
  position:relative;
  z-index:2;
}

.vl24-sale-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:31px;
  margin:0 0 16px;
  padding:7px 12px;

  border-radius:7px;

  background:linear-gradient(135deg, #ff7a18 0%, #ff4d1f 100%);
  color:#fff;

  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.045em;
  text-transform:uppercase;

  box-shadow:
    0 10px 22px rgba(255,77,31,.24),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.vl24-sale-hero h1{
  max-width:780px;
  margin:0 0 16px;

  font-size:clamp(2.1rem, 4vw, 4.35rem);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:800;

  color:#111;
}

.vl24-sale-lead{
  max-width:790px;
  margin:0;

  font-size:18px;
  line-height:1.72;
  font-weight:500;
  color:#374151;
}

/* BENEFIT CARDS */
.vl24-sale-benefits{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;

  margin-top:32px;
}

.vl24-sale-benefits > div{
  position:relative;

  padding:18px 18px 18px 20px;
  border-radius:8px;

  background:rgba(255,255,255,.82);
  border:1px solid rgba(17,17,17,.08);

  box-shadow:
    0 10px 24px rgba(17,17,17,.045),
    inset 0 1px 0 rgba(255,255,255,.8);

  font-size:14px;
  line-height:1.55;
  color:#6b7280;
}

.vl24-sale-benefits > div::before{
  content:"";
  position:absolute;
  top:18px;
  left:0;
  width:4px;
  height:34px;
  border-radius:0 999px 999px 0;
  background:var(--vl24-green);
}

.vl24-sale-benefits strong{
  display:block;
  margin:0 0 6px;

  font-size:15px;
  line-height:1.25;
  font-weight:800;
  color:#111;
}

/* SECTIONS */
.vl24-sale-products,
.vl24-sale-info{
  margin-top:54px;
}

.vl24-sale-section-head{
  max-width:820px;
  margin:0 0 26px;
}

.vl24-sale-section-head h2,
.vl24-sale-info h2{
  margin:0 0 10px;

  font-size:clamp(1.65rem, 2.4vw, 2.45rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:800;

  color:#111;
}

.vl24-sale-section-head{
  font-size:16px;
  line-height:1.7;
  color:#4b5563;
}

/* PRODUCTS AREA */
.vl24-sale-products{
  position:relative;
}

.vl24-sale-products .vl24-shortcode-products{
  margin-top:4px;
}

.vl24-sale-products .vl24-shortcode-view-all{
  display:none !important;
}

/* INFO BOX */
.vl24-sale-info{
  position:relative;
  overflow:hidden;

  padding:34px 36px;
  border-radius:10px;

  background:
    linear-gradient(135deg, #ffffff 0%, #f7fff9 100%);
  border:1px solid rgba(17,17,17,.08);

  box-shadow:
    0 14px 36px rgba(17,17,17,.045),
    inset 0 1px 0 rgba(255,255,255,.9);

  font-size:16px;
  line-height:1.78;
  color:#4b5563;
}

.vl24-sale-info::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:var(--vl24-green);
}

.vl24-sale-info h2{
  margin-bottom:14px;
}

.vl24-sale-info p,
.vl24-sale-info{
  color:#4b5563;
}

.vl24-sale-info strong{
  color:#111;
}

/* =========================================
SALE PAGE — MATCH SHOP/CATEGORY WIDTH
Overrides .vl24-content-container 1400px limit
========================================= */

@media (min-width:1025px){

  body.page .vl24-content-section:has(.vl24-sale-page){
    padding-top:28px !important;
    padding-bottom:0px !important;
  }

  body.page .vl24-content-container:has(.vl24-sale-page){
    width:100% !important;
    max-width:1520px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    padding-left:28px !important;
    padding-right:28px !important;

    box-sizing:border-box !important;
  }

  body.page .vl24-content-container:has(.vl24-sale-page) .vl24-sale-page{
    width:100% !important;
    max-width:none !important;

    margin-left:0 !important;
    margin-right:0 !important;

    padding-left:0 !important;
    padding-right:0 !important;

    box-sizing:border-box !important;
  }

  body.page .vl24-sale-hero,
  body.page .vl24-sale-products,
  body.page .vl24-sale-info{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

}

/* =========================================================
HOME HERO VIDEO — LIMIT ONLY ON VERY LARGE SCREENS
Video aligns with header inner content:
1520px container - 20px left - 20px right = 1480px
Does NOT affect normal desktop, tablet or mobile
========================================================= */

@media (min-width: 1800px){

  body.home .hero{
    background:#f4f4f4 !important;
  }

  body.home .hero-video,
  body.home .hero-poster{
    left:50% !important;
    right:auto !important;

    width:1480px !important;
    max-width:calc(100vw - 40px) !important;

    height:100% !important;
    min-height:100% !important;

    transform:translateX(-50%) !important;

    object-fit:cover !important;
    object-position:center center !important;
  }

  body.home .hero-poster{
    background-size:cover !important;
    background-position:center center !important;
  }

  body.home .hero-overlay{
    left:50% !important;
    right:auto !important;

    width:1480px !important;
    max-width:calc(100vw - 40px) !important;

    height:100% !important;

    transform:translateX(-50%) !important;
  }

  body.home .hero-inner{
    width:1480px !important;
    max-width:calc(100vw - 40px) !important;

    margin-left:auto !important;
    margin-right:auto !important;

    padding-left:0 !important;
    padding-right:0 !important;
  }

}

