
body {
font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Oswald", sans-serif;
   font-optical-sizing: auto;
   text-transform: uppercase;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
  color: #212529;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  text-decoration: underline;
}

.title-icon  {
    width: 34px;
    position: relative;
    top: -4px;
    margin-right: 5px;
}

.sassy-frass-regular {
  font-family: "Sassy Frass", cursive;
  font-weight: 400;
  font-style: normal;
}

.mini-menu {
    font-size: 80%;
    background: #f3f3f3 !important;
    border-bottom: 1px solid #eaeaea;
}

.mini-menu .nav-link {
    padding: 5px 10px;
    color: #000000b6;
}

.mini-menu .nav-link:hover {
    text-decoration: underline;
}

.mini-menu .nav-item.nav-last .nav-link {
    padding-right: 0
}

/*
.bg-success {
    --bs-bg-opacity: 1;
    background-color: #98bc07 !important;
}*/

.category-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* přesně 5 na řádek */
  gap: .5rem;
}

.category-btn {
  display: flex;
  align-items: center;      /* vertikálně na střed */
  justify-content: flex-start;
  gap: 12px;
    padding: 8px 12px;
  text-align: left;
  font-size: 90%;
  text-decoration: none;
  background: #fafafa;
    border: 1px solid #e5e5e5;
    color: #494949;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    font-weight: 500;
}

.category-btn:hover, .category-btn:active, .category-btn:focus,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
  background: #fff;
  border: 1px solid #dddddd;
    color: #494949;
}

.category-btn.hover-shadow:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.category-btn span {
  line-height: 140%;
}

.category-btn img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

@media (max-width: 800px) {
    .category-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* přesně 5 na řádek */
        gap: .75rem;
    }
}

@media (max-width: 575px) {
    .category-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* přesně 5 na řádek */
        gap: .75rem;
    }
}

@media (max-width: 350px) {
    .category-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr); /* přesně 5 na řádek */
        gap: .75rem;
    }
}

.btn.btn-success {
    background-color: #98bc07;
    border: 1px solid #98bc07;
}

.btn.btn-with-img {
    display: flex;
    box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, .1);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
}

/* jemný hover efekt */
.hover-shadow:hover {
transform: translateY(-4px);
box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.transition {
transition: all 0.3s ease;
}

.badge {
    text-transform: uppercase;
}

.shadow-font {
    color: #595751;
}

.b-icon i {
    width: 50px;
}

.navbar {
  /*background: #fce461 !important;*/
  background: #f8f9fa !important;
    border-bottom: 1px solid #eaeaea;
}

.navbar .navbar-toggler {
    border: 0;
}

.navbar .navbar-nav .nav-link {
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    text-transform: uppercase;
    padding: .5rem 1rem;
}

.navbar2 {
  justify-content: start;
    margin: 0;
    padding: 4px;
    background: #eff8ff !important;
}

@media (max-width: 600px) {
    .navbar2 .nav-link {
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #c2daed;
    }
}

.header-cart-mobile {
    position: relative;
    top: -1px;
    text-decoration: none;
    color: #000000a6;
    padding: 0 10px;
}

.header-cart-mobile span {
    font-size: 60%;
    border-radius: 6px !important;
    left: 80% !important;
    background-color: #98bc07 !important;
}

@media (max-width: 767px) {
    .navbar .search {
        margin-bottom: 15px;
    }

    .navbar .search {
        margin-right: 0 !important;
    }
}

.search {
  background: #f8f9fa !important;

    border: 1px solid #dfdfdf;
    border-radius: 8px;
}

.search input {
    border-radius: 0.375rem 0 0 0.375rem;
    border: none;
}

.search button {
  border-radius: 0 0.375rem 0.375rem 0;
  background: #e8e8e8;
  border: none;
}

.search .form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: none;
    outline: 0;
    box-shadow: none;
}

.navbar-brand img {
  max-height: 40px;
}

.categories-list a.btn {
    width: calc(20% - 8px);
  background: #3a6dbc;
    color: #fff;
    border: none;
    padding: 12px 20px;
    font-size: 90%;
    margin-left: 10px !important;

}

.categories-list a.btn.active {
  background: #3482f9;
    color: #fff;
    border: none;

}

@media (max-width: 767px) {

    .categories-list a.btn {
        padding: 10px 15px;
        font-size: 90%;
        width: calc(33.333% - 8px);
        margin-left: 10px !important;
    }

    .categories-list a:nth-child(3n + 1) {
        margin-left: 0 !important;
    }

}

@media (max-width: 600px) {

    .categories-list a.btn {
        padding: 10px 15px;
        font-size: 90%;
        width: calc(50% - 8px);
        margin-left: 10px !important;
    }

    .categories-list a:nth-child(odd) {
        margin-left: 0px !important;
    }

}

@media (min-width: 768px) {
    .categories-list a:nth-child(5n + 1) {
        margin-left: 0 !important;
    }
}

.categories-list a:first-child {
  margin-left: 0px !important;
}

.categories-list a.btn:hover {
  background: #234a86;
}

.categories-list p {
  font-size: 80%;
}

.benefits {
  text-align: center;
  border-radius: 10px;
  padding: 0 0;
}

.benefits a {
    color: #212529;
    text-decoration: underline;
}

.benefits a:hover {
    color: #212529;
    text-decoration: none;
}

.benefits ul {
    list-style: none;
    text-align: left;
    padding-left: 0;
}

.benefits ul li {
    padding-bottom: 5px;
}

.breadcrumb {
    font-size: 80%;
    display: flex;
  flex-wrap: nowrap;        /* 👈 Zabrání zalomení na víc řádků */
  overflow: hidden;         /* Schová přetékající obsah */
  text-overflow: ellipsis;  /* Tečky na konci při přetečení */
  white-space: nowrap;      /* Vše na jeden řádek */
  max-width: 100%;          /* Omezí šířku na rodiče */
}

.breadcrumb li {
  display: inline;          /* Položky vedle sebe */
  margin: 0;
  padding: 0;
}

.breadcrumb li::before {
  display: none;
}

.breadcrumb li::after {
  content: "›";
  margin-left: 0.5rem;
  color: #888;
}

.breadcrumb li:last-child::after {
  content: "";
}

.breadcrumb a {
    color: #212529bf;
}

.breadcrumb a:hover {
    text-decoration: none;
}

.card-img {
    width: 100%;
    height: 220px;
    text-align: center;
    padding: 8px;
}

.card-img .card-img-top {
    width: auto;
    max-width: 100%;
    height: 100%;
}

.badges-group {
    /*position: absolute;
    top: 10px;
    right: 10px;*/
    text-align: right;
    margin: 4px 8px;
    height: 20px;
}

.badges-group .badge {
   margin-bottom: 5px;
}

.card-product {
    border: 1px solid #e5e5e5;
}

.card-product .card-body {
    justify-content: space-between;
    display: flex;
    flex-direction: column;
}

.card-product .card-footer {
    border-top: 1px solid #e5e5e5;
    padding: 10px 15px;
}

.card-product h5 a {
    display: block;
    color: rgb(55 55 55);
    font-size: 85%;
    text-decoration: none;
    line-height: 140%;
}

.card-product h5 a:hover {
    text-decoration: underline !important;
}

.label-available_at {
    color: rgb(65 205 165) !important;
    font-size: 80%;
}

.stock-label.available_at {
    background-color: rgb(65 205 165) !important;
}

.card-product .card-title {
   /*min-height: 50px;*/
   margin-bottom: 5px;
}

.card-product .card-text {
   font-size: 80%;
}

.card-body-2 {
    border-bottom: 1px solid #ededed;
    background: #ffffff;
    padding: 10px 14px 10px;
    border-top: 1px solid #ededed;
    margin: 5px 0 0 0;
    /* border-radius: 4px; */
    text-align: center;
    position: relative;
    /* margin-top: -28px; */
}

.stock-and-price {
        margin-top: 5px;
    }

@media (min-width: 380px) and (max-width: 575px) {

    .small-products > div.col-12 {
        width: 50%;
    }
    .small-products .stock-and-price {
        font-size: 77%;
    }

    .small-products .card-body {
        padding: 10px;
    }

    .label-available_at {
       display: none;
    }

    .small-products .badges-group .badge {
        font-size: 66%;
    }

    .small-products .card-product h5 a {
        font-size: 66%;
    }

    .small-products .card-product .card-title {
        /*min-height: 30px;*/
    }

}

.tabs-filter .nav-tabs {
    border: none !important;
}

.tabs-filter .nav-item {
    width: 100%;
    text-align: center;
}
 
.card-filter {
    border-color: #e3e3e3;
}

.tabs-filter .nav-link {
    padding: 5px;
}

.tabs-filter .nav-link.active {
    border: 1px solid #dee2e6 !important;
    border-radius: 6px;
}

.small-products .card-img {
    width: 100%;
    height: 150px;
}

.small-products .card-img .card-img-top {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.small-products .card-product .card-text {
    /*display: none;*/
}

.small-products .card-footer a {
    /* display: none; */
    font-size: 80%;
    margin: 0 auto;
}

.small-products .card-footer a.with-cart {
    display: none;
}

.small-products .card-footer button {
    font-size: 80%;
    margin: 0 auto;
}

.limit-3-lines {
  /*display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;*/
}

.product-img-detail {
   text-align: center;
}

.product-img-detail img {
   max-height: 400px;
   width: auto;
}

h1 + .product-img-detail {
   margin: 20px 0;
}

.alert-limit {
    font-size: 80%;
    padding: 8px 16px;
    background: #fffdd9;
    border-color: #f6f4cb;
    color: #927033;
}

.icon-li-list {
    padding-left: 26px;
    line-height: 150%;
    margin-bottom: 0;
}

.icon-li-list + .icon-li-list {
    margin-top: 10px;
}

.icon-li-list i {
   width: 26px;
   position: relative;
    margin-left: -26px;
}

.icon-li-list hr {
   margin-bottom: 5px;
}

.list-group-flush i {
   width: 26px;
   position: relative;
   color: #1a8755;
}

.list-group-flush i.fa-circle-info {
   width: auto;
   color: #979797;
   font-size: 80%;
   top: -1px;
   right: -4px;
   margin-left: 4px;
}

.prop-product-body .card {
    background: none !important;
    border: none;
    border-top: 4px solid #e6e1cc;
}

.prop-product-body .img-prop img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 5px;
}

.prop-product-body .img-prop {
    display: flex;
    justify-content: center;  /* horizontálně */
    /*align-items: center; */     /* vertikálně */
    width: 100%;             /* příkladová šířka */
    height: 100px;            /* příkladová výška */
    overflow: hidden;         /* ořízne přetékající části */
    border-radius: 8px;
}

.prop-product-body-top .img-prop {
    height: 250px;            /* příkladová výška */
}

@media (max-width: 768px) {

    .prop-product-body .card-body {
        padding: 10px;
    }

    .prop-product-body h5 {
        font-size: 80%;
    }

    .prop-product-body .img-prop {
        height: 75px;            /* příkladová výška */
    }

    .prop-product-body-top .img-prop {
        height: 250px;            /* příkladová výška */
    }

    .card-product .card-title {
        /*min-height: 50px;*/
        margin-bottom: 10px;
        }

}

.big-price {
   font-size: 180%;
   color: rgb(189, 38, 38);
   font-weight: bold;
   line-height: 110%;
}

.big-price .info {
   font-size: 11px;
    font-weight: normal;
    color: rgb(124, 124, 124);
    font-style: italic;
    position: relative;
    top: -5px;
}

.price .info {
   font-size: 11px;
    font-weight: normal;
    color: rgb(124, 124, 124);
    font-style: italic;
    position: relative;
    top: -5px;
}

.btn.btn-add-cart {
   background-color: #98bc07;
   border-color: #98bc07;
   font-size: 120%;
}

.btn.btn-add-cart:hover {
   background-color: #abd30a;
   border-color: #abd30a;
}

.small-desc {
   margin-bottom: 15px;
}

.small-desc a {
   color: rgb(116, 116, 116);
   font-size: 80%;
}

.fixed-menu {
    display: none;
    padding: 8px 10px !important;
}

.fixed-menu li {
    padding: 0px !important;
}

.fixed-menu a {
    text-align: center;

    color: #212529;
}

.fixed-menu a div {
    font-size: 80%;
}

.fixed-menu i {
  align-items: center;   /* zarovnání na střed vertikálně */
  justify-content: center;
  
}

.fixed-menu .dropdown-toggle::after {
    display: none !important;
}

.fixed-menu .dropdown-toggle {
    border: 0;
    background: none;
}

.fixed-menu .dropdown-menu.show {
    position: absolute;
    inset: auto auto 0px 0px;
    margin: 0px;
    padding-top: 0;
    transform: translate3d(0, -69px, 0px);
    width: 100%;
    border: none;
    border-top: 1px solid #d4cece;
}

.fixed-menu .dropdown-menu.show .dropdown-item a {
    border-bottom: 1px solid rgb(225, 225, 225);
    padding: 10px 0;
}

@media (max-width: 768px) {
    .fixed-down {
        z-index: 9999999;
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
        background: white;
        padding: 16px 28px 0;
        box-shadow: 0 0 10px #d4cece;
    }

     .fixed-menu {
        display: block !important;
        z-index: 9999999;
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
        background: white;
        padding: 16px 28px 0;
        box-shadow: 0 0 10px #d4cece;
    }
}

.glide__arrow {
    color: #ffc107;
    padding: 9px 12px;
    background-color: transparent;
    opacity: .5;
    border: 0;
    border-radius: 4px;
    box-shadow: none;
    text-shadow: none;
}

.carousel-inner {
  position: relative;
  overflow: hidden; /* jistota, že přechod nevyčnívá */
  border-radius: 10px;
}

.carousel-inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%; /* přechod zakryje spodní polovinu boxu */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  pointer-events: none; /* aby nepřekážel klikání */
}

.banner-top-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 90%; /* přechod zakryje spodní polovinu boxu */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
  pointer-events: none; /* aby nepřekážel klikání */
  text-align: center;
  color: white;
  border-radius: 10px;
}

.banner-top-text {
  position: absolute;
  bottom: .1rem;
  left: 15%;
  right: 15%;
  text-align: center;
  color: white;
}

.small-banner {
  font-size: 70%;
}

.small-banner h5 {
  font-size: 120%;
}

.carousel-dark .carousel-caption {
    color: #fff;
    z-index: 999;
    bottom: .1rem;
}

.carousel-item {
    max-height: 300px;
}

.list-scroll-content {
    position: relative;
    height: 450px;
    overflow: auto;
}

.list-navbar {
    border-radius: 8px;
}

.card-messages .message-admin {
    background: #fce461;
}

.card-messages .type-rating .message-block {
    border: 1px solid #fce461;
    background-color: #fff6c7 !important;
    color: #524a1f !important;
    width: 100% !important;
    max-width: 100% !important;
}

.rating input[type="radio"] {
  display: none;
}

.rating label {
  font-size: 1.8rem;
  color: #ccc;
  cursor: pointer;
  transition: color 0.2s;
  padding: 0 3px;
}

/* rozsvítí všechny hvězdy nalevo od vybrané */
.rating input[type="radio"]:checked ~ label i {
  color: #ffc107;
}

/* efekt při najetí myší */
.rating label:hover,
.rating label:hover ~ label {
  color: #ffca2c;
}

.variant-stamp {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6); /* poloprůhledné */
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* ať to neblokuje klik na produkt */
    border: 2px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 0 4px rgba(0,0,0,0.4);
}

@media (max-width: 767px) {

    .banner-top-content {
        height: 80%; /* přechod zakryje spodní polovinu boxu */
    }

    .banner-top-text {
    bottom: .25rem;
    }

    .big-banner,
    .small-banner {
    font-size: 70%;
    }

    .big-banner h5,
    .small-banner h5 {
    font-size: 150%;
    }

    .carousel-inner::after {
        height: 80%; /* přechod zakryje spodní polovinu boxu */
        background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    }

    .carousel-dark .carousel-caption {
        bottom: .25rem;
    }

    .d-md-block {
        display: block !important;
        margin: 0;
        font-size: 80%;
        padding: 0;

    }

    .list-group {
        position: static;
        top: 0;
    }

    .list-scroll-content {
        height: 300px;
    }

    .product-subtotal {
        width: 100%;
        margin-top: 15px;
        padding-top: 10px;
        border-top: 1px solid #dadada;
    }

    .cookie-banner {
        bottom: 75px;
    }
}



