@font-face {
    font-family: "wpfcdba7d";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/04e74a/fonts/source-serif-4-700.woff2) format("woff2");
}

@font-face {
    font-family: "wpfcdba7d";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/04e74a/fonts/source-serif-4-400.woff2) format("woff2");
}
:root {
    --cyp0:rgb(39,107,96);
    --mh1z:rgb(26,77,69);
    --jwl4:rgb(215,147,64);
    --gyge:rgb(245,249,248);
    --vjqq:rgb(255,255,255);
    --be0j:rgb(21,44,40);
    --xqv7:rgb(92,122,116);
    --bm6g:rgb(217,232,229);
    --a27z:rgb(255,255,255);
    --apqd:rgb(17,17,17);
    --m9yt:rgb(229,237,236);
    --r9g0:rgb(250,242,232);
    --xpbm:"wpfcdba7d", Cambria, Georgia, "Times New Roman", serif;
    --rt2r:"wpfcdba7d", Charter, Georgia, serif;
    --e8ku:700;
    --m0j9:-0.01em;
    --zn20:46rem;
    --wu8e:72rem;
    --zsw2:1.5rem;
    --myda:1.65;
    --lte0:2.5rem;
    --dnsz:1rem;
    --hzle:3px;
}

/* Вигляд картки один на сайт: рамка, пласка або з тінню. Кути, повітря і рамки
   формують перцептивний відбиток не менше за колір, а коштує це три змінні. */

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

html {
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body {
    margin:0;
}

h1, h2, h3 {
    margin:0;
    font-family:var(--xpbm);
    font-weight:var(--e8ku);
    letter-spacing:var(--m0j9);
    line-height:1.22;
}

p {
    margin:0;
}

dl, dt, dd {
    margin:0;
}

ul, ol {
    list-style:none;
    margin:0;
    padding:0;
}

a {
    color:inherit;
    text-decoration:none;
}

img {
    max-width:100%;
    height:auto;
}

svg {
    flex:none;
    display:block;
}


button {
    margin:0;
    font:inherit;
    border:0;
    padding:0;
    background:none;
    color:inherit;
}

input, textarea {
    margin:0;
    font:inherit;
    color:inherit;
}

summary {
    cursor:pointer;
}

[hidden] {
    display:none !important;
}

[id] {
    scroll-margin-top:1.5rem;
}

/* каркас */

.ve_page {
    margin:0;
    background:var(--gyge);
    color:var(--be0j);
    font-family:var(--rt2r);
    font-size:17px;
    line-height:var(--myda);
    -webkit-font-smoothing:antialiased;
}

.ve_main {
    display:block;
}

.ve_belt {
    max-width:var(--wu8e);
    width:100%;
    margin:0 auto;
    padding:0 var(--zsw2);
}

.ve_inner {
    padding:0 var(--zsw2);
    margin:0 auto;
    max-width:var(--zn20);
    width:100%;
}

.ve_area {
    padding:var(--lte0) 0;
}

.ve_area__title {
    margin-bottom:1.1rem;
    font-size:1.5rem;
}

.ve_anchor {
    color:var(--cyp0);
    text-decoration:underline;
    text-underline-offset:2px;
}

.ve_button {
    display:inline-block;
    padding:0.7rem 1.4rem;
    border:0;
    border-radius:var(--hzle);
    background:var(--cyp0);
    color:var(--a27z);
    font-weight:600;
    cursor:pointer;
}

.ve_doc {
    gap:1rem;
    display:grid;
}

.ve_prose {
    color:var(--be0j);
}

.ve_rev {
    font-size:0.86rem;
    margin-top:0.5rem;
    color:var(--xqv7);
}

/* шапка */

.ve_topbar {
    background:var(--vjqq);
    border-bottom:1px solid var(--bm6g);
}

.ve_topbar__body {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-top:0.9rem;
    padding-bottom:0.9rem;
}

.ve_topbar__brand {
    align-items:center;
    display:inline-flex;
}

.ve_topbar__flag {
    display:inline-flex;
    align-items:center;
    gap:0.55rem;
    font-family:var(--xpbm);
    font-weight:700;
    font-size:1.15rem;
}

.ve_topbar__nav {
    display:flex;
    gap:1.1rem;
    align-items:center;
}

.ve_topbar__anchor {
    font-size:0.95rem;
    color:var(--xqv7);
}

.ve_topbar__anchor:hover {
    color:var(--be0j);
}

.ve_topbar__phone {
    align-items:center;
    font-weight:600;
    display:inline-flex;
    gap:0.4rem;
    color:var(--cyp0);
}

.ve_topbar__strip {
    background:var(--m9yt);
    font-size:0.85rem;
}

.ve_topbar__strip-body {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-top:0.4rem;
    padding-bottom:0.4rem;
}

.ve_topbar__hours {
    color:var(--xqv7);
}

/* перший екран */

.ve_lead {
    background:var(--vjqq);
    border-bottom:1px solid var(--bm6g);
}

.ve_lead__body {
    gap:2rem;
    align-items:center;
    grid-template-columns:1.15fr 1fr;
    display:grid;
}

.ve_lead__title {
    font-size:2.05rem;
}

.ve_lead__intro {
    color:var(--be0j);
    margin-top:0.9rem;
}

.ve_lead__notice {
    align-items:flex-start;
    margin-top:1.1rem;
    padding:0.75rem 0.9rem;
    font-size:0.95rem;
    display:flex;
    gap:0.55rem;
    border-radius:var(--hzle);
    background:var(--r9g0);
}

.ve_lead__notice-pict {
    color:var(--jwl4);
    margin-top:0.15rem;
}

.ve_lead__shot {
    border-radius:var(--hzle);
    margin:0;
    overflow:hidden;
}

.ve_lead__shot img {
    height:auto;
    width:100%;
    display:block;
    object-fit:cover;
}

.ve_lead__flat .ve_lead__title {
    max-width:34rem;
}

.ve_lead__wide {
    overflow:hidden;
    margin:1.4rem 0;
}

.ve_lead__wide img {
    width:100%;
    height:clamp(11rem, 26vw, 20rem);
    object-fit:cover;
    display:block;
}

.ve_lead__facts {
    margin-top:1.3rem;
    display:grid;
    gap:0.5rem;
}

.ve_lead__fact {
    gap:0.55rem;
    display:flex;
    font-size:0.95rem;
    align-items:flex-start;
}

.ve_lead__fact-pict {
    margin-top:0.15rem;
    color:var(--cyp0);
}

/* категорії */

.ve_cats__layout {
    grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));
    gap:1rem;
    display:grid;
}

.ve_cat {
    display:grid;
    gap:0.35rem;
    padding:1rem 1.1rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:var(--vjqq);
}

.ve_cat__title {
    font-family:var(--xpbm);
    font-weight:var(--e8ku);
    font-size:1.05rem;
}

.ve_cat__aside {
    color:var(--xqv7);
    font-size:0.92rem;
}

.ve_cats__roll {
    display:grid;
}

.ve_cat__strip {
    grid-template-columns:12rem 1fr;
    gap:1rem;
    display:grid;
    border-top:1px solid var(--bm6g);
    padding:0.85rem 0;
}

.ve_cat__strip:last-child {
    border-bottom:1px solid var(--bm6g);
}

/* товари */

.ve_goods {
    background:var(--vjqq);
}

.ve_goods__header {
    justify-content:space-between;
    gap:1rem;
    display:flex;
    align-items:baseline;
}

.ve_goods__count {
    font-size:0.9rem;
    color:var(--xqv7);
}

.ve_goods__layout {
    gap:1rem;
    grid-template-columns:repeat(auto-fill, minmax(14rem, 1fr));
    display:grid;
}

.ve_goods__layout .ve_good {
    display:grid;
    align-content:start;
    gap:0.4rem;
    padding:1rem 1.1rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:var(--gyge);
}

.ve_good__figure {
    margin:-1rem -1.1rem 0.6rem;
    border-radius:var(--hzle) var(--hzle) 0 0;
    overflow:hidden;
}

.ve_good__figure img {
    height:11rem;
    width:100%;
    display:block;
    object-fit:cover;
}

.ve_good__thumb {
    overflow:hidden;
    width:4.5rem;
    flex:none;
    margin:0;
    border-radius:var(--hzle);
}

.ve_good__thumb img {
    height:4.5rem;
    width:100%;
    display:block;
    object-fit:cover;
}

.ve_good__name {
    font-size:1rem;
}

.ve_good__aside {
    color:var(--xqv7);
    font-size:0.9rem;
}

.ve_good__price {
    font-family:var(--xpbm);
    font-weight:700;
    font-size:1.15rem;
    color:var(--cyp0);
}

.ve_price__roll {
    display:grid;
}

.ve_price__roll .ve_good {
    border-top:1px dotted var(--bm6g);
    justify-content:space-between;
    gap:1rem;
    align-items:center;
    padding:0.85rem 0;
    display:flex;
}

.ve_price__roll .ve_good__main {
    flex:1;
}

.ve_price__roll .ve_good:last-child {
    border-bottom:1px dotted var(--bm6g);
}

.ve_good__main {
    display:grid;
    gap:0.15rem;
}

.ve_goods__few {
    grid-template-columns:repeat(auto-fit, minmax(14rem, 19rem));
    justify-content:start;
}

.ve_good__bottom {
    gap:0.5rem 0.7rem;
    display:flex;
    margin-top:0.2rem;
    align-items:baseline;
    flex-wrap:wrap;
}

.ve_good__bottom-side {
    flex:none;
    flex-direction:column;
    align-items:flex-end;
    gap:0.4rem;
}

.ve_good__off {
    display:none !important;
}

.ve_good__out {
    opacity:0.62;
}

.ve_good__out .ve_good__price {
    text-decoration:line-through;
    color:var(--xqv7);
}

.ve_good__ask {
    /* justify-self, а не align-self:усередині гріда картки друге тягне кнопку по
       вертикалі, а по горизонталі вона лишається на всю ширину рядка. */
    justify-self: start;
    align-self:start;
    margin-top:0.35rem;
    padding:0.28rem 0.7rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:transparent;
    color:var(--cyp0);
    font-size:0.85rem;
    cursor:pointer;
}

.ve_good__ask:hover {
    border-color:var(--cyp0);
}

.ve_cat, .ve_cat__strip {
    width:100%;
    cursor:pointer;
    text-align:left;
}

.ve_cat__on {
    border-color:var(--cyp0);
    background:var(--m9yt);
}

.ve_cats__layout .ve_cat__on {
    border-color:var(--cyp0);
}

/* Кнопка "показати все" тільки з підписом, тому їй потрібна власна висота. */
.ve_cat__all {
    min-height:3.2rem;
    align-content:center;
    color:var(--cyp0);
}

.ve_good__status {
    white-space:nowrap;
    font-size:0.78rem;
    border-radius:999px;
    padding:0.1rem 0.5rem;
    background:var(--r9g0);
    color:var(--jwl4);
}

/* широкі рядки товарів */

.ve_wide__roll {
    gap:0.9rem;
    display:grid;
}

.ve_goods__wide .ve_good {
    display:flex;
    align-items:center;
    gap:1.1rem;
    padding:0.9rem 1.1rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:var(--gyge);
}

.ve_good__side {
    flex:none;
    overflow:hidden;
    border-radius:var(--hzle);
    margin:0;
    width:5.5rem;
}

.ve_good__side img {
    display:block;
    object-fit:cover;
    height:5.5rem;
    width:100%;
}

.ve_goods__wide .ve_good__main {
    display:grid;
    justify-items:start;
    gap:0.2rem;
    flex:1;
}

.ve_good__price-crate {
    flex:none;
    white-space:nowrap;
}

/* візит: години, орієнтир, зона доставки */

.ve_visit__body {
    display:grid;
    gap:2rem;
    grid-template-columns:1fr 1.2fr;
    align-items:start;
}

.ve_hours__roll {
    display:grid;
}

.ve_hours__strip {
    justify-content:space-between;
    gap:1rem;
    border-bottom:1px dotted var(--bm6g);
    align-items:baseline;
    padding:0.45rem 0;
    display:flex;
}

.ve_hours__day {
    color:var(--be0j);
}

.ve_hours__time {
    white-space:nowrap;
    color:var(--xqv7);
    font-variant-numeric:tabular-nums;
}

.ve_visit__notes {
    display:grid;
    padding-top:0.4rem;
    gap:0.8rem;
}

.ve_visit__aside {
    font-size:0.96rem;
    display:flex;
    align-items:flex-start;
    gap:0.55rem;
}

.ve_visit__pict {
    margin-top:0.2rem;
    color:var(--cyp0);
}

.ve_visit__since {
    font-size:0.9rem;
    color:var(--xqv7);
}

.ve_visit__stack .ve_hours__roll {
    margin-bottom:1.1rem;
}

.ve_visit__stack .ve_visit__aside {
    margin-bottom:0.5rem;
}

.ve_lead__since {
    margin-top:0.6rem;
    font-size:0.92rem;
    color:var(--xqv7);
}

.ve_lead__side .ve_lead__body {
    grid-template-columns:0.85fr 1.15fr;
}

/* доставка */

.ve_ship__belt {
    background:var(--m9yt);
}

.ve_ship__shot {
    margin:1.4rem auto 0;
    max-width:var(--wu8e);
    overflow:hidden;
    padding:0 var(--zsw2);
}

.ve_ship__shot img {
    height:clamp(9rem, 20vw, 15rem);
    width:100%;
    border-radius:var(--hzle);
    display:block;
    object-fit:cover;
}

.ve_ship__body {
    gap:2rem;
    align-items:start;
    grid-template-columns:1.6fr 1fr;
    display:grid;
}

.ve_ship__prose {
    display:grid;
    gap:0.9rem;
}

.ve_ship__aside {
    border-radius:var(--hzle);
    display:grid;
    gap:0.35rem;
    background:var(--vjqq);
    padding:1.1rem;
}

.ve_ship__aside-key {
    font-family:var(--xpbm);
    font-weight:700;
}

.ve_ship__aside-val {
    color:var(--xqv7);
    font-size:0.93rem;
}

/* форма замовлення */

.ve_ask__aside {
    margin-bottom:1.1rem;
    color:var(--xqv7);
}

.ve_ask__form {
    gap:0.85rem;
    display:grid;
}

.ve_ask__strip {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0.85rem;
}

.ve_ask__field {
    gap:0.3rem;
    display:grid;
}

.ve_ask__label {
    color:var(--xqv7);
    font-size:0.88rem;
}

.ve_ask__input {
    width:100%;
    padding:0.65rem 0.8rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:var(--vjqq);
    font-family:inherit;
    font-size:1rem;
}

.ve_ask__input:focus {
    outline:2px solid var(--cyp0);
    outline-offset:1px;
}

.ve_ask__area {
    resize:vertical;
}

.ve_ask__send {
    justify-self:start;
    padding:0.7rem 1.6rem;
    border:0;
    border-radius:var(--hzle);
    background:var(--cyp0);
    color:var(--a27z);
    font-weight:600;
    cursor:pointer;
}

.ve_ask__after {
    color:var(--xqv7);
    font-size:0.9rem;
}

.ve_ask__form-sent .ve_ask__after {
    font-weight:600;
    color:var(--jwl4);
}

.ve_ask__split {
    background:var(--vjqq);
}

.ve_ask__body {
    grid-template-columns:1.5fr 1fr;
    gap:2rem;
    align-items:start;
    display:grid;
}

.ve_ask__side {
    display:grid;
    gap:0.5rem;
    padding:1.2rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
}

.ve_ask__phone {
    font-family:var(--xpbm);
    font-weight:700;
    font-size:1.3rem;
    color:var(--cyp0);
}

.ve_ask__side-aside {
    color:var(--xqv7);
    font-size:0.9rem;
}

/* новини */

.ve_log__title {
    margin-bottom:1rem;
    font-size:1.35rem;
}

.ve_log__roll {
    gap:0.5rem 1.2rem;
    display:grid;
    grid-template-columns:auto 1fr;
}

.ve_log__date {
    white-space:nowrap;
    color:var(--xqv7);
    font-size:0.86rem;
}

.ve_log__aside {
    font-size:0.96rem;
}

.ve_log__layout {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));
    gap:1rem;
}

.ve_log__tile {
    background:var(--vjqq);
    padding:1rem;
    border-left:2px solid var(--cyp0);
    display:grid;
    gap:0.35rem;
}

/* питання */

.ve_answers__roll {
    gap:0.6rem;
    display:grid;
}

.ve_answers__thing {
    padding:0.9rem 1.1rem;
    border:1px solid var(--bm6g);
    border-radius:var(--hzle);
    background:var(--vjqq);
}

.ve_answers__q {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    font-family:var(--xpbm);
    font-weight:var(--e8ku);
    list-style:none;
}

.ve_answers__q::-webkit-details-marker {
    display:none;
}

.ve_answers__sign {
    color:var(--xqv7);
}

.ve_answers__a {
    color:var(--xqv7);
    margin-top:0.6rem;
}

.ve_answers__open .ve_answers__a {
    margin-top:0.35rem;
}

/* адреса */

.ve_where {
    border-top:1px solid var(--bm6g);
}

.ve_where__body {
    grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr));
    gap:1.2rem;
    display:grid;
}

.ve_where__thing {
    grid-template-columns:auto 1fr;
    align-items:start;
    display:grid;
    gap:0.2rem 0.6rem;
}

.ve_where__pict {
    color:var(--cyp0);
    grid-row:span 2;
}

.ve_where__key {
    font-family:var(--xpbm);
    font-weight:700;
}

.ve_where__val {
    color:var(--xqv7);
    font-size:0.93rem;
}

.ve_where__crate {
    text-align:center;
    background:var(--m9yt);
    padding:1.3rem;
    border-radius:var(--hzle);
    display:grid;
    gap:0.4rem;
}

.ve_where__streak {
    font-size:0.97rem;
}

.ve_where__hours {
    color:var(--xqv7);
}

.ve_where__phone {
    font-family:var(--xpbm);
    font-weight:700;
    font-size:1.25rem;
    color:var(--cyp0);
}

/* заголовок внутрішньої сторінки */

.ve_phead {
    background:var(--vjqq);
    padding:2rem 0 1.2rem;
    border-bottom:1px solid var(--bm6g);
}

.ve_phead__tint {
    background:var(--m9yt);
}

.ve_phead__body {
    display:grid;
    gap:0.4rem;
}

.ve_phead__back {
    color:var(--cyp0);
    font-size:0.88rem;
}

.ve_phead__title {
    font-size:1.75rem;
}

.ve_phead__sub {
    color:var(--xqv7);
}

/* контакти */

.ve_cinfo {
    display:grid;
}

.ve_cinfo__strip {
    display:grid;
    padding:0.8rem 0;
    gap:1rem;
    border-top:1px solid var(--bm6g);
    grid-template-columns:14rem 1fr;
}

.ve_cinfo__strip:last-child {
    border-bottom:1px solid var(--bm6g);
}

.ve_cinfo__key {
    display:flex;
    color:var(--xqv7);
    gap:0.5rem;
    align-items:center;
    font-size:0.93rem;
}

.ve_cinfo__pict {
    color:var(--cyp0);
}

.ve_cinfo__val {
    font-size:0.97rem;
}

/* 404 */

.ve_nf {
    text-align:center;
    padding:4rem 0;
}

.ve_nf__title {
    font-size:1.8rem;
}

.ve_nf__prose {
    margin:0.7rem 0 1.4rem;
    color:var(--xqv7);
}

/* підвал */

.ve_bottom {
    margin-top:var(--lte0);
    border-top:1px solid var(--bm6g);
    background:var(--vjqq);
}

.ve_bottom__body {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:space-between;
    gap:1.5rem;
    padding-top:1.8rem;
    padding-bottom:1.2rem;
}

.ve_bottom__brand {
    display:grid;
    gap:0.25rem;
}

.ve_bottom__name {
    font-family:var(--xpbm);
    font-weight:700;
    font-size:1.05rem;
}

.ve_bottom__aside {
    color:var(--xqv7);
    font-size:0.9rem;
}

.ve_bottom__nav {
    display:flex;
    gap:0.4rem 1.1rem;
    flex-wrap:wrap;
}

.ve_bottom__anchor {
    color:var(--xqv7);
    font-size:0.9rem;
}

.ve_bottom__anchor:hover {
    color:var(--be0j);
}

.ve_bottom__bottom {
    flex-wrap:wrap;
    padding-bottom:1.6rem;
    gap:0.4rem 1.2rem;
    display:flex;
}

.ve_bottom__legal {
    font-size:0.82rem;
    color:var(--xqv7);
}

.ve_bottom__reg {
    font-variant-numeric:tabular-nums;
}

.ve_bottom__narrow .ve_bottom__body {
    gap:0.6rem;
    display:grid;
}

/* банер згоди */

.ve_notice {
    color:var(--a27z);
    position:fixed;
    z-index:20;
    background:var(--mh1z);
}

.ve_notice__bar {
    right:0;
    bottom:0;
    left:0;
}

.ve_notice__body {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-top:0.9rem;
    padding-bottom:0.9rem;
}

.ve_notice__crate {
    bottom:1rem;
    max-width:22rem;
    left:1rem;
    border-radius:var(--hzle);
    padding:1.1rem;
}

.ve_notice__prose {
    font-size:0.88rem;
}

.ve_notice__actions {
    align-items:center;
    display:flex;
    gap:0.9rem;
    margin-top:0.6rem;
}

.ve_notice__crate .ve_notice__actions {
    margin-top:0.9rem;
}

.ve_notice__more {
    text-decoration:underline;
    color:inherit;
    font-size:0.85rem;
}

.ve_notice__accept {
    font-size:0.9rem;
    padding:0.45rem 1.1rem;
}

@media (max-width: 60rem) {
    .ve_lead__body,
    .ve_ship__body,
    .ve_visit__body,
    .ve_ask__body {
    grid-template-columns:1fr;
}

    .ve_lead__side .ve_lead__body {
    grid-template-columns:1fr;
}

    .ve_lead__shot {
    order:-1;
}
}

@media (max-width: 40rem) {
    :root {
    --lte0:2rem;
    --zsw2:1.1rem;
}

    .ve_lead__title {
    font-size:1.7rem;
}

    .ve_ask__strip,
    .ve_cat__strip,
    .ve_cinfo__strip {
    grid-template-columns:1fr;
}

    .ve_topbar__nav {
    gap:0.8rem;
}

    .ve_price__roll .ve_good {
    gap:0.3rem;
    flex-wrap:wrap;
}
}
