:root {
    --banner-rating-border-radius: 3rem; /* více zaoblené oproti předchozím 2rem */
    --search-border-radius: 3rem; /* můžete upravit podle potřeby */
    --search-font-size: clamp(1rem, 2vw, 1.75rem);
    --banner-rating-border-radius: 1.5rem;
    --banner-rating-btn-bg: var(--color-primary);
    --banner-rating-btn-bg-hover: var(--color-primary-hover);
}


body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    background: #f9f9f9;
    color: #1b1b1f;
    font-size: 1.5rem;
}
h2{
    font-size: 2rem;
}

/* HEADLINE AT ARTICLES */

h1[itemprop="headline"] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

h1[itemprop="headline"]::before,
h1[itemprop="headline"]::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
}


/*** HEADLINE AT PRODUCTS ***/

.elegant-heading-bubble {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    color: #1b1b1f;
    margin: 2rem auto;
    text-align: center;
    background: none;
    border-radius: 0;
    box-shadow: none;
}

.elegant-heading-bubble::before,
.elegant-heading-bubble::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #ccc;
    margin: 0 1rem;
}

.elegant-heading-bubble > span {
    white-space: nowrap;
}

/* NO ZOOM AT PICTURE */
.mousetrap,
img[style*="cursor: zoom-in"],
div[style*="z-index: 50"][style*="position: absolute"] {
    display: none !important;
}

/* NO TIME DISPLAYED AT ARTICLES */
time[datetime="17.7.2025"] {
    display: none;
}
/***SUBMIT BUTTON***/
button[data-testid="buttonSubmit"] {
    border-radius: 12px !important;
}
input[type="submit"].btn-login {
    border-radius: 12px !important;
}

/***NO SHORT PRODUCT DESCRIPTION***/
.p-desc[data-micro="description"][data-testid="productCardShortDescr"] {
    display: none !important;
}

/***HIGHLIGHT ITEMS IN MENU ON MOBILE***/
/* Neaplikovat na kontakty */
.menu-item-29 a::before {
    content: none;
}
.menu-item-external-31 a {
    color: #b33951;
    font-weight: bold;
}

.navigationActions a span,
.menu-item-29 a {
    color: #b33951;
    font-weight: bold;
}
.menu-item-external-31 a {
    color: #b33951;
    font-weight: bold;
}


.menu-item-733 a {
    color: #b33951;
}


/***HEADERS***/

header[itemprop="headline"] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
}

header[itemprop="headline"]::before,
header[itemprop="headline"]::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
}

header[itemprop="headline"] h1 {
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    margin: 0;
    white-space: nowrap;
}

.category-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    white-space: nowrap;
    position: relative;
}

.category-title::before,
.category-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
    display: block;
}

/*** PRODUCT IMAGE STYLE ***/

.p-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; /* nebo min-height: 600px; */
    padding: 40px 0;
}

.p-image {
    max-width: 100%;
    max-height: 800px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-image img {
    max-height: 100%;
    height: auto;
    width: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

/***THIS IS THE SECTION FOR RECCOMMENDED PRODUCTS***/
.product-price-alta-langa-rose-docg-extra-brut-2020-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-alta-langa-docg-extra-brut-2021-organic::before {
    content: "Cena: 699 Kč";
}

.product-price-moscato-dasti-docg-maggiorina-2024-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-arneis-doc-aurelia-2024-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-chardonnay-doc-botticella-2023-organic-limited-edition::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-rosato-doc-viarivetti22-2024-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barbera-dalba-doc-froi-2023-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barbera-dalba-doc-senza-segreti-2023-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barbera-dalba-doc-sup-serraboella-2020-organic-limited-edition::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-nebbiolo-doc-avene-2023-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-rosso-doc-garasin-2021-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-langhe-pinot-nero-doc-2023-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barolo-docg-2020-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barbaresco-docg-2021-organic::before {
    content: "Cena: 699 Kč";
}
.product-price-barbaresco-docg-froi-2020-2021-organic::before {
    content: "Cena: 899 Kč";
}

.product-price-barbaresco-docg-riserva-serraboella-2019-2020-organic-limited-edition::before {
    content: "Cena: 699 Kč";
}

.product-price {
    font-weight: bold;
    color: #000;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    margin-bottom: 1rem;
    display: block;
}

.product-button {
    margin-top: auto;
    font-size: clamp(1.5rem, 2vw, 1.75rem);
    padding: 0.75rem 1.25rem;
    background-color: #672d41;
    color: white !important;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.product-button:hover {
    background-color: #8a435c;
}

.scroll-wrapper {
    position: relative;
}

.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: #1b1b1f;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    z-index: 2;
    transition: all 0.3s ease;
}

.scroll-arrow:hover {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.scroll-arrow-left {
    left: 10px;
}

.scroll-arrow-right {
    right: 10px;
}

.card-container-recommended-products {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding: 2rem 2rem 2rem 0;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;

}


.wine-elegant-card-recommended-products {
    flex: 0 0 340px;
    background: white;
    border-radius: 24px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
}

.wine-elegant-image-recommended-products img {
    width: 100%;
    height: auto;
    display: block;
}

.wine-elegant-content-recommended-products {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wine-elegant-content-recommended-products h2 {
    margin-bottom: 1rem;
    color: #000;
    font-size: clamp(1.5rem, 4vw, 2rem);
}

.wine-elegant-content-recommended-products p {
    margin-bottom: 1rem;
    line-height: 1.6;
    font-size: clamp(1rem, 3vw, 1.5rem);
}

.wine-elegant-content-recommended-products a {
    text-decoration: none;
}

@media (max-width: 600px) {
    .card-container-recommended-products {
        padding: 1rem 1rem 1rem 0;
        gap: 0.5rem;
    }
    .wine-elegant-card-recommended-products {
        flex: 0 0 100%;       /* Každá karta zabere celou šířku */
        max-width: 100%;      /* Max šířka = 100% rodiče */
    }
    .scroll-arrow {
        /* Zmenšíme šipky na mobilu */
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }

    .wine-card-text-two-in-box h2 {
        font-size: clamp(2rem, 5vw, 2.5rem);
    }

    .wine-card-text-two-in-box p {
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }

}


/***THIS IS THE SECTION FOR TWO PICTURES IN A BOX PRODUCTS***/
/* Volitelně: jistota rozumného počítání rozměrů */
.wine-card-container-two-in-box,
.wine-card-container-two-in-box * {
    box-sizing: border-box !important;
}

/* Kontejner */
.wine-card-container-two-in-box {
    width: min(100%, 1200px) !important;
    margin: clamp(1rem, 3vw, 3rem) auto !important;
    background: #fff !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    padding: clamp(1rem, 3vw, 2rem) !important;
}

/* GRID: 2 sloupce → 1 sloupec na menších šířkách */
.wine-card-grid-two-in-box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: clamp(1rem, 2.5vw, 2rem) !important;
    justify-items: stretch !important;
}

/* Položka */
.wine-card-item-two-in-box {
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* Obrázek jako background-blok – bez vnějších mezer */
.wine-card-image-two-in-box {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important; /* pěkný poměr na desktopu */
    margin: 0 !important;
    border-radius: 16px !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Textová část */
.wine-card-text-two-in-box {
    margin-top: 0.5rem !important;
}

/* Nadpis + text škálují */
.wine-card-text-two-in-box h2 {
    font-size: clamp(2rem, 6vw, 2.5rem) !important;
    line-height: 1.15 !important;
    margin: 0 0 0.25rem 0 !important;
    color: #000 !important;
}

.wine-card-text-two-in-box p {
    font-size: clamp(1.25rem, 4vw, 1.5rem) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* --- Breakpointy --- */

/* Mírně menší desktopy / tablety na šířku */
@media (max-width: 1100px) {
    .wine-card-container-two-in-box {
        padding: clamp(0.75rem, 2.5vw, 1.25rem) !important;
        margin: clamp(1rem, 2.5vw, 2rem) auto !important;
    }

    .wine-card-grid-two-in-box {
        grid-template-columns: 1fr !important; /* 1 sloupec = žádné „prázdno“ okolo */
        gap: clamp(0.75rem, 2vw, 1.25rem) !important;
        justify-items: stretch !important;
    }

    .wine-card-image-two-in-box {
        aspect-ratio: 16 / 9 !important; /* širší poměr na menších zařízeních */
    }

    .wine-card-text-two-in-box h2 {
        font-size: clamp(2rem, 6vw, 2.5rem) !important;
        text-align: left !important;
    }

    .wine-card-text-two-in-box p {
        font-size: clamp(1.25rem, 4vw, 1.5rem) !important;
        text-align: left !important;
    }
}

/* Telefony */
@media (max-width: 900px) {
    .wine-card-container-two-in-box {
        border-radius: 18px !important;
    }
    .wine-card-image-two-in-box {
        aspect-ratio: 3 / 2 !important; /* vyšší obrazek = lepší zaplnění */
        border-radius: 14px !important;
    }
}


@media (min-width: 1280px) {
    .wine-card-container-two-in-box {
        max-width: 1200px !important;   /* stejné jako .wine-card-container-side-by-side */
        margin: 3rem auto !important;
        padding: 0 !important;          /* vnitřní mezery řeší položky, stejně jako u side */
        border-radius: 24px !important;
    }

    .wine-card-item-two-in-box {
        padding: 3rem !important;       /* stejné jako .wine-card-image-side / .wine-card-content-side */
    }

    .wine-card-image-two-in-box {
        width: 100% !important;
        margin: 0 !important;           /* odstraní mezery kolem obrázku */
        border-radius: 24px !important; /* sjednocení s picture on side */
    }
}



/***THIS IS THE SECTION FOR PICTURE ABOVE TEXT***/

.wine-card-container-picture-above-text {
    width: 100%;
    margin: 3rem 0;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.wine-card-image-picture-above-text {
    width: calc(100% - 8rem);
    height: 500px;
    margin: 4rem;
    border-radius: 16px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 0 !important;
}

.wine-card-content-picture-above-text {
    max-width: 800px;
    margin: 0 auto;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wine-card-content-picture-above-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #000;
}

.wine-card-content-picture-above-text p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    font-size: 1.5rem;
}

.wine-card-content-picture-above-text a {
    color: #0071e3;
    text-decoration: none;
    font-weight: 500;
}

.wine-card-content-picture-above-text a:hover {
    text-decoration: underline;
}
.wine-card-content-picture-above-text > :first-child { margin-top: 0 !important; }
@media (max-width: 1200px) {
    .wine-card-container-picture-above-text {
        margin: 2rem 0;
    }


    .wine-card-image-picture-above-text {
        display: block;
        width: 90%;
        height: 200px;
        margin: 1.5rem auto 1.5rem auto;
        border-radius: 2rem;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-color: #fff;
        box-sizing: border-box;
    }
    .wine-card-content-picture-above-text {
        padding: 2rem;
    }
    .wine-card-content-picture-above-text h2 {
        /* Minimálně 1.75rem, ideálně 6vw, maximálně 2rem */
        font-size: clamp(2rem, 6vw, 2.5rem);
    }
    .wine-card-content-picture-above-text p {
        /* Minimálně 1rem, ideálně 4vw, maximálně 1.25rem */
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }
    .wine-card-content-picture-above-text a {
        /* Menší odkaz */
        font-size: clamp(0.875rem, 3vw, 1rem);
    }
}

/***THIS IS THE SECTION FOR TEXT AND PICTURE ON RIGHT AND LEFT ***/

.wine-card-container-side-by-side {
    width: 100%;
    max-width: 1200px;
    margin: 3rem auto;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    align-items: stretch;
}
.wine-card-container-side-by-side.reverse {
    flex-direction: row-reverse;
}
.wine-card-image-side {
    width: 50%;
    min-width: 320px;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding: 3rem;
}
.wine-card-image-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
    display: block;
}
.wine-card-content-side {
    width: 50%;
    max-width: 600px;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.wine-card-content-side h2 {
    margin-bottom: 1rem;
    color: #000;
    font-size: 2.5rem;
}
.wine-card-content-side p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    font-size: 1.5rem;
}
.wine-card-content-side a {
    color: #0071e3;
    text-decoration: none;
    font-weight: 500;
}
.wine-card-content-side a:hover {
    text-decoration: underline;
}

@media (max-width: 1200px) {
    .wine-card-container-side-by-side,
    .wine-card-container-side-by-side.reverse {
        flex-direction: column;
        max-width: 98vw;
        position: relative;
    }
    .wine-card-image-side,
    .wine-card-content-side {
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: 1rem;
    }
    .wine-card-image-side {
        height: 350px;
        order: 2; /* Default: obrázek dole */
    }
    .wine-card-container-side-by-side.reverse .wine-card-image-side {
        order: -1; /* Reverse: obrázek nahoře */
    }
    .wine-card-image-side img {
        border-radius: 24px !important;
    }
    .wine-card-content-side {
        padding: 1.5rem 1rem;
    }
    .wine-card-content-side h2 {
        font-size: clamp(2rem, 6vw, 2.5rem);
    }
    .wine-card-content-side p {
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }
}

@media (max-width: 800px) {
    .wine-card-container-side-by-side,
    .wine-card-container-side-by-side.reverse {
        flex-direction: column;
        max-width: 98vw;
        position: relative;
    }
    .wine-card-image-side,
    .wine-card-content-side {
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: 1rem;
    }
    .wine-card-image-side {
        height: 300px;
        order: 2; /* Default: obrázek dole */
    }
    .wine-card-container-side-by-side.reverse .wine-card-image-side {
        order: -1; /* Reverse: obrázek nahoře */
    }
    .wine-card-image-side img {
        border-radius: 24px !important;
    }
    .wine-card-content-side {
        padding: 1.5rem 1rem;
    }
    .wine-card-content-side h2 {
        font-size: clamp(2rem, 6vw, 2.5rem);
    }
    .wine-card-content-side p {
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }
}


/*** HOMEPAGE ***/
.content-wrapper.homepage-box.welcome-wrapper {
    width: 100%;
    margin: 3rem 0;
    background: white;
    /* Přidáno: stínování */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    padding: 3rem;
    box-sizing: border-box;
}

.content-wrapper.homepage-box.welcome-wrapper h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #000;
}

.content-wrapper.homepage-box.welcome-wrapper p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    font-size: 1.5rem;
}

.content-wrapper.homepage-box.welcome-wrapper a {
    color: #0071e3;
    text-decoration: none;
    font-weight: 500;
}

.content-wrapper.homepage-box.welcome-wrapper a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .content-wrapper.homepage-box.welcome-wrapper {
        padding: 2rem;
    }
    .content-wrapper.homepage-box.welcome-wrapper h1 {
        /* Minimálně 2rem, ideálně 5vw, maximálně 2.5rem */
        font-size: clamp(2rem, 5vw, 2.5rem);
    }
    .content-wrapper.homepage-box.welcome-wrapper p {
        /* Minimálně 1.25rem, ideálně 4vw, maximálně 1.5rem */
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }
    .content-wrapper.homepage-box.welcome-wrapper a {
        /* Menší odkaz */
        font-size: clamp(0.875rem, 3vw, 1rem);
    }
}
/***THIS IS THE SECTION FOR TEXT WITHOUT PICTURE ***/
.full-width-text-card {
    width: 100%;
    margin: 3rem 0;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    padding: 3rem;
    box-sizing: border-box;
}

.full-width-text-card h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #000;
}

.full-width-text-card p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    font-size: 1.5rem;
}

.full-width-text-card a {
    color: #0071e3;
    text-decoration: none;
    font-weight: 500;
}

.full-width-text-card a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .full-width-text-card {
        padding: 2rem;
    }
    .full-width-text-card h2 {
        /* Minimálně 1.75rem, ideálně 5vw, maximálně 2rem */
        font-size: clamp(2rem, 5vw, 2.5rem);
    }
    .full-width-text-card p {
        /* Minimálně 1rem, ideálně 4vw, maximálně 1.25rem */
        font-size: clamp(1.25rem, 4vw, 1.5rem);
        line-height: 1.6;
    }
    .full-width-text-card a {
        /* Menší odkaz */
        font-size: clamp(0.875rem, 3vw, 1rem);
    }
}
/***THIS IS THE SECTION FOR PRODUCT CARD WITH PICTURE ***/

.product-card-with-picture {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-width: 500px;
    width: 100%;
    box-sizing: border-box;
    padding: 2rem; /* increased */
    margin-bottom: 1rem; /* increased */
}

.product-image-within-card {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 2rem; /* increased */
    border-radius: 12px; /* optional for visual separation */
}

.product-content-within-card {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}

.product-content-within-card p {
    font-size: 1.5rem;
}

.product-content-within-card h2 {
    font-size: 2rem;
}

.product-grid-within-card {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem; /* increased */
    justify-content: center;
    margin-bottom: 4rem; /* increased */
}

@media (max-width: 1100px) {
    .product-card-with-picture {
        padding: 1rem;
        margin-bottom: 1rem;
    }

    .product-image-within-card {
        height: 200px;
        margin-bottom: 1rem;
        border-radius: 8px;
    }

    .product-content-within-card {
        padding: 1rem;
    }

    .product-content-within-card p {
        font-size: clamp(1.25rem, 4vw, 1.5rem);
    }

    .product-content-within-card h2 {
        font-size: clamp(2rem, 5vw, 2.5rem);
    }

    .product-grid-within-card {
        gap: 1.5rem;
        margin-bottom: 2rem;
    }
}
/* === PRODUCT CARD WITH PICTURE – FIX „mezikroku“ === */
.product-grid-within-card,
.product-card-with-picture,
.product-card-with-picture * {
    box-sizing: border-box !important;
}

/* Plynulé přepínání 1 ↔ 2 sloupce bez overflow */
.product-grid-within-card {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: clamp(1rem, 2.5vw, 2rem) !important;

    /* full width i když je to uvnitř flexu */
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;

    /* žádný extra vnitřní padding, ať se nic nesčítá */
    padding-inline: 0 !important;
}

.product-card-with-picture {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important; /* zabrání „tlačení“ obsahu mimo kartu */
}

/* Bezpečnější 2 sloupce v „mezikroku“ */
@media (min-width: 1100px) and (max-width: 1280px) {
    .product-grid-within-card {
        grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
        gap: clamp(0.75rem, 1.5vw, 1.5rem) !important; /* menší mezera, aby vše vešlo */
    }
}

/* Na mobilech klidně vynutíme 1 sloupec (volitelné) */
@media (max-width: 1100px) {
    .product-grid-within-card {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
        margin-bottom: 2rem !important;
    }
    .product-card-with-picture {
        padding: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .product-image-within-card {
        height: 200px !important;
        margin-bottom: 1rem !important;
        border-radius: 8px !important;
    }
    .product-content-within-card {
        padding: 1rem !important;
    }
    .product-content-within-card p {
        font-size: clamp(1.25rem, 4vw, 1.5rem) !important;
    }
    .product-content-within-card h2 {
        font-size: clamp(2rem, 5vw, 2.5rem) !important;
    }
}

/***THIS IS THE SECTION FOR PRODUCT CART WITHOUT PICTURE ***/
.product-card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
}
.product-card p{
    font-size: 1.5rem;
}
.product-card h2 {
    font-size: 2rem;
}
@media (max-width: 600px) {
    .product-card p{
        font-size: clamp(1.25rem, 4vw, 1.5rem);
    }
    .product-card h2 {
        font-size: clamp(2rem, 5vw, 2.5rem);
    }
}


/* Kontejner pro všechny karty */
.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}

/***FLAVOURS***/
.scrollable-product-wrapper {
    position: relative;
}

.scrollable-product-container {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 2rem 2rem 2rem 0;
}

.scrollable-product-card {
    flex: 0 0 500px;
    scroll-snap-align: start;
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    box-sizing: border-box;
}

.scrollable-product-image {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
    margin-bottom: 2rem;
}

.scrollable-product-content {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 130px; /* fixní výška, uprav podle délky nejdelšího textu */
    justify-content: flex-start;
}

.scrollable-product-content h2 {
    font-size: 2rem;
}

.scrollable-product-content p {
    font-size: 1.5rem;
}

.scroll-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: #1b1b1f;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    z-index: 2;
    transition: all 0.3s ease;
}

.scroll-button:hover {
    background: rgba(255, 255, 255, 1);
}

.scroll-left {
    left: 10px;
}

.scroll-right {
    right: 10px;
}

.vertical-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 1.2rem;
    font-weight: bold;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
    flex: 0 0 40px;
    text-align: center;
}

.horizontal-label {
    font-size: 1.2rem;
    font-weight: bold;
    color: #999;
    text-align: center;
    margin-top: 1rem;
    padding: 1rem 0;
    position: relative;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}


.flavor-scroll-arrow {
    position: absolute;
    top: 75%;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
    color: #333;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background 0.2s;
}

.flavor-scroll-arrow:hover {
    background: #f5f5f5;
}

.flavor-scroll-left {
    left: 0.5rem;
}

.flavor-scroll-right {
    right: 0.5rem;
}

@media (max-width: 600px) {
    .scrollable-product-container {
        gap: 1rem;
        padding: 1rem 1rem 1rem 0;
    }
    .scrollable-product-card {
        flex: 0 0 100%;     /* Jedna karta zabere celou šířku */
        max-width: 100%;
        padding: 1.5rem;
    }
    .scrollable-product-content h2 {
        font-size: clamp(1.75rem, 5vw, 2rem);
    }
    .scrollable-product-content p {
        font-size: clamp(1rem, 4vw, 1.2rem);
        line-height: 1.4;
    }
    .scroll-button {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }
}

/*Shoptet styles hidden*/
.basic-description h3 {
    display: none !important;
}

.latest-contribution.latest-contribution-rating {
    display: none !important;
}

.link-icons{
    display: none !important;
}

/* Schová přesně tenhle odkaz "Detailní informace" */
a.chevron-after.chevron-down-after[href="#description"][data-toggle="tab"][data-external="1"][data-force-scroll="true"] {
    display: none !important;
}

.shp-tabs-holder{
    display: none !important;
}

.flag.flag-quantity-discount.js-quantity-discounts__flag {
    display: none !important;
}

.flag.flag-quantity-discount {
    display: none !important;
}

/*Shoptet bennefit banner edit*/

.benefitBanner.position--benefitProduct {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.benefitBanner__item {
    flex: 1 1 calc(25% - 1rem) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    min-width: 180px !important;
}

/* Responzivní úpravy pro tablety */
@media (max-width: 1204px) {
    .benefitBanner__item {
        flex: 1 1 calc(50% - 1rem) !important; /* 2 položky na řádek */
    }
}

/* Responzivní úpravy pro mobilní zařízení */
@media (max-width: 600px) {
    .benefitBanner__item {
        flex: 1 1 100% !important; /* 1 položka na řádek */
    }
}




/* Add items section from shoptet edit style*/

input.amount {
    width: 60px;
    height: 40px;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    border: 1px solid #aaa;
    border-radius: 6px;
    background: none;
    color: #2c2c2c;
    appearance: textfield;
    transition: border-color 0.2s;
}

input.amount:focus {
    outline: none;
    border-color: #333;
}

input.amount::-webkit-inner-spin-button,
input.amount::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

button.increase,
button.decrease {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #999;
    border-radius: 6px;
    background: transparent !important; /* zajistí čisté pozadí */
    box-shadow: none !important; /* odstraní veškerý stín */
    font-size: 1.2rem;
    color: #333;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
    margin-bottom: 4px; /* přidá mezeru pod tlačítkem increase */
}

button.increase:hover,
button.decrease:hover {
    color: #000;
    border-color: #666;
    background: transparent !important; /* zamezí zvýraznění při hoveru */
    box-shadow: none !important; /* zamezí stínu při hoveru */
}

.increase__sign,
.decrease__sign {
    font-size: 0.9rem;
    line-height: 1;
    font-weight: 500;
    pointer-events: none;
}



.quantity {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}


.add-to-cart {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-family: sans-serif;
}

.add-to-cart-button {
    background-color: #b43f4d;
    color: white;
    padding: 0.6rem 1.2rem;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.add-to-cart-button:hover {
    background-color: #931b2c;
}


/* Quantity discounts table css edit*/

.quantity-discounts__headline {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #1b1b1f;
    text-align: center;
}

.quantity-discounts__headline::before {
    content: "Víno chutná lépe po druhé... a ještě lépe po třetí" !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #1b1b1f !important;
    display: inline-block !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}

.quantity-discounts {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    padding: 2rem;
    margin: 2rem auto;
    max-width: 700px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1.25rem;
}

.quantity-discounts__headline {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1.8rem;
    color: #1b1b1f;
    text-align: center;
}

.quantity-discounts__table {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.quantity-discounts__item {
    display: flex;
    justify-content: space-between;
    background-color: #f9f9f9;
    padding: 1.4rem 1.8rem;
    border-radius: 12px !important;
    transition: background 0.3s ease, box-shadow 0.3s ease;
    font-size: 1.4rem;
    outline: none;
}

.quantity-discounts__item--highlighted {
    background-color: #e8e8e8 !important;
    color: #2f2f2f !important;
    border-radius: 6px;
    font-weight: 600;
    box-shadow: inset 0 0 0 1px #d0d0d0;
}

.quantity-discounts__table > .quantity-discounts__item:first-child {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

.quantity-discounts__table > .quantity-discounts__item:last-child {
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

.quantity-discounts__title {
    font-size: 1.4rem;
    color: #333;
}

.quantity-discounts__price-wrapper {
    font-size: 1.4rem;
    font-weight: 600;
    color: #1b1b1f;
}

.quantity-discounts__save {
    font-size: 1.3rem;
    text-align: center;
    margin-top: 1.5rem;
    color: #666;
}

.quantity-discounts__saved-amount {
    color: #000;
    font-weight: bold;
}

@media (max-width: 600px) {
    .quantity-discounts {
        padding: 1.2rem;
        font-size: 1.1rem;
    }

    .quantity-discounts__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
        font-size: 1.1rem;
    }

    .quantity-discounts__price-wrapper {
        align-self: flex-end;
        font-size: 1.2rem;
    }

    .quantity-discounts__headline {
        font-size: 1.6rem;
    }

    .quantity-discounts__save {
        font-size: 1.1rem;
    }
}
/***THIS IS THE SECTION FOR CELEBRITY RATING***/
.celebrity-rating-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    margin: 3rem 0;
}

.celebrity-rating-card {
    flex: 1 1 calc(33% - 2rem);
    max-width: 350px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
}

.celebrity-rating-card img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 1rem;
    border: 2px solid #eee;
}

.celebrity-name {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    color: #000;
}

.celebrity-title {
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 1rem;
}

.celebrity-quote {
    font-size: 1.5rem;
    line-height: 1.6;
    color: #1b1b1f;
    font-style: italic;
    position: relative;
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.celebrity-quote::before,
.celebrity-quote::after {
    content: '"';
    font-size: 3rem;
    color: #ccc;
    position: absolute;
    top: -10px;
}

.celebrity-quote::before {
    left: 0;
}

.celebrity-quote::after {
    right: 0;
}

.celebrity-rating-score {
    font-size: 1.8rem;
    font-weight: bold;
    color: #b43f4d;
    border-top: 1px solid #eee;
    padding-top: 1rem;
}

.hidden {
    display: none;
}

.toggle-reviews-button {
    background: none;
    border: none;
    color: #555;            /* nenápadná tmavě šedá barva */
    padding: 0;
    font-size: 1.4rem;
    font-weight: normal;
    cursor: pointer;
    text-decoration: underline;
    display: inline;
    margin: 2rem auto;
    font-family: inherit;
}

.toggle-reviews-button:hover {
    color: #b43f4d;         /* zvýraznění při hoveru */
    text-decoration: underline;
}

.review-link {
    font-size: 1.2rem;
    color: #555;              /* tmavě šedá barva pro nenápadnost */
    text-decoration: none;
    margin-top: 0.5rem;
    display: inline-block;
    font-style: italic;       /* lehce odliší od běžného textu */
    transition: color 0.3s ease;
    cursor: pointer;
}

.review-link:hover {
    color: #b43f4d;           /* zvýraznění při hoveru */
    text-decoration: underline;
}

/* Responsive fix: stack cards vertically on mobile */

@media (max-width: 1200px) {
    .celebrity-rating-wrapper { flex-direction: column; align-items: center; }
    .celebrity-rating-card    { flex: 1 1 100%; max-width: none; }

    .celebrity-name         { font-size: clamp(1.25rem, 5vw, 1.6rem); }
    .celebrity-title        { font-size: clamp(1rem, 4vw, 1.2rem); }
    .celebrity-quote        { font-size: clamp(1rem, 5vw, 1.4rem); line-height: 1.4; }
    .celebrity-quote::before,
    .celebrity-quote::after { font-size: clamp(2rem, 8vw, 3rem); }
    .celebrity-rating-score { font-size: clamp(1.25rem, 5vw, 1.6rem); }
    .toggle-reviews-button  { font-size: clamp(1rem, 4vw, 1.2rem); }
    .review-link            { font-size: clamp(0.875rem, 3vw, 1rem); }
}

/***NEBBIO CLUB***/
.nebbio-club-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin: 3rem 0;
    padding: 0 1.5rem;
    gap: 2rem;
}

.nebbio-club-content {
    flex: 1 1 50%;
    padding: 0 1rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nebbio-club-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #000;
}

.nebbio-club-content p {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.nebbio-club-content .club-button {
    margin-top: 2rem;
    padding: 1rem 2rem;
    background-color: #672d41;
    color: white !important;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.3s ease;
    font-size: 1.5rem;
    align-self: flex-start;
}

.nebbio-club-content .club-button:hover {
    background-color: #8a435c;
}

.nebbio-club-image {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.nebbio-club-image img {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
    display: block;
}

/* Mobilní zobrazení */
@media (max-width: 1200px) {
    .nebbio-club-card {
        flex-direction: column;
        padding: 1rem;
        gap: 1rem;
        text-align: left;
    }

    .nebbio-club-image,
    .nebbio-club-content {
        flex: 1 1 100%;
        padding: 0;
    }

    .nebbio-club-image img {
        max-height: 200px;
        margin: 0 auto;
    }

    .nebbio-club-content h2 {
        font-size: clamp(1.8rem, 5vw, 2.2rem);
    }

    .nebbio-club-content p {
        font-size: clamp(1.2rem, 4vw, 1.4rem);
    }

    .nebbio-club-content .club-button {
        font-size: clamp(1.5rem, 2vw, 1.75rem);
        padding: 0.6rem 1.5rem;
        margin: 1rem auto;
        align-self: left;
    }
}

@media (max-width: 480px) {
    .nebbio-club-card {
        padding: 0.5rem;
    }

    .nebbio-club-image img {
        max-height: 160px;
    }

    .nebbio-club-content .club-button {
        padding: 0.5rem 1rem;
    }
}

/***HEADING LINE***/
.heading-line {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    margin: 3rem 0;
    font-size: 2.5rem;
    font-weight: 400;
    color: #000;
    text-align: center;
    background: none;
    border-radius: 0;
    box-shadow: none;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    white-space: nowrap;
}
.heading-line::before,
.heading-line::after {
    content: "";
    height: 1px;
    background-color: #ccc;
    width: 100%;
}
.heading-line span {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    letter-spacing: inherit;
    color: inherit;
    white-space: inherit;
}

/***STICKY MENU ON MOBILE***/

@media screen and (min-width: 768px) {
    #header{position: relative !important;}
    .mobil-lista{display: none !important;}
}

/***STICKY MENU***/
@media screen and (min-width: 768px) {
    #header{position: relative !important;}
    .mobil-lista{display: none !important;}
}

/***RATING BANNER***/

.banner-rating {
    border-radius: var(--banner-rating-border-radius);
    overflow: hidden;
}

.banner-rating__text-block,
.banner-rating__stats-block {
    border-radius: var(--banner-rating-border-radius);
}

.banner-rating__btn.btn,
.banner-rating__btn.btn-secondary {
    border-radius: var(--banner-rating-border-radius) !important;
    padding: 0.75rem 1.5rem;
}

/***SEARCH BAR***/


/* 1) Skryjeme tvoje ::before úplně */
.search-form::before {
    display: none !important;
}

/* 2) Zobrazíme nativní placeholder */
.search-input::placeholder {
    color: #888;  /* nebo jakákoli jiná barva */
    font-size: 1.5rem; /* Menší velikost písma pro placeholder */
}

/* 3) Pokud chceš, aby se placeholder skryl při psaní, nepotřebuješ nic dělat—
   to dělá samotný browser: jakmile uživatel zadá znak, placeholder automaticky zmizí. */

/* + zbytek tvého CSS beze změn */
.search-input:focus,
.search-form .btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

.search-form {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    width: 100%;
    max-width: 100rem;
    margin: 0 auto;
    border-radius: var(--search-border-radius);
    overflow: hidden;
    border: 1px solid #ccc;
    line-height: 1;
}

.search-input,
.search-form .btn {
    border: none;
    outline: none;
    box-shadow: none;
    flex: 1;
    font-size: var(--search-font-size);
    background: transparent;
    line-height: 1;
}

.search-input {
    padding: 0.75rem 1rem;
    color: #000;
}

.search-form .btn {
    padding: 0.75rem 1.5rem;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
}

.search-form .btn:hover {
    background: var(--color-primary-hover);
}
/***ESHOP REVIEWS BUTTON***/
.shop-stat-all .btn-conversion {
    border-radius: var(--banner-rating-border-radius) !important;
    background-color: var(--banner-rating-btn-bg) !important;
    color: #fff !important;
    padding: 0.75rem 1.5rem;
    border: none !important;
    text-decoration: none;
    transition: background-color 0.3s;
}

.shop-stat-all .btn-conversion:hover {
    background-color: var(--banner-rating-btn-bg-hover) !important;
}

/***ESHOP REVIEWS HEADLINE***/
h2 > a[href="/hodnoceni-obchodu/"] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    white-space: nowrap;
    position: relative;
    text-decoration: none; /* pokud chceš odstranit podtržení */
}

h2 > a[href="/hodnoceni-obchodu/"]::before,
h2 > a[href="/hodnoceni-obchodu/"]::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
    display: block;
}
/***NEBBIO TITLE AND DESCRIPTION***/
.title {
    display: block;                 /* je to <span>, udělej z něj blok */
    margin: 0 0 .35em 0;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.1;
    color: #1b1b1f;
    /* větší, ale plynule responzivní */
    font-size: 2 rem;
}

.description {
    margin: 0;
    max-width: 65ch;                /* čitelná šířka odstavce */
    line-height: 1.6;
    color: #2a2a2e;
    /* zachovej odřádkování z HTML (máš tam prázdné řádky) */
    white-space: pre-line;
    /* mírně menší než body (u tebe je body 1.5rem) */
    font-size: 1.5 rem;
}

/* volitelné drobné zjemnění na úzkých displejích */
@media (max-width: 600px) {
    .title {
        font-size: clamp(1.9rem, 8vw, 2.4rem);
    }
    .description {
        line-height: 1.55;
    }
}

/***SECTION DESCRIPTION***/

.sectionDescription h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    white-space: nowrap;
    position: relative;
}

.sectionDescription h1::before,
.sectionDescription h1::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
    display: block;
}

/***HOMEPAGE TITLE***/
.homepage-group-title.h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 1.5rem;
    gap: 2rem;
    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #000;
    letter-spacing: -0.02em;
    white-space: nowrap;
    position: relative;
}



.homepage-group-title.h4::before,
.homepage-group-title.h4::after {
    content: "";

    flex: 1;
    height: 1px;
    background-color: #ccc;
    max-width: 100px;
    display: block;
}

/***ARTICLES IMAGE STYLE***/
.news-item a .image img {
    border-radius: 24px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

#newsWrapper .image img {
    border-radius: 24px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.next-prev { border-radius: 12px; overflow: hidden; }
.next-prev .btn { border-radius: 9999px; } /* „pilulka“ */
.news-item .image,
#newsWrapper .image{
    aspect-ratio: 1 / 1;
    overflow: hidden;                      /* “ustřihne” přesahy */
    border-radius: 24px;                   /* zaoblení na obalu */
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);/* stín na obalu (nebude oříznut) */
}

/* Obrázek vyplní rámeček a ořízne se */
.news-item .image img,
#newsWrapper .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;   /* radius řeší obal */
    box-shadow: none;   /* stín je na obalu */
}

/* Fallback bez supportu aspect-ratio */
@supports not (aspect-ratio: 1 / 1){
    .news-item .image,
    #newsWrapper .image{ position: relative; }
    .news-item .image::before,
    #newsWrapper .image::before{
        content: "";
        display: block;
        padding-top: 100%; /* udělá čtverec */
    }
    .news-item .image img,
    #newsWrapper .image img{
        position: absolute;
        inset: 0;
    }
}

.news-item .text{ text-align:center; font-family: -apple-system, BlinkMacSystemFont, "San Francisco", Helvetica, Arial, sans-serif;}

.news-wrapper .teaser-only-in-listing { display:block !important; }
.news-item-detail .teaser-only-in-listing { display:none !important; }
.homepage-blog-wrapper .hide-in-listing,
.news-wrapper .hide-in-listing,
#newsWrapper .hide-in-listing {
    display: none !important;
    visibility: hidden !important;
}
.homepage-blog-wrapper .news-item .description,
.news-wrapper .news-item .description,
#newsWrapper .news-item .description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 20;   /* ← změň na 1–4 dle potřeby */
    overflow: hidden;
    line-height: 1.6;
    max-height: calc(1.6em * 4); /* fallback bez line-clampu */
    text-overflow: ellipsis;
}
/* Všechno označené .hide-in-listing se ve VÝPISU neschová */
.news-wrapper .hide-in-listing { display:none !important; }

/***PARAMETER TABLE***/
.parameter-table {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)); /* 4 buňky na řádek */
    gap: 1rem 2rem;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    padding: 2rem 3rem 2rem 2rem;
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    line-height: 1.6;
    box-sizing: border-box;
    max-width: 100%;
}

/* nový padding a zalomení slov v jednotlivých buňkách */
.parameter-table > div {
    padding: 0.75rem 1rem;
    box-sizing: border-box;
}

.parameter-table .parameter-label,
.parameter-table .parameter-value {
    display: block;
    word-break: break-word;
    overflow-wrap: break-word;
}
.parameter-table .parameter-label {
    font-weight: 700;
    color: #000;
}

/* Mobilní zobrazení */
@media (max-width: 800px) {
    .parameter-table {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        font-size: clamp(1rem, 3vw, 1.5rem);
        gap: 0.75rem 1rem;
        /* všechny okraje stejné, aby text nevytékal */
        padding: 1.5rem;
    }

    .parameter-table > div {
        /* více "výchylky" uvnitř buňky */
        padding: 1rem;
    }
}
@media (max-width: 1200px) {
    .parameter-table {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        font-size: clamp(1.1rem, 3.5vw, 1.35rem);
    }
}

/***CUSTOM REVIEW BUTTONS***/
#custom-tab-buttons button {
    padding: 10px 20px;
    margin: 0 8px;
    background-color: #672d41;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#custom-tab-buttons button:hover {
    background-color: #b33951;
}

#back-to-description:hover {
    text-decoration: underline;
}

/***UNDERLINES DELETED HIGHLIGHTED TEXT***/
.nebbio-club-content .club-button,
.nebbio-club-content .club-button:link,
.nebbio-club-content .club-button:visited,
.nebbio-club-content .club-button:hover,
.nebbio-club-content .club-button:focus,
.nebbio-club-content .club-button:active {
    text-decoration: none !important;
    border-bottom: 0 !important; /* pro jistotu, kdyby se používal border */
}

a.product-button,
a.product-button:hover,
a.product-button:focus,
a.product-button:active {
    text-decoration: none !important; /* zruší podtržení */
    border-bottom: none !important;   /* kdyby to bylo řešené borderem */
    box-shadow: none !important;      /* kdyby to bylo řešené shadowem */
}

a.product-button::after,
a.product-button:hover::after {
    content: none !important;
}

.news-item .title,
.news-item .title:hover,
.news-item .title:focus {
    text-decoration: none !important;
    border-bottom: none !important;
    background-image: none !important;
    box-shadow: none !important;
}
/***NEWS ITEM***/
.news-wrapper .news-item .description:has(.teaser-only-in-listing)
> :not(.teaser-only-in-listing) {
    display: none !important;
}
/***FONT SIZE ADJUSTMENT FOR LINKS***/

.full-width-text-card,
.wine-card-content-side,
.wine-card-content-picture-above-text,
.nebbio-club-content,
.teaser-only-in-listing {
    font-size: clamp(1rem, 0.9rem + 0.6vw, 1.5rem);
    line-height: 1.6;
}

.full-width-text-card a,
.wine-card-content-side a,
.wine-card-content-picture-above-text a,
.nebbio-club-content a,
.teaser-only-in-listing a {
    font: inherit;
    line-height: inherit;
    text-decoration: underline;
    text-underline-offset: 0.12em;
    text-decoration-thickness: from-font;
    overflow-wrap: anywhere;   /* dlouhé názvy jako D.O.C.G. se nelámou blbě */
    white-space: normal;
}

/***WINE SET TABLE***/
/* === WINE SET (full width card) ======================================== */
.full-width-text-card.wine-set-card {
    /* využívá existující card vzhled; jen drobné doladění */
    padding: 2rem 3rem;
}

.wine-set-card h2 {
    /* navazuje na ostatní nadpisy na webu */
    font-size: clamp(2rem, 5vw, 2.5rem);
    margin: 0 0 1rem 0;
    color: #000;
}

.wine-set-head,
.wine-set-row {
    display: grid;
    grid-template-columns: 1fr max-content; /* název | kusy */
    align-items: baseline;
    gap: 0.75rem 1rem;
}

.wine-set-head {
    padding: .5rem 0 0.75rem 0;
    border-bottom: 1px solid #e6e6e6;
    color: #666;
    font-weight: 600;
    font-size: clamp(1.1rem, 3vw, 1.3rem);
    text-transform: uppercase;
    letter-spacing: .02em;
}

.wine-set-row {
    padding: 0.85rem 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: clamp(1.25rem, 3.2vw, 1.5rem); /* sladěno s tvými texty */
    line-height: 1.5;
}

.wine-set-row:last-child {
    border-bottom: 0;
}

.wine-set-name {
    color: #000;
    font-weight: 600;
    overflow-wrap: anywhere; /* dlouhá jména vín se pěkně lámou */
}

.wine-set-qty {
    text-align: right;
    font-variant-numeric: tabular-nums; /* zarovnání čísel */
    font-weight: 700;
    color: #1b1b1f;
    min-width: 3ch;
}

/* Hover řádků (volitelné) */
.wine-set-row:hover { background: #fafafa; border-radius: 8px; }

/* Mobilní úpravy */
@media (max-width: 600px) {
    .full-width-text-card.wine-set-card { padding: 1.25rem 1.5rem; }
    .wine-set-row { padding: 0.7rem 0; }
}

/* Mobil: zmenšit, ne full-width, vycentrovat */
@media (max-width: 768px) {
    .filters-unveil-button-wrapper {
        text-align: center;
    }
    .filters-unveil-button-wrapper a.btn.btn-default.unveil-button {
        display: inline-block !important;
        width: auto !important;
        min-width: 180px;      /* širší o kousek (klidně uprav na 200–260px) */
        padding: 8px 18px;    /* lehce větší tlačítko */
        white-space: nowrap;
    }
}

/***REVIEW BADGE***/

:root {
--nb-badge-bg: #fff;
--nb-badge-border: #e5e7eb;
--nb-badge-shadow: 0 4px 12px rgba(0,0,0,.06);
--nb-badge-shadow-hover: 0 6px 16px rgba(0,0,0,.08);
}

.nb-review-badge {
display: inline-flex;
align-items: center;
gap: .5rem;
padding: .35rem .75rem;
border: 1px solid var(--nb-badge-border);
background: var(--nb-badge-bg);
border-radius: 9999px;
box-shadow: var(--nb-badge-shadow);
text-decoration: none;
color: inherit;
font-size: clamp(.95rem, .9rem + .2vw, 1.05rem);
font-weight: 500;
white-space: nowrap;
}
.nb-review-badge__label { font-weight: 600; }
.nb-review-badge__score { display: inline-flex; align-items: center; gap: .25rem; }
.nb-review-badge__score strong { font-weight: 800; }
.nb-review-badge__muted { opacity: .6; font-weight: 600; }
.nb-review-badge__count { opacity: .75; }
.nb-review-badge:hover {
transform: translateY(-1px);
box-shadow: var(--nb-badge-shadow-hover);
border-color: #d1d5db;
}
.nb-review-badge__icon { width: 1em; height: 1em; flex: 0 0 auto; }


@media (max-width: 480px) {
.nb-review-badge__label { display: none; }
}

/***BLOG FONT STYLE AND SIZE OF DESCRIPTION***/

#newsWrapper .news-item .text .description{
    max-height: calc(1.6em * 6) !important;
}

#newsWrapper .news-item .text .description .teaser-only-in-listing{
    font-size: 1.5rem !important;
    line-height: 1.6 !important;
    display: block !important;
    white-space: normal !important;
    max-height: 16em !important;
    overflow: hidden !important;
    position: relative !important;
}


#newsWrapper .news-item .text .description .teaser-only-in-listing::after{
    content: none !important;
    display: none !important;
}

/***HOMEPAGE BLOG***/
.homepage-blog-wrapper .news-item .text .description{
    font-size: 1.5rem !important;
    line-height: 1.6 !important;
    display: block !important;
    white-space: normal !important;

    /* výška = počet řádků × line-height (1.6em) */
    max-height: calc(1.6em * 10) !important; /* 10 řádků */
    overflow: hidden !important;
    position: relative !important;

    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    text-overflow: unset !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}


.homepage-blog-wrapper .news-item .text .description::after{
    content: none !important;
    display: none !important;
}

/***FILTERS UNVEIL BUTTON***/
.filters-unveil-button-wrapper a.btn.btn-default.unveil-button {
    background-color: #672d41;
    border-color: #672d41;
    color: #fff;                 /* pro kontrast */
    border-radius: 9999px;       /* pill */
}

/***BACK TO SHOP***/
.next-prev { display: none !important; }
.category-perex .btn.btn-default[data-testid="buttonBackToShop"] {
    background-color: #672d41;
    border-color: #672d41;
    border-radius: 9999px;
}

/***TOP NAVIGATION BAR FIX***/
#header,
.top-navigation-bar{
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Když to dělá mezera prvního bloku pod headerem */
#header + *{
    margin-top: 0 !important;
}

/* Když to dělá pseudo-element (některé šablony) */
.top-navigation-bar::before,
.top-navigation-bar::after{
    content: none !important;
}


/***BACK TO DESCRIPTION FROM REVIEWS***/
html { scroll-behavior: smooth; }
#back-to-description,
#back-to-description:hover,
#back-to-description:focus,
#back-to-description:active {
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: #f8f8f8 !important; /* nech stejné jako v inline stylu */
    border-color: #ddd !important;
    transform: none !important;
}


/***DESCRIPTION NAVIGATION BUTTONS***/
.tabs-card { padding: 1.25rem 1.25rem; margin: 2rem 0; } /* Mřížka tabů – čistá, vycentrovaná, responzivní */
#custom-tab-buttons.tab-bar{ display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:.6rem; align-items:center; margin:0; /* kartu řeší .tabs-card */ }
@media (max-width: 600px){
    #custom-tab-buttons .tab-btn{
        font-size: 1.5rem;   /* ← změň podle chuti */
        padding: .9rem 1.1rem;/* ← vyšší tlačítko (V x H) */
    }
}

#custom-tab-buttons .tab-btn{ display:inline-block; text-align:center; text-decoration:none; background:transparent; color:#1b1b1f; border:1px solid #e5e7eb; border-radius:9999px; font-weight:600; padding:.6rem 0.5rem; line-height:1.2; box-shadow:none; /*transition:background-color .2s ease, border-color .2s ease, color .2s ease, transform .05s ease;*/ white-space:nowrap; } /* Hover/focus */ #custom-tab-buttons .tab-btn:hover{ background:#f8f8f8; border-color:#d1d5db; } #custom-tab-buttons .tab-btn:focus-visible{ outline:2px solid #b33951; /* jemný focus ring */ outline-offset:2px; } /* Aktivní stav – vyplněná pilulka v „vínové“ */ #custom-tab-buttons .tab-btn.is-active, #custom-tab-buttons .tab-btn[aria-selected="true"]{ background:#672d41; color:#fff; border-color:#672d41; } /* Tlačítko při stisku – mikropohyb */ #custom-tab-buttons .tab-btn:active{ transform:translateY(1px); } /* (Volitelné) ztlumení disabled */ #custom-tab-buttons .tab-btn[aria-disabled="true"]{ opacity:.5; pointer-events:none; } /* === Pokud máš v CSS starší styly, aby se nepřetahovaly: */ #custom-tab-buttons .tab-btn{ box-shadow:none !important; } /* přebití stínů */ #custom-tab-buttons button, #custom-tab-buttons .tab-btn{ background-image:none !important; } /* kdyby něco přidávalo gradienty */

ul, ol {
    font-size: clamp(1.5rem, 3vw, 1.5rem) !important;

}

ul li,
ol li {
    font-size: inherit !important;
    line-height: inherit;
}
