:root{
  --bg: #f7fff9;
  --bg-elev: #ffffff;
  --text: #1f2a24;
  --muted: #5a6a61;
  --brand: #2e9e5b;
  --brand-600:#238a4e;
  --brand-700:#1d7442;
  --brand-100:#d8f2e4;
  --accent:#59c07a;
  --border:#dbe7df;
  --shadow: 0 6px 24px rgba(30, 80, 52, .08), 0 2px 6px rgba(30, 80, 52, .06);
  --radius: 14px;
  --radius-sm:10px;
  --container: 1200px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0e1512;
    --bg-elev:#121c17;
    --text:#e7f3ec;
    --muted:#a6b7ad;
    --brand:#5fd08f;
    --brand-600:#44bc79;
    --brand-700:#38a56a;
    --brand-100:#153b2a;
    --accent:#7be3a3;
    --border:#274236;
    --shadow: 0 8px 28px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.25);
  }
}

/* Базовые сбросы и типографика */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 10% -10%, var(--brand-100), transparent 60%) , var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* Контейнер */
.wrap{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
header, main, footer{width:100%}
main{flex:1}

/* Контейнер контента */
article, header .brand, footer{
  max-width: var(--container);
  margin-inline:auto;
  padding-inline: clamp(16px, 3.2vw, 32px);
}
article{padding-block: clamp(16px, 3.5vw, 28px);}

/* Шапка */
header{
  position: sticky; top:0; z-index:10;
  background: color-mix(in oklab, var(--bg-elev) 92%, transparent);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom:1px solid var(--border);
}
header .brand{
  display:flex; align-items:center; gap:14px;
  height:64px;
}

/* Лого: только CSS (лист + текст) */
.brand{
  --leaf: var(--brand);
  --leaf-dark: var(--brand-700);
}
.brand__text{
  font-weight: 800;
  letter-spacing:.3px;
  color: var(--brand-700);
  display:inline-block;
  font-size: clamp(18px, 2.2vw, 22px);
  position:relative;
  padding-left:46px;
  line-height:1;
}
.brand__text::before{
  content:"";
  position:absolute; left:0; top:50%;
  width:34px; height:34px; transform: translateY(-50%);
  border-radius: 10px 18px 10px 18px / 16px 18px 16px 18px;
  background: radial-gradient(40% 50% at 35% 35%, #fff8, transparent 65%),
              linear-gradient(145deg, var(--leaf), var(--leaf-dark));
  box-shadow: inset 0 0 0 1px #00000010, 0 6px 14px rgba(0,0,0,.08);
  /* хвостик листа */
  clip-path: path("M3,17 C3,8 10,3 17,3 C24,3 31,8 31,17 C31,24 25,31 17,31 C9,31 3,25 3,17 Z");
}
.brand__text::after{
  content:"";
  position:absolute; left:20px; top:50%;
  width:12px; height:12px; transform: translate(-4px, -19px) rotate(35deg);
  border-radius: 2px 10px 10px 2px;
  background: linear-gradient(135deg, var(--brand-600), var(--brand-700));
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.12));
}
@media (hover:hover){
  .brand__text:hover{color:var(--brand-600)}
  .brand__text:hover::before{transform: translateY(-50%) rotate(-2deg) scale(1.02)}
}

/* Заголовки и текст */
h1,h2{line-height:1.2; margin:0 0 .6em}
h1{font-size: clamp(24px, 4.2vw, 38px)}
h2{font-size: clamp(18px, 3vw, 24px); color:var(--brand-700)}
p{margin:0 0 1em; color:var(--text)}
.muted{color:var(--muted)}

/* Список последних материалов */
.latest-list{
  list-style:none; padding:0; margin:16px 0 0;
  display:grid; gap:12px;
  grid-template-columns: 1fr;
}
@media (min-width:540px){
  .latest-list{grid-template-columns: repeat(2, minmax(0,1fr))}
}
@media (min-width:900px){
  .latest-list{grid-template-columns: repeat(3, minmax(0,1fr))}
}
.latest-list a{
  display:block; text-decoration:none; color:var(--text);
  background: var(--bg-elev);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:16px 14px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: var(--shadow);
}
.latest-list a:hover{
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--brand) 35%, var(--border));
  box-shadow: 0 10px 26px rgba(39, 130, 86, .12), 0 2px 8px rgba(39,130,86,.08);
}
.latest-list a:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--brand) 40%, transparent);
  outline-offset: 2px;
}

/* Основной article-карточка */
article{
  background: var(--bg-elev);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding-block: clamp(18px, 3.8vw, 28px);
  padding-inline: clamp(16px, 3.2vw, 28px);
}

/* Подвал */
footer{
  color: var(--muted);
  border-top:1px solid var(--border);
  padding: 18px clamp(16px, 3.2vw, 32px);
}

/* Доступность ссылок */
a{color:var(--brand-700)}
a:hover{color:var(--brand)}
a:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

/* Мелкая адаптация высоты шапки */
@media (max-width:420px){
  header .brand{height:56px}
}

/* Печать */
@media print{
  header, footer{display:none}
  article{border:none; box-shadow:none; padding:0}
}
/* Палитра совпадает со стилем главной для консистентности */
:root{
  --bg: #f7fff9;
  --bg-elev:#ffffff;
  --text:#1f2a24;
  --muted:#5a6a61;
  --brand:#2e9e5b;
  --brand-600:#238a4e;
  --brand-700:#1d7442;
  --brand-100:#d8f2e4;
  --accent:#59c07a;
  --border:#dbe7df;
  --shadow: 0 6px 24px rgba(30, 80, 52, .08), 0 2px 6px rgba(30, 80, 52, .06);
  --radius: 14px;
  --radius-sm:10px;
  --container: 900px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0e1512;
    --bg-elev:#121c17;
    --text:#e7f3ec;
    --muted:#a6b7ad;
    --brand:#5fd08f;
    --brand-600:#44bc79;
    --brand-700:#38a56a;
    --brand-100:#153b2a;
    --accent:#7be3a3;
    --border:#274236;
    --shadow: 0 8px 28px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.25);
  }
}

/* Сбросы */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 100% -20%, var(--brand-100), transparent 60%), var(--bg);
  line-height:1.7;
}

/* Каркас */
.wrap{min-height:100%; display:flex; flex-direction:column}
main{flex:1}
header, main, footer{width:100%}

article, header .brand, footer{
  max-width: var(--container);
  margin-inline:auto;
  padding-inline: clamp(16px, 3.2vw, 32px);
}

/* Шапка */
header{
  position: sticky; top:0; z-index:10;
  background: color-mix(in oklab, var(--bg-elev) 92%, transparent);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom:1px solid var(--border);
}
header .brand{
  height:64px; display:flex; align-items:center;
}

/* Лого: только CSS (та же стилистика, ссылка внутри) */
.brand__link{
  display:inline-block; text-decoration:none;
}
.brand__text{
  font-weight: 800; color: var(--brand-700);
  letter-spacing:.3px;
  font-size: clamp(18px, 2.2vw, 22px);
  position:relative; padding-left:46px; line-height:1;
}
.brand__text::before{
  content:"";
  position:absolute; left:0; top:50%;
  width:34px; height:34px; transform: translateY(-50%);
  border-radius: 10px 18px 10px 18px / 16px 18px 16px 18px;
  background: radial-gradient(40% 50% at 35% 35%, #fff8, transparent 65%),
              linear-gradient(145deg, var(--brand), var(--brand-700));
  box-shadow: inset 0 0 0 1px #00000010, 0 6px 14px rgba(0,0,0,.08);
  clip-path: path("M3,17 C3,8 10,3 17,3 C24,3 31,8 31,17 C31,24 25,31 17,31 C9,31 3,25 3,17 Z");
}
.brand__text::after{
  content:"";
  position:absolute; left:20px; top:50%;
  width:12px; height:12px; transform: translate(-4px, -19px) rotate(35deg);
  border-radius: 2px 10px 10px 2px;
  background: linear-gradient(135deg, var(--brand-600), var(--brand-700));
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.12));
}
@media (hover:hover){
  .brand__link:hover .brand__text{color:var(--brand-600)}
  .brand__link:hover .brand__text::before{transform: translateY(-50%) rotate(-2deg) scale(1.02)}
}

/* Контент */
article{
  background: var(--bg-elev);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding-block: clamp(18px, 3.8vw, 32px);
  padding-inline: clamp(16px, 3.2vw, 34px);
  margin-block: clamp(12px, 2vw, 18px);
}

h1,h2{line-height:1.25; margin:0 0 .65em}
h1{
  font-size: clamp(24px, 3.8vw, 34px);
  background: linear-gradient(90deg, var(--brand-700), var(--brand));
  color: transparent;
  -webkit-background-clip:text; background-clip:text;
}
h2{
  font-size: clamp(18px, 2.8vw, 22px);
  color: var(--brand-700);
}
p{margin:0 0 1em; color:var(--text)}

/* Навигационный блок "Смотрите также" */
.also{
  margin-top: clamp(16px, 3vw, 28px);
  padding-top: clamp(8px, 1.2vw, 12px);
  border-top:1px dashed color-mix(in oklab, var(--brand) 30%, var(--border));
}
.also__title{
  margin:0 0 .5em;
  color:var(--brand-700);
  font-size: clamp(16px, 2.2vw, 18px);
}
.lat-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:10px;
  grid-template-columns: 1fr;
}
@media (min-width:700px){
  .lat-list{grid-template-columns: repeat(2, minmax(0,1fr))}
}
.lat-list a{
  display:block; text-decoration:none; color:var(--text);
  background: linear-gradient(180deg, color-mix(in oklab, var(--brand-100) 60%, var(--bg-elev)), var(--bg-elev));
  border:1px solid var(--border);
  border-radius: var(--radius-sm);
  padding:12px 14px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: var(--shadow);
}
.lat-list a:hover{
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--brand) 35%, var(--border));
  box-shadow: 0 10px 26px rgba(39, 130, 86, .12), 0 2px 8px rgba(39,130,86,.08);
}

/* Ссылки и фокус */
a{color:var(--brand-700)}
a:hover{color:var(--brand)}
a:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

/* Подвал */
footer{
  color:var(--muted);
  border-top:1px solid var(--border);
  padding: 18px clamp(16px, 3.2vw, 32px);
}

/* Удобочитаемые абзацы на узких экранах */
@media (max-width:360px){
  body{font-size: 15px}
}

/* Печать */
@media print{
  header, footer, .also{display:none}
  article{border:none; box-shadow:none; padding:0; margin:0}
}

/* Ограничение ширины внутреннего контента */
article > *:not(.also) {
  max-width: 750px; /* Оптимальная ширина для чтения ~75-80 символов */
  margin-inline: auto; /* Центрирование */
}

/* Специфичные настройки для разных типов контента */
article img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
  margin-block: 1.5em;
}

article ul, article ol {
  padding-left: 1.5em; /* Чтобы маркеры не вылезали за пределы */
}

/* Если нужно, чтобы заголовки тоже были ограничены, 
   вышеуказанное правило article > * уже это делает. 
   Блок "Смотрите также" (.also) мы исключили через :not, 
   так как он обычно должен занимать всю ширину карточки. */
   
   /* Внесите изменения в этот блок */
article > *:not(.also) {
  max-width: 750px;
  margin-inline: auto;
  /* Добавляем box-sizing, чтобы padding не расширял блок */
  box-sizing: border-box; 
}

/* Специфичные настройки для картинок */
article img {
  display: block;
  /* max-width: 100% гарантирует, что картинка не станет шире родителя (750px) */
  max-width: 100%; 
  height: auto;
  border-radius: var(--radius-sm);
  margin-block: 1.5em;
  /* Центрирование, если картинка меньше 750px */
  margin-inline: auto; 
}

/* Если картинки обернуты в тег <figure> */
article figure {
  margin-inline: auto;
  max-width: 100%;
}

article figure img {
  margin-block: 0; /* Чтобы не дублировать отступы figure */
}

.delivery-block{padding:29px;margin:16px 0;border-radius:11px;border:3px solid currentColor;border-color:inherit;opacity:0.96;}.delivery-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(335px,1fr));gap:19px;}.products-block{padding:29px;margin:16px 0;border-radius:11px;border:3px solid currentColor;border-color:inherit;opacity:0.99;}.products-list{list-style:none;padding:0;margin:0;}.product-item{padding:14px;margin:9px 0;border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;gap:15px;border:2px solid;border-color:inherit;transition:all 0.3s ease;}.product-item:hover{transform:translateX(4px);opacity:0.9;box-shadow:0 6px 11px rgba(0,0,0,0.1);}.product-name{flex:1 1 auto;font-weight:600;font-size:16px;}.product-price{font-weight:700;font-size:20px;white-space:nowrap;}.product-old-price{text-decoration:line-through;font-size:13px;opacity:0.62;white-space:nowrap;}@media(max-width:768px){.delivery-block{padding:19px;}.products-block{padding:13px;}.product-item{flex-direction:column;align-items:flex-start;}}@media(max-width:480px){.delivery-block{padding:9px;margin:10px 0;}.products-block{padding:12px;margin:7px 0;}.product-item{padding:8px;margin:10px 0;}}
