/*
Theme Name: Vse Nado
Version: 0.1.58
Requires PHP: 7.4
Text Domain: vse-nado
*/
:root{--ink:#412019;--lime:#a2d624;--pale:#f1f8d9;--orange:#a94000}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:16px/1.6 system-ui,sans-serif}a{color:inherit}img{max-width:100%;height:auto}.wrap{max-width:1200px;margin:auto;padding:0 20px}.site-head{border-bottom:1px solid #eee}.bar,nav ul,.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.bar{justify-content:space-between;padding-block:12px}.logo{width:170px;display:block}nav ul{list-style:none;padding:0;margin:0 0 12px}nav a{text-decoration:none;font-weight:650}main{padding-block:24px 48px!important}h1,h2,h3{line-height:1.13}h1{font-size:clamp(2rem,5vw,4rem);margin:.35em 0}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:24px;background:var(--pale);border-radius:26px;padding:clamp(22px,5vw,64px);min-height:320px}.hero[hidden]{display:none}.hero img{max-height:310px;object-fit:contain;border-radius:16px}.controls{display:flex;justify-content:center;gap:12px;margin:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tile{background:#fff1df;padding:20px;border-radius:16px;text-decoration:none;font-weight:700}.tile:nth-child(odd){background:var(--pale)}.button,button,input[type=submit]{background:var(--orange);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.footer{background:var(--pale);padding:24px 0}.note{padding:12px 16px;background:var(--pale);border-left:4px solid var(--lime)}input,textarea,select{max-width:100%;font:inherit;padding:8px}.entry{max-width:860px}form.vn-form label{display:block;margin:10px 0}form.vn-form input:not([type=checkbox]),form.vn-form textarea{display:block;width:100%}.screen-reader-text{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.screen-reader-text:focus{clip-path:none;width:auto;height:auto;background:white;z-index:10}
@media(max-width:700px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.bar{gap:10px}.bar form{order:3;width:100%}nav ul{gap:8px 14px}.tile{padding:12px}}
[hidden]{display:none!important}.custom-logo{width:170px}
[data-carousel] .hero{background:#fff;border:1px solid #e5ebd7;border-radius:20px;border-left:8px solid var(--lime);grid-template-columns:1fr 1.25fr}
[data-carousel] .hero img{display:block;width:100%;object-fit:contain}
[data-carousel]+.grid .tile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:0;overflow:hidden}
[data-carousel]+.grid .tile span{padding:14px 14px 0}
[data-carousel]+.grid .tile img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}
@media(max-width:700px){[data-carousel] .hero{grid-template-columns:1fr}}

.vn-category-links {
    --vn-category-columns: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    margin: 24px 0 32px;
    padding: 0;
}
.vn-category-links--children { --vn-category-columns: 4; }
.vn-category-links > li {
    flex: 1 1 calc((100% + 16px) / var(--vn-category-columns) - 16px);
    min-width: 0;
}
.vn-category-links .vn-category-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 0;
    background: var(--pale);
}
.vn-category-links li:nth-child(even) .vn-category-card { background: #fff1df; }
.vn-category-card__image {
    display: grid;
    place-items: center;
    height: clamp(104px, 15vw, 180px);
    background: #fff;
}
.vn-category-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
}
.vn-category-card__name {
    display: flex;
    flex: 1;
    align-items: center;
    min-height: 64px;
    padding: 12px 16px;
    overflow-wrap: anywhere;
}
.vn-category-card:hover .vn-category-card__name,
.vn-category-card:focus-visible .vn-category-card__name { text-decoration: underline; }

.woocommerce .vn-catalog ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 18px;
}
.woocommerce .vn-catalog ul.products::before,
.woocommerce .vn-catalog ul.products::after { display: none; }
.woocommerce .vn-catalog ul.products li.product {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    margin: 0;
    min-width: 0;
}
.woocommerce .vn-catalog li.product .woocommerce-loop-product__link {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.woocommerce .vn-catalog li.product .woocommerce-loop-product__link img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
}
.woocommerce .vn-catalog li.product .price {
    margin-top: auto;
    padding-top: 6px;
}
.woocommerce .vn-catalog li.product .button { align-self: flex-start; }
.woocommerce .vn-catalog li.product .price,
.woocommerce div.product .summary .price {
    font-size: 1.35rem;
    font-weight: 750;
    color: var(--ink);
}
.woocommerce div.product .summary .price { font-size: 1.65rem; }
@media (max-width: 700px) {
    .vn-category-links { --vn-category-columns: 2; }
    .woocommerce .vn-catalog ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

:root { --ink: #421b13; --lime: #a7d900; --pale: #eff9cf; --orange: #ff7900; }
.site-head { border-bottom: 3px solid var(--lime); }
.site-head .custom-logo { width: 170px; height: auto; }
.vn-category-links .vn-category-card { border: 2px solid var(--lime); }
.vn-category-links li:nth-child(even) .vn-category-card { border-color: var(--orange); background: #fff1e0; }
body .woocommerce button.button.alt,
body.woocommerce button.button.alt,
body.woocommerce a.button,
body.woocommerce ul.products li.product .button {
    background: var(--orange); color: var(--ink); font-weight: 750;
}
body .button, body button, body input[type=submit] { color: var(--ink); }
.woocommerce div.product .summary .price { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; }
.vn-product-rating { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.vn-product-rating .star-rating, .vn-stars { color: #a94b00; font-size: 1.25rem; }
.vn-product-facts { background: var(--pale); border-left: 5px solid var(--lime); border-radius: 14px; padding: 16px 20px; margin: 16px 0; }
.vn-product-facts h2 { margin: 0 0 12px; font-size: 1.25rem; }
.vn-product-facts dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; margin: 0; }
.vn-product-facts dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.woocommerce .vn-serving-add { background: #fff; color: var(--ink); border: 2px solid #83ae00; }
.vn-product-links { display: flex; flex-wrap: wrap; gap: 8px 16px; font-weight: 650; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 16px; border: 1px solid #dceab6; border-radius: 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #ffe1bc; }
.vn-magpie { position: fixed; bottom: 16px; right: 16px; z-index: 30; max-width: min(340px, calc(100vw - 32px)); }
.vn-magpie summary { cursor: pointer; background: var(--lime); color: var(--ink); border-radius: 14px; padding: 9px 14px; font-weight: 750; }
.vn-magpie-panel { background: #fff; border: 2px solid var(--lime); border-radius: 14px; padding: 14px; box-shadow: 0 6px 24px #421b1326; }
.vn-magpie-panel input { width: 100%; margin-bottom: 8px; }
.vn-serving-dialog { width: min(680px, calc(100% - 24px)); border: 2px solid var(--lime); border-radius: 16px; color: var(--ink); }
.vn-serving-dialog::backdrop { background: #421b1366; }
.vn-serving-dialog form { text-align: right; }
.vn-serving-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr)); gap: 12px; list-style: none; padding: 0; }
.vn-serving-items li { display: grid; gap: 8px; align-content: start; border: 1px solid #dceab6; border-radius: 12px; padding: 8px; }
.vn-serving-items img { width: 100%; aspect-ratio: 1; object-fit: contain; }

.site-head .bar { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(240px, 1.55fr) minmax(280px, 1fr); gap: 16px; }
.vn-header-search { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.vn-header-search input[type=search] { flex: 1; min-width: 0; border: 1px solid #a1b86b; border-radius: 12px; padding: 8px 14px; }
.vn-header-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 8px 14px; font-size: .875rem; }
.vn-header-contacts { display: grid; gap: 2px; }
.vn-header-actions a, .vn-header-search button { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.vn-header-actions a:hover { text-decoration: underline; }
.vn-header-icon { width: 1.15em; height: 1.15em; flex: none; }
.site-head .vn-main-nav > div > ul, .site-head .vn-main-nav > ul { justify-content: space-between; gap: 8px 16px; }
.site-head .vn-main-nav a { display: block; padding: 7px 0; }
.site-head .vn-main-nav a:hover { text-decoration: underline; text-decoration-color: var(--lime); text-underline-offset: 5px; }
body .button, body button, body input[type=submit],
body .woocommerce a.button, body .woocommerce button.button,
body .woocommerce button.button.alt, body.woocommerce button.button.alt,
body.woocommerce a.button, body.woocommerce ul.products li.product .button {
    background: var(--lime); color: var(--ink);
}
.site-head .vn-header-cart { background: var(--orange); color: var(--ink); }
.woocommerce .vn-serving-add { background: #fff; border: 2px solid #83ae00; }
.vn-home-section { margin: 36px 0; }
.vn-home-section h2 { border-bottom: 2px solid var(--lime); padding-bottom: 10px; }
.vn-home-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vn-home-info-grid .tile span { display: block; margin-top: 6px; font-weight: 400; }
.vn-magpie summary { display: flex; align-items: center; gap: 8px; list-style: none; }
.vn-magpie summary::-webkit-details-marker { display: none; }
.vn-magpie-logo { display: block; width: 70px; padding: 4px; border-radius: 8px; background: #fff; flex: none; }
.vn-magpie-logo img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
    .site-head .bar { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    .site-head .vn-header-search { grid-column: 1 / -1; order: 3; }
}
@media (max-width: 520px) {
    .site-head .bar { grid-template-columns: 1fr; }
    .vn-header-actions { justify-content: flex-start; }
    .vn-home-info-grid { grid-template-columns: 1fr; }
}

.site-head .bar {
    grid-template-columns: minmax(155px, 1fr) minmax(0, 3fr) minmax(230px, auto);
    grid-template-areas: "logo contacts contacts" "logo search actions";
    gap: 8px 18px;
}
.site-head .bar > a { grid-area: logo; }
.site-head .vn-header-search { grid-area: search; order: initial; }
.vn-header-actions { grid-area: actions; flex-wrap: nowrap; }
.vn-header-contacts { grid-area: contacts; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; font-size: .875rem; }
.vn-header-contacts a { display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.vn-header-contacts button, .vn-callback button { background: var(--lime); color: var(--ink); }
.vn-header-contacts button { padding: 5px 12px; }
.vn-callback { width: min(420px, calc(100% - 32px)); border: 0; border-radius: 20px; padding: 26px; color: var(--ink); }
.vn-callback::backdrop { background: rgb(31 23 16 / .5); }
.vn-callback h2 { margin-top: 0; }
.vn-callback-close { float: right; padding: 2px 10px; }
.vn-callback input { border: 1px solid #a1b86b; border-radius: 8px; }
[data-carousel] .vn-decor-slide { display: block; padding: 0; min-height: 0; border: 0; overflow: hidden; }
[data-carousel] .vn-decor-slide[hidden] { display: none; }
[data-carousel] .vn-decor-slide img { max-height: none; }
[data-carousel] .vn-bees-slide { background: #fff7dc; }
[data-carousel] .vn-bees-slide h2 { font-size: clamp(1.8rem, 4vw, 3.1rem); }
@media (max-width: 860px) {
    .site-head .bar {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "logo actions" "contacts contacts" "search search";
    }
}
@media (max-width: 430px) {
    .site-head .bar { grid-template-columns: 1fr; grid-template-areas: "logo" "contacts" "search" "actions"; }
    .vn-header-actions { justify-content: flex-start; }
}

.vn-home-promo { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:18px; margin-top:24px; }
.vn-small-banner, .vn-callback-card { border:1px solid #e5ebd7; border-radius:18px; overflow:hidden; }
.vn-small-banner { display:grid; grid-template-columns:1fr 1.3fr; align-items:center; background:#fff7dc; text-decoration:none; }
.vn-small-banner > div, .vn-callback-card { padding:clamp(16px,2.5vw,28px); }
.vn-small-banner h2, .vn-callback-card h2 { margin-top:0; }
.vn-small-banner img { width:100%; height:100%; min-height:200px; object-fit:cover; }
.vn-callback-card input { border:1px solid #a1b86b; border-radius:8px; }
.vn-callback-card button { background:var(--lime); color:var(--ink); width:100%; }
.vn-popular .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.vn-popular .woocommerce ul.products::before, .vn-popular .woocommerce ul.products::after { display:none; }
.vn-popular .woocommerce ul.products li.product { width:auto; margin:0; display:flex; flex-direction:column; align-items:flex-start; }
.vn-popular li.product .woocommerce-loop-product__link { display:flex; flex-direction:column; width:100%; flex:1; }
.vn-popular .woocommerce ul.products li.product img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.vn-popular li.product .price { margin-top:auto; }
.vn-popular .woocommerce ul.products li.product .price,
.woocommerce .vn-catalog ul.products li.product .price { font-size:1.5rem; font-weight:800; color:var(--ink); }
@media (max-width:720px) {
    .vn-home-promo { grid-template-columns:1fr; }
    .vn-popular .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.vn-small-carousel { min-width:0; align-self:center; }
.vn-small-carousel .vn-small-banner {
    min-height:230px;
    aspect-ratio: 2.8;
    grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
    grid-template-rows:minmax(0,1fr);
}
.vn-small-carousel .vn-small-banner[hidden] { display:none; }
.vn-small-carousel .vn-small-banner img { min-height:0; display:block; object-position:center; }
.vn-small-banner--forest { background:#edf4d6; }
.vn-small-banner--sea { background:#e4f6fb; }
.vn-small-banner p { margin:0 0 4px; font-size:.9rem; }
.vn-small-banner h2 { margin-bottom:12px; font-size:clamp(1.2rem,2.3vw,2rem); }
.vn-small-carousel .controls { margin:8px 0 0; }
.vn-small-carousel .controls[hidden] { display:none; }
.vn-small-banner .vn-orange-cta, .vn-popular .vn-orange-cta { background:#ff7900; color:#30170c; }
.vn-popular .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display:block; width:100%; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    line-height:1.35; padding:0 0 6px; margin:0 0 6px; border-bottom:1px solid #b7d57c;
}
.vn-home-info-grid .tile {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(70px,110px);
    align-items:center; gap:14px; min-height:140px;
}
.vn-home-info-grid .tile strong { font-size:1.25rem; }
.vn-home-info-grid .tile svg { width:100%; }
@media (max-width:480px) {
    .vn-small-carousel .vn-small-banner { aspect-ratio:auto; min-height:200px; grid-template-columns:1fr 1fr; }
    .vn-small-banner .button { padding:8px; font-size:.82rem; }
}

.vn-contacts-heading { position:relative; isolation:isolate; overflow:hidden; border-radius:16px; text-align:center; padding:20px 44px; margin-bottom:14px; }
.vn-contacts-heading h1 { margin:0; }
.vn-contacts-heading::before, .vn-contacts-heading::after {
    content:""; position:absolute; z-index:-1; width:28%; height:90%; background:var(--lime);
    left:0; top:0; clip-path:polygon(0 0,100% 0,52% 13%,25% 36%,10% 61%,0 100%);
}
.vn-contacts-heading::after { left:auto; top:auto; right:0; bottom:0; transform:rotate(180deg); }
.vn-contacts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.vn-contact-card, .vn-contact-banner { background:#f0f8d8; border-radius:16px; }
.vn-contact-card:nth-child(2), .vn-contact-banner:nth-child(2) { background:#fff0df; }
.vn-contact-card { display:flex; flex-direction:column; padding:clamp(16px,2vw,26px); }
.vn-contact-card h2 { flex:1; margin:0 0 14px; font-size:clamp(1.15rem,2vw,1.5rem); }
.vn-contact-card a { display:flex; align-items:center; gap:10px; font-weight:750; text-decoration:none; overflow-wrap:anywhere; }
.vn-contact-card a + a { margin-top:6px; }
.vn-contact-card a:hover, .vn-contact-card a:focus-visible { text-decoration:underline; }
.vn-contact-card svg, .vn-contact-address svg, .vn-contact-banner b { color:#df6200; flex:none; }
.vn-contact-address { display:flex; gap:18px; align-items:center; padding:14px 24px; margin:14px 0; border:1px solid #d5d2ca; border-radius:16px; font-style:normal; }
.vn-contact-address div { border-left:1px solid #d5d2ca; padding-left:18px; }
.vn-contact-banner { display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; text-decoration:none; }
.vn-contact-banner span { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; font-size:clamp(1.1rem,2vw,1.5rem); line-height:1.2; }
.vn-contact-banner b { font-size:1.55em; }
.vn-contact-banner img { display:block; width:100%; height:auto; aspect-ratio:2.2; object-fit:cover; }
@media(max-width:720px) { .vn-contacts-grid { grid-template-columns:1fr; } }

.vn-carousel-viewport { position: relative; overflow: hidden; border-radius: 20px; }
.vn-carousel-viewport > .vn-slide-outgoing { position: absolute; inset: 0; width: 100%; pointer-events: none; }

.vn-category-links:not(.vn-category-links--children) .vn-category-card {
    min-height: 0; aspect-ratio: 2.75; border: 0; display: flex; flex-direction: row-reverse;
    align-items: stretch; overflow: hidden;
}
.vn-category-links:not(.vn-category-links--children) .vn-category-card__image {
    width: 48%; height: auto; background: transparent;
}
.vn-category-links:not(.vn-category-links--children) .vn-category-card__name {
    min-height: 0; padding: 8px 12px; font-size: clamp(.85rem, 1.5vw, 1.15rem);
}
.vn-category-card--banner > img { display: block; width: 100%; height: 100%; object-fit: fill; }
.woocommerce .vn-catalog ul.products li.product {
    padding: clamp(10px, 1.4vw, 18px); border: 1px solid #a7b697;
    border-radius: 15px; background: white;
}
.woocommerce .vn-catalog ul.products li.product .woocommerce-loop-product__title {
    line-height: 1.3; min-height: 2.6em; padding: 0; margin: 0 0 10px;
    overflow-wrap: anywhere;
}
.woocommerce .vn-catalog ul.products li.product .price {
    border-top: 1px solid #dbe3d4; padding-top: 8px;
}
@media (max-width: 450px) {
    .vn-category-links:not(.vn-category-links--children) { --vn-category-columns: 1; }
}

.vn-category-links--children .vn-category-card--banner {
    display: block;
    aspect-ratio: 2.75;
    min-height: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}
.vn-category-links--children li:nth-child(even) .vn-category-card--banner { background: transparent; }

/* Product detail page */
.single-product .product .product_title { font-size: 1.7em; color: #481913; line-height: 1.18; }
.single-product .product_meta { display:flex; flex-wrap:wrap; gap:4px 16px; margin:10px 0; font-size:.92rem; }
.single-product .product_meta a { color:#653314; }
.vn-rate-stars { display:inline-flex; }
.vn-rate-stars a { color:#b74a00; font-size:1.65rem; line-height:1.2; text-decoration:none; padding:2px 3px; }
.vn-rate-stars:has(a:hover) a, .vn-rate-stars:has(a:focus-visible) a { background:#fff0dc; }
.vn-rate-stars a:hover, .vn-rate-stars a:focus-visible { color:#602100; outline:2px solid #ee7400; border-radius:4px; }
.vn-review-button, .vn-product-links .vn-delivery { border-radius:12px; background:#fff0db; color:#702d00; padding:9px 14px; font-weight:800; }
.vn-product-links .vn-delivery { display:inline-flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:1.18rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:#ef6900; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:#241209; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.reviews_tab:not(.active) { background:#fff0db; }
.woocommerce div.product #reviews #respond { background:#fff7eb; border-radius:14px; padding:16px; }
.woocommerce #review_form .stars a { color:#b74a00; font-size:1.35rem; }
.vn-product-facts { background:linear-gradient(115deg,#f2f9da,#e9f6c1); }
.vn-product-facts dt, .vn-product-facts dd { padding:3px 0; border-bottom:1px solid #d6e8a1; }
.woocommerce div.product form.cart .quantity .qty,
.woocommerce div.product form.cart .single_add_to_cart_button { min-height:48px; box-sizing:border-box; }
.woocommerce div.product form.cart .quantity .qty { padding:8px; width:4.5em; }
.woocommerce div.product form.cart .single_add_to_cart_button { padding:8px 20px; font-size:1.05rem; background:#ee6900; color:#211106; }
.vn-photo-enabled .woocommerce-product-gallery__image a { position:relative; display:block; cursor:zoom-in; }
.vn-photo-enabled .woocommerce-product-gallery__image a::after { content:"⌕"; position:absolute; right:12px; top:12px; border-radius:50%; width:38px; height:38px; display:grid; place-items:center; background:#fff; color:#481913; font-size:24px; font-weight:bold; opacity:0; pointer-events:none; }
.vn-photo-enabled .woocommerce-product-gallery__image a:is(:hover,:focus-visible)::after { opacity:1; }
@media (hover:none) { .vn-photo-enabled .woocommerce-product-gallery__image a::after { opacity:1; } }
.vn-photo-dialog { position:fixed; max-width:94vw; max-height:94vh; margin:auto; border:0; border-radius:16px; padding:0; background:#fff; }
.vn-photo-dialog::backdrop { background:rgb(0 0 0 / 75%); }
.vn-photo-dialog img { display:block; max-width:94vw; max-height:88vh; object-fit:contain; }
.vn-photo-dialog form { position:absolute; right:12px; top:12px; }
.vn-photo-dialog button { width:44px; height:44px; padding:0; border:1px solid #ead5be; border-radius:50%; background:#fff; color:#481913; font-size:30px; line-height:1; cursor:pointer; }

.vn-photo-dialog { overflow:hidden; }
.vn-photo-dialog form { z-index:1; }
.vn-photo-stage { min-width:min(300px, 94vw); min-height:100px; display:grid; place-items:center; background:#fff; }
.vn-photo-stage iframe, .vn-photo-stage video { display:block; width:min(820px, 94vw); height:min(460px, 75vh); border:0; }
.vn-photo-stage > a { margin:60px; text-align:center; }
.vn-photo-dialog .vn-photo-prev, .vn-photo-dialog .vn-photo-next { position:absolute; top:50%; transform:translateY(-50%); }
.vn-photo-prev { left:12px; }
.vn-photo-next { right:12px; }
.vn-photo-counter { position:absolute; left:50%; bottom:8px; transform:translateX(-50%); background:#fff; color:#481913; padding:2px 10px; border-radius:14px; pointer-events:none; }
.vn-photo-stage:has(video) + button ~ .vn-photo-counter { bottom:auto; top:12px; }

.vn-category-banner { margin:0 0 22px; border-radius:18px; overflow:hidden; background:#eff7d9; }
.vn-category-banner > img { display:block; width:100%; max-height:420px; object-fit:contain; }
.vn-category-banner--fallback { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:clamp(16px,4vw,42px); color:#253a19; font-size:clamp(1.2rem,3vw,2.5rem); }
.vn-category-banner--fallback > img { width:min(38%,220px); border-radius:12px; }
.vn-more-wrap { text-align:center; margin:22px auto 6px; }
.vn-more { background:#a8d515; color:#203113; border:0; border-radius:28px; padding:12px 32px; font-size:1.1rem; font-weight:750; cursor:pointer; }
.vn-more:disabled { opacity:.65; }
.vn-more-wrap p:empty { display:none; }
.vn-magpie-panel { max-height:min(70vh,620px); overflow:auto; }
.vn-magpie-status { margin:8px 0; }
.vn-magpie-results { display:grid; gap:8px; }
.vn-magpie-results article { display:flex; flex-wrap:wrap; gap:8px; align-items:center; background:#f2f8df; border-radius:12px; padding:8px; }
.vn-magpie-results article > a:first-child { display:flex; align-items:center; gap:8px; flex:1 0 100%; }
.vn-magpie-results img { width:55px; height:55px; object-fit:contain; border-radius:8px; }
.vn-magpie-offer { background:#fff0db; padding:10px; margin-top:10px; border-radius:10px; }

.vn-delivery-page { --delivery-ink:#32190e; --delivery-card:#f8f3eb; --delivery-green:#6d9d00; --delivery-orange:#bd4100; color:var(--delivery-ink); line-height:1.35; }
.vn-delivery-hero { display:grid; grid-template-columns:42% 58%; align-items:center; overflow:hidden; border-radius:18px; margin:18px 0 24px; background:#fbf8f3; }
.vn-delivery-hero > div { padding:clamp(18px,3vw,42px); }
.vn-delivery-hero h1 { font-size:clamp(2.6rem,6vw,5rem); line-height:.98; margin:0; letter-spacing:-.04em; }
.vn-delivery-hero p { font-size:clamp(1.1rem,2.5vw,1.85rem); margin:16px 0 24px; }
.vn-delivery-hero img { width:100%; height:100%; display:block; object-fit:cover; }
.vn-delivery-button { display:inline-block; text-align:center; border:2px solid #da4d00; border-radius:14px; background:#d74900; color:white; text-decoration:none; padding:12px 17px; font-weight:800; }
.vn-delivery-button:hover { background:#a93600; color:white; }
.vn-delivery-button:focus-visible { outline:3px solid #486b00; outline-offset:3px; }
.vn-delivery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.vn-delivery-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vn-delivery-card { background:var(--delivery-card); padding:clamp(14px,2vw,25px); border-radius:17px; }
.vn-delivery-card h2, .vn-delivery-card h3, .vn-delivery-docs h2 { margin:0; line-height:1.1; font-size:clamp(1.15rem,2.4vw,1.7rem); }
.vn-delivery-card h2, .vn-delivery-fact { display:flex; align-items:center; gap:16px; }
.vn-delivery-card p { margin:10px 0 0; }
.vn-delivery-icon { color:var(--delivery-green); flex:none; padding-right:12px; width:clamp(40px,6vw,74px); border-right:1px solid #91b735; }
.vn-delivery-card small, .vn-delivery-steps small { display:block; margin-top:6px; }
.vn-delivery-emphasis { display:flex; align-items:center; gap:14px; text-align:center; justify-content:center; color:var(--delivery-orange); font-weight:850; font-size:clamp(1.1rem,2.5vw,1.65rem); margin:18px 0; }
.vn-delivery-emphasis::before, .vn-delivery-emphasis::after { content:""; flex:1; height:1px; background:#89ba14; }
.vn-delivery-ribbon { margin:16px 0 24px; text-align:center; padding:10px 16px; color:#fff; background:#cb4600; border-radius:14px; font-weight:800; font-size:clamp(1.1rem,2.5vw,1.6rem); }
.vn-delivery-heading { font-size:clamp(1.55rem,4vw,2.85rem); line-height:1.08; margin:24px 0 14px; }
.vn-delivery-heading--steps { text-align:center; font-size:clamp(1.45rem,3vw,2.15rem); }
.vn-delivery-steps { list-style:none; padding:0; margin:0; counter-reset:vn-delivery-step; }
.vn-delivery-steps li { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:14px; background:var(--delivery-card); font-weight:650; counter-increment:vn-delivery-step; }
.vn-delivery-steps li::before { content:counter(vn-delivery-step); display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:50%; background:#9ccc18; color:#243300; font-weight:900; }
.vn-delivery-steps small { font-weight:400; }
.vn-delivery-docs { display:flex; align-items:center; gap:18px; margin:18px 0 26px; padding:20px; border-radius:16px; background:linear-gradient(105deg,#e0f0b4,#c6e473); }
.vn-delivery-docs h2 { flex:1; }
.vn-delivery-button--outline { background:#fff; color:#a93600; }
@media(max-width:680px) {
    .vn-delivery-hero, .vn-delivery-grid { grid-template-columns:1fr; }
    .vn-delivery-hero img { height:auto; }
    .vn-delivery-docs { flex-wrap:wrap; }
    .vn-delivery-docs .vn-delivery-button { width:100%; }
}

.vn-decor-page { color:#173921; padding-bottom:30px; }
.vn-decor-hero { display:grid; grid-template-columns:44% 56%; align-items:stretch; margin:16px 0; background:#fbf9f3; border-radius:20px; overflow:hidden; }
.vn-decor-hero > div { padding:clamp(16px,3vw,35px); align-self:center; }
.vn-decor-hero h1 { margin:0; color:#bd3e00; font:italic 700 clamp(2rem,4.5vw,4rem)/1.02 Georgia,serif; }
.vn-decor-hero p { margin:14px 0; font-size:clamp(1rem,2vw,1.4rem); line-height:1.25; }
.vn-decor-hero strong { display:inline-block; background:#ddf397; padding:6px 17px; border-radius:24px; }
.vn-decor-button { display:inline-block; padding:10px 17px; border-radius:24px; color:white; background:#c94400; text-decoration:none; font-weight:750; }
.vn-decor-button:hover { background:#9d3200; }
.vn-decor-heading { display:flex; align-items:center; justify-content:center; gap:16px; text-align:center; font-size:clamp(1.35rem,3vw,2.25rem); line-height:1.15; margin:22px 0 14px; }
.vn-decor-heading::before,.vn-decor-heading::after { content:""; flex:1; height:1px; background:#92c314; }
.vn-decor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.vn-decor-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vn-decor-card { display:flex; flex-direction:column; border:1px solid #c5df76; padding:7px; border-radius:16px; text-decoration:none; background:#fcfdf6; }
.vn-decor-card h3 { margin:0; min-height:2.4em; display:grid; place-items:center; text-align:center; font-size:clamp(.96rem,2vw,1.45rem); line-height:1.16; }
.vn-decor-card p { margin:6px 0 0; padding:8px; border-radius:10px; background:#eff8d1; line-height:1.25; }
.vn-decor-photo { display:block; overflow:hidden; border-radius:12px; }
.vn-decor-photo img,.vn-decor-more .tile img { display:block; width:100%; object-fit:cover; transition:transform .28s ease; }
.vn-decor-hero .vn-decor-photo img { height:100%; }
.vn-decor-card:is(:hover,:focus-visible) img,.vn-decor-photo:is(:hover,:focus-visible) img,.vn-decor-more .tile:hover img { transform:scale(1.055); }
.vn-decor-more { margin:10px 0 16px; }
.vn-decor-more summary { display:table; margin:auto; cursor:pointer; padding:5px 28px; border:1px solid #c94400; border-radius:25px; color:#a83700; font-weight:750; }
.vn-decor-more .tile { overflow:hidden; }
.vn-decor-contact { display:grid; grid-template-columns:minmax(70px,15%) 1fr auto; gap:16px; align-items:center; padding:16px; margin:16px 0; background:#eef8ce; border-radius:18px; }
.vn-decor-contact h2,.vn-decor-contact p { margin:0; }
.vn-decor-page #zayavka { scroll-margin-top:100px; }
@media(max-width:760px) {
    .vn-decor-hero { grid-template-columns:1fr; }
    .vn-decor-hero .vn-decor-photo img { height:auto; }
    .vn-decor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vn-decor-contact { grid-template-columns:70px 1fr; }
    .vn-decor-contact .vn-decor-button { grid-column:1 / -1; justify-self:start; }
}
@media(prefers-reduced-motion:reduce) {
    .vn-decor-page img { transition:none; }
    .vn-decor-page a:is(:hover,:focus-visible) img { transform:none; }
}

.vn-decor-hero > div { min-width:0; container-type:inline-size; }
.vn-decor-hero h1 { font-size:clamp(1.65rem,3.3vw,3rem); overflow-wrap:anywhere; }
@supports (font-size: 1cqi) {
    .vn-decor-hero h1 { font-size:min(10cqi,3.15rem); }
}

.vn-decor-magpie { position:relative; width:min(100%,112px); aspect-ratio:170 / 198; justify-self:center; mix-blend-mode:multiply; }
.vn-decor-magpie img { position:absolute; top:0; left:0; width:316.47%; max-width:none; height:auto; }
.vn-decor-magpie:is(:hover,:focus-visible) img { transform:none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .vn-front-page :is(.tile, .products li.product, .vn-callback-card) {
        transition: transform .25s ease, box-shadow .25s ease;
    }
    .vn-front-page :is(.tile, .products li.product, .vn-callback-card):hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 20px rgb(41 56 20 / 14%);
    }
    .vn-front-page :is(img, .vn-home-info-grid svg) {
        transition: transform .3s ease;
    }
    .vn-front-page :is(.tile, .products li.product, .vn-small-banner, .vn-decor-slide a):hover :is(img, svg),
    .vn-front-page img:hover {
        transform: scale(1.045);
    }
    .vn-front-page .vn-small-banner { overflow: hidden; }
    .vn-front-page .vn-decor-slide a { display: block; }
}

.vn-callback-feedback:empty { display:none; }
.vn-callback-feedback { margin:10px 0 0; padding:8px 10px; border-radius:8px; background:#f5f5ee; }
.vn-callback-feedback[data-state="success"] { background:#e8f5cc; color:#234513; }
.vn-callback-feedback[data-state="error"] { background:#fff0df; color:#822b0e; }

.vn-callback-required { color:#b42318; font-weight:800; }

.vn-category-links--children .vn-category-card[data-vn-series] { aspect-ratio: 3 / 2; }

.vn-category-card[data-vn-series] { position: relative; }
.vn-category-card[data-vn-series] > img { filter: saturate(.54) contrast(.94) brightness(1.04); }
@supports (mask-image: url("")) or (-webkit-mask-image: url("")) {
    .vn-category-card[data-vn-series]::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: var(--vn-series-image) center / 100% 100% no-repeat;
        -webkit-mask: var(--vn-series-mask) center / 100% 100% no-repeat;
        mask: var(--vn-series-mask) center / 100% 100% no-repeat;
    }
}
@supports not ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
    .vn-category-card[data-vn-series] > img { filter: none; }
}

.vn-category-links.vn-category-links--porcelain {
    display: grid;
    grid-template-columns: repeat(var(--vn-category-columns), minmax(0, 1fr));
}

.vn-catalog-item-details { margin-top: auto; }
.vn-catalog-sku { margin-bottom: 5px; color: #635951; font-size: .84rem; overflow-wrap: anywhere; }
.vn-catalog-price-unit { font-size: .78rem; font-weight: 600; white-space: nowrap; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .woocommerce .vn-catalog li.product { transition: transform .25s ease, box-shadow .25s ease; }
    .woocommerce .vn-catalog li.product:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 20px rgb(41 56 20 / 14%);
    }
    .woocommerce .vn-catalog li.product .woocommerce-loop-product__link img { transition: transform .3s ease; }
    .woocommerce .vn-catalog li.product:hover .woocommerce-loop-product__link img { transform: scale(1.045); }
}

.vn-catalog-stock { margin-bottom: 5px; color: #635951; font-size: .84rem; }
.vn-catalog-stock.is-available { color: #397126; }
.vn-catalog-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.vn-catalog-stepper { display: inline-flex; align-items: center; border: 1px solid #dbe3d4; border-radius: 8px; }
.vn-catalog-stepper button { padding: 5px 8px; min-width: 28px; background: transparent; color: var(--ink); }
.vn-catalog-stepper .quantity input { width: 3ch; padding: 4px 0; border: 0; background: transparent; appearance: textfield; }
.vn-catalog-stepper input::-webkit-inner-spin-button,
.vn-catalog-stepper input::-webkit-outer-spin-button { appearance: none; }
.woocommerce .vn-catalog ul.products li.product .vn-catalog-buy-button { margin: 0; }

.vn-catalog-total, .vn-catalog-cart-feedback { flex-basis: 100%; margin: 0; font-size: .85rem; }
.vn-catalog-total output { font-weight: 750; }
.vn-catalog-cart-feedback { color: #8b240d; }

.woocommerce-cart .woocommerce-cart-form .cart_item td { padding-block: 14px; vertical-align: middle; }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail { width: 94px; }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
    background: white;
    border: 1px solid #e7e9df;
    border-radius: 8px;
}
.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #e7e9df;
    border-radius: 8px;
    line-height: 1;
}
.woocommerce-cart .vn-cart-stepper .quantity input { width: 4ch; }

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-cart-form .cart_item td.product-thumbnail {
        display: block;
        width: auto;
        text-align: left !important;
    }
    .woocommerce-cart .woocommerce-cart-form .cart_item td.product-thumbnail::before { content: none; }
}

.vn-review-sku-heading, .vn-review-sku-cell { width: 1%; white-space: nowrap; }
.woocommerce-checkout-review-order-table .cart_item td { padding-block: 12px; vertical-align: middle; }
.vn-review-product { display: flex; align-items: center; gap: 10px; }
.vn-review-product img { width: 52px; height: 52px; object-fit: contain; flex: none; border-radius: 6px; }
.vn-review-controls { display: flex; align-items: center; gap: 6px; margin-top: 6px; }
.vn-review-controls button { min-width: 30px; padding: 3px 7px; background: #eef2e8; color: var(--ink); }
#vn-review-feedback:empty { display: none; }

.woocommerce-checkout-review-order-table :is(.vn-review-sku-heading, .vn-review-sku-cell, .product-name) {
    border-inline-end: 1px solid #d7dbd0;
}
.woocommerce-checkout-review-order-table .product-total { text-align: right; }

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border-top-color: var(--lime); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color: var(--lime); }
.vn-review-toolbar, .vn-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.vn-review-toolbar { justify-content: space-between; margin-block: 18px 12px; }
.vn-review-toolbar #order_review_heading { margin: 0; }
.vn-review-actions .button { background: var(--lime); color: var(--ink); }
.vn-review-actions button { background: #f4f5ee; color: var(--ink); }

.woocommerce-cart .woocommerce-info.cart-empty {
    border-top-color: var(--lime);
}
.woocommerce-cart .woocommerce-info.cart-empty::before {
    content: "";
    top: 1em;
    width: 1.4em;
    height: 1.4em;
    background-color: var(--lime);
    -webkit-mask: url("assets/cart-notice.svg") center / contain no-repeat;
    mask: url("assets/cart-notice.svg") center / contain no-repeat;
}

.vn-footer-contacts { display: grid; align-content: start; justify-items: start; gap: 10px; min-width: 0; }
.vn-footer-contacts a, .vn-footer-contacts address { display: flex; align-items: baseline; gap: 8px; overflow-wrap: anywhere; }
.vn-footer-contacts address { font-style: normal; }
.vn-footer-contacts .vn-header-icon { align-self: start; margin-top: .25em; }
.vn-footer-phone { text-decoration: none; }
.vn-footer-contacts button { background: var(--lime); color: var(--ink); }

.vn-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #cfdab7;
}
.vn-footer-legal { font-size: .875rem; }
.vn-footer-legal p { margin: 0; }
.vn-footer-logo :is(.custom-logo, .logo) { display: block; width: 145px; height: auto; }
.vn-footer-search { display: flex; justify-self: end; width: min(100%, 260px); }
.vn-footer-search input { flex: 1; min-width: 0; border: 1px solid #a1b86b; border-radius: 8px 0 0 8px; }
.vn-footer-search button { display: grid; place-items: center; border-radius: 0 8px 8px 0; background: var(--lime); color: var(--ink); }
@media (max-width: 680px) {
    .vn-footer-bottom { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; }
    .vn-footer-search { justify-self: center; }
}

.vn-footer-logo { mix-blend-mode: multiply; }
.vn-footer-search-column { min-width: 0; }
.vn-footer-search-column .vn-footer-search { margin-bottom: 8px; }
