@font-face {
    font-family: "wpfa90ff4";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/e85218/fonts/lora-700.woff2) format("woff2");
}

@font-face {
    font-family: "wpfa90ff4";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/e85218/fonts/lora-400.woff2) format("woff2");
}
:root {
    --t3rd:rgb(31,146,115);
    --owtv:rgb(21,107,84);
    --bno4:rgb(226,132,60);
    --jfbg:rgb(244,251,248);
    --k3j5:rgb(255,255,255);
    --r45p:rgb(18,48,40);
    --hmfr:rgb(90,125,114);
    --r907:rgb(213,235,227);
    --vqnl:rgb(255,255,255);
    --dm57:rgb(17,17,17);
    --l0sk:rgb(228,242,238);
    --erqy:rgb(252,240,232);
    --yci4:"wpfa90ff4", Georgia, "Times New Roman", serif;
    --a0hl:"wpfa90ff4", "Book Antiqua", Palatino, Georgia, serif;
    --y403:700;
    --o2m3:-0.01em;
    --t54b:46rem;
    --kjwd:72rem;
    --wbfo:1.5rem;
    --ctr3:1.65;
    --z57b:2.1rem;
    --wtev:1rem;
    --yhxx:6px
}

/* Вигляд картки один на сайт: рамка, пласка або з тінню. Кути, повітря і рамки
   формують перцептивний відбиток не менше за колір, а коштує це три змінні. */
.kp-cat,
.kp-goods-grid .kp-good,
.kp-goods-wide .kp-good,
.kp-asks-unit,
.kp-ask-side {
    border-color:transparent;
    box-shadow:0 1px 2px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.05)
}

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

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

body {
    margin:0
}

h1, h2, h3 {
    margin:0;
    font-family:var(--yci4);
    font-weight:var(--y403);
    letter-spacing:var(--o2m3);
    line-height:1.22
}

p {
    margin:0
}

dl, dt, dd {
    margin:0
}

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

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

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

svg {
    flex:none;
    display:block
}


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

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

summary {
    cursor:pointer
}

[hidden] {
    display:none !important
}

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

/* каркас */

.kp-page {
    margin:0;
    background:var(--jfbg);
    color:var(--r45p);
    font-family:var(--a0hl);
    font-size:17px;
    line-height:var(--ctr3);
    -webkit-font-smoothing:antialiased
}

.kp-main {
    display:block
}

.kp-zone {
    padding:0 var(--wbfo);
    width:100%;
    max-width:var(--kjwd);
    margin:0 auto
}

.kp-column {
    margin:0 auto;
    padding:0 var(--wbfo);
    width:100%;
    max-width:var(--t54b)
}

.kp-part {
    padding:var(--z57b) 0
}

.kp-part-name {
    margin-bottom:1.1rem;
    font-size:1.5rem
}

.kp-link {
    color:var(--t3rd);
    text-decoration:underline;
    text-underline-offset:2px
}

.kp-button {
    display:inline-block;
    padding:0.7rem 1.4rem;
    border:0;
    border-radius:var(--yhxx);
    background:var(--t3rd);
    color:var(--vqnl);
    font-weight:600;
    cursor:pointer
}

.kp-doc {
    gap:1rem;
    display:grid
}

.kp-prose {
    color:var(--r45p)
}

.kp-rev {
    margin-top:0.5rem;
    color:var(--hmfr);
    font-size:0.86rem
}

/* шапка */

.kp-topbar {
    border-bottom:1px solid var(--r907);
    background:var(--k3j5)
}

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

.kp-topbar-brand {
    align-items:center;
    display:inline-flex
}

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

.kp-topbar-bar {
    align-items:center;
    gap:1.1rem;
    display:flex
}

.kp-topbar-link {
    color:var(--hmfr);
    font-size:0.95rem
}

.kp-topbar-link:hover {
    color:var(--r45p)
}

.kp-topbar-phone {
    color:var(--t3rd);
    gap:0.4rem;
    display:inline-flex;
    align-items:center;
    font-weight:600
}

.kp-topbar-strip {
    font-size:0.85rem;
    background:var(--l0sk)
}

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

.kp-topbar-hours {
    color:var(--hmfr)
}

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

.kp-lead {
    background:var(--k3j5);
    border-bottom:1px solid var(--r907)
}

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

.kp-lead-name {
    font-size:2.05rem
}

.kp-lead-intro {
    margin-top:0.9rem;
    color:var(--r45p)
}

.kp-lead-notice {
    align-items:flex-start;
    font-size:0.95rem;
    gap:0.55rem;
    background:var(--erqy);
    border-radius:var(--yhxx);
    margin-top:1.1rem;
    display:flex;
    padding:0.75rem 0.9rem
}

.kp-lead-notice-sign {
    margin-top:0.15rem;
    color:var(--bno4)
}

.kp-lead-shot {
    margin:0;
    overflow:hidden;
    border-radius:var(--yhxx)
}

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

.kp-lead-flat .kp-lead-name {
    max-width:34rem
}

.kp-lead-wide {
    margin:1.4rem 0;
    overflow:hidden
}

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

.kp-lead-facts {
    gap:0.5rem;
    display:grid;
    margin-top:1.3rem
}

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

.kp-lead-fact-sign {
    margin-top:0.15rem;
    color:var(--t3rd)
}

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

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

.kp-cat {
    display:grid;
    gap:0.35rem;
    padding:1rem 1.1rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx);
    background:var(--k3j5)
}

.kp-cat-name {
    font-family:var(--yci4);
    font-weight:var(--y403);
    font-size:1.05rem
}

.kp-cat-note {
    font-size:0.92rem;
    color:var(--hmfr)
}

.kp-cats-set {
    display:grid
}

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

.kp-cat-row:last-child {
    border-bottom:1px solid var(--r907)
}

/* товари */

.kp-goods {
    background:var(--k3j5)
}

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

.kp-goods-count {
    font-size:0.9rem;
    color:var(--hmfr)
}

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

.kp-goods-grid .kp-good {
    display:grid;
    align-content:start;
    gap:0.4rem;
    padding:1rem 1.1rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx);
    background:var(--jfbg)
}

.kp-good-figure {
    margin:-1rem -1.1rem 0.6rem;
    border-radius:var(--yhxx) var(--yhxx) 0 0;
    overflow:hidden
}

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

.kp-good-thumb {
    width:4.5rem;
    border-radius:var(--yhxx);
    margin:0;
    overflow:hidden;
    flex:none
}

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

.kp-good-name {
    font-size:1rem
}

.kp-good-note {
    font-size:0.9rem;
    color:var(--hmfr)
}

.kp-good-price {
    font-family:var(--yci4);
    font-weight:700;
    font-size:1.15rem;
    color:var(--t3rd)
}

.kp-price-set {
    display:grid
}

.kp-price-set .kp-good {
    justify-content:space-between;
    padding:0.85rem 0;
    border-top:1px dotted var(--r907);
    align-items:center;
    display:flex;
    gap:1rem
}

.kp-price-set .kp-good-main {
    flex:1
}

.kp-price-set .kp-good:last-child {
    border-bottom:1px dotted var(--r907)
}

.kp-good-main {
    display:grid;
    gap:0.15rem
}

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

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

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

.kp-good-off {
    display:none !important
}

.kp-good-out {
    opacity:0.62
}

.kp-good-out .kp-good-price {
    text-decoration:line-through;
    color:var(--hmfr)
}

.kp-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(--r907);
    border-radius:var(--yhxx);
    background:transparent;
    color:var(--t3rd);
    font-size:0.85rem;
    cursor:pointer
}

.kp-good-ask:hover {
    border-color:var(--t3rd)
}

.kp-cat, .kp-cat-row {
    cursor:pointer;
    text-align:left;
    width:100%
}

.kp-cat-on {
    border-color:var(--t3rd);
    background:var(--l0sk)
}

.kp-cats-grid .kp-cat-on {
    border-color:var(--t3rd)
}

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

.kp-good-status {
    border-radius:999px;
    font-size:0.78rem;
    color:var(--bno4);
    background:var(--erqy);
    padding:0.1rem 0.5rem;
    white-space:nowrap
}

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

.kp-wide-set {
    display:grid;
    gap:0.9rem
}

.kp-goods-wide .kp-good {
    display:flex;
    align-items:center;
    gap:1.1rem;
    padding:0.9rem 1.1rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx);
    background:var(--jfbg)
}

.kp-good-side {
    overflow:hidden;
    margin:0;
    width:5.5rem;
    border-radius:var(--yhxx);
    flex:none
}

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

.kp-goods-wide .kp-good-main {
    flex:1;
    gap:0.2rem;
    display:grid;
    justify-items:start
}

.kp-good-price-crate {
    white-space:nowrap;
    flex:none
}

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

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

.kp-hours-set {
    display:grid
}

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

.kp-hours-day {
    color:var(--r45p)
}

.kp-hours-time {
    font-variant-numeric:tabular-nums;
    color:var(--hmfr);
    white-space:nowrap
}

.kp-visit-notes {
    padding-top:0.4rem;
    display:grid;
    gap:0.8rem
}

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

.kp-visit-sign {
    margin-top:0.2rem;
    color:var(--t3rd)
}

.kp-visit-since {
    font-size:0.9rem;
    color:var(--hmfr)
}

.kp-visit-stack .kp-hours-set {
    margin-bottom:1.1rem
}

.kp-visit-stack .kp-visit-note {
    margin-bottom:0.5rem
}

.kp-lead-since {
    color:var(--hmfr);
    font-size:0.92rem;
    margin-top:0.6rem
}

.kp-lead-side .kp-lead-body {
    grid-template-columns:0.85fr 1.15fr
}

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

.kp-ship-zone {
    background:var(--l0sk)
}

.kp-ship-shot {
    max-width:var(--kjwd);
    overflow:hidden;
    margin:1.4rem auto 0;
    padding:0 var(--wbfo)
}

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

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

.kp-ship-text {
    gap:0.9rem;
    display:grid
}

.kp-ship-aside {
    border-radius:var(--yhxx);
    padding:1.1rem;
    display:grid;
    gap:0.35rem;
    background:var(--k3j5)
}

.kp-ship-aside-key {
    font-family:var(--yci4);
    font-weight:700
}

.kp-ship-aside-val {
    font-size:0.93rem;
    color:var(--hmfr)
}

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

.kp-ask-note {
    margin-bottom:1.1rem;
    color:var(--hmfr)
}

.kp-ask-form {
    display:grid;
    gap:0.85rem
}

.kp-ask-row {
    gap:0.85rem;
    grid-template-columns:1fr 1fr;
    display:grid
}

.kp-ask-field {
    gap:0.3rem;
    display:grid
}

.kp-ask-label {
    color:var(--hmfr);
    font-size:0.88rem
}

.kp-ask-input {
    width:100%;
    padding:0.65rem 0.8rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx);
    background:var(--k3j5);
    font-family:inherit;
    font-size:1rem
}

.kp-ask-input:focus {
    outline:2px solid var(--t3rd);
    outline-offset:1px
}

.kp-ask-area {
    resize:vertical
}

.kp-ask-send {
    justify-self:start;
    padding:0.7rem 1.6rem;
    border:0;
    border-radius:var(--yhxx);
    background:var(--t3rd);
    color:var(--vqnl);
    font-weight:600;
    cursor:pointer
}

.kp-ask-after {
    font-size:0.9rem;
    color:var(--hmfr)
}

.kp-ask-form-sent .kp-ask-after {
    font-weight:600;
    color:var(--bno4)
}

.kp-ask-split {
    background:var(--k3j5)
}

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

.kp-ask-side {
    display:grid;
    gap:0.5rem;
    padding:1.2rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx)
}

.kp-ask-phone {
    font-family:var(--yci4);
    font-weight:700;
    font-size:1.3rem;
    color:var(--t3rd)
}

.kp-ask-side-note {
    color:var(--hmfr);
    font-size:0.9rem
}

/* новини */

.kp-log-name {
    margin-bottom:1rem;
    font-size:1.35rem
}

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

.kp-log-date {
    font-size:0.86rem;
    white-space:nowrap;
    color:var(--hmfr)
}

.kp-log-note {
    font-size:0.96rem
}

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

.kp-log-panel {
    padding:1rem;
    border-left:2px solid var(--t3rd);
    display:grid;
    background:var(--k3j5);
    gap:0.35rem
}

/* питання */

.kp-asks-set {
    gap:0.6rem;
    display:grid
}

.kp-asks-unit {
    padding:0.9rem 1.1rem;
    border:1px solid var(--r907);
    border-radius:var(--yhxx);
    background:var(--k3j5)
}

.kp-asks-q {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    font-family:var(--yci4);
    font-weight:var(--y403);
    list-style:none
}

.kp-asks-q::-webkit-details-marker {
    display:none
}

.kp-asks-sign {
    color:var(--hmfr)
}

.kp-asks-a {
    color:var(--hmfr);
    margin-top:0.6rem
}

.kp-asks-open .kp-asks-a {
    margin-top:0.35rem
}

/* адреса */

.kp-where {
    border-top:1px solid var(--r907)
}

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

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

.kp-where-sign {
    grid-row:span 2;
    color:var(--t3rd)
}

.kp-where-key {
    font-family:var(--yci4);
    font-weight:700
}

.kp-where-val {
    font-size:0.93rem;
    color:var(--hmfr)
}

.kp-where-crate {
    background:var(--l0sk);
    border-radius:var(--yhxx);
    padding:1.3rem;
    gap:0.4rem;
    display:grid;
    text-align:center
}

.kp-where-row {
    font-size:0.97rem
}

.kp-where-hours {
    color:var(--hmfr)
}

.kp-where-phone {
    font-family:var(--yci4);
    font-weight:700;
    font-size:1.25rem;
    color:var(--t3rd)
}

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

.kp-phead {
    background:var(--k3j5);
    border-bottom:1px solid var(--r907);
    padding:2rem 0 1.2rem
}

.kp-phead-tint {
    background:var(--l0sk)
}

.kp-phead-body {
    gap:0.4rem;
    display:grid
}

.kp-phead-back {
    font-size:0.88rem;
    color:var(--t3rd)
}

.kp-phead-name {
    font-size:1.75rem
}

.kp-phead-sub {
    color:var(--hmfr)
}

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

.kp-cinfo {
    display:grid
}

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

.kp-cinfo-row:last-child {
    border-bottom:1px solid var(--r907)
}

.kp-cinfo-key {
    align-items:center;
    font-size:0.93rem;
    display:flex;
    gap:0.5rem;
    color:var(--hmfr)
}

.kp-cinfo-sign {
    color:var(--t3rd)
}

.kp-cinfo-val {
    font-size:0.97rem
}

/* 404 */

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

.kp-nf-name {
    font-size:1.8rem
}

.kp-nf-text {
    color:var(--hmfr);
    margin:0.7rem 0 1.4rem
}

/* підвал */

.kp-bottom {
    background:var(--k3j5);
    margin-top:var(--z57b);
    border-top:1px solid var(--r907)
}

.kp-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
}

.kp-bottom-brand {
    gap:0.25rem;
    display:grid
}

.kp-bottom-name {
    font-family:var(--yci4);
    font-weight:700;
    font-size:1.05rem
}

.kp-bottom-note {
    color:var(--hmfr);
    font-size:0.9rem
}

.kp-bottom-bar {
    display:flex;
    flex-wrap:wrap;
    gap:0.4rem 1.1rem
}

.kp-bottom-link {
    color:var(--hmfr);
    font-size:0.9rem
}

.kp-bottom-link:hover {
    color:var(--r45p)
}

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

.kp-bottom-legal {
    font-size:0.82rem;
    color:var(--hmfr)
}

.kp-bottom-reg {
    font-variant-numeric:tabular-nums
}

.kp-bottom-narrow .kp-bottom-body {
    gap:0.6rem;
    display:grid
}

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

.kp-bar {
    color:var(--vqnl);
    background:var(--owtv);
    position:fixed;
    z-index:20
}

.kp-bar-bar {
    left:0;
    bottom:0;
    right:0
}

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

.kp-bar-crate {
    border-radius:var(--yhxx);
    bottom:1rem;
    left:1rem;
    max-width:22rem;
    padding:1.1rem
}

.kp-bar-text {
    font-size:0.88rem
}

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

.kp-bar-crate .kp-bar-actions {
    margin-top:0.9rem
}

.kp-bar-more {
    text-decoration:underline;
    font-size:0.85rem;
    color:inherit
}

.kp-bar-accept {
    font-size:0.9rem;
    padding:0.45rem 1.1rem
}

@media (max-width: 60rem) {
    .kp-lead-body,
    .kp-ship-body,
    .kp-visit-body,
    .kp-ask-body {
    grid-template-columns:1fr
}

    .kp-lead-side .kp-lead-body {
    grid-template-columns:1fr
}

    .kp-lead-shot {
    order:-1
}
}

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

    .kp-lead-name {
    font-size:1.7rem
}

    .kp-ask-row,
    .kp-cat-row,
    .kp-cinfo-row {
    grid-template-columns:1fr
}

    .kp-topbar-bar {
    gap:0.8rem
}

    .kp-price-set .kp-good {
    flex-wrap:wrap;
    gap:0.3rem
}
}
