#loading {
    border: 16px solid #ede2da;
    border-radius: 50%;
    border-top: 16px solid #3b2c2f;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: fixed;
    display: none;
    z-index: 9999;
}

.loader {
    border: 16px solid #ede2da;
    border-radius: 50%;
    border-top: 16px solid #3b2c2f;
    width: 80px;
    height: 80px;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.error-message {
    color: #fff;
    background-color: #9c2d32;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 20px;
    font-family: Euclidsquare webs, sans-serif;
    font-size: 16px;
}

.w-form-fail {
    display: block;
    margin-top: 10px;
    padding: 10px;
}

/*
.banner-mobil {
    border-radius: 6px;
}
.vyroba .banner-cover {
    display: flex;
}
.banner-cover:hover {
    background-image: linear-gradient(rgba(59, 44, 47, .2), rgba(59, 44, 47, .2));
    border-radius: 6px !important;
}
*/
@media screen and (min-width: 1280px) {
    .text-modal-okno {
        white-space: initial;
        word-break: normal;
    }
}

/*
@media screen and (max-width: 767px) {
    .banner.slider-1 {
        padding-bottom: 0px;
    }
}
*/
@media screen and (max-width: 767px) {
    .banner-mobil {
        position: inherit;
        padding-bottom: 20px;
    }
}

.link-33 {
    white-space: initial;
}

.div-vyrobek-nakup {
    align-self: stretch;
    justify-self: center;
}

.div-vyrobek-nakup .life:hover {
    transform: none;
}

.uvod {
    margin-left: 0;
}

/*
.ikonky {
  margin-right: 0;
}
*/

.gramaz-text.vyhledavani {
    font-family: Euclidsquare webs, sans-serif;
}

.banner-cover {
    text-decoration: none;
}

@media screen and (max-width: 479px) {
    .nakup-div-1a {
        padding-left: 15px;
        margin-top: 0;
        margin-bottom: 0;
    }
}
@media screen and (max-width: 991px) {
    .poznamka-2, .poznamka-1, .div-navic {
        padding-left: 15px;
    }
}

.notifikace {
    font-family: Euclidsquare webs, sans-serif;
}


/* recenze */
/*
.button-napsat-recenzi.diskuze {
    width: 33.33%;
}
*/
.hvezda-box {
    margin-bottom: 0;
}
.hvezda-box .hvezda.prihlaseni {
    width: 20px;
    max-width: 100%;
    vertical-align: bottom;
    cursor: pointer;
}
.div-recenze-komplet {
    width: 100%;
}
.div-koment-buttony a {
    text-decoration: none;
}


/* foxentry */
.formular {
    padding-left: 16px;
    padding-right: 20px;
}
.formular label{
    padding-left: 4px;
}
.formular input{
    margin-left: 0;
    padding: 0 4px;
}
.foxentry-form-whisper,
.foxentry-input-icon {
    z-index: 9!important;
}

.odeslat-objednavku {
    align-items: stretch;
}

.nakupni-kosik .cena.velka {
    font-size: 16px;
    line-height: 16px;
}

.cena-detail .cena.velka {
    letter-spacing: .25px;
    margin-bottom: 0px;
    font-family: Euclidsquare webs, sans-serif;
}

.nacist-dalsi-button {
    font-family: Euclidsquare webs, sans-serif;
}

.opacity0 {
    opacity: 0;
}

@media screen and (max-width: 767px)
{
    .rendr {
        display: none;
    }
}

.vyber-cisla {
    margin-left: 0;
    width: 80px;
}

@media screen and (max-width: 479px) {
    .key-word-button {
        display: block;
    }
}

.smaller-search-wrapper em, .text-search-wrapper em, .paragraph-search em, .key-word-button em {
    background-color: #dcde8f80;
    font-style: normal;
}

/* rychly nakup */
.nakup-panel a {
    text-decoration: none;
}

@media screen and (max-width: 479px) {
    .product-complet.home {
        display: flex !important;
    }
}

#snippet--header-hledani {
    width: 100%;
}

#snippet--header-hledani-mobil {
    width: 100%;
}

.autocomplete-loader-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25%;
    width: 100%;
}

.transport-copy-wrapper .shipping-discount-info {
    margin-top: 5px;
}

.shipping-discount-info {
    margin-top: -5px;
}

.shipping-discount-price {
    color: #c6a25f;
    font-weight: bold;
}

.shipping-discount-percent {
    color: rgb(190 66 71 / 90%);
    font-weight: bold;
}

/* Smartform v2 — vlastní stylování naseptávače */
.smartform-dropdown {
    background-color: gray;
    color: #009;
    border-color: rgb(100%, 100%, 0%);
}

.smartform-dropdown .smartform-item:hover,
.smartform-dropdown .smartform-item.selected {
    background-color: #CC6699;
}

a.gramaz-tlacitko {
    text-decoration: none !important;
}
a.gramaz-tlacitko  {
    text-decoration: none !important;
}

/* Lajk recenze — stav "již lajkováno" */
.comment-button--liked {
    background-color: var(--burlywood, #e0b89a);
}
.comment-button--liked .like {
    opacity: 0.7;
    filter: brightness(0.75);
}

/* Fix: mobilní slider produktů – košík "Mohlo by vám také chutnat" a detail produktu "Mohlo by vás také zajímat"

   Kořenová příčina: live CSS má v 991px breakpointu "display: flex" na .web-section, které v referenčním
   design CSS není. To udělá z .web-section flex-row kontejner a .web-container se stane flex itemem,
   jehož min-width:auto = součet šířek všech produktových karet (~9×220px = 1980px) → stránka se rozleze.

   Oprava: vrátit .web-section na block při 991px (při 767px ho redesign CSS správně nastaví na flex column). */
@media screen and (max-width: 991px) {
    .web-section {
        display: block;
    }
}

/* Pojistka: flex-shrink: 0 zajistí, že karty si udrží šířku a slider scrolluje správně. */
@media screen and (max-width: 991px) {
    .product-slider-mobile .product-slide {
        flex-shrink: 0;
    }
}

@media screen and (min-width: 1440px) {
    .product-grid .product-image {
        width: 100%;
    }
}

.grouped-pickup-hidden {
    display: none !important;
}

.grouped-pickup-row .transport-logo-grouped {
    max-width: 46%;
    max-height: 100%;
}
