/*
Theme Name: myasnyy-ryad (Styled)
Author: Developer
Version: 1
*/
article,
aside,
audio,
button,
input,
select,
textarea,
b,
body,
canvas,
dd,
details,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
img,
label,
li,
mark,
menu,
nav,
ol,
p,
section,
span,
strong,
sub,
summary,
sup,
time,
u,
ul,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: 0 0;
    font-size: 100%;
}

:root {
    --red: #e5200f;
    --blue: #184fb8;
    --text: #222;
    --max: 1366px;
    --body: #ececec;
    --bradius1: 40px;
    --bradius2: 20px;
}

* {
    box-sizing: border-box
}

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 16px;
    background-color: var(--body);
    font-family: 'Arial', sans-serif;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

section {
    margin-bottom: 50px;
    text-align: center;
}

h2 {
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    position: relative;
    display: inline-block;
    width: max-content;
    margin: 25px auto 25px auto;
    text-align: center;
    padding: 20px 80px;
    background-color: #ffffff;
    color: var(--red);
    border-radius: var(--bradius1);
    text-transform: uppercase;
}

ul {
    list-style: disc;
    padding-left: 20px;
    font-size: 18px;
}

a {
    text-decoration: none;
}

footer {
    background: #eeeeee;
    padding: 20px;
    text-align: center;
    font-size: 14px;
    color: #555;
}



/* Плавна прокрутка */
html {
    scroll-behavior: smooth;
}



.hero {
    background: var(--red);
    border-radius: var(--bradius1);
}

.hero-panel {
    margin: 0 auto;
    max-width: var(--max);
    position: relative;
}

.hero-title {
    position: relative;
    color: #ffffff;
    font-weight: 700;
    font-size: 28px;
    text-align: center;
    padding: 20px 0;
}


.new-badge {
    position: absolute;
    left: 18%;
    bottom: 10px;
    width: 100px;
    height: 100px;
}
.new-label {
    width: 100%;
    margin: 0 auto;
    display: block;   
}
.packs-wrapper {
    margin: 20px;
}
.packs {
    width: 100%;
    margin: 0 auto;
    display: block;
    border-radius: var(--bradius1);
}

.product-button {
    /* Основні стилі */
    position: absolute;
    bottom: 40px;
    left: 68%;
    transform: translateX(-50%);
    display: inline-block;
    background-color: #ffffff;
    /* Основний червоний колір */
    color: #2e2e2e;
    /* Колір тексту */
    font-size: 22px;
    /* Розмір тексту */
    font-weight: bold;
    text-transform: lowercase;
    /* Текст малими літерами */
    padding: 16px 35px;
    /* Внутрішні відступи */

    /* Форма та рамка */
    border-radius: var(--bradius2);
    /* Створює овальну форму */
    border: 6px solid #ebebeb;
    /* Темно-червона рамка для об'єму */

    /* Тіні для 3D-ефекту та падіння */
    box-shadow:
        -8px 0 12px rgba(255, 255, 255, .22),
        /* зовнішній блік зліва */
        12px 0 16px rgba(0, 0, 0, .30),
        /* зовнішнє затемнення справа */
        0 10px 20px rgba(0, 0, 0, .50);
    /* падіння під кнопкою */

    /* Інше */
    text-decoration: none;
    /* Забирає підкреслення у посилань */
    cursor: pointer;
    /* Змінює курсор при наведенні */
    transition: all 0.2s ease-in-out;
    /* Плавний перехід для анімації */
}

#advantages>p {
    max-width: 900px;
    margin: 0 auto 40px;
    font-size: 20px;
    line-height: 1.6;
    color: #000;
}


#advantages ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(320px, 500px));
    justify-content: center;
    justify-items: center;
    column-gap: 40px;
    row-gap: 20px;
    margin: 0 auto;
    padding: 0;
}

#advantages ul li {
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    background: var(--red);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    border-radius: 15px;

    /* центрування по вертикалі */
    display: flex;
    align-items: center;         /* вертикаль */
    justify-content: center;     /* горизонталь */

    padding: 10px 20px;
    line-height: 1.25;
    min-height: 72px;            /* піджени під макет (clamp теж ок):
                                    min-height: clamp(56px, 6vw, 80px); */
}


:root {
    --radius: 28px;
    /* радіус кута фото */
    --laceH: 18px;
    /* висота мережки */
}

.about {
    position: relative;
    padding: 20px 0 20px;
}

.about__inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 0px;
}

/* Фото з великим радіусом і тінню */
.about__media {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
}

.about__media img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: var(--bradius1);
}


/* Текст + розділювач (red-line.svg) */
.about__text {
    text-align: center;
    color: #333;
    width: 75%;
    max-width: 980px;
    margin: 0 auto;
}

.about__text p {
    margin: 20px auto;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6em;
    text-align: left;
}

/* ===== Асортимент: розміри карток + підкладка ===== */
#products {
    /* картка */
    --card-w: clamp(320px, 42vw, 460px);
    --thumb-h: clamp(180px, 30vw, 240px);
    /* висота зони фото */
    --label-h: 80px;
    /* мін. висота лейбла */

    /* підкладка */
    --flake: clamp(70px, 12vw, 160px);
    /* розмір сніжинки */
    --pos1: 280px;
    /* позиція 1 */
    --pos2: 640px;
    /* позиція 2 */
    background-color: var(--red);
    border-radius: var(--bradius1);
    max-width: var(--max);
}

/* 2 колонки фіксованої ширини */
#products .product-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, var(--card-w));
    justify-content: center;
    column-gap: 80px;
    row-gap: 68px;
    max-width: calc(var(--card-w) * 2 + 80px);
    margin: 0 auto;
    padding: 10px 0;
    z-index: 0;
}

/* картка: фіксована геометрія */
.product-item {
    width: var(--card-w);
    display: grid;
    grid-template-rows: var(--thumb-h) var(--label-h);
    align-items: end;
    justify-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    /* над підкладкою */
}

/* !!! ЗАМІНИ свої правила для .product-item img на ці */
.product-item img {
    height: var(--thumb-h);
    /* фіксуємо висоту зони фото */
    width: auto;
    max-width: 100%;
    object-fit: contain;
    /* вписується без обрізань */
    display: block;
    margin: 0 auto;
}

/* лейбл однакової висоти; центрований текст */
.product-label {
    display: grid;
    place-items: center;
    min-height: var(--label-h);
    padding: 12px 15px;
    width: min(330px, 330px);
    background: #424242;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    font-size: 28px;
    border-radius: 50px;
    margin-bottom: 40px;
}

/* --- Загальні стилі для секції --- */
.partners {
    padding: 60px 0 0px 0;
    /* overflow: hidden; */
    /* Щоб декоративні елементи не створювали горизонтальний скрол */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

/* --- Заголовок секції з декоративними елементами --- */
.section-title-wrapper {
    margin-bottom: 0px;
}

/* --- Основний контент секції (2 колонки) --- */
.partners__content {
    position: relative;
}

.partners__content h3 {
   font-size: 30px;
   padding: 20px 0px;
}

/* --- Ліва колонка з пропозиціями --- */
.partners__offer {
    position: relative;

}

.partners__offer h3 {
    font-size: 22px;
    font-weight: 100;
    padding: 10px 20px;
    display: block;
    margin: 0 auto 20px 5%;
    width: 455px;
}

/* === ПАРАМЕТРИ ПІД МАКЕТ === */
.diamond-list{
  --red:#ef2b2a;           /* корпоративний червоний */
  --red-dark:#d61f1e;
  --pillGray:#f0f0f0;      /* сіра «таблетка» праворуч */
  --text:#2f2f2f;
  --radiusPill:999px;      /* «стадіон» */
  --hPad:28px;             /* внутр. відступи */
  --vPad:18px;
  --titleW:430px;          /* ширина лівої червоної «таблетки» на десктопі */
  --numSize:44px;          /* розмір кружка з цифрою */
  --gap:18px;              /* відступ між лівою і правою частиною */
}

/* Скидаємо стилі для списку та ініціалізуємо лічильник */
ul.diamond-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: sans-serif;
  counter-reset: custom-counter; /* Запускаємо лічильник */
  max-width: var(--max);
}

/* Кожен елемент <li> тепер є GRID-контейнером.
  Він розбитий на 2 колонки: 
  - Перша фіксованої ширини (390px) для H4.
  - Друга займає весь інший простір (1fr).
*/
ul.diamond-list li {
  display: grid;
  grid-template-columns: 40% 60%; /* Розбиваємо li на дві частини */
  align-items: stretch; /* Робить колонки однаковими по висоті */
  margin-bottom: 15px;
  text-align: left;
}

/* Стилізуємо червоний блок H4. 
  Він автоматично потрапляє в першу колонку гріда.
*/
ul.diamond-list li h4 {
  background-color: var(--red); /* Червоний фон */
  color: white; /* Білий колір тексту */
  
  display: flex;
  align-items: center;
  position: relative; /* Необхідно для позиціонування кружечка */
  z-index: 2; /* Щоб червоний блок був поверх білого */
  
  height: 80px; /* Фіксована висота для всіх H4 */

  /* Внутрішні відступи: зверху, справа, знизу, зліва */
  padding: 15px 30px 15px 85px; 
  border-radius: var(--bradius2);
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1.3;
  margin: 0;
  box-sizing: border-box;
}

/* Створюємо нумерований кружечок всередині H4 */
ul.diamond-list li h4::before {
  content: counter(custom-counter); /* Виводимо номер */
  counter-increment: custom-counter; /* Збільшуємо лічильник */  
  position: absolute;
  left: 15px; /* Відступ зліва */
  top: 50%;
  transform: translateY(-50%); /* Центруємо по вертикалі */  
  background-color: white; /* Білий фон кружечка */
  color: var(--red); /* Червоний колір цифри */
  width: 50px;
  height: 50px;
  border-radius: 50%;  
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  flex-shrink: 0;
}

/* Стилізуємо блок з описом <p>. 
  Він автоматично потрапляє в другу колонку гріда.
*/
ul.diamond-list li p {
  background-color: #ffffff;
  z-index: 1; /* Щоб білий блок був під червоним */
  /* Негативний відступ для ефекту накладання */
  margin-left: -50px; 
  /* Внутрішні відступи: зліва відступ більший через накладання */
  padding-left: 70px;   
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  border-radius: var(--bradius2);  
  display: flex;
  align-items: center;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  text-transform: uppercase;
}


/* --- Права колонка з формою (червоний блок) --- */
.partners__form-wrapper {
    width: 100%;
    margin: 40px auto 0 auto;
    position: relative;
    background-color: var(--red);
    color: #fff;
    padding: 40px;
    /* Створюємо органічну форму за допомогою border-radius */
    border-radius: 40px 40px 40px 40px;
    z-index: 3;
}

.partners__form-inner {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 30px;
    align-items: flex-start;
}

/* --- Текст всередині червоного блоку --- */
.form-text {
    position: relative;
    padding-right: 20px;
    /* Відступ для стрілки */
}

.form-text p {
    padding: 15px;
    margin-bottom: 25px;
    text-align: left;
    font-size: 18px;
    line-height: 1.5em;
}

.form-text h4 {
    font-size: 1.7rem;
    text-align: left;
}

.form-arrow {
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 200px;
}

/* --- Форма з білим фоном --- */
.form-container {
    background-color: var(--red);
    padding: 30px;
    border-radius: 50px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 15px;
}

.form-container input,
.form-container textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 25px;
    font-size: 1rem;
    background-color: #ffffff;
}

.form-container textarea {
    margin-bottom: 20px;
    resize: vertical;
}

.form-container button {
    background-color: var(--red);
    color: #ffffff;
    border: 2px solid #ffffff;
    padding: 12px 35px;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: block;
    margin-left: auto;
    /* Розміщуємо кнопку справа */
}

.form-container button:hover {
    background-color: #ffffff;
    color: var(--red);
}

.partners__top {
    width: 90%;
    margin: 0 auto;
    position: relative;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    /* Права колонка значно ширша */
    gap: 20px;
    align-items: flex-start;
}

.berries {
    position: absolute;
    top: -20px;
    /* Трохи піднімаємо для кращого вигляду */
    right: 0;
    width: 280px;
    /* Ширина області для розміщення ягідок */
    height: 100%;
    /* Висота на весь батьківський блок */
    pointer-events: none;
    /* Дозволяє клікати крізь елемент, якщо він перекриває щось */
}

.angry-grid {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 2fr;
    gap: 0px;
    max-width: var(--max);
    margin: 0 auto;
}

#item-0 {
    grid-row-start: 1;
    grid-column-start: 1;
    grid-row-end: 2;
    grid-column-end: 2;
}

#item-0 h3 {
    text-align: left;
    font-size: 36px;
    color: #c5161d;
    line-height: 1.2;
    font-weight: bold;
}

#item-1 {
    grid-row-start: 2;
    grid-column-start: 1;
    grid-row-end: 3;
    grid-column-end: 2;
    position: relative;
}

#item-1 p {
    font-size: 20px;
    line-height: 1.2;
    text-align: left;
    position: absolute;
    top: 60px;
    left: 0px;
    width: 550px;
}

#item-2 {
    grid-row-start: 1;
    grid-column-start: 2;
    grid-row-end: 3;
    grid-column-end: 3;
}

#item-2 .map {
    width: 100%;
    max-width: 880px;
}

#contacts {
    padding: 60px 20px 40px;
    text-align: center;
}

.contacts-container {
    max-width: 700px;
    margin: 0 auto;
    position: relative;
}

.decor-line {
    width: 100%;
    height: 2px;
    background-color: var(--red);
}

.contact-info {
    width: 90%;
    max-width: var(--max);
    margin: 0 auto;
}
.contact-info p {
    display: inline-block;
    text-align: left;
    font-size: 18px;
    color: #000;
    margin: 10px 20px;
}

.contact-info img {
    height: 20px;
}

.contact-info a {
    color: #000;
    text-decoration: none;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.social-icons img {
    height: 30px;
    width: 30px;
    transition: transform 0.2s;
}

.social-icons img:hover {
    transform: scale(1.1);
}

/* Обгортка всієї секції */
.product_page {
    padding: 20px;
    margin-top: 60px;
}

/* Сітка товарів */
.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}

/* Картка товару */
.product-card {
    flex: 1 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}

.product-card img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

.product-card h3 {
    margin-top: 15px;
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.product-card p {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
}

/* Стилі для контейнера всієї секції 404 */
    .error-404 {
        width: 100%;
        max-width: 800px;
        /* Обмеження ширини */
        margin: 100px auto;
        /* Центрування та відступи */
        padding: 40px;
        text-align: center;
        /* Центрування тексту */
        background-color: #f9f9f9;
        /* Легкий фон */
        border: 1px solid #eee;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    /* Заголовок сторінки */
    .error-404 .page-title {
        font-size: 1.5em;
        color: #e74c3c;
        /* Колір помилки */
        margin-bottom: 20px;
        border-bottom: 2px solid #ddd;
        padding-bottom: 10px;
    }

    /* Основний текстовий блок */
    .error-404 .page-content p {
        font-size: 1.1em;
        line-height: 1.6;
        color: #333;
        margin-bottom: 25px;
    }

    /* Стилі для форми пошуку */
    .error-404 .search-form {
        max-width: 400px;
        margin: 30px auto;
    }

    /* Кнопка або посилання "На головну" */
    .error-404 a {
        display: inline-block;
        background-color: #3498db;
        /* Основний колір кнопки */
        color: white;
        padding: 12px 25px;
        text-decoration: none;
        border-radius: 5px;
        font-weight: bold;
        transition: background-color 0.3s ease;
    }

    /* Ефект при наведенні на кнопку */
    .error-404 a:hover {
        background-color: #2980b9;
    }

/* Адаптивність */
@media screen and (max-width: 1024px) {
    .product-card {
        flex: 1 1 calc(33.333% - 30px);
        max-width: calc(33.333% - 30px);
    }
}

@media screen and (max-width: 768px) {
    .product-card {
        flex: 1 1 calc(50% - 30px);
        max-width: calc(50% - 30px);
    }
}

@media screen and (max-width: 480px) {
    .product-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}