@font-face {
    font-family: "wpf822140";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/2e34db/fonts/space-grotesk-700.woff2) format("woff2");
}

@font-face {
    font-family: "wpf336cd5";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/2e34db/fonts/rubik-400.woff2) format("woff2");
}

@font-face {
    font-family: "wpf336cd5";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/2e34db/fonts/rubik-700.woff2) format("woff2");
}
:root {
    --nl3a:#3f5c78;
    --sza6:#2c4256;
    --wu0v:#d98b3f;
    --b257:#f6f8fa;
    --dzhr:#ffffff;
    --gz8j:#1d2a36;
    --bb1u:#65788a;
    --nd3d:#dde5ec;
    --u1pa:#ffffff;
    --lwyg:#111111;
    --n1ze:#e8ebef;
    --bolh:#faf1e8;
    --bkbz:"wpf822140", Tahoma, Verdana, Geneva, sans-serif;
    --dkii:"wpf336cd5", Arial, Helvetica, sans-serif;
    --lrek:700;
    --j15g:-0.03em;
    --unhy:46rem;
    --s8f6:72rem;
    --poid:1.5rem;
    --chgu:1.65;
    --hfvl:3rem;
    --zouz:0.7rem;
    --r3pd:10px;
}

/* Вигляд картки один на сайт: рамка, пласка або з тінню. Кути, повітря і рамки
   формують перцептивний відбиток не менше за колір, а коштує це три змінні. */
.zo_cat,
.zo_goods__grid .zo_good,
.zo_goods__wide .zo_good,
.zo_asks__entry,
.zo_ask__side {
    box-shadow:0 1px 2px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.05);
    border-color:transparent;
}

*, *::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(--bkbz);
    font-weight:var(--lrek);
    letter-spacing:var(--j15g);
    line-height:1.22;
}

p {
    margin:0;
}

dl, dt, dd {
    margin:0;
}

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

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

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

svg {
    display:block;
    flex:none;
}


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

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

summary {
    cursor:pointer;
}

[hidden] {
    display:none !important;
}

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

/* каркас */

.zo_page {
    margin:0;
    background:var(--b257);
    color:var(--gz8j);
    font-family:var(--dkii);
    font-size:17px;
    line-height:var(--chgu);
    -webkit-font-smoothing:antialiased;
}

.zo_main {
    display:block;
}

.zo_zone {
    width:100%;
    padding:0 var(--poid);
    margin:0 auto;
    max-width:var(--s8f6);
}

.zo_width {
    padding:0 var(--poid);
    max-width:var(--unhy);
    margin:0 auto;
    width:100%;
}

.zo_area {
    padding:var(--hfvl) 0;
}

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

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

.zo_btn {
    display:inline-block;
    padding:0.7rem 1.4rem;
    border:0;
    border-radius:var(--r3pd);
    background:var(--nl3a);
    color:var(--u1pa);
    font-weight:600;
    cursor:pointer;
}

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

.zo_prose {
    color:var(--gz8j);
}

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

/* шапка */

.zo_mast {
    border-bottom:1px solid var(--nd3d);
    background:var(--dzhr);
}

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

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

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

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

.zo_mast__anchor {
    color:var(--bb1u);
    font-size:0.95rem;
}

.zo_mast__anchor:hover {
    color:var(--gz8j);
}

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

.zo_mast__strip {
    font-size:0.85rem;
    background:var(--n1ze);
}

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

.zo_mast__hours {
    color:var(--bb1u);
}

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

.zo_opening {
    border-bottom:1px solid var(--nd3d);
    background:var(--dzhr);
}

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

.zo_opening__name {
    font-size:2.05rem;
}

.zo_opening__intro {
    margin-top:0.9rem;
    color:var(--gz8j);
}

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

.zo_opening__notice-icon {
    color:var(--wu0v);
    margin-top:0.15rem;
}

.zo_opening__shot {
    border-radius:var(--r3pd);
    margin:0;
    overflow:hidden;
}

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

.zo_opening__flat .zo_opening__name {
    max-width:34rem;
}

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

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

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

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

.zo_opening__fact-icon {
    color:var(--nl3a);
    margin-top:0.15rem;
}

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

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

.zo_cat {
    display:grid;
    gap:0.35rem;
    padding:1rem 1.1rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
    background:var(--dzhr);
}

.zo_cat__name {
    font-family:var(--bkbz);
    font-weight:var(--lrek);
    font-size:1.05rem;
}

.zo_cat__sub {
    font-size:0.92rem;
    color:var(--bb1u);
}

.zo_cats__stack {
    display:grid;
}

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

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

/* товари */

.zo_goods {
    background:var(--dzhr);
}

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

.zo_goods__count {
    font-size:0.9rem;
    color:var(--bb1u);
}

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

.zo_goods__grid .zo_good {
    display:grid;
    align-content:start;
    gap:0.4rem;
    padding:1rem 1.1rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
    background:var(--b257);
}

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

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

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

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

.zo_good__name {
    font-size:1rem;
}

.zo_good__sub {
    color:var(--bb1u);
    font-size:0.9rem;
}

.zo_good__price {
    font-family:var(--bkbz);
    font-weight:700;
    font-size:1.15rem;
    color:var(--nl3a);
}

.zo_price__stack {
    display:grid;
}

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

.zo_price__stack .zo_good__main {
    flex:1;
}

.zo_price__stack .zo_good:last-child {
    border-bottom:1px dotted var(--nd3d);
}

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

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

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

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

.zo_good__off {
    display:none !important;
}

.zo_good__out {
    opacity:0.62;
}

.zo_good__out .zo_good__price {
    text-decoration:line-through;
    color:var(--bb1u);
}

.zo_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(--nd3d);
    border-radius:var(--r3pd);
    background:transparent;
    color:var(--nl3a);
    font-size:0.85rem;
    cursor:pointer;
}

.zo_good__ask:hover {
    border-color:var(--nl3a);
}

.zo_cat, .zo_cat__line {
    width:100%;
    text-align:left;
    cursor:pointer;
}

.zo_cat__on {
    background:var(--n1ze);
    border-color:var(--nl3a);
}

.zo_cats__grid .zo_cat__on {
    border-color:var(--nl3a);
}

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

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

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

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

.zo_goods__wide .zo_good {
    display:flex;
    align-items:center;
    gap:1.1rem;
    padding:0.9rem 1.1rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
    background:var(--b257);
}

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

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

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

.zo_good__price-box {
    white-space:nowrap;
    flex:none;
}

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

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

.zo_hours__stack {
    display:grid;
}

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

.zo_hours__day {
    color:var(--gz8j);
}

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

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

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

.zo_visit__icon {
    margin-top:0.2rem;
    color:var(--nl3a);
}

.zo_visit__since {
    color:var(--bb1u);
    font-size:0.9rem;
}

.zo_visit__stack .zo_hours__stack {
    margin-bottom:1.1rem;
}

.zo_visit__stack .zo_visit__sub {
    margin-bottom:0.5rem;
}

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

.zo_opening__side .zo_opening__core {
    grid-template-columns:0.85fr 1.15fr;
}

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

.zo_ship__zone {
    background:var(--n1ze);
}

.zo_ship__shot {
    overflow:hidden;
    margin:1.4rem auto 0;
    padding:0 var(--poid);
    max-width:var(--s8f6);
}

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

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

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

.zo_ship__aside {
    padding:1.1rem;
    gap:0.35rem;
    border-radius:var(--r3pd);
    display:grid;
    background:var(--dzhr);
}

.zo_ship__aside-key {
    font-family:var(--bkbz);
    font-weight:700;
}

.zo_ship__aside-val {
    color:var(--bb1u);
    font-size:0.93rem;
}

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

.zo_ask__sub {
    margin-bottom:1.1rem;
    color:var(--bb1u);
}

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

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

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

.zo_ask__label {
    color:var(--bb1u);
    font-size:0.88rem;
}

.zo_ask__input {
    width:100%;
    padding:0.65rem 0.8rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
    background:var(--dzhr);
    font-family:inherit;
    font-size:1rem;
}

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

.zo_ask__area {
    resize:vertical;
}

.zo_ask__send {
    justify-self:start;
    padding:0.7rem 1.6rem;
    border:0;
    border-radius:var(--r3pd);
    background:var(--nl3a);
    color:var(--u1pa);
    font-weight:600;
    cursor:pointer;
}

.zo_ask__after {
    font-size:0.9rem;
    color:var(--bb1u);
}

.zo_ask__form-sent .zo_ask__after {
    font-weight:600;
    color:var(--wu0v);
}

.zo_ask__split {
    background:var(--dzhr);
}

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

.zo_ask__side {
    display:grid;
    gap:0.5rem;
    padding:1.2rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
}

.zo_ask__phone {
    font-family:var(--bkbz);
    font-weight:700;
    font-size:1.3rem;
    color:var(--nl3a);
}

.zo_ask__side-sub {
    color:var(--bb1u);
    font-size:0.9rem;
}

/* новини */

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

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

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

.zo_log__sub {
    font-size:0.96rem;
}

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

.zo_log__panel {
    padding:1rem;
    background:var(--dzhr);
    border-left:2px solid var(--nl3a);
    display:grid;
    gap:0.35rem;
}

/* питання */

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

.zo_asks__entry {
    padding:0.9rem 1.1rem;
    border:1px solid var(--nd3d);
    border-radius:var(--r3pd);
    background:var(--dzhr);
}

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

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

.zo_asks__sign {
    color:var(--bb1u);
}

.zo_asks__a {
    margin-top:0.6rem;
    color:var(--bb1u);
}

.zo_asks__open .zo_asks__a {
    margin-top:0.35rem;
}

/* адреса */

.zo_where {
    border-top:1px solid var(--nd3d);
}

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

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

.zo_where__icon {
    grid-row:span 2;
    color:var(--nl3a);
}

.zo_where__key {
    font-family:var(--bkbz);
    font-weight:700;
}

.zo_where__val {
    font-size:0.93rem;
    color:var(--bb1u);
}

.zo_where__box {
    border-radius:var(--r3pd);
    gap:0.4rem;
    background:var(--n1ze);
    text-align:center;
    padding:1.3rem;
    display:grid;
}

.zo_where__row {
    font-size:0.97rem;
}

.zo_where__hours {
    color:var(--bb1u);
}

.zo_where__phone {
    font-family:var(--bkbz);
    font-weight:700;
    font-size:1.25rem;
    color:var(--nl3a);
}

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

.zo_phead {
    background:var(--dzhr);
    border-bottom:1px solid var(--nd3d);
    padding:2rem 0 1.2rem;
}

.zo_phead__tint {
    background:var(--n1ze);
}

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

.zo_phead__back {
    font-size:0.88rem;
    color:var(--nl3a);
}

.zo_phead__name {
    font-size:1.75rem;
}

.zo_phead__sub {
    color:var(--bb1u);
}

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

.zo_cinfo {
    display:grid;
}

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

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

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

.zo_cinfo__icon {
    color:var(--nl3a);
}

.zo_cinfo__val {
    font-size:0.97rem;
}

/* 404 */

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

.zo_nf__name {
    font-size:1.8rem;
}

.zo_nf__text {
    color:var(--bb1u);
    margin:0.7rem 0 1.4rem;
}

/* підвал */

.zo_bottom {
    margin-top:var(--hfvl);
    background:var(--dzhr);
    border-top:1px solid var(--nd3d);
}

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

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

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

.zo_bottom__sub {
    font-size:0.9rem;
    color:var(--bb1u);
}

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

.zo_bottom__anchor {
    font-size:0.9rem;
    color:var(--bb1u);
}

.zo_bottom__anchor:hover {
    color:var(--gz8j);
}

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

.zo_bottom__legal {
    font-size:0.82rem;
    color:var(--bb1u);
}

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

.zo_bottom__narrow .zo_bottom__core {
    gap:0.6rem;
    display:grid;
}

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

.zo_bar {
    background:var(--sza6);
    position:fixed;
    color:var(--u1pa);
    z-index:20;
}

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

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

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

.zo_bar__text {
    font-size:0.88rem;
}

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

.zo_bar__box .zo_bar__actions {
    margin-top:0.9rem;
}

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

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

@media (max-width: 60rem) {
    .zo_opening__core,
    .zo_ship__core,
    .zo_visit__core,
    .zo_ask__core {
    grid-template-columns:1fr;
}

    .zo_opening__side .zo_opening__core {
    grid-template-columns:1fr;
}

    .zo_opening__shot {
    order:-1;
}
}

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

    .zo_opening__name {
    font-size:1.7rem;
}

    .zo_ask__line,
    .zo_cat__line,
    .zo_cinfo__line {
    grid-template-columns:1fr;
}

    .zo_mast__bar {
    gap:0.8rem;
}

    .zo_price__stack .zo_good {
    flex-wrap:wrap;
    gap:0.3rem;
}
}
