/*
Theme Name: GeneratePress Child
Template: generatepress
*/

/* ============================================
   GLOBAL — цвета и фон (без hero/footer)
   ============================================ */
body {
  background-color: #f8fafc;
}
.entry-content p,
.entry-content li {
  color: #1a2b3a;
}
.entry-content a:not(.wp-block-button__link):not(.button) {
  color: #2563eb;
  transition: color 0.2s ease;
}
.entry-content a:not(.wp-block-button__link):not(.button):hover {
  color: #1d4ed8;
}
.home .entry-content a:not(.wp-block-button__link):not(.button) {
  color: #2563eb;
}
.home .entry-content a:not(.wp-block-button__link):not(.button):hover {
  color: #1d4ed8;
}

/* ============================================
   1. HEADER — sticky, glass effect, меню
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.25s ease;
}
.site-header .inside-header {
  max-width: 100%;
  padding-left: clamp(1.5rem, 4vw, 3rem);
  padding-right: clamp(1.5rem, 4vw, 3rem);
}
.site-header .site-logo {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a2b3a;
}
.site-header .site-logo a {
  color: #1a2b3a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-header .site-logo a:hover {
  color: #2563eb;
}
.main-navigation {
  font-size: 1rem;
}
.main-navigation ul,
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2rem;
}
.main-navigation li,
.main-nav li {
  margin: 0;
}
.main-navigation a,
.main-nav ul li a {
  color: #3d4f5c;
  text-decoration: none;
  font-weight: 400;
  padding: 0.5em 0;
  position: relative;
  transition: color 0.2s ease;
}
.main-navigation a::after,
.main-nav ul li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #2563eb;
  transition: width 0.3s ease;
}
.main-navigation a:hover,
.main-nav ul li a:hover {
  color: #1a2b3a;
}
.main-navigation a:hover::after,
.main-nav ul li a:hover::after {
  width: 100%;
}
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a {
  color: #1a2b3a;
  font-weight: 500;
}
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after,
.main-nav .current-menu-item > a::after,
.main-nav .current_page_item > a::after {
  width: 100%;
}
@media (max-width: 768px) {
  .main-navigation ul,
  .main-nav ul {
    flex-direction: column;
    gap: 0;
  }
  .main-navigation li,
  .main-nav li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }
  .main-navigation a,
  .main-nav ul li a {
    display: block;
    padding: 1em 0;
  }
  .main-navigation a::after,
  .main-nav ul li a::after {
    display: none;
  }
}

/* ============================================
   Главная страница — корпоративный стиль
   ============================================ */

/* CONTENT WIDTH — modern contained width, no full-bleed; hero and sections stay inside */
.home .site-content .container,
.home .site-main .container,
.home .site-content .inside-content,
.home .site-main .inside-content {
  max-width: 1280px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1.25rem, 5vw, 3rem);
  padding-right: clamp(1.25rem, 5vw, 3rem);
  box-sizing: border-box;
}

.home .inside-article {
  max-width: 100%;
}

/* CONTENT WIDTH — reading width for text blocks */
.home .entry-content p,
.home .entry-content li,
.home .entry-content .wp-block-column p {
  max-width: 65ch;
}

.home .entry-content h2,
.home .entry-content h3 {
  max-width: 45ch;
}

  /* TYPOGRAPHY — hierarchy h1 → h2 → h3 → body; readable on desktop and mobile */
  body {
    overflow-x: hidden;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.65;
    color: #3d4f5c;
  }

  .home .entry-content,
  .home .entry-content p {
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
    line-height: 1.7;
    color: #3d4f5c;
  }

  .home .entry-content p {
    margin-bottom: 1.5em;
  }

  .home .entry-content h1 {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 600;
    line-height: 1.25;
    color: #1a2b3a;
    margin-top: 0;
    margin-bottom: 0.5em;
  }

  .home .entry-content h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
    line-height: 1.3;
    color: #1a2b3a;
    margin-top: 2em;
    margin-bottom: 1em;
  }

  .home .entry-content h3 {
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 600;
    line-height: 1.4;
    color: #1a2b3a;
    margin-top: 1.5em;
    margin-bottom: 0.75em;
  }

  .home .entry-content blockquote,
  .home .entry-content .wp-block-quote {
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
    line-height: 1.7;
    color: #2d3d4a;
    border-left: 4px solid #2d4a5e;
    padding-left: 1.25em;
    margin: 2em 0;
    font-style: italic;
  }

  .lp-card p,
  .service-card-content p {
    font-size: clamp(1rem, 1.5vw, 1.0625rem);
    line-height: 1.65;
  }

  /* HERO FIX — hero inside content width; no 100vw; intentional background; readable anchored text */
  .home .site-main > .inside-article,
  .home .site-main > article {
    padding-top: 0;
    padding-bottom: clamp(3rem, 6vw, 5rem);
    padding-left: 0;
    padding-right: 0;
  }

  /* Remove default gray so cover/columns show only intended background */
  .home .entry-content > .wp-block-cover:first-child,
  .home .entry-content > .wp-block-group.hero-block,
  .home .entry-content > .wp-block-columns:first-child,
  .home .entry-content > .wp-block-columns:first-child .wp-block-column,
  .home .hero-section {
    background-color: transparent;
  }
  .home .entry-content > .wp-block-cover:first-child.has-background,
  .home .entry-content > .wp-block-columns:first-child .wp-block-column.has-background {
    background-color: transparent;
  }
  /* HERO BACKGROUND FIX — DARK IT GRADIENT */
  .home .entry-content > .wp-block-cover:first-child {
    background: linear-gradient(to bottom, #0f1c2e, #14283f);
  }

  /* Hero container: 100% of parent (content width); controlled height; no viewport hacks */
  .home .hero-section,
  .home .entry-content > .wp-block-group.hero-block,
  .home .entry-content > .wp-block-cover:first-child {
    width: 100%;
    max-width: 100%;
    min-height: 360px;
    max-height: 520px;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    border-radius: 12px;
    overflow: hidden;
  }

  /* First block as columns: image + text overlay; contained within hero */
  .home .entry-content > .wp-block-columns:first-child {
    position: relative;
    min-height: 360px;
    max-height: 520px;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
  }

  .home .entry-content > .wp-block-columns:first-child .wp-block-column:first-child {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
    padding: 0;
  }

  .home .entry-content > .wp-block-columns:first-child .wp-block-column:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Overlay: hero = dark blend so image meets gradient; columns = subtle dark */
  .home .entry-content > .wp-block-cover:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(15, 28, 46, 0.35), rgba(20, 40, 63, 0.25));
    pointer-events: none;
    z-index: 0;
  }
  .home .entry-content > .wp-block-columns:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
    z-index: 0;
  }

  .home .entry-content > .wp-block-columns:first-child .wp-block-column:last-child {
    position: relative;
    z-index: 1;
    max-width: 560px;
    width: 100%;
    margin-left: auto;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }

  .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
  .home .entry-content > .wp-block-cover:first-child > * {
    position: relative;
    z-index: 1;
    max-width: 560px;
    width: 100%;
    margin-left: auto;
  }

  /* Hero text: white, readable, anchored */
  .home .entry-content > .wp-block-cover:first-child h1,
  .home .entry-content > .wp-block-cover:first-child h2,
  .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
  .home .entry-content > .wp-block-cover:first-child p,
  .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container p,
  .home .entry-content > .wp-block-columns:first-child h1,
  .home .entry-content > .wp-block-columns:first-child h2,
  .home .entry-content > .wp-block-columns:first-child h3,
  .home .entry-content > .wp-block-columns:first-child p {
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3);
  }

  .home .entry-content > .wp-block-cover:first-child .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    color: #fff;
    text-shadow: none;
  }

  .home .entry-content > .wp-block-cover:first-child .wp-block-button.is-style-outline .wp-block-button__link {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.9);
    background-color: transparent;
  }

  .home .entry-content > .wp-block-cover:first-child .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
  }

  .home .hero-section > *,
  .home .entry-content > .wp-block-group.hero-block .wp-block-group__inner-container {
    position: relative;
    z-index: 1;
    max-width: 560px;
  }

  .home .entry-content > .wp-block-columns:first-child .entry-title,
  .home .entry-content > .wp-block-columns:first-child h1 {
    color: #ffffff;
  }

  .home .entry-content > .wp-block-columns:first-child p {
    color: #ffffff;
  }

  /* Hero mobile: stacked layout, centered text, buttons as-is */
  @media (max-width: 768px) {
    .home .entry-content > .wp-block-cover:first-child,
    .home .entry-content > .wp-block-columns:first-child {
      min-height: 320px;
      max-height: none;
    }

    .home .entry-content > .wp-block-columns:first-child .wp-block-column:first-child {
      position: relative;
      width: 100%;
      min-height: 220px;
    }

    .home .entry-content > .wp-block-columns:first-child .wp-block-column:last-child {
      align-items: center;
      text-align: center;
      padding: 2rem 1.25rem;
    }

    .home .entry-content > .wp-block-columns:first-child h1,
    .home .entry-content > .wp-block-columns:first-child h2,
    .home .entry-content > .wp-block-columns:first-child p {
      text-align: center;
    }

    .home .entry-content > .wp-block-columns:first-child .wp-block-buttons {
      flex-direction: column;
      align-items: center;
      width: 100%;
    }

    .home .entry-content > .wp-block-columns:first-child .wp-block-button {
      width: 100%;
      max-width: 280px;
    }

    .home .entry-content > .wp-block-cover:first-child {
      flex-direction: column;
      justify-content: center;
      text-align: center;
    }

    .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container {
      margin-left: 0;
      text-align: center;
    }

    .home .entry-content > .wp-block-cover:first-child .wp-block-buttons {
      flex-direction: column;
      align-items: center;
    }

    .home .entry-content > .wp-block-cover:first-child .wp-block-button {
      width: 100%;
      max-width: 280px;
    }
  }
  /* HERO FIX END */

  /* Кнопки — массивные, одинаковой высоты */
  .home .entry-content .wp-block-button__link,
  .home .entry-content .wp-block-button .wp-block-button__link,
  .home .entry-content a.button,
  .home .site-main .wp-block-button__link {
    display: inline-block;
    padding: 0.875em 2em;
    min-height: 48px;
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  }

  /* Основная кнопка */
  .home .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .home .entry-content .wp-block-button__link:not(.is-style-outline),
  .home .entry-content a.button {
    background-color: #2d4a5e;
    color: #fff;
  }

  .home .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
  .home .entry-content .wp-block-button__link:not(.is-style-outline):hover,
  .home .entry-content a.button:hover {
    background-color: #3d5a6e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
  }

  /* Контурная кнопка */
  .home .entry-content .wp-block-button.is-style-outline .wp-block-button__link,
  .home .entry-content .wp-block-button__link.is-style-outline {
    background-color: transparent;
    color: #2d4a5e;
    border-color: #2d4a5e;
    box-shadow: 0 2px 4px rgba(45, 74, 94, 0.1);
  }

  .home .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
  .home .entry-content .wp-block-button__link.is-style-outline:hover {
    background-color: rgba(45, 74, 94, 0.08);
    color: #1a2b3a;
    border-color: #2d4a5e;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(45, 74, 94, 0.15);
  }

  /* CONTENT WIDTH — section spacing; light alternate background (no gray soup) */
  .home .entry-content > .wp-block-group,
  .home .entry-content > .wp-block-columns {
    margin-bottom: 0;
    padding-top: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
  }

  .home .entry-content > .wp-block-group:nth-child(even):not(.hero-block),
  .home .entry-content > .wp-block-columns:nth-of-type(even) {
    background: rgba(0, 0, 0, 0.02);
  }

  /* CARDS — clear separation from background; consistent shadow; subtle hover */
  .lp-card,
  .home .entry-content > .wp-block-group:not(:first-child):not(.hero-block),
  .home .entry-content .wp-block-columns > .wp-block-column {
    background: #ffffff;
    border-radius: 12px;
    padding: clamp(2rem, 4vw, 3rem);
    margin-bottom: 2rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    border: 1px solid rgba(0, 0, 0, 0.06);
  }

  .lp-card:hover,
  .home .entry-content > .wp-block-group:not(:first-child):not(.hero-block):hover,
  .home .entry-content .wp-block-columns > .wp-block-column:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
  }

  .home .entry-content > .wp-block-group.has-background,
  .home .entry-content .wp-block-columns .wp-block-column.has-background {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
  }

  /* CARDS — accordion/details as UI components */
  .home .entry-content details,
  .home .entry-content [class*="accordion"] {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 0.75rem;
    padding: 1rem 1.25rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .home .entry-content details summary,
  .home .entry-content [class*="accordion"] summary {
    padding: 0.25rem 0;
    cursor: pointer;
    font-weight: 500;
    color: #1a2b3a;
    list-style: none;
    user-select: none;
  }

  .home .entry-content details summary::-webkit-details-marker,
  .home .entry-content [class*="accordion"] summary::-webkit-details-marker {
    display: none;
  }

  .home .entry-content details[open] summary,
  .home .entry-content [class*="accordion"][open] summary {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .home .entry-content details:hover,
  .home .entry-content [class*="accordion"]:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07), 0 2px 6px rgba(0, 0, 0, 0.04);
  }

  /* Колонки в карточках — выравнивание */
  .home .entry-content .wp-block-columns {
    display: flex;
    gap: 2rem;
    align-items: stretch;
  }

  .home .entry-content .wp-block-columns > .wp-block-column {
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  /* Кнопки в карточках — выравнивание по низу */
  .home .entry-content .wp-block-column .wp-block-button,
  .home .entry-content .wp-block-column .wp-block-button__link,
  .home .entry-content .wp-block-column a.button {
    margin-top: auto;
    align-self: flex-start;
  }

  /* TYPOGRAPHY — mobile: no shrinking below readable size */
  @media (max-width: 768px) {
    .home .site-main > .inside-article,
    .home .site-main > article {
      padding-top: clamp(2.5rem, 6vw, 3.5rem);
      padding-bottom: clamp(2rem, 5vw, 3rem);
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }

    .home .entry-content {
      font-size: 1rem;
      line-height: 1.65;
    }

    .home .entry-content p {
      font-size: 1rem;
      line-height: 1.65;
    }

    .home .entry-content h1 {
      font-size: clamp(1.5rem, 6vw, 1.875rem);
    }

    .home .entry-content h2 {
      font-size: clamp(1.375rem, 5vw, 1.5rem);
    }

    .home .entry-content h3 {
      font-size: clamp(1.125rem, 4vw, 1.25rem);
    }

    .home .entry-content .wp-block-columns {
      flex-direction: column;
      gap: 1.5rem;
    }

    .home .entry-content > .wp-block-group:not(:first-child),
    .home .entry-content .wp-block-columns > .wp-block-column {
      padding: 1.5rem;
      margin-bottom: 1.5rem;
    }

    .home .entry-content .wp-block-button__link,
    .home .entry-content .wp-block-button .wp-block-button__link,
    .home .entry-content a.button {
      padding: 0.75em 1.5em;
      min-height: 44px;
      font-size: 1rem;
      width: 100%;
      text-align: center;
    }
  }

  /* Hero-секция (HTML-блок) — на главной стили выше; общие дополнения */
  .hero-section {
    text-align: left;
  }

  .home .hero-section h1 {
    margin-bottom: 0.5em;
  }

  .hero-subtitle {
    font-size: clamp(1.125rem, 2.5vw, 1.375rem);
    line-height: 1.7;
    color: #3d4f5c;
    margin-bottom: 2.5em;
  }

  .hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
  }

  @media (max-width: 768px) {
    .hero-buttons {
      flex-direction: column;
    }

    .hero-buttons .btn {
      width: 100%;
      text-align: center;
    }
  }

  /* ============================================
     Блок услуг — карточки
     ============================================ */

  .services-section {
    margin: clamp(3rem, 6vw, 5rem) 0;
  }

  .services-section > h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 600;
    color: #1a2b3a;
    margin-bottom: 2.5rem;
    text-align: center;
  }

  .services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
  }

  @media (min-width: 769px) {
    .services-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1024px) {
    .services-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* Универсальный класс карточки для Gutenberg (можно добавить блоку) */
  .lp-card {
    display: flex;
    flex-direction: column;
  }

  .lp-card .lp-card__title {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 600;
    color: #1a2b3a;
    margin-bottom: 0.75em;
    line-height: 1.3;
  }

  .lp-card .lp-card__text {
    font-size: clamp(1rem, 1.5vw, 1.0625rem);
    line-height: 1.65;
    color: #3d4f5c;
    flex: 1;
  }

  /* CARDS — service/lp cards: same shadow language, subtle hover */
  .service-card,
  .lp-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    border: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
  }

  .service-card:hover,
  .lp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
  }

  .service-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f5f7fa;
  }

  .service-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }

  .service-card:hover .service-card-image img {
    transform: scale(1.05);
  }

  .service-card-content {
    padding: clamp(1.5rem, 3vw, 2rem);
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .service-card-content h3 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 600;
    color: #1a2b3a;
    margin-bottom: 0.75em;
    line-height: 1.3;
  }

  .service-card-content p {
    font-size: 1rem;
    line-height: 1.65;
    color: #3d4f5c;
    margin-bottom: 1.5em;
    flex: 1;
  }

  .service-card-content .btn-card {
    margin-top: auto;
    align-self: flex-start;
  }

  @media (max-width: 768px) {
    .services-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }

    .service-card-content {
      padding: 1.5rem;
    }
  }

  /* ============================================
     Кнопки — универсальные стили
     ============================================ */

  .btn {
    display: inline-block;
    padding: 0.875em 2em;
    min-height: 48px;
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    text-align: center;
  }

  .btn-primary {
    background-color: #2d4a5e;
    color: #fff;
  }

  .btn-primary:hover {
    background-color: #3d5a6e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
  }

  .btn-secondary {
    background-color: transparent;
    color: #2d4a5e;
    border-color: #2d4a5e;
    box-shadow: 0 2px 4px rgba(45, 74, 94, 0.1);
  }

  .btn-secondary:hover {
    background-color: rgba(45, 74, 94, 0.08);
    color: #1a2b3a;
    border-color: #2d4a5e;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(45, 74, 94, 0.15);
  }

  .btn-card {
    background-color: #2d4a5e;
    color: #fff;
    font-size: 1rem;
    padding: 0.75em 1.5em;
    min-height: 44px;
  }

  .btn-card:hover {
    background-color: #3d5a6e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
  }

  /* ============================================
     2. CONTACTS — карточки способов связи
     body.page-slug-contact / page-slug-kontakty
     ============================================ */
  body.page-slug-contact .entry-content > .wp-block-group,
  body.page-slug-contact .entry-content > .wp-block-columns,
  body.page-slug-kontakty .entry-content > .wp-block-group,
  body.page-slug-kontakty .entry-content > .wp-block-columns,
  body[class*="contact"] .entry-content > .wp-block-group:not(:first-child),
  body[class*="contact"] .entry-content > .wp-block-columns {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
    padding: clamp(1.5rem, 3vw, 2.5rem);
    margin-bottom: 1.5rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }
  body.page-slug-contact .entry-content > .wp-block-group:hover,
  body.page-slug-contact .entry-content > .wp-block-columns:hover,
  body.page-slug-kontakty .entry-content > .wp-block-group:hover,
  body.page-slug-kontakty .entry-content > .wp-block-columns:hover,
  body[class*="contact"] .entry-content > .wp-block-group:hover,
  body[class*="contact"] .entry-content > .wp-block-columns:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
  }
  body.page-slug-contact .entry-content h2,
  body.page-slug-contact .entry-content h3,
  body.page-slug-kontakty .entry-content h2,
  body.page-slug-kontakty .entry-content h3 {
    color: #1a2b3a;
  }
  body.page-slug-contact .entry-content p,
  body.page-slug-kontakty .entry-content p {
    color: #3d4f5c;
  }
  body.page-slug-contact .entry-content .wp-block-button__link,
  body.page-slug-kontakty .entry-content .wp-block-button__link {
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }

  /* ============================================
     3. SERVICES — дашборд, сетка карточек
     body.page-slug-services / page-slug-uslugi
     ============================================ */
  body.page-slug-services .entry-content,
  body.page-slug-uslugi .entry-content,
  body[class*="uslugi"] .entry-content,
  body[class*="services"] .entry-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
  }
  body.page-slug-services .entry-content .lp-card,
  body.page-slug-services .entry-content .wp-block-columns > .wp-block-column,
  body.page-slug-services .entry-content > .wp-block-group,
  body.page-slug-services .entry-content > .wp-block-columns,
  body.page-slug-uslugi .entry-content .lp-card,
  body.page-slug-uslugi .entry-content .wp-block-columns > .wp-block-column,
  body.page-slug-uslugi .entry-content > .wp-block-group,
  body.page-slug-uslugi .entry-content > .wp-block-columns,
  body[class*="uslugi"] .entry-content .lp-card,
  body[class*="uslugi"] .entry-content > .wp-block-group,
  body[class*="uslugi"] .entry-content > .wp-block-columns,
  body[class*="services"] .entry-content .lp-card,
  body[class*="services"] .entry-content > .wp-block-group,
  body[class*="services"] .entry-content > .wp-block-columns {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
    padding: clamp(1.5rem, 3vw, 2rem);
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  body.page-slug-services .entry-content .lp-card:hover,
  body.page-slug-services .entry-content .wp-block-columns > .wp-block-column:hover,
  body.page-slug-uslugi .entry-content .lp-card:hover,
  body.page-slug-uslugi .entry-content .wp-block-columns > .wp-block-column:hover,
  body[class*="uslugi"] .entry-content .lp-card:hover,
  body[class*="services"] .entry-content .lp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
  }
  body.page-slug-services .entry-content .lp-card a:not(.wp-block-button__link):not(.button),
  body.page-slug-uslugi .entry-content .lp-card a:not(.wp-block-button__link):not(.button) {
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  body.page-slug-services .entry-content .lp-card a:not(.wp-block-button__link):not(.button):hover,
  body.page-slug-uslugi .entry-content .lp-card a:not(.wp-block-button__link):not(.button):hover {
    border-bottom-color: #2563eb;
  }
  body.page-slug-services .entry-content h2,
  body.page-slug-services .entry-content h3,
  body.page-slug-uslugi .entry-content h2,
  body.page-slug-uslugi .entry-content h3 {
    color: #1a2b3a;
  }
  body.page-slug-services .entry-content p,
  body.page-slug-uslugi .entry-content p {
    color: #3d4f5c;
  }

  /* === SERVICES PAGE — SPECTRA PRICE LIST DASHBOARD === */
  body[class*="uslug"] .wp-block-uagb-restaurant-menu,
  body[class*="services"] .wp-block-uagb-restaurant-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  @media (max-width: 768px) {
    body[class*="uslug"] .wp-block-uagb-restaurant-menu,
    body[class*="services"] .wp-block-uagb-restaurant-menu {
      grid-template-columns: 1fr;
    }
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rest_menu__wrap,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rest_menu__wrap {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
    padding: clamp(1.25rem, 2.5vw, 1.5rem);
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rest_menu__wrap:hover,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rest_menu__wrap:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__content,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__content {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    align-items: start;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__separator,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__separator {
    display: none;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__price:empty,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__price:empty {
    display: none;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__content > img,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__content > img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    grid-column: 1;
    grid-row: 1;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm-details,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm-details {
    display: block;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm-details .uagb-rm__title,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm-details .uagb-rm__title {
    margin: 0 0 0.35em;
    font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
    font-weight: 600;
    line-height: 1.3;
    color: #1a2b3a;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__desc,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__desc {
    margin: 0 0 0.5em;
    color: #3d4f5c;
    font-size: inherit;
    line-height: 1.5;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a:hover,
  body[class*="uslug"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a:focus,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a:hover,
  body[class*="services"] .wp-block-uagb-restaurant-menu .uagb-rm__desc a:focus {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    outline: none;
  }
  /* ============================================
     4. RESPONSIVE — контакты и услуги
     ============================================ */
  @media (max-width: 768px) {
    body.page-slug-contact .entry-content > .wp-block-group,
    body.page-slug-contact .entry-content > .wp-block-columns,
    body.page-slug-kontakty .entry-content > .wp-block-group,
    body.page-slug-kontakty .entry-content > .wp-block-columns {
      padding: 1.25rem;
    }
    body.page-slug-services .entry-content .lp-card,
    body.page-slug-services .entry-content > .wp-block-group,
    body.page-slug-services .entry-content > .wp-block-columns,
    body.page-slug-uslugi .entry-content .lp-card,
    body.page-slug-uslugi .entry-content > .wp-block-group,
    body.page-slug-uslugi .entry-content > .wp-block-columns {
      padding: 1.25rem;
    }
  }

  /* FOOTER — dark block; improved contrast and readability; clear end of page */
  .site-footer,
  .site-footer .footer-widgets-wrapper,
  .site-footer .inside-site-footer,
  body .site-footer {
    background: #15202b;
    background-color: #15202b;
    width: 100%;
    color: #e8eaed;
    margin-top: clamp(3rem, 6vw, 5rem);
    border-top: 4px solid #2d4a5e;
    font-size: clamp(0.9375rem, 1.2vw, 1rem);
    line-height: 1.6;
  }

  .site-footer .inside-site-footer {
    max-width: 100%;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
  }

  .footer-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: clamp(2rem, 4vw, 3rem);
    margin-bottom: 2rem;
  }

  .footer-widgets .widget {
    margin-bottom: 0;
  }

  .site-footer .widget-title,
  .footer-widgets .widget-title {
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 1.25em;
    letter-spacing: 0.02em;
  }

  .site-footer p,
  .site-footer .widget p,
  .site-footer .widget li {
    color: #e0e8ee;
  }

  .footer-widgets .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .footer-widgets .widget li {
    margin-bottom: 0.75em;
  }

  .site-footer a,
  .footer-widgets .widget a {
    color: #c8d4dc;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }

  .site-footer a:hover,
  .footer-widgets .widget a:hover {
    color: #ffffff;
  }

  /* FOOTER — contact items with icons */
  .footer-contact-item {
    display: flex;
    align-items: center;
    gap: 0.75em;
    margin-bottom: 1em;
    color: #d0dce4;
    font-size: 1em;
    line-height: 1.5;
  }

  .footer-contact-item::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .footer-contact-item.phone::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5d0da'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
  }

  .footer-contact-item.email::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5d0da'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
  }

  .footer-contact-item.telegram::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5d0da'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.13-.31-1.09-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z'/%3E%3C/svg%3E");
  }

  .footer-contact-item a {
    color: #c8d4dc;
    text-decoration: none;
    transition: color 0.2s ease;
  }

  .footer-contact-item a:hover {
    color: #ffffff;
  }

  /* FOOTER — copyright bar: clear separation, readable text */
  .site-footer .site-info,
  .site-info {
    text-align: center;
    padding-top: 2rem;
    padding-bottom: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    background: #0f1820;
    color: #b0bec8;
    font-size: clamp(0.875rem, 1.1vw, 0.9375rem);
    line-height: 1.5;
  }

  .site-info a {
    color: #c8d4dc;
    text-decoration: none;
    transition: color 0.2s ease;
  }

  .site-info a:hover {
    color: #ffffff;
  }

  /* FOOTER STRUCTURE & READABILITY FIX */
  #footer-widgets {
    background: #ffffff;
    color: #1a2b3a;
  }
  #footer-widgets .widget-title {
    color: #1a2b3a;
  }
  #footer-widgets p,
  #footer-widgets .widget li,
  #footer-widgets .footer-contact-item {
    color: #3d4f5c;
  }
  #footer-widgets a {
    color: #2d4a5e;
  }
  #footer-widgets a:hover {
    color: #3d5a6e;
  }
  .site-info {
    background: #0f1a24;
    color: #e6edf3;
  }
  .site-info a {
    color: #9cc7ff;
  }
  .site-info a:hover {
    color: #cfe2ff;
  }

  /* FOOTER LINKS VISIBILITY & UX */
  #footer-widgets {
    color: #1a2b3a;
  }
  #footer-widgets a {
    color: #2d4a5e;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
  }
  #footer-widgets a:hover,
  #footer-widgets a:focus {
    color: #1e3a52;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  #footer-widgets .menu a {
    display: inline-block;
    padding: 2px 0;
  }

  @media (max-width: 768px) {
    .footer-widgets {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
  }

  /*
  Theme Name: GeneratePress Child
  Theme URI: https://generatepress.com
  Template: generatepress
  Author: Tom Usborne
  Author URI: https://generatepress.com/about
  Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
  Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
  Version: 3.6.1.1770048417
  Updated: 2026-02-02 19:06:57
  
  */