/* ======================================================================
   VARIABLES
====================================================================== */
:root {
  --green-dark: #005f00;
  --green-mid: #239609;
  --green-light: #2a8c2a;
  --search-border-radius: 6px;
  --search-border-color: var(--green-mid);
  --search-height: 40px;
  --gradient-main: linear-gradient(
    to bottom,
    var(--green-dark),
    var(--green-mid)
  );
  --gradient-side: linear-gradient(
    to top,
    var(--green-dark),
    var(--green-light)
  );
}

/* ======================================================================
   GLOBAL / LAYOUT HELPERS
====================================================================== */
.section.full-width-section {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}

.b-style span {
  text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 10px;
}

.term-description {
  display: none;
}

/* ======================================================================
   HEADER
====================================================================== */
.header-top {
  background: var(--gradient-main);
}

.header-bottom {
  max-width: 1341px;
  margin: 0 auto;
  border-radius: 5px;
  background: linear-gradient(
    to right,
    var(--green-dark),
    var(--green-mid),
    var(--green-dark)
  );
}

.header-wrapper.stuck {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease;
}

.main-nav-bar {
  background: var(--gradient-main);
}

.absolute-footer {
  display: none;
}

.custom-footer {
  background: var(--gradient-side);
}

.top-divider {
  display: none;
}

.header-contact .icon-envelop {
  margin-left: 1px;
}

.mobile-nav .header-wishlist-icon {
  margin: 0;
}

/* Hide wide-nav when stuck (desktop) */
@media (min-width: 1024px) {
  .header .header-wrapper.stuck .header-bottom,
  .header .header-wrapper.stuck .header-bottom.wide-nav {
    display: none !important;
  }
}

/* ===============================
   AWS Search (Mobile Fix for Header Bottom)
=================================*/

/* 1. Force the Container (Standard) */
.header .aws-container {
  display: block;
  width: 100% !important;
}

.aws-search-result .aws_result_title {
	color: #239609 !important;
	font-size: 14px;
	font-weight: 600;
}

.aws-search-result .aws_search_more a{
	color: #239609 !important;
}

.header .aws-search-form {
  display: flex;
  align-items: stretch;
  margin: 0;
}

/* --- DESKTOP (Keep as is) --- */
@media (min-width: 1024px) {
  .header .aws-container {
    width: 450px !important;    
    max-width: 100% !important;
	  margin: 0 auto;
  }
  .header .aws-search-form {
    width: 100% !important;
  }
}

/* --- MOBILE (The Fix) --- */
@media (max-width: 1023.98px) {
  
  /* 1. Target the List Item (LI) holding the search */
  .header-bottom .nav > li.html {
      width: 100% !important;  /* Force it to fill the row */
      margin-left: 0 !important;  /* Remove 'xlarge' spacing */
      margin-right: 0 !important; /* Remove 'xlarge' spacing */
  }

  /* 2. Target the HTML container inside the LI */
  .header-bottom .nav > li.html .aws-container {
      width: 100% !important;
  }

  /* 3. Force the Form to stretch */
  .header .aws-search-form {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* --- GENERAL STYLING (Inputs/Buttons) --- */
.header .aws-search-form .aws-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  width: 100%;
}

.header .aws-search-label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.header .aws-search-field {
  box-sizing: border-box;
  height: var(--search-height, 42px);
  line-height: var(--search-height, 42px);
  width: 100%;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--search-border-color, #2e7d32);
  border-right: 0; 
  border-radius: 5px 0 0 5px !important;
  margin: 0;
  box-shadow: none;
  min-width: 0;
  font-size: 16px;
}

.header .aws-search-field:focus {
  outline: 0;
  box-shadow: inset 0 -2px 0 var(--green-mid, #2e7d32);
}

.header .aws-search-btn.aws-form-btn {
  box-sizing: border-box;
  height: var(--search-height, 42px);
  padding: 0 15px;
  margin: 0;
  background: var(--green-mid, #2e7d32) !important;
  color: #fff;
  border: 1px solid var(--green-mid, #2e7d32);
  border-left: 0;
  border-radius: 0 5px 5px 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.header .aws-search-btn .aws-search-btn_icon,
.header .aws-search-btn i,
.header .aws-search-btn svg {
  width: 20px;
  height: 20px;
  color: #fff;
  fill: currentColor;
}

.header .aws-loader {
  right: 50px;
  top: 10px;
}

/* ===============================
   FIX ЗА CHECKOUT СТРАНИЦАТА (GRID МЕТОД)
   Това оправя "отрязаната" търсачка само в хедъра
=================================*/

/* 1. Дефинираме решетка: Една колона за полето (1fr) и една фиксирана за бутона (auto) */
body.woocommerce-checkout .header .aws-search-form {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    column-gap: 0 !important; /* Гарантираме слепване */
    width: 100% !important;
    max-width: 450px !important;
    margin: 0 auto !important; /* Центриране, ако е нужно */
}

/* 2. "Магията": Караме обвивката на полето да изчезне структурно */
/* Така input-ът става директен съсед на бутона в решетката */
body.woocommerce-checkout .header .aws-search-form .aws-wrapper {
    display: contents !important;
}

/* 3. Стилове само за INPUT полето в ХЕДЪРА */
body.woocommerce-checkout .header .aws-search-field {
    grid-column: 1 !important; /* Застава в първата клетка */
    width: 100% !important;
    height: var(--search-height, 42px);
    line-height: var(--search-height, 42px);
    border-radius: 5px 0 0 5px !important;
    border-right: 0 !important;
    margin: 0 !important;
    min-width: 0 !important; /* Позволява свиване при много тесни екрани */
}


/* ======================================================================
   FREE SHIPPING (HEADER STRIP / INFO)
====================================================================== */
.free-shipping {
  display: flex;
  align-items: center;
  gap: 10px;
}

.free-shipping img {
  height: 58px;
  width: auto;
}

.shipping-title {
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  color: #000;
}

.shipping-subtitle {
  font-weight: 700;
  font-size: 11px;
  color: #000;
}

/* ======================================================================
   ANIMATIONS
====================================================================== */
.pulse-sync {
  animation: pulseScale 2.5s infinite ease-in-out;
  transform-origin: center;
}

@keyframes pulseScale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.06);
  }
  100% {
    transform: scale(1);
  }
}

.header-contact a[href^="tel"] {
  display: inline-flex;
  align-items: center;
}

.header-contact a[href^="tel"] .icon-phone {
  color: #ffffff;
  font-size: 28px;
  animation: pulseScale 2.5s infinite ease-in-out;
  transform-origin: center;
  padding-right: 5px;
}

.header-contact a[href^="tel"] span {
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  animation: pulseScale 2.5s infinite ease-in-out;
  transform-origin: center;
  padding-right: 5px;
}

.header-contact a[href^="mailto"] .icon-envelop {
  font-size: 16px;
  color: #ffffff;
}

.header-contact a[href^="mailto"] span {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  padding-left: 7px;
}

/* ======================================================================
   PRODUCT LIST / CARD STYLING (HOME + LOOPS)
====================================================================== */
/* Card area padding / container inside full-width section */
@media (min-width: 768px) {
  .section.full-width-section .row.custom-product-card.row-slider {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 21px;
    padding-right: 19px;
    box-sizing: border-box;
  }
}

.woocommerce-Price-amount.amount {
  font-size: 16px;
  font-weight: bold;
}

/* Regular (crossed-out) price */
.mega-menu-zadoma del .woocommerce-Price-amount.amount {
  color: #000 !important;
}

/* Optional: keep sale/ins price red */
.mega-menu-zadoma ins .woocommerce-Price-amount.amount {
  color: #e53935 !important;
}

.product-main .woocommerce-Price-amount {
  font-size: 18px;
}

.custom-product-card .product-small {
  border-radius: 5px;
  overflow: hidden;
}

.custom-product-card .product-small .box-text {
  background-color: #ffffff;
  padding: 10px;
  border-radius: 0 0 5px 5px;
}

.custom-product-card .product-small .quick-view {
  background-color: var(--green-mid);
  color: #fff;
  font-weight: bold;
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 0;
  transition: all 0.3s ease !important;
  opacity: 1 !important;
}

.custom-product-card .product-small:hover .quick-view {
  transform: translateY(0) scale(1.05);
  opacity: 1;
}

.custom-product-card .product-small .wishlist-button:hover {
  background-color: var(--green-mid) !important;
  border-color: var(--green-mid) !important;
  color: #fff !important;
}

.custom-product-card .product-small .box-image {
  padding-top: 20px;
  padding-bottom: 25px;
  background-color: #fff;
}

.custom-product-card .product-small .box-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; /* Make sure children like the button align center */
}

.custom-product-card .product-small .add_to_cart_button {
  width: 120px;
  height: 33px !important;
  padding: 0 !important;
  line-height: 33px !important;
  font-size: 14px;
  text-align: center;
  margin: 10px 0 0 0 !important;
  display: block !important;
}

@media (max-width: 767px) {
  .custom-product-card .product-small .add_to_cart_button {
    width: 110px;
  }
}

.custom-product-card .product-small {
  display: flex;
  flex-direction: column;
  height: auto; /* Let content decide height */
}

.custom-product-card .product-small .box-image {
  flex-shrink: 0;
}

.custom-product-card .product-small .box-text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 165px;
}

/* ======================================================================
   CUSTOM FONT SIZES (Category & Title)
====================================================================== */

/* 1. Category Styling */
.custom-product-card .product-small .box-text .category {
    font-size: 0.85em; /* Default is usually around 0.7em - this makes it bigger */
    font-weight: 600;  /* Makes it bold (standard is usually normal or 600) */
    color: #555;       
}

/* 2. Product Title Styling */
.custom-product-card .product-small .box-text .product-title,
.custom-product-card .product-small .box-text .name {
    font-size: 1.05em; /* Increases size slightly (1em is standard) */
    font-weight: 500;  /* Ensures it is nice and bold */
}

/* ======================================================================
   BANNERS & IMAGES
====================================================================== */
.banner-home-slider img,
.grid-side-banner img {
  border-radius: 5px;
}

.ONEMORE-SECTION-IMG img {
  border-radius: 5px;
}

/* ======================================================================
   INFO CARDS (HORIZONTAL)
====================================================================== */
.info-card-horizontal {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 12px 20px;
  border-radius: 5px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  transition: all 0.3s ease;
  gap: 15px;
}

.info-card-horizontal .icon-wrap {
  font-size: 30px;
  color: #e53935;
  flex-shrink: 0;
}

.info-card-horizontal .text-wrap .title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin-bottom: 4px;
  line-height: 1.2;
}

.info-card-horizontal .text-wrap .subtitle {
  font-size: 14px;
  color: #555;
  line-height: 1.2;
}

.info-card-horizontal:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.info-card-horizontal .icon-wrap img,
.home-icon-wrap img {
  height: 48px;
  width: auto;
  display: block;
}

.info-cards-row {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

/* ======================================================================
   WISHLIST
====================================================================== */
/* .wishlist-link .wishlist-icon {
  transition: all 0.3s ease;
}

.wishlist-link:hover .wishlist-icon {
  color: #e53935 !important;
  filter: drop-shadow(0 0 2px #e53935);
  transform: scale(1.2);
} */

/* ======================================================================
   INPUTS / FORMS
====================================================================== */
.woocommerce input,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container .select2-selection {
  border: 1px solid var(--green-mid);
  color: #000;
}

/* ======================================================================
   MOBILE (GENERAL SITE)
====================================================================== */
@media (max-width: 767px) {
  .header-main .flex-row {
    padding-left: 7px;
    padding-right: 13px;
  }

  .header-top .header-contact a[href^="mailto"] {
    display: none !important;
  }
  
  /* --- [UPDATED] MOBILE PRODUCT TITLE EXPANSION --- */
  .custom-product-card .product-small .box-text .product-title {
    display: block !important;       /* Allow full height */
    overflow: visible !important;    /* Show all text */
    text-overflow: clip !important;  /* Remove ellipsis */
    height: auto !important;         /* Grow automatically */
    min-height: 3em;
  }

  .custom-product-card .product-small {
    display: flex;
    flex-direction: column;
  }
  .custom-product-card .product-small .box-image {
    flex-shrink: 0;
  }

  .custom-product-card .product-small .box-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .header-bottom.wide-nav,
  .header-bottom.wide-nav .container,
  .header-wrapper {
    background-color: transparent !important;
    background: none !important;
    box-shadow: none !important;
  }

  .header-bottom.wide-nav::before,
  .header-bottom.wide-nav::after {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    display: none !important;
  }

  .page-wrapper {
    padding-top: 15px;
  }
  .first-banner-row > .col {
    padding-bottom: 10px !important;
  }
}

/* Extra small card price layout */
@media (max-width: 480px) {
  .custom-product-card .product-small .price {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    gap: 6px;
  }
  .custom-product-card .product-small .woocommerce-Price-amount {
    line-height: 1.2;
    display: block;
    text-align: center;
  }
}

/* Mini-cart subtotal font */
.widget_shopping_cart_content
  .product-subtotal
  .woocommerce-Price-amount.amount {
  font-size: 14px !important;
}

.product-summary .woocommerce-Price-currencySymbol {
  font-size: 1em;
  vertical-align: baseline;
}

/* ======================================================================
   LOGO SLIDER
====================================================================== */
.brand-logo-slider {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

.logo-frame {
  width: 150px;
  height: 150px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 10px;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
  position: relative;
}

.logo-frame img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  position: absolute;
  top: 0%;
}

@media (max-width: 767px) {
  .logo-frame {
    width: 100px;
    height: 100px;
  }
}

/* Home page paddings */
body.home .brand-section .col {
  padding-bottom: 0 !important;
}

body.home #content.content-area.page-wrapper {
  padding-bottom: 0 !important;
}

@media (max-width: 767px) {
  body.home #content.content-area.page-wrapper {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  body.home .row.row-main > .col:last-of-type {
    padding-bottom: 0 !important;
  }
}

/* ======================================================================
   EXTRA SECTIONS
====================================================================== */
.one-more-section {
  margin: 40px 0;
}

/* ======================================================================
   PRODUCT PAGE – EXTRA INFO (FAST ORDER, FREE SHIPPING BOX)
====================================================================== */
.product-extra-info .fast-order {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
  font-size: 16px;
}

.product-extra-info .fast-order-label {
  font-weight: 700;
  margin-right: 10px;
}

.product-extra-info .fast-order-phone {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 800;
  color: #239609;
}

.product-extra-info .fast-order-phone .icon-phone {
  color: #239609;
  font-size: 24px;
  margin-right: 6px;
}

.product-extra-info .phone-number {
  color: #239609;
  text-decoration: none;
}

.product-extra-info .phone-number:hover {
  text-decoration: underline;
}

.product-extra-info .free-shipping {
  display: inline-flex;
  border: 2px solid #239609;
  background: #edf9e9;
  padding: 8px 12px;
  border-radius: 5px;
  font-size: 16px;
  line-height: 1.5;
  width: fit-content;
  max-width: 100%;
}

.product-extra-info .free-shipping strong {
  color: #ff5722;
}

/* Product page – mobile tweaks */
@media (max-width: 430px) {
  .product-extra-info .fast-order {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 12px;
    font-size: 20px;
  }
  .product-extra-info .fast-order-label {
    margin-right: 7px;
  }
  .product-extra-info .fast-order-phone {
    font-size: 22px;
  }
  .product-extra-info .fast-order-phone .icon-phone {
    font-size: 24px;
  }
  .product-extra-info .free-shipping {
    width: 100%;
    font-size: 14px;
    padding: 10px;
  }
}

/* Product page – optional note visibility */
.product-extra-info .fast-order-note {
  display: none;
  font-size: 14px;
  color: #666;
  margin-left: 30px; /* indent under the phone for desktop-like spacing */
}

@media (max-width: 768px) {
  .product-extra-info .fast-order-note {
    display: block;
    margin-left: 5px; /* center under the number */
    margin-top: 4px;
    font-size: 13px;
    color: #555;
  }
}

/* ======================================================================
   PRICING TABLES (WDP & CUSTOM SIZES TABLE)
====================================================================== */
/* Hide WDP bulk pricing table ONLY in sticky rows */
.single-product .product-footer .wdp_bulk_table_content,
.single-product .ux-sticky-add-to-cart .wdp_bulk_table_content,
.single-product .sticky-add-to-cart .wdp_bulk_table_content,
.single-product .sticky-add-to-cart-content .wdp_bulk_table_content,
.single-product .is-sticky .wdp_bulk_table_content {
  display: none !important;
}

/* WDP on mobile: tighter fonts/padding */
@media (max-width: 420px) {
  .wdp_pricing_table td:last-child {
    font-size: 13px !important;
    white-space: normal !important;
    word-break: break-word;
  }
  .wdp_pricing_table td {
    padding: 6px 4px;
  }
}

@media (max-width: 360px) {
  .wdp_pricing_table td:last-child {
    font-size: 12px !important;
  }
}

/* Sizes table */
table.product-sizes-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  background: #fff;
  border: 1px solid #aaa;
}

table.product-sizes-table th,
table.product-sizes-table td {
  padding: 10px 12px;
  border: 1px solid #aaa;
  text-align: center;
}

table.product-sizes-table thead th {
  text-align: center;
  background: #eee;
  color: #222;
  font-weight: 700;
}

table.product-sizes-table tbody tr:nth-child(odd) {
  background: #fafafa;
}

/* price column like your pricing table */
table.product-sizes-table td:last-child {
  text-align: center;
  color: #e53935 !important;
  font-weight: 700;
}

/* Keep typography tight on small screens */
@media (max-width: 420px) {
  table.product-sizes-table td {
    padding: 6px 4px;
  }
  table.product-sizes-table td:last-child {
    font-size: 13px;
  }
}
@media (max-width: 360px) {
  table.product-sizes-table td:last-child {
    font-size: 12px;
  }
}

/* ======================================================================
   GIFT PLUGIN
====================================================================== */
.sticky-add-to-cart .wapf-wrapper {
  display: none !important;
}

/* ======================================================================
   MEGA MENU (CONTENT IN MEGA PANELS)
====================================================================== */
.menu-titles span {
  color: #ff5722;
}
.menu-titles b {
  opacity: 0.8 !important;
}

/* List inside mega menu blocks */
.mmz-list {
  list-style: none; /* remove dots */
  padding: 0;
  margin: 0;
}

.mmz-list li {
  margin: 6px 0; /* spacing between items */
}

.mmz-list a {
  display: flex; /* align text + icon */
  justify-content: space-between; /* push arrow to the right */
  align-items: center;
  text-decoration: none;
  color: #000; /* adjust as needed */
  font-size: 16px;
  transition: color 0.2s ease;
}

.mmz-list a:hover {
  color: #ff5722; /* hover color */
}

.mmz-list i {
  font-size: 12px; /* arrow size */
  color: inherit; /* arrow follows link color */
}

/* ======================================================================
   "ONE MORE" PRODUCT CARDS (HOME)
====================================================================== */
.section-title-container {
  margin-bottom: 0.5em;
}

.product-small .price-wrapper .price .price-onemore {
  color: #e53935;
  text-transform: uppercase;
  font-weight: bold;
}

.mfp-content .product-quick-view-container .omqf-quote-button {
  font-size: 1rem;
  padding: 0.7em 1.2em;
  min-height: 32px;
  line-height: 1;
}

.product-small .box-text .omqf-quote-button {
  margin-bottom: 0;
}

.mfp-content .product-quick-view-container .onemore-request {
  margin: 12px 0 6px;
}

body.home .custom-product-card a.added_to_cart.wc-forward {
  display: none !important;
}

/* Loop buttons (duplicate to keep scope with Woo area) */
.woocommerce .product-small a.add_to_cart_button,
.woocommerce .product-small a.product_type_variable,
.woocommerce .product-small a.product_type_grouped,
.woocommerce .product-small a.product_type_external {
  width: 120px;
  height: 33px !important;
  padding: 0 !important;
  line-height: 33px !important;
  font-size: 14px;
  text-align: center;
  margin: 10px auto 0 auto !important;
  display: block !important;
}

@media (max-width: 767px) {
  .woocommerce .product-small a.add_to_cart_button,
  .woocommerce .product-small a.product_type_variable,
  .woocommerce .product-small a.product_type_grouped,
  .woocommerce .product-small a.product_type_external {
    width: 110px;
  }
}

.woocommerce .product-small .box-text {
  background: #ffffff;
  padding: 10px;
  border-radius: 0 0 5px 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  min-height: 165px;
}

/* Quick view + wishlist hover (match home) */
.woocommerce .product-small .quick-view {
  background-color: var(--green-mid);
  color: #fff;
  font-weight: bold;
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 0;
  transition: all 0.3s ease !important;
  opacity: 1 !important;
}

.woocommerce .product-small:hover .quick-view {
  transform: translateY(0) scale(1.05);
}

.woocommerce .product-small .wishlist-button:hover {
  background-color: var(--green-mid) !important;
  border-color: var(--green-mid) !important;
  color: #fff !important;
}

/* ======================================================================
   MOBILE SIDEBAR MENU (OFF-CANVAS)
====================================================================== */
/* MAIN entries (items that have sub-menus) – text */
.mobile-sidebar .nav-sidebar li.menu-item-has-children > a {
  color: #005f00 !important;
  font-weight: 700;
}

/* Keep them green when expanded, focused or hovered */
.mobile-sidebar
  .nav-sidebar
  li.menu-item-has-children[aria-expanded="true"]
  > a,
.mobile-sidebar .nav-sidebar li.menu-item-has-children > a:hover,
.mobile-sidebar .nav-sidebar li.menu-item-has-children > a:focus {
  color: #005f00 !important;
}

/* The chevron/toggle next to those items */
.mobile-sidebar .nav-sidebar li.menu-item-has-children > .toggle,
.mobile-sidebar .nav-sidebar li.menu-item-has-children > .toggle i {
  color: #005f00 !important;
}

/* If a toggle uses an SVG icon in your build, color that too */
.mobile-sidebar .nav-sidebar li.menu-item-has-children > .toggle svg {
  fill: #005f00 !important;
  stroke: #005f00 !important;
}

/* 1) Top-level items */
.mobile-sidebar .nav-sidebar > li > a {
  color: #005f00 !important;
  font-weight: 700;
}

/* top-level items when a node is expanded (for safety) */
.mobile-sidebar .nav-sidebar > li[aria-expanded="true"] > a {
  color: #005f00 !important;
}

/* 2) Right chevrons on items that have children (top and sub levels) */
.mobile-sidebar .nav-sidebar li.menu-item-has-children > .toggle i,
.mobile-sidebar .nav-sidebar-ul li.menu-item-has-children > .toggle i {
  color: #005f00 !important;
}

/* 3) The header row that appears inside an opened panel (“back” row) */
.mobile-sidebar .nav-sidebar-ul .nav-slide-header > .toggle {
  color: #005f00 !important; /* text */
  font-weight: 700;
}
.mobile-sidebar .nav-sidebar-ul .nav-slide-header > .toggle i {
  color: #005f00 !important; /* left/back chevron */
}

/* Скрива всички етикети от Advanced Product Fields */
.wapf-field-label {
  display: none !important;
}

/* ==============================================
   BRANDS GRID PAGE STYLES
============================================== */

/* 1. Контейнерът */
.brands-grid-layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Центрира цялата група */
  gap: 20px; /* Разстояние между кутийките */
  width: 100%; /* Заема пълната ширина на content area */
  padding: 0;
}

/* 2. Самата кутийка (Рамката) */
.brands-grid-layout .logo-frame {
  /* Нулиране на старите стилове от слайдера */
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;

  /* Нови размери - по-големи */
  width: 220px !important; /* Беше 150px или 200px, сега е по-широко */
  height: 160px !important; /* Фиксирана височина за еднаквост */

  /* ЦЕНТРИРАНЕ НА СЪДЪРЖАНИЕТО (Магията) */
  display: flex !important;
  align-items: center !important; /* Вертикален център */
  justify-content: center !important; /* Хоризонтален център */

  border: 1px solid --green-dark !important; /* Много светла рамка */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.03) !important; /* Почти незабележима сянка */
  transition: all 0.3s ease !important; /* Плавност на движението */
  background: #fff;
  border-radius: 8px; /* Леко заобляне */
}

/* 3. Линкът вътре в кутийката */
.brands-grid-layout .logo-frame a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 10px !important; /* Малко въздух, за да не опира логото в края */
}

/* 4. Самата картинка (Логото) */
.brands-grid-layout .logo-frame img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important; /* Позволява на картинката да диша */
  height: auto !important;

  /* Премахване на абсолютното позициониране от стария код */
  position: static !important;
  margin: 0 auto !important;
  object-fit: contain; /* Гарантира, че логото няма да се отреже */
}

/* 5. Мобилна версия (по 2 на ред) */
@media (max-width: 480px) {
  .brands-grid-layout {
    gap: 10px;
  }
  .brands-grid-layout .logo-frame {
    width: 46% !important; /* Почти половината екран */
    height: 120px !important;
  }
}

/* НОВО: Ефект при посочване с мишката */
.brands-grid-layout .logo-frame:hover {
  transform: translateY(-5px); /* Повдига кутийката нагоре */
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1) !important; /* Сянката става дълбока */
  border-color: #239609 !important; /* (Опционално) Рамката става зелена */
}

.brands-grid-layout {
  margin-bottom: 0px !important; /* Оставете малко въздух до футъра */
}

/* ==============================================
   CUSTOM BOLD TITLE STYLE
============================================== */

/* 1. Текстът на заглавието */
.custom-bold-title .section-title-main {
  font-weight: 700 !important; /* Удебелен шрифт */
  text-transform: uppercase; /* Само главни букви */
  letter-spacing: 0.5px; /* Леко разстояние между буквите */
  color: #ff5722; /* Тъмен цвят на текста */
}

/* 2. Линиите отстрани */
.custom-bold-title b {
  height: 2px !important; /* Прави линията по-дебела (стандартно е 1px) */
  background-color: var(
    --green-dark
  ) !important; /* Тъмно сиво (вместо бледо сиво) */
  opacity: 0.8 !important; /* Плътност на цвета */
}

/* 3. Разстояние между текста и линиите */
.custom-bold-title span {
  padding: 0 15px;
}

/* ==============================================
   CATALOGUE PAGE STYLING (dFlip)
============================================== */

/* 1. The Flipbook Container */
._df_thumb {
  width: 100% !important;
  max-width: 300px !important;
  height: 420px !important; /* Taller for A4 proportion */
  margin: 0 auto 20px auto !important; /* 20px bottom margin prevents text overlap */

  /* Remove dFlip default backgrounds */
  background-color: transparent !important; /* Removes the white/grey box */
  background: transparent !important;
  border: none !important; /* Removes any default border */
  box-shadow: none !important; /* We will add our own shadow to the image only */

  /* Center the flipbook in the column */
  display: flex !important;
  justify-content: center;
  align-items: center;

  overflow: visible !important;
  padding: 10px !important; /* Give it space to move without getting cut off */
}

/* Target the actual image inside to apply the shadow nicely */
._df_thumb img {
  width: auto !important;
  height: 100% !important;
  object-fit: contain !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Shadow on the cover image only */
  border-radius: 4px;
  transition: transform 0.3s ease-out; /* Smooth movement */
  display: block;
}

/* Hover effect on the IMAGE, not the container */
._df_thumb:hover img {
  transform: translateY(-5px) scale(1.02); /* Slight lift and scale */
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); /* Deeper shadow */
}

/* Ensure main content takes up at least 60% of the viewport height */
#main {
  min-height: 60vh;
}
/* Or targeting the page wrapper specifically */
.page-wrapper {
  min-height: 60vh;
}

/* ==============================================
   ПО-ГОЛЕМИ КУТИИ ЗА ПАРТНЬОРИ (ЗА НАС)
============================================== */

/* 1. Контейнерът на решетката */
.custom-about-us-page .brands-grid-layout {
  gap: 20px !important; /* Повече разстояние между кутиите */
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  max-width: 1200px !important; /* Ограничаваме ширината, за да са центрирани */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2. Кутийката (Рамката) - ПО-ГОЛЯМА */
.custom-about-us-page .brands-grid-layout .logo-frame {
  width: 280px !important; /* По-широки */
  height: 200px !important; /* По-високи */

  border: 2px solid #e5e5e5 !important; /* Светла рамка */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important; /* Мека сянка */
  border-radius: 12px !important; /* По-заоблени ъгли */
  background: #fff;
  transition: all 0.3s ease !important;

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

/* 3. Ефект при посочване (Hover) - Повдигане */
.custom-about-us-page .brands-grid-layout .logo-frame:hover {
  transform: translateY(-8px) !important; /* По-силно повдигане */
  box-shadow: 0 15px 30px rgba(35, 150, 9, 0.15) !important; /* Зеленикава сянка */
  border-color: #239609 !important; /* Зелена рамка */
}

/* 4. Линкът вътре */
.custom-about-us-page .brands-grid-layout .logo-frame a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px !important; /* Повече отстояние от краищата */
}

/* 5. Самото Лого (Картинката) - ПО-ГОЛЯМО */
.custom-about-us-page .brands-grid-layout .logo-frame img {
  max-width: 100% !important; /* Позволяваме на логото да заеме почти цялата ширина */
  max-height: 90% !important; /* И височина */
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* 6. Мобилна версия (Адаптивност) */
@media (max-width: 767px) {
  .custom-about-us-page .brands-grid-layout .logo-frame {
    width: 100% !important; /* На мобилни да заемат цялата ширина */
    max-width: 320px !important; /* Но не прекалено огромни */
    height: 180px !important;
  }
}

.about-us-bold-title b {
  height: 2px !important; /* Прави линията по-дебела (стандартно е 1px) */
  background-color: var(
    --green-dark
  ) !important; /* Тъмно сиво (вместо бледо сиво) */
  opacity: 0.8 !important; /* Плътност на цвета */
}

/* 1. Style the Search Dropdowns (Green Border #239609) */
/* This targets the 'multiselect__tags' div, which is the visual box you see */
.woo-bg--speedy-delivery .multiselect__tags {
    border: 1px solid #239609 !important;
    background-color: #ffffff !important; 
}

/* 2. Style the "Office Locator" Link (Red Alert #e53935) */
/* Targeted by its specific ID found in your HTML */
#woo-bg--speedy-office-locator {
    color: #e53935 !important;
    font-weight: bold;
    text-decoration: none;
    
    /* Make it look like a button/alert so it's obvious */
    border: 1px solid #e53935;
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    margin-top: 8px;
    transition: all 0.3s ease;
}

/* Hover effect for the locator */
#woo-bg--speedy-office-locator:hover {
    background-color: #e53935;
    color: #ffffff !important; /* Text turns white on hover */
}

/* ===============================
   TAG CLOUD HOVER FIX (OUTLINE STYLE)
   Премахва плътния фон, оставя само рамка и текст
=================================*/

.tagcloud a:hover {
    background-color: transparent !important; /* Премахва плътния фон */
    color: #ff5722 !important;  /* Оцветява ТЕКСТА в оранжево */
    border-color: #ff5722 !important; /* Оцветява РАМКАТА в оранжево */
}

/* ===============================
   CHECKOUT REVIEW TABLE PRICES
=================================*/

/* Make all prices in the "Your Order" table Red */
.woocommerce-checkout-review-order-table .amount {
    color: #e53935 !important;
    font-weight: 700 !important; /* Bold them to make them stand out */
}

/* ===============================
   CUSTOM FREE SHIPPING BAR FIX
   Styles the renamed bar to look like the native one
=================================*/

/* 1. Map the container styles */
.gala-free-shipping {
    text-align: center;
    font-size: 90%;
    margin-bottom: 1em;
}

/* 2. Style the Notice Text */
.gala-free-shipping .ux-free-shipping__notice {
    margin-bottom: 0.5em;
}
.gala-free-shipping .ux-free-shipping__notice--success {
    color: var(--green-mid); /* Or your success color */
    font-weight: bold;
}

/* 3. Style the Bar Container */
.gala-free-shipping .ux-free-shipping__bar {
    height: 10px;
    background-color: #f1f1f1; /* Light grey background */
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

/* 4. Style the Progress Fill (Green Stripe) */
.gala-free-shipping .ux-free-shipping__bar-progress {
    display: block;
    height: 100%;
    background-color: var(--green-mid); /* Your Green Brand Color */
    border-radius: 10px;
    transition: width 0.5s ease;
    
    /* The "Striped" Animation Effect */
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-size: 1rem 1rem;
    animation: progress-bar-stripes 1s linear infinite;
}

/* Define the animation if Flatsome doesn't load it globally */
@keyframes progress-bar-stripes {
    0% { background-position: 1rem 0; }
    100% { background-position: 0 0; }
}

/* ======================================================================
   STOP LAYOUT SHIFT (FORCE SCROLLBAR)
   Keeps the scrollbar visible so the Sticky Header never jumps.
====================================================================== */

html {
    overflow-y: scroll !important;
    width: 100% !important;
}

/* Override Flatsome/Magnific Popup trying to hide it */
body.lightbox-open, 
html.mfp-helper {
    overflow-y: scroll !important;
    padding-right: 0 !important; /* Stop the plugin from adding fake padding */
}

/* Ensure the sticky header ignores the popup state */
body.lightbox-open .header-wrapper.stuck {
    width: 100% !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* ======================================================================
   GLOBAL FIX FOR PRODUCT CARD TEXT (Home + Shop Page) - EXPANDED VERSION
====================================================================== */

/* 1. Category: Allow text to wrap to a new line */
.product-small .box-text .category {
  white-space: normal !important; /* Changed from nowrap to normal */
  overflow: visible !important;   /* Changed from hidden to visible */
  text-overflow: clip !important; /* Remove the "..." */
  width: 100%;
  display: block;
  margin-bottom: 5px;
  height: auto !important;        /* Allow height to grow */
}

/* 2. Title: Show full title, expanding the card height */
.product-small .box-text .product-title,
.product-small .box-text .name {
  display: block !important;           /* Changed from -webkit-box */
  -webkit-line-clamp: unset !important; /* Remove the line limit */
  overflow: visible !important;
  text-overflow: clip !important;
  
  /* Reset height to let it grow */
  line-height: 1.3 !important;
  height: auto !important;             /* Changed from 2.6em fixed height */
  min-height: 2.6em;                   /* Optional: keeps minimum 2 lines look */
  
  margin-bottom: 10px;
}

/* 3. Safety wrapper */
.custom-product-card .product-small .box-text .title-wrapper {
  width: 100%;
  overflow: visible !important; /* Let content show */
  height: auto !important;
}

/* ======================================================================
   CUSTOM PRODUCT BUBBLE / BADGE STYLING - EXTRA LARGE
====================================================================== */

/* 1. Reset the wrapper to remove the default circle shape */
.badge-container .badge,
.badge-container .badge-circle {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
}

/* 2. Style the inner text box (The actual visible badge) */
.badge-container .badge-inner {
    background-color: #239609; /* Default Green Background */
    color: #ffffff !important;
    
    font-family: "Poppins", sans-serif; 
    font-size: 14px !important;    /* INCREASED from 11px */
    font-weight: 700 !important;   /* Extra Bold */
    text-transform: uppercase;
    letter-spacing: 0.6px;
    
    padding: 8px 14px !important;  /* INCREASED padding for a larger box */
    border-radius: 5px;            /* Slightly more rounded corners */
    
    line-height: 1;                /* Keeps the text centered vertically */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Stronger shadow for pop */
}

/* 3. Position Adjustment */
.product-small .badge-container {
    top: 5px !important;  /* Moved further down to account for size */
    left: 5px !important; /* Moved further in */
}

/* 4. SPECIFIC COLORS based on badge type */

/* "Sale" Badge -> RED */
.badge-container .is-onsale .badge-inner {
    background-color: #e53935 !important; 
}

/* Custom Bubbles (The text you type manually) -> GREEN */
.badge-container .badge-circle-inner {
     background-color: #239609 !important; 
}

/* ======================================================================
   CUSTOM LOGIN NOTICE - FINAL FIX
====================================================================== */

/* 1. THE WRAPPER (Handles Positioning) */
.login-notice-wrapper {
    width: 100%;
	padding-bottom: 20px;
    display: flex;
    justify-content: center; /* Perfectly centers the box horizontally */
}

/* 2. THE BOX (Handles the Look) */
.custom-login-notice {
    /* Dimensions */
    width: 100%;              /* Responsive width */
    
    /* Layout */
    display: flex;
    align-items: center;
    gap: 15px;
    
    /* Colors */
    background: #edf9e9;
    border: 2px solid #239609;
    border-radius: 5px;
    
    /* Text */
    padding: 12px 20px;
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    text-align: left;        /* Keep text readable */
}

/* Bold Text -> Orange */
.custom-login-notice .notice-content {
    color: #ff5722; 
    font-weight: 500;
}

/* Icon -> Green */
.custom-login-notice .notice-icon svg {
    display: block;
    width: 26px;
    height: 26px;
    stroke: #239609; 
    flex-shrink: 0; /* Prevents icon from squishing */
}

/* Mobile Tweaks */
@media (max-width: 550px) {
    .custom-login-notice {
        font-size: 16px;
        padding: 12px 15px;
        align-items: flex-start; /* Align to top on small screens */
    }
    .custom-login-notice .notice-icon i {
        font-size: 18px;
        margin-top: 2px;
    }
}

/* Fix the Марка: being joined together */
.product_meta .posted_in a:before {
    content: "\00a0" !important; 
}

/* --- ЛОГИКА ЗА CROSS-SELLS --- */

/* 1. НА ДЕСКТОП (Екрани над 850px) */
@media (min-width: 850px) {
    /* Скрий новата секция най-долу */
    .mobile-cross-sells-only {
        display: none !important;
    }
    /* (Оригиналните вдясно си остават видими автоматично) */
}

/* 2. НА МОБИЛЕН (Екрани под 850px) */
@media (max-width: 849px) {
    /* Скрий ОРИГИНАЛНИТЕ cross-sells (тези, които избутваха бутона) */
    .cart-wrapper .cross-sells {
        display: none !important;
    }
    
    /* Покажи НОВИТЕ най-долу и ги оформи */
    .mobile-cross-sells-only {
        display: block !important;
        margin-top: 30px;
        border-top: 2px solid #f1f1f1;
        padding-top: 20px;
    }
}

/* Скриване на автоматичното поле за адрес (лявото), защото е read-only */
#billing_address_1_field {
    display: none !important;
}

/* Опционално: Ако искаш да скриеш и етикета му, ако остане да виси */
label[for="billing_address_1"] {
    display: none !important;
}

/* Финална корекция за Cloudflare на мобилни устройства */
@media only screen and (max-width: 480px) {
    /* Насочваме се конкретно към формата за коментари */
    .comment-form .cf-turnstile {
        /* 1. Смаляваме го твърдо, за да се събере и в най-тесния телефон */
        transform: scale(0.8) !important; 
        
        /* 2. Залепваме го за левия ръб (0 0), за да е подравнено с полето над него */
        transform-origin: 0 0 !important;
        
        
        /* 4. Прибираме дупката отдолу, която остава след смаляването */
        margin-bottom: -15px !important;
        
        /* 5. Подсигуряване да се държи като блок */
        display: block !important;
        max-width: 100% !important;
    }
    
    /* Допълнителна застраховка за iframe-а вътре */
    .comment-form .cf-turnstile iframe {
        max-width: 100% !important;
    }
}

@media (max-width: 849px) {
  /* 1. Скриваме оригиналния надпис "Филтър" */
  .single-product .filter-button strong {
    display: none !important;
  }

  /* 2. Добавяме новия текст чрез псевдо-елемент */
  .single-product .filter-button:after {
    content: "Последно разгледани"; 
    font-weight: bold;
    text-transform: uppercase;
    margin-left: 5px;
    font-size: 0.9em; /* Настройка на размера */
  }
}

/* ОПТИМИЗАЦИИ ЗА СЛАЙДЕРИ */
.flickity-viewport, 
.row-slider .col,
.product-small {
    /* Казва на браузъра: "Това ще се движи, подготви се!" */
    will-change: transform; 
    /* Хардуерно ускорение */
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    perspective: 1000px;
}

/* ПОДОБРЕНА ОПТИМИЗАЦИЯ (Fix за неактивни линкове) */

/* 1. За самия прозорец на слайдера (остава pan-y, за да не се бърка скрола) */
.flickity-viewport {
    touch-action: pan-y;
}

/* 2. ВАЖНОТО: За самите продукти и линковете вътре */
.custom-product-card .product-small,
.product-small a,
.product-small .box-image,
.product-small .box-text {
    /* 'manipulation' казва: "Не чакай за двоен клик, реагирай веднага!" */
    /* Това оправя проблема с "мъртвите" линкове */
    touch-action: manipulation !important; 
    
    /* Застраховка, че нищо не блокира клика */
    pointer-events: auto !important; 
}

.product-small {
    /* Казва: "Нищо извън тази кутия не влияе на размера ѝ" */
    contain: layout style; 
}

/* minqty */
.message-container{
	color: #e53935;
	font-weight: 700;
}

.stars a::after{
	color: #239069;
}

/* ======================================================================
   FIX: PRODUCT CARD INTERNAL SPACING 
====================================================================== */

/* 1. Stop flexbox from distributing empty space between every single element */
.woocommerce .product-small .box-text,
.custom-product-card .product-small .box-text {
    justify-content: flex-start !important; 
}

/* 2. Keep Category & Title together by adding a little natural space below the title */
.custom-product-card .product-small .box-text .product-title,
.custom-product-card .product-small .box-text .name {
    margin-bottom: 15px !important;
}

/* 3. Push all the empty space ABOVE the star ratings so bottom items stick together */
.custom-product-card .product-small .box-text .star-rating {
    margin-top: auto !important; 
    margin-bottom: 5px !important; /* Small gap before the price */
}

/* 4. Fallback: If a product doesn't have stars enabled, push the price down instead */
.custom-product-card .product-small .box-text .price-wrapper,
.custom-product-card .product-small .box-text .price {
    margin-top: auto; 
}

/* 5. Prevent conflict: If stars ARE present, reset the price margin so it doesn't double-push */
.custom-product-card .product-small .box-text .star-rating ~ .price-wrapper,
.custom-product-card .product-small .box-text .star-rating ~ .price {
    margin-top: 0 !important;
}

