html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    scroll-behavior: smooth;
}

:root {
    --mohave: "Mohave", sans-serif;
    --garamond: "garamond-premier-pro", serif;
    --rocky: "rocky", serif;
    --garamond-regular: 400;
    --garamond-medium: 500;
    --garamond-semibold: 600;
    --garamond-bold: 700;
    --rocky-regular: 400;
}

body {background-color: #000; padding: 0; margin: 0}

#bramka_wieku {position: fixed; top: 0; left: 0; width: 100%; aspect-ratio: 2560/1440; height: 100%; z-index: 99999; background-color: #fff; background-image: url('images/bg_bramka.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#bramka_wieku #bramka_txt {font-family: var(--garamond); text-transform: uppercase; color: #c09465; text-align: center;}
#bramka_wieku #btns_txt {color: #ffffff;}
#bramka_wieku #btns {display: flex;}
#bramka_wieku #btns .btn {color: #fff; text-transform: uppercase; text-align: center; display: flex; justify-content: center; align-items: center; text-decoration: none;}
#bramka_wieku #btns .btn.btn_no {background-color: #000000;}
#bramka_wieku #btns .btn.btn_yes {background-color: #6d2022;}

#bramka_wieku {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

#bramka_wieku.is-closing {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Ciasteczko istnieje — bramka od razu ukryta */
html.age-verified #bramka_wieku {
    display: none;
}

/* Blokada przewijania strony pod bramką */
html:not(.age-verified),
html:not(.age-verified) body {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    #bramka_wieku {
        transition: none;
    }
}

/* #bramka_wieku #bramka_premiera {margin-top: 10.9375vw;} */
#bramka_wieku #bramka_premiera img {width: 19.9219vw;}
#bramka_wieku #bramka_logo {margin-top: 3.125vw;}
#bramka_wieku #bramka_logo img {width: 33.4766vw;}
#bramka_wieku #bramka_txt {font-size: 1.7578vw; line-height: 1.7578vw; margin-top: 1.5625vw;}
#bramka_wieku #btns_txt {font-size: 1.1719vw; line-height: 1.1719vw; margin-top: 2.3438vw;}
#bramka_wieku #btns {margin-top: 0.7812vw; gap: 0.9766vw;}
#bramka_wieku #btns .btn {font-size: 1.0547vw; line-height: 1.1719vw; width: 8.75vw; height: 4.9219vw; border: 0.0781vw solid #c09465; border-radius: 0.9375vw;}

.mobile {display: none;}
#hero {aspect-ratio: 2560/1440; background-image: url('images/bg_hero.jpg'); background-size: contain; background-repeat: no-repeat;}
#podroze {aspect-ratio: 2560/1289; background-image: url('images/bg_podroze.jpg'); background-size: contain; background-repeat: no-repeat;}
#nasze_smaki {aspect-ratio: 2560/2005; background-image: url('images/bg_smaki.jpg'); background-size: contain; background-repeat: no-repeat; display: flex; flex-direction: column; align-items: center;}

#hero #menu {display: flex; align-items: center; justify-content: center; background-image: url('images/menu_line.png'); background-repeat: no-repeat; background-position: bottom; background-size: contain; font-family: var(--mohave);}
#hero #menu a {color: #ddd6ce; text-decoration: none; text-transform: uppercase;}
#hero #badge_nowosc {position: absolute;}
#hero #hero_content {position: absolute; display: flex; flex-direction: column; align-items: center;}
#hero #txt {color: #c09465; text-align: center; text-transform: uppercase; font-family: var(--mohave);}
#hero #btn {color: #fff; text-transform: uppercase; background-color: #6d2022; display: flex; justify-content: center; align-items: center; text-decoration: none; text-align: center; font-family: var(--mohave);}
#hero #btn:hover {background-color: #000;}

#podroze {position: relative;}
#podroze #txt {position: absolute;}
.podroze_title {color: #ffffff; font-family: var(--garamond); font-weight: var(--garamond-semibold);}
.podroze_szlak {color: #c09465; display: flex; flex-direction: column; font-family: var(--garamond); font-weight: var(--garamond-medium);}
.podroze_txt {color: #fff; font-family: var(--garamond); font-weight: var(--garamond-medium);}
#podroze #dane_mapy {position: absolute; background-image: url('images/dane_mapy.png'); aspect-ratio: 1093/777; background-size: contain;}

#nasze_smaki .title {color: #ffffff; text-transform: uppercase; font-family: var(--rocky); font-weight: var(--garamond-regular); display: flex; flex-direction: column; align-items: center; justify-content: start;}
#nasze_smaki .txt {color: #c09465; text-align: center; text-transform: uppercase; font-family: var(--mohave);}
#nasze_smaki #produkty {display: flex; justify-content: space-between;}
#nasze_smaki #produkty .produkt {position: relative; aspect-ratio: 525/1100}
#nasze_smaki #produkty .produkt .image {position: absolute;}
#nasze_smaki #produkty .produkt .name {color: #000000;position: relative; z-index: 10; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; text-transform: uppercase; font-family: var(--mohave);}
#nasze_smaki #produkty .produkt.jablko .name {background-color: #ca731b;}
#nasze_smaki #produkty .produkt.wodka .name {background-color: #57a1c9;}
#nasze_smaki #produkty .produkt.porzeczka .name {background-color: #951b2f;}
#nasze_smaki #produkty .produkt .txt {color: #c09465; position: relative; z-index: 10; text-align: center; font-family: var(--mohave);}
#nasze_smaki #produkty .produkt .vol {color: #c09465; text-align: center; font-family: var(--mohave);}
#nasze_smaki .btn_more {color: #fff; text-transform: uppercase; background-color: #6d2022; display: flex; justify-content: center; align-items: center; text-decoration: none; text-align: center; font-family: var(--mohave);}
#nasze_smaki .btn_more:hover {background-color: #000;}

#kontakt {color: #fcfcfc; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#kontakt #content {display: flex; justify-content: space-between; font-family: var(--mohave);}
#kontakt #copyrights {font-family: var(--mohave);}

#hero #menu {gap: 2.3438vw; font-size: 1.3672vw; height: 4.4922vw; width: 76.6797vw; margin: 0 auto;}
#hero #badge_nowosc {width: 6.9141vw; left: 82.0312vw; top: 0;}
#hero #hero_content {top: 8.7891vw; left: 10.8594vw;}
#hero #logo {width: 35.6641vw;}
#hero #badge_premiera_sezonu {width: 21.7188vw; margin-top: 0.9766vw;}
#hero #txt {margin-top: 3.7109vw; font-size: 1.9531vw; line-height: 2.1094vw;}
#hero #btn {margin-top: 4.1016vw; border-radius: 0.9375vw; border: 0.0781vw solid #c09465; width: 27.6562vw; height: 4.3359vw; font-size: 2.1484vw; line-height: 2.1484vw;}

#podroze #txt {top: 5.6641vw; left: 14.2578vw;}
.podroze_title {font-size: 3.5156vw; line-height: 4.2969vw;}
.podroze_szlak {margin-top: 0.9766vw; margin-bottom: 1.5625vw; gap: 0.5859vw;}
.podroze_szlak img {width: 16.4062vw;}
.podroze_szlak .txt {font-size: 1.7578vw; line-height: 1.7578vw;}
.podroze_txt {font-size: 1.5625vw; line-height: 1.5625vw; width: 24.6094vw;}
#podroze #dane_mapy {width: 42.6953vw; left: 47.6172vw; top: 8.4766vw;}

#nasze_smaki {width: 100%;}
#nasze_smaki .title {margin-top: 3.9062vw; gap: 1.3672vw;}
#nasze_smaki .title .title_txt {font-size: 3.5156vw; line-height: 3.5156vw;}
#nasze_smaki .title #smaki_linie1 {width: 32.8125vw;}
#nasze_smaki .title #smaki_linie2 {width: 32.8516vw;}
#nasze_smaki .txt {padding: 0 11.1328vw; font-size: 1.6406vw; line-height: 1.6406vw; margin-top: 1.9531vw;}
#nasze_smaki #produkty {width: 63.6719vw; margin-top: 2.9297vw;}
#nasze_smaki #produkty .produkt {width: 20.5078vw; border: 0.0391vw solid #c09465; border-radius: 0.9766vw; transition: all 300ms ease-in;}
#nasze_smaki #produkty .produkt:hover {transform: scale(1.05);}
#nasze_smaki #produkty .produkt .image {right: 0vw;}
#nasze_smaki #produkty .produkt .name {margin: 0 auto; margin-top: 30.8594vw; height: 3.8281vw; border-radius: 1.1328vw;}
#nasze_smaki #produkty .produkt.jablko .name {width: 12.4219vw;}
#nasze_smaki #produkty .produkt.wodka .name {width: 7.1484vw;}
#nasze_smaki #produkty .produkt.porzeczka .name {width: 12.0312vw;}
#nasze_smaki #produkty .produkt.jablko .image img {width: 16.875vw;}
#nasze_smaki #produkty .produkt.wodka .image img {width: 16.9141vw;}
#nasze_smaki #produkty .produkt.porzeczka .image img {width: 16.9922vw;}
#nasze_smaki #produkty .produkt .big {font-size: 1.7578vw; line-height: 1.7578vw;}
#nasze_smaki #produkty .produkt .small {font-size: 0.8594vw; line-height: 0.8594vw;}
#nasze_smaki #produkty .produkt .txt {padding: 0; font-size: 0.8203vw; line-height: 0.8203vw;}
#nasze_smaki #produkty .produkt .vol {font-size: 0.8203vw; line-height: 0.8203vw; margin-top: 0.9766vw;}
#nasze_smaki .btn_more {font-size: 2.1484vw; line-height: 2.1484vw; margin-top: 5.0781vw; width: 33.9453vw; height: 4.3359vw; border-radius: 0.9375vw; border: 0.0781vw solid #c09465;}

#kontakt {padding-top: 4.2969vw; padding-bottom: 4.8828vw;}
#kontakt #logo img {width: 22.1875vw;}
#kontakt #content {width: 70.3125vw; font-size: 0.9766vw; line-height: 1.166vw; margin-top: 2.3438vw; border-top: 0.0391vw solid #fcfcfc; border-bottom: 0.0391vw solid #fcfcfc; padding-top: 1.5625vw; padding-bottom: 1.5625vw; padding-right: 5.8594vw;}
#kontakt #copyrights {font-size: 1.1719vw; margin-top: 2.1484vw;}

.produkty-arrow { display: none; }
#btn_powrot {display: block; z-index: 999; position: fixed; bottom: 1vw; right: 1vw; width: 3.5103125vw; background-size: cover; aspect-ratio: 1/1; background-image: url('images/btn_powrot.png'); background-repeat: no-repeat; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease, visibility 0.3s ease;}
#btn_powrot.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }

@media (prefers-reduced-motion: reduce) {
    #btn_powrot {
        transition: none;
    }
}

#btn_powrot:hover {background-position-y: 100%;}

@media screen and (max-width: 768px) {
    #btn_powrot { bottom: 3vw; right: 3vw; width: 8vw;}
    #bramka_wieku {background-image: url('images/bg_bramka_mobile.jpg'); aspect-ratio: 768/1440;}
    #bramka_wieku #bramka_premiera img {width: 46.4844vw;}
    #bramka_wieku #bramka_logo {margin-top: 5.8594vw;}
    #bramka_wieku #bramka_logo img {width: 77.9948vw;}
    #bramka_wieku #bramka_txt {font-size: 4.5573vw; line-height: 4.5573vw; margin-top: 4.5573vw;}
    #bramka_wieku #btns_txt {font-size: 3.9062vw; line-height: 3.9062vw; margin-top: 9.1146vw;}
    #bramka_wieku #btns {margin-top: 2.6042vw; gap: 3.2552vw; flex-direction: column;}
    #bramka_wieku #btns .btn {font-size: 3.9062vw; line-height: 4.2969vw; width: 32.5521vw; height: 18.2292vw; border: 0.2604vw solid #c09465; border-radius: 3.125vw;}
    #bramka_wieku #btns .btn.btn_yes {order: 1;}
    #bramka_wieku #btns .btn.btn_no {order: 2;}


    .mobile {display: block;}
    #hero {aspect-ratio:768/1675; background-image: url('images/bg_hero_mobile.jpg');}
    #podroze {aspect-ratio: 768/1260; background-image: url('images/bg_podroze_mobile.jpg');}
    #nasze_smaki {aspect-ratio: 768/1762; background-image: url('images/bg_smaki_mobile.jpg');}
    #menu_open {position: absolute; left: 86.3281vw; top: 5.8594vw;}
    #menu_open img {width: 6.5104vw;}

    #hero #menu {position: absolute; background-image: url('images/bg_mobile_menu.png'); aspect-ratio: 768/944; z-index: 100; display: flex; gap: 11.0677vw; font-size: 6.5104vw; line-height: 6.5104vw; height: auto; width: 100%; margin: 0 auto; align-items: center; justify-content: start; flex-direction: column;}
    #hero #mobile_menu_title {color: #ddd6ce; text-decoration: none; text-transform: uppercase; display: flex; flex-direction: column; align-items: center; margin-top: 5.8594vw;}
    #hero #mobile_menu_title img {width: 85.1562vw;}
    #hero #menu_close {position: absolute; top: 5.7292vw; left: 86.3281vw;}
    #hero #menu_close img {width: 6.6406vw;}

    #hero #menu {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-2.6042vw);

        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0s linear 0.3s;
    }

    #hero #menu.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);

        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0s;
    }

    @media (prefers-reduced-motion: reduce) {
        #hero #menu {
            transition: none;
            transform: none;
        }
    }

    #hero #badge_nowosc {display: none; width: 6.9141vw; left: 82.0312vw; top: 0;}
    #hero #hero_content {top: 14.3229vw; left: 0; width: 100%; justify-content: center;}
    #hero #logo {width: 78.776vw;}
    #hero #badge_premiera_sezonu {width: 48.4375vw; margin-top: 3.9062vw;}
    #hero #txt {margin-top: 8.4635vw; font-size: 4.5573vw; line-height: 4.5573vw;}
    #hero #btn {margin-top: 7.1615vw; border-radius: 1.9531vw; border: 0.2604vw solid #c09465; width: 58.8542vw; height: 9.1146vw; font-size: 4.5573vw; line-height: 4.5573vw;}

    #podroze #txt {top: 9.1146vw; left: 0; justify-content: center; align-items: center; width: 100%; text-align: center;}
    .podroze_title {font-size: 7.1615vw; line-height: 7.1615vw; text-align: center;}
    .podroze_szlak {margin-top: 4.5573vw; margin-bottom: 5.2083vw; gap: 2.6042vw;}
    .podroze_szlak img {width: 59.1146vw;}
    .podroze_szlak .txt {font-size: 3.9062vw; line-height: 3.9062vw; text-align: center;}
    .podroze_txt {font-size: 3.9062vw; line-height: 3.9062vw; width: 70.3125vw; margin: 0 auto;}
    #podroze #dane_mapy {width: 85.5469vw; left: 7.1615vw; top: 76.8229vw; aspect-ratio: 657/568; background-image: url('images/dane_mapy_mobile.png');}

    #nasze_smaki {width: 100%;}
    #nasze_smaki .title {margin-top: 9.1146vw; gap: 3.2552vw;}
    #nasze_smaki .title .title_txt {font-size: 7.1615vw; line-height: 7.1615vw;}
    #nasze_smaki .title #smaki_linie1 {width: 78.125vw;}
    #nasze_smaki .title #smaki_linie2 {width: 78.125vw;}
    #nasze_smaki .txt {padding: 0 23.4375vw; font-size: 3.5156vw; line-height: 3.5156vw; margin-top: 3.9062vw;}
    #nasze_smaki #produkty {width: 68.8594vw; margin: 0 auto; margin-top: 3.2552vw; overflow-x: hidden; overflow-x: auto; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0;}
    .produkty-slider #produkty::-webkit-scrollbar { display: none; }
    #nasze_smaki #produkty .produkt {flex-shrink: 0; width: 68.3594vw; border: 1px solid #c09465; border-radius: 3.2552vw; scroll-snap-align: start; scroll-snap-stop: always; scroll-margin-inline: 0;}
    #nasze_smaki #produkty .produkt .image {right: 0vw;}
    #nasze_smaki #produkty .produkt .name {margin: 0 auto; margin-top: 102.8646vw; height: 12.8906vw; border-radius: 3.776vw;}
    #nasze_smaki #produkty .produkt.jablko .name {width: 41.4062vw;}
    #nasze_smaki #produkty .produkt.wodka .name {width: 23.8281vw;}
    #nasze_smaki #produkty .produkt.porzeczka .name {width: 40.2344vw;}
    #nasze_smaki #produkty .produkt.jablko .image img {width: 56.25vw;}
    #nasze_smaki #produkty .produkt.wodka .image img {width: 56.3802vw;}
    #nasze_smaki #produkty .produkt.porzeczka .image img {width: 56.6406vw;}
    #nasze_smaki #produkty .produkt .big {font-size: 5.8594vw; line-height: 5.8594vw;}
    #nasze_smaki #produkty .produkt .small {font-size: 2.8646vw; line-height: 2.8646vw;}
    #nasze_smaki #produkty .produkt .txt {padding: 0; font-size: 2.7344vw; line-height: 2.7344vw;}
    #nasze_smaki #produkty .produkt .vol {font-size: 2.7344vw; line-height: 2.7344vw; margin-top: 3.2552vw;}
    #nasze_smaki .btn_more {font-size: 4.5573vw; line-height: 4.5573vw; margin-top: 9.1146vw; width: 69.9219vw; height: 9.1146vw; border-radius: 1.9531vw; border: 0.2604vw solid #c09465;}

    #kontakt {padding-top: 9.7656vw; padding-bottom: 12.3698vw;}
    #kontakt #logo img {width: 53.6458vw;}
    #kontakt #content {width: 73.8281vw; font-size: 2.3438vw; line-height: 2.6042vw; margin-top: 6.5104vw; border-top: 1px solid #fcfcfc; border-bottom: 1px solid #fcfcfc; padding-top: 7.1615vw; padding-bottom: 7.1615vw; padding-left: 5.8594vw; padding-right: 5.8594vw; flex-wrap: wrap; row-gap: 5.2083vw;}
    #kontakt #content .col {width: 50%;}
    #kontakt #copyrights {font-size: 2.0833vw; margin-top: 5.8594vw;}

    .produkty-arrow {
        position: absolute;
        z-index: 2;
        top: var(--arrow-top);
        transform: translateY(-50%);

        display: flex;
        align-items: center;
        justify-content: center;

        width: 5.7292vw;
        height: 8.3333vw;
        padding: 1.0417vw;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        touch-action: manipulation;
    }

    .produkty-arrow--prev {
        left: 0;
    }

    .produkty-arrow--next {
        right: 0;
    }

    .produkty-arrow svg {
        display: block;
        width: 3.3854vw;
        height: 6.25vw;
        fill: none;
        stroke: currentColor;
        stroke-width: 2.5;
        stroke-linecap: square;
        stroke-linejoin: miter;
    }

    .produkty-arrow:focus-visible {
        outline: 0.2604vw solid var(--product-border);
        outline-offset: -0.2604vw;
        border-radius: 0.7812vw;
    }

    .produkty-slider { position: relative; width: 100%; min-width: 0; --arrow-top: 40%; --product-border: #aa8757; }
}