/* Дополнения к style.css: блоки, которых в старой вёрстке не было,
   плюс мелкие правки под новую разметку. Палитра прежняя:
   #230C08 — текст, #e25b5b — акцент, #E8E5E5 — линии. */

/* ---------- окно согласия с cookie (было инлайном на каждой странице) ---------- */
.cookie-consent{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  max-width:90%;width:500px;background:#2c3e50;color:#fff;
  padding:20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);
  z-index:10000;display:none;font-family:'Montserrat',sans-serif;
}
.cookie-consent-content{display:flex;flex-direction:column;gap:15px;}
.cookie-consent p{margin:0;font-size:14px;line-height:1.4;text-align:center;}
.cookie-btn{
  background:#3498db;color:#fff;border:0;padding:10px 20px;border-radius:4px;
  cursor:pointer;font-size:14px;align-self:center;transition:background .3s;
  font-family:'Montserrat',sans-serif;font-weight:500;min-width:100px;
}
.cookie-btn:hover{background:#2980b9;}
@media (max-width:480px){
  .cookie-consent{left:5%;right:5%;transform:none;width:auto;max-width:none;bottom:10px;}
}

/* ---------- сетка каталога: карточка ведёт на страницу товара ---------- */
.product-grid li a{cursor:pointer;}
.empty-note{padding:40px 0;color:#6A5E5C;font-size:16px;}

/* ---------- плитки разделов на странице «Продукция» ----------
   Высоту плиток не трогаем: в style.css это ровно 100vh, экран заполняется
   целиком, как в эталоне. Правим только обёртку картинки — она теперь
   <picture>, и без явных размеров правило .catalog-item img { height:100% }
   считало высоту от авторазмерного родителя. */
.catalog-item picture{
  position:absolute;top:0;left:0;display:block;width:100%;height:100%;
}
.catalog-item picture img{width:100%;height:100%;object-fit:cover;}
/* Картинка, заголовок и счётчик позиционированы абсолютно — в потоке у плитки
   не остаётся ничего. В ряд это незаметно: плитки растягиваются на всю высоту
   полосы. А в колонку (планшет и телефон) высоту брать неоткуда, плитка
   схлопывается в ноль и разделы пропадают с экрана. Делим полосу поровну. */
.catalog-item{flex:1 1 0;min-height:0;}
.catalog-count{
  position:absolute;left:0;right:0;bottom:70px;
  padding:0 30px;text-align:center;
  font-size:13px;font-weight:600;letter-spacing:.04em;
  color:rgba(255,255,255,.75);
  transition:0.55s ease;
}
.catalog-item:hover .catalog-count{opacity:0;}
@media (max-width:768px){
  .catalog-count{bottom:auto;top:calc(40% + 40px);font-size:12px;}
}

/* ---------- награды: раньше был слайдер, теперь обычная сетка ---------- */
.diplom-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
}
.diplom-grid .a3-item{
  height:auto;margin:0;background:#fff;border:1px solid #E8E5E5;
  overflow:hidden;aspect-ratio:63/90;
}
.diplom-grid .a3-item img,
.diplom-grid .a3-item picture{width:100%;height:100%;display:block;}
.diplom-grid .a3-item img{object-fit:cover;object-position:top center;}
@media (max-width:1024px){ .diplom-grid{grid-template-columns:repeat(4,1fr);} }
@media (max-width:768px){ .diplom-grid{grid-template-columns:repeat(3,1fr);gap:10px;} }
@media (max-width:480px){ .diplom-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- магазины ---------- */
/* В старом CSS пункты списка плавающие (float:left; width:50%), а плавающие
   элементы не растягивают контейнер — из-за этого карта наезжала на адреса.
   Раскладываем список сеткой и плавание отключаем. */
#market{height:auto;}
#market .market-contact{
  position:relative;width:100%;height:auto;display:block;
  padding:110px 0 40px;
}
.market-contact ul.shops-list{padding-left:0;}
.shops-list{
  list-style:none;margin:0;
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:4px 40px;
}
.market-contact li.shops-item,
.shops-list li{
  float:none;width:auto;margin-bottom:8px;
  font-size:16px;line-height:1.6;padding-left:20px;position:relative;
}
.shop-num{
  display:inline-block;min-width:42px;font-weight:700;
  color:rgba(35,12,8,.55);
}
.shop-hours{color:#6A5E5C;font-size:14px;}

/* карта идёт отдельным блоком под списком */
#map-market{
  position:relative;clear:both;display:block;
  width:100%;height:520px;background:#F8F8F8;overflow:hidden;
}
#map-market iframe{display:block;width:100%;height:100%;border:0;}
@media (max-width:900px){
  .shops-list{grid-template-columns:1fr;}
  #market .market-contact{padding:90px 0 30px;}
}
@media (max-width:768px){ #map-market{height:360px;} }

/* ---------- поставщикам: список вместо строк через <br> в заголовке ---------- */
.supplies-title{
  font-size:20px;font-weight:700;color:rgba(35,12,8,.55);
  margin:30px 0 12px;
}
.supplies-list{
  list-style:none;padding:0;margin:0 0 10px;
  columns:2;column-gap:40px;
}
.supplies-list li{
  break-inside:avoid;padding:3px 0 3px 16px;position:relative;font-size:15px;line-height:1.5;
}
.supplies-list li:before{
  content:"—";position:absolute;left:0;color:#e25b5b;
}
@media (max-width:768px){ .supplies-list{columns:1;} }

/* ---------- вакансии ---------- */
.vacancy-txt h2{font-size:26px;line-height:1.3;margin-bottom:24px;}
.vacancy-txt h2 span{font-size:18px;font-weight:400;color:#6A5E5C;}
.vacancy-links{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:12px;}
.vacancy-links a{
  display:inline-block;text-decoration:none;font-size:14px;font-weight:600;
  padding:12px 22px;border:1px solid #E8E5E5;color:#230C08;transition:border-color .2s;
}
.vacancy-links a:hover{border-color:#e25b5b;color:#e25b5b;}
.vacancy-phone{font-size:16px;}

/* ---------- новости ---------- */
.news-date{display:block;margin-top:14px;font-size:13px;color:#6A5E5C;}
.news-img picture{display:block;width:100%;height:100%;}
.news-img picture img{width:100%;height:100%;object-fit:cover;}

/* ---------- общее для картинок с srcset ---------- */
picture{display:block;}
.popup-gallery li picture{position:relative;width:100%;display:block;}

/* ---------- просмотр фотографии во весь экран ---------- */
.zoom-box{
  position:fixed;inset:0;z-index:11000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(35,12,8,.92);padding:32px;cursor:zoom-out;
}
.zoom-box img{
  max-width:100%;max-height:100%;object-fit:contain;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.9);cursor:default;
}
.zoom-close{
  position:absolute;top:18px;right:22px;
  width:44px;height:44px;border:0;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;
  font:300 30px/1 'Montserrat',sans-serif;cursor:pointer;
}
.zoom-close:hover{background:rgba(255,255,255,.25);}
.zoom-close:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.p-shot img,.news-img img{cursor:zoom-in;}
@media (max-width:560px){ .zoom-box{padding:12px;} }

/* заголовок страницы «Магазины»: раньше h1 не было вовсе */
.market-h1{
  font-size:22px;font-weight:700;color:rgba(35,12,8,.55);
  margin:0 0 18px;
}
@media (max-width:768px){ .market-h1{font-size:19px;} }

/* ---------- карта на «Контактах»: виджет Яндекса ---------- */
#map-contact{background:#F8F8F8;}
#map-contact iframe{display:block;width:100%;height:100%;border:0;}
