/* ArtMeble 3.0: system wizualny wg Kave. Czcionki, tokeny, komponenty wspólne, nagłówek, megamenu, menu mobilne,
   koszyk w modalu i stopka. Ładowany na każdej stronie. Strony z nowym wyglądem (strona główna, koszyk, zamówienie,
   konto) mają dodatkowo kave-home.css albo kave-woo.css i nie ładują starych arkuszy. */

/* ==========================================================
   01. FONTY (lokalne, zmienne)
   ========================================================== */

@font-face{
    font-family:"Playfair Display";
    font-style:normal;
    font-weight:400 900;
    font-display:swap;
    src:url("../fonts/playfair-display-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face{
    font-family:"Playfair Display";
    font-style:normal;
    font-weight:400 900;
    font-display:swap;
    src:url("../fonts/playfair-display-latin-wght-normal.woff2") format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
    font-family:"Playfair Display";
    font-style:italic;
    font-weight:400 900;
    font-display:swap;
    src:url("../fonts/playfair-display-latin-ext-wght-italic.woff2") format("woff2");
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face{
    font-family:"Playfair Display";
    font-style:italic;
    font-weight:400 900;
    font-display:swap;
    src:url("../fonts/playfair-display-latin-wght-italic.woff2") format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
    font-family:"Plus Jakarta Sans";
    font-style:normal;
    font-weight:200 800;
    font-display:swap;
    src:url("../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face{
    font-family:"Plus Jakarta Sans";
    font-style:normal;
    font-weight:200 800;
    font-display:swap;
    src:url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
    font-family:"Alex Brush";
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url("../fonts/alex-brush-latin-ext-400-normal.woff2") format("woff2");
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face{
    font-family:"Alex Brush";
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url("../fonts/alex-brush-latin-400-normal.woff2") format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}


/* ==========================================================
   02. TOKENY
   ========================================================== */

:root{
    --kv-bg:#f2f4f7;
    --kv-bg-soft:#f8fafc;
    --kv-surface:#ffffff;
    --kv-ink:#101828;
    --kv-text:#344054;
    --kv-muted:#667085;
    --kv-green:#1e2f4d;
    --kv-green-hover:#2e4670;
    --kv-green-deep:#0c1424;
    --kv-sage:#e4e9f2;
    --kv-line:#e4e7ec;
    --kv-line-strong:#cfd5df;
    --kv-danger:#b42318;

    --kv-font-serif:"Playfair Display",Georgia,serif;
    --kv-font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
    --kv-font-script:"Alex Brush",cursive;

    --kv-radius-sm:8px;
    --kv-radius-md:16px;
    --kv-radius-lg:24px;
    --kv-radius-xl:32px;
    --kv-radius-full:9999px;

    --kv-dashed-md:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' rx='16' fill='none' stroke='%231e2f4d' stroke-width='2' stroke-dasharray='3 3'/%3E%3C/svg%3E");
    --kv-dashed-lg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' rx='24' fill='none' stroke='%231e2f4d' stroke-width='2' stroke-dasharray='3 3'/%3E%3C/svg%3E");

    --kv-shadow:0 4px 20px rgba(0,0,0,.04);
    --kv-shadow-lg:0 18px 48px rgba(0,0,0,.12);
    --kv-ease:cubic-bezier(.16,1,.3,1);
    --kv-t:.2s var(--kv-ease);
    --kv-gutter:24px;
    --kv-max:1400px;
}


/* ==========================================================
   03. BAZA STRON Z NOWYM WYGLĄDEM (body.kv)
   ========================================================== */

body.kv{
    margin:0;
    background:var(--kv-bg);
    color:var(--kv-ink);
    font-family:var(--kv-font-sans);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.kv *,
body.kv *::before,
body.kv *::after{
    box-sizing:border-box;
}

:where(body.kv) img,
:where(body.kv) svg{
    max-width:100%;
}

:where(body.kv) img{
    height:auto;
    border-style:none;
    vertical-align:middle;
}

:where(body.kv) a{
    color:inherit;
    text-decoration:none;
}

:where(body.kv) button{
    padding:0;
    border:0;
    background:none;
    color:inherit;
    font:inherit;
    cursor:pointer;
}

:where(body.kv) h1,
:where(body.kv) h2,
:where(body.kv) h3,
:where(body.kv) h4{
    margin:0;
    color:var(--kv-ink);
    font-family:var(--kv-font-serif);
    font-weight:400;
    line-height:1.15;
}

:where(body.kv) p{
    margin:0;
}

:where(body.kv) ul,
:where(body.kv) ol{
    margin:0;
    padding:0;
    list-style:none;
}

.mf-ico{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    font-style:normal;
    vertical-align:-.125em;
}

.mf-ico svg{
    display:block;
    height:1em;
}

.mf-ico--spin svg{
    animation:kv-spin 1s linear infinite;
}

.mf-skip-link{
    position:absolute;
    z-index:10000;
    top:8px;
    left:8px;
    padding:10px 16px;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-size:14px;
    font-weight:700;
    transform:translateY(-200%);
}

.mf-skip-link:focus{
    transform:none;
}

.screen-reader-text{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.kv-container{
    width:min(100% - 2 * var(--kv-gutter),var(--kv-max));
    margin-inline:auto;
}

.kv-eyebrow{
    display:block;
    color:var(--kv-green);
    font-family:var(--kv-font-sans);
    font-size:11px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.kv-title{
    font-size:clamp(34px,4vw,52px);
    line-height:1.15;
}

.kv-title em{
    color:var(--kv-green);
    font-style:italic;
}

.kv-title .kv-script{
    color:var(--kv-green);
    font-style:italic;
}

.kv-title+p,
.kv-title+.kv-lead{
    margin-top:16px;
}

.kv-lead{
    color:var(--kv-muted);
    font-size:16px;
    line-height:1.7;
}


/* ==========================================================
   04. PRZYCISKI
   ========================================================== */

.kv-btn{
    min-height:52px;
    padding:0 32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid var(--kv-green);
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-family:var(--kv-font-sans);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
    transition:background-color .25s var(--kv-ease),border-color .25s var(--kv-ease),color .25s var(--kv-ease),transform .25s var(--kv-ease);
}

.kv-btn:hover{
    border-color:var(--kv-green-hover);
    background:var(--kv-green-hover);
    color:#fff;
}

.kv-btn:focus-visible{
    outline:2px solid var(--kv-green);
    outline-offset:3px;
}

.kv-btn--light{
    border-color:#fff;
    background:#fff;
    color:var(--kv-green);
}

.kv-btn--light:hover{
    border-color:#fff;
    background:var(--kv-sage);
    color:var(--kv-green);
}

.kv-btn--outline{
    border-color:var(--kv-ink);
    background:transparent;
    color:var(--kv-ink);
}

.kv-btn--outline:hover{
    border-color:var(--kv-ink);
    background:var(--kv-ink);
    color:#fff;
}

.kv-btn--ghost-light{
    border-color:rgba(255,255,255,.7);
    background:transparent;
    color:#fff;
}

.kv-btn--ghost-light:hover{
    border-color:#fff;
    background:#fff;
    color:var(--kv-green);
}

.kv-btn--full{
    width:100%;
}

.kv-btn i{
    font-size:.9em;
}

/* Animacja wszystkich przycisków: delikatne uniesienie i ruch strzałki */

.kv :is(.kv-btn,.mf-btn,.kv-header__cta,.mf-home-product .mf-btn,#place_order,.mf-account .button){
    transition:background-color .25s var(--kv-ease),border-color .25s var(--kv-ease),color .25s var(--kv-ease),transform .25s var(--kv-ease),box-shadow .25s var(--kv-ease);
}

.kv :is(.kv-btn,.mf-btn,.kv-header__cta,.mf-home-product .mf-btn,#place_order,.mf-account .button):hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(16,24,40,.16);
}

.kv :is(.kv-btn,.mf-btn,.kv-header__cta,.mf-home-product .mf-btn,#place_order,.mf-account .button):active{
    transform:none;
    box-shadow:none;
}

.kv :is(.kv-btn,.kv-header__cta,.mf-btn) .mf-ico{
    transition:transform .25s var(--kv-ease);
}

.kv :is(.kv-btn,.kv-header__cta,.mf-btn):hover .mf-ico{
    transform:translateX(3px);
}

@media (prefers-reduced-motion:reduce){
    .kv :is(.kv-btn,.mf-btn,.kv-header__cta,.mf-home-product .mf-btn,#place_order,.mf-account .button):hover,
    .kv :is(.kv-btn,.kv-header__cta,.mf-btn):hover .mf-ico{
        transform:none;
    }
}

.kv .kv-crumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    font-size:13px;
    line-height:1.4;
    letter-spacing:0;
    text-transform:none;
}

.kv .kv-crumbs [aria-current]{
    font-weight:700;
}

.kv-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding-bottom:4px;
    border-bottom:1px solid currentColor;
    font-size:14px;
    font-weight:600;
    transition:opacity .2s ease;
}

.kv-link:hover{
    opacity:.7;
}

.kv-link--caps{
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.kv-round-btn{
    width:44px;
    height:44px;
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--kv-line-strong);
    border-radius:50%;
    background:var(--kv-surface);
    color:var(--kv-ink);
    transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.kv-round-btn:hover{
    border-color:var(--kv-green);
    background:var(--kv-green);
    color:#fff;
}


/* ==========================================================
   05. NAGŁÓWEK
   ========================================================== */

.kv-header{
    position:relative;
    z-index:1000;
    width:100%;
    background:var(--kv-bg-soft);
    color:var(--kv-ink);
    font-family:var(--kv-font-sans);
}

.kv-header *,
.kv-header *::before,
.kv-header *::after{
    box-sizing:border-box;
}

:where(.kv-header) a{
    color:inherit;
    text-decoration:none;
}

:where(.kv-header) button{
    padding:0;
    border:0;
    background:none;
    color:inherit;
    font:inherit;
    cursor:pointer;
}

:where(.kv-header) svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.kv-header .mf-ico:not(.mf-ico--line) svg{
    fill:currentColor;
    stroke:none;
}

.kv-header__topbar{
    background:var(--kv-green);
    color:#fff;
}

.kv-header__topbar-inner{
    width:min(100% - 2 * var(--kv-gutter),var(--kv-max));
    min-height:40px;
    margin-inline:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.04em;
}

.kv-header__topbar-text{
    margin:0;
    display:inline-flex;
    align-items:center;
    gap:10px;
}

.kv-header__topbar-link{
    font-weight:500;
    text-decoration:underline;
    text-underline-offset:4px;
}

.kv-header__main{
    padding:18px 0;
    background:var(--kv-bg-soft);
}

.kv-header__main-inner{
    width:min(100% - 2 * var(--kv-gutter),var(--kv-max));
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(0,540px) minmax(180px,1fr);
    align-items:center;
    gap:32px;
}

.kv-header__brand{
    display:inline-flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    width:max-content;
    color:var(--kv-green);
}

.kv-header__brand-main{
    font-family:var(--kv-font-serif);
    font-size:32px;
    line-height:1;
    font-weight:600;
    letter-spacing:.01em;
}

.kv-header__brand-sub{
    color:var(--kv-muted);
    font-size:10px;
    line-height:1;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
}

.kv-header__search{
    position:relative;
    display:flex;
    align-items:center;
}

.kv-search-suggest{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    left:0;
    z-index:60;
    overflow:hidden;
    padding:8px;
    border:1px solid var(--kv-line);
    border-radius:var(--kv-radius-lg);
    background:var(--kv-surface);
    box-shadow:0 16px 40px rgba(12,20,36,.12);
}

.kv-search-suggest[hidden]{
    display:none;
}

.kv-search-suggest__item{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:8px;
    border-radius:var(--kv-radius-md);
    color:var(--kv-ink);
    transition:background var(--kv-t);
}

.kv-search-suggest__item:hover,
.kv-search-suggest__item.is-active,
.kv-search-suggest__all.is-active{
    background:var(--kv-bg-soft);
}

.kv-search-suggest__item img,
.kv-search-suggest__ph{
    width:48px;
    height:48px;
    border-radius:var(--kv-radius-sm);
    background:var(--kv-bg);
    object-fit:cover;
}

.kv-search-suggest__name{
    min-width:0;
    overflow:hidden;
    font-family:var(--kv-font-serif);
    font-size:1rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.kv-search-suggest__price{
    color:var(--kv-green);
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
}

.kv-search-suggest__all{
    display:block;
    margin-top:4px;
    padding:12px 8px 8px;
    border-top:1px solid var(--kv-line);
    color:var(--kv-green);
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-align:center;
    text-transform:uppercase;
}

.kv-search-suggest__empty{
    margin:0;
    padding:14px 12px;
    color:var(--kv-muted);
    font-size:14px;
}

.kv-header__search-input{
    width:100%;
    height:50px;
    padding:0 64px 0 24px;
    border:1px solid var(--kv-line);
    border-radius:var(--kv-radius-full);
    background:var(--kv-surface);
    color:var(--kv-ink);
    font:400 15px/1 var(--kv-font-sans);
    box-shadow:0 1px 4px rgba(0,0,0,.02);
    outline:none;
    appearance:none;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.kv-header__search-input::placeholder{
    color:var(--kv-muted);
}

.kv-header__search-input:focus{
    border-color:var(--kv-green);
    box-shadow:0 0 0 3px rgba(30,47,77,.12);
}

.kv-header__search-btn{
    position:absolute;
    top:50%;
    right:6px;
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--kv-green);
    color:#fff;
    transform:translateY(-50%);
    transition:background-color .2s ease;
}

.kv-header__search-btn:hover{
    background:var(--kv-green-hover);
}

.kv-header__search-btn svg{
    width:17px;
    height:17px;
}

.kv-header__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.kv-header__action{
    position:relative;
    min-width:64px;
    padding:6px 10px;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    border-radius:var(--kv-radius-md);
    font-size:11px;
    line-height:1.1;
    font-weight:600;
    transition:background-color .2s ease;
}

.kv-header__action:hover{
    background:var(--kv-bg);
}

.kv-header__action svg{
    width:22px;
    height:22px;
}

.kv-header__cart-count{
    position:absolute;
    top:0;
    right:12px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:700;
}

.kv-header__toggle{
    display:none;
    width:46px;
    height:46px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:50%;
}

.kv-header__toggle span{
    width:20px;
    height:2px;
    border-radius:2px;
    background:var(--kv-ink);
    transition:transform .25s var(--kv-ease),opacity .2s ease;
}

.kv-header.is-mobile-open .kv-header__toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.kv-header.is-mobile-open .kv-header__toggle span:nth-child(2){
    opacity:0;
}

.kv-header.is-mobile-open .kv-header__toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

.kv-header__bar{
    position:relative;
    padding:10px 0;
    border-top:1px solid var(--kv-line);
    border-bottom:1px solid var(--kv-line);
    background:var(--kv-bg-soft);
}

.kv-header__bar-inner{
    width:min(100% - 2 * var(--kv-gutter),var(--kv-max));
    margin-inline:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
}

.kv-header__nav{
    display:flex;
    align-items:center;
    gap:clamp(20px,2.4vw,40px);
}

.kv-header__nav-item{
    display:flex;
}

.kv-header__nav-link{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-align:left;
}

.kv-header__nav-icon{
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--kv-bg);
    color:var(--kv-green);
    font-size:13px;
    transition:background-color .2s ease,color .2s ease;
}

.kv-header__nav-link:hover .kv-header__nav-icon,
.kv-header__nav-item--mega.is-open .kv-header__nav-icon{
    background:var(--kv-green);
    color:#fff;
}

.kv-header__nav-text{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.kv-header__nav-text strong{
    font-size:13px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.kv-header__nav-text small{
    color:var(--kv-muted);
    font-size:11px;
    line-height:1.2;
}

.kv-header__chevron{
    width:12px;
    height:12px;
    transition:transform .25s var(--kv-ease);
}

.kv-header__nav-item--mega.is-open .kv-header__chevron{
    transform:rotate(180deg);
}

.kv-header__cta{
    padding:8px 22px 8px 8px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    transition:background-color .25s var(--kv-ease);
}

.kv-header__cta:hover{
    background:var(--kv-green-hover);
}

.kv-header__cta-icon{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    font-size:15px;
}

.kv-header__cta-text{
    display:flex;
    flex-direction:column;
    gap:1px;
}

.kv-header__cta-text strong{
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.kv-header__cta-text small{
    color:rgba(255,255,255,.8);
    font-size:11px;
    line-height:1.2;
}


/* ----- megamenu ----- */

.kv-header__mega{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:20;
    padding:0 var(--kv-gutter);
    background:var(--kv-bg-soft);
    border-bottom:1px solid var(--kv-line);
    box-shadow:var(--kv-shadow-lg);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .22s var(--kv-ease),transform .22s var(--kv-ease),visibility .22s;
}

.kv-header__nav-item--mega.is-open .kv-header__mega{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.kv-header__mega-inner{
    width:min(100%,var(--kv-max));
    margin-inline:auto;
    padding:36px 0 40px;
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(220px,.6fr) minmax(280px,.7fr);
    gap:48px;
}

.kv-header__mega-label{
    display:block;
    margin-bottom:20px;
    color:var(--kv-green);
    font-size:11px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.kv-header__mega-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.kv-header__mega-card{
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid var(--kv-line);
    border-radius:var(--kv-radius-md);
    background:var(--kv-surface);
    transition:border-color .2s ease,box-shadow .2s ease,transform .25s var(--kv-ease);
}

.kv-header__mega-card:hover{
    border-color:var(--kv-green);
    box-shadow:var(--kv-shadow);
    transform:translateY(-2px);
}

.kv-header__mega-icon{
    width:44px;
    height:44px;
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--kv-sage);
    color:var(--kv-green);
    font-size:17px;
}

.kv-header__mega-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.kv-header__mega-copy strong{
    font-family:var(--kv-font-serif);
    font-size:17px;
    line-height:1.2;
    font-weight:500;
}

.kv-header__mega-copy small{
    color:var(--kv-muted);
    font-size:12px;
    line-height:1.4;
}

.kv-header__mega-help{
    display:flex;
    flex-direction:column;
}

.kv-header__mega-link{
    padding:12px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid var(--kv-line);
    font-size:14px;
    font-weight:500;
    transition:color .2s ease,padding-left .25s var(--kv-ease);
}

.kv-header__mega-link:hover{
    padding-left:6px;
    color:var(--kv-green);
}

.kv-header__mega-feature{
    position:relative;
    min-height:260px;
    display:block;
    overflow:hidden;
    border-radius:var(--kv-radius-lg);
    background:var(--kv-green-deep);
    color:#fff;
}

.kv-header__mega-feature img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s var(--kv-ease);
}

.kv-header__mega-feature:hover img{
    transform:scale(1.05);
}

.kv-header__mega-feature::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(12,20,36,0) 35%,rgba(12,20,36,.82) 100%);
}

.kv-header__mega-feature-body{
    position:absolute;
    z-index:2;
    right:22px;
    bottom:22px;
    left:22px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.kv-header__mega-feature-body small{
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    opacity:.85;
}

.kv-header__mega-feature-body strong{
    font-family:var(--kv-font-serif);
    font-size:26px;
    line-height:1.1;
    font-weight:500;
}


/* ----- menu mobilne ----- */

.kv-header__mobile{
    display:none;
    padding:8px var(--kv-gutter) 24px;
    border-top:1px solid var(--kv-line);
    background:var(--kv-bg-soft);
}

.kv-header.is-mobile-open .kv-header__mobile{
    display:block;
}

.kv-header__mobile nav>a,
.kv-header__mobile-shop>button{
    width:100%;
    min-height:54px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--kv-line);
    font-family:var(--kv-font-serif);
    font-size:20px;
    font-weight:500;
    text-align:left;
}

.kv-header__mobile-plus{
    font-family:var(--kv-font-sans);
    font-size:22px;
    font-weight:300;
}

.kv-header__mobile-submenu{
    display:none;
    padding:6px 0 10px 14px;
}

.kv-header__mobile-shop.is-open .kv-header__mobile-submenu{
    display:block;
}

.kv-header__mobile-submenu a{
    min-height:44px;
    display:flex;
    align-items:center;
    color:var(--kv-text);
    font-size:15px;
}

.kv-header__mobile-bottom{
    margin-top:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.kv-header__mobile-bottom a,
.kv-header__mobile-bottom button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--kv-green);
    border-radius:var(--kv-radius-full);
    font-size:14px;
    font-weight:600;
}

.kv-header__mobile-bottom button{
    background:var(--kv-green);
    color:#fff;
}


/* ==========================================================
   06. KOSZYK W MODALU
   ========================================================== */

body.mf-cart-modal-open{
    overflow:hidden;
}

.mf-cart-modal{
    position:fixed;
    inset:0;
    z-index:2000;
    visibility:hidden;
    pointer-events:none;
    font-family:var(--kv-font-sans);
}

.mf-cart-modal.is-open{
    visibility:visible;
    pointer-events:auto;
}

.mf-cart-modal__overlay{
    position:absolute;
    inset:0;
    background:rgba(12,20,36,.45);
    opacity:0;
    transition:opacity .3s ease;
}

.mf-cart-modal.is-open .mf-cart-modal__overlay{
    opacity:1;
}

.mf-cart-modal__panel{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:min(100%,460px);
    display:flex;
    flex-direction:column;
    border-radius:var(--kv-radius-lg) 0 0 var(--kv-radius-lg);
    background:var(--kv-surface);
    color:var(--kv-ink);
    box-shadow:var(--kv-shadow-lg);
    transform:translateX(100%);
    transition:transform .4s var(--kv-ease);
    outline:none;
}

.mf-cart-modal.is-open .mf-cart-modal__panel{
    transform:translateX(0);
}

.mf-cart-modal__head{
    padding:28px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid var(--kv-line);
}

.mf-cart-modal__head span{
    display:block;
    color:var(--kv-ink);
    font-size:26px;
    font-weight:300;
    letter-spacing:-.01em;
    text-transform:none;
    font-family:var(--kv-font-serif);
    line-height:1.2;
}

.mf-cart-modal__head strong{
    display:block;
    margin-top:2px;
    font-family:var(--kv-font-sans);
    font-size:13px;
    line-height:1.1;
    font-weight:500;
    color:var(--kv-muted);
}

.mf-cart-modal__head strong span{
    display:inline;
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
    letter-spacing:0;
    text-transform:none;
    font-family:inherit;
}

.mf-cart-modal__close{
    width:40px;
    height:40px;
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--kv-line-strong);
    border-radius:50%;
    background:transparent;
    transition:background-color .2s ease,color .2s ease;
    color:var(--kv-muted);
}

.mf-cart-modal__close:hover{
    border-color:var(--kv-green);
    background:var(--kv-green);
    color:#fff;
}

.mf-cart-modal__close svg,
.mf-cart-item__remove svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mf-cart-modal__body{
    position:relative;
    flex:1;
    padding:32px;
    overflow-y:auto;
}

.mf-cart-modal__loading{
    padding:48px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    color:var(--kv-muted);
    font-size:14px;
}

.mf-cart-modal__loading[hidden],
.mf-cart-modal__error[hidden],
.mf-cart-modal__footer[hidden],
.mf-cart-modal__empty[hidden]{
    display:none;
}

.mf-cart-modal__loading span{
    width:28px;
    height:28px;
    border:2px solid var(--kv-line-strong);
    border-top-color:var(--kv-green);
    border-radius:50%;
    animation:kv-spin .8s linear infinite;
}

@keyframes kv-spin{
    to{transform:rotate(360deg)}
}

.mf-cart-modal__empty,
.mf-cart-modal__error{
    padding:56px 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
}

.mf-cart-modal__empty-icon{
    width:64px;
    height:64px;
    margin-bottom:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--kv-sage);
    color:var(--kv-green);
}

.mf-cart-modal__empty-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mf-cart-modal__empty strong,
.mf-cart-modal__error strong{
    font-family:var(--kv-font-serif);
    font-size:22px;
    font-weight:500;
}

.mf-cart-modal__empty p,
.mf-cart-modal__error p{
    max-width:300px;
    color:var(--kv-muted);
    font-size:14px;
}

.mf-cart-modal__empty a,
.mf-cart-modal__error button{
    margin-top:12px;
    min-height:46px;
    padding:0 26px;
    display:inline-flex;
    align-items:center;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.mf-cart-modal__footer{
    padding:28px 32px;
    border-top:1px solid var(--kv-line);
    background:var(--kv-surface);
    border-radius:0 0 0 var(--kv-radius-lg);
}

.mf-cart-modal__summary-row,
.mf-cart-modal__total{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:5px 0;
    color:var(--kv-muted);
    font-size:15px;
    font-weight:700;
}

.mf-cart-modal__summary-row strong{
    color:var(--kv-ink);
    font-weight:600;
}

.mf-cart-modal__summary-row[hidden]{
    display:none;
}

.mf-cart-modal__summary-row strong,
.mf-cart-modal__total strong,
.mf-cart-item__bottom>strong{
    white-space:nowrap;
}

.mf-cart-modal__total{
    margin-top:8px;
    padding-top:14px;
    border-top:1px solid var(--kv-line);
    color:var(--kv-ink);
    font-size:15px;
    font-weight:600;
}

.mf-cart-modal__total strong{
    font-family:var(--kv-font-sans);
    font-size:16px;
    font-weight:700;
}

.mf-cart-modal__checkout{
    margin-top:16px;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-size:13px;
    font-weight:700;
    transition:background-color .25s var(--kv-ease);
    letter-spacing:.1em;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
}

.mf-cart-modal__checkout:hover{
    background:var(--kv-green-hover);
}

.mf-cart-modal__cart-link{
    margin-top:12px;
    display:block;
    color:var(--kv-muted);
    font-size:11px;
    font-weight:700;
    text-align:center;
    text-decoration:underline;
    text-underline-offset:4px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mf-cart-modal__note{
    margin-top:12px;
    color:var(--kv-muted);
    font-size:12px;
    text-align:center;
}


/* ----- pozycje koszyka (modal) ----- */

.mf-cart-items{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.mf-cart-item{
    padding:0 0 24px;
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:20px;
    border-bottom:1px solid var(--kv-line);
    transition:opacity .2s ease;
}

.mf-cart-item:last-child{
    padding-bottom:0;
    border-bottom:0;
}

.mf-cart-item.is-updating{
    opacity:.5;
    pointer-events:none;
}

.mf-cart-item__image{
    display:block;
    width:80px;
    height:80px;
    overflow:hidden;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-sm);
    background:var(--kv-bg-soft);
}

.mf-cart-item__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mf-cart-item__content{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.mf-cart-item__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.mf-cart-item__sku{
    display:none;
    margin-bottom:2px;
    color:var(--kv-muted);
    font-size:11px;
}

.mf-cart-item h3{
    font-family:var(--kv-font-sans);
    font-size:14px;
    line-height:1.4;
    font-weight:500;
}

.mf-cart-item h3 a:hover{
    color:var(--kv-green);
}

.mf-cart-item__remove{
    flex:none;
    color:var(--kv-muted);
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:color .2s ease;
}

.mf-cart-item__remove:hover{
    color:var(--kv-danger);
}

.mf-cart-item__variation{
    display:flex;
    flex-wrap:wrap;
    gap:4px 12px;
    color:var(--kv-muted);
    font-size:12px;
    line-height:1.5;
}

.mf-cart-item__bottom{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.mf-cart-item__bottom>strong{
    color:var(--kv-green);
    font-size:14px;
    font-weight:600;
    white-space:nowrap;
}

.mf-cart-item__qty{
    padding:3px;
    display:inline-flex;
    align-items:center;
    gap:2px;
    border:1px solid var(--kv-line);
    border-radius:var(--kv-radius-full);
    background:var(--kv-bg-soft);
}

.mf-cart-item__qty button{
    width:24px;
    height:24px;
    border-radius:50%;
    color:var(--kv-muted);
    font-size:14px;
    font-weight:700;
    transition:background-color .2s ease,color .2s ease;
}

.mf-cart-item__qty button:hover:not(:disabled){
    background:var(--kv-surface);
    color:var(--kv-ink);
}

.mf-cart-item__qty button:disabled{
    opacity:.35;
    cursor:default;
}

.mf-cart-item__qty input{
    width:30px;
    height:24px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--kv-ink);
    font:600 13px/1 var(--kv-font-sans);
    text-align:center;
    appearance:textfield;
    -moz-appearance:textfield;
}

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


/* ==========================================================
   07. STOPKA
   ========================================================== */

.kv-footer{
    margin-top:clamp(56px,7vw,112px);
    background:var(--kv-bg-soft);
    color:var(--kv-ink);
    font-family:var(--kv-font-sans);
}

.kv-footer *,
.kv-footer *::before,
.kv-footer *::after{
    box-sizing:border-box;
}

:where(.kv-footer) a{
    color:inherit;
    text-decoration:none;
}

.kv-footer__main{
    width:min(100% - 2 * var(--kv-gutter),var(--kv-max));
    margin-inline:auto;
    padding:72px 0 56px;
    display:grid;
    grid-template-columns:minmax(240px,1.3fr) repeat(4,minmax(0,1fr));
    gap:40px;
}

.kv-footer__brand{
    display:inline-flex;
    flex-direction:column;
    gap:2px;
    color:var(--kv-green);
}

.kv-footer__brand-main{
    font-family:var(--kv-font-serif);
    font-size:34px;
    line-height:1;
    font-weight:600;
}

.kv-footer__brand-sub{
    color:var(--kv-muted);
    font-size:10px;
    line-height:1;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
}

.kv-footer__intro p{
    max-width:300px;
    margin-top:22px;
    color:var(--kv-muted);
    font-size:14px;
    line-height:1.75;
}

.kv-footer__social{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.kv-footer__social a{
    min-height:38px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    font-size:13px;
    font-weight:500;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.kv-footer__social a:hover{
    border-color:var(--kv-green);
    background:var(--kv-green);
    color:#fff;
}

.kv-footer__column h3{
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid var(--kv-line);
    color:var(--kv-ink);
    font-family:var(--kv-font-sans);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.kv-footer__column>a:not(.kv-footer__cta){
    padding:8px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:var(--kv-text);
    font-size:14px;
    transition:color .2s ease,padding-left .25s var(--kv-ease);
}

.kv-footer__column>a:not(.kv-footer__cta):hover{
    padding-left:6px;
    color:var(--kv-green);
}

.kv-footer__column>a:not(.kv-footer__cta) i{
    color:var(--kv-muted);
    font-size:10px;
}

.kv-footer__contact>a:not(.kv-footer__cta){
    padding:0;
    display:inline-block;
    font-size:15px;
    font-weight:600;
    overflow-wrap:anywhere;
}

.kv-footer__contact-phone{
    margin-top:26px;
}

.kv-footer__cta{
    margin-top:28px;
}

.kv-footer__trust{
    width:100%;
    padding:22px max(var(--kv-gutter),calc((100% - var(--kv-max)) / 2));
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
    border-top:1px solid var(--kv-line);
    background:var(--kv-surface);
}

.kv-footer__trust-item{
    display:flex;
    align-items:center;
    gap:14px;
}

.kv-footer__trust-icon{
    width:42px;
    height:42px;
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--kv-sage);
    color:var(--kv-green);
    font-size:16px;
}

.kv-footer__trust-item div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.kv-footer__trust-item strong{
    font-size:13px;
    line-height:1.3;
    font-weight:700;
}

.kv-footer__trust-item div>span{
    color:var(--kv-muted);
    font-size:12px;
    line-height:1.4;
}

.kv-footer__bottom{
    padding:22px max(var(--kv-gutter),calc((100% - var(--kv-max)) / 2));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:var(--kv-green);
    color:rgba(255,255,255,.82);
    font-size:12px;
}


/* ==========================================================
   07b. KARTY PRODUKTÓW (strona główna, koszyk)
   ========================================================== */

.mf-product-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.mf-product-grid--4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.mf-home-product{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:var(--kv-radius-lg);
    background:var(--kv-surface);
}

.mf-home-product__photo{
    position:relative;
    display:block;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:var(--kv-bg);
}

.mf-home-product__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s var(--kv-ease);
}

.mf-home-product:hover .mf-home-product__photo img{
    transform:scale(1.05);
}

.mf-home-product__badge,
.mf-badge{
    position:absolute;
    top:16px;
    left:16px;
    padding:6px 14px;
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font-size:.75rem;
    font-weight:600;
}

.mf-home-product__body{
    display:flex;
    flex:1;
    flex-direction:column;
    gap:16px;
    padding:24px;
}

.mf-home-product__top{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.mf-home-product__top :is(h2,h3){
    margin:0;
    letter-spacing:0;
    text-transform:none;
    font-family:var(--kv-font-serif);
    font-size:1.25rem;
    font-weight:500;
    line-height:1.3;
}

.mf-home-product__top :is(h2,h3) a{
    color:var(--kv-ink);
    text-decoration:none;
}

.mf-home-product__top :is(h2,h3) a:hover{
    color:var(--kv-green);
}

.mf-home-product__category{
    color:var(--kv-muted);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.mf-home-product__excerpt{
    margin:0;
    color:var(--kv-muted);
    font-size:.9375rem;
    line-height:1.6;
}

.mf-home-product .mf-price{
    display:block;
    align-self:stretch;
    width:100%;
    color:var(--kv-green);
    font-family:var(--kv-font-sans);
    font-size:1.375rem;
    font-weight:700;
    line-height:1.2;
}

.mf-home-product .mf-quick-add{
    margin-top:auto;
}

.mf-card-swatches{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.mf-card-swatch{
    width:20px;
    height:20px;
    padding:0;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    background:var(--sw,var(--kv-sage));
    box-shadow:0 0 0 2px var(--kv-surface);
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease;
}

.mf-card-swatch:hover{
    transform:scale(1.15);
}

.mf-card-swatch:focus-visible{
    outline:2px solid var(--kv-green);
    outline-offset:3px;
}

.mf-card-swatch.is-active{
    box-shadow:0 0 0 2px var(--kv-surface),0 0 0 4px var(--kv-green);
}

@media (prefers-reduced-motion:reduce){
    .mf-card-swatch{
        transition:none;
    }

    .mf-card-swatch:hover{
        transform:none;
    }
}

.mf-home-product .mf-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:52px;
    padding:0 24px;
    border:1px solid var(--kv-green);
    border-radius:var(--kv-radius-full);
    background:var(--kv-green);
    color:#fff;
    font:700 12px/1.3 var(--kv-font-sans);
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
}

.mf-home-product .mf-btn:hover{
    border-color:var(--kv-green-hover);
    background:var(--kv-green-hover);
    color:#fff;
}

@media (max-width:1100px){
    .mf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:600px){
    .mf-product-grid{
        grid-template-columns:minmax(0,1fr);
    }
}

/* ==========================================================
   08. RESPONSYWNOŚĆ NAGŁÓWKA I STOPKI
   ========================================================== */

@media(max-width:1180px){
    .kv-header__bar{
        display:none;
    }

    .kv-header__toggle{
        display:inline-flex;
    }

    .kv-header__main-inner{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:20px;
    }

    .kv-header__action span{
        display:none;
    }

    .kv-header__action{
        min-width:46px;
        padding:10px;
    }

    .kv-header__cart-count{
        top:2px;
        right:2px;
    }

    .kv-footer__main{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kv-footer__intro{
        grid-column:1/-1;
    }

    .kv-footer__trust{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .kv-header__topbar-link{
        display:none;
    }

    .kv-header__topbar-inner{
        min-height:36px;
        font-size:11px;
    }

    .kv-header__main{
        padding:12px 0;
    }

    .kv-header__main-inner{
        grid-template-columns:1fr auto;
        row-gap:12px;
    }

    .kv-header__search{
        grid-column:1/-1;
        grid-row:2;
    }

    .kv-header__search-input{
        height:46px;
        font-size:14px;
    }

    .kv-header__brand-main{
        font-size:28px;
    }


    .mf-cart-modal__panel{
        border-radius:0;
    }

    .mf-cart-modal__head,
    .mf-cart-modal__body,
    .mf-cart-modal__footer{
        padding-right:20px;
        padding-left:20px;
    }

    .kv-footer__main{
        padding:48px 0 40px;
        grid-template-columns:1fr 1fr;
        gap:32px 24px;
    }

    .kv-footer__trust{
        grid-template-columns:1fr;
        gap:16px;
    }

    .kv-footer__bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:420px){
    .kv-footer__main{
        grid-template-columns:1fr;
    }
}

@media(prefers-reduced-motion:reduce){
    .kv-header *,
    .kv-footer *,
    .mf-cart-modal,
    .mf-cart-modal *{
        transition-duration:.01ms;
        animation-duration:.01ms;
    }
}
