/* ==================================================
   ASIA CENTER FOOD – CUSTOM CSS
   Header, top bar, search, menu helper
================================================== */

/* ---------- TOP BAR ---------- */

.top-navigation-bar {
    background: #4E5A35 !important;
    border-bottom: 0 !important;
    min-height: 44px;
}

.top-navigation-bar .container {
    min-height: 44px;
    display: flex;
    align-items: center;
}

.top-navigation-bar,
.top-navigation-bar a,
.top-navigation-bar span,
.top-navigation-bar strong {
    color: #F8F3E9 !important;
}

.top-navigation-bar a {
    font-weight: 400;
    text-decoration: none;
}

.top-navigation-bar a:hover {
    color: #D7D0BD !important;
}

.top-navigation-contacts strong {
    display: none;
}

.top-navigation-menu {
    margin-left: auto;
}

.top-navigation-bar-menu {
    display: flex;
    align-items: center;
    gap: 24px;
}

.top-navigation-bar-menu li {
    margin: 0 !important;
}

.top-navigation-bar-menu li:after {
    display: none !important;
}

.top-navigation-tools {
    margin-left: 24px;
}


/* ---------- HEADER ---------- */

#header {
    background: linear-gradient(
        180deg,
        #F4EBDA 0%,
        #F7F1E7 58%,
        #FFFFFF 100%
    ) !important;

    border-bottom: 0 !important;
    box-shadow: none !important;
    position: relative;
    overflow: visible !important;
}

#header .header-top {
    padding-top: 28px !important;
    padding-bottom: 24px !important;
}

body,
#content-wrapper,
.content-wrapper,
.content-wrapper-in,
#content {
    background: #FFFFFF !important;
}


/* ---------- MENU HELPER / VIAC ---------- */

.menu-helper {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.menu-helper > span {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #1F1F1F !important;
    font-weight: 700;
    border-radius: 0 !important;
}

.menu-helper:hover,
.menu-helper:hover > span,
.menu-helper.exp,
.menu-helper.exp > span,
.menu-helper.active,
.menu-helper.active > span,
.menu-helper a:hover,
.menu-helper span:hover {
    background: transparent !important;
    color: #1F1F1F !important;
    border-radius: 0 !important;
}

.menu-helper ul,
.menu-helper .menu-level-1,
.menu-helper .menu-level-2 {
    background: #FFFFFF !important;
    border: 1px solid rgba(227, 216, 196, 0.9) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(62, 49, 40, 0.14) !important;
}

.menu-helper ul li a,
.menu-helper .menu-level-1 li a,
.menu-helper .menu-level-2 li a {
    background: transparent !important;
    color: #1F1F1F !important;
}


/* ---------- SEARCH BAR ---------- */

#header .search {
    max-width: 620px;
    width: 100%;
}

#header .search form,
#header .search fieldset {
    width: 100%;
}

#header .search fieldset {
    display: flex;
    align-items: center;
    height: 54px;
    background: #FFFFFF;
    border: 1px solid #E3D8C4 !important;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(62, 49, 40, 0.06);
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
}

#header .search input[type="search"],
#header .search .search-input {
    height: 54px !important;
    flex: 1 1 auto;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 18px !important;
    color: #3E3128 !important;
    font-size: 15px;
    line-height: 54px;
}

#header .search input[type="search"]::placeholder,
#header .search .search-input::placeholder {
    color: #8E8B86;
}

#header .search button,
#header .search .btn {
    position: relative !important;
    width: 64px;
    min-width: 64px;
    height: 54px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 14px 14px 0 !important;
    color: #A85A3A !important;
    font-size: 0 !important;
    padding: 0 !important;
}

#header .search button::before,
#header .search .btn::before {
    content: "" !important;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    transform: translate(-50%, -50%);
    background-color: #A85A3A;

    -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8 18.1C6.8 18.1 3.5 14.8 3.5 10.8C3.5 6.8 6.8 3.5 10.8 3.5C14.8 3.5 18.1 6.8 18.1 10.8C18.1 12.6 17.4 14.3 16.3 15.6L21 20.3L20.3 21L15.6 16.3C14.3 17.4 12.6 18.1 10.8 18.1ZM10.8 16.9C14.2 16.9 16.9 14.2 16.9 10.8C16.9 7.4 14.2 4.7 10.8 4.7C7.4 4.7 4.7 7.4 4.7 10.8C4.7 14.2 7.4 16.9 10.8 16.9Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8 18.1C6.8 18.1 3.5 14.8 3.5 10.8C3.5 6.8 6.8 3.5 10.8 3.5C14.8 3.5 18.1 6.8 18.1 10.8C18.1 12.6 17.4 14.3 16.3 15.6L21 20.3L20.3 21L15.6 16.3C14.3 17.4 12.6 18.1 10.8 18.1ZM10.8 16.9C14.2 16.9 16.9 14.2 16.9 10.8C16.9 7.4 14.2 4.7 10.8 4.7C7.4 4.7 4.7 7.4 4.7 10.8C4.7 14.2 7.4 16.9 10.8 16.9Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

#header .search button:hover,
#header .search .btn:hover {
    background: transparent !important;
}

#header .search button:hover::before,
#header .search .btn:hover::before {
    background-color: #8C3F2B;
}

#header .search fieldset:focus-within {
    border-color: #C9A36A !important;
    box-shadow:
        0 0 0 3px rgba(201, 163, 106, 0.18),
        0 8px 22px rgba(62, 49, 40, 0.07);
}


/* ---------- MOBILE HEADER ---------- */

@media (max-width: 767px) {
    .top-navigation-bar {
        min-height: 40px;
    }

    .top-navigation-bar .container {
        min-height: 40px;
    }

    .top-navigation-menu {
        display: none;
    }

    #header .header-top {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    #header .search {
        max-width: none;
        width: 100%;
    }

    #header .search fieldset {
        height: 50px;
        border-radius: 10px;
    }

    #header .search input[type="search"],
    #header .search .search-input {
        height: 50px !important;
        line-height: 50px;
        font-size: 14px;
    }

    #header .search button,
    #header .search .btn {
        width: 56px;
        min-width: 56px;
        height: 50px !important;
    }

    #header .search button::before,
    #header .search .btn::before {
        width: 20px;
        height: 20px;
    }
}

/* ACF – benefit boxy: ikona nad textom */

.benefitBanner__item,
.benefitBannerItem,
.benefit-banner,
.benefitBanners__item {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 12px !important;
}

.benefitBanner__item img,
.benefitBannerItem img,
.benefit-banner img,
.benefitBanners__item img,
.benefitBanner picture img,
.benefit-banners img {
  width: 86px !important;
  height: 86px !important;
  max-width: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  margin: 0 auto 8px !important;
  display: block !important;
}

.benefitBanner__item span,
.benefitBannerItem span,
.benefit-banner span,
.benefitBanners__item span {
  display: block !important;
  text-align: center !important;
}

.benefitBanner__item strong,
.benefitBannerItem strong,
.benefit-banner strong,
.benefitBanners__item strong {
  display: block !important;
  margin-top: 4px;
  margin-bottom: 4px;
  text-align: center !important;
}

/* mobil */
@media (max-width: 767px) {
  .benefitBanner__item img,
  .benefitBannerItem img,
  .benefit-banner img,
  .benefitBanners__item img,
  .benefitBanner picture img,
  .benefit-banners img {
    width: 68px !important;
    height: 68px !important;
    max-width: 68px !important;
    max-height: 68px !important;
  }
}
/* ==================================================
   ACF CATEGORY BLOCK – 60 / 40 layout
   HTML stays unchanged. H1 is not affected.
================================================== */

.acf-category-block {
  width: 100%;
  color: #222;
  line-height: 1.6;
  font-size: 15px;
  text-align: left;
}

.acf-category-block *,
.acf-category-block *::before,
.acf-category-block *::after {
  box-sizing: border-box;
}

.acf-category-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%) !important;
  gap: 40px !important;
  align-items: center !important;
  width: 100%;
  margin-bottom: 24px;
}

.acf-category-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.acf-category-text p {
  margin: 0 0 14px;
  line-height: 1.7;
  color: #333;
}

.acf-category-text p:last-child {
  margin-bottom: 0;
}

.acf-category-image {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 260px;
}

.acf-category-image img {
  display: block;
  max-width: 100%;
  max-height: 360px;
  width: auto;
  height: auto;
  object-fit: contain;
}

@media (max-width: 768px) {
  .acf-category-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .acf-category-image {
    min-height: auto;
  }
}
/* ==================================================
   ACF CONTACT PAGE – APOLLO
================================================== */

/* základ stránky */
body.type-page .content-inner,
body.type-page #content {
  background: #ffffff;
}

/* kontaktný formulár – šírka a vzhľad */
.contact-form,
#formContact,
form[action*="contact"] {
  max-width: 760px;
}

/* nadpis Kontakt / Napíšte nám */
body.type-page h1 {
  color: #1F1F1F;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.05;
  margin-bottom: 24px;
}

/* úvodný text */
body.type-page h1 + p,
.contact-form + p,
.contact-form p {
  color: #3E3128;
}

/* inputy a textarea */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
#formContact input[type="text"],
#formContact input[type="email"],
#formContact textarea,
form[action*="contact"] input[type="text"],
form[action*="contact"] input[type="email"],
form[action*="contact"] textarea {
  border: 1px solid #E3D8C4 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #3E3128 !important;
  font-size: 15px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
#formContact input[type="text"],
#formContact input[type="email"],
form[action*="contact"] input[type="text"],
form[action*="contact"] input[type="email"] {
  min-height: 58px;
}

.contact-form textarea,
#formContact textarea,
form[action*="contact"] textarea {
  min-height: 250px;
}

/* focus stav */
.contact-form input:focus,
.contact-form textarea:focus,
#formContact input:focus,
#formContact textarea:focus,
form[action*="contact"] input:focus,
form[action*="contact"] textarea:focus {
  border-color: #C9A36A !important;
  box-shadow: 0 0 0 3px rgba(201, 163, 106, 0.18) !important;
  outline: none !important;
}

/* labely */
.contact-form label,
#formContact label,
form[action*="contact"] label {
  color: #1F1F1F;
  font-weight: 700;
  letter-spacing: .02em;
}

/* tlačidlo odoslať */
.contact-form .btn,
.contact-form button[type="submit"],
#formContact .btn,
#formContact button[type="submit"],
form[action*="contact"] .btn,
form[action*="contact"] button[type="submit"] {
  min-width: 220px;
  min-height: 56px;
  border-radius: 999px !important;
  background: #A85A3A !important;
  border: 0 !important;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(168, 90, 58, 0.24);
}

.contact-form .btn:hover,
.contact-form button[type="submit"]:hover,
#formContact .btn:hover,
#formContact button[type="submit"]:hover,
form[action*="contact"] .btn:hover,
form[action*="contact"] button[type="submit"]:hover {
  background: #8C3F2B !important;
}

/* pravá kontaktná karta */
.acf-contact-card {
  margin-top: 34px;
  max-width: 520px;
}

.acf-contact-card-inner {
  position: relative;
  padding: 42px 40px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 253, 248, 0.92),
      rgba(248, 243, 233, 0.88)
    );
  border: 1px solid #E3D8C4;
  border-radius: 20px;
  box-shadow:
    0 18px 42px rgba(62, 49, 40, 0.10),
    0 4px 12px rgba(62, 49, 40, 0.05);
  overflow: hidden;
}

.acf-contact-card-inner:after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(111, 122, 76, .13), transparent 66%);
  pointer-events: none;
}

.acf-contact-label {
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #6F7A4C;
  font-weight: 700;
}

.acf-contact-card h2 {
  margin: 0 0 16px;
  font-family: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;
  font-size: 42px;
  line-height: 1.05;
  color: #3E3128;
}

.acf-contact-intro {
  margin: 0 0 26px;
  color: #5A5048;
  font-size: 15px;
  line-height: 1.7;
}

.acf-contact-list {
  display: grid;
  gap: 18px;
  margin-bottom: 28px;
}

.acf-contact-item {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
}

.acf-contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #F8F3E9;
  color: #A85A3A;
  font-size: 20px;
}

.acf-contact-item strong {
  display: block;
  margin-bottom: 3px;
  color: #3E3128;
  font-weight: 700;
}

.acf-contact-item span {
  display: block;
  color: #6E6256;
  line-height: 1.45;
}

.acf-contact-map {
  margin-top: 22px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #E3D8C4;
  background: #F8F3E9;
}

.acf-contact-map iframe {
  display: block;
  width: 100%;
}

.acf-contact-map-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 16px;
  padding: 0 24px;
  border-radius: 999px;
  background: #6F7A4C;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(78, 90, 53, .18);
}

.acf-contact-map-btn:hover {
  background: #4E5A35;
}

/* desktop layout – ak je karta vložená do stránky pred/za formulár */
@media (min-width: 992px) {
  .contact-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 520px;
    gap: 72px;
    align-items: start;
  }
}

/* mobile */
@media (max-width: 767px) {
  body.type-page h1 {
    font-size: 38px;
  }

  .acf-contact-card-inner {
    padding: 30px 22px;
    border-radius: 16px;
  }

  .acf-contact-card h2 {
    font-size: 34px;
  }

  .acf-contact-item {
    grid-template-columns: 38px 1fr;
  }

  .acf-contact-icon {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }

  .contact-form .btn,
  .contact-form button[type="submit"],
  #formContact .btn,
  #formContact button[type="submit"],
  form[action*="contact"] .btn,
  form[action*="contact"] button[type="submit"] {
    width: 100%;
  }
}
/* ==================================================
   ACF CONTACT PAGE – FULL WIDTH 50/50 FIX
   Platí iba pre stránku Kontakty
================================================== */

@media (min-width: 992px) {
  body.in-kontakty .content-wrapper-in {
    display: block !important;
  }

  body.in-kontakty .sidebar,
  body.in-kontakty .sidebar-left {
    display: none !important;
  }

  body.in-kontakty #content,
  body.in-kontakty main.content,
  body.in-kontakty main.content.narrow {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.in-kontakty .content-inner,
  body.in-kontakty .pageArticleDetail,
  body.in-kontakty .pageArticleDetail > div[itemprop="about"] {
    width: 100% !important;
    max-width: none !important;
  }

  body.in-kontakty .contact-page-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 72px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
  }

  body.in-kontakty .contact-page-form,
  body.in-kontakty .acf-contact-card {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
  }

  body.in-kontakty #formContact {
    width: 100% !important;
    max-width: none !important;
  }

  body.in-kontakty .acf-contact-card .acf-contact-card {
    margin: 0 !important;
    max-width: none !important;
  }
}

@media (max-width: 991px) {
  body.in-kontakty .contact-page-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body.in-kontakty .contact-page-form,
  body.in-kontakty .acf-contact-card,
  body.in-kontakty #formContact {
    width: 100% !important;
    max-width: none !important;
  }
}
/* ==================================================
   ACF CONTACT CARD – stronger contact details
================================================== */

.acf-contact-list {
  gap: 22px;
}

.acf-contact-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: center;
}

.acf-contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  line-height: 1;
  border-radius: 14px;
  background: #F8F3E9;
  color: #A85A3A;
  font-size: 24px;
  text-align: center;
}

.acf-contact-item > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 56px;
}

.acf-contact-item strong {
  display: block;
  margin-bottom: 5px;
  color: #3E3128;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

.acf-contact-item span {
  display: block;
  color: #6E6256;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 600;
}

@media (max-width: 767px) {
  .acf-contact-item {
    grid-template-columns: 48px 1fr;
    gap: 14px;
  }

  .acf-contact-icon {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }

  .acf-contact-item > div {
    min-height: 48px;
  }

  .acf-contact-item strong,
  .acf-contact-item span {
    font-size: 16px;
  }
}
/* ==================================================
   ACF CATEGORY / FILTERS – jednotné béžové pozadie
   Len pozadie, bez zásahu do fontov a layoutu
================================================== */

body.type-category {
  --acf-beige: #F4EBDA;
  --acf-beige-soft: #F8F3E9;
  --acf-border: #E3D8C4;
}

/* vonkajší box kategórií */
body.type-category .box-categories {
  background: var(--acf-beige) !important;
  border: 1px solid var(--acf-border) !important;
}

/* vnútro menu kategórií */
body.type-category #categories,
body.type-category #categories .categories,
body.type-category #categories .topic,
body.type-category #categories ul,
body.type-category #categories li,
body.type-category #categories li a,
body.type-category #categories .topic a {
  background: var(--acf-beige) !important;
  background-image: none !important;
}

/* aktívna hlavná kategória nech ostane zvýraznená */
body.type-category #categories .categories.active > .topic,
body.type-category #categories .topic.active {
  background: #A85A3A !important;
}

body.type-category #categories .categories.active > .topic a,
body.type-category #categories .topic.active a {
  background: transparent !important;
}

/* hover jemne, ale bez gradientu */
body.type-category #categories .topic a:hover,
body.type-category #categories li a:hover {
  background: rgba(168, 90, 58, 0.08) !important;
  background-image: none !important;
}

/* vonkajší box filtrov */
body.type-category .box-filters {
  background: var(--acf-beige) !important;
  border: 1px solid var(--acf-border) !important;
}

/* vnútro filtrov – všetko jednofarebné */
body.type-category .box-filters .filters-wrapper,
body.type-category #filters,
body.type-category #filters form,
body.type-category #filters fieldset,
body.type-category #filters .filter-section,
body.type-category #filters .param-filter-top,
body.type-category #filters .param-filter-top fieldset > div,
body.type-category #manufacturer-filter,
body.type-category #manufacturer-filter fieldset > div,
body.type-category #filters .slider-wrapper,
body.type-category #filters .filter-total-count {
  background: var(--acf-beige) !important;
  background-image: none !important;
}

/* checkbox riadky vo filtroch */
body.type-category #filters .param-filter-top label,
body.type-category #manufacturer-filter label,
body.type-category #filters .filter-label {
  background: transparent !important;
  background-image: none !important;
}

/* spodný počítací blok filtrov */
body.type-category #filters .filter-total-count,
body.type-category #filters .filter-total-count-wrapper,
body.type-category .box-filters .filter-total-count {
  background: var(--acf-beige) !important;
  background-image: none !important;
}

/* podkategórie nad produktmi – ak chceš zjednotiť aj tie */
body.type-category .subcategories.with-image > li > a {
  background: var(--acf-beige-soft) !important;
  background-image: none !important;
}
/* ==================================================
   ACF SORTING BUTTONS – jednotné béžové pozadie
   Doplnok k existujúcemu CSS, bez zmeny fontov a layoutu
================================================== */

body.type-category {
  --acf-beige: #F4EBDA;
  --acf-border: #E3D8C4;
  --acf-dark: #252525;
}

/* neaktívne tlačidlá radenia */
body.type-category .listSorting__control {
  background: var(--acf-beige) !important;
  background-image: none !important;
  border: 1px solid var(--acf-border) !important;
  box-shadow: none !important;
}

/* hover na neaktívnych tlačidlách */
body.type-category .listSorting__control:hover {
  background: #EFE2CA !important;
  background-image: none !important;
  border-color: #D8C9AD !important;
}

/* aktívne tlačidlo nech ostane tmavé */
body.type-category .listSorting__control--current,
body.type-category .listSorting__control[aria-disabled="true"] {
  background: var(--acf-dark) !important;
  background-image: none !important;
  border-color: var(--acf-dark) !important;
  box-shadow: none !important;
}

/* poistka proti štýlom šablóny */
body.type-category .listSorting__controls button,
body.type-category .listSorting__controls .listSorting__control {
  background-image: none !important;
}
/* ==================================================
   ACF CATEGORY MENU + SUBCATEGORY CARDS FIX
   Doplnkové CSS k existujúcim úpravám
   Bez zmeny fontov, veľkostí, hrúbky a layoutu
================================================== */

body.type-category {
  --acf-beige: #F4EBDA;
  --acf-white: #ffffff;
  --acf-border: #E3D8C4;
  --acf-text: #3E3128;
  --acf-muted: #6E6256;
  --acf-primary: #A85A3A;
  --acf-primary-hover: #8C3F2B;
}

/* ==================================================
   ĽAVÉ MENU – jednotné béžové pozadie
================================================== */

body.type-category .box-categories,
body.type-category #categories,
body.type-category #categories .categories,
body.type-category #categories .topic,
body.type-category #categories ul,
body.type-category #categories li {
  background: var(--acf-beige) !important;
  background-image: none !important;
}

/* základná farba odkazov v menu */
body.type-category #categories a,
body.type-category #categories .topic a,
body.type-category #categories li a {
  color: var(--acf-text) !important;
  background-image: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* aktívna hlavná kategória / rodič aktuálnej kategórie */
body.type-category #categories .categories.active > .topic,
body.type-category #categories .categories.active > .topic.child-active {
  background: var(--acf-primary) !important;
  background-image: none !important;
}

/* text aktívneho hlavného rodiča musí byť viditeľný */
body.type-category #categories .categories.active > .topic > a,
body.type-category #categories .categories.active > .topic.child-active > a {
  color: #ffffff !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* hover aktívneho hlavného rodiča */
body.type-category #categories .categories.active > .topic > a:hover,
body.type-category #categories .categories.active > .topic.child-active > a:hover {
  color: #ffffff !important;
  background: var(--acf-primary-hover) !important;
}

/* vnorená aktuálna kategória – napr. Ryža */
body.type-category #categories .categories.active > ul > li.active > a {
  color: var(--acf-primary-hover) !important;
  background: rgba(168, 90, 58, 0.10) !important;
  background-image: none !important;
}

/* vnorené podkategórie – napr. Sushi ryža, Jazmínová ryža */
body.type-category #categories .categories.active > ul > li > ul,
body.type-category #categories .categories.active > ul > li > ul > li,
body.type-category #categories .categories.active > ul > li > ul > li > a {
  background: var(--acf-beige) !important;
  background-image: none !important;
  color: var(--acf-text) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* hover vnorených podkategórií */
body.type-category #categories .categories.active > ul > li > ul > li > a:hover {
  color: var(--acf-primary-hover) !important;
  background: rgba(168, 90, 58, 0.08) !important;
}

/* šípky nech preberajú farbu textu */
body.type-category #categories .cat-trigger,
body.type-category #categories .cat-trigger::before {
  color: currentColor !important;
  border-color: currentColor !important;
}

/* ==================================================
   PODKATEGÓRIE NAD PRODUKTMI – biele kartičky
   Sushi ryža, Ostatná ryža, Jazmínová ryža...
================================================== */

body.type-category .subcategories.with-image > li > a {
  background: var(--acf-white) !important;
  background-image: none !important;
  border: 1px solid var(--acf-border) !important;
  color: var(--acf-text) !important;
}

body.type-category .subcategories.with-image > li > a:hover {
  background: var(--acf-white) !important;
  background-image: none !important;
  border-color: rgba(168, 90, 58, 0.34) !important;
}

body.type-category .subcategories.with-image .image,
body.type-category .subcategories.with-image .text {
  background: transparent !important;
  background-image: none !important;
  color: var(--acf-text) !important;
}

body.type-category .subcategories.with-image > li > a::after {
  border-color: var(--acf-muted) !important;
}
/* ==================================================
   ACF CATEGORY MENU – full width active + hover row
   Oprava iba pozadia riadkov v ľavom menu
================================================== */

/* zruší pozadie na samotnom odkaze, aby sa nekreslilo len za textom */
body.type-category #categories .topic > a,
body.type-category #categories li > a {
  background: transparent !important;
  background-image: none !important;
}

/* hover pre hlavné riadky menu – farba na celý .topic */
body.type-category #categories .topic:hover {
  background: rgba(168, 90, 58, 0.08) !important;
  background-image: none !important;
}

/* aktívny hlavný riadok – farba na celý .topic */
body.type-category #categories .categories.active > .topic,
body.type-category #categories .categories.active > .topic.child-active,
body.type-category #categories .topic.active {
  background: #A85A3A !important;
  background-image: none !important;
}

/* aktívny hlavný riadok – text biely */
body.type-category #categories .categories.active > .topic > a,
body.type-category #categories .categories.active > .topic.child-active > a,
body.type-category #categories .topic.active > a {
  color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
}

/* hover aktívneho hlavného riadku */
body.type-category #categories .categories.active > .topic:hover,
body.type-category #categories .categories.active > .topic.child-active:hover,
body.type-category #categories .topic.active:hover {
  background: #8C3F2B !important;
  background-image: none !important;
}

/* hover na odkaze v aktívnom riadku nesmie zmeniť šírku pozadia */
body.type-category #categories .categories.active > .topic > a:hover,
body.type-category #categories .categories.active > .topic.child-active > a:hover,
body.type-category #categories .topic.active > a:hover {
  color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
}
/* ==================================================
   ACF TOP NAVIGATION CONTACT – parent box styling
   Štýlujeme celý prvok .top-navigation-contacts
================================================== */

.top-navigation-contacts {
  background: #95351e !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow:
    0 12px 28px rgba(62, 49, 40, 0.24),
    0 4px 10px rgba(62, 49, 40, 0.14) !important;
}

/* text a odkaz vo vnútri */
.top-navigation-contacts a,
.top-navigation-contacts span,
.top-navigation-contacts strong,
.top-navigation-contacts .project-phone,
.top-navigation-contacts .project-phone span {
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* zrušenie malého vnútorného boxu na samotnom odkaze */
.top-navigation-contacts .project-phone {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-radius: inherit !important;
}

/* telefónna ikonka */
.top-navigation-contacts .project-phone::before,
.top-navigation-contacts .project-phone::after,
.top-navigation-contacts .project-phone span::before,
.top-navigation-contacts .project-phone span::after {
  color: #ffffff !important;
  border-color: #ffffff !important;
}
/* ==================================================
   ACF MOBILE HEADER GAP FIX
   Odstráni prázdne miesto spôsobené Apollo paddingom
================================================== */

@media (max-width: 767px) {
  .overall-wrapper {
    padding-top: 0 !important;
  }
}
/* ==================================================
   ACF BENEFIT CARDS – spoločný štýl pre 4 karty
================================================== */

.benefitBanner.position--benefitHomepage,
.benefitBanner.position--benefitCategory {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 42px 0 56px !important;
}

/* reset Shoptet obalov, aby boli všetky boxy rovnaké */
.benefitBanner.position--benefitHomepage .benefitBanner__item,
.benefitBanner.position--benefitCategory .benefitBanner__item,
.benefitBanner.position--benefitHomepage .benefitBanner__content,
.benefitBanner.position--benefitHomepage .benefitBanner__data {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: stretch !important;
}

.acf-benefit-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px;
  padding: 28px 22px;
  background: #FFFDF8;
  border: 1px solid #E3D8C4;
  border-radius: 20px;
  box-shadow:
    0 16px 34px rgba(62, 49, 40, 0.08),
    0 4px 10px rgba(62, 49, 40, 0.04);
  text-align: center;
  overflow: hidden;
}

.acf-benefit-card::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -55px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(111, 122, 76, 0.10), transparent 68%);
  pointer-events: none;
}

/* ikona bez pozadia a bez rámčeka */
.acf-benefit-icon {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 105px;
  margin: 0 auto 18px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.acf-benefit-icon img {
  display: block;
  max-width: 125px;
  max-height: 105px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.acf-benefit-title {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #3E3128;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
  text-align: center;
}

.acf-benefit-text {
  position: relative;
  z-index: 2;
  margin: 10px 0 0;
  color: #6E6256;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 500;
}

.acf-benefit-card:hover {
  border-color: rgba(168, 90, 58, 0.34);
  box-shadow:
    0 20px 42px rgba(62, 49, 40, 0.11),
    0 6px 14px rgba(62, 49, 40, 0.06);
}

@media (max-width: 991px) {
  .benefitBanner.position--benefitHomepage {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 575px) {
  .benefitBanner.position--benefitHomepage {
    grid-template-columns: 1fr !important;
    margin: 30px 0 42px !important;
  }

  .acf-benefit-card {
    min-height: 180px;
    padding: 24px 18px;
  }

  .acf-benefit-icon {
    width: 110px;
    height: 90px;
    margin-bottom: 14px;
  }

  .acf-benefit-icon img {
    max-width: 105px;
    max-height: 90px;
  }

  .acf-benefit-title {
    font-size: 17px;
  }

  .acf-benefit-text {
    font-size: 14px;
  }
}
