 @font-face {
     font-family: 'Universal Antiqua';
     src: url('fonts/Universal Antiqua.woff2') format('woff2'),
         url('fonts/Universal Antiqua.woff') format('woff');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
     /* Improves loading performance */
 }

 @font-face {
     font-family: 'Roboto';
     src: url('fonts/Roboto-VariableFont_wdth,wght.woff2') format('woff2');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
     /* Improves loading performance */
 }

 @font-face {
     font-family: 'OpenSans';
     src: url('fonts/OpenSans.woff2') format('woff2');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
     /* Improves loading performance */
 }

 @font-face {
     font-family: 'Montserrat';
     src: url('fonts/Montserrat-VariableFont_wght.woff2') format('woff2');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
     /* Improves loading performance */
 }

 @font-face {
     font-family: 'Lobster';
     src: url('fonts/Lobster-Regular.woff2') format('woff2');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
     /* Improves loading performance */
 }

 /* ========================
        1. CSS Variables & Base
       ======================== */
 :root {
     --primary-black: #1a1a1a;
     --accent-gold: #FFD700;
     --text-light: #ffffff;
     --primary-green: #81b367;
     --primary-green-dark: #6a9954;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Montserrat', Arial, sans-serif;
 }

 html,
 body {
     height: 100%;
     margin: 0;
     /* padding-bottom: 120px; */
 }

 ul:not(.about-list),
 ol:not(.about-list) {
     list-style: none;
     padding-left: 0;
 }

 /* =========================
        2. Layout Structure
       ========================= */
 body {
     display: flex;
     flex-direction: column;
 }

 main {
     flex: 1 0 auto;
     padding-bottom: 60px;
 }

/* ===========================
   Улучшенные стили для модального окна новостей
   =========================== */

.news-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease, opacity 0.3s ease;
}

.news-modal:not(.hidden) {
  visibility: visible;
  opacity: 1;
}

.news-modal.hidden {
  display: none;
}

/* Затемнение (оверлей) */
.news-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(3px);
  cursor: pointer;
  transition: background 0.3s ease;
}

/* Контейнер контента */
.news-modal-content {
  position: relative;
  width: 90%;
  max-width: 720px;
  max-height: 85vh;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.3);
  overflow-y: auto;
  padding: 28px 32px;
  z-index: 2;
  transform: scale(0.95);
  transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}

.news-modal:not(.hidden) .news-modal-content {
  transform: scale(1);
}

/* Стилизация скроллбара (WebKit) */
.news-modal-content::-webkit-scrollbar {
  width: 6px;
}

.news-modal-content::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 8px;
}

.news-modal-content::-webkit-scrollbar-thumb {
  background: var(--primary-green, #81b367);
  border-radius: 8px;
}

/* Кнопка закрытия */
.news-modal-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: #999;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  z-index: 3;
}

.news-modal-close:hover {
  color: var(--primary-black, #1a1a1a);
  background: rgba(0, 0, 0, 0.05);
  transform: rotate(90deg);
}

/* Заголовок внутри модалки (если нужно добавить через JS) */
.news-modal-title {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary-black, #1a1a1a);
  margin: 0 0 0.8rem 0;
  line-height: 1.3;
  padding-right: 32px;
}

/* Дата или мета-информация */
.news-modal-meta {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1rem;
  border-left: 3px solid var(--primary-green, #81b367);
  padding-left: 12px;
  font-weight: 500;
}

/* Изображения внутри контента */
.news-modal-content img {
  width: 100%;
  height: auto;
  margin: 20px 0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  display: block;
}

/* Текстовое содержимое */
.news-modal-content p {
  font-family: 'OpenSans', 'Montserrat', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: #333;
  margin-bottom: 1.25rem;
}

.news-modal-content p:last-child {
  margin-bottom: 0;
}

/* Ссылки внутри модалки */
.news-modal-content a {
  color: var(--primary-green, #81b367);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s;
}

.news-modal-content a:hover {
  color: var(--primary-green-dark, #6a9954);
  text-decoration-thickness: 2px;
}

/* Кнопка действия (например, «Читать полностью» — если нужна) */
.news-modal-button {
  display: inline-block;
  background: var(--primary-green, #81b367);
  color: #fff;
  border: none;
  padding: 0.8rem 1.8rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 40px;
  transition: all 0.25s ease;
  margin-top: 1rem;
  cursor: pointer;
  text-align: center;
}

.news-modal-button:hover {
  background: var(--primary-green-dark, #6a9954);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* ===========================
   Адаптивность
   =========================== */

/* Планшеты (768px и меньше) */
@media (max-width: 768px) {
  .news-modal-content {
    width: 92%;
    padding: 20px 24px;
    max-height: 80vh;
  }

  .news-modal-title {
    font-size: 1.5rem;
  }

  .news-modal-close {
    top: 16px;
    right: 20px;
    width: 28px;
    height: 28px;
    font-size: 24px;
  }

  .news-modal-content p {
    font-size: 0.95rem;
    line-height: 1.6;
  }
}

/* Мобильные устройства (576px и меньше) */
@media (max-width: 576px) {
  .news-modal-content {
    width: 95%;
    padding: 18px 16px;
    border-radius: 12px;
  }

  .news-modal-title {
    font-size: 1.35rem;
    padding-right: 28px;
  }

  .news-modal-meta {
    font-size: 0.8rem;
    margin-bottom: 0.8rem;
  }

  .news-modal-content img {
    margin: 16px 0;
    border-radius: 8px;
  }

  .news-modal-content p {
    font-size: 0.9rem;
    line-height: 1.55;
    margin-bottom: 1rem;
  }

  .news-modal-close {
    top: 12px;
    right: 16px;
    font-size: 22px;
  }
}

/* Очень маленькие экраны (375px и меньше) */
@media (max-width: 375px) {
  .news-modal-content {
    padding: 14px 12px;
  }

  .news-modal-title {
    font-size: 1.25rem;
  }
}

/* Альбомная ориентация на мобильных */
@media (max-width: 768px) and (orientation: landscape) {
  .news-modal-content {
    max-height: 90vh;
  }
}

/* ===========================
   Анимация для плавного открытия/закрытия (опционально)
   =========================== */
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.news-modal:not(.hidden) .news-modal-content {
  animation: modalFadeIn 0.25s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;
}

 /* =========================
        3. Header & Navigation
       ========================= */
 .header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 40px;
     height: 110px;
     background: #ffffff;
     position: relative;
     width: 100%;
     top: 0;
     z-index: 1000;
 }

 .header-content {
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
 }

 .header-left {
     display: flex;
     align-items: center;
     gap: 0.8rem;
 }

 .logo-img {
     height: 70px;
     width: auto;
     margin: 1.5rem 1.5rem 1.5rem 0rem;
     vertical-align: middle;
 }

 @media (max-width: 768px) {
     .header {
         height: 100px;
         /* or whatever matches your design */
     }
 }

 /* ===========================
        4. Navigation Menu Styles
       =========================== */
 .nav-menu {
     top: 100px;
     display: flex;
     gap: 40px;
     list-style: none;
 }

 .main-menu {
     display: flex;
     gap: 0.5rem;
     list-style: none;
     flex-direction: row;
 }

 .main-menu>li {
     display: inline-flex;
     align-items: center;
     height: 50px;
     position: relative;
 }

 .main-menu a {
     color: #808080;
     /* Серый цвет по умолчанию */
     text-decoration: none;
     font-size: 0.9rem;
     /* Увеличили размер шрифта (было 0.9rem) */
     font-weight: 600;
     /* Сделали жирнее */
     text-transform: uppercase;
     /* Первая буква заглавная */
     padding: 0 1rem;
     display: flex;
     align-items: center;
     height: 100%;
     white-space: nowrap;
     position: relative;
     transition: color 0.3s ease;
     letter-spacing: 0.5px;
     /* Небольшое увеличение межбуквенного интервала для лучшей читаемости */
 }

 /* Эффект при наведении - черный текст */
 .main-menu a:hover {
     color: #000000;
     /* Черный цвет при наведении */
 }

 /* Линия при наведении (появляется справа налево) */
 .main-menu a::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 0;
     height: 2px;
     background-color: var(--primary-black);
     transition: width 0.3s ease;
 }

 .main-menu a:hover::after {
     width: 100%;
 }

 /* Для активного состояния (если нужно сохранить золотой цвет) */
 .nav-label a {
     font-weight: bold;
     color: var(--accent-gold) !important;
 }

 .nav-label a::after {
     background-color: var(--accent-gold) !important;
     width: 100%;
 }

 /* Dropdown styles */
 .dropdown {
     position: relative;
 }

 .submenu {
     display: none;
     position: absolute;
     top: 100% !important;
     left: 0;
     background: #ffffff;
     min-width: 240px;
     padding: 1rem;
     z-index: 1000;
     margin-top: 0 !important;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
 }

 .submenu li {
     margin: 0.5rem 0;
 }

 .submenu a {
     color: #808080;
     text-decoration: none;
     font-size: 0.7rem;
     /* Чуть меньше, чем основное меню */
     font-weight: 500;
     /* Менее жирный, чем основное меню */
     text-transform: uppercase;
     white-space: nowrap;
     padding: 0.5rem 1rem;
     transition: color 0.3s ease;
 }

 .submenu a:hover {
     color: var(--primary-black);
     /* Черный цвет при наведении в подменю */
 }

 /* Убираем линию у пунктов подменю, если не нужно */
 .submenu a::after {
     display: none;
 }

 .dropdown:hover .submenu {
     display: block;
 }

 /* Hamburger container */
 .hamburger {
     position: relative;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     z-index: 1001;
     background: none;
     border: none;
     padding: 0;
 }

 /* Both icons share the same position */
 .hamburger-icon {
     position: absolute;
     font-size: 1.8rem;
     line-height: 1;
     transition: opacity 0.3s ease, transform 0.3s ease;
 }

 /* By default, menu icon is visible, close icon hidden */
 .hamburger .menu-icon {
     opacity: 1;
     transform: rotate(0);
 }

 .hamburger .close-icon {
     opacity: 0;
     transform: rotate(-90deg);
 }

 /* When hamburger is active (menu open) */
 .hamburger.active .menu-icon {
     opacity: 0;
     transform: rotate(90deg);
 }

 .hamburger.active .close-icon {
     opacity: 1;
     transform: rotate(0);
 }

 /* .menu-icon,
    .close-icon {
        display: block;
        line-height: 1;
        transition: opacity 0.3s ease;
    }

    .close-icon {
        display: none;
    } */

 /* Адаптивность для гамбургера */
 @media (max-width: 768px) {
     .hamburger {
         display: flex;
     }

     .nav-menu {
         display: flex;
         /* Keep it in layout for animation */
         position: fixed;
         top: 100px;
         /* Match your header height on mobile */
         left: 0;
         right: 0;
         background: #1a1a1a;
         padding: 1.5rem;
         flex-direction: column;
         gap: 0;
         height: auto;
         max-height: calc(100vh - 100px);
         overflow-y: auto;
         z-index: 1000;

         /* Hidden state */
         opacity: 0;
         visibility: hidden;
         transform: translateY(-10px);
         transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
         pointer-events: none;
         /* Prevent clicks when hidden */
     }

     .nav-menu.active {
         opacity: 1;
         visibility: visible;
         transform: translateY(0);
         pointer-events: auto;
     }

     /* Эффект при наведении - черный текст */
     .main-menu a:hover {
         color: #ffffff;
         /* Черный цвет при наведении */
     }

     /* Блокировка скролла при открытом меню */
     body.menu-open {
         overflow: hidden;
     }
 }

 /* ===========================
        5. Google Translate
       =========================== */

 /* Container */
 #google_translate_element {
     position: fixed;
     top: 20px;
     right: 20px;
     z-index: 1000;
     font-family: 'Universal Antiqua', Arial, sans-serif;
 }

 /* Button */
 .goog-te-gadget-simple {
     background-color: #f0f0f0 !important;
     border: 1px solid #ccc !important;
     border-radius: 20px !important;
     padding: 5px 15px !important;
     font-size: 14px !important;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
     display: inline-flex !important;
     align-items: center !important;
     line-height: normal !important;
 }

 .goog-te-gadget-simple:hover {
     background-color: #e0e0e0 !important;
     border-color: #aaa !important;
 }

 /* Button text */
 .goog-te-menu-value {
     color: #333 !important;
     text-decoration: none !important;
 }

 /* Hide Google icon */
 .goog-te-gadget-icon {
     display: none !important;
 }

 /* Hide only the top banner */
 .goog-te-banner-frame.skiptranslate,
 .VIpgJd-ZVi9od-ORHb-OEVmcd.skiptranslate {
     display: none !important;
 }

 /* Remove banner space */
 body {
     top: 0px !important;
 }

 /* Optional: style the dropdown container */
 .goog-te-menu-frame {
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
     border-radius: 8px !important;
 }


 /* ===========================
        5. Hero Section
       =========================== */
 .hero-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.4);
 }

 /* ===========================
    5. Hero Section 
   =========================== */
 .hero-section {
     position: relative;
     height: 735px;
     min-height: 735px;
     background: url('files/opener.webp') no-repeat center/cover;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
 }

 .hero-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(rgba(0, 0, 0, 0.7),
             rgba(0, 0, 0, 0.5));
     z-index: 1;
 }

 .hero-container {
     max-width: 1200px;
     width: 100%;
     margin: 0 auto;
     padding: 0 2rem;
     position: relative;
     z-index: 2;
 }

 .hero-block {
     max-width: 800px;
     width: 100%;
     padding: 3rem;
     background: rgba(0, 0, 0, 0.6);
     border-radius: 8px;
     backdrop-filter: blur(4px);
 }

 .hero-title {
     color: #ffffff;
     font-size: 3.2rem;
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 1.5rem;
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
 }

 .hero-text-block {
     position: relative;
     padding-left: 2rem;
     margin-bottom: 2.5rem;
 }

 .hero-text-block::before {
     content: '';
     position: absolute;
     left: 0;
     top: 0;
     height: 100%;
     width: 3px;
     background: #ffffff;
     border-radius: 1.5px;
 }

 .hero-text {
     color: #ffffff;
     font-size: 1.3rem;
     line-height: 1.6;
     font-weight: 300;
     opacity: 0.95;
 }

 .hero-button-block {
     margin-top: 2rem;
 }

 .hero-button {
     display: inline-block;
     background: #ffffff;
     color: #000000;
     border: none;
     padding: 1.1rem 2.3rem;
     font-size: 1.1rem;
     font-weight: 600;
     text-decoration: none;
     border-radius: 4px;
     transition: all 0.3s ease;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
 }

 .hero-button:hover {
     background: #f0f0f0;
     transform: translateY(-2px);
     box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
 }

 .hero-button:active {
     transform: translateY(0);
 }

 /* Адаптивность */
 @media (max-width: 992px) {
     .hero-section {
         height: 650px;
         min-height: 650px;
     }

     .hero-block {
         padding: 2.5rem;
     }

     .hero-title {
         font-size: 2.7rem;
     }

     .hero-text {
         font-size: 1.2rem;
     }
 }

 @media (max-width: 768px) {
     .hero-section {
         height: 580px;
         min-height: 580px;
     }

     .hero-block {
         text-align: center;
         padding: 2rem;
         margin: 0 1rem;
         backdrop-filter: blur(2px);
     }

     .hero-title {
         font-size: 2.2rem;
         line-height: 1.3;
     }

     .hero-text {
         font-size: 1.1rem;
         line-height: 1.5;
     }

     .hero-text-block {
         padding-left: 0;
         text-align: left;
     }

     .hero-text-block::before {
         display: none;
     }

     .hero-button {
         width: 100%;
         max-width: 300px;
     }
 }

 @media (max-width: 480px) {
     .hero-section {
         height: 520px;
         min-height: 520px;
     }

     .hero-block {
         padding: 1.5rem;
     }

     .hero-title {
         font-size: 1.9rem;
     }

     .hero-text {
         font-size: 1rem;
     }

     .hero-button {
         padding: 1rem 1.5rem;
         font-size: 1rem;
     }

     .hero-container {
         padding: 0 1rem;
     }
 }

 /* Дополнительный вариант затемнения */
 .hero-overlay.alternative {
     background: linear-gradient(135deg,
             rgba(0, 0, 0, 0.8) 0%,
             rgba(0, 0, 0, 0.6) 50%,
             rgba(0, 0, 0, 0.4) 100%);
 }

 /* Если нужно сделать затемнение сильнее */
 .hero-overlay.dark {
     background: rgba(0, 0, 0, 0.75);
 }

 /* Градиентное затемнение сверху вниз */
 .hero-overlay.gradient {
     background: linear-gradient(to bottom,
             rgba(0, 0, 0, 0.8) 0%,
             rgba(0, 0, 0, 0.5) 50%,
             rgba(0, 0, 0, 0.3) 100%);
 }

 /* ===========================
    6. Welcome Section
   =========================== */
 .welcome-section {
     padding: 5rem 0;
     background: #f8f9fa;
 }

 .welcome-container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
 }

 .welcome-content {
     max-width: 900px;
     margin: 0 auto;
 }

 .welcome-header {
     margin-bottom: 3rem;
     text-align: center;
 }

 .welcome-title {
     color: #1a1a1a;
     font-size: 2.8rem;
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 1rem;
 }

 .welcome-text {
     margin-bottom: 3rem;
 }

 .welcome-intro {
     margin-bottom: 2.5rem;
     padding-bottom: 2rem;
     border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 }

 .welcome-quote {
     color: #333333;
     font-size: 1.4rem;
     line-height: 1.6;
     font-weight: 400;
     font-style: italic;
     text-align: center;
     margin: 0;
 }

 .welcome-main {
     line-height: 1.8;
 }

 .welcome-description {
     color: #333333;
     font-size: 1.2rem;
     line-height: 1.8;
     margin-bottom: 1.5rem;
 }

 .welcome-call {
     color: #1a1a1a;
     font-size: 1.3rem;
     line-height: 1.6;
     font-weight: 600;
     font-style: italic;
     margin-top: 2rem;
     padding-top: 1.5rem;
     border-top: 2px solid #1a1a1a;
 }

 .welcome-action {
     text-align: center;
     margin-top: 3rem;
 }

 .welcome-button {
     display: inline-block;
     background: #1a1a1a;
     color: #ffffff;
     border: 2px solid #1a1a1a;
     padding: 1rem 2.5rem;
     font-size: 1.1rem;
     font-weight: 600;
     text-decoration: none;
     border-radius: 4px;
     transition: all 0.3s ease;
 }

 .welcome-button:hover {
     background: #ffffff;
     color: #1a1a1a;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
 }

 /* Адаптивность */
 @media (max-width: 768px) {
     .welcome-section {
         padding: 3rem 0;
     }

     .welcome-title {
         font-size: 2.2rem;
     }

     .welcome-quote {
         font-size: 1.2rem;
         line-height: 1.5;
     }

     .welcome-description {
         font-size: 1.1rem;
         line-height: 1.6;
     }

     .welcome-call {
         font-size: 1.2rem;
     }
 }

 @media (max-width: 480px) {
     .welcome-section {
         padding: 2rem 0;
     }

     .welcome-title {
         font-size: 1.8rem;
     }

     .welcome-quote {
         font-size: 1.1rem;
     }

     .welcome-description {
         font-size: 1rem;
     }

     .welcome-call {
         font-size: 1.1rem;
     }

     .welcome-button {
         width: 100%;
         max-width: 300px;
         padding: 0.9rem 1.5rem;
         font-size: 1rem;
     }
 }

 /* ===========================
        6. Section Styling
       =========================== */
 .section {
     margin: 2rem 0;
     padding: 2rem;
     background: #f5f5f5;
     border-radius: 0;
 }

 .section-title {
     color: var(--accent-gold);
     padding-left: 3rem;
     margin-bottom: 2.5rem;
     font-size: 2.5rem;
 }

 /* ===========================
    7. Features Section
   =========================== */
 .features-section {
     padding: 5rem 0;
     background: var(--primary-green);
     color: #ffffff;
 }

 .features-content {
     max-width: 1100px;
     margin: 0 auto;
 }

 .features-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 2rem;
 }

 .feature-item {
     padding: 2.5rem 2rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 8px;
     border: 1px solid rgba(255, 255, 255, 0.2);
     transition: all 0.3s ease;
     text-align: center;
 }

 .feature-item:hover {
     background: rgba(255, 255, 255, 0.15);
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
 }

 .feature-link {
     display: block;
     text-decoration: none;
     color: inherit;
 }

 .feature-content {
     display: block;
 }

 .feature-icon {
     width: 70px;
     height: 70px;
     margin: 0 auto 1.5rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 2px solid rgba(255, 255, 255, 0.2);
     transition: all 0.3s ease;
 }

 .feature-item:hover .feature-icon {
     background: rgba(255, 255, 255, 0.2);
     transform: scale(1.1) rotate(5deg);
     border-color: rgba(255, 255, 255, 0.3);
 }

 .feature-icon svg {
     stroke: #ffffff;
 }

 .feature-text {
     text-align: center;
 }

 .feature-title {
     color: #ffffff;
     font-size: 1.5rem;
     font-weight: 600;
     margin-bottom: 0.8rem;
     line-height: 1.3;
 }

 .feature-desc {
     color: rgba(255, 255, 255, 0.9);
     font-size: 1.1rem;
     line-height: 1.5;
     margin: 0;
 }

 /* Адаптивность */
 @media (max-width: 992px) {
     .features-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 1.5rem;
     }

     .features-section {
         padding: 4rem 0;
     }

     .feature-item {
         padding: 2rem 1.5rem;
     }
 }

 @media (max-width: 768px) {
     .features-grid {
         grid-template-columns: 1fr;
         max-width: 500px;
         margin: 0 auto;
     }

     .features-section {
         padding: 3rem 0;
     }

     .feature-item {
         padding: 2rem;
     }

     .feature-icon {
         width: 65px;
         height: 65px;
         margin-bottom: 1.2rem;
     }

     .feature-title {
         font-size: 1.3rem;
     }

     .feature-desc {
         font-size: 1rem;
     }
 }

 @media (max-width: 480px) {
     .features-section {
         padding: 2.5rem 0;
     }

     .feature-item {
         padding: 1.5rem 1rem;
     }

     .feature-icon {
         width: 60px;
         height: 60px;
         margin-bottom: 1rem;
     }

     .feature-title {
         font-size: 1.2rem;
     }
 }

 /* Вариант с более темными элементами */
 .features-section.dark-items .feature-item {
     background: rgba(0, 0, 0, 0.2);
     border: 1px solid rgba(0, 0, 0, 0.1);
 }

 .features-section.dark-items .feature-item:hover {
     background: rgba(0, 0, 0, 0.25);
 }

 .features-section.dark-items .feature-icon {
     background: rgba(0, 0, 0, 0.2);
     border: 2px solid rgba(0, 0, 0, 0.1);
 }

 .features-section.dark-items .feature-item:hover .feature-icon {
     background: rgba(0, 0, 0, 0.3);
     border-color: rgba(0, 0, 0, 0.2);
 }

 /* ===========================
    8. Events Section
   =========================== */
 .events-section {
     height: 500px;
     min-height: 500px;
     position: relative;
 }

 .events-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     height: 100%;
     width: 100%;
 }

 /* Левая часть: Изображение */
 .events-image {
     height: 100%;
     width: 100%;
     position: relative;
     overflow: hidden;
 }

 .image-wrapper {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: url('../files/aaron-burden-330165-unsplash.jpg') no-repeat center/cover;
 }

 /* Правая часть: Контент (Белая) */
 .events-content {
     height: 100%;
     background: #ffffff;
     color: #333333;
     padding: 3rem;
     display: flex;
     align-items: center;
 }

 .events-inner {
     max-width: 500px;
     width: 100%;
 }

 .events-header {
     margin-bottom: 3rem;
 }

 .events-title {
     color: #1a1a1a;
     font-size: 2.5rem;
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 0.5rem;
 }

 .events-subtitle {
     color: #666666;
     font-size: 1.2rem;
     font-weight: 400;
 }

 /* Список событий */
 .events-list {
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 .event-item {
     display: flex;
     align-items: center;
     gap: 1.5rem;
     text-decoration: none;
     color: inherit;
     padding: 1rem;
     background: #f8f9fa;
     border-radius: 6px;
     border: 1px solid #e9ecef;
     transition: all 0.3s ease;
 }

 .event-item:hover {
     background: #ffffff;
     transform: translateX(5px);
     border-color: var(--primary-green);
     box-shadow: 0 4px 12px rgba(129, 179, 103, 0.15);
 }

 /* Дата события (Зеленая) */
 .event-date {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     min-width: 70px;
     background: var(--primary-green);
     border-radius: 4px;
     padding: 0.8rem;
     color: #ffffff;
 }

 .event-month {
     font-size: 0.9rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .event-day {
     font-size: 1.8rem;
     font-weight: 700;
     line-height: 1;
     margin-top: 0.2rem;
 }

 .event-info {
     flex: 1;
 }

 .event-title {
     color: #1a1a1a;
     font-size: 1.3rem;
     font-weight: 600;
     margin: 0;
     line-height: 1.3;
 }

 /* Адаптивность */
 @media (max-width: 992px) {
     .events-section {
         height: auto;
         min-height: auto;
     }

     .events-container {
         grid-template-columns: 1fr;
     }

     .events-image {
         height: 300px;
     }

     .events-content {
         padding: 3rem 2rem;
     }

     .events-title {
         font-size: 2.2rem;
     }
 }

 @media (max-width: 768px) {
     .events-image {
         height: 250px;
     }

     .events-content {
         padding: 2.5rem 1.5rem;
     }

     .events-title {
         font-size: 1.8rem;
     }

     .events-subtitle {
         font-size: 1.1rem;
     }

     .event-item {
         padding: 0.8rem;
         gap: 1rem;
     }

     .event-date {
         min-width: 60px;
         padding: 0.6rem;
     }

     .event-day {
         font-size: 1.5rem;
     }

     .event-title {
         font-size: 1.2rem;
     }
 }

 @media (max-width: 480px) {
     .events-image {
         height: 200px;
     }

     .events-content {
         padding: 2rem 1rem;
     }

     .events-title {
         font-size: 1.6rem;
     }

     .events-subtitle {
         font-size: 1rem;
     }

     .event-date {
         min-width: 55px;
         padding: 0.5rem;
     }

     .event-month {
         font-size: 0.8rem;
     }

     .event-day {
         font-size: 1.3rem;
     }
 }

 /* ===========================
        7. Doctrine Section & Cards
       =========================== */
 .doctrine-section {
     padding: 2.5rem 0;
     background: var(--primary-black);
 }

 .doctrine-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 2rem;
     padding: 0 2rem;
 }

 .doctrine-item {
     position: relative;
     height: 280px;
     overflow: hidden;
     border-radius: 8px;
     transition: transform 0.3s ease;
 }

 .doctrine-item:hover {
     transform: translateY(-5px);
 }

 .doctrine-link {
     display: block;
     height: 100%;
     position: relative;
 }

 .doctrine-image {
     position: absolute;
     width: 100%;
     height: 100%;
     object-fit: cover;
     filter: brightness(0.7);
     transition: all 0.4s ease;
 }

 .doctrine-item:hover .doctrine-image {
     filter: brightness(0.4);
     transform: scale(0.95);
 }

 .doctrine-title {
     position: absolute;
     bottom: 2rem;
     left: 1.5rem;
     color: var(--text-light);
     font-size: 1.5rem;
     font-weight: 600;
     z-index: 2;
     max-width: 80%;
     line-height: 1.3;
     padding: 1rem;
     background: rgba(0, 0, 0, 0.7);
     border-left: 4px solid var(--accent-gold);
     transform: translateY(120%);
     transition: transform 0.3s ease;
 }

 .doctrine-item:hover .doctrine-title {
     transform: translateY(0);
 }


 /* ===========================
    10. Footer Styles
   =========================== */
 .footer {
     background: var(--primary-green);
     /* Зеленый фон */
     color: #ffffff;
     margin-top: auto;
 }

 /* Верхняя часть футера */
 .footer-top {
     padding: 3rem 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.2);
 }

 .footer-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 3rem;
 }

 .footer-column {
     padding: 0 1rem;
 }

 .footer-block {
     margin-bottom: 1.5rem;
 }

 .footer-heading {
     color: #ffffff;
     font-size: 1.2rem;
     font-weight: 600;
     margin-bottom: 1.2rem;
     text-transform: uppercase;
 }

 .footer-text {
     color: rgba(255, 255, 255, 0.9);
     line-height: 1.6;
     margin-bottom: 1rem;
     font-size: 1rem;
 }

 .footer-list {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .footer-list-item {
     color: rgba(255, 255, 255, 0.9);
     line-height: 1.6;
     margin-bottom: 0.8rem;
     font-size: 1rem;
 }

 .footer-label {
     color: rgba(255, 255, 255, 0.8);
     font-weight: 500;
     margin-right: 0.5rem;
 }

 .footer-link {
     color: #ffffff;
     text-decoration: none;
     transition: all 0.3s ease;
     font-size: 1rem;
     font-weight: 500;
     border-bottom: 1px solid rgba(255, 255, 255, 0.3);
 }

 .footer-link:hover {
     color: #f0f0f0;
     border-bottom-color: #ffffff;
 }

 /* Блок с картинкой */
 .footer-image-section {
     padding: 2.5rem 0;
     background: rgba(255, 255, 255, 0.1);
 }

 .footer-image-wrapper {
     text-align: center;
 }

 .footer-image {
     max-width: 500px;
     /* Увеличил с 300px до 500px */
     width: 100%;
     height: auto;
     border-radius: 10px;
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
     border: 3px solid rgba(255, 255, 255, 0.3);
     transition: all 0.3s ease;
 }

 .footer-image:hover {
     transform: scale(1.02);
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
     border-color: rgba(255, 255, 255, 0.5);
 }

 /* Средняя часть футера (соцсети) */
 .footer-middle {
     padding: 2.5rem 0;
     border-top: 1px solid rgba(255, 255, 255, 0.2);
     border-bottom: 1px solid rgba(255, 255, 255, 0.2);
     background: rgba(255, 255, 255, 0.05);
 }

 .footer-social {
     text-align: center;
 }

 .footer-social .footer-heading {
     margin-bottom: 1.5rem;
 }

 .social-links {
     display: flex;
     justify-content: center;
     gap: 2rem;
     flex-wrap: wrap;
 }

 .social-link {
     display: flex;
     flex-direction: column;
     align-items: center;
     text-decoration: none;
     color: rgba(255, 255, 255, 0.9);
     transition: all 0.3s ease;
     padding: 1rem 1.5rem;
     border-radius: 8px;
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
 }

 .social-link:hover {
     color: #ffffff;
     background: rgba(255, 255, 255, 0.2);
     transform: translateY(-3px);
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
 }

 .social-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     background: #ffffff;
     color: var(--primary-green);
     border-radius: 50%;
     font-weight: 600;
     margin-bottom: 0.5rem;
     font-size: 0.9rem;
 }

 .social-text {
     font-size: 0.9rem;
     font-weight: 500;
 }

 /* Нижняя часть футера */
 .footer-bottom {
     padding: 2.5rem 0;
     background: rgba(0, 0, 0, 0.1);
 }

 .footer-info {
     max-width: 1000px;
     margin: 0 auto;
 }

 .footer-notice {
     text-align: center;
 }

 .footer-notice-text {
     color: rgba(255, 255, 255, 0.9);
     line-height: 1.6;
     margin-bottom: 1.5rem;
     font-size: 0.95rem;
 }

 .footer-notice-details {
     color: rgba(255, 255, 255, 0.9);
     line-height: 1.6;
     margin-bottom: 1.5rem;
     font-size: 0.9rem;
     padding: 1.5rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 6px;
     border-left: 3px solid #ffffff;
 }

 .footer-notice-details strong {
     color: #ffffff;
     font-weight: 600;
 }

 .footer-notice a.footer-link {
     display: inline-block;
     margin-top: 1rem;
     padding: 0.5rem 1rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 4px;
     border: 1px solid rgba(255, 255, 255, 0.3);
 }

 .footer-notice a.footer-link:hover {
     background: rgba(255, 255, 255, 0.2);
     border-color: rgba(255, 255, 255, 0.5);
 }

 /* Адаптивность */
 @media (max-width: 1200px) {
     .footer-image {
         max-width: 450px;
     }
 }

 @media (max-width: 992px) {
     .footer-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 2rem;
     }

     .footer-top,
     .footer-middle,
     .footer-bottom {
         padding: 2rem 0;
     }

     .footer-image {
         max-width: 400px;
         /* Увеличил для планшетов */
     }

     .footer-image-section {
         padding: 2rem 0;
     }
 }

 @media (max-width: 768px) {
     .footer-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .footer-column {
         padding: 0;
         text-align: center;
     }

     .social-links {
         gap: 1.5rem;
     }

     .footer-notice-text,
     .footer-notice-details {
         text-align: left;
     }

     .footer-image {
         max-width: 350px;
         /* Увеличил для мобильных */
     }
 }

 @media (max-width: 480px) {
     .social-links {
         flex-direction: column;
         gap: 1rem;
         align-items: center;
     }

     .social-link {
         flex-direction: row;
         gap: 0.8rem;
         padding: 0.8rem 1.2rem;
         width: 200px;
         justify-content: flex-start;
     }

     .social-icon {
         margin-bottom: 0;
         width: 35px;
         height: 35px;
         font-size: 0.8rem;
     }

     .footer-notice-text,
     .footer-notice-details {
         font-size: 0.85rem;
     }

     .footer-top,
     .footer-middle,
     .footer-bottom {
         padding: 1.5rem 0;
     }

     .footer-image {
         max-width: 300px;
         /* Увеличил для маленьких экранов */
     }

     .footer-image-section {
         padding: 1.5rem 0;
     }
 }

 @media (max-width: 360px) {
     .footer-image {
         max-width: 280px;
     }
 }

 /* Вариант на всю ширину контейнера */
 .footer-image-section.full-width .footer-image {
     max-width: 800px;
     width: 90%;
 }

 /* Вариант без ограничений по ширине */
 .footer-image-section.no-limit .footer-image {
     max-width: none;
     width: auto;
     max-height: 300px;
 }

 /* Если нужно сделать картинку как фон */
 .footer-image-section.as-background {
     position: relative;
     height: 250px;
     overflow: hidden;
 }

 .footer-image-section.as-background .footer-image {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 0;
     border: none;
     box-shadow: none;
     transform: none;
 }

 .footer-image-section.as-background .footer-image-wrapper::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(to bottom, rgba(129, 179, 103, 0.8), rgba(129, 179, 103, 0.95));
     z-index: 1;
 }

 .footer-image-section.as-background .footer-image {
     z-index: 0;
 }

 /* ===========================
    9. News Section
   =========================== */
 .news-section {
     padding: 5rem 0;
     background: #f8f9fa;
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
 }

 .section-title {
     color: #1a1a1a;
     font-size: 2.5rem;
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 3.5rem;
     text-align: center;
 }

 .news-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 2rem;
     margin-bottom: 3rem;
 }

 .news-card {
     background: #ffffff;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
 }

 .news-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
 }

 .news-image {
     width: 100%;
     height: 200px;
     background: var(--primary-green);
     position: relative;
     overflow: hidden;
 }

 .news-image::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(rgba(129, 179, 103, 0.9), rgba(129, 179, 103, 0.7));
 }

 .news-content {
     padding: 2rem;
 }

 .news-date {
     display: flex;
     align-items: center;
     gap: 0.8rem;
     margin-bottom: 1.2rem;
 }

 .news-date span:first-child {
     color: var(--primary-green);
     font-size: 0.9rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .news-date span:last-child {
     color: var(--primary-green);
     font-size: 1.5rem;
     font-weight: 700;
     line-height: 1;
 }

 .news-title {
     color: #1a1a1a;
     font-size: 1.4rem;
     font-weight: 600;
     line-height: 1.3;
     margin-bottom: 0.8rem;
 }

 .news-excerpt {
     color: #666666;
     font-size: 1rem;
     line-height: 1.6;
     margin: 0 0 1.5rem 0;
 }

 /* Адаптивность */
 @media (max-width: 992px) {
     .news-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 1.5rem;
     }

     .news-section {
         padding: 4rem 0;
     }

     .section-title {
         font-size: 2.2rem;
         margin-bottom: 3rem;
     }

     .news-content {
         padding: 1.5rem;
     }

     .news-image {
         height: 180px;
     }
 }

 @media (max-width: 768px) {
     .news-grid {
         grid-template-columns: 1fr;
         max-width: 500px;
         margin: 0 auto 2.5rem;
     }

     .news-section {
         padding: 3rem 0;
     }

     .section-title {
         font-size: 1.8rem;
         margin-bottom: 2.5rem;
     }

     .news-title {
         font-size: 1.3rem;
     }
 }

 @media (max-width: 480px) {
     .news-section {
         padding: 2.5rem 0;
     }

     .section-title {
         font-size: 1.6rem;
         margin-bottom: 2rem;
     }

     .news-image {
         height: 160px;
     }

     .container {
         padding: 0 1rem;
     }
 }

 /* Для совместимости со старой структурой */
 .news-section .section-title {
     color: #1a1a1a;
     padding-left: 0;
     text-align: center;
 }

 /* Дополнительные стили для заполнения сетки */
 .news-grid::after {
     content: '';
     display: none;
 }

 /* Добавим марджин для контейнера новостей */
 .news-section .container {
     position: relative;
 }

 /* ===========================
        11. About Section
       =========================== */
 /* ===========================
   Стили для страницы "О нас"
   =========================== */

 .about-page .content-inner {
     max-width: 800px;
     margin: 0 auto;
 }

 /* Блоки контента */
 .content-block {
     margin-bottom: 4rem;
     position: relative;
 }

 .content-block:last-child {
     margin-bottom: 0;
 }

 /* Заголовки блоков */
 .block-title {
     color: var(--primary-black);
     font-size: 2.2rem;
     font-weight: 700;
     margin-bottom: 1.8rem;
     padding-bottom: 0.8rem;
     position: relative;
     line-height: 1.3;
 }

 .block-title::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 70px;
     height: 4px;
     background-color: var(--primary-green);
     border-radius: 2px;
 }

 /* Контент блоков */
 .block-content {
     font-size: 1.15rem;
     line-height: 1.8;
     color: #333;
 }

 .block-content p {
     margin-bottom: 1.5rem;
 }

 .block-content p:last-child {
     margin-bottom: 0;
 }

 /* Особый стиль для призвания */
 .calling-block .block-content p {
     font-size: 1.25rem;
     font-weight: 500;
     line-height: 1.7;
     color: #444;
     padding: 1.5rem;
     background-color: rgba(129, 179, 103, 0.08);
     border-left: 4px solid var(--primary-green);
     border-radius: 0 4px 4px 0;
 }

 .calling-block .block-content span {
     display: block;
     text-align: center;
 }

 /* Цитаты из Писания */
 .scripture-quote {
     margin: 2rem 0;
     padding: 1.5rem;
     background-color: #f8f9fa;
     border-left: 4px solid #e0e0e0;
     border-radius: 0 4px 4px 0;
     font-style: italic;
     color: #555;
     line-height: 1.7;
 }

 .scripture-quote p {
     margin: 0;
 }

 .scripture-quote i {
     font-style: italic;
 }

 .scripture-quote b {
     font-weight: 700;
     color: var(--primary-black);
     font-style: normal;
 }

 /* Декоративные элементы для разных блоков */
 .mission-block .block-title::after {
     background-color: #4a6fa5;
 }

 .values-block .block-title::after {
     background-color: #9b6b9e;
 }

 .calling-block .block-title::after {
     background-color: var(--primary-green);
 }

 .vision-block .block-title::after {
     background-color: #d4a762;
 }

 /* ===========================
   Адаптивность для страницы "О нас"
   =========================== */

 @media (max-width: 992px) {
     .block-title {
         font-size: 2rem;
     }

     .block-content {
         font-size: 1.1rem;
         line-height: 1.7;
     }

     .calling-block .block-content p {
         font-size: 1.2rem;
         padding: 1.3rem;
     }

     .scripture-quote {
         padding: 1.3rem;
     }
 }

 @media (max-width: 768px) {
     .content-block {
         margin-bottom: 3rem;
     }

     .block-title {
         font-size: 1.8rem;
         margin-bottom: 1.5rem;
     }

     .block-content {
         font-size: 1.05rem;
         line-height: 1.7;
     }

     .calling-block .block-content p {
         font-size: 1.15rem;
         padding: 1.2rem;
     }

     .scripture-quote {
         margin: 1.5rem 0;
         padding: 1.2rem;
     }

     .block-title::after {
         width: 60px;
         height: 3px;
     }
 }

 @media (max-width: 576px) {
     .content-block {
         margin-bottom: 2.5rem;
         padding: 0 0.5rem;
     }

     .block-title {
         font-size: 1.6rem;
         text-align: center;
         padding-bottom: 0.6rem;
     }

     .block-title::after {
         left: 50%;
         transform: translateX(-50%);
     }

     .block-content {
         font-size: 1rem;
         line-height: 1.6;
         text-align: justify;
     }

     .calling-block .block-content p {
         font-size: 1.1rem;
         padding: 1rem;
         border-left-width: 3px;
     }

     .calling-block .block-content span {
         text-align: center;
     }

     .scripture-quote {
         padding: 1rem;
         font-size: 0.95rem;
         line-height: 1.6;
     }
 }

 @media (max-width: 375px) {
     .block-title {
         font-size: 1.5rem;
     }

     .block-content {
         font-size: 0.95rem;
     }

     .calling-block .block-content p {
         font-size: 1.05rem;
     }
 }

 /* ===========================
   Стили для страницы "Во что мы верим" - ИСПРАВЛЕННЫЕ
   =========================== */

 /* Основные стили для всей страницы */
 .beliefs-page .content-inner {
     max-width: 900px;
     margin: 0 auto;
     padding: 0 15px;
 }

 /* Основной заголовок страницы */
 .beliefs-main .block-title {
     font-size: 2.4rem;
     font-weight: 700;
     color: var(--primary-black);
     margin-bottom: 2.5rem;
     text-align: center;
     padding-bottom: 1rem;
     position: relative;
 }

 .beliefs-main .block-title::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 100px;
     height: 4px;
     background-color: #4a6fa5;
     border-radius: 2px;
 }

 /* Основной контент */
 .beliefs-main .block-content {
     font-size: 1.1rem;
     line-height: 1.7;
     color: #333;
 }

 /* Разделы вероучения */
 .belief-section {
     margin-bottom: 3rem;
     width: 100%;
 }

 .belief-section:last-child {
     margin-bottom: 0;
 }

 /* Заголовки разделов */
 .section-subtitle {
     font-size: 1.5rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 1.2rem 0;
     padding: 0 0 0.8rem 0;
     border-bottom: 2px solid #eee;
     width: 100%;
     display: block;
 }

 /* Обычные параграфы в блоках */
 .belief-section p {
     margin-bottom: 1.2rem;
     width: 100%;
     display: block;
 }

 .belief-section p:last-child {
     margin-bottom: 0;
 }

 /* Списки символов веры */
 .creed-list {
     background-color: #f9f9f9;
     border-radius: 6px;
     padding: 1.8rem;
     margin: 1.5rem 0;
     width: 100%;
     box-sizing: border-box;
 }

 .creed-list p {
     margin-bottom: 0.6rem;
     display: block;
     width: 100%;
 }

 .creed-number {
     display: inline-block;
     width: 25px;
     color: var(--primary-green);
     font-weight: 600;
     font-size: 1.05rem;
     vertical-align: top;
 }

 .creed-amen {
     font-weight: 600;
     color: var(--primary-black);
     font-style: italic;
     text-align: center;
     margin-top: 1.5rem;
     padding-top: 1rem;
     border-top: 1px solid #ddd;
     display: block;
     width: 100%;
 }

 /* Блоки "Sola" (пять основ протестантизма) */
 .sola-item {
     margin-bottom: 1.8rem;
     padding: 1.5rem;
     background-color: #f8fafc;
     border-radius: 6px;
     border-left: 4px solid var(--primary-green);
     width: 100%;
     box-sizing: border-box;
 }

 .sola-item:last-child {
     margin-bottom: 0;
 }

 .sola-title {
     font-size: 1.25rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 0.8rem 0;
     display: block;
     width: 100%;
 }

 .sola-title em {
     font-style: italic;
     color: #2c5282;
     font-weight: 700;
 }

 .sola-item p {
     margin: 0;
     color: #444;
     line-height: 1.6;
 }

 /* Блоки доктрин Дортского синода - ИСПРАВЛЕННЫЕ */
 .doctrine-item {
     margin-bottom: 2rem;
     padding-bottom: 1.5rem;
     border-bottom: 1px solid #eee;
     width: 100%;
     box-sizing: border-box;
 }

 .doctrine-item:last-child {
     margin-bottom: 0;
     padding-bottom: 0;
     border-bottom: none;
 }

 .doctrine-title {
     font-size: 1.25rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 0.8rem 0;
     padding: 0;
     display: block;
     width: 100%;
 }

 .doctrine-item p {
     margin: 0;
     color: #444;
     line-height: 1.6;
     padding: 0;
     display: block;
     width: 100%;
 }

 /* ===========================
   АДАПТИВНОСТЬ - ИСПРАВЛЕННАЯ
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .beliefs-main .block-title {
         font-size: 2.2rem;
         margin-bottom: 2rem;
     }

     .section-subtitle {
         font-size: 1.4rem;
     }

     .creed-list {
         padding: 1.5rem;
     }

     .sola-item,
     .doctrine-item {
         padding: 1.3rem;
     }

     .sola-title,
     .doctrine-title {
         font-size: 1.2rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .beliefs-main .block-title {
         font-size: 1.9rem;
         margin-bottom: 1.8rem;
     }

     .belief-section {
         margin-bottom: 2.5rem;
     }

     .section-subtitle {
         font-size: 1.3rem;
         text-align: center;
         margin-bottom: 1rem;
         padding-bottom: 0.6rem;
     }

     .creed-list {
         padding: 1.2rem;
         margin: 1.2rem 0;
         font-size: 0.95rem;
     }

     .creed-number {
         width: 22px;
         font-size: 0.95rem;
     }

     .sola-item {
         padding: 1.2rem;
         margin-bottom: 1.5rem;
         border-left-width: 3px;
     }

     .sola-title {
         font-size: 1.15rem;
         margin-bottom: 0.6rem;
     }

     .doctrine-item {
         padding: 0 0 1.2rem 0;
         margin-bottom: 1.8rem;
     }

     .doctrine-title {
         font-size: 1.15rem;
         margin-bottom: 0.6rem;
     }

     .doctrine-item p {
         font-size: 0.95rem;
         line-height: 1.6;
     }

     .beliefs-main .block-content {
         font-size: 1.05rem;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .beliefs-main .block-title {
         font-size: 1.7rem;
         margin-bottom: 1.5rem;
         padding-bottom: 0.8rem;
     }

     .beliefs-main .block-title::after {
         width: 80px;
         height: 3px;
     }

     .belief-section {
         margin-bottom: 2rem;
         padding: 0 5px;
     }

     .section-subtitle {
         font-size: 1.2rem;
         margin-bottom: 0.8rem;
         padding-bottom: 0.5rem;
         border-bottom-width: 1px;
     }

     .creed-list {
         padding: 1rem;
         margin: 1rem 0;
         font-size: 0.9rem;
         border-radius: 4px;
     }

     .creed-list p {
         margin-bottom: 0.5rem;
         line-height: 1.5;
     }

     .creed-number {
         width: 20px;
         font-size: 0.9rem;
     }

     .creed-amen {
         margin-top: 1rem;
         padding-top: 0.8rem;
         font-size: 0.95rem;
     }

     .sola-item {
         padding: 1rem;
         margin-bottom: 1.2rem;
         border-left-width: 3px;
     }

     .sola-title {
         font-size: 1.1rem;
         margin-bottom: 0.5rem;
     }

     .sola-item p {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .doctrine-item {
         padding: 0 0 1rem 0;
         margin-bottom: 1.5rem;
     }

     .doctrine-title {
         font-size: 1.1rem;
         margin-bottom: 0.5rem;
     }

     .doctrine-item p {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .beliefs-main .block-content {
         font-size: 1rem;
         line-height: 1.6;
     }

     .belief-section p {
         margin-bottom: 1rem;
         font-size: 0.95rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .beliefs-main .block-title {
         font-size: 1.6rem;
         margin-bottom: 1.3rem;
     }

     .section-subtitle {
         font-size: 1.15rem;
     }

     .creed-list {
         padding: 0.8rem;
         font-size: 0.85rem;
     }

     .creed-number {
         width: 18px;
         font-size: 0.85rem;
     }

     .sola-item,
     .doctrine-item {
         font-size: 0.85rem;
     }

     .sola-title,
     .doctrine-title {
         font-size: 1.05rem;
     }

     .creed-amen {
         font-size: 0.9rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .beliefs-main .block-title {
         font-size: 1.8rem;
     }

     .section-subtitle {
         font-size: 1.25rem;
     }

     .creed-list {
         font-size: 0.9rem;
         padding: 1rem;
     }

     .sola-item,
     .doctrine-item {
         padding: 1rem;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .beliefs-main .block-title {
         margin-bottom: 2rem;
     }

     .belief-section {
         margin-bottom: 2.5rem;
     }

     .creed-list {
         padding: 1.5rem;
         margin: 1.5rem 0;
     }

     .sola-item,
     .doctrine-item {
         padding: 1.3rem;
         margin-bottom: 1.8rem;
     }
 }

 /* ===========================
   Эффекты при наведении (опционально)
   =========================== */
 @media (min-width: 769px) {
     .content-block {
         transition: transform 0.3s ease;
     }

     .content-block:hover {
         transform: translateY(-5px);
     }

     .block-title {
         transition: color 0.3s ease;
     }

     .content-block:hover .block-title {
         color: var(--primary-green);
     }
 }

 /* ===========================
   Вторичная навигация (Sub Navigation)
   =========================== */
 .page-subnav {
     background-color: var(--primary-green);
     width: 100%;
     position: relative;
     z-index: 10;
 }

 .page-subnav .container {
     padding: 0;
     width: 100%;
     max-width: 100%;
     margin: 0;
 }

 .subnav-menu {
     display: flex;
     list-style: none;
     margin: 0;
     padding: 0;
     width: 100%;
 }

 .subnav-item {
     flex: 1;
     position: relative;
 }

 .subnav-link {
     display: block;
     color: var(--text-light);
     text-decoration: none;
     font-size: 1rem;
     font-weight: 600;
     padding: 1.5rem 0.5rem;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     text-align: center;
     transition: background-color 0.3s ease;
     background-color: transparent;
     border: none;
     cursor: pointer;
     width: 100%;
 }

 /* Hover эффект - затемнение */
 .subnav-link:hover {
     background-color: var(--primary-green-dark);
 }

 /* Активный пункт меню */
 .subnav-item.active .subnav-link {
     background-color: var(--primary-green-dark);
     font-weight: 700;
 }

 /* Контент внутренних страниц */
 .page-main-content {
     width: 100%;
     min-height: 50vh;
     padding: 4rem 0;
     background-color: #fff;
 }

 .content-inner {
     max-width: 900px;
     margin: 0 auto;
     line-height: 1.7;
     color: #333;
 }

 .content-inner h2 {
     color: var(--primary-black);
     font-size: 2.2rem;
     margin: 2.5rem 0 1.5rem 0;
     font-weight: 600;
 }

 .content-inner h3 {
     color: var(--primary-black);
     font-size: 1.8rem;
     margin: 2rem 0 1rem 0;
     font-weight: 600;
 }

 .content-inner p {
     margin-bottom: 1.5rem;
     font-size: 1.1rem;
 }

 .content-inner ul,
 .content-inner ol {
     margin: 1.5rem 0;
     padding-left: 2rem;
 }

 .content-inner li {
     margin-bottom: 0.8rem;
 }

 /* ===========================
   Стили для страницы "Наша команда" - ИСПРАВЛЕННЫЕ
   =========================== */

 /* Основные стили страницы */
 .team-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 /* Заголовок страницы */
 .team-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 2px solid #eee;
 }

 .team-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--primary-black);
     margin: 0;
     line-height: 1.2;
 }

 /* Сетка команды */
 .team-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 2.5rem;
     margin-bottom: 3rem;
 }

 /* Карточка члена команды */
 .team-member {
     background: #fff;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     display: flex;
     flex-direction: column;
     height: auto;
     /* Автоматическая высота */
 }

 .team-member:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
 }

 /* Фото члена команды - ИСПРАВЛЕНО */
 .member-photo {
     width: 100%;
     min-height: 320px;
     /* Минимальная высота */
     height: auto;
     /* Автоматическая высота */
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     background-color: #f5f5f5;
     /* Фон на случай, если изображение не загрузится */
 }

 .member-photo img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     /* Изменено с cover на contain для показа всего изображения */
     max-height: 400px;
     /* Максимальная высота изображения */
     transition: transform 0.5s ease;
     display: block;
 }

 .team-member:hover .member-photo img {
     transform: scale(1.03);
     /* Уменьшил масштаб при hover */
 }

 /* Информация о члене команды */
 .member-info {
     padding: 1.8rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .member-link {
     text-decoration: none;
     color: inherit;
     display: block;
     height: 100%;
 }

 .member-name {
     font-size: 1.4rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 0.8rem 0;
     line-height: 1.3;
 }

 .member-position {
     font-size: 1rem;
     color: #666;
     line-height: 1.5;
     margin: 0;
     font-style: italic;
 }

 /* ===========================
   Адаптивность для страницы "Наша команда" - ИСПРАВЛЕННАЯ
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .team-title {
         font-size: 2.2rem;
     }

     .team-grid {
         gap: 2rem;
     }

     .member-photo {
         min-height: 280px;
         /* Уменьшаем минимальную высоту */
     }

     .member-photo img {
         max-height: 350px;
     }

     .member-name {
         font-size: 1.3rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .team-title {
         font-size: 2rem;
         margin-bottom: 0.5rem;
     }

     .team-header {
         margin-bottom: 2.5rem;
         padding-bottom: 1rem;
     }

     .team-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
         max-width: 600px;
         margin: 0 auto 2.5rem;
     }

     .team-member {
         flex-direction: row;
         align-items: stretch;
         /* Выравнивание по высоте */
     }

     .member-photo {
         width: 250px;
         /* Фиксированная ширина */
         min-height: 250px;
         /* Квадратное фото */
         height: auto;
         flex-shrink: 0;
     }

     .member-photo img {
         width: 100%;
         height: auto;
         max-height: none;
         object-fit: contain;
     }

     .member-info {
         padding: 1.5rem;
         flex: 1;
         display: flex;
         flex-direction: column;
         justify-content: center;
         /* Центрируем текст по вертикали */
     }

     .member-name {
         font-size: 1.25rem;
     }

     .member-position {
         font-size: 0.95rem;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .team-title {
         font-size: 1.8rem;
     }

     .team-header {
         margin-bottom: 2rem;
     }

     .team-grid {
         gap: 1.5rem;
     }

     .team-member {
         flex-direction: column;
         align-items: center;
     }

     .member-photo {
         width: 100%;
         min-height: 280px;
         /* Увеличиваем высоту на мобильных */
         max-height: 350px;
     }

     .member-photo img {
         width: auto;
         /* Автоматическая ширина */
         max-width: 100%;
         /* Но не больше контейнера */
         height: auto;
         max-height: 300px;
         object-fit: contain;
     }

     .member-info {
         padding: 1.2rem;
         text-align: center;
         width: 100%;
     }

     .member-name {
         font-size: 1.2rem;
     }

     .member-position {
         font-size: 0.9rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .team-title {
         font-size: 1.6rem;
     }

     .team-page .container {
         padding: 0 15px;
     }

     .member-photo {
         min-height: 250px;
         max-height: 300px;
     }

     .member-photo img {
         max-height: 250px;
     }

     .member-name {
         font-size: 1.1rem;
     }

     .member-position {
         font-size: 0.85rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .team-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .team-member {
         flex-direction: column;
     }

     .member-photo {
         width: 100%;
         min-height: 200px;
         height: auto;
     }

     .member-photo img {
         max-height: 180px;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .team-grid {
         gap: 2rem;
     }

     .member-photo {
         min-height: 300px;
         max-height: 400px;
     }

     .member-photo img {
         max-height: 350px;
     }

     .member-info {
         padding: 1.5rem;
     }
 }

 /* Для широких экранов (больше 1200px) */
 @media (min-width: 1200px) {
     .member-photo {
         min-height: 350px;
     }

     .member-photo img {
         max-height: 450px;
     }
 }

 /* ===========================
   Стили для страницы "Чего можно ожидать"
   =========================== */

 /* Основные стили страницы */
 .expectations-page .container {
     max-width: 800px;
     padding: 0 20px;
 }

 .expectations-content {
     padding: 2rem 0;
 }

 /* Основная статья */
 .expectations-article {
     font-size: 1.1rem;
     line-height: 1.7;
     color: #333;
 }

 /* Первый вступительный параграф */
 .expectations-article>p:first-child {
     font-size: 1.15rem;
     line-height: 1.8;
     margin-bottom: 2.5rem;
     padding: 1.5rem;
     background-color: #f8f9fa;
     border-radius: 6px;
     border-left: 4px solid var(--primary-green);
 }

 .expectations-article>p:first-child strong {
     font-size: 1.25rem;
     color: var(--primary-black);
 }

 /* Элемент вопроса-ответа */
 .expectation-item {
     margin-bottom: 2.5rem;
     padding-bottom: 2rem;
     border-bottom: 1px solid #eee;
 }

 .expectation-item:last-child {
     margin-bottom: 0;
     padding-bottom: 0;
     border-bottom: none;
 }

 /* Вопрос */
 .expectation-question {
     font-size: 1.35rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 1.2rem 0;
     padding: 0;
     line-height: 1.3;
     position: relative;
     padding-left: 1.8rem;
 }

 .expectation-question::before {
     content: "•";
     position: absolute;
     left: 0;
     top: 0;
     color: var(--primary-green);
     font-size: 2rem;
     line-height: 1;
 }

 /* Ответ */
 .expectation-answer {
     padding-left: 1.8rem;
 }

 .expectation-answer p {
     margin-bottom: 1.2rem;
 }

 .expectation-answer p:last-child {
     margin-bottom: 0;
 }

 /* Особый стиль для ответов */
 .expectation-answer {
     background-color: #fcfcfc;
     padding: 1.5rem;
     border-radius: 6px;
     border: 1px solid #f0f0f0;
 }

 /* ===========================
   Адаптивность для страницы "Чего можно ожидать"
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .expectations-page .container {
         max-width: 700px;
     }

     .expectations-article {
         font-size: 1.05rem;
         line-height: 1.65;
     }

     .expectation-question {
         font-size: 1.25rem;
     }

     .expectations-article>p:first-child {
         font-size: 1.1rem;
         padding: 1.2rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .expectations-page .container {
         padding: 0 15px;
     }

     .expectations-content {
         padding: 1.5rem 0;
     }

     .expectations-article {
         font-size: 1rem;
         line-height: 1.6;
     }

     .expectation-item {
         margin-bottom: 2rem;
         padding-bottom: 1.5rem;
     }

     .expectation-question {
         font-size: 1.2rem;
         padding-left: 1.5rem;
         margin-bottom: 1rem;
     }

     .expectation-question::before {
         font-size: 1.8rem;
         left: 0;
     }

     .expectation-answer {
         padding-left: 1.5rem;
         padding: 1.2rem;
     }

     .expectations-article>p:first-child {
         font-size: 1.05rem;
         padding: 1rem;
         margin-bottom: 2rem;
     }

     .expectations-article>p:first-child strong {
         font-size: 1.2rem;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .expectations-page .container {
         padding: 0 12px;
     }

     .expectations-content {
         padding: 1rem 0;
     }

     .expectations-article {
         font-size: 0.95rem;
         line-height: 1.6;
     }

     .expectation-item {
         margin-bottom: 1.8rem;
         padding-bottom: 1.2rem;
     }

     .expectation-question {
         font-size: 1.1rem;
         padding-left: 1.2rem;
         margin-bottom: 0.8rem;
     }

     .expectation-question::before {
         font-size: 1.6rem;
     }

     .expectation-answer {
         padding-left: 0;
         padding: 1rem;
     }

     .expectations-article>p:first-child {
         font-size: 1rem;
         padding: 1rem 0.8rem;
         margin-bottom: 1.5rem;
         border-left-width: 3px;
     }

     .expectations-article>p:first-child strong {
         font-size: 1.15rem;
         display: block;
         margin-bottom: 0.5rem;
     }

     .expectation-answer p {
         margin-bottom: 1rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .expectations-article {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .expectation-question {
         font-size: 1.05rem;
         padding-left: 1rem;
     }

     .expectation-question::before {
         font-size: 1.5rem;
     }

     .expectation-answer {
         padding: 0.8rem;
     }

     .expectations-article>p:first-child {
         font-size: 0.95rem;
     }

     .expectations-article>p:first-child strong {
         font-size: 1.1rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .expectations-page .container {
         max-width: 600px;
         margin: 0 auto;
     }

     .expectations-article {
         font-size: 0.95rem;
     }

     .expectation-question {
         font-size: 1.15rem;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .expectations-content {
         padding: 2rem 0;
     }

     .expectations-article {
         font-size: 1.05rem;
         line-height: 1.7;
     }

     .expectation-item {
         margin-bottom: 2.2rem;
         padding-bottom: 1.8rem;
     }

     .expectation-question {
         font-size: 1.2rem;
     }

     .expectation-answer {
         padding: 1.5rem;
     }
 }

 /* ===========================
   Стили для страницы "История"
   =========================== */

 /* Основные стили страницы */
 .history-page .container {
     max-width: 900px;
     padding: 0 20px;
 }

 .history-content {
     padding: 2rem 0;
 }

 /* Раздел истории */
 .history-section {
     margin-bottom: 4rem;
 }

 .history-section:last-child {
     margin-bottom: 0;
 }

 /* Заголовки разделов */
 .history-title {
     font-size: 2.2rem;
     font-weight: 700;
     color: var(--primary-black);
     margin: 0 0 1.8rem 0;
     padding: 0 0 1rem 0;
     border-bottom: 3px solid var(--primary-green);
     line-height: 1.3;
 }

 /* Подзаголовки внутри текста */
 .history-subtitle {
     font-size: 1.5rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 2.5rem 0 1.2rem 0;
     padding: 0 0 0.5rem 0;
     border-bottom: 1px solid #eee;
     line-height: 1.3;
 }

 /* Термины (Кальвинизм, Реформатство и т.д.) */
 .history-term {
     font-size: 1.25rem;
     font-weight: 600;
     color: #2c5282;
     margin: 2rem 0 0.8rem 0;
     padding-left: 1rem;
     border-left: 3px solid var(--primary-green);
     line-height: 1.3;
 }

 /* Основной текст */
 .history-text {
     font-size: 1.1rem;
     line-height: 1.7;
     color: #333;
 }

 .history-text p {
     margin-bottom: 1.3rem;
     text-align: justify;
 }

 .history-text p:last-child {
     margin-bottom: 0;
 }

 /* Жирный текст в параграфах */
 .history-text p strong,
 .history-text p b {
     font-weight: 600;
     color: var(--primary-black);
 }

 /* Список источников */
 .history-sources {
     margin-top: 2.5rem;
     padding: 1.5rem;
     background-color: #f8f9fa;
     border-radius: 6px;
     border-left: 4px solid #9b6b9e;
 }

 .sources-list {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .sources-list li {
     margin-bottom: 1rem;
     padding-left: 1.5rem;
     position: relative;
     line-height: 1.6;
     color: #555;
 }

 .sources-list li::before {
     content: "📚";
     position: absolute;
     left: 0;
     top: 0;
     font-size: 1rem;
 }

 .sources-list li:last-child {
     margin-bottom: 0;
 }

 /* ===========================
   Адаптивность для страницы "История"
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .history-page .container {
         max-width: 800px;
     }

     .history-title {
         font-size: 2rem;
     }

     .history-subtitle {
         font-size: 1.4rem;
     }

     .history-term {
         font-size: 1.2rem;
     }

     .history-text {
         font-size: 1.05rem;
         line-height: 1.65;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .history-page .container {
         padding: 0 15px;
     }

     .history-content {
         padding: 1.5rem 0;
     }

     .history-section {
         margin-bottom: 3rem;
     }

     .history-title {
         font-size: 1.8rem;
         margin-bottom: 1.5rem;
         padding-bottom: 0.8rem;
     }

     .history-subtitle {
         font-size: 1.3rem;
         margin: 2rem 0 1rem 0;
     }

     .history-term {
         font-size: 1.15rem;
         margin: 1.8rem 0 0.7rem 0;
         padding-left: 0.8rem;
     }

     .history-text {
         font-size: 1rem;
         line-height: 1.6;
     }

     .history-text p {
         margin-bottom: 1.2rem;
     }

     .history-sources {
         padding: 1.2rem;
         margin-top: 2rem;
     }

     .sources-list li {
         font-size: 0.95rem;
         line-height: 1.5;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .history-page .container {
         padding: 0 12px;
     }

     .history-content {
         padding: 1rem 0;
     }

     .history-section {
         margin-bottom: 2.5rem;
     }

     .history-title {
         font-size: 1.6rem;
         margin-bottom: 1.2rem;
         padding-bottom: 0.6rem;
         text-align: center;
         border-bottom-width: 2px;
     }

     .history-subtitle {
         font-size: 1.2rem;
         margin: 1.8rem 0 0.8rem 0;
         text-align: left;
     }

     .history-term {
         font-size: 1.1rem;
         margin: 1.5rem 0 0.6rem 0;
         padding-left: 0.6rem;
         border-left-width: 2px;
     }

     .history-text {
         font-size: 0.95rem;
         line-height: 1.6;
     }

     .history-text p {
         margin-bottom: 1rem;
         text-align: left;
     }

     .history-sources {
         padding: 1rem;
         margin-top: 1.8rem;
         border-left-width: 3px;
     }

     .sources-list li {
         font-size: 0.9rem;
         padding-left: 1.2rem;
         margin-bottom: 0.8rem;
     }

     .sources-list li::before {
         font-size: 0.9rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .history-title {
         font-size: 1.5rem;
     }

     .history-subtitle {
         font-size: 1.15rem;
     }

     .history-term {
         font-size: 1.05rem;
     }

     .history-text {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .history-sources {
         padding: 0.8rem;
     }

     .sources-list li {
         font-size: 0.85rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .history-page .container {
         max-width: 700px;
         margin: 0 auto;
     }

     .history-text {
         font-size: 0.95rem;
     }

     .history-title {
         font-size: 1.7rem;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .history-content {
         padding: 2rem 0;
     }

     .history-title {
         font-size: 1.8rem;
     }

     .history-text {
         font-size: 1rem;
         line-height: 1.7;
     }

     .history-sources {
         padding: 1.5rem;
     }
 }

 /* ===========================
   Стили для страницы новостей
   =========================== */

 /* Основные стили страницы */
 .news-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 /* Заголовок страницы новостей */
 .news-page-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 2px solid #eee;
 }

 .news-page-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--primary-black);
     margin: 0 0 0.8rem 0;
     line-height: 1.2;
 }

 .news-page-subtitle {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
     font-weight: 400;
     line-height: 1.4;
 }

 /* Сетка новостей на странице новостей */
 .news-page-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
     gap: 2.5rem;
     margin-bottom: 4rem;
 }

 /* Карточка новости */
 .news-page-card {
     background: #fff;
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
     height: 100%;
     display: flex;
     flex-direction: column;
     border: 1px solid #f0f0f0;
 }

 .news-page-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
     border-color: var(--primary-green);
 }

 /* Изображение новости */
 .news-page-image {
     width: 100%;
     height: 220px;
     position: relative;
     overflow: hidden;
     background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
 }

 .news-page-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 .news-page-card:hover .news-page-image img {
     transform: scale(1.05);
 }

 /* Категория новости (если есть) */
 .news-category {
     position: absolute;
     top: 15px;
     left: 15px;
     background: var(--primary-green);
     color: white;
     padding: 0.3rem 0.8rem;
     border-radius: 20px;
     font-size: 0.8rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     z-index: 2;
 }

 /* Контент новости */
 .news-page-content {
     padding: 1.8rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 /* Дата новости */
 .news-page-date {
     display: flex;
     align-items: center;
     gap: 0.8rem;
     margin-bottom: 1rem;
     color: var(--primary-green);
     font-weight: 600;
     font-size: 0.9rem;
 }

 .news-page-date i {
     font-style: normal;
 }

 /* Заголовок новости в карточке */
 .news-page-card-title {
     font-size: 1.4rem;
     font-weight: 700;
     color: var(--primary-black);
     margin: 0 0 1rem 0;
     line-height: 1.3;
     flex: 1;
 }

 .news-page-card-title a {
     color: inherit;
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .news-page-card-title a:hover {
     color: var(--primary-green);
 }

 /* Краткое описание */
 .news-page-excerpt {
     color: #666;
     font-size: 1rem;
     line-height: 1.6;
     margin: 0 0 1.5rem 0;
     flex: 1;
 }

 /* Кнопка "Читать далее" */
 .news-read-more {
     display: inline-block;
     color: var(--primary-green);
     font-weight: 600;
     font-size: 0.95rem;
     text-decoration: none;
     padding: 0.5rem 0;
     border-bottom: 2px solid transparent;
     transition: all 0.3s ease;
     align-self: flex-start;
 }

 .news-read-more:hover {
     border-bottom-color: var(--primary-green);
     padding-left: 0.5rem;
 }

 /* Пагинация (если есть) */
 .news-pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 0.5rem;
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid #eee;
 }

 .pagination-link {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 40px;
     height: 40px;
     padding: 0 0.8rem;
     background: #fff;
     border: 1px solid #e0e0e0;
     border-radius: 4px;
     color: #333;
     text-decoration: none;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .pagination-link:hover,
 .pagination-link.active {
     background: var(--primary-green);
     border-color: var(--primary-green);
     color: white;
 }

 .pagination-link.prev,
 .pagination-link.next {
     font-weight: 600;
 }

 /* Пустой состояние (когда нет новостей) */
 .news-empty-state {
     text-align: center;
     padding: 4rem 2rem;
     background: #f8f9fa;
     border-radius: 10px;
     margin: 2rem 0;
 }

 .news-empty-icon {
     font-size: 3rem;
     color: #ccc;
     margin-bottom: 1rem;
 }

 .news-empty-text {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
 }

 /* Фильтры новостей (если есть) */
 .news-filters {
     margin-bottom: 3rem;
     padding: 1.5rem;
     background: #f8f9fa;
     border-radius: 8px;
 }

 .filter-title {
     font-size: 1.1rem;
     font-weight: 600;
     margin: 0 0 1rem 0;
     color: var(--primary-black);
 }

 .filter-list {
     display: flex;
     flex-wrap: wrap;
     gap: 0.8rem;
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .filter-item {
     margin: 0;
 }

 .filter-button {
     display: inline-block;
     padding: 0.5rem 1.2rem;
     background: #fff;
     border: 1px solid #ddd;
     border-radius: 20px;
     color: #666;
     text-decoration: none;
     font-size: 0.9rem;
     transition: all 0.3s ease;
 }

 .filter-button:hover,
 .filter-button.active {
     background: var(--primary-green);
     border-color: var(--primary-green);
     color: white;
 }

 /* ===========================
   Адаптивность для страницы новостей
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .news-page-grid {
         grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
         gap: 2rem;
     }

     .news-page-title {
         font-size: 2.2rem;
     }

     .news-page-card-title {
         font-size: 1.3rem;
     }

     .news-page-image {
         height: 200px;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .news-page .container {
         padding: 0 15px;
     }

     .news-page-header {
         margin-bottom: 2.5rem;
         padding-bottom: 1.2rem;
     }

     .news-page-title {
         font-size: 2rem;
     }

     .news-page-subtitle {
         font-size: 1.1rem;
     }

     .news-page-grid {
         grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
         gap: 1.8rem;
     }

     .news-page-content {
         padding: 1.5rem;
     }

     .news-page-card-title {
         font-size: 1.25rem;
     }

     .news-page-excerpt {
         font-size: 0.95rem;
         line-height: 1.5;
     }

     .filter-list {
         justify-content: center;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .news-page-header {
         margin-bottom: 2rem;
     }

     .news-page-title {
         font-size: 1.8rem;
     }

     .news-page-subtitle {
         font-size: 1rem;
     }

     .news-page-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
         max-width: 450px;
         margin-left: auto;
         margin-right: auto;
     }

     .news-page-card {
         border-radius: 8px;
     }

     .news-page-image {
         height: 180px;
     }

     .news-page-content {
         padding: 1.2rem;
     }

     .news-page-card-title {
         font-size: 1.2rem;
     }

     .pagination-link {
         min-width: 35px;
         height: 35px;
         font-size: 0.9rem;
     }

     .news-filters {
         padding: 1rem;
     }

     .filter-list {
         gap: 0.5rem;
     }

     .filter-button {
         padding: 0.4rem 0.8rem;
         font-size: 0.85rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .news-page-title {
         font-size: 1.6rem;
     }

     .news-page-image {
         height: 160px;
     }

     .news-page-card-title {
         font-size: 1.1rem;
     }

     .news-page-excerpt {
         font-size: 0.9rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .news-page-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .news-page-image {
         height: 150px;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .news-page-grid {
         gap: 2rem;
     }

     .news-page-image {
         height: 200px;
     }

     .news-page-content {
         padding: 1.5rem;
     }
 }

 /* Анимации */
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .news-page-card {
     animation: fadeInUp 0.5s ease forwards;
     opacity: 0;
 }

 .news-page-card:nth-child(1) {
     animation-delay: 0.1s;
 }

 .news-page-card:nth-child(2) {
     animation-delay: 0.2s;
 }

 .news-page-card:nth-child(3) {
     animation-delay: 0.3s;
 }

 .news-page-card:nth-child(4) {
     animation-delay: 0.4s;
 }

 .news-page-card:nth-child(5) {
     animation-delay: 0.5s;
 }

 .news-page-card:nth-child(6) {
     animation-delay: 0.6s;
 }

 /* Состояния загрузки */
 .news-loading {
     display: flex;
     justify-content: center;
     align-items: center;
     min-height: 300px;
 }

 .loading-spinner {
     width: 40px;
     height: 40px;
     border: 3px solid #f3f3f3;
     border-top: 3px solid var(--primary-green);
     border-radius: 50%;
     animation: spin 1s linear infinite;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 /* Темная тема (опционально) */
 @media (prefers-color-scheme: dark) {
     .news-page-card {
         background: #2d2d2d;
         border-color: #404040;
         color: #e0e0e0;
     }

     .news-page-card-title,
     .news-page-card-title a {
         color: #fff;
     }

     .news-page-excerpt {
         color: #b0b0b0;
     }

     .news-filters {
         background: #2d2d2d;
     }

     .filter-button {
         background: #404040;
         border-color: #505050;
         color: #e0e0e0;
     }

     .pagination-link {
         background: #2d2d2d;
         border-color: #404040;
         color: #e0e0e0;
     }
 }

 /* ===========================
   Стили для страницы "Контакты"
   =========================== */

 /* Основные стили страницы */
 .contacts-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 .contacts-content {
     padding: 2rem 0;
 }

 /* Заголовок страницы */
 .contacts-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 2px solid #eee;
 }

 .contacts-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--primary-black);
     margin: 0 0 0.8rem 0;
     line-height: 1.2;
 }

 .contacts-subtitle {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
     font-weight: 400;
     line-height: 1.4;
 }

 /* Сетка контактов (две колонки) */
 .contacts-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 3rem;
     align-items: start;
 }

 /* Карта */
 .contacts-map {
     position: relative;
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .contacts-map:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
 }

 .map-link {
     display: block;
     text-decoration: none;
     color: inherit;
 }

 .map-image {
     width: 100%;
     height: 300px;
     object-fit: cover;
     display: block;
 }

 .map-button {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 0.8rem;
     padding: 1rem;
     background: var(--primary-green);
     color: white;
     font-weight: 600;
     font-size: 1.1rem;
     text-align: center;
     transition: background 0.3s ease;
 }

 .map-link:hover .map-button {
     background: #6a9954;
 }

 .map-icon {
     font-size: 1.2rem;
 }

 /* Контактная информация */
 .contacts-info {
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 /* Блок контакта */
 .contact-block {
     padding: 1.5rem 0;
 }

 .contact-block:first-child {
     padding-top: 0;
 }

 .contact-block-title {
     font-size: 1.5rem;
     font-weight: 600;
     color: var(--primary-black);
     margin: 0 0 1.5rem 0;
     padding-bottom: 0.5rem;
     border-bottom: 2px solid var(--primary-green);
 }

 /* Элементы контактов */
 .contact-item {
     display: flex;
     align-items: center;
     margin-bottom: 1.2rem;
     padding-left: 1rem;
     position: relative;
 }

 .contact-item:last-child {
     margin-bottom: 0;
 }

 .contact-item::before {
     content: "•";
     position: absolute;
     left: 0;
     color: var(--primary-green);
     font-size: 1.5rem;
     line-height: 1;
 }

 .contact-label {
     min-width: 80px;
     font-weight: 600;
     color: #555;
     margin-right: 1rem;
 }

 .contact-link {
     color: var(--primary-black);
     text-decoration: none;
     font-weight: 500;
     transition: color 0.3s ease;
     padding: 0.2rem 0;
     border-bottom: 1px solid transparent;
 }

 .contact-link:hover {
     color: var(--primary-green);
     border-bottom-color: var(--primary-green);
 }

 .phone-link:hover::before {
     content: "📞 ";
 }

 .email-link:hover::before {
     content: "📧 ";
 }

 /* Рабочие часы */
 .working-hours {
     display: flex;
     flex-direction: column;
     gap: 1rem;
 }

 .hours-item {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.8rem;
     background: #f8f9fa;
     border-radius: 6px;
     border-left: 3px solid var(--primary-green);
 }

 .hours-day {
     font-weight: 600;
     color: var(--primary-black);
 }

 .hours-time {
     color: #666;
     font-weight: 500;
 }

 /* Адрес */
 .church-address {
     font-style: normal;
     margin: 0;
 }

 .address-item {
     display: flex;
     align-items: flex-start;
     gap: 1rem;
     padding: 1.2rem;
     background: #f8f9fa;
     border-radius: 8px;
     border: 1px solid #e9ecef;
 }

 .address-icon {
     font-size: 1.5rem;
     color: var(--primary-green);
     flex-shrink: 0;
 }

 .address-text {
     line-height: 1.6;
     color: #333;
 }

 .address-text strong {
     color: var(--primary-black);
     font-size: 1.1rem;
 }

 /* Разделитель */
 .contacts-divider {
     border: none;
     border-top: 1px solid #eee;
     margin: 1.5rem 0;
 }

 /* ===========================
   Адаптивность для страницы "Контакты"
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .contacts-grid {
         gap: 2rem;
     }

     .contacts-title {
         font-size: 2.2rem;
     }

     .map-image {
         height: 280px;
     }

     .contact-block-title {
         font-size: 1.4rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .contacts-page .container {
         padding: 0 15px;
     }

     .contacts-header {
         margin-bottom: 2.5rem;
     }

     .contacts-title {
         font-size: 2rem;
     }

     .contacts-subtitle {
         font-size: 1.1rem;
     }

     .contacts-grid {
         grid-template-columns: 1fr;
         gap: 2.5rem;
     }

     .contacts-map {
         max-width: 600px;
         margin: 0 auto;
     }

     .map-image {
         height: 250px;
     }

     .contact-block {
         padding: 1.2rem 0;
     }

     .contact-block-title {
         margin-bottom: 1.2rem;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .contacts-page .container {
         padding: 0 12px;
     }

     .contacts-content {
         padding: 1rem 0;
     }

     .contacts-header {
         margin-bottom: 2rem;
     }

     .contacts-title {
         font-size: 1.8rem;
     }

     .contacts-subtitle {
         font-size: 1rem;
     }

     .contacts-grid {
         gap: 2rem;
     }

     .map-image {
         height: 220px;
     }

     .map-button {
         padding: 0.8rem;
         font-size: 1rem;
     }

     .contact-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 0.3rem;
         padding-left: 1rem;
     }

     .contact-label {
         min-width: auto;
         margin-right: 0;
     }

     .hours-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 0.5rem;
         padding: 0.6rem;
     }

     .address-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 0.8rem;
         padding: 1rem;
     }

     .address-icon {
         align-self: center;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .contacts-title {
         font-size: 1.6rem;
     }

     .map-image {
         height: 200px;
     }

     .contact-block-title {
         font-size: 1.3rem;
     }

     .contact-item {
         font-size: 0.95rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .contacts-grid {
         grid-template-columns: 1fr 1fr;
         gap: 2rem;
     }

     .map-image {
         height: 200px;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .contacts-content {
         padding: 2rem 0;
     }

     .map-image {
         height: 280px;
     }

     .contact-block {
         padding: 1.5rem 0;
     }
 }

 /* Анимации для интерактивных элементов */
 @keyframes pulse {
     0% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.05);
     }

     100% {
         transform: scale(1);
     }
 }

 .map-link:hover .map-icon {
     animation: pulse 1s infinite;
 }

 /* Состояние focus для доступности */
 .contact-link:focus,
 .map-link:focus {
     outline: 2px solid var(--primary-green);
     outline-offset: 2px;
     border-radius: 3px;
 }

 /* Печатная версия */
 @media print {

     .contacts-map,
     .map-button {
         display: none;
     }

     .contacts-grid {
         grid-template-columns: 1fr;
     }

     .contact-link {
         color: #000;
         text-decoration: underline;
     }
 }

 /* ===========================
   Стили для страницы "Пожертвования" - БЕЛО-СЕРАЯ ЦВЕТОВАЯ СХЕМА
   =========================== */

 /* Основные стили страницы */
 .donations-page {
     background: #ffffff;
 }

 .donations-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 .donations-content {
     padding: 2rem 0;
 }

 /* Заголовок страницы */
 .donations-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 1px solid #e0e0e0;
 }

 .donations-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 0.5rem 0;
     line-height: 1.2;
 }

 .donations-subtitle {
     font-size: 1.3rem;
     color: #666;
     margin: 0;
     font-weight: 400;
     line-height: 1.4;
 }

 /* Карточка с реквизитами */
 .requisites-card {
     background: #ffffff;
     border-radius: 8px;
     padding: 2.5rem;
     margin-bottom: 3rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
     border: 1px solid #e0e0e0;
 }

 .requisites-title {
     font-size: 1.8rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 2rem 0;
     padding-bottom: 1rem;
     border-bottom: 2px solid #666;
     text-align: center;
 }

 /* Сетка реквизитов (две колонки) */
 .requisites-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 2.5rem;
     margin-bottom: 2.5rem;
 }

 @media (max-width: 768px) {
     .requisites-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }
 }

 /* Колонка реквизитов */
 .requisites-column {
     display: flex;
     flex-direction: column;
     gap: 1.2rem;
 }

 /* Элемент реквизита */
 .requisite-item {
     display: flex;
     flex-direction: column;
     gap: 0.3rem;
     padding: 1rem;
     background: #f8f8f8;
     border-radius: 6px;
     border-left: 3px solid #999;
     transition: transform 0.2s ease;
 }

 .requisite-item:hover {
     transform: translateX(3px);
     background: #f0f0f0;
 }

 .requisite-label {
     font-weight: 600;
     color: #555;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .requisite-value {
     color: #333;
     font-weight: 500;
     line-height: 1.5;
     font-size: 1.05rem;
 }

 .bank-account {
     font-family: 'Courier New', monospace;
     font-size: 1.1rem;
     font-weight: 600;
     color: #333;
     letter-spacing: 0.5px;
     background: #f0f0f0;
     padding: 0.3rem 0.5rem;
     border-radius: 3px;
     display: inline-block;
 }

 /* Важное примечание */
 .requisites-notice {
     display: flex;
     align-items: flex-start;
     gap: 1rem;
     padding: 1.5rem;
     background: #f5f5f5;
     border-radius: 6px;
     border: 1px solid #ddd;
     margin-top: 2rem;
 }

 .notice-icon {
     font-size: 1.5rem;
     flex-shrink: 0;
     color: #666;
 }

 .notice-text {
     flex: 1;
 }

 .notice-text strong {
     color: #333;
     display: block;
     margin-bottom: 0.5rem;
     font-size: 1rem;
 }

 .notice-highlight {
     background: #e8e8e8;
     color: #333;
     padding: 1rem;
     border-radius: 4px;
     font-weight: 600;
     font-size: 1.05rem;
     text-align: center;
     border: 1px solid #ccc;
     font-family: 'Courier New', monospace;
     word-break: break-word;
     letter-spacing: 0.5px;
 }

 /* Блок с QR-кодами */
 .qr-codes-section {
     background: #ffffff;
     border-radius: 8px;
     padding: 2.5rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
     border: 1px solid #e0e0e0;
 }

 .qr-codes-title {
     font-size: 1.8rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 2rem 0;
     text-align: center;
     padding-bottom: 1rem;
     border-bottom: 2px solid #666;
 }

 /* Сетка QR-кодов */
 .qr-codes-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 3rem;
     margin-bottom: 3rem;
 }

 @media (max-width: 992px) {
     .qr-codes-grid {
         grid-template-columns: 1fr;
         max-width: 500px;
         margin: 0 auto 3rem;
     }
 }

 /* Карточка QR-кода */
 .qr-code-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     padding: 2rem;
     background: #f8f8f8;
     border-radius: 8px;
     text-align: center;
     transition: transform 0.3s ease;
     border: 1px solid #e0e0e0;
 }

 .qr-code-item:hover {
     transform: translateY(-3px);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
 }

 .qr-code-item.main-qr {
     background: #fafafa;
     border: 1px solid #ccc;
 }

 .qr-code-header {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0.5rem;
     margin-bottom: 1.5rem;
     width: 100%;
 }

 .qr-code-name {
     font-size: 1.3rem;
     font-weight: 600;
     color: #1a1a1a;
     margin: 0;
 }

 .qr-code-link {
     color: #666;
     text-decoration: none;
     font-weight: 500;
     font-size: 0.9rem;
     padding: 0.3rem 0.8rem;
     border-radius: 3px;
     border: 1px solid #999;
     transition: all 0.3s ease;
     background: #fff;
 }

 .qr-code-link:hover {
     background: #666;
     color: white;
     border-color: #666;
 }

 .qr-code-image {
     margin: 1rem 0;
     padding: 1rem;
     background: white;
     border-radius: 6px;
     border: 1px solid #e0e0e0;
 }

 .qr-code-image img {
     max-width: 100%;
     height: auto;
     display: block;
     border-radius: 3px;
 }

 .qr-code-desc {
     color: #666;
     font-size: 0.95rem;
     line-height: 1.5;
     margin: 1rem 0 0 0;
     max-width: 300px;
 }

 /* Инструкции по использованию QR-кодов */
 .qr-instructions {
     background: #f8f8f8;
     padding: 2rem;
     border-radius: 8px;
     border-left: 3px solid #999;
 }

 .instructions-title {
     font-size: 1.3rem;
     font-weight: 600;
     color: #1a1a1a;
     margin: 0 0 1.5rem 0;
     text-align: center;
 }

 .instructions-list {
     margin: 0;
     padding: 0 0 0 1.5rem;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 1rem;
 }

 @media (max-width: 576px) {
     .instructions-list {
         grid-template-columns: 1fr;
     }
 }

 .instructions-list li {
     color: #555;
     line-height: 1.6;
     padding: 0.5rem 0;
     position: relative;
 }

 .instructions-list li::before {
     content: "•";
     position: absolute;
     left: -1rem;
     color: #666;
     font-weight: bold;
 }

 /* Кнопка для копирования реквизитов (дополнительно) */
 .copy-button {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     background: #f0f0f0;
     color: #333;
     border: 1px solid #ccc;
     padding: 0.5rem 1rem;
     border-radius: 4px;
     font-size: 0.9rem;
     cursor: pointer;
     transition: all 0.3s ease;
     margin-top: 0.5rem;
 }

 .copy-button:hover {
     background: #e0e0e0;
 }

 .copy-button.copied {
     background: #666;
     color: white;
     border-color: #666;
 }

 /* ===========================
   Адаптивность
   =========================== */

 @media (max-width: 992px) {
     .donations-title {
         font-size: 2.2rem;
     }

     .requisites-card,
     .qr-codes-section {
         padding: 2rem;
     }

     .requisites-title,
     .qr-codes-title {
         font-size: 1.6rem;
     }
 }

 @media (max-width: 768px) {
     .donations-page .container {
         padding: 0 15px;
     }

     .donations-header {
         margin-bottom: 2.5rem;
     }

     .donations-title {
         font-size: 2rem;
     }

     .donations-subtitle {
         font-size: 1.1rem;
     }

     .requisites-card,
     .qr-codes-section {
         padding: 1.5rem;
     }

     .requisite-item {
         padding: 0.8rem;
     }

     .notice-highlight {
         font-size: 1rem;
         padding: 0.8rem;
     }

     .qr-instructions {
         padding: 1.5rem;
     }
 }

 @media (max-width: 576px) {
     .donations-page .container {
         padding: 0 12px;
     }

     .donations-content {
         padding: 1rem 0;
     }

     .donations-title {
         font-size: 1.8rem;
     }

     .requisites-card,
     .qr-codes-section {
         padding: 1.2rem;
         border-radius: 6px;
     }

     .requisites-title,
     .qr-codes-title {
         font-size: 1.4rem;
         margin-bottom: 1.5rem;
     }

     .requisite-label {
         font-size: 0.85rem;
     }

     .requisite-value {
         font-size: 0.95rem;
     }

     .qr-code-item {
         padding: 1.5rem;
     }

     .qr-code-name {
         font-size: 1.1rem;
     }
 }

 @media (max-width: 375px) {
     .donations-title {
         font-size: 1.6rem;
     }

     .bank-account {
         font-size: 0.95rem;
         word-break: break-all;
     }
 }

 /* Утилитарные классы для текста */
 .text-muted {
     color: #666;
 }

 .text-dark {
     color: #333;
 }

 .text-light {
     color: #999;
 }

 /* Границы */
 .border-light {
     border-color: #e0e0e0;
 }

 .border-medium {
     border-color: #ccc;
 }

 .border-dark {
     border-color: #999;
 }

 /* Фоны */
 .bg-white {
     background: #ffffff;
 }

 .bg-light {
     background: #f8f8f8;
 }

 .bg-medium {
     background: #f0f0f0;
 }

 .bg-dark {
     background: #e8e8e8;
 }

 /* Эффекты при наведении на ссылки */
 a {
     color: #333;
     text-decoration: none;
     transition: color 0.3s ease;
 }

 a:hover {
     color: #000;
     text-decoration: underline;
 }

 /* Печатная версия */
 @media print {
     .donations-page {
         background: white;
     }

     .donations-title {
         color: black;
     }

     .requisites-card,
     .qr-codes-section {
         box-shadow: none;
         border: 1px solid #ccc;
     }

     .qr-code-link,
     .copy-button {
         display: none;
     }

     .qr-code-image {
         border: 1px solid #999;
     }
 }

 /* ===========================
   Стили для страницы "Служения"
   =========================== */

 /* Основные стили страницы */
 .ministries-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 /* Заголовок страницы */
 .ministries-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 1px solid #e0e0e0;
 }

 .ministries-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 0.8rem 0;
     line-height: 1.2;
 }

 .ministries-subtitle {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
     font-weight: 400;
     line-height: 1.4;
 }

 /* Сетка служений */
 .ministries-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 2rem;
     margin-bottom: 3rem;
 }

 @media (min-width: 992px) {
     .ministries-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 /* Карточка служения */
 .ministry-card {
     background: #ffffff;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
     border: 1px solid #e0e0e0;
     transition: all 0.3s ease;
     height: 100%;
 }

 .ministry-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
     border-color: #ccc;
 }

 /* Ссылка карточки */
 .ministry-link {
     display: flex;
     flex-direction: column;
     height: 100%;
     text-decoration: none;
     color: inherit;
 }

 /* Изображение логотипа */
 .ministry-image {
     display: flex;
     align-items: center;
     justify-content: center;
     height: 200px;
     padding: 2rem;
     background: #f8f8f8;
     border-bottom: 1px solid #e0e0e0;
 }

 .ministry-image img {
     max-width: 100%;
     max-height: 140px;
     width: auto;
     height: auto;
     object-fit: contain;
     transition: transform 0.3s ease;
 }

 .ministry-card:hover .ministry-image img {
     transform: scale(1.05);
 }

 /* Контент карточки */
 .ministry-content {
     padding: 1.5rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .ministry-name {
     font-size: 1.3rem;
     font-weight: 600;
     color: #1a1a1a;
     margin: 0 0 1rem 0;
     line-height: 1.3;
     flex: 1;
 }

 .ministry-description {
     color: #666;
     font-size: 0.95rem;
     line-height: 1.5;
     margin-bottom: 1.5rem;
     min-height: 40px;
     /* Для сохранения единого размера карточек */
 }

 /* Кнопка действия */
 .ministry-action {
     margin-top: auto;
     padding-top: 1rem;
     border-top: 1px solid #e0e0e0;
 }

 .action-text {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     color: #666;
     font-weight: 600;
     font-size: 0.95rem;
     transition: color 0.3s ease;
 }

 .action-text::after {
     content: "→";
     transition: transform 0.3s ease;
 }

 .ministry-card:hover .action-text {
     color: #333;
 }

 .ministry-card:hover .action-text::after {
     transform: translateX(3px);
 }

 /* Состояние для карточек без описания */
 .ministry-card.no-description .ministry-description {
     display: none;
 }

 .ministry-card.no-description .ministry-content {
     justify-content: space-between;
 }

 /* Пустое состояние (если нет служений) */
 .ministries-empty {
     text-align: center;
     padding: 4rem 2rem;
     background: #f8f8f8;
     border-radius: 8px;
     border: 1px dashed #ccc;
 }

 .ministries-empty-icon {
     font-size: 3rem;
     color: #ccc;
     margin-bottom: 1rem;
 }

 .ministries-empty-text {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
 }

 /* ===========================
   Адаптивность для страницы "Служения"
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .ministries-title {
         font-size: 2.2rem;
     }

     .ministries-grid {
         grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
         gap: 1.5rem;
     }

     .ministry-image {
         height: 180px;
         padding: 1.5rem;
     }

     .ministry-image img {
         max-height: 120px;
     }

     .ministry-name {
         font-size: 1.2rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .ministries-page .container {
         padding: 0 15px;
     }

     .ministries-header {
         margin-bottom: 2.5rem;
     }

     .ministries-title {
         font-size: 2rem;
     }

     .ministries-subtitle {
         font-size: 1.1rem;
     }

     .ministries-grid {
         grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
         max-width: 800px;
         margin-left: auto;
         margin-right: auto;
     }

     .ministry-content {
         padding: 1.2rem;
     }

     .ministry-name {
         font-size: 1.15rem;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .ministries-page .container {
         padding: 0 12px;
     }

     .ministries-header {
         margin-bottom: 2rem;
     }

     .ministries-title {
         font-size: 1.8rem;
     }

     .ministries-subtitle {
         font-size: 1rem;
     }

     .ministries-grid {
         grid-template-columns: 1fr;
         max-width: 400px;
         margin: 0 auto 2rem;
     }

     .ministry-card {
         border-radius: 6px;
     }

     .ministry-image {
         height: 160px;
         padding: 1.2rem;
     }

     .ministry-image img {
         max-height: 100px;
     }

     .ministry-content {
         padding: 1rem;
     }

     .ministry-name {
         font-size: 1.1rem;
         margin-bottom: 0.8rem;
     }

     .ministry-description {
         font-size: 0.9rem;
         margin-bottom: 1rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .ministries-title {
         font-size: 1.6rem;
     }

     .ministry-image {
         height: 140px;
     }

     .ministry-image img {
         max-height: 90px;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .ministries-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .ministry-image {
         height: 140px;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .ministries-header {
         margin-bottom: 3rem;
     }

     .ministries-grid {
         gap: 1.8rem;
     }

     .ministry-image {
         height: 180px;
     }

     .ministry-image img {
         max-height: 120px;
     }
 }

 /* Анимации появления */
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .ministry-card {
     animation: fadeInUp 0.5s ease forwards;
     opacity: 0;
 }

 .ministry-card:nth-child(1) {
     animation-delay: 0.1s;
 }

 .ministry-card:nth-child(2) {
     animation-delay: 0.2s;
 }

 .ministry-card:nth-child(3) {
     animation-delay: 0.3s;
 }

 .ministry-card:nth-child(4) {
     animation-delay: 0.4s;
 }

 /* Стили для печати */
 @media print {
     .ministry-card {
         break-inside: avoid;
         box-shadow: none;
         border: 1px solid #999;
     }

     .ministry-image {
         background: #fff;
         border-bottom: 1px solid #ccc;
     }

     .ministry-link {
         color: #000;
     }

     .action-text {
         display: none;
     }
 }

 /* Доступность - focus состояния */
 .ministry-link:focus {
     outline: 2px solid #666;
     outline-offset: 2px;
     border-radius: 4px;
 }

 /* Стили для загрузки изображений */
 .ministry-image.loading {
     background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
     background-size: 200% 100%;
     animation: loading 1.5s infinite;
 }

 @keyframes loading {
     0% {
         background-position: 200% 0;
     }

     100% {
         background-position: -200% 0;
     }
 }

 /* ===========================
   Стили для страницы "Блог"
   =========================== */

 /* Основные стили страницы */
 .blog-page .container {
     max-width: 1200px;
     padding: 0 20px;
 }

 /* Заголовок страницы */
 .blog-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 1px solid #e0e0e0;
 }

 .blog-title {
     font-size: 2.5rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 0.8rem 0;
     line-height: 1.2;
 }

 .blog-subtitle {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
     font-weight: 400;
     line-height: 1.4;
 }

 /* Основной контент блога (две колонки) */
 .blog-content {
     display: grid;
     grid-template-columns: 1fr 300px;
     gap: 3rem;
     align-items: start;
 }

 @media (max-width: 992px) {
     .blog-content {
         grid-template-columns: 1fr;
         gap: 2rem;
     }
 }

 /* Основная колонка с статьями */
 .blog-main {
     display: flex;
     flex-direction: column;
     gap: 2rem;
 }

 /* Заглавная статья */
 .blog-featured {
     border: 1px solid #e0e0e0;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
 }

 .blog-featured:hover {
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
     border-color: #ccc;
 }

 .featured-link {
     display: grid;
     grid-template-columns: 1fr 1fr;
     text-decoration: none;
     color: inherit;
 }

 @media (max-width: 768px) {
     .featured-link {
         grid-template-columns: 1fr;
     }
 }

 .featured-image {
     height: 300px;
     overflow: hidden;
 }

 .featured-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 .blog-featured:hover .featured-image img {
     transform: scale(1.05);
 }

 .featured-content {
     padding: 2rem;
     display: flex;
     flex-direction: column;
     background: #ffffff;
 }

 .featured-title {
     font-size: 1.5rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 1rem 0;
     line-height: 1.3;
 }

 .featured-excerpt {
     color: #666;
     font-size: 1rem;
     line-height: 1.6;
     margin: 0 0 1.5rem 0;
     flex: 1;
 }

 .featured-meta {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding-top: 1rem;
     border-top: 1px solid #e0e0e0;
     font-size: 0.9rem;
     color: #666;
 }

 .featured-author {
     font-weight: 600;
     color: #333;
 }

 .featured-date {
     color: #999;
 }

 /* Сетка статей */
 .blog-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     gap: 2rem;
 }

 /* Карточка статьи в сетке */
 .blog-card {
     border: 1px solid #e0e0e0;
     border-radius: 8px;
     overflow: hidden;
     background: #ffffff;
     transition: all 0.3s ease;
 }

 .blog-card:hover {
     transform: translateY(-3px);
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
     border-color: #ccc;
 }

 /* Боковая колонка */
 .blog-sidebar {
     display: flex;
     flex-direction: column;
     gap: 2.5rem;
 }

 /* Секции боковой колонки */
 .sidebar-section {
     background: #ffffff;
     border: 1px solid #e0e0e0;
     border-radius: 8px;
     padding: 1.5rem;
 }

 .sidebar-title {
     font-size: 1.2rem;
     font-weight: 600;
     color: #1a1a1a;
     margin: 0 0 1.5rem 0;
     padding-bottom: 0.8rem;
     border-bottom: 2px solid #666;
 }

 /* Фильтры по годам */
 .filters-list {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
 }

 .filter-group {
     border: 1px solid #e0e0e0;
     border-radius: 4px;
     overflow: hidden;
 }

 .filter-year {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.8rem 1rem;
     background: #f8f8f8;
     font-weight: 600;
     color: #333;
     cursor: pointer;
     list-style: none;
     transition: background 0.3s ease;
 }

 .filter-year:hover {
     background: #f0f0f0;
 }

 .filter-year::-webkit-details-marker {
     display: none;
 }

 .filter-year::after {
     content: "▸";
     transition: transform 0.3s ease;
 }

 .filter-group[open] .filter-year::after {
     transform: rotate(90deg);
 }

 .filter-count {
     background: #666;
     color: white;
     padding: 0.2rem 0.6rem;
     border-radius: 12px;
     font-size: 0.8rem;
     font-weight: 600;
 }

 .filter-months {
     padding: 0.5rem 1rem;
     background: #ffffff;
     border-top: 1px solid #e0e0e0;
 }

 .filter-month {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.5rem 0;
     color: #666;
     text-decoration: none;
     font-size: 0.95rem;
     border-bottom: 1px solid #f0f0f0;
     transition: color 0.3s ease;
 }

 .filter-month:last-child {
     border-bottom: none;
 }

 .filter-month:hover {
     color: #333;
 }

 .filter-all {
     display: block;
     text-align: center;
     padding: 0.8rem;
     background: #f8f8f8;
     color: #333;
     text-decoration: none;
     font-weight: 600;
     border-radius: 4px;
     margin-top: 1rem;
     transition: background 0.3s ease;
 }

 .filter-all:hover {
     background: #f0f0f0;
 }

 /* Категории */
 .categories-list {
     display: flex;
     flex-direction: column;
     gap: 0.8rem;
 }

 .category-item {
     display: block;
     padding: 0.8rem 1rem;
     background: #f8f8f8;
     color: #333;
     text-decoration: none;
     border-radius: 4px;
     transition: all 0.3s ease;
     border-left: 3px solid #999;
 }

 .category-item:hover {
     background: #f0f0f0;
     color: #1a1a1a;
     border-left-color: #666;
 }

 /* Популярные статьи */
 .popular-posts {
     display: flex;
     flex-direction: column;
     gap: 1rem;
 }

 .popular-post {
     padding-bottom: 1rem;
     border-bottom: 1px solid #f0f0f0;
 }

 .popular-post:last-child {
     padding-bottom: 0;
     border-bottom: none;
 }

 .popular-link {
     text-decoration: none;
     color: inherit;
 }

 .popular-title {
     font-size: 0.95rem;
     font-weight: 600;
     color: #333;
     margin: 0 0 0.3rem 0;
     line-height: 1.3;
     transition: color 0.3s ease;
 }

 .popular-link:hover .popular-title {
     color: #1a1a1a;
 }

 .popular-date {
     font-size: 0.85rem;
     color: #999;
 }

 /* Пагинация */
 .blog-pagination {
     display: flex;
     justify-content: center;
     gap: 0.5rem;
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid #e0e0e0;
 }

 .pagination-link {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 40px;
     height: 40px;
     padding: 0 0.8rem;
     background: #ffffff;
     border: 1px solid #e0e0e0;
     border-radius: 4px;
     color: #333;
     text-decoration: none;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .pagination-link:hover,
 .pagination-link.active {
     background: #666;
     border-color: #666;
     color: white;
 }

 .pagination-link.prev,
 .pagination-link.next {
     font-weight: 600;
 }

 /* ===========================
   Адаптивность
   =========================== */

 @media (max-width: 992px) {
     .blog-title {
         font-size: 2.2rem;
     }

     .featured-title {
         font-size: 1.4rem;
     }

     .blog-grid {
         grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
         gap: 1.5rem;
     }
 }

 @media (max-width: 768px) {
     .blog-page .container {
         padding: 0 15px;
     }

     .blog-header {
         margin-bottom: 2.5rem;
     }

     .blog-title {
         font-size: 2rem;
     }

     .blog-subtitle {
         font-size: 1.1rem;
     }

     .featured-content {
         padding: 1.5rem;
     }

     .featured-title {
         font-size: 1.3rem;
     }

     .featured-excerpt {
         font-size: 0.95rem;
     }

     .sidebar-section {
         padding: 1.2rem;
     }

     .blog-grid {
         grid-template-columns: 1fr;
         max-width: 500px;
         margin: 0 auto;
     }
 }

 @media (max-width: 576px) {
     .blog-page .container {
         padding: 0 12px;
     }

     .blog-header {
         margin-bottom: 2rem;
     }

     .blog-title {
         font-size: 1.8rem;
     }

     .blog-subtitle {
         font-size: 1rem;
     }

     .featured-image {
         height: 200px;
     }

     .featured-content {
         padding: 1.2rem;
     }

     .featured-title {
         font-size: 1.2rem;
     }

     .sidebar-section {
         padding: 1rem;
     }

     .sidebar-title {
         font-size: 1.1rem;
     }
 }

 @media (max-width: 375px) {
     .blog-title {
         font-size: 1.6rem;
     }

     .featured-title {
         font-size: 1.1rem;
     }
 }

 /* Ландшафтная ориентация */
 @media (max-width: 768px) and (orientation: landscape) {
     .featured-link {
         grid-template-columns: 1fr 1fr;
     }

     .featured-image {
         height: 250px;
     }
 }

 /* Высокие экраны мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .featured-image {
         height: 250px;
     }

     .featured-content {
         padding: 1.5rem;
     }
 }

 /* Состояние загрузки */
 .blog-loading {
     display: flex;
     justify-content: center;
     align-items: center;
     min-height: 300px;
 }

 .loading-spinner {
     width: 40px;
     height: 40px;
     border: 3px solid #f3f3f3;
     border-top: 3px solid #666;
     border-radius: 50%;
     animation: spin 1s linear infinite;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 /* Пустое состояние */
 .blog-empty {
     text-align: center;
     padding: 4rem 2rem;
     background: #f8f8f8;
     border-radius: 8px;
     border: 1px dashed #ccc;
 }

 .blog-empty-icon {
     font-size: 3rem;
     color: #ccc;
     margin-bottom: 1rem;
 }

 .blog-empty-text {
     font-size: 1.2rem;
     color: #666;
     margin: 0;
 }

 /* ===========================
   Стили для страницы статьи блога
   =========================== */

 /* Основные стили страницы */
 .article-page .container {
     max-width: 800px;
     padding: 0 20px;
 }

 /* Заголовок статьи */
 .article-header {
     text-align: center;
     margin-bottom: 2rem;
     padding-bottom: 1.5rem;
     border-bottom: 1px solid #e0e0e0;
 }

 .article-title {
     font-size: 2.2rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 1.5rem 0;
     line-height: 1.3;
 }

 .article-meta {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
     gap: 1.5rem;
     color: #666;
     font-size: 0.95rem;
 }

 .article-author,
 .article-date,
 .article-category {
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .article-author::before {
     content: "👤";
 }

 .article-date::before {
     content: "📅";
 }

 .article-category {
     background: #f0f0f0;
     padding: 0.3rem 0.8rem;
     border-radius: 15px;
     font-weight: 600;
 }

 /* Основное изображение статьи */
 .article-image {
     margin: 2rem 0;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
 }

 .article-image img {
     width: 100%;
     height: auto;
     display: block;
 }

 /* Контент статьи */
 .article-content {
     font-size: 1.1rem;
     line-height: 1.8;
     color: #333;
     margin-bottom: 3rem;
 }

 .article-content p {
     margin-bottom: 1.5rem;
     text-align: justify;
 }

 .article-content p:last-child {
     margin-bottom: 0;
 }

 /* Заголовки внутри статьи */
 .article-content h2 {
     font-size: 1.8rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 2.5rem 0 1.2rem 0;
     padding-bottom: 0.5rem;
     border-bottom: 2px solid #666;
 }

 .article-content h3 {
     font-size: 1.5rem;
     font-weight: 600;
     color: #1a1a1a;
     margin: 2rem 0 1rem 0;
 }

 .article-content h4 {
     font-size: 1.2rem;
     font-weight: 600;
     color: #333;
     margin: 1.5rem 0 0.8rem 0;
 }

 /* Списки */
 .views-list {
     margin: 1.5rem 0;
     padding-left: 1.5rem;
     list-style: decimal;
 }

 .views-list li {
     margin-bottom: 0.8rem;
     color: #333;
     font-weight: 500;
 }

 /* Цитаты */
 .article-quote {
     margin: 2rem 0;
     padding: 1.5rem;
     background: #f8f8f8;
     border-left: 4px solid #999;
     border-radius: 0 6px 6px 0;
     font-style: italic;
     color: #555;
     line-height: 1.6;
 }

 .article-quote p {
     margin: 0;
 }

 /* Блок ссылок на источники */
 .article-references {
     margin: 2.5rem 0;
     padding: 1.5rem;
     background: #f0f0f0;
     border-radius: 8px;
     border: 1px solid #ddd;
 }

 .article-references h4 {
     margin-top: 0;
     color: #333;
 }

 .article-references blockquote {
     margin: 1rem 0 0 0;
     padding: 0;
     border-left: none;
 }

 .article-references a {
     color: #333;
     text-decoration: none;
     font-weight: 500;
     border-bottom: 1px solid #999;
     transition: color 0.3s ease, border-color 0.3s ease;
 }

 .article-references a:hover {
     color: #1a1a1a;
     border-bottom-color: #333;
 }

 /* Навигация по статьям */
 .article-navigation {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid #e0e0e0;
 }

 .nav-prev,
 .nav-next,
 .nav-all {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     color: #666;
     text-decoration: none;
     font-weight: 500;
     padding: 0.8rem 1.2rem;
     border: 1px solid #e0e0e0;
     border-radius: 4px;
     transition: all 0.3s ease;
     background: #f8f8f8;
 }

 .nav-prev:hover,
 .nav-next:hover,
 .nav-all:hover {
     background: #f0f0f0;
     color: #333;
     border-color: #ccc;
 }

 .nav-arrow {
     font-weight: 700;
 }

 .nav-all {
     background: #666;
     color: white;
     border-color: #666;
 }

 .nav-all:hover {
     background: #555;
     border-color: #555;
     color: white;
 }

 /* ===========================
   Адаптивность для страницы статьи
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .article-title {
         font-size: 2rem;
     }

     .article-content {
         font-size: 1.05rem;
         line-height: 1.7;
     }

     .article-content h2 {
         font-size: 1.6rem;
     }

     .article-content h3 {
         font-size: 1.4rem;
     }
 }

 /* Планшет (768px и меньше) */
 @media (max-width: 768px) {
     .article-page .container {
         padding: 0 15px;
     }

     .article-header {
         margin-bottom: 1.5rem;
     }

     .article-title {
         font-size: 1.8rem;
     }

     .article-meta {
         gap: 1rem;
         font-size: 0.9rem;
     }

     .article-image {
         margin: 1.5rem 0;
     }

     .article-content {
         font-size: 1rem;
         line-height: 1.7;
     }

     .article-content h2 {
         font-size: 1.5rem;
         margin: 2rem 0 1rem 0;
     }

     .article-content h3 {
         font-size: 1.3rem;
         margin: 1.8rem 0 0.8rem 0;
     }

     .article-navigation {
         flex-direction: column;
         gap: 1rem;
         align-items: stretch;
     }

     .nav-prev,
     .nav-next,
     .nav-all {
         justify-content: center;
         width: 100%;
     }
 }

 /* Мобильные (576px и меньше) */
 @media (max-width: 576px) {
     .article-page .container {
         padding: 0 12px;
     }

     .article-title {
         font-size: 1.6rem;
         margin-bottom: 1.2rem;
     }

     .article-meta {
         flex-direction: column;
         gap: 0.5rem;
         align-items: center;
     }

     .article-author,
     .article-date,
     .article-category {
         font-size: 0.85rem;
     }

     .article-content {
         font-size: 0.95rem;
         line-height: 1.6;
     }

     .article-content p {
         text-align: left;
         margin-bottom: 1.2rem;
     }

     .article-content h2 {
         font-size: 1.4rem;
         margin: 1.8rem 0 1rem 0;
     }

     .article-content h3 {
         font-size: 1.2rem;
         margin: 1.5rem 0 0.8rem 0;
     }

     .article-quote {
         padding: 1.2rem;
         margin: 1.5rem 0;
     }

     .article-references {
         padding: 1rem;
         margin: 2rem 0;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .article-title {
         font-size: 1.5rem;
     }

     .article-content {
         font-size: 0.9rem;
         line-height: 1.5;
     }

     .article-content h2 {
         font-size: 1.3rem;
     }

     .article-content h3 {
         font-size: 1.1rem;
     }
 }

 /* Ландшафтная ориентация на мобильных */
 @media (max-width: 768px) and (orientation: landscape) {
     .article-title {
         font-size: 1.7rem;
     }

     .article-content {
         font-size: 0.95rem;
     }
 }

 /* Для высоких экранов мобильных */
 @media (max-width: 576px) and (min-height: 800px) {
     .article-title {
         font-size: 1.8rem;
     }

     .article-content {
         font-size: 1.05rem;
         line-height: 1.7;
     }

     .article-content h2 {
         font-size: 1.5rem;
     }
 }

 /* Стили для печати */
 @media print {
     .article-page {
         background: white;
     }

     .article-header {
         border-bottom: 1px solid #999;
     }

     .article-title {
         color: black;
     }

     .article-meta {
         color: #555;
     }

     .article-image {
         box-shadow: none;
         border: 1px solid #ccc;
     }

     .article-navigation {
         display: none;
     }

     .article-content a {
         color: black;
         text-decoration: underline;
     }

     .article-references {
         border: 1px solid #999;
         page-break-inside: avoid;
     }
 }

 /* Состояние загрузки изображения */
 .article-image.loading {
     height: 300px;
     background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
     background-size: 200% 100%;
     animation: loading 1.5s infinite;
 }

 @keyframes loading {
     0% {
         background-position: 200% 0;
     }

     100% {
         background-position: -200% 0;
     }
 }

 /* Декоративные элементы */
 .article-content p:first-of-type {
     font-size: 1.15rem;
     line-height: 1.8;
     color: #444;
 }

 /* Улучшение читаемости длинного текста */
 .article-content {
     hyphens: auto;
     text-align: justify;
 }

 /* ===========================
   Адаптивность - УЛУЧШЕННАЯ
   =========================== */

 /* Планшет (992px и меньше) */
 @media (max-width: 992px) {
     .inner-header-title {
         font-size: 2.8rem;
     }

     .inner-header-bg {
         height: 450px;
     }

     .page-main-content {
         padding: 3.5rem 0;
     }

     .content-inner h2 {
         font-size: 2rem;
     }

     .content-inner h3 {
         font-size: 1.6rem;
     }

     .subnav-link {
         padding: 1.2rem 0.3rem;
         font-size: 0.9rem;
     }
 }

 /* Планшет (768px и меньше) - ГОРИЗОНТАЛЬНЫЕ КНОПКИ */
 @media (max-width: 768px) {
     .inner-header-title {
         font-size: 2.4rem;
         text-align: center;
     }

     .inner-header-content {
         text-align: center;
         padding: 2.5rem 0;
     }

     .inner-header-bg {
         height: 400px;
         background-position: center center;
     }

     .page-main-content {
         padding: 3rem 0;
     }

     .content-inner {
         max-width: 100%;
     }

     .content-inner h2 {
         font-size: 1.8rem;
     }

     .content-inner h3 {
         font-size: 1.4rem;
     }

     .content-inner p {
         font-size: 1rem;
     }

     /* Горизонтальное меню на планшете */
     .subnav-menu {
         display: flex;
         flex-wrap: wrap;
         width: 100%;
     }

     .subnav-item {
         flex: 0 0 50%;
         max-width: 50%;
     }

     .subnav-link {
         padding: 1.2rem 0.5rem;
         font-size: 0.95rem;
         text-align: center;
         border: none;
         transition: background-color 0.3s ease;
         display: flex;
         align-items: center;
         justify-content: center;
         min-height: 70px;
     }

     .subnav-link:hover {
         background-color: var(--primary-green-dark);
     }

     .subnav-item.active .subnav-link {
         background-color: var(--primary-green-dark);
     }
 }

 /* Мобильные (576px и меньше) - ВЕРТИКАЛЬНЫЕ КНОПКИ */
 @media (max-width: 576px) {
     .inner-header-title {
         font-size: 2rem;
     }

     .inner-header-bg {
         height: 350px;
     }

     .page-main-content {
         padding: 2.5rem 0;
     }

     .container {
         padding: 0;
     }

     .content-inner h2 {
         font-size: 1.6rem;
     }

     .content-inner h3 {
         font-size: 1.3rem;
     }

     /* Вертикальное меню на мобильных */
     .subnav-menu {
         flex-direction: column;
         width: 100%;
     }

     .page-subnav .container {
         padding: 0;
     }

     .subnav-item {
         flex: none;
         width: 100%;
         max-width: 100%;
     }

     .subnav-link {
         padding: 1.3rem 1rem;
         font-size: 1rem;
         text-align: center;
         justify-content: center;
         border-bottom: 1px solid rgba(255, 255, 255, 0.2);
         min-height: 65px;
         display: flex;
         align-items: center;
         width: 100%;
     }

     .subnav-link:hover {
         background-color: var(--primary-green-dark);
     }

     .subnav-item.active .subnav-link {
         background-color: var(--primary-green-dark);
     }

     /* Убираем последнюю границу */
     .subnav-item:last-child .subnav-link {
         border-bottom: none;
     }

     /* Центрируем контент контейнера на мобильных */
     .page-main-content .container,
     .inner-header-content .container {
         padding: 0 1.2rem;
     }
 }

 /* Очень маленькие экраны (375px и меньше) */
 @media (max-width: 375px) {
     .inner-header-title {
         font-size: 1.8rem;
     }

     .inner-header-bg {
         height: 320px;
     }

     .page-main-content {
         padding: 2rem 0;
     }

     .subnav-link {
         padding: 1.1rem 0.8rem;
         font-size: 0.95rem;
         min-height: 60px;
     }

     .content-inner h2 {
         font-size: 1.5rem;
     }

     .content-inner h3 {
         font-size: 1.2rem;
     }
 }

 /* Для мобильных в альбомной ориентации */
 @media (max-width: 768px) and (orientation: landscape) {
     .inner-header-bg {
         height: 300px;
     }

     /* Ландшафт - горизонтальное меню 3 в ряд */
     .subnav-menu {
         flex-direction: row;
         flex-wrap: wrap;
     }

     .subnav-item {
         flex: 0 0 33.333%;
         max-width: 33.333%;
     }

     .subnav-link {
         padding: 0.9rem 0.3rem;
         font-size: 0.85rem;
         min-height: 60px;
     }
 }

 /* Для очень высоких мобильных устройств */
 @media (max-width: 576px) and (min-height: 800px) {
     .subnav-link {
         padding: 1.5rem 1rem;
         min-height: 75px;
         font-size: 1.05rem;
     }
 }

 /* ===========================
        Media Queries
       =========================== */

 @media (max-width: 768px) {
     .footer-links {
         gap: 1rem;
         margin-bottom: 1rem;
     }

     .footer-links .footer-link {
         font-size: 0.9rem;
     }
 }

 @media (max-width: 480px) {
     .footer-links {
         flex-direction: column;
         gap: 0.7rem;
         align-items: center;
     }

     .footer-links .footer-link {
         white-space: normal;
         text-align: center;
         padding: 0.2rem 0;
     }
 }

 @media (max-width: 360px) {
     .footer-links .footer-link {
         font-size: 0.85rem;
     }
 }

 @media (max-width: 768px) {
     main {
         padding-bottom: 60px;
     }

     .section-title {
         font-size: 1.8rem;
         margin-bottom: 1.5rem;
     }

     .header {
         flex-direction: column;
         height: auto;
         padding: 1rem;
     }

     .nav-menu {
         position: absolute;
         top: 100%;
         left: 0;
         right: 0;
         background: var(--primary-black);
         padding: 1rem;
     }

     .nav-menu.active {
         display: block;
     }

     .main-menu {
         flex-direction: column;
         gap: 0;
     }

     .main-menu>li {
         height: auto;
         display: block;
     }

     .logo-img {
         /* height: 30px; */
         margin-right: 1rem;
     }

     .hamburger {
         display: block;
     }

     .dropdown:hover .submenu {
         display: none;
     }

     .dropdown.active .submenu {
         display: block;
         position: static;
         background: #333;
         margin-top: 0.5rem;
     }

     .submenu {
         position: static;
         border: none;
         padding-left: 1.5rem;
         background: #333;
         min-width: unset;
     }

     .hero-section {
         height: 60vh;
         min-height: 400px;
     }

     .hero-title {
         font-size: 1.5rem;
     }

     .doctrine-grid {
         grid-template-columns: 1fr;
     }

     .doctrine-item {
         /* Убираем фиксированную высоту */
         height: auto;
         min-height: auto;

         /* Даем контенту занимать нужное пространство */
         display: block;
     }

     .doctrine-title {
         font-size: 1.2rem;
         transform: translateY(0);
         background: rgba(0, 0, 0, 0.5);
     }

     .worship-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }

     .news-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }

     .about-content {
         padding: 2rem 1rem;
     }

     .about-grid {
         grid-template-columns: 1fr;
     }

     .footer-notice {
         margin-bottom: 1.5rem;
         padding: 1rem;
     }

     .footer-notice-text {
         font-size: 0.85rem;
         hyphens: auto;
     }

     .footer-notice-details {
         font-size: 0.8rem;
     }

     .footer-container {
         grid-template-columns: 1fr;
         gap: 2.5rem;
     }
 }

 @media (max-width: 480px) {
     .footer-notice {
         margin-bottom: 1rem;
         padding: 0.8rem;
     }

     .footer-notice-text {
         font-size: 0.8rem;
         line-height: 1.4;
     }

     .footer-notice-details {
         font-size: 0.75rem;
     }

     .footer-heading {
         font-size: 1rem;
     }

     .footer-text {
         font-size: 0.85rem;
     }

     .footer-link {
         font-size: 0.85rem;
         flex-wrap: wrap;
         justify-content: center;
     }

     .footer-copyright p {
         font-size: 0.8rem;
     }

     .section {
         padding: 2rem 0;
     }

     .worship-card {
         padding: 1rem;
     }

     .news-image {
         height: 150px;
     }

     .about-content {
         padding: 1.5rem 0.5rem;
     }

     .news-date {
         font-size: 0.8rem;
     }

     .hero-title {
         font-size: 1.2rem;
     }
 }

@media (min-width: 768px) {
    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
     }

     .nav-menu {
         flex-direction: row;
         display: flex !important;
         margin-top: 0;
         position: static;
         background: none;
         padding: 0;
     }

    .hamburger {
        display: none !important;
    }
}

/* ===========================
   Global Responsive Refinements
   =========================== */
html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

img,
svg,
iframe,
video {
    max-width: 100%;
}

iframe {
    width: 100%;
}

a {
    overflow-wrap: anywhere;
}

.container {
    width: min(100%, 1200px);
    margin: 0 auto;
    padding-left: clamp(16px, 3vw, 24px);
    padding-right: clamp(16px, 3vw, 24px);
}

.header {
    gap: 1.5rem;
}

.header-content {
    width: auto;
    flex: 0 0 auto;
    gap: 1rem;
}

.nav-menu {
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

.main-menu {
    flex-wrap: wrap;
    justify-content: flex-end;
}

#google_translate_element {
    position: static;
    top: auto;
    right: auto;
    margin-left: auto;
}

.hero-section {
    height: auto;
    min-height: clamp(460px, 72vh, 735px);
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.hero-container {
    display: flex;
    align-items: center;
}

.hero-title {
    overflow-wrap: anywhere;
}

.page-main-content {
    padding: clamp(2rem, 4vw, 3.5rem) 0;
}

/* .page-subnav {
    overflow-x: auto;
} */

.subnav-menu {
    flex-wrap: wrap;
}

.subnav-link {
    overflow-wrap: anywhere;
}

.calendar-container,
.calendar-frame {
    width: 100%;
}

.calendar-frame {
    min-height: min(75vh, 900px);
}

.contacts-grid,
.blog-content,
.featured-link,
.footer-grid {
    min-width: 0;
}

.contacts-info,
.blog-main,
.blog-sidebar,
.featured-content,
.footer-column {
    min-width: 0;
}

.featured-meta,
.hours-item,
.contact-item,
.address-item {
    gap: 0.75rem;
}

.featured-meta {
    flex-wrap: wrap;
}

.footer-image {
    max-width: min(100%, 500px);
}

.footer-notice-text,
.footer-notice-details,
.contact-link,
.church-address,
.featured-excerpt,
.popular-title {
    overflow-wrap: anywhere;
}

@media (max-width: 1200px) {
    .header {
        padding-left: 24px;
        padding-right: 24px;
    }

    .main-menu {
        gap: 0.15rem;
    }

    .main-menu a {
        padding: 0 0.7rem;
        font-size: 0.82rem;
    }
}

@media (max-width: 992px) {
    .header {
        flex-wrap: wrap;
        height: auto;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .header-content {
        width: 100%;
        justify-content: space-between;
    }

    .nav-menu {
        width: 100%;
    }

    .main-menu {
        justify-content: flex-start;
    }

    .subnav-item {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .contacts-grid {
        gap: 2rem;
    }

    .blog-grid {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
}

@media (max-width: 768px) {
    html,
    body {
        padding-bottom: 0;
    }

    .header {
        padding: 0.9rem 1rem;
        gap: 0;
    }

    .header-content {
        width: 100%;
        min-width: 0;
    }

    .header-left {
        min-width: 0;
    }

    .logo-img {
        height: 58px;
        margin: 0;
    }

    #google_translate_element {
        margin-left: 0;
        margin-right: 0.75rem;
        transform-origin: right center;
        transform: scale(0.95);
    }

    .nav-menu {
        top: 100%;
        max-height: calc(100vh - 88px);
        padding: 1rem 1rem 1.5rem;
    }

    .main-menu {
        width: 100%;
    }

    .main-menu a {
        width: 100%;
        min-height: 48px;
        padding: 0.85rem 0;
    }

    .submenu a {
        white-space: normal;
    }

    .hero-section {
        min-height: clamp(400px, 65vh, 580px);
        padding: 2rem 0;
    }

    .hero-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .hero-block {
        width: 100%;
        margin: 0;
    }

    .hero-title {
        font-size: clamp(1.9rem, 6vw, 2.4rem);
    }

    .hero-text {
        font-size: 1rem;
    }

    .page-subnav {
        overflow-x: visible;
    }

    .subnav-menu {
        width: 100%;
    }

    .subnav-link {
        min-height: 56px;
    }

    .contacts-grid,
    .featured-link,
    .blog-content,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .contacts-map,
    .contacts-info,
    .blog-main,
    .blog-sidebar {
        width: 100%;
    }

    .featured-image,
    .map-image {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .featured-content,
    .sidebar-section,
    .contact-block {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .footer-grid {
        gap: 2rem;
    }

    .footer-column {
        padding: 0;
    }

    .calendar-frame {
        min-height: 70vh;
    }
}

@media (max-width: 576px) {
    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .header {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .header-content {
        gap: 0.5rem;
    }

    #google_translate_element {
        margin-right: 0.5rem;
        transform: scale(0.88);
    }

    .goog-te-gadget-simple {
        padding: 4px 10px !important;
        font-size: 12px !important;
    }

    .hero-block {
        padding: 1.25rem;
    }

    .hero-title {
        font-size: clamp(1.65rem, 8vw, 2rem);
        margin-bottom: 1rem;
    }

    .hero-text-block {
        margin-bottom: 1.5rem;
    }

    .welcome-title,
    .events-title,
    .blog-title,
    .contacts-title,
    .donations-title,
    .ministries-title,
    .team-title,
    .calendar-title {
        font-size: clamp(1.7rem, 7vw, 2.1rem);
    }

    .subnav-item {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .subnav-link {
        font-size: 0.95rem;
        padding: 1rem 0.85rem;
    }

    .featured-content,
    .sidebar-section,
    .contact-block,
    .events-content {
        padding: 1rem;
    }

    .featured-meta,
    .hours-item,
    .contact-item,
    .address-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .footer-top,
    .footer-middle,
    .footer-bottom,
    .footer-image-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .footer-heading {
        font-size: 1.05rem;
    }

    .footer-text,
    .footer-list-item,
    .footer-link {
        font-size: 0.95rem;
    }

    .calendar-frame {
        min-height: 60vh;
    }
}

@media (max-width: 375px) {
    .logo-img {
        height: 50px;
    }

    #google_translate_element {
        transform: scale(0.8);
        margin-right: 0.25rem;
    }

    .hamburger {
        width: 36px;
        height: 36px;
    }

    .hamburger-icon {
        font-size: 1.5rem;
    }

    .main-menu a {
        font-size: 0.9rem;
    }

    .hero-title {
        font-size: 1.55rem;
    }

    .hero-button {
        max-width: 100%;
    }

    .calendar-frame {
        min-height: 55vh;
    }
}
