/******************************************************
 *  CUSTOM STYLESHEET
 *  Author: Enivelia
 *  Last update: 07.11.2025
 ******************************************************/

/* =====================================================
   GENERAL STYLES (typography, colors, spacing)
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap');

:root {
  --color-primary: #232b22;
  }
  .gilda-display-regular {
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-style: normal;
}
body {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-primary);
}
p {
  font-size: 16px;
  margin-bottom: 10px;
}
/* =====================================================
   HEADER (logo, navigation, search bar, top bar)
   ===================================================== */
.subcategories.with-image img {
  width: 140px;
  height: 100px;
  object-fit: cover;
  image-rendering: high-quality;
  filter: contrast(104%) saturate(103%);
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* Ensure parent menu item positioning */
.menu-level-1 > li {
    position: relative;
}
/* Main dropdown styling */
.menu-level-1 > li > ul.menu-level-2 {
    min-width: 450px;
    padding: 15px;
    background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 5px;
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition: all 0.2s ease-in-out;
    z-index: 1000;
}
/* Make dropdown visible on hover/focus */
.menu-level-1 > li:hover > ul.menu-level-2,
.menu-level-1 > li:focus-within > ul.menu-level-2 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.menu-level-2 > li > a {
    display: flex;         
    flex-direction: row;        
    align-items: center;
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    padding: 10px 10px;
}
.menu-level-2 > li > a::before {
    content: "";
    display: inline-block;
    width: 70px;
    height: 50px;
    margin-right: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}
.menu-level-2 > li > a:hover {
    color: #232b22;
    border-radius: 4px;
}
.menu-level-1 > li > ul.menu-level-2 > li:nth-child(1) > a::before {
    content: "";
    display: inline-block;
    width: 70px;
    height: 50px;
    margin-right: 20px;
    background-image: url('https://743422.myshoptet.com/user/documents/upload/kvet-duse-category.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.menu-level-1 > li > ul.menu-level-2 > li:nth-child(2) > a::before {
    content: "";
    display: inline-block;
    width: 70px;
    height: 50px;
    margin-right: 20px;
    background-image: url('https://743422.myshoptet.com/user/documents/upload/dokonalost-category.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.menu-level-1 > li > ul.menu-level-2 > li:nth-child(3) > a::before {
    content: "";
    display: inline-block;
    width: 70px;
    height: 50px;
    margin-right: 20px;
    background-image: url('https://743422.myshoptet.com/user/documents/upload/ochrance-category.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.menu-level-1 > li > ul.menu-level-2 > li:nth-child(4) > a::before {
    content: "";
    display: inline-block;
    width: 70px;
    height: 50px;
    margin-right: 20px;
    background-image: url('https://743422.myshoptet.com/user/documents/upload/znovuzrozeni-category.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.menu-level-1 > li > ul.menu-level-2::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background: transparent;
}
@media (max-width: 768px) {
    .menu-level-1 > li > ul.menu-level-2 {
        min-width: 100%;
        padding: 10px 0;
        border: none;
        box-shadow: none;
        background: transparent;
        transform: none;
        opacity: 1;
        visibility: visible;
        position: relative;
    }
    .menu-level-2 > li > a {
        padding: 15px 10px;
        border-bottom: 1px solid #eee;
        flex-direction: row;
    }
    .menu-level-2 > li > a::before {
        width: 40px;
        height: 29px;
        margin-right: 15px;
    }
}
/* Hero */
.hero-slide-wrapper {
    position: relative;
    display: block;
}
.hero-slide-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}
.hero-overlay-box {
    position: absolute;
    left: 110px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    max-width: 720px;
    text-align: left;
    z-index: 10;
}
.hero-overlay-box h1 {
    font-size: 6.4rem;
    font-family: "Gilda Display", serif;
    font-weight: 500;
    line-height: 0;
    margin-bottom: 0;
    color: #ffffff;
}
.hero-overlay-box h2 {
    font-size: 4.5rem;
    font-family: "Gilda Display", serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 5rem;
    color: #ffffff;
}
.hero-overlay-box a {
    display: inline-block;
    padding: 14px 32px;
    border: 2px solid #fff;
    color: #fff;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 600;
}
.hero-overlay-box a:hover {
    background: #fff;
    color: #232b22;
}
@media (max-width: 992px) {
    .hero-overlay-box {
        left: 50px;
        max-width: 70%;
        top: 60%;
        transform: translateY(-50%);
        max-width: 85%;
    }
    .hero-overlay-box h1 {
        font-size: 3.4rem;
    }
    .hero-overlay-box h2 {
        font-size: 2.5rem;
        margin-bottom: 2.5rem;
    }
}
@media (max-width: 576px) {
  .hero-slide-wrapper img {
        height: auto;
        min-height: 250px;
        object-fit: cover;
        object-position: 70% center;
        width: 100%;
    }
    .hero-overlay-box {
        left: 30px;
        top: 55%;
        transform: translateY(-50%);
        max-width: 85%;
    }
    .hero-overlay-box h1 {
        font-size: 2rem;
    }
    .hero-overlay-box h2 {
        font-size: 1.6rem;
        margin-bottom: 2rem;
    }
    .hero-overlay-box a {
        padding: 9px 18px;
        font-size: 0.95rem;
    }
}
/* =====================================================
   HOMEPAGE (banners, featured products, sliders)
   ===================================================== */
/* Welcome Banner */
.welcome-section {
  width: 100vw;
  margin-left: calc(50% - 50vw); /* ensures full-width background inside centered layout */
  background-image: url('https://enivelia.cz/user/documents/upload/banner-gradient.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 20px; /* more vertical space to look good on big screens */
  text-align: center;
  position: relative;
}
.welcome-container {
  max-width: 900px;
  margin: 0 auto;
}
.welcome-text h1 {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.welcome-text p {
  line-height: 1.7;
  margin-bottom: 15px;
  font-size: 1.7rem;
}
.welcome-link {
  display: inline-block;
  margin-top: 20px;
  font-weight: 600;
  color: #232b22;
  text-decoration: none;
  border-bottom: 1px solid #232b22;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.welcome-link:hover {
  color: #232b22;
  border-color: #232b22;
}
/* Full-width banner */
.id-39 .custom-fullwidth-banner,
.id-755 .custom-fullwidth-banner,
.id-758 .custom-fullwidth-banner,
.id-725 .custom-fullwidth-banner {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* Banner image */
.id-39 .custom-fullwidth-banner img,
.id-755 .custom-fullwidth-banner img,
.id-758 .custom-fullwidth-banner img,
.id-725 .custom-fullwidth-banner img {
  width: 100%;
  height: 250px !important;
  object-fit: cover;
  display: block;
}
/* Make sure title can sit visually over banner */
.id-39 .pageArticleDetail header[itemprop="headline"],
.id-755 .pageArticleDetail header[itemprop="headline"],
.id-758 .pageArticleDetail header[itemprop="headline"],
.id-725 .pageArticleDetail header[itemprop="headline"] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 90%;
  z-index: 5;
}
/* Title style */
.id-39 .pageArticleDetail header[itemprop="headline"] h1,
.id-755 .pageArticleDetail header[itemprop="headline"] h1,
.id-758 .pageArticleDetail header[itemprop="headline"] h1,
.id-725 .pageArticleDetail header[itemprop="headline"] h1 {
  color: #232b22;
  font-size: 5rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.2;
}
/* Prevent hiding or clipping on mobile */
.id-39 .content-wrapper-in,
.id-39 .content,
.id-39 .content-inner,
.id-39 article.pageArticleDetail,
.id-755 .content-wrapper-in,
.id-755 .content,
.id-755 .content-inner,
.id-755 article.pageArticleDetail,
.id-758 .content-wrapper-in,
.id-758 .content,
.id-758 .content-inner,
.id-758 article.pageArticleDetail,
.id-725 .content-wrapper-in,
.id-725 .content,
.id-725 .content-inner,
.id-725 article.pageArticleDetail {
  overflow: visible !important;
  position: static !important;
}
@media (max-width: 992px) {
  .id-39 .pageArticleDetail header[itemprop="headline"] h1,
  .id-755 .pageArticleDetail header[itemprop="headline"] h1,
  .id-758 .pageArticleDetail header[itemprop="headline"] h1,
  .id-725 .pageArticleDetail header[itemprop="headline"] h1 {
    font-size: 3rem;
  }
}
@media (max-width: 600px) {
  .id-39 .pageArticleDetail header[itemprop="headline"] h1,
  .id-755 .pageArticleDetail header[itemprop="headline"] h1,
  .id-758 .pageArticleDetail header[itemprop="headline"] h1,
  .id-725 .pageArticleDetail header[itemprop="headline"] h1 {
    font-size: 3rem;
  }
}
@media (max-width: 992px) {
  .pageArticleDetail .custom-fullwidth-banner img {
    height: 200px !important;
  }
}
@media (max-width: 600px) {
  .pageArticleDetail .custom-fullwidth-banner img {
    height: 150px !important;
  }
}
/* Benefit Banners */
.container--bannersBenefit {
    padding-top: 40px;
    padding-bottom: 10px;
}
.benefitBanner__content {
    text-align: left;
}
.benefitBanner__content .benefitBanner__title {
    font-weight: 700;
    font-size: 1.9rem;
}
.benefitBanner__picture img {
    max-width: 60px;
    height: auto;
    margin: 0 auto 0 auto;
    display: block;
}
@media (max-width: 768px) {
    .benefitBanner.position--benefitHomepage {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .benefitBanner__item {
        margin-bottom: 20px;
    }
}
/* Benefit Banners Bottom */
.container--bannersBenefit--bottom {
    padding: 20px 20px;
    margin-top: 20px;
    background: #fff;
}
.container--bannersBenefit--bottom .benefitBanner.position--benefitHomepage {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}
.container--bannersBenefit--bottom .benefitBanner__item {
    flex: 1 1 calc(25% - 20px);
    text-align: center;
}
.container--bannersBenefit--bottom .benefitBanner__picture {
    margin-bottom: 10px;
}
.container--bannersBenefit--bottom .benefitBanner__img {
    width: 70px;
    height: auto;
    display: block;
    margin: 0 auto;
}
.container--bannersBenefit--bottom .benefitBanner__title {
    display: block;
    font-weight: 600;
    font-size: 1.5rem;
    margin-bottom: 5px;
}
.container--bannersBenefit--bottom .benefitBanner__data {
    font-size: 1.5rem;
}
@media (max-width: 991px) {
    .container--bannersBenefit--bottom .benefitBanner__item {
        flex: 1 1 calc(50% - 20px);
    }
}
@media (max-width: 575px) {
    .container--bannersBenefit--bottom .benefitBanner.position--benefitHomepage {
        margin: 0 auto;
        max-width: 1200px;
        padding: 0 10px;
    }
    .container--bannersBenefit--bottom .benefitBanner__item {
        flex: 1 1 100%;
        max-width: 280px;
        margin-bottom: 25px;
    }
    .container--bannersBenefit--bottom .benefitBanner__img {
        width: 70px;
    }
    .container--bannersBenefit--bottom .benefitBanner__title {
        font-size: 1.5rem;
    }
    .container--bannersBenefit--bottom .benefitBanner__data {
        font-size: 1.5rem;
    }
}
.banner-wrapper {
    padding-bottom: 5px;
}
.simple-text-banner {
    width: 100%;
    background: #ffffff;        /* full-width white stripe */
    text-align: center;
    padding: 50px 300px;        /* vertical spacing */
    font-size: 26px;
    color: #222;
    line-height: 1.4;
}
@media (max-width: 992px) {
  .simple-text-banner {
    width: 100%;
    text-align: center;
    padding: 20px 50px;        /* vertical spacing */
    font-size: 22px;
    line-height: 1.4;
  }
}
@media (max-width: 575px) {
  .simple-text-banner {
    width: 100%;
    text-align: center;
    padding: 20px 20px;        /* vertical spacing */
    font-size: 22px;
    line-height: 1.4;
  }
}
/* MAIN WRAPPER */
.my-story-banner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 100px; /* space between text + image */
  width: 100%;
  box-sizing: border-box;
}
/* TEXT COLUMN */
.my-story-banner .text-column {
  flex: 1;
  display: flex;
  align-items: center;
}
.my-story-banner .banner-text {
  margin-bottom: 0px;
}
/* IMAGE COLUMN */
.my-story-banner .image-column {
  flex-shrink: 0;
}
.my-story-banner .image-column img {
  width: 330px;
  height: 481px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  margin-right: 40px;
}
/* MOBILE STACKING */
@media (max-width: 992px) {
  .my-story-banner {
    flex-direction: column;
    text-align: center;
    gap: 10px; /* space between text and image */
    padding: 20px 0; /* reduce vertical padding */
  }
  .my-story-banner .image-column img {
    width: 100%;
    height: auto;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .my-story-banner {
    flex-direction: column;
    text-align: center;
    gap: 10px; /* space between text and image */
    padding: 20px 0; /* reduce vertical padding */
  }
  .my-story-banner .image-column img {
    width: 100%;
    height: auto;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
/* MAIN WRAPPER */
.o-nas-banner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 100px; /* space between text + image */
  width: 100%;
  box-sizing: border-box;
}
/* TEXT COLUMN */
.o-nas-banner .text-column {
  flex: 1;
  display: flex;
  align-items: center;
}
.o-nas-banner .banner-text {
  margin-bottom: 0px;
}
/* IMAGE COLUMN */
.o-nas-banner .image-column {
  flex-shrink: 0;
}
.o-nas-banner .image-column img {
  width: 400px;
  height: 400px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  margin-right: 40px;
  margin-bottom: 20px;
}
/* MOBILE STACKING */
@media (max-width: 992px) {
  .o-nas-banner {
    flex-direction: column;
    text-align: center;
    gap: 10px; /* space between text and image */
    padding: 20px 0; /* reduce vertical padding */
  }
  .o-nas-banner .image-column img {
    width: 100%;
    height: auto;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .o-nas-banner {
    flex-direction: column;
    text-align: center;
    gap: 10px; /* space between text and image */
    padding: 20px 0; /* reduce vertical padding */
  }
  .o-nas-banner .image-column img {
    width: 100%;
    height: auto;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
/* =====================================================
   CATEGORY & PRODUCT LISTING
   ===================================================== */
/* --- Individual product card --- */
.products-block .product {
  width: 100%;
  height: 500px;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: none !important;
  margin-bottom: 30px;
}
.homepage-products-5 *,
.homepage-products-5 .box,
.homepage-products-5 .product {
  border-color: #f9f6f3;
  border: none !important;
}
.products-block .btn {
  background-color: #232b22;
  color: #f9f6f3;
  font-size: 1.2rem;
  font-weight: 600;
}
.products-page .btn {
  border-color: #232b22;
}
.homepage-tabs-wrapper {
  border-radius: 10px;
  margin-top: 50px;
}
.tab-content .tab-pane .in {
  border: none !important;
  background: 000;
}
.shp-tab-link {
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s ease, border-color 0.3s ease;
  border: none !important; 
  border-radius: 5px;
}
.shp-tab.active .shp-tab-link {
  color: #232d39;
  font-weight: 700;
  background-color: #f9f6f3;
}
.social-buttons-wrapper .link-icon.chat,
.social-buttons-wrapper .link-icon.share {
  display: none !important;
}
/* Breadcrumb styling when placed under banner */
.custom-fullwidth-banner + .breadcrumbs {
  text-align: center;
  margin: 20px auto 40px;
  font-size: 1.4rem;
}
/* Optional: subtle separator color or spacing */
.custom-fullwidth-banner + .breadcrumbs .navigation-bullet {
  color: #ccc;
  margin: 0 6px;
}
/* =====================================================
   PRODUCT DETAIL PAGE
   ===================================================== */
.add-to-cart .btn {
  background-color: #232b22;
  color: #f9f6f3;
  border-color: #232b22;
}
/* =====================================================
   CART, CHECKOUT & FORMS
   ===================================================== */
.siteCookies__form {
  background: #232b22;
}
 .siteCookies--bottom.siteCookies--scrolled {
  background-color: #232b22;
}
/* =====================================================
   FOOTER
   ===================================================== */
/* General Footer */
#footer {
  background-color: #f9f6f3;
  color: #232d39;
  padding: 40px 0 20px;
}
/* Footer columns */
.contact-list h4,
.quick-links h4,
.information-list h4,
.payment h4 {
  font-size: 14px;
  margin-bottom: 15px;
  text-transform: uppercase;
  font-weight: 700 !important;
}
.contact-list ul,
.quick-links ul,
.information-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.quick-links ul li,
.information-list ul li {
  margin-bottom: 5px;
}
.contact-list ul li {
  margin-bottom: 15px;
}
.contact-list ul li a,
.quick-links ul li a,
.information-list ul li a {
  text-decoration: none;
}
/* Social icons inside contact-list */
.contact-list .social-icons a {
  display: inline-block;
  margin-right: 10px;
  text-decoration: none;
}
.contact-list img {
  height: 24px;
  width: 40px;
  vertical-align: middle;
}
/* Payment images */
.payment img {
  max-height: 34px;
  margin-right: 10px;
  vertical-align: middle;
}

/* Footer bottom (copyright & cookies) */
.footer-bottom {
  text-align: left !important;
  padding: 20px 0 10px;
  font-size: 14px;
}
.footer-bottom span#signature,
.footer-bottom a[href*="shoptet.cz"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}
/* Align icons with text */
.footer-icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
}
/* Social icons */
.social-icons .social-icon {
  width: 34px;
  height: 34px;
  margin-right: 10px;
}
.social-icons .social-icon:last-child {
  margin-right: 0;
}
/* Column title */
.payment h4 {
  font-size: 16px;
  margin-bottom: 15px;
  text-transform: uppercase;
}
/* Logos container */
.payment-logos,
.delivery-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px; /* spacing between logos */
  margin-bottom: 20px;
}
/* Individual logos */
.footer-column.payment .footer-logo {
  max-height: 34px;
  width: auto;
}
/* Remove arrows and fix alignment in Step template footer */
#footer .contact-list ul,
#footer .quick-links ul,
#footer .information-list ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
#footer .contact-list li,
#footer .quick-links li,
#footer .information-list li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    text-indent: 0 !important;
}
#footer .contact-list li::before,
#footer .quick-links li::before,
#footer .information-list li::before {
    content: none !important;
    display: none !important;
}
/* Reduce vertical spacing between stacked footer columns on mobile/tablet */
@media (max-width: 992px) {
  #footer .custom-footer.elements-4 .banner-wrapper,
  #footer .custom-footer.elements-4 .banner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  /* Optional: remove extra bottom margin from last column */
  #footer .custom-footer.elements-4 > div[class*="col-"]:last-child {
    margin-bottom: 0 !important;
  }
}
/* Responsive layout for mobile */
@media (max-width: 768px) {
  .contact-list,
  .quick-links,
  .information-list,
  .payment {
    text-align: center; 
  }
  .contact-list .social-icons a {
    margin-right: 15px;
  }
  .footer-bottom {
  text-align: center !important;
  }
}
/* Responsive: stack logos on mobile */
@media (max-width: 768px) {
  .payment-logos,
  .delivery-logos {
    flex-direction: row; /* keeps logos in a row but centered */
    justify-content: center;
    flex-wrap: wrap; /* wrap if needed on very small screens */
    gap: 10px;
  }
}
/* =====================================================
   RESPONSIVE (mobile/tablet)
   ===================================================== */
@media (max-width: 992px) {
  /* Tablet styles */
}
@media (max-width: 768px) {
  /* Mobile styles */
}
@media (max-width: 575px) {
}