/*
Theme Name: Ecozoo
Template: kadence
Description: Дочерняя тема Kadence для РОО «Экология человека» (ecozoo.ru). Фирменный стиль Tilda-версии.
Version: 1.0.0
*/

:root {
  --ez-purple: #361834;
  --ez-pink: #cc4eb9;
  --ez-pink-light: #df93d1;
  --ez-yellow: #edc630;
  --ez-blue: #9ad4f8;
  --ez-font-head: 'Balsamiq Sans', Arial, sans-serif;
  --ez-font-text: 'Open Sans', Arial, sans-serif;
}

body { font-family: var(--ez-font-text); color: var(--ez-purple); }
h1,h2,h3,h4,h5,h6 { font-family: var(--ez-font-head); color: var(--ez-purple); }

.ez-btn {
  display: inline-block; font-family: var(--ez-font-head);
  font-size: 15px; letter-spacing: .08em; text-transform: uppercase;
  padding: 18px 40px; border-radius: 14px; text-decoration: none;
  text-align: center; transition: transform .15s ease, opacity .15s ease;
  border: none; cursor: pointer;
}
.ez-btn:hover { transform: translateY(-2px); opacity: .92; }
.ez-btn--yellow { background: var(--ez-yellow); color: var(--ez-purple); }
.ez-btn--pink { background: var(--ez-pink); color: #fff; }
.ez-btn--dark { background: var(--ez-purple); color: #fff; }

/* ===== Главная: сплит-герой ===== */
.ez-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.ez-hero__left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 120px 8% 60px; background: #fff;
}
.ez-hero__title {
  font-family: var(--ez-font-head); font-size: clamp(32px, 3.4vw, 52px);
  line-height: 1.15; text-transform: uppercase; margin: 0 0 8px;
}
.ez-hero__title .accent { color: var(--ez-pink); display: block; }
.ez-hero__sub { font-size: 17px; margin: 22px 0 48px; }
.ez-hero__left .ez-btn { align-self: flex-start; }

/* Шапка поверх героя */
.ez-top {
  position: absolute; top: 0; left: 0; right: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 26px 4%;
}
.ez-top__brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.ez-top__brand img { width: 64px; height: auto; }
.ez-top__name { font-family: var(--ez-font-head); font-size: 22px; text-transform: uppercase; color: var(--ez-purple); line-height: 1.1; }
.ez-top__name small { display: block; font-family: var(--ez-font-text); font-size: 13px; text-transform: none; font-weight: 400; }
.ez-top__nav { display: flex; gap: 14px; }
.ez-top__nav .ez-btn { padding: 12px 26px; font-size: 13px; }

/* Слайдер животных */
.ez-slider { position: relative; overflow: hidden; min-height: 100vh; }
.ez-slide {
  position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease;
  background-size: cover; background-position: center; z-index: 1;
}
.ez-slide.is-active { opacity: 1; z-index: 2; }
.ez-slide__caption {
  position: absolute; left: 0; right: 0; bottom: 52px; text-align: center;
  font-family: var(--ez-font-head); font-size: clamp(22px, 2.2vw, 34px);
  color: #fff; text-transform: uppercase; text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.ez-slide__paw {
  position: absolute; right: 6%; bottom: 70px; z-index: 3; color: #fff;
  font-family: var(--ez-font-head); text-transform: uppercase; font-size: 14px;
  text-align: center; text-decoration: none; text-shadow: 0 2px 10px rgba(0,0,0,.5);
}
.ez-slide__paw svg { display: block; margin: 0 auto 6px; width: 56px; height: 56px; }
.ez-slider__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
  background: none; border: none; color: #fff; font-size: 44px; cursor: pointer;
  text-shadow: 0 2px 10px rgba(0,0,0,.5); padding: 10px 16px;
}
.ez-slider__arrow--prev { left: 8px; }
.ez-slider__arrow--next { right: 8px; }
.ez-slider__dots { position: absolute; bottom: 22px; left: 0; right: 0; z-index: 4; display: flex; justify-content: center; gap: 9px; }
.ez-slider__dots button { width: 9px; height: 9px; border-radius: 50%; border: none; background: rgba(255,255,255,.55); cursor: pointer; padding: 0; }
.ez-slider__dots button.is-active { background: var(--ez-pink); }

/* ===== Попап-баннер ===== */
.ez-popup {
  position: fixed; inset: 0; z-index: 9999; display: none;
  align-items: center; justify-content: center;
  background: rgba(54, 24, 52, .72); padding: 24px;
}
.ez-popup.is-open { display: flex; }
.ez-popup__card {
  position: relative; display: grid; grid-template-columns: 1.1fr 1fr;
  width: min(1100px, 96vw); max-height: 90vh; border-radius: 28px;
  overflow: hidden; background: #fff;
}
.ez-popup__card::after { /* голубая волна справа */
  content: ""; position: absolute; inset: 0 0 0 42%;
  background: var(--ez-blue); z-index: 0;
  clip-path: ellipse(95% 120% at 100% 50%);
}
.ez-popup__body { position: relative; z-index: 1; padding: 8% 6%; display: flex; flex-direction: column; justify-content: center; }
.ez-popup__title { font-family: var(--ez-font-head); font-size: clamp(24px, 2.6vw, 40px); color: var(--ez-pink); text-transform: uppercase; margin: 0 0 22px; }
.ez-popup__text { font-size: 18px; line-height: 1.5; margin: 0 0 38px; }
.ez-popup__body .ez-btn { display: block; width: 100%; margin-bottom: 14px; }
.ez-popup__media { position: relative; z-index: 1; align-self: center; padding: 6%; }
.ez-popup__media img { width: 100%; height: auto; border-radius: 18px; display: block; }
.ez-popup__close {
  position: absolute; top: 20px; right: 26px; z-index: 2; background: none; border: none;
  font-size: 34px; line-height: 1; color: var(--ez-pink); cursor: pointer; font-family: var(--ez-font-head);
}

/* ===== Мобильная адаптация ===== */
@media (max-width: 920px) {
  .ez-hero { grid-template-columns: 1fr; }
  .ez-hero__left { padding: 150px 7% 56px; order: 1; }
  .ez-slider { min-height: 64vh; order: 2; }
  .ez-slide__caption { bottom: 38px; }
  .ez-top { padding: 18px 5%; }
  .ez-top__name { font-size: 16px; }
  .ez-top__brand img { width: 48px; }
  .ez-top__nav .ez-btn--yellow { display: none; } /* на мобиле — только МЕНЮ */
  .ez-hero__left .ez-btn { align-self: stretch; }
  .ez-popup__card { grid-template-columns: 1fr; overflow-y: auto; }
  .ez-popup__card::after { display: none; }
  .ez-popup__media { order: -1; padding: 16px 16px 0; }
  .ez-popup__body { padding: 22px 20px 26px; }
}

/* На главной — только кастомная шапка ez-top */
.home .site-header { display: none; }
.home .site { margin: 0; padding: 0; }

/* ===== Секции главной ===== */
.ez-section { padding: 90px 6% 30px; max-width: 1280px; margin: 0 auto; }
.ez-section__label { font-family: var(--ez-font-head); color: var(--ez-pink); text-transform: uppercase; letter-spacing: .12em; font-size: 14px; margin: 0 0 10px; }
.ez-section__title { font-family: var(--ez-font-head); font-size: clamp(26px, 2.6vw, 40px); text-transform: uppercase; margin: 0 0 36px; }

.ez-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 26px; }
.ez-card {
  background: #fff; border-radius: 22px; padding: 28px; text-decoration: none;
  color: var(--ez-purple); box-shadow: 0 8px 30px rgba(54,24,52,.08);
  transition: transform .18s ease, box-shadow .18s ease; display: block;
}
.ez-card:hover { transform: translateY(-5px); box-shadow: 0 14px 38px rgba(54,24,52,.14); }
.ez-card img { width: 84px; height: 84px; object-fit: contain; margin-bottom: 18px; }
.ez-card h3 { font-size: 19px; text-transform: uppercase; margin: 0 0 10px; }
.ez-card p { font-size: 15px; line-height: 1.5; margin: 0; }

.ez-mission { background: var(--ez-blue); border-radius: 26px; padding: 48px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.ez-mission p { font-size: clamp(17px, 1.6vw, 22px); font-family: var(--ez-font-head); margin: 0; max-width: 760px; }

/* Новости: горизонтальная лента */
.ez-news { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.ez-news__item { text-decoration: none; color: var(--ez-purple); }
.ez-news__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; margin-bottom: 14px; }
.ez-news__date { font-size: 13px; color: var(--ez-pink); font-family: var(--ez-font-head); }
.ez-news__item h3 { font-size: 17px; margin: 6px 0 0; line-height: 1.35; }

/* Животные: лента карточек */
.ez-pets { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 22px; margin-bottom: 34px; }
.ez-pet { text-decoration: none; color: var(--ez-purple); position: relative; display: block; }
.ez-pet img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 18px; }
.ez-pet__badge { position: absolute; top: 12px; left: 12px; background: var(--ez-yellow); font-family: var(--ez-font-head); font-size: 11px; text-transform: uppercase; padding: 6px 12px; border-radius: 9px; }
.ez-pet h3 { font-family: var(--ez-font-head); text-transform: uppercase; font-size: 18px; margin: 12px 0 0; text-align: center; }
.ez-center { text-align: center; }

/* Документы */
.ez-docs { display: flex; flex-wrap: wrap; gap: 18px; }
.ez-docs .ez-btn { flex: 1 1 280px; }

/* ===== Футер ===== */
.ez-footer { background: var(--ez-purple); color: #fff; padding: 70px 6% 36px; margin-top: 90px; }
.ez-footer__grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 36px; }
.ez-footer h4 { color: var(--ez-yellow); font-size: 15px; text-transform: uppercase; margin: 0 0 16px; }
.ez-footer ul { list-style: none; margin: 0; padding: 0; }
.ez-footer li { margin-bottom: 11px; }
.ez-footer a { color: #fff; text-decoration: none; font-size: 14px; opacity: .92; }
.ez-footer a:hover { color: var(--ez-blue); }
.ez-footer__bottom { max-width: 1280px; margin: 48px auto 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); font-size: 13px; opacity: .75; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }
.home .site-footer { display: none; }
.site-footer { display: none; } /* везде используем ez-footer */

/* ===== Меню-оверлей ===== */
.ez-menu { position: fixed; inset: 0; z-index: 9998; background: var(--ez-purple); display: none; align-items: center; justify-content: center; }
.ez-menu.is-open { display: flex; }
.ez-menu nav { display: flex; flex-direction: column; gap: 4px; text-align: center; max-height: 86vh; overflow-y: auto; padding: 20px; }
.ez-menu a { font-family: var(--ez-font-head); color: #fff; text-decoration: none; text-transform: uppercase; font-size: clamp(18px, 2.4vw, 28px); padding: 9px 18px; border-radius: 12px; }
.ez-menu a:hover { color: var(--ez-yellow); }
.ez-menu__close { position: absolute; top: 26px; right: 34px; background: none; border: none; color: var(--ez-pink); font-size: 44px; cursor: pointer; font-family: var(--ez-font-head); }

/* ===== Страница «Помочь» и внутренние ===== */
.ez-amounts { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0; }
.ez-amounts .ez-btn { flex: 1 1 130px; padding: 16px 10px; }
.ez-amounts .ez-btn.is-active { background: var(--ez-purple); color: #fff; }
.page .entry-header .entry-title { font-family: var(--ez-font-head); text-transform: uppercase; }

@media (max-width: 920px) {
  .ez-section { padding: 56px 6% 16px; }
  .ez-mission { padding: 30px 22px; }
  .ez-footer { padding: 48px 7% 28px; }
}
