/* ====== Kivaniyon Styles — Chocolate theme (≥15px) ====== */
:root{
  --kvny-bg:#fffaf5;              /* cream */
  --kvny-surface:#ffffff;
  --kvny-choco:#2b1a16;           /* dark chocolate */
  --kvny-choco-2:#3a2520;
  --kvny-text:#2c2c2c;
  --kvny-muted:#6b6b6b;
  --kvny-primary:#a5613d;         /* milk chocolate */
  --kvny-accent:#efe2d9;          /* light beige */
  --kvny-border:#eee6df;
  --kvny-ring:rgba(165,97,61,.28);
  --kvny-success:#22c55e;
}

html{ font-size:15px; }
@media (min-width:1200px){ html{ font-size:16px; } }
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--kvny-bg); color:var(--kvny-text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  line-height:1.6; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{ font-family: "Playfair Display", serif; color:var(--kvny-choco); margin:0 0 .6rem; }
img{ max-width:100%; display:block; }
.kvny-container{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:1rem; }

/* ---------- Глобальные вертикальные отступы для секций ---------- */
section{ padding-block: 2.4rem; }
@media (min-width:1200px){ section{ padding-block: 3rem; } }

/* ---------- Topbar ---------- */
.kvny-topbar{ background:var(--kvny-choco); color:#fff; font-size:.95rem; }
.kvny-topbar__inner{ display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:.55rem 0; }
.kvny-topbar__item{ color:#fff; text-decoration:none; opacity:.95; }
.kvny-topbar__item i{ margin-right:.5rem; }
.kvny-topbar__item:hover{ opacity:1; }

/* ---------- Header (always-burger) ---------- */
.kvny-header{ position:sticky; top:0; z-index:50; background:var(--kvny-surface); border-bottom:1px solid var(--kvny-border); }
.kvny-header__inner{ display:flex; align-items:center; justify-content:space-between; padding:.9rem 0; }
.kvny-logo{ display:flex; align-items:center; gap:.6rem; color:var(--kvny-choco); text-decoration:none; font-weight:800; }
.kvny-logo i{ color:var(--kvny-primary); }

/* бургер - всегда виден (и на десктопе) */
.kvny-hamburger{ display:inline-block; position:relative; width:44px; height:44px; border:1px solid var(--kvny-border); border-radius:.8rem; background:#fff; }
.kvny-hamburger span{ position:absolute; left:10px; right:10px; height:2px; background:var(--kvny-choco); }
.kvny-hamburger span:nth-child(1){ top:13px; } 
.kvny-hamburger span:nth-child(2){ top:21px; } 
.kvny-hamburger span:nth-child(3){ top:29px; }

/* выпадающее меню */
.kvny-nav{
  position:absolute; right:1rem; top:calc(100% + 12px);
  background:#fff; border:1px solid var(--kvny-border); border-radius:14px;
  width:min(320px, 92vw); box-shadow:0 18px 40px rgba(0,0,0,.08);
  display:none; padding:.5rem; 
}
.kvny-nav.is-open{ display:block; }
.kvny-nav__list{ list-style:none; margin:0; padding:0; }
.kvny-nav__list li{ margin:.15rem 0; }
.kvny-nav__list a{
  display:flex; align-items:center; gap:.6rem;
  padding:.85rem 1rem; border-radius:10px; text-decoration:none; color:var(--kvny-choco);
}
.kvny-nav__list a:hover{ background:#f6efe9; }
.kvny-nav__cta a{ background:var(--kvny-primary); color:#fff; }
.kvny-nav__cta a:hover{ filter:brightness(.96); }

/* ---------- Buttons & links ---------- */
.kvny-btn{ display:inline-flex; gap:.5rem; align-items:center; justify-content:center; padding:.75rem 1rem; border-radius:.9rem; border:1px solid transparent; cursor:pointer; text-decoration:none; font-weight:700; transition:.2s; }
.kvny-btn--primary{ background:var(--kvny-primary); color:#fff; }
.kvny-btn--primary:hover{ filter:brightness(.95); }
.kvny-btn--dark{ background:var(--kvny-choco); color:#fff; }
.kvny-btn--dark:hover{ background:var(--kvny-choco-2); }
.kvny-btn--light{ background:#fff; color:var(--kvny-choco); border:1px solid var(--kvny-border); }
.kvny-linkline{ color:var(--kvny-primary); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px; }
.kvny-linkline:hover{ opacity:.9; }

/* ---------- Hero ---------- */
.kvny-hero{ padding-top:2rem; }
.kvny-hero__shell{ background:#fff; border:1px solid var(--kvny-border); border-radius:22px; }
.kvny-hero__inner{ 
  display:grid; grid-template-columns:1.15fr .85fr; gap:2.6rem; align-items:center; 
  padding:3rem 2rem;
}
@media (min-width:1200px){ .kvny-hero__inner{ padding:4rem 3rem; gap:3.2rem; } }
@media (max-width:960px){ .kvny-hero__inner{ grid-template-columns:1fr; } }

.kvny-eyebrow{ letter-spacing:.14em; text-transform:uppercase; font-size:.9rem; color:var(--kvny-muted); margin:0 0 .5rem; }
.kvny-hero__text h1{ font-size:3.2rem; line-height:1.05; margin:0 0 .6rem; }
.kvny-hero__text h1 span{ font-weight:500; letter-spacing:.06em; }
.kvny-lead{ font-size:1.06rem; color:var(--kvny-muted); max-width:52ch; }
.kvny-hero__cta{ display:flex; gap:.8rem; margin-top:1.1rem; flex-wrap:wrap; }

.kvny-hero__image{
  background:#fff; border:1px solid var(--kvny-border); border-radius:18px;
  padding:.6rem; box-shadow:0 18px 40px rgba(43,26,22,.12);
}
.kvny-hero__image img{ width:100%; border-radius:14px; object-fit:cover; }
.kvny-hero__caption{
  display:inline-block; margin-top:.6rem; background:#fff; border:1px solid var(--kvny-border);
  padding:.45rem .8rem; border-radius:999px; color:var(--kvny-muted); font-size:.92rem; 
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

/* ---------- Promo ---------- */
.kvny-promo{ background:linear-gradient(90deg, #f4e7de, #fff); border-block:1px solid var(--kvny-border); }
.kvny-promo__inner{ text-align:center; padding:1.6rem 0; }
.kvny-promo__badge{ display:inline-flex; gap:.5rem; align-items:center; background:#fff; border:1px dashed var(--kvny-primary);
  color:var(--kvny-primary); padding:.35rem .7rem; border-radius:999px; font-weight:700; margin-bottom:.4rem; }
.kvny-promo h2{ font-size:1.35rem; }
.kvny-promo h2 span{ color:var(--kvny-primary); }

/* ---------- About (dark block) ---------- */
.kvny-about{ background:var(--kvny-choco); color:#f6efe9; }
.kvny-about__inner{ display:grid; grid-template-columns:1fr 1.1fr; gap:2rem; align-items:center; }
.kvny-about__media img{ border-radius:12px; border:1px solid #4b342e; }
.kvny-about h2{ color:#fff; }
.kvny-about__text p{ color:#e8ddd6; }
@media (max-width:900px){ .kvny-about__inner{ grid-template-columns:1fr; } }

/* ---------- Section Title ---------- */
.kvny-section-title{ text-align:center; font-size:1.8rem; margin:2.2rem 0 1.2rem; position:relative; }
.kvny-section-title::after{ content:""; display:block; width:80px; height:3px; border-radius:3px; background:var(--kvny-primary); margin:.6rem auto 0; }
.kvny-section-title--light{ color:#fff; }
.kvny-section-title--light::after{ background:#d4b39a; }

/* ---------- Advantages ---------- */
.kvny-advantages{ background:#fff; }
.kvny-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.kvny-feature{ display:flex; gap:.8rem; align-items:flex-start; background:#fff; border:1px solid var(--kvny-border); border-radius:12px; padding:1rem; }
.kvny-feature i{ color:var(--kvny-primary); font-size:1.4rem; }
@media (max-width:1000px){ .kvny-features{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .kvny-features{ grid-template-columns:1fr; } }

/* ---------- Assortment ---------- */
.kvny-assortment{ background:var(--kvny-choco); }
.kvny-assortment__grid{ margin-top:.5rem; }
.kvny-grid{ display:grid; gap:1.25rem; }
.kvny-grid--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:1000px){ .kvny-grid--3{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .kvny-grid--3{ grid-template-columns:1fr;} }
.kvny-card{ background:#fff; border:1px solid var(--kvny-border); border-radius:14px; overflow:hidden; }
.kvny-card--product img{ aspect-ratio: 4/5; object-fit:cover; }
.kvny-card__body{ padding:1rem; }
.kvny-card__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:.4rem; }
.kvny-price{ font-weight:800; color:var(--kvny-primary); }

/* ---------- Steps ---------- */
.kvny-steps__grid .kvny-step{ text-align:center; padding:1.25rem; background:#fff; border:1px solid var(--kvny-border); border-radius:1rem; }
.kvny-step__icon{ display:inline-grid; place-items:center; width:48px; height:48px; border-radius:12px; background:#f4e7de; color:var(--kvny-primary); margin-bottom:.5rem; }

/* ---------- Flavours ---------- */
.kvny-list{ background:#fff; border:1px solid var(--kvny-border); border-radius:1rem; padding:1rem 1.25rem; }
.kvny-list h3{ margin:.25rem 0 .5rem; }
.kvny-list ul{ margin:0; padding-left:1.2rem; }

/* ---------- Custom Orders ---------- */
.kvny-custom__inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
.kvny-custom__text p{ color:var(--kvny-muted); }
.kvny-bullets{ list-style:none; padding:0; margin:1rem 0 1.25rem; }
.kvny-bullets li{ margin:.4rem 0; }
.kvny-bullets i{ color:var(--kvny-primary); margin-right:.5rem; }
.kvny-custom__media img{ border-radius:1rem; border:1px solid var(--kvny-border); }
@media (max-width:900px){ .kvny-custom__inner{ grid-template-columns:1fr; } }

/* ---------- Delivery ---------- */
.kvny-delivery__inner{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:900px){ .kvny-delivery__inner{ grid-template-columns:1fr; } }
.kvny-delivery__card{ text-align:center; padding:1.25rem; background:#fff; border:1px solid var(--kvny-border); border-radius:1rem; }
.kvny-delivery__card i{ color:var(--kvny-primary); font-size:1.5rem; }

/* ---------- FAQ ---------- */
.kvny-accordion details{ background:#fff; border:1px solid var(--kvny-border); border-radius:.9rem; padding:.75rem 1rem; margin:.5rem 0; }
.kvny-accordion summary{ cursor:pointer; font-weight:700; }
.kvny-accordion p{ margin:.5rem 0 0; color:var(--kvny-muted); }

/* ---------- Contact ---------- */
.kvny-contact__grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:1.5rem; }
@media (max-width:1000px){ .kvny-contact__grid{ grid-template-columns:1fr; } }
.kvny-form{ background:#fff; border:1px solid var(--kvny-border); border-radius:1rem; padding:1.25rem; }
.kvny-form__grid{ display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.kvny-col-span-2{ grid-column:span 2; }
@media (max-width:720px){ .kvny-form__grid{ grid-template-columns:1fr; } .kvny-col-span-2{ grid-column:span 1; } }
.kvny-form label{ display:grid; gap:.4rem; font-weight:600; }
.kvny-form input, .kvny-form textarea{
  width:100%; padding:.75rem .9rem; background:#fff; border:1px solid var(--kvny-border); border-radius:.8rem;
  outline:none; transition:border-color .2s, box-shadow .2s;
}
.kvny-form input:focus, .kvny-form textarea:focus{ border-color:var(--kvny-primary); box-shadow:0 0 0 4px var(--kvny-ring); }
.kvny-form__note{ color:var(--kvny-muted); font-size:.95rem; margin:.75rem 0 0; }

.kvny-card--contact{ padding:1.25rem; }
.kvny-contact__list{ list-style:none; padding:0; margin:0; }
.kvny-contact__list li{ margin:.45rem 0; }
.kvny-contact__list a{ color:inherit; text-decoration:none; }
.kvny-contact__list a:hover{ text-decoration:underline; }

/* ---------- Footer (no socials) ---------- */
.kvny-footer{ background:#fff; border-top:1px solid var(--kvny-border); }
.kvny-footer__grid{ display:grid; gap:1.25rem; grid-template-columns:2fr 1fr 1fr; padding:2rem 0; }
@media (max-width:900px){ .kvny-footer__grid{ grid-template-columns:1fr; } }
.kvny-logo--footer{ display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--kvny-choco); font-weight:800; }
.kvny-muted{ color:var(--kvny-muted); }
.kvny-links{ list-style:none; padding:0; margin:0; }
.kvny-links li{ margin:.4rem 0; }
.kvny-links a{ color:inherit; text-decoration:none; }
.kvny-links a:hover{ text-decoration:underline; }
.kvny-footer__bar{ border-top:1px solid var(--kvny-border); background:#fff; }
.kvny-footer__bar-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }

/* ---------- Modal ---------- */
.kvny-modal{ position:fixed; inset:0; display:none; place-items:center; background:rgba(0,0,0,.4); padding:1rem; }
.kvny-modal.is-open{ display:grid; }
.kvny-modal__dialog{ background:#fff; border-radius:1rem; padding:1.25rem; max-width:460px; width:100%; border:1px solid var(--kvny-border); text-align:center; position:relative; }
.kvny-modal__icon{ font-size:2.2rem; color:var(--kvny-success); margin-bottom:.5rem; }
.kvny-modal__close{ position:absolute; right:1rem; top:1rem; background:#fff; border:1px solid var(--kvny-border); width:40px; height:40px; border-radius:.75rem; display:grid; place-items:center; cursor:pointer; }
/* ABOUT (dark block) — обновление */
.kvny-about{ background:var(--kvny-choco); color:#f6efe9; padding-block:3rem; }
.kvny-about__inner{ display:grid; grid-template-columns:1fr 1.1fr; gap:2.4rem; align-items:center; }
.kvny-about__media img{
  border-radius:16px; border:1px solid #4b342e; box-shadow:0 14px 36px rgba(0,0,0,.25);
}
.kvny-about h2{ color:#fff; margin:0 0 .6rem; }
.kvny-about__text p{ color:#e8ddd6; margin:0 0 .9rem; }

.kvny-eyebrow--light{ color:#d9b59f; opacity:.95; }

/* инфо-«чипсы» */
.kvny-about__meta{ display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 1.25rem; }
.kvny-chip{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#3a2520; border:1px solid #4b342e; color:#f6efe9;
  padding:.5rem .75rem; border-radius:999px; font-size:.95rem; text-decoration:none;
}
.kvny-chip i{ color:#d9b59f; }

/* светлая линк-черта для тёмного фона */
.kvny-linkline--light{ color:#d9b59f; border-color:#d9b59f; }

@media (max-width:900px){
  .kvny-about__inner{ grid-template-columns:1fr; }
}
/* ---------- How It Works (reworked) ---------- */
.kvny-steps{
  background:#fff;
  border-top:1px solid var(--kvny-border);
  border-bottom:1px solid var(--kvny-border);
}

.kvny-steps__list{
  list-style:none; margin:0; padding:0;
  position:relative;
  display:grid; gap:1rem;
  grid-template-columns:repeat(4,1fr);
}

/* горизонтальная «рельса» соединяет шаги на десктопе */
.kvny-steps__list::before{
  content:""; position:absolute; left:0; right:0;
  top:32px; height:2px; background:var(--kvny-accent); border-radius:2px;
}

.kvny-step{
  position:relative;
  background:#fff;
  border:1px solid var(--kvny-border);
  border-radius:14px;
  padding:1.25rem;
  padding-top:1.8rem; /* место под номер-бейдж */
  box-shadow:0 6px 20px rgba(0,0,0,.04);
}

/* номер шага — «бейдж», сидит на рельсе */
.kvny-step__num{
  position:absolute; left:50%; transform:translateX(-50%);
  top:-10px; /* чуть выше верхней кромки карточки */
  width:36px; height:36px; border-radius:999px;
  display:grid; place-items:center;
  background:var(--kvny-choco); color:#fff; font-weight:800;
  border:3px solid #fff;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  z-index:1;
}

/* шапка шага: иконка + заголовок */
.kvny-step__head{
  display:flex; align-items:center; gap:.65rem; margin-bottom:.4rem;
}
.kvny-step__icon{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center;
  background:#f4e7de; color:var(--kvny-primary); font-size:1.15rem;
  border:1px solid var(--kvny-border);
}
.kvny-step h3{ margin:0; font-size:1.15rem; color:var(--kvny-choco); }
.kvny-step p{ margin:.4rem 0 0; color:var(--kvny-muted); }

/* адаптив: 2 колонки, затем 1; рельса исчезает, бейдж становится обычным */
@media (max-width:1000px){
  .kvny-steps__list{ grid-template-columns:repeat(2,1fr); }
  .kvny-steps__list::before{ display:none; }
  .kvny-step{ padding-top:1rem; }
  .kvny-step__num{
    position:static; transform:none; margin-bottom:.4rem;
    width:32px; height:32px; border-width:2px;
  }
}
@media (max-width:640px){
  .kvny-steps__list{ grid-template-columns:1fr; }
}
/* Flavours section: фон-картинка + затемнение */
.kvny-flavours{
  position:relative;
  background:
    linear-gradient(0deg, rgba(43,26,22,.55), rgba(43,26,22,.55));
}

/* Светлый заголовок на тёмном фоне */
.kvny-flavours .kvny-section-title{ color:#fff; }
.kvny-flavours .kvny-section-title::after{ background:#d4b39a; }

/* Карточки внутри — как были, но добавим шапку с иконкой */
.kvny-list{
  background:#fff;
  border:1px solid var(--kvny-border);
  border-radius:1rem;
  padding:1rem 1.25rem;
}
.kvny-list__head{
  display:flex; align-items:center; gap:.65rem; margin:0 0 .5rem;
}
.kvny-list__icon{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center;
  background:#f4e7de; color:var(--kvny-primary);
  border:1px solid var(--kvny-border);
  flex:0 0 44px;
}
.kvny-list h3{ margin:0; }

.kvny-faq {
  background: var(--kvny-choco);
}
.kvny-faq h2 {
  color: #fff!important;
}
/* Footer (dark) */
.kvny-footer{
  background: var(--kvny-choco);
  color: #f6efe9;
  border-top: none;
}
.kvny-footer__grid h4{ color:#fff; }
.kvny-logo--footer{ color:#fff; }
.kvny-footer .kvny-muted{ color:#e8ddd6; }

.kvny-footer .kvny-links a{
  color:#f6efe9; text-decoration:none; opacity:.95;
}
.kvny-footer .kvny-links a:hover{
  opacity:1; text-decoration:underline;
}
.kvny-footer .fa-solid{ color:#d9b59f; }

/* нижняя полоса */
.kvny-footer__bar{
  background: var(--kvny-choco-2);
  border-top: 1px solid rgba(255,255,255,.12);
}
.kvny-footer__bar-inner span{ color:#f0e7df; }
/* Newsletter (footer) */
.kvny-newsletter{ margin-top:.6rem; }
.kvny-newsletter__row{
  display:flex; gap:.6rem; align-items:stretch;
}
.kvny-newsletter input[type="email"]{
  flex:1;
  padding:.75rem .9rem;
  background: var(--kvny-choco-2);
  border: 1px solid rgba(255,255,255,.18);
  color:#fff;
  border-radius:.8rem;
  outline:none;
  transition: border-color .2s, box-shadow .2s;
}
.kvny-newsletter input[type="email"]::placeholder{ color:#e8ddd6; opacity:.8; }
.kvny-newsletter input[type="email"]:focus{
  border-color:#d9b59f;
  box-shadow:0 0 0 4px rgba(217,181,159,.18);
}
.kvny-newsletter__note{
  margin:.45rem 0 0;
  color:#e8ddd6; font-size:.92rem;
}
.kvny-newsletter__note a{ color:#fff; text-decoration:underline; }

/* honeypot field (anti-bot) */
.kvny-hp{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }
/* ===== Cookie banner ===== */
.kvny-cookie{
  position:fixed; inset:auto 0 0 0; z-index:60;
  background: rgba(43,26,22,.96); color:#f6efe9;
  transform: translateY(100%); opacity:0; visibility:hidden;
  transition: transform .25s ease, opacity .25s ease, visibility .25s;
}
.kvny-cookie.is-visible{ transform: translateY(0); opacity:1; visibility:visible; }

.kvny-cookie__inner{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1rem;
}
.kvny-cookie__text{ display:flex; gap:.9rem; align-items:flex-start; }
.kvny-cookie__text i{ color:#d9b59f; font-size:1.25rem; margin-top:.25rem; }
.kvny-cookie__text strong{ display:block; font-family:"Playfair Display", serif; color:#fff; margin-bottom:.15rem; }
.kvny-cookie__text p{ margin:.2rem 0; color:#f0e7df; }
.kvny-cookie__links a{ color:#fff; text-decoration:underline; }

.kvny-cookie__actions{ display:flex; gap:.5rem; flex-shrink:0; }
.kvny-cookie .kvny-btn--light{
  background: var(--kvny-choco-2); color:#fff; border:1px solid rgba(255,255,255,.18);
}
.kvny-cookie .kvny-btn--light:hover{ border-color:#d9b59f; }
.kvny-cookie .kvny-btn--primary{ box-shadow:none; }

@media (max-width:720px){
  .kvny-cookie__inner{ flex-direction:column; align-items:stretch; }
  .kvny-cookie__actions{ justify-content:stretch; }
  .kvny-cookie__actions .kvny-btn{ width:100%; }
}


