@charset "UTF-8";
body {
  font-family: 'Montserrat', sans-serif;
}


.corinthia-font {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-style: normal;
}

.hero-section {
  background-color: rgba(0, 0, 0, 0.4);
  background-blend-mode: overlay;
}

.gallery-section {
  min-height: 464px;
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: overlay;
}

.day-menu {
    margin-bottom: 2rem;
    margin-top: 1.5rem;
    font-weight:bold;
}

.day-menu hr {
    border: none;
    height: 2px;
    background: repeating-linear-gradient(to right, black 0 6px, /* délka podtržítka */ transparent 6px 8px /* mezera mezi nimi */);
    opacity: 1;
    margin:1em 0;
}

.xfs-4{
font-size:4rem;
}

footer a:hover {
    color: #e30513 !important;
}


.submenu a {
    color: #8a8a8a !important;
    line-height: 2 !important;
    display: block;
    padding-left: 30px;
    text-transform: uppercase;
}

.submenu a.text-dark:hover {
    color: #dc3545 !important;
}



/* obecně schovej submenu */
.nav-item .submenu {
  display: none;
  position: absolute;
  background: #fff;
  z-index: 1000;
  min-width: 200px;
}

/* ukaz na hover (desktop) */
.nav-item:hover > .submenu {
  display: block;
}

/* submenu odkazy */
.submenu a {
  padding: 5px 10px;
  white-space: nowrap;
}

/* trochu zarovnání */
.navbar-nav .nav-item {
  position: relative;
}


main {
padding-top: 1em;
}

.product-card{
border-radius:0;
  border:5px solid #fff !important;
z-index:1;
}

#products-list.row {
    --bs-gutter-x: 0rem;
}

/* Hero & images */
.object-fit-cover{object-fit:cover;width:100%;height:100%;}
.ratio-21x9{--bs-aspect-ratio:42.857%;}
.product-card .badge{letter-spacing:.02em}

/* Pills (podkategorie) */
.btn.rounded-pill{border-width:2px}

/* Breadcrumb kontrast */
.breadcrumb,.breadcrumb a{color:#6b7280; text-transform:capitalize; font-size: .9em; }
.breadcrumb .active{color:#111}
.breadcrumb a:last-child {
  text-decoration: none; /* odstraní podtržení */
  /*  pointer-events: none; volitelné: aby nebyl klikací */
  cursor: default;       /* volitelné: kurzor nebude ukazovat ruku */
}

/* Quantity group */
.quantity-group .form-control{max-width:80px}
.quantity-group .btn-qty{width:38px}

.quantity-group {
background: #F6F6F6;
    border-radius: 2em;
    border:1px solid #E4E4E4;
    width: auto !important;
    display: inline-block;
    padding: 0 !important;
        white-space: nowrap;
}

.quantity-group .number-input-wrapper, .quantity-group .number-input-wrapper input, .quantity-group  .number-input-wrapper button{
    margin:0;
    border:0;
    background:transparent;
    color:#000;
}
 .quantity-group  .number-input-wrapper button{
    display:none;;
}
 .quantity-group  .number-input-wrapper input{
    text-align:center;
    min-width:3em;
    margin-right:-1em;
}
 .quantity-group  .number-input-wrapper:focus-within input{
    margin-right:0;
}
.quantity-group .number-input-wrapper:focus-within button {
  display: inline-block;
}

/* Tabs underline */
.nav-underline .nav-link{color:#6b7280}
.nav-underline .nav-link.active{color:#e30513}

/* Cards hover */
.product-card:hover{
    transform:translateY(-2px); transition:transform .15s ease; 
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.2);
  z-index:2;
}
#products-list .product-card:hover h3 a{color:red!important; text-decoration:underline!important}

/* Footer hover už máš; CTA strip spacing se dědí z Bootstrapu */
.navbar-nav .nav-link.active, .navbar-nav .nav-link.family, .navbar-nav .nav-link:hover{
    background: rgba(220,53,69,1);
    color:#fff;
    border-radius:1.25em;
}

.navbar-nav ul .nav-link.active, .navbar-nav ul .nav-link.family, .navbar-nav ul .nav-link:hover{
    border-radius:0em;
}
.navbar-nav ul .nav-link{
    padding: 1em 2em !important;
    display:block;
    white-space:nowrap;
}
    


/* šipka dolů jen u položek s podmenu */
.nav-item:has(ul) > a.nav-link::after {
  content: "▾";                /* nebo použij \25BC (▼) nebo vlastní SVG */
  margin-left: .35em;
  font-size: 1em;
  color: inherit;              /* přebírá barvu textu */
  display: inline-block;
  vertical-align: middle;
}

/* volitelně hover efekt */
.nav-item:has(ul) > a.nav-link:hover::after {
  color: #dc3545;              /* červená na hover */
}

 
nav li>ul{
  display:none!important;
  background:#fff;
  position: absolute;
  top: 100%;
  z-index: 1000; /* zajistí překrytí ostatních prvků */
}
nav li>ul>li>ul{
  position: absolute;
  top: 0;
  left: 100%; /* submenu se objeví napravo */
  z-index: 1000; /* zajistí překrytí ostatních prvků */
}

.navbar-brand .small{
font-size:.75em
}

nav li:hover>ul{
display:block!important;
min-width:12em;
    filter: drop-shadow(2px 4px 6px #f1f1f1);
}
.nav-item:hover:has(ul) > a.nav-link::after {
    color:#fff;
}
.hero-section{
    margin-top:-1rem;
}

.hero-content{
    position: relative;

    padding-top: 2em;
}

.hero-bg {
    position: absolute;
    background: var(--hero-bg) center / cover no-repeat;
    background-color: rgba(0, 0, 0, .4);
    background-blend-mode: overlay;
    min-height: 33em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.navbar-toggler{
    border:0
}

/* Reset default Bootstrap ikonky */
.navbar-toggler.custom-toggler {
  border: none;
  padding: 0.5rem;
}
.navbar-toggler.custom-toggler .navbar-toggler-icon {
  display: none;
}

/* Vlastní čáry */
.custom-toggler .toggler-bar {
  display: block;
  width: 28px;
  height: 3px;
  margin: 5px auto;
  background-color: #dc3545; /* červená */
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
}

/* Po otevření menu (Bootstrap přidá .collapsed false → aria-expanded="true") */
.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 6px);
}
.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(2) {
  opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

.is-hidden{display:none!important}

/* Stacking context pro overlay */
.product-card .card-body { position: relative; }

/* Overlay stretched-link necháme pod interaktivními prvky */
.product-card .stretched-link::after { z-index: 1; }

/* Quantity část a její prvky zvednout nad overlay */
.product-card .quantity-group,
.product-card .quantity-group .form-control,
.product-card .quantity-group .btn {
  position: relative;
  z-index: 2;
}


#cartSmall{
  position: relative;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  --cart-color: #000;            /* výchozí barva ikony */
  order: 3;                      /* v navbar flex: za toggler, před collapse */
  margin-left: auto;             /* odsun doprava na mobilu */
  flex-shrink: 0;
}

/* ikona jako maska na pseudo-elementu */
#cartSmall::before{
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask: url('cart.svg') no-repeat center / contain;
          mask: url('cart.svg') no-repeat center / contain;
  background-color: var(--cart-color);
  z-index: 0;                    /* pod odkazem i badgem */
}

.fa-basket-shopping:before, .fa-shopping-basket:before{
content:"";
  -webkit-mask: url('cartplus.svg') no-repeat center / contain;
          mask: url('cartplus.svg') no-repeat center / contain;
    height: 1em;
    width: 1em;
    display: inline-block;
    background-color:#fff;
}

/* klikací plocha přes celou ikonu */
#cartSmall > a{
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* badge (počet kusů) nad vším */
#cartSmall .mnozstviCelkem {
    position: absolute;
    top: -.4em;
    left: .5em;
    min-width: 1.3em;
    font-size: .7em;
    font-weight:bold;
    color: #000;
    border-radius: 1em;
    text-align: center;
    z-index: 2;
    transition:all .5s ease
}


/* stav s položkami – jen změní barvu masky */
#cartSmall.hasItems{
  --cart-color: #E30513;
}

#cartSmall.hasItems .mnozstviCelkem {
    font-weight:normal;
    top: -1.0em;
    color: #E30513;
}

.input-group .add-to-cart{
    border-radius: 2em!important;
    font-size: 1em;
    padding: .5em .5em .35em 1em;  
}

.card-body .input-group .add-to-cart{
    font-size: 1.3em;
    padding: .2em .25em 0 .25em;  
}

/* ============================================
   CATEGORY GRID SYSTEM WITH SCROLL
   ============================================ */

/* Wrapper pro kategorie se šipkami */
.categories-scroll-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 2rem;
}

/* Kontejner pro podkategorie - Flex layout s max 2 řádky */
.d-flex.flex-wrap.gap-2 {
    display: flex !important;
    flex-wrap: wrap; /* Desktop: wrap */
    gap: 1.5rem !important;
    max-height: none; /* Desktop: bez limitu */
    overflow-x: visible;
    overflow-y: visible;
    scroll-behavior: smooth;
    padding: 0.5rem;
    /* Scrollbar viditelný pokud není JS */
    scrollbar-width: auto;
    -ms-overflow-style: auto;
}

/* Hide scrollbar pouze když JS běží (třída .js-enabled) */
.js-enabled .d-flex.flex-wrap.gap-2 {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    overflow-y: hidden; /* Skryj vertikální scroll když JS funguje */
}

.js-enabled .d-flex.flex-wrap.gap-2::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Šipky pro scroll */
.category-scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #333;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.category-scroll-btn:hover {
    background: #dc3545;
    color: white;
    border-color: #dc3545;
    transform: translateY(-50%) scale(1.1);
}

.category-scroll-btn.hidden {
    opacity: 0;
    pointer-events: none;
}

.category-scroll-btn.left {
    left: -20px;
}

.category-scroll-btn.right {
    right: -20px;
}

.kat-a{
    display:inline-block;
    color:#000;
    text-align:center;
    text-decoration:none;
    flex: 0 0 auto;
    width: auto;
    min-width: 150px;
    max-width: 200px;
}

.kat-a h3{
    text-transform:uppercase;
    margin-top:1em;
    font-size:1.1em;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.3;
}

.ovalNahled{
    display:inline-block;
    width:10em;
    height:10em;
    border-radius:12em;
    background-size:cover!important;
    border:.2em solid #fff;
    box-shadow:0 0 0 .2em rgba(0,0,0,.08) inset;
}

.kat-a:hover{
    color:#E30513;
    text-decoration:underline;
}



.kat-a:hover .ovalNahled{
    transform:translateY(-2px); transition:transform .15s ease; 
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 .5em 1em rgba(0,0,0,0.2);
  z-index:2;
}

/* stav s položkami – jen změní barvu masky */

.alergeny{
    display:inline-block;
    background: transparent url(alergeny.svg) no-repeat left center;
    background-size:contain;
    padding-left:2em
}

hr{
background:#DCDCDC;
color:#DCDCDC;
height:2px;
margin:2em 0;
}

.fotogalerie .col-3 {
    margin-bottom:1em;
    overflow:hidden;
}

.fg-product .fotogalerie .col-3 {
    height:6em;
    overflow:hidden;
}

.fg-product .fotogalerie .col-3:first-child {
    display:none;
}

#navbarSupportedContent{
    margin-top:2.5em;
    margin-bottom:2.5em;
        
}

.navbar-brand{
    padding-top: 0;
    padding-bottom: 0;

}

.navbar-brand .h2{
        margin-top: .7em;
}
.navbar-brand div{
    margin-left:1em;
}
.navbar-brand p{
    font-size:.9em;
}

#hero h3{
    margin-top: 1.3em;
    font-size: 2em;
}
#hero h2{
    font-size: 4em;
    margin-botom:0;
}

.day-menu .display-2{
    font-size:5.75em;
}

.jaknakupovat .row>*{
padding:0;
}

.jaknakupovat .row .col-6{
  padding: 0;
  display: flex;
  align-items: center;     /* vertikálně na střed */
  justify-content: center; /* horizontálně na střed */
  text-align: center;      /* zarovnání textu */
}



.review-txt{
  display: block;
  height: 6em;         /* omezíme výšku na cca 6 řádků */
  overflow: hidden;
  position: relative;  /* pro absolutní pozicování pseudo-prvku */
    cursor:pointer;
}

/* Přechod (fade-out) dole */
.review-txt::after {
  content: "";
  position: absolute;
  bottom: 0;          /* překryje spodní část textu */
  left: 0;
  width: 100%;
  height: 2em;        /* výška přesahu */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  pointer-events: none; /* aby se klik nepral s buttonem */
}

.review-txt.expanded {
  height: auto;
  overflow: visible;
}

.review-txt.expanded::after  {
  display:none;
}

.bg-grey{
    background:#EFEFEF;
}

.huge{
    display:block;
    text-align:center;
    font-size:5em;
}

.map-a{
    display:block;
    max-width:100%;
    min-height:10em;
    overflow:hidden;
}

.map-a img{
  object-fit:cover;        /* jedna strana 100 %, druhá dle poměru */
  object-position:center;  /* centrování H+V */
  display:block;

}

@media (max-width: 991.98px){
  .hero-bg { min-height: 320px; }
  nav .navbar-brand div{
    display:none
  }

  /* Košík vždy viditelný vedle hamburgeru */
  #cartSmall {
    order: 2;                   /* mezi brand a toggler */
    margin-left: auto;
    margin-right: 1em;
    width: 1.8em;
    height: 1.8em;
  }
  .navbar-toggler.custom-toggler {
    order: 3;
    margin-left: 0;
  }

  .navbar-nav .nav-link.active, .navbar-nav .nav-link.family, .navbar-nav .nav-link:hover{
    padding: 1em 2em !important;
    display:block;
      border-radius:0;
  }
  .nav-item:has(ul) > a.nav-link::after{
    display:none;
  }
  .nav-item:hover ul{
    display:none!important;
  }

  /* Kategorie na tabletu - 2 řádky s horizontálním scrollem */
  .d-flex.flex-wrap.gap-2 {
    flex-direction: column; /* Stack vertically first */
    flex-wrap: wrap; /* Then wrap to next column */
    max-height: 420px; /* Height for 2 rows */
    overflow-x: auto; /* Enable horizontal scroll */
    overflow-y: hidden; /* Hide vertical overflow */
    gap: 1.25rem !important;
  }

  .kat-a {
    flex: 0 0 auto;
    max-width: 200px;
  }

  .ovalNahled {
    width: 8.5em;
    height: 8.5em;
  }

  .category-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
  }

  .category-scroll-btn.left {
    left: -15px;
  }

  .category-scroll-btn.right {
    right: -15px;
  }
}

@media (max-width: 575.98px){
  .hero-bg { min-height: 220px; }

  /* Kategorie na mobilu - 2 řádky s horizontálním scrollem */
  .d-flex.flex-wrap.gap-2 {
    flex-direction: column; /* Stack vertically first */
    flex-wrap: wrap; /* Then wrap to next column */
    max-height: 380px; /* Height for 2 rows */
    overflow-x: auto; /* Enable horizontal scroll */
    overflow-y: hidden; /* Hide vertical overflow */
    gap: 1rem !important;
  }

  .kat-a {
    flex: 0 0 auto;
    max-width: 160px;
  }

  .ovalNahled {
    width: 7em;
    height: 7em;
  }

  .kat-a h3 {
    font-size: 0.95em;
    margin-top: 0.75em;
  }

  .category-scroll-btn {
    width: 35px;
    height: 35px;
    font-size: 1rem;
  }

  .category-scroll-btn.left {
    left: -10px;
  }

  .category-scroll-btn.right {
    right: -10px;
  }
}
@media (min-width: 992px){
  .hero-section { padding-bottom: 5rem; }
  .hero-section .story-box {
    position: absolute;
    left: 0;
    bottom: -8rem;
    /* max-width: 560px; */
    z-index: 2;
    min-height: 22em;
    margin: 0 1.5em;
  }
.hero-section{ overflow:visible; position:relative;    height: 39em; }
.hero-section > *, .hero-section .h100{
 height:100%;
}

.navbar-brand img{
    float:left;
    margin-right:1.8em
}

  /* Košík na desktopu - za menu linky */
  #cartSmall {
    order: 4;
    margin-left: 1.5em;
  }

}
@media (max-width: 991.98px){
  .hero-section .story-box { position: static; bottom: auto; }
}
.hero-dots .hero-dot{
  width:1em;height:1em;border-radius:999px;border:0;display:inline-block;margin:0 6px;
  background:#eee;box-shadow:0 0 0 1px rgba(0,0,0,.08) inset; cursor:pointer; padding:0;
}
.hero-dots .hero-dot.active{ background:#1f2937; }
.hero-dots .hero-dot:focus{ outline:2px solid #dc3545; outline-offset:2px; }
/* jemný fade pro pravý obsah */
#hero .col-lg-7>*{ transition: opacity .25s ease; }



.card .price{
    font-size:1.8em;
    margin-top:-.25em;
    display:block
}

button {
    background: #DFDFDF;
    color: #000;
    padding: .5em 1.5em;
    text-transform: uppercase;
    border: 0;
}

button:hover{
    background:#B77333;
    color:#fff;
    border:0;
}
/* Chrome, Safari, Edge, Opera */
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type='number'] {
    -moz-appearance: textfield;
}


.txtObj{
    border-bottom: 1px solid #000;
    background: #ffffff;
    padding: .5em;
}



            .number-input-wrapper {
                display: inline-flex;
                align-items: center;
                background-color: white;
                border: 2px solid #DFDFDF;
                overflow: hidden;
                    margin: .2em;
                    padding:0 .2em;
                    margin-top:1em;
            }

.number-input-wrapper button {
    background-color: white;
    border: none;
    /* padding: 10px; */
    cursor: pointer;
    font-size: 1.2em;
    color: black;
    margin: 0;
    padding: 0 .1em;
}

            .number-input-wrapper button:focus {
                outline: none;
            }

            .number-input-wrapper input {
                background:#fff;
                text-align: center;
                border: none;
                font-size: 1em;
                color: black;
                width:2em;
            }

            .number-input-wrapper input:focus {
                outline: none;
            }
#kStepsMode{
min-height:500px;
}
#kStepsMode .kStep {
    display: block; /* Změna z 'none' na 'block', aby byly elementy vždy dostupné pro animaci */
    opacity: 0; /* Začíná skryté */
    max-height: 0; /* Nastavíme maximální výšku na 0, aby byl prvek skrytý */
    overflow: hidden; /* Skryjeme obsah, který by přesahoval */
    transition:  opacity .5s ease; ,max-height .5s ease; /* Přechody pro plynulé animace */
}

.kStepsMode1 #kStep1,
.kStepsMode2 #kStep2,
.kStepsMode3 #kStep3 {
    opacity: 1; /* Nastavíme viditelnost na 1 */
    max-height: 3500px; /* Nastavíme dostatečnou max-height, aby prvek mohl být zobrazený, můžeš upravit podle potřeby */
}



.form input[type="text"],.form input[type="email"] ,.form input[type="tel"]  {
width: 100%;
    margin: 1em 0;
    border: 1px solid #c2c2c2;
    padding: .5em 1em;
}

.krabicka .col-5{

border-bottom: 1px solid #F7F7F7;


}
.krabicka>div {height: 100%;padding: 2em;}
.krabicka {

margin-bottom:1em;

height: 12em;


}

.krabicka .bg-grey{
    padding:2em 0;
}

.krabicka .col-1{
    padding:5em 0;
}



input[type="radio"] {
    width: 20px;
    height: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 2px solid #bfbfbf;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
    margin: .3em .3em -.3em .3em;
    display:inline-block
}
input[type="radio"]:before {
    content:"";
}
input[type="radio"]:checked::before {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #c99e67;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

/* Přidání pozadí pro kontrolu viditelnosti */
input[type="radio"]:checked {
    background-color: #e0e0e0;
}


.zaplacena, .zrusena,.vprocesu{
    text-align:center;
    margin:3em 1em;
}



.zaplacena {
    color:#65df58
}

.zrusena {
    color:#df5858
}

.vprocesu {
    color:#df9158
}
.shrnuti{
padding:1em;
}

#kodGo{
    padding: .5em 1em;
    border: 1px solid #c2c2c2;
}

.kosik-total {
    font-weight: 700;
    font-size: 1.4em;
}


/*

body,
html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

h1{
color: #5f5f5f;
    font-size: 3rem;
        font-weight: 700;
        margin-bottom: 3rem;
}

h1 strong{
color:#B87333;
}

.card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

section p img{
max-width:100%;
height:auto!important;
}

.card-body {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.card-body h3 {
    margin-bottom: 1rem;
    flex-shrink: 0;
}

.card-body p.fs-15 {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-footer {
    flex-shrink: 0;
}

.slider h2{
    font-size:8em;
}
.slider p{
    font-size:4em;
    color:#8E8E8D;
}

.slider a{
    font-size:2em;
}

a{
    color:#B87333;
    text-decoration:none;
}

.video video{
    width:100%;
}

section.video { 
    height: 25vw;
    overflow: hidden;
}

.bg-grey{
background: #F7F7F7
}

.ta-center{
text-align:center;
}

.kos{
background: transparent url(kos.png) no-repeat center center;
background-size:contain;
min-width:1em;
min-height:1em;
display:inline-block;
margin:0 2em;
}


.nav-link {
    color: #8a8a8a !important;
}

.nav-link.active {
    color: #2b2b2b !important;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #b8860b;
}

.slick-dots li button:before {
    font-family: slick;
    font-size: 0.625rem;
    line-height: 1.25rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    content: '•';
    text-align: center;
    opacity: 1;
    color: #e8e8e8;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fs-48 {
    font-size: 3rem;
}

.about {
    background-color: #e8e8e8;
}

.border-l-white {
    border-left: 0.625rem solid white;
}

.text-orange {
    color: #b87333;
}

.text-5f5f5f {
    color: #5f5f5f;
}

.fs-15 {
    font-size: 0.938rem;
}

.fs-13 {
    font-size: 0.813rem;
}

.fs-24 {
    font-size: 1.5rem;
}

.text-justify {
    text-align: justify;
}


.dual-slider .imgf {
    height: 15.625rem;
    display: block;
    margin: auto;
    width:100%;

}

.dual-slider .imgf img {
    max-width: 100%;
    height: auto;
    display: block;
    max-height: 100%;
}

.btn-gray {
    background-color: #dfdfdf !important;
    border-color: #dfdfdf !important;
}

.fs-14 {
    font-size: 0.875rem;
}

.to-top {
    background: #dfdfdf;
    color: black;
    width: 3.125rem;
    height: 3.125rem;
    display: flex;
    font-size: 1.563rem;
    justify-content: center;
    align-items: center;
    position: fixed;
    ÿ 
    tt 猉翴 0;
    right: 0;
    bottom: 0em;
}

.fs-11 {
    font-size: 0.688rem;
}

iframe {
    height: 50rem;
    width: 100%;
}

.card-body.position-absolute {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateX(-100%);
    transition: 0.4s;
}



.card.position-relative {
    cursor: pointer;
}

.card:hover .card-body.position-absolute {
    transform: translateX(0);
}


.cookie-card {
    max-width: 95%;
    width: 500px;
    padding: 40px 60px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    Z-INDEX: 1000000;
    background: white;
}

.cookie-logo {
    width: 8.125rem;
}

.nav-item {
    position: relative;
}

.nav-item:hover a.nav-link,.nav-item a.nav-link.active,.nav-item a.nav-link.family {
    color: #b87333 !important;
}

.submenu {
    display: none;
}

.nav-item:hover .submenu {
    display: block;
    position: absolute;
    background: white;
    width: 12.5rem;
    left: 0;
    top: 100%;
    z-index: 100000000;
}

.submenu a {
    color: #8a8a8a !important;
    line-height: 2 !important;
    display: block;
    padding-left: 30px;
    text-transform: uppercase;
}

.submenu a.text-dark:hover {
    color: #b87333 !important;
    background-image: url("../img/logo-orange.png");
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: left;
}

#cartSmall{
    position:fixed;
    right:0;
    top:30%;
    box-shadow: 0 1em 2em rgba(0, 0, 0, 0.2); 
    z-index: 1000;  
    max-width:8em;
    height:auto;
}

#cartSmall .h50{
    min-height:5em;
    padding:.5em;
    font-size:.9em;
    background:#fff;
}

#cartSmall .bg-orange{
    background:#B87333;
    color:#fff;
    text-align:center;
}

#cartSmall .mnozstviCelkem{
    background:transparent  url(kosik.png) no-repeat center top;
    padding:1em 1em 0 1em;
    font-size:2em;
    font-weight:500;
}

.card-body .row>div, .card-body .row{
    margin-top:0
}

.pralinky-vyber{
    font-size:.8em
}

.pralinky-vyber .col-md-6 {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
      white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.pralinky-vyber i {
    display: inline-block;
    padding: 0 0.59em;
    border-radius: 50%;
    background: #D0D0D0;
    color: #fff;
    font-size: .8em;
    font-style: normal;
    cursor:help
}

.pralinky-vyber i:hover {

    background: #B87333;

}

.pralinky-vyber span{
cursor:cell;
}

.card .price{
    font-size:1.8em;
    margin-top:-.25em;
    display:block
}

button {
    background: #DFDFDF;
    color: #000;
    padding: .5em 1.5em;
    text-transform: uppercase;
    border: 0;
}

button:hover{
    background:#B77333;
    color:#fff;
    border:0;
}


input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


input[type='number'] {
    -moz-appearance: textfield;
}


.txtObj{
    border-bottom: 1px solid #000;
    background: #ffffff;
    padding: .5em;
}



            .number-input-wrapper {
                display: inline-flex;
                align-items: center;
                background-color: white;
                border: 2px solid #DFDFDF;
                overflow: hidden;
                    margin: .2em;
                    padding:0 .2em;
                    margin-top:1em;
            }

.number-input-wrapper button {
    background-color: white;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    color: black;
    margin: 0;
    padding: 0 .1em;
}

            .number-input-wrapper button:focus {
                outline: none;
            }

            .number-input-wrapper input {
                text-align: center;
                border: none;
                font-size: 1em;
                color: black;
                width:2em;
            }

            .number-input-wrapper input:focus {
                outline: none;
            }
#kStepsMode{
min-height:500px;
}
#kStepsMode .kStep {
    display: block;  
    opacity: 0; 
    max-height: 0;  
    overflow: hidden; 
    transition:  opacity .5s ease; ,max-height .5s ease;  
}

.kStepsMode1 #kStep1,
.kStepsMode2 #kStep2,
.kStepsMode3 #kStep3 {
    opacity: 1;  
    max-height: 3500px;  
}



.form input[type="text"],.form input[type="email"] ,.form input[type="tel"]  {
width: 100%;
    margin: 1em 0;
    border: 1px solid #c2c2c2;
    padding: .5em 1em;
}

.krabicka .col-5{

border-bottom: 1px solid #F7F7F7;


}
.krabicka>div {
height: 100%;
}
.krabicka {

margin-bottom:1em;

height: 12em;
}

.krabicka .bg-grey{
    padding:2em 0;
}

.krabicka .col-1{
    padding:5em 0;
}



input[type="radio"] {
    width: 20px;
    height: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 2px solid #bfbfbf;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
    margin: .3em .3em .3em .3em;
    display:inline-block
}
input[type="radio"]:before {
    content:"";
}
input[type="radio"]:checked::before {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #B87333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

 
input[type="radio"]:checked {
    background-color: #e0e0e0;
}


.zaplacena, .zrusena,.vprocesu{
    text-align:center;
    margin:3em 1em;
}



.zaplacena {
    color:#65df58
}

.zrusena {
    color:#df5858
}

.vprocesu {
    color:#df9158
}
.shrnuti{
padding:1em;
}

#kodGo{
    padding: .5em 1em;
    border: 1px solid #c2c2c2;
}

.kosik-total {
    font-weight: 700;
    font-size: 1.4em;
}
.navbar{
position:fixed;
z-index:999;
width:100%;
}

#navbarplaceholder{height: 4em;}

#cookie-card .text-center .text-center {
    max-height: 28vh;
    overflow: auto;
  font-size:.8em;
}

#cookie-card #agree{
background-color: #000 !important;
  color: #fff;
  border:0;
  font-size:.8em;
}
#cookie-card #refuse{
background-color: #fff !important;
  color: #000;
  border:0;
  font-size:.8em;
}

.koupeno{
    background-color:#B87333 !important;
}

.justShow .img-wrapper{
    position: relative; width: 100%; padding-bottom: 75%; overflow: hidden;height:0
}


.justShow .img-wrapper img{
    position: absolute; top:0;left:0; width:100%;
}

.status-neaktivni{
    opacity: .25;
    filter: grayscale(1);
}


@media screen and (max-width: 767px) {

.about .row .col-md-8 img{
margin: 0 -8em;
}

#cartSmall{font-size:.8em;position: fixed;right: 0em;top: 5em;}
#cartSmall .btn{
padding: .2em !important;
        margin: 0;
        background: transparent !important;
        border: 0 !important;
        color: #fff;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 9999;
        text-indent: -9999px;
}

#cartSmall .h50:nth-child(2) {
    display: none !important;
}

.row .col-1, .row .col-2, .row .col-3, .row .col-4, .row .col-5, .row .col-6, .row .col-7, .row .col-8, .row .col-9{
    flex: 1 !important;
    width:100%;
    display:block;
    height:auto;
    padding:1em!important;
    margin:0!important;
}
.row .col-1{
    text-align:center;
}
.row .col-1 .kos{
    margin:auto;
}

.row{
display:block;
height:auto;
border-bottom: 1px solid #c2c2c2
}
 


    .fs-48 {
        font-size: 1.875rem;
    }

    .d-inline-flex.border.py-2.px-5.justify-content-center.align-items-center.gap-4 {
        flex-direction: column;
    }

    iframe {
        height: 25rem;
    }
}
*/

/* ============================================
   Banner System Styles
   ============================================ */

.banner-wrapper {
    margin-bottom: 2rem;
}

.banner-slide-container {
    position: relative;
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: overlay;
}

.banner-slide {
    position: relative;
    transition: opacity 0.5s ease;
}

.banner-slide .banner-content {
    z-index: 2;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    pointer-events: none;
}

.banner-slide .banner-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.banner-slide .banner-link:hover .banner-image {
    transform: scale(1.02);
    transition: transform 0.3s ease;
}

/* Banner dots navigation */
.banner-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0.5rem 0;
}

.banner-dot {
    width: 1em;
    height: 1em;
    border-radius: 999px;
    border: 0;
    background: #eee;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08) inset;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.banner-dot.active {
    background: #1f2937;
}

.banner-dot:hover {
    background: #dc3545;
}

.banner-dot:focus {
    outline: 2px solid #dc3545;
    outline-offset: 2px;
}

/* Homepage banner extra styling */
.banner-wrapper.homepage-secondary {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.banner-wrapper.homepage-secondary .banner-image {
    filter: brightness(0.85);
}

.banner-wrapper.homepage-secondary:hover .banner-image {
    filter: brightness(1);
}

/* Category banner styling */
.banner-wrapper.category-banner {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
    .banner-slide .banner-title {
        font-size: 2.5rem !important;
    }

    .banner-slide .banner-description {
        font-size: 1rem !important;
    }
}

@media (max-width: 575.98px) {
    .banner-slide .banner-title {
        font-size: 1.75rem !important;
    }

    .banner-slide .banner-description {
        font-size: 0.875rem !important;
    }

    .banner-slide .btn {
        font-size: 0.875rem !important;
        padding: 0.5rem 1rem !important;
    }
}

/* ============================================
   CART / KOŠÍK - NOVÝ DESIGN 2025
   ============================================ */

/* Stepper */
.cart-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
    margin-bottom: 2rem;
    gap: 0;
}

.cart-stepper-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1.5rem;
    position: relative;
}

.cart-stepper-num {
    font-size: 1.5rem;
    font-weight: 700;
    color: #999;
    margin-bottom: 0.25rem;
}

.cart-stepper-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.cart-stepper-step.active .cart-stepper-num {
    color: #E30513;
}

.cart-stepper-step.active .cart-stepper-label {
    color: #000;
    border-bottom: 3px solid #E30513;
    padding-bottom: 0.5rem;
}

.cart-stepper-arrow {
    width: 60px;
    height: 2px;
    background: #ddd;
    position: relative;
    margin: 0 0.5rem;
    margin-bottom: 1.5rem;
}

.cart-stepper-arrow::after {
    content: "→";
    position: absolute;
    right: -8px;
    top: -10px;
    color: #ddd;
    font-size: 1.2rem;
}

/* Tabulka produktů */
.cart-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}

.cart-table thead {
    border-bottom: 2px solid #eee;
}

.cart-table th {
    text-align: left;
    padding: 1rem 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
}

.cart-table th.cart-th-qty,
.cart-table th.cart-th-price,
.cart-table th.cart-th-total {
    text-align: center;
}

.cart-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
}

.cart-table td {
    padding: 1.5rem 0.5rem;
    vertical-align: middle;
}

/* Produkt v košíku */
.cart-product-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.cart-product-img {
    width: 100px;
    height: 75px;
    flex-shrink: 0;
    overflow: hidden;
}

.cart-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-product-info {
    flex: 1;
}

.cart-product-name {
    font-weight: 700;
    font-size: 1rem;
    color: #000;
    margin-bottom: 0.25rem;
}

.cart-product-code {
    font-size: 0.85rem;
    color: #E30513;
}

.cart-product-note {
    font-size: 0.8rem;
    color: #666;
    margin-top: 0.25rem;
}

/* Množství +/- tlačítka */
.cart-td-qty {
    text-align: center;
}

.cart-qty-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.cart-qty-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #E30513;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
    line-height: 1;
}

.cart-qty-btn:hover {
    background: #c00411;
    transform: scale(1.1);
}

.cart-qty-value {
    font-size: 1rem;
    font-weight: 500;
    min-width: 50px;
    text-align: center;
}

/* Ceny */
.cart-td-price,
.cart-td-total {
    text-align: center;
}

.cart-price-main {
    font-size: 1rem;
    font-weight: 600;
    color: #000;
}

.cart-price-nodph {
    font-size: 0.8rem;
    color: #999;
    margin-top: 0.25rem;
}

.cart-price-total {
    font-size: 1.1rem;
    font-weight: 700;
    color: #E30513;
}

.cart-td-total .cart-price-nodph {
    color: #E30513;
    opacity: 0.7;
}

/* Sumář ceny */
.cart-summary {
    background: #F5F5F5;
    padding: 1.5rem 2rem;
    margin: 1.5rem 0;
}

.cart-summary-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
}

.cart-summary-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}

.cart-summary-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
}

.cart-summary-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #E30513;
}

.cart-summary-nodph .cart-summary-label,
.cart-summary-nodph .cart-summary-value {
    font-size: 0.85rem;
    font-weight: 400;
    color: #666;
}

/* Slevový kód */
.cart-coupon {
    margin: 1.5rem 0;
    padding: 1rem 0;
}

.cart-coupon-input-wrap {
    display: flex;
    gap: 0.5rem;
    max-width: 400px;
}

.cart-coupon-input-wrap input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid #ccc;
    font-size: 0.95rem;
}

.cart-coupon-input-wrap button {
    padding: 0.75rem 1.5rem;
    background: #DFDFDF;
    color: #000;
    border: none;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
}

.cart-coupon-input-wrap button:hover {
    background: #B77333;
    color: #fff;
}

.cart-coupon-result {
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

/* Poznámka */
.cart-note-section {
    display: flex;
    gap: 2rem;
    margin: 2rem 0;
    align-items: flex-start;
}

.cart-note-wrap {
    flex: 1;
    max-width: 550px;
}

.cart-note-label {
    display: block;
    font-weight: 700;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.cart-note-textarea {
    width: 100%;
    padding: 1rem;
    border: 1px solid #ccc;
    font-size: 0.95rem;
    font-family: inherit;
    resize: vertical;
    min-height: 100px;
}

.cart-note-info {
    flex: 1;
    font-size: 0.85rem;
    color: #666;
    line-height: 1.5;
    padding-top: 1.5rem;
}

/* Navigace */
.cart-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2rem 0;
    padding-top: 1rem;
}

.cart-nav-back {
    color: #000;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
}

.cart-nav-back:hover {
    color: #E30513;
}

.cart-nav-continue {
    background: #E30513;
    color: #fff;
    border: none;
    padding: 1rem 2rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.cart-nav-continue:hover {
    background: #c00411;
}

/* Krok 2 - Doprava */
.cart-step-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.cart-delivery-section {
    margin-bottom: 2rem;
}

.cart-delivery-section h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.cart-delivery-options {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cart-delivery-option {
    display: flex;
    align-items: center;
    padding: 1rem;
    border: 1px solid #eee;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cart-delivery-option:hover {
    border-color: #E30513;
}

.cart-delivery-option input[type="radio"] {
    margin-right: 1rem;
}

.cart-delivery-name {
    flex: 1;
    font-weight: 500;
}

.cart-delivery-price {
    font-weight: 700;
    color: #E30513;
}

/* Krok 3 - Formulář */
.cart-form h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1.5rem 0 1rem 0;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.cart-form h3:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.cart-form-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.cart-form-col {
    flex: 1;
}

.cart-form-col-third {
    flex: 1;
}

.cart-form-col input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #ccc;
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
}

.cart-form-col input:focus {
    outline: none;
    border-color: #E30513;
}

.cart-form-info {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    color: #666;
    padding: 0.75rem;
}

.cart-consent {
    margin: 1.5rem 0;
}

.cart-consent label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    cursor: pointer;
}

.cart-consent input[type="checkbox"] {
    margin-top: 0.25rem;
}

.cart-consent a {
    color: #E30513;
}

.error-message {
    color: #E30513;
    font-size: 0.8rem;
    display: block;
}

/* Text helper */
.text-red {
    color: #E30513;
}

/* Responsive - Tablet */
@media (max-width: 991.98px) {
    .cart-stepper {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .cart-stepper-arrow {
        width: 30px;
    }

    .cart-table th.cart-th-price {
        display: none;
    }

    .cart-table td.cart-td-price {
        display: none;
    }

    .cart-product-img {
        width: 80px;
        height: 60px;
    }

    .cart-note-section {
        flex-direction: column;
    }

    .cart-note-wrap {
        max-width: 100%;
    }
}

/* Responsive - Mobil */
@media (max-width: 575.98px) {
    .cart-stepper-step {
        padding: 0 0.5rem;
    }

    .cart-stepper-num {
        font-size: 1.2rem;
    }

    .cart-stepper-label {
        font-size: 0.7rem;
    }

    .cart-stepper-arrow {
        width: 20px;
        margin: 0 0.25rem;
    }

    .cart-table {
        display: block;
    }

    .cart-table thead {
        display: none;
    }

    .cart-table tbody {
        display: block;
    }

    .cart-table tr {
        display: flex;
        flex-wrap: wrap;
        padding: 1rem 0;
        border-bottom: 1px solid #eee;
    }

    .cart-table td {
        padding: 0.5rem;
    }

    .cart-td-product {
        width: 100%;
        order: 1;
    }

    .cart-td-qty {
        width: 50%;
        order: 2;
        text-align: left;
    }

    .cart-td-price {
        display: none;
    }

    .cart-td-total {
        width: 50%;
        order: 3;
        text-align: right;
    }

    .cart-product-img {
        width: 70px;
        height: 52px;
    }

    .cart-summary-value {
        font-size: 1.2rem;
    }

    .cart-nav {
        flex-direction: column;
        gap: 1rem;
    }

    .cart-nav-continue {
        width: 100%;
        text-align: center;
    }

    .cart-form-row {
        flex-direction: column;
        gap: 0;
    }

    .cart-coupon-input-wrap {
        flex-direction: column;
    }
}

/* Úspěšné odeslání */
.cart-success {
    text-align: center;
    padding: 3rem 2rem;
}

.cart-success p {
    font-size: 1.1rem;
    line-height: 1.6;
}

/* Completed stepper step */
.cart-stepper-step.completed .cart-stepper-num {
    color: #28a745;
}

.cart-stepper-step.completed .cart-stepper-label {
    color: #28a745;
}


.fb,.ig,.wp{
    display: inline-block;
    width:1.5em;
    height:1.5em;
    background: transparent url(fb.svg) no-repeat center center;
    background-size: fit;
    text-decoration:none;
    text-indent: -999px;
    overflow:hidden;
}


.ig{
    background-image: url(ig.svg);
}


.wp{
    background-image: url(wp.svg);
}



/*figma AI patch*/
/* ============================================================
   FIGMA PATCH - Lahůdky Váhala
   ============================================================
   
   PŘEPISUJE EXISTUJÍCÍ SELEKTORY z původního CSS
   Všechny velikosti v relativních jednotkách (rem, em, clamp)
   
   NÁVOD: Přidej NA KONEC stávajícího css.css
   
   ============================================================ */


/* ============================================================
   #1 HERO SECTION - OVERLAY (svetlejší dle Figma)
   Původně: rgba(0,0,0,0.4) → Nově: rgba(0,0,0,0.2)
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.hero-section {
  background-color: rgba(0, 0, 0, 0.4);
  background-blend-mode: overlay;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.hero-section {
  background-color: rgba(0, 0, 0, 0.2) !important;
  background-blend-mode: overlay;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #2 HERO BACKGROUND - OVERLAY
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.hero-bg {
    background-color: rgba(0, 0, 0, .4);
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.hero-bg {
    background-color: rgba(0, 0, 0, 0.2) !important;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #3 HERO TEXTY - #hero h2, #hero h3
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
#hero h3{
    margin-top: 1.3em;
    font-size: 2em;
}
#hero h2{
    font-size: 4em;
    margin-botom:0;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
#hero h3 {
    margin-top: 1.3em;
    font-size: clamp(1.125rem, 2.5vw, 1.875rem); /* 18px - 30px */
    font-weight: 400;
    line-height: 1.23;
    text-align: right;
    color: #FFFFFF;
}

#hero h2 {
    font-size: clamp(2rem, 5vw, 2.5rem); /* 32px - 64px */
    font-weight: 800;
    line-height: 1.22;
    text-transform: uppercase;
    margin-bottom: 0;
}

#hero .price,
#hero .h2.price {
    font-size: clamp(1.75rem, 4vw, 3rem); /* 28px - 48px */
    font-weight: 800;
    line-height: 1.23;
    text-transform: uppercase;
    color: #FFFFFF;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #4 JÍDELNÍ LÍSTEK - .day-menu, .display-2
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.day-menu .display-2{
    font-size:5.75em;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.day-menu .display-2 {
    font-size: clamp(3rem, 8vw, 6rem) !important; /* 48px - 96px */
    font-weight: 700;
    line-height: 1.22;
    color: #111111;
}

.day-menu {
    margin-bottom: 2rem;
    margin-top: 1.5rem;
    font-weight: 700;
    font-size: clamp(0.9375rem, 1.5vw, 1.0625rem); /* 15px - 17px */
    line-height: 1.41;
    color: #111111;
}

.day-menu hr {
    border: none;
    height: 0.125em;
    background: repeating-linear-gradient(to right, black 0 0.375em, transparent 0.375em 0.5em);
    opacity: 1;
    margin: 1em 0;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #5 SUBMENU / DROPDOWN - box-shadow
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
nav li:hover>ul{
    display:block!important;
    min-width:12em;
    filter: drop-shadow(2px 4px 6px #f1f1f1);
}

.nav-item .submenu {
  display: none;
  position: absolute;
  background: #fff;
  z-index: 1000;
  min-width: 200px;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
nav li:hover>ul {
    display: block !important;
    min-width: 12em;
    filter: none !important;
    box-shadow: 0 0.25em 1.55em 0.125em rgba(0, 0, 0, 0.25) !important;
}

nav li>ul {
    box-shadow: 0 0.25em 1.55em 0.125em rgba(0, 0, 0, 0.25);
}

.nav-item .submenu {
    display: none;
    position: absolute;
    background: #fff;
    z-index: 1000;
    min-width: 12.5em;
    box-shadow: 0 0.25em 1.55em 0.125em rgba(0, 0, 0, 0.25);
}

.submenu a {
    color: #8a8a8a !important;
    line-height: 2 !important;
    display: block;
    padding-left: 1.875em;
    text-transform: uppercase;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #6 NAVBAR BRAND - logo a texty
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.navbar-brand .h2{
    margin-top: .7em;
}
.navbar-brand p{
    font-size:.9em;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.navbar-brand .h2,
.navbar-brand h2 {
    margin-top: 0.7em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.25rem, 3vw, 2rem) !important; /* 20px - 32px */
    line-height: 1.22;
    text-transform: uppercase;
    color: #E30513;
}

.navbar-brand p,
.navbar-brand .small {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: clamp(0.875rem, 1.5vw, 1.0625rem); /* 14px - 17px */
    line-height: 1.24;
    color: #111111;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #7 NAVBAR LINKS
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.navbar-nav .nav-link {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.3vw, 0.9375rem); /* 13px - 15px */
    line-height: 1.2;
    text-transform: uppercase;
    color: #343434;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #8 TLAČÍTKA - btn-danger, btn-primary apod.
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.btn-danger,
.btn-primary,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.family {
    background: #E30513 !important;
    border-radius: 1.25em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.3vw, 0.9375rem); /* 13px - 15px */
    line-height: 1.2;
    text-transform: uppercase;
    color: #FFFFFF !important;
    border: none;
}

.btn-danger:hover,
.btn-primary:hover {
    background: #c00411 !important;
    color: #FFFFFF !important;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #9 REVIEW / RECENZE
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.review-txt {
    display: block;
    height: 6em;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: clamp(0.8125rem, 1.3vw, 0.9375rem); /* 13px - 15px */
    line-height: 1.2;
    color: #111111;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #10 FOOTER
   ============================================================ */

/* --- FIGMA NOVÉ --- */
footer {
    font-family: 'Montserrat', sans-serif;
}

footer .bg-grey,
footer .footer-top {
    background: #EFEFEF !important;
}

footer h2,
footer .h2,
footer h3,
footer .h3 {
    font-weight: 800;
    font-size: clamp(1rem, 2vw, 1.25rem); /* 16px - 20px */
    line-height: 1.2;
    text-transform: uppercase;
    color: #E30513;
}

footer p,
footer address {
    font-weight: 400;
    font-size: clamp(0.8125rem, 1.3vw, 0.9375rem); /* 13px - 15px */
    line-height: 1.2;
    color: #000000;
}

footer a {
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.3vw, 0.9375rem);
    color: #000000;
}

footer .contact-phone,
footer .contact-email,
footer strong {
    font-weight: 700;
    font-size: clamp(0.9375rem, 1.5vw, 1.0625rem); /* 15px - 17px */
    line-height: 1.29;
    color: #111111;
}

footer .opening-hours,
footer .hours {
    font-weight: 400;
    font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
    line-height: 1.18;
    color: #000000;
}

footer .copyright,
footer small {
    font-weight: 400;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem); /* 13px - 15px */
    line-height: 1.2;
    text-align: center;
    color: #000000;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #11 BG-GREY (CTA strip atd.)
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.bg-grey {
    background: #EFEFEF !important;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #12 CORINTHIA FONT (nahrazeno Montserrat ExtraBold)
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.corinthia-font {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: clamp(1.75rem, 5vw, 3.75rem); /* 28px - 60px */
    line-height: 1.2;
    color: #111111;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #13 HUGE CLASS (velké texty)
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.huge{
    display:block;
    text-align:center;
    font-size:5em;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.huge {
    display: block;
    text-align: center;
    font-size: clamp(2.5rem, 6vw, 5rem); /* 40px - 80px */
    font-weight: 800;
    line-height: 1.2;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #14 XFS-4 CLASS
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.xfs-4{
    font-size:4rem;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.xfs-4 {
    font-size: clamp(2rem, 5vw, 4rem); /* 32px - 64px */
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #15 PRODUCT CARD
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.product-card{
    border-radius:0;
    border:5px solid #fff !important;
    z-index:1;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.product-card {
    border-radius: 0;
    border: 0.3125em solid #fff !important;
    z-index: 1;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #16 GALLERY SECTION
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.gallery-section {
  min-height: 464px;
  background-color: rgba(0, 0, 0, 0.2);
  background-blend-mode: overlay;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.gallery-section {
    min-height: 29em;
    background-color: rgba(0, 0, 0, 0.2);
    background-blend-mode: overlay;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #17 HERO DOTS (carousel indikátory)
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
.hero-dots .hero-dot{
  width:1em;height:1em;...
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
.hero-dots .hero-dot {
    width: 0.875em;
    height: 0.875em;
    border-radius: 50%;
    border: 0;
    display: inline-block;
    margin: 0 0.375em;
    background: #DCDCDC;
    box-shadow: 0 0 0 0.0625em rgba(0, 0, 0, 0.08) inset;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s ease;
}

.hero-dots .hero-dot.active {
    background: #676767;
}

.hero-dots .hero-dot:focus {
    outline: 0.125em solid #dc3545;
    outline-offset: 0.125em;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #18 STORY BOX (Náš příběh)
   ============================================================ */

/* --- FIGMA NOVÉ --- */
.hero-section .story-box {
    background: #FFFFFF;
}

.hero-section .story-box h2,
.hero-section .story-box .h2,
.hero-section .story-box .corinthia-font {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 3.75rem); /* 32px - 60px */
    line-height: 1.2;
    color: #111111;
}

.hero-section .story-box p {
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(0.9375rem, 1.5vw, 1.0625rem); /* 15px - 17px */
    line-height: 1.41;
    color: #343434;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   #19 HR (horizontal rule / oddělovače)
   ============================================================ */

/* --- PŮVODNÍ (zakomentováno) ---
hr{
    background:#DCDCDC;
    color:#DCDCDC;
    height:2px;
    margin:2em 0;
}
--- KONEC PŮVODNÍ --- */

/* --- FIGMA NOVÉ --- */
hr {
    background: #DCDCDC;
    color: #DCDCDC;
    height: 0.125em;
    margin: 2em 0;
    border: none;
    border-radius: 1.25em;
}
/* --- KONEC FIGMA NOVÉ --- */


/* ============================================================
   KONEC FIGMA PATCH
   ============================================================ */

/* ============================================================
   DOPRAVA - POČET KUSŮ
   ============================================================ */
.cart-delivery-option-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75em 1em;
    margin-bottom: 0.5em;
    background: #fff;
    border: 1px solid #DFDFDF;
    border-radius: 4px;
    gap: 1em;
}
.cart-delivery-option-wrap:hover {
    border-color: #c00;
}
.cart-delivery-option-wrap .cart-delivery-option {
    display: flex;
    align-items: center;
    gap: 0.5em;
    flex: 1;
    cursor: pointer;
}
.cart-delivery-option-wrap .cart-delivery-name {
    font-weight: 500;
}
.cart-delivery-qty {
    display: flex;
    align-items: center;
    gap: 0.3em;
}
.cart-delivery-qty .doprava-pocet {
    width: 3.5em;
    padding: 0.4em 0.5em;
    text-align: center;
    border: 1px solid #DFDFDF;
    border-radius: 3px;
    font-size: 1em;
}
.cart-delivery-qty .doprava-pocet-label {
    color: #666;
    font-size: 0.9em;
}
.cart-delivery-price-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 100px;
}
.cart-delivery-price-wrap .doprava-cena-jednotka {
    font-size: 0.8em;
    color: #888;
}
.cart-delivery-price-wrap .doprava-cena {
    font-weight: 700;
    font-size: 1.1em;
}


