/*
Theme Name: Kiprina
Theme URI: https://example.com/
Description: Custom child theme for the personal website of Наталья Александровна Кирпина, based on GeneratePress.
Author: OpenAI
Template: generatepress
Version: 0.1.0
Text Domain: kiprina
*/

:root {
  --kip-green: #69b84f;
  --kip-green-dark: #4d9638;
  --kip-yellow: #f6c945;
  --kip-orange: #f39a3d;
  --kip-coral: #ef6b62;
  --kip-blue: #55a9d6;
  --kip-purple: #8c78c9;
  --kip-ink: #27343a;
  --kip-muted: #6f7d82;
  --kip-bg: #fffdf8;
  --kip-card: #ffffff;
  --kip-radius: 24px;
  --kip-shadow: 0 14px 35px rgba(39,52,58,.10);
}

html { scroll-behavior: smooth; }
body {
  background: var(--kip-bg);
  color: var(--kip-ink);
  font-family: "Nunito", "Trebuchet MS", sans-serif;
}
a { color: var(--kip-green-dark); }
a:hover { color: var(--kip-coral); }

.kip-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.kip-top {
  background: #fff;
  border-bottom: 1px solid rgba(39,52,58,.08);
}
.kip-top-inner {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding: 18px 0;
}
.kip-brand { display:flex; align-items:center; gap:15px; text-decoration:none!important; color:var(--kip-ink)!important; }
.kip-avatar {
  width:62px; height:62px; border-radius:50%;
  display:grid; place-items:center;
  background: linear-gradient(135deg,var(--kip-yellow),var(--kip-orange));
  color:#fff; font-weight:900; font-size:24px;
}
.kip-brand strong { display:block; font-size:20px; line-height:1.05; }
.kip-brand span { display:block; color:var(--kip-muted); font-size:13px; margin-top:5px; }
.kip-phone { font-weight:800; color:var(--kip-ink); text-decoration:none; }

.kip-nav { background:#fff; }
.kip-nav-inner { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 18px; }
.kip-nav a {
  display:block; padding:11px 15px; border-radius:14px;
  color:#fff; font-weight:800; font-size:13px; text-decoration:none;
  transition:transform .2s ease, filter .2s ease;
}
.kip-nav a:hover { color:#fff; transform:translateY(-2px); filter:brightness(.97); }
.kip-nav a:nth-child(1){background:var(--kip-green)}
.kip-nav a:nth-child(2){background:var(--kip-coral)}
.kip-nav a:nth-child(3){background:var(--kip-orange)}
.kip-nav a:nth-child(4){background:var(--kip-yellow);color:#4b4020}
.kip-nav a:nth-child(5){background:var(--kip-green-dark)}
.kip-nav a:nth-child(6){background:var(--kip-blue)}
.kip-nav a:nth-child(7){background:var(--kip-purple)}
.kip-nav a:nth-child(8){background:#4e7891}

.kip-hero { padding: 26px 0 70px; }
.kip-hero-grid {
  display:grid; grid-template-columns: 1.08fr .92fr; min-height:480px;
  background:#fff; border-radius:34px; overflow:hidden; box-shadow:var(--kip-shadow);
}
.kip-hero-copy { padding:60px; display:flex; flex-direction:column; justify-content:center; }
.kip-kicker {
  display:inline-block; width:max-content; padding:8px 13px; border-radius:99px;
  background:#edf8e9; color:var(--kip-green-dark); font-weight:900; font-size:13px;
}
.kip-hero h1 { font-size:clamp(40px,5vw,68px); line-height:.98; margin:18px 0; letter-spacing:-2px; }
.kip-hero p { font-size:18px; line-height:1.65; color:var(--kip-muted); max-width:620px; }
.kip-hero-button {
  display:inline-block; margin-top:18px; width:max-content;
  padding:15px 22px; border-radius:16px; background:var(--kip-green);
  color:#fff!important; text-decoration:none!important; font-weight:900;
}
.kip-hero-photo {
  min-height:480px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.65), transparent 25%),
    linear-gradient(135deg,#dff3d4,#bfe5ef);
  position:relative;
}
.kip-hero-photo:after {
  content:"ФОТО ПЕДАГОГА / ГРУППЫ";
  position:absolute; inset:auto 24px 24px 24px;
  padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.88);
  color:var(--kip-muted); font-weight:800; text-align:center;
}

.kip-section { padding:70px 0; }
.kip-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.kip-section h2 { font-size:clamp(30px,4vw,46px); line-height:1; margin:0; letter-spacing:-1px; }
.kip-section-lead { color:var(--kip-muted); max-width:600px; margin:0; }

.kip-cards {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.kip-card {
  min-height:210px; padding:28px; border-radius:var(--kip-radius);
  color:#fff; text-decoration:none!important; box-shadow:var(--kip-shadow);
  display:flex; flex-direction:column; justify-content:space-between;
  transition:transform .2s ease, box-shadow .2s ease;
}
.kip-card:hover { color:#fff; transform:translateY(-5px); box-shadow:0 20px 45px rgba(39,52,58,.14); }
.kip-card:nth-child(1){background:var(--kip-coral)}
.kip-card:nth-child(2){background:var(--kip-orange)}
.kip-card:nth-child(3){background:var(--kip-yellow);color:#4b4020}
.kip-card:nth-child(4){background:var(--kip-green)}
.kip-card:nth-child(5){background:var(--kip-blue)}
.kip-card:nth-child(6){background:var(--kip-purple)}
.kip-card small { font-weight:900; opacity:.82; }
.kip-card h3 { font-size:27px; line-height:1.05; margin:18px 0 8px; }
.kip-card p { margin:0; opacity:.9; line-height:1.45; }
.kip-arrow { align-self:flex-end; font-size:25px; font-weight:900; }

.kip-welcome {
  display:grid; grid-template-columns:.9fr 1.1fr; gap:36px; align-items:center;
}
.kip-quote {
  padding:38px; border-radius:30px; background:#edf8e9;
  font-size:25px; line-height:1.3; font-weight:900;
}
.kip-welcome-copy p { color:var(--kip-muted); line-height:1.75; font-size:17px; }

.kip-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.kip-benefit { background:#fff; padding:25px; border-radius:22px; box-shadow:var(--kip-shadow); }
.kip-benefit-icon { font-size:30px; }
.kip-benefit h3 { margin:12px 0 7px; }
.kip-benefit p { color:var(--kip-muted); margin:0; line-height:1.55; }

.kip-footer { background:#27343a; color:#fff; padding:45px 0; margin-top:30px; }
.kip-footer a { color:#fff; }
.kip-footer-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; }
.kip-footer p { color:rgba(255,255,255,.72); }

@media (max-width: 800px) {
  .kip-top-inner { align-items:flex-start; }
  .kip-phone { display:none; }
  .kip-nav-inner { overflow-x:auto; flex-wrap:nowrap; padding-bottom:14px; }
  .kip-nav a { white-space:nowrap; }
  .kip-hero-grid, .kip-welcome, .kip-footer-grid { grid-template-columns:1fr; }
  .kip-hero-copy { padding:38px 28px; }
  .kip-hero-photo { min-height:300px; }
  .kip-cards, .kip-benefits { grid-template-columns:1fr; }
  .kip-section { padding:48px 0; }
}


.kip-page { padding: 42px 0 80px; }
.kip-page-hero { border-radius:32px; padding:44px; color:#fff; margin-bottom:28px; box-shadow:var(--kip-shadow); }
.kip-page-hero span { display:inline-block; font-weight:900; opacity:.75; }
.kip-page-hero h1 { font-size:clamp(36px,5vw,60px); margin:12px 0 10px; line-height:1; }
.kip-page-hero p { margin:0; max-width:700px; font-size:18px; line-height:1.55; }
.kip-coral { background:var(--kip-coral); }
.kip-orange { background:var(--kip-orange); }
.kip-green { background:var(--kip-green); }
.kip-blue { background:var(--kip-blue); }
.kip-purple { background:var(--kip-purple); }
.kip-page-grid,.kip-topic-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.kip-content-card { background:#fff; padding:30px; border-radius:24px; box-shadow:var(--kip-shadow); }
.kip-content-card h2 { margin-top:0; }
.kip-content-card p { color:var(--kip-muted); line-height:1.65; }
.kip-download { margin-top:14px; padding:20px 24px; background:#fff; border-radius:18px; box-shadow:var(--kip-shadow); display:flex; justify-content:space-between; gap:20px; }
.kip-download span { color:var(--kip-muted); }
.kip-topic { color:#fff!important; text-decoration:none!important; border-radius:24px; padding:28px; min-height:200px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--kip-shadow); transition:.2s; }
.kip-topic:hover { color:#fff!important; transform:translateY(-4px); }
.kip-topic h2 { margin:10px 0; }
.kip-topic p { opacity:.9; line-height:1.5; }
.kip-topic b { align-self:flex-end; }
.kip-accordion { margin-top:28px; }
.kip-accordion details { background:#fff; border-radius:18px; margin:10px 0; padding:0 22px; box-shadow:var(--kip-shadow); }
.kip-accordion summary { cursor:pointer; padding:20px 0; font-weight:900; }
.kip-accordion p { color:var(--kip-muted); line-height:1.6; padding-bottom:18px; }
.kip-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.kip-gallery-item { display:block; aspect-ratio:1; overflow:hidden; border-radius:20px; background:#eee; box-shadow:var(--kip-shadow); }
.kip-gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.kip-gallery-item:hover img { transform:scale(1.04); }
.kip-contact-card { background:#fff; padding:36px; border-radius:24px; box-shadow:var(--kip-shadow); }
@media(max-width:800px){
  .kip-page-grid,.kip-topic-grid { grid-template-columns:1fr; }
  .kip-page-hero { padding:32px 25px; }
  .kip-download { flex-direction:column; }
  .kip-gallery { grid-template-columns:repeat(2,1fr); }
}


.kip-library{display:grid;gap:18px}.kip-library-section{background:#fff;border-radius:26px;padding:28px;box-shadow:var(--kip-shadow)}.kip-library-heading{display:flex;align-items:center;gap:18px;margin-bottom:20px}.kip-library-heading h2{margin:0 0 5px}.kip-library-heading p{margin:0;color:var(--kip-muted)}.kip-library-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#fff5c8;font-size:28px}.kip-empty-note{padding:18px;background:#f5f7f4;color:var(--kip-muted);border-radius:16px}

/* ===== KIPRINA / GENERATEPRESS LAYOUT FIX ===== */

/* Убираем ограничения контейнеров GeneratePress */
body.home .site,
body.home .site-content,
body.home .content-area,
body.home .inside-article,
body.home .site-main,
body.home .inside-site-info {
  width: 100%;
  max-width: none;
}

body.home .site-content {
  padding: 0 !important;
  margin: 0 !important;
}

body.home .content-area {
  float: none;
  margin: 0 !important;
}

body.home .inside-article {
  padding: 0 !important;
  margin: 0 !important;
}

body.home .site-main {
  margin: 0 !important;
}

/* На главной странице наш дизайн занимает всю ширину */
body.home .entry-content,
body.home .entry-content > * {
  margin: 0;
}

/* Убираем стандартный заголовок страницы GeneratePress */
body.home .page-header,
body.home .entry-header {
  display: none;
}

/* Наши контейнеры */
body.home .kip-container {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* Шапка */
body.home .kip-top {
  width: 100%;
}

/* Навигация */
body.home .kip-nav {
  width: 100%;
}

body.home .kip-nav-inner {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* Основной контент */
body.home main {
  width: 100%;
}

/* Hero */
body.home .kip-hero {
  width: 100%;
}

/* Футер нашего дизайна */
body.home .kip-footer {
  width: 100%;
}

/* Не показываем стандартный футер GeneratePress */
body.home > #page > .site-footer {
  display: none;
}

/* Более устойчивое распределение меню */
body.home .kip-nav-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

body.home .kip-nav a {
  text-align: center;
  white-space: nowrap;
}

/* На больших экранах делаем меню плотнее */
@media (min-width: 1000px) {
  body.home .kip-nav-inner {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  body.home .kip-nav a {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }
}

/* Планшет */
@media (min-width: 801px) and (max-width: 999px) {
  body.home .kip-nav-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Телефон */
@media (max-width: 800px) {
  body.home .kip-container,
  body.home .kip-nav-inner {
    width: calc(100% - 28px);
  }

  body.home .kip-nav-inner {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  body.home .kip-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* ===== FINAL GENERATEPRESS RESET FOR HOMEPAGE ===== */

/* Стандартная шапка GeneratePress */
body.home .site-header,
body.home .inside-header {
  display: none !important;
}

/* Стандартная боковая колонка */
body.home .widget-area,
body.home .secondary {
  display: none !important;
}

/* Полная ширина основной области */
body.home #page,
body.home .site,
body.home .site-content,
body.home .site-content .content-area,
body.home .site-content .site-main,
body.home .site-grid {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Убираем grid-раскладку GeneratePress */
body.home .site-content,
body.home .site-grid {
  display: block !important;
}

/* Убираем стандартные внутренние отступы */
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .inside-article {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Стандартный футер GeneratePress */
body.home #page > .site-footer {
  display: none !important;
}

/* Наш сайт */
body.home .kip-top,
body.home .kip-nav,
body.home main,
body.home .kip-footer {
  width: 100%;
  max-width: none;
}

/* Не позволяем родительским стилям сжимать наш контейнер */
body.home .kip-container {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Навигация */
body.home .kip-nav-inner {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Текст меню не переносим */
body.home .kip-nav a {
  white-space: nowrap !important;
  text-align: center;
  min-width: 0;
}

/* Hero */
body.home .kip-hero-grid {
  width: 100%;
}

/* Мобильная версия */
@media (max-width: 1000px) {
  body.home .kip-nav-inner {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 800px) {
  body.home .kip-nav-inner {
    display: flex !important;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  body.home .kip-nav a {
    flex: 0 0 auto;
  }
}

/* --- ФИНАЛЬНАЯ НАСТРОЙКА ГЛАВНОГО ЭКРАНА --- */

body.home .kip-top {
    padding: 14px 0;
    background: #ffffff;
}

body.home .kip-top .kip-container {
    min-height: 58px;
}

body.home .kip-nav {
    border-top: 1px solid #f1eee8;
    border-bottom: 1px solid #eee9df;
    background: #fff;
    padding: 8px 0;
}

body.home .kip-nav-inner {
    gap: 7px !important;
}

body.home .kip-nav a {
    min-height: 38px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 12px;
    transition: transform .2s ease, box-shadow .2s ease;
}

body.home .kip-nav a:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 14px rgba(60, 70, 50, .12);
}

body.home .kip-hero {
    margin-top: 22px;
    margin-bottom: 70px;
}

body.home .kip-hero-inner {
    min-height: 480px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(55, 65, 45, .12);
}

body.home .kip-hero-content {
    padding: 56px 52px;
}

body.home .kip-hero-content h1 {
    font-size: clamp(44px, 4.5vw, 68px);
    line-height: 1.02;
    letter-spacing: -1.8px;
    margin-bottom: 24px;
}

body.home .kip-hero-content p {
    font-size: 17px;
    line-height: 1.7;
    max-width: 560px;
}

body.home .kip-hero-button {
    margin-top: 12px;
    padding: 15px 24px;
    border-radius: 14px;
    font-size: 15px;
    box-shadow: 0 8px 18px rgba(76, 175, 80, .18);
}

body.home .kip-hero-photo {
    min-height: 480px;
    background-size: cover;
    background-position: center center;
    position: relative;
}

body.home .kip-hero-photo:after {
    display: none !important;
    content: none !important;
}

body.home .kip-section {
    padding-top: 0;
}

body.home .kip-section-head h2 {
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.08;
    letter-spacing: -1px;
}

body.home .kip-section-lead {
    font-size: 16px;
    line-height: 1.65;
    max-width: 720px;
}

body.home .kip-card {
    border-radius: 22px;
    min-height: 205px;
    padding: 28px;
    transition: transform .2s ease, box-shadow .2s ease;
}

body.home .kip-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(60, 70, 50, .13);
}

@media (max-width: 800px) {
    body.home .kip-hero-inner {
        min-height: 0;
    }

    body.home .kip-hero-content {
        padding: 38px 28px;
    }

    body.home .kip-hero-content h1 {
        font-size: 42px;
    }

    body.home .kip-hero-photo {
        min-height: 340px;
    }
}


/* --- Увеличиваем главный экран и фотографию --- */

body.home .kip-hero-inner {
    grid-template-columns: 46% 54%;
    min-height: 560px;
}

body.home .kip-hero-content {
    padding: 60px 50px;
}

body.home .kip-hero-photo {
    min-height: 560px;
    background-size: cover;
    background-position: center center;
}

@media (max-width: 800px) {
    body.home .kip-hero-inner {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.home .kip-hero-photo {
        min-height: 430px;
    }
}


/* --- Фотография без обрезки --- */

body.home .kip-hero-inner {
    grid-template-columns: 42% 58%;
    min-height: 0;
    align-items: stretch;
}

body.home .kip-hero-content {
    padding: 48px 44px;
}

body.home .kip-hero-content h1 {
    font-size: clamp(40px, 4vw, 58px);
    line-height: 1.04;
    margin-bottom: 20px;
}

body.home .kip-hero-content p {
    font-size: 16px;
    line-height: 1.6;
}

body.home .kip-hero-photo {
    min-height: 0;
    aspect-ratio: 3 / 2;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f7f3ea;
}

@media (max-width: 800px) {
    body.home .kip-hero-inner {
        grid-template-columns: 1fr;
    }

    body.home .kip-hero-photo {
        aspect-ratio: 3 / 2;
    }
}


/* --- РАСШИРЯЕМ ВЕСЬ САЙТ --- */

body.home .kip-container {
    width: min(1480px, calc(100% - 56px)) !important;
    max-width: 1480px !important;
}

body.home .kip-top .kip-container,
body.home .kip-nav-inner,
body.home .kip-footer .kip-container {
    width: min(1480px, calc(100% - 56px)) !important;
    max-width: 1480px !important;
}

body.home .kip-hero {
    width: 100%;
}

body.home .kip-hero-inner {
    width: 100%;
}

body.home .kip-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

@media (max-width: 1000px) {
    body.home .kip-container,
    body.home .kip-top .kip-container,
    body.home .kip-nav-inner,
    body.home .kip-footer .kip-container {
        width: calc(100% - 40px) !important;
    }
}

@media (max-width: 700px) {
    body.home .kip-container,
    body.home .kip-top .kip-container,
    body.home .kip-nav-inner,
    body.home .kip-footer .kip-container {
        width: calc(100% - 28px) !important;
    }

    body.home .kip-cards {
        grid-template-columns: 1fr;
    }
}


/* --- НОВАЯ ШАПКА --- */

body.home .kip-top {
    padding: 18px 0;
}

body.home .kip-top .kip-container {
    min-height: 72px;
    display: flex;
    align-items: center;
}

body.home .kip-top h1,
body.home .kip-top .kip-brand-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
}

body.home .kip-top .kip-brand-subtitle {
    font-size: 12px;
    margin-top: 4px;
}

body.home .kip-top .kip-phone {
    font-size: 17px;
    font-weight: 700;
}

body.home .kip-nav {
    padding: 10px 0;
}

body.home .kip-nav a {
    min-height: 42px;
    font-size: 13px;
    padding: 0 16px;
    border-radius: 13px;
}

@media (max-width: 800px) {
    body.home .kip-top .kip-container {
        min-height: 60px;
    }

    body.home .kip-top h1,
    body.home .kip-top .kip-brand-title {
        font-size: 18px;
    }

    body.home .kip-top .kip-phone {
        font-size: 14px;
    }
}


/* --- КАРТОЧКИ РАЗДЕЛОВ --- */

body.home .kip-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 30px;
}

body.home .kip-card {
    min-height: 245px;
    padding: 30px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 0;
    border-radius: 24px;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(50, 60, 50, .10);
}

body.home .kip-card:nth-child(1) {
    background: #f36b64;
    color: #fff;
}

body.home .kip-card:nth-child(2) {
    background: #ff9638;
    color: #fff;
}

body.home .kip-card:nth-child(3) {
    background: #ffd044;
    color: #263238;
}

body.home .kip-card:nth-child(4) {
    background: #65b94f;
    color: #fff;
}

body.home .kip-card:nth-child(5) {
    background: #50a9d4;
    color: #fff;
}

body.home .kip-card:nth-child(6) {
    background: #9076ce;
    color: #fff;
}

body.home .kip-card small {
    display: block;
    margin-bottom: 24px;
    font-size: 12px;
    font-weight: 800;
    opacity: .85;
}

body.home .kip-card h3 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.15;
    color: inherit;
}

body.home .kip-card p {
    margin: 0;
    max-width: 340px;
    font-size: 15px;
    line-height: 1.55;
    color: inherit;
    opacity: .94;
}

body.home .kip-arrow {
    width: 42px;
    height: 42px;
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #3f4a45;
    font-size: 22px;
    font-weight: 700;
    transition: transform .2s ease;
}

body.home .kip-card:hover .kip-arrow {
    transform: translateX(5px);
}

body.home .kip-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 35px rgba(50, 60, 50, .16);
}

@media (max-width: 900px) {
    body.home .kip-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.home .kip-cards {
        grid-template-columns: 1fr;
    }

    body.home .kip-card {
        min-height: 210px;
    }
}


/* --- ИКОНКИ КАРТОЧЕК --- */

body.home .kip-card::after {
    position: absolute;
    right: 24px;
    top: 22px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: rgba(255,255,255,.20);
    font-size: 30px;
    line-height: 1;
}

body.home .kip-card:nth-child(1)::after { content: "🪪"; }
body.home .kip-card:nth-child(2)::after { content: "💡"; }
body.home .kip-card:nth-child(3)::after { content: "📚"; }
body.home .kip-card:nth-child(4)::after { content: "👥"; }
body.home .kip-card:nth-child(5)::after { content: "📷"; }
body.home .kip-card:nth-child(6)::after { content: "❤️"; }



/* --- СЛАЙДЕР "НАШИ ЯРКИЕ БУДНИ" --- */

body.home .kip-gallery-section {
    padding: 70px 0 80px;
}

body.home .kip-gallery-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}

body.home .kip-gallery-label {
    display: inline-block;
    margin-bottom: 10px;
    padding: 7px 13px;
    border-radius: 20px;
    background: #e9f6df;
    color: #4b9b3b;
    font-size: 13px;
    font-weight: 700;
}

body.home .kip-gallery-head h2 {
    margin: 0 0 8px;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.08;
}

body.home .kip-gallery-head p {
    margin: 0;
    font-size: 16px;
    color: #66737a;
}

body.home .kip-gallery-button {
    flex: 0 0 auto;
    padding: 13px 20px;
    border-radius: 14px;
    background: #58b84b;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

body.home .kip-slider {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: #f5f0e7;
    box-shadow: 0 16px 38px rgba(50, 60, 50, .12);
}

body.home .kip-slides {
    position: relative;
    aspect-ratio: 16 / 7;
}

body.home .kip-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .45s ease;
    pointer-events: none;
}

body.home .kip-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

body.home .kip-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.home .kip-slider-prev,
body.home .kip-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #37474f;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 5px 18px rgba(0,0,0,.14);
}

body.home .kip-slider-prev { left: 20px; }
body.home .kip-slider-next { right: 20px; }

body.home .kip-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 20px;
    background: rgba(255,255,255,.82);
}

body.home .kip-slider-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b8b8b8;
    cursor: pointer;
}

body.home .kip-slider-dots button.is-active {
    background: #58b84b;
    transform: scale(1.2);
}

@media (max-width: 700px) {
    body.home .kip-gallery-head {
        display: block;
    }

    body.home .kip-gallery-button {
        display: inline-block;
        margin-top: 18px;
    }

    body.home .kip-slides {
        aspect-ratio: 4 / 3;
    }

    body.home .kip-slider-prev,
    body.home .kip-slider-next {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}

/* === Цветное меню-кнопки === */
.main-navigation .main-nav > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0;
}

.main-navigation .main-nav > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 16px !important;
    border-radius: 12px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Иконки */
.main-navigation .main-nav > ul > li > a::before {
    font-size: 15px;
    line-height: 1;
}

.main-navigation .main-nav > ul > li:nth-child(1) > a::before { content: "⌂"; }
.main-navigation .main-nav > ul > li:nth-child(2) > a::before { content: "▣"; }
.main-navigation .main-nav > ul > li:nth-child(3) > a::before { content: "▤"; }
.main-navigation .main-nav > ul > li:nth-child(4) > a::before { content: "▱"; }
.main-navigation .main-nav > ul > li:nth-child(5) > a::before { content: "♟"; }
.main-navigation .main-nav > ul > li:nth-child(6) > a::before { content: "♟"; }
.main-navigation .main-nav > ul > li:nth-child(7) > a::before { content: "♥"; }
.main-navigation .main-nav > ul > li:nth-child(8) > a::before { content: "✉"; }

/* Цвета кнопок */
.main-navigation .main-nav > ul > li:nth-child(1) > a {
    background: #4caf50;
}

.main-navigation .main-nav > ul > li:nth-child(2) > a {
    background: #ef6c64;
}

.main-navigation .main-nav > ul > li:nth-child(3) > a {
    background: #f39a35;
}

.main-navigation .main-nav > ul > li:nth-child(4) > a {
    background: #f4c94f;
    color: #38410f !important;
}

.main-navigation .main-nav > ul > li:nth-child(5) > a {
    background: #45a85a;
}

.main-navigation .main-nav > ul > li:nth-child(6) > a {
    background: #42a5d5;
}

.main-navigation .main-nav > ul > li:nth-child(7) > a {
    background: #9270cf;
}

.main-navigation .main-nav > ul > li:nth-child(8) > a {
    background: #4d7690;
}

.main-navigation .main-nav > ul > li > a:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 5px 12px rgba(0,0,0,.12);
}

/* Стрелка у пунктов с подменю */
.main-navigation .main-nav > ul > li.menu-item-has-children > a {
    padding-right: 17px !important;
}

/* Выпадающее меню */
.main-navigation ul ul {
    border-radius: 12px;
    padding: 7px;
    box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

.main-navigation ul ul li a {
    border-radius: 8px;
    padding: 9px 13px;
    font-size: 13px;
}

@media (max-width: 900px) {
    .main-navigation .main-nav > ul {
        gap: 6px;
    }

    .main-navigation .main-nav > ul > li > a {
        min-height: 38px;
        padding: 8px 11px !important;
        font-size: 12px;
    }
}


/* Финальная настройка меню под образец */
.main-navigation .main-nav > ul {
    gap: 6px;
}

.main-navigation .main-nav > ul > li > a {
    min-height: 38px;
    padding: 8px 13px !important;
    font-size: 12px;
    border-radius: 11px;
}

.main-navigation .main-nav > ul > li > a::before {
    display: inline-block !important;
    width: 16px;
    margin-right: 2px;
    font-size: 14px;
    line-height: 1;
    font-family: Arial, sans-serif !important;
    color: #fff !important;
}

/* Белый текст на всех кнопках */
.main-navigation .main-nav > ul > li > a {
    color: #fff !important;
}

.main-navigation .main-nav > ul > li:nth-child(1) > a::before { content: "⌂" !important; }
.main-navigation .main-nav > ul > li:nth-child(2) > a::before { content: "▣" !important; }
.main-navigation .main-nav > ul > li:nth-child(3) > a::before { content: "▤" !important; }
.main-navigation .main-nav > ul > li:nth-child(4) > a::before { content: "▱" !important; }
.main-navigation .main-nav > ul > li:nth-child(5) > a::before { content: "♟" !important; }
.main-navigation .main-nav > ul > li:nth-child(6) > a::before { content: "♟" !important; }
.main-navigation .main-nav > ul > li:nth-child(7) > a::before { content: "♥" !important; }
.main-navigation .main-nav > ul > li:nth-child(8) > a::before { content: "✉" !important; }


/* Финальная настройка меню под образец */
.main-navigation .main-nav > ul {
    gap: 6px;
}

.main-navigation .main-nav > ul > li > a {
    min-height: 38px;
    padding: 8px 13px !important;
    font-size: 12px;
    border-radius: 11px;
}

.main-navigation .main-nav > ul > li > a::before {
    display: inline-block !important;
    width: 16px;
    margin-right: 2px;
    font-size: 14px;
    line-height: 1;
    font-family: Arial, sans-serif !important;
    color: #fff !important;
}

/* Белый текст на всех кнопках */
.main-navigation .main-nav > ul > li > a {
    color: #fff !important;
}

.main-navigation .main-nav > ul > li:nth-child(1) > a::before { content: "⌂" !important; }
.main-navigation .main-nav > ul > li:nth-child(2) > a::before { content: "▣" !important; }
.main-navigation .main-nav > ul > li:nth-child(3) > a::before { content: "▤" !important; }
.main-navigation .main-nav > ul > li:nth-child(4) > a::before { content: "▱" !important; }
.main-navigation .main-nav > ul > li:nth-child(5) > a::before { content: "♟" !important; }
.main-navigation .main-nav > ul > li:nth-child(6) > a::before { content: "♟" !important; }
.main-navigation .main-nav > ul > li:nth-child(7) > a::before { content: "♥" !important; }
.main-navigation .main-nav > ul > li:nth-child(8) > a::before { content: "✉" !important; }


/* === Главное меню сайта: кнопки как на образце === */
body.home .kip-nav-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  align-items: center;
  gap: 7px;
}

body.home .kip-nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 8px 13px !important;
  border-radius: 11px;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body.home .kip-nav a:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 5px 12px rgba(0,0,0,.12);
}

body.home .kip-menu-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1;
}

/* Цвета кнопок */
body.home .kip-nav a[href$="/"] {
  background: #4caf50;
}

body.home .kip-nav a[href*="vizitnaya-kartochka"] {
  background: #ef6c64;
}

body.home .kip-nav a[href*="pedagogicheskaya-nakhodka"],
body.home .kip-nav a[href*="volshebny-mir-skazki"] {
  background: #f39a35;
}

body.home .kip-nav a[href*="metodicheskaya-kopilka"] {
  background: #f4c94f;
  color: #fff !important;
}

body.home .kip-nav a[href*="nastavnichestvo"] {
  background: #45a85a;
}

body.home .kip-nav a[href*="nasha-gruppa"] {
  background: #42a5d5;
}

body.home .kip-nav a[href*="dlya-vas-roditelyam"] {
  background: #9270cf;
}

body.home .kip-nav a[href*="obratnaya-svyaz"] {
  background: #4d7690;
}

@media (max-width: 800px) {
  body.home .kip-nav-inner {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 4px;
  }

  body.home .kip-nav a {
    flex: 0 0 auto;
  }
}


/* Иконки меню */
body.home .kip-menu-icon {
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  font-size: 0 !important;
  position: relative;
  vertical-align: middle;
}

body.home .kip-menu-icon::before {
  font-size: 15px !important;
  line-height: 18px !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-weight: normal;
}

body.home .kip-nav a:nth-child(1) .kip-menu-icon::before { content: "⌂"; }
body.home .kip-nav a:nth-child(2) .kip-menu-icon::before { content: "▣"; }
body.home .kip-nav a:nth-child(3) .kip-menu-icon::before { content: "▤"; }
body.home .kip-nav a:nth-child(4) .kip-menu-icon::before { content: "▱"; }
body.home .kip-nav a:nth-child(5) .kip-menu-icon::before { content: "♟"; }
body.home .kip-nav a:nth-child(6) .kip-menu-icon::before { content: "♟"; }
body.home .kip-nav a:nth-child(7) .kip-menu-icon::before { content: "♥"; }
body.home .kip-nav a:nth-child(8) .kip-menu-icon::before { content: "✉"; }


/* Чуть крупнее значки главного меню */
body.home .kip-home-icon {
  font-size: 18px !important;
  line-height: 1 !important;
  margin-right: 3px;
}



/* === ПЕРВЫЙ ЭКРАН ПО ОБРАЗЦУ === */
body.home .kip-hero {
    padding: 14px 0 55px;
    margin-top: 0;
}

body.home .kip-hero-grid {
    display: flex !important;
    align-items: center;
    position: relative;
    min-height: 320px !important;
    height: 320px;
    border-radius: 28px !important;
    overflow: hidden;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 12px 32px rgba(55,65,45,.12);
}

body.home .kip-hero-grid::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.91) 31%,
        rgba(255,255,255,.60) 46%,
        rgba(255,255,255,0) 68%
    );
    z-index: 1;
}

body.home .kip-hero-copy {
    position: relative;
    z-index: 2;
    width: 48%;
    padding: 32px 42px;
}

body.home .kip-hero-copy h1 {
    margin: 12px 0 14px;
    font-size: clamp(38px, 4vw, 58px);
    line-height: .98;
    letter-spacing: -1.8px;
    color: #27343a;
}

body.home .kip-word-green {
    color: #4caf50;
}

body.home .kip-word-orange {
    color: #ef7d25;
}

body.home .kip-hero-copy p {
    max-width: 520px;
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #66727a;
}

body.home .kip-hero-button {
    margin-top: 16px;
    padding: 13px 21px;
    border-radius: 15px;
    font-size: 14px;
    box-shadow: 0 7px 16px rgba(76,175,80,.20);
}

body.home .kip-hero-photo {
    display: none !important;
}

@media (max-width: 800px) {
    body.home .kip-hero-grid {
        height: auto;
        min-height: 430px !important;
        align-items: flex-end;
        background-position: 60% center !important;
    }

    body.home .kip-hero-grid::before {
        background: linear-gradient(
            0deg,
            rgba(255,255,255,.97) 0%,
            rgba(255,255,255,.82) 50%,
            rgba(255,255,255,.10) 100%
        );
    }

    body.home .kip-hero-copy {
        width: 100%;
        padding: 30px 26px;
    }
}

/* Финальная подстройка первого экрана */
body.home .kip-hero-grid {
    min-height: 360px !important;
    height: 360px;
}

body.home .kip-hero-grid::before {
    background: linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.96) 27%,
        rgba(255,255,255,.78) 40%,
        rgba(255,255,255,.25) 54%,
        rgba(255,255,255,0) 70%
    );
}

body.home .kip-hero-copy {
    padding: 34px 42px;
}

body.home .kip-hero-copy h1 {
    margin-top: 10px;
    margin-bottom: 12px;
}

body.home .kip-hero-button {
    margin-top: 14px;
    padding: 13px 21px;
}

@media (max-width: 800px) {
    body.home .kip-hero-grid {
        height: auto;
        min-height: 440px !important;
    }
}


/* Первый экран: +20% по высоте */
body.home .kip-hero-grid {
    height: 432px !important;
    min-height: 432px !important;
}

@media (max-width: 800px) {
    body.home .kip-hero-grid {
        min-height: 528px !important;
        height: auto;
    }
}


/* Первый экран: ещё +30% по высоте */
body.home .kip-hero-grid {
    height: 562px !important;
    min-height: 562px !important;
}

@media (max-width: 800px) {
    body.home .kip-hero-grid {
        min-height: 685px !important;
        height: auto;
    }
}


/* Первый экран: уменьшаем высоту на 20% */
body.home .kip-hero-grid {
    height: 450px !important;
    min-height: 450px !important;
}

@media (max-width: 800px) {
    body.home .kip-hero-grid {
        min-height: 550px !important;
        height: auto;
    }
}


/* Показываем фотографию целиком */
body.home .kip-hero-grid {
    background-size: 68% auto !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
    background-color: #f7f3ea;
}


/* Опускаем фотографию ниже */
body.home .kip-hero-grid {
    background-position: right 120% center !important;
}


/* Исправляем положение и размер фотографии */
body.home .kip-hero-grid {
    background-size: 78% auto !important;
    background-position: right 70% !important;
    background-repeat: no-repeat !important;
}


/* Уменьшаем фотографию ещё на 20% */
body.home .kip-hero-grid {
    background-size: 62% auto !important;
    background-position: right 70% !important;
}



/* Фотография педагога в шапке */
body.home .kip-avatar {
    width: 62px;
    height: 62px;
    min-width: 62px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
}

body.home .kip-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}
