@layer sections {

/* ============================================
   МАКЕТ — ПЕРЕНЕСЕНО (Етап E, 2026-08-24)
   ============================================

   252 рядків із 67 !important переїхали у components/layout.css.
   ============================================ */


/* ============================================
   СХОЖІ СТАТТІ (RELATED POSTS)
   ============================================ */




/* ============================================
   СХОЖІ СТАТТІ (RELATED POSTS)
   ============================================ */

/* Контейнер блоку схожих статей */
.related-posts-block {
    margin-top: 4em;
    padding-top: 2em;
    border-top: 1px solid #e5e5e5;
}

/* Заголовок секції "Схожі статті" */
.related-posts-block > h2,
.related-posts-block > .wp-block-heading {
    font-size: 1.8em !important; /* Зменшено з 2.5em */
    margin-bottom: 1.5em !important;
    text-align: center !important;
}

/* Сітка схожих статей */
.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2em;
}

/* Заголовки самих статей у блоці схожих */
.related-posts-grid h3,
.related-posts-grid .wp-block-post-title {
    font-size: 1.2em !important; /* Значно менший розмір */
    line-height: 1.4 !important;
    margin-bottom: 0.5em !important;
    font-weight: 700 !important;
}

.related-posts-grid h3 a,
.related-posts-grid .wp-block-post-title a {
    text-decoration: none !important;
    color: #1a1a1a !important;
    transition: color 0.3s ease !important;
}

.related-posts-grid h3 a:hover,
.related-posts-grid .wp-block-post-title a:hover {
    color: var(--wp--preset--color--accent) !important;
}

/* Зменшуємо дату/мета дані в схожих статтях */
.related-posts-grid .wp-block-post-date {
    font-size: 0.8em !important;
    color: #888 !important;
}

/* ============================================
   ТИПОГРАФІКА КОНТЕНТУ — ПЕРЕНЕСЕНО (Етап E, 2026-08-24)
   ============================================

   259 рядків із 97 !important переїхали у components/content.css.
   ============================================ */

/* ============================================
   ЗАГОЛОВКИ СТОРІНОК
   ============================================ */

/* Етап B (2026-08-24): прибрано блокове приховування H1.
 *
 * Раніше тут стояло `display: none !important` для .wp-block-post-title і .hero-title
 * з поясненням "їх роль виконують хлібні крихти". Наслідок був такий:
 *   - на /about/, /contacts/ і будь-якій сторінці H1 не показувався;
 *   - на /блог/ і в архівах H1 не показувався;
 *   - у статті H1 не показувався — вона починалась одразу з крихт і картинки.
 * Виняток нижче (.single .wp-block-post-title) не рятував: селектор приховування
 * .wp-block-post-title:not(.post-card-title):not(h3) має специфічність 0,3,1,
 * а виняток — 0,2,0, тому приховування перемагало навіть з !important в обох.
 *
 * У підсумку єдиним видимим H1 на всьому сайті був .wp-block-site-title у футері,
 * тобто назва сайту замість назви сторінки. Для SEO це втрата головного on-page
 * сигналу на кожній сторінці.
 *
 * Тепер H1 показується скрізь. Хлібні крихти лишаються як навігація, а не як заголовок.
 * Стилі самих заголовків — нижче і в секції "СТИЛІЗАЦІЯ ОКРЕМОГО ПОСТА".
 */

/* ВИКЛЮЧЕННЯ: Для окремих постів (single post) заголовок потрібен!
 *
 * :not(.post-card-title) додано 2026-08-30. Селектор .single .wp-block-post-title
 * ловив не лише H1 самої статті, а й заголовки карток у «Схожих статтях» —
 * вони теж мають клас wp-block-post-title. У картці 335px завширшки
 * заголовок ставав 44px, слова переносились по складах («правильн/о»),
 * а сама картка виростала до 623px висоти. */
.single-post .main-column > h1,
.single-post .wp-block-post-title:not(.post-card-title),
.single .wp-block-post-title:not(.post-card-title) {
    display: block !important;
    
    font-family: 'Playfair Display', serif;
    font-size: 2.5em !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #1a1a1a !important;
    margin-top: 0 !important;
    margin-bottom: 0.5em !important;
    line-height: 1.2 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* Примусово видаляємо псевдоелементи, які можуть створювати лінію */
.single-post .main-column > h1::after,
.single-post .wp-block-post-title::after,
.single .wp-block-post-title::after {
    content: none !important;
    display: none !important;
}

/* ============================================
   YOAST SEO BREADCRUMBS (Мінімалістичні)
   ============================================ */

/* Етап F (2026-08-24): стилі крихт Yoast видалені — шаблони перейшли на
 * нативний блок core/breadcrumbs (WP 7.0), а його стилі живуть
 * у components/breadcrumbs.css. Тут було 17 !important.
 *
 * Принагідно виправлено контраст: старий колір #888 на світлому давав 3.5:1,
 * тобто крихти формально не проходили AA. Новий #767676 дає 4.6:1. */

/* Видаляємо старі стилі Hero, які заважали */
.hero-section.page-hero {
    display: none !important; 
}

/* ============================================
   ВАРІАНТ 1: Мінімалістичний & Чистий
   ============================================ */

.posts-section-wrapper {
    /* Без рамки - прозорий контейнер */
    border: none;
    border-radius: 0;
    padding: 0;
    
    margin-bottom: 4em;
    
    background: transparent; /* Прозорий фон, щоб картки виділялися */
    
    box-shadow: none;
    
    position: relative;
}

.posts-section-wrapper .wp-block-heading {
    /* Великий жирний заголовок */
    font-size: 1.8em;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: -0.02em;
    
    /* Звичайний регістр (не uppercase) */
    text-transform: none;
    
    /* Відступи */
    margin-top: 0;
    margin-bottom: 1.8em;
    padding-bottom: 0.5em;
    
    /* Тонка золота лінія знизу заголовка */
    border-bottom: 2px solid var(--wp--preset--color--accent);
    
    /* Прибираємо стилі бейджа */
    display: block;
    background-color: transparent;
    border-radius: 0;
}

/* Прибираємо золоте сяйво */
.posts-section-wrapper::before {
    display: none;
}

/* --- КОНТЕНТНІ БЛОКИ ---
   Етап C/D (2026-08-24): картка зони читання переїхала у
   components/content.css — разом із fluid-падінгом замість жорсткого 2.5em.
   Тут правило видалено свідомо: воно шароване, і якби лишилось,
   продовжувало б задавати padding паралельно з компонентом. */

.content-block::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 100px;
    height: 100px;
    background: radial-gradient(
        circle,
        rgba(212, 175, 55, 0.2) 0%,
        transparent 70%
    );
    pointer-events: none;
}

/* Контент поста займає всю доступну ширину */
.content-block .wp-block-post-content,
.content-block .wp-block-post-title,
.content-block .wp-block-post-featured-image {
    max-width: 100%;
}

/* ============================================
   СТИЛІЗАЦІЯ ОКРЕМОГО ПОСТА (single.html)
   ============================================ */

/* Ті самі 2.5em, і той самий виняток для карток — див. коментар вище */
.single .wp-block-post-title:not(.post-card-title),
.main-column .content-block .wp-block-post-title:not(.post-card-title),
.main-column .content-block > h1,
.main-column .content-block > .wp-block-heading:first-child {
    font-size: 2.5em !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 0.5em !important;
    color: #1a1a1a !important;
    position: relative;
    padding-bottom: 0.5em !important;
    margin-top: 0 !important;
}

.single .wp-block-post-title::after,
.main-column .content-block .wp-block-post-title::after,
.main-column .content-block > h1::after,
.main-column .content-block > .wp-block-heading:first-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(
        90deg,
        var(--wp--preset--color--accent) 0%,
        #f4d03f 50%,
        var(--wp--preset--color--accent) 100%
    );
    border-radius: 2px;
}

/* Етап B: заголовки сторінок центровані (.hero-title має text-align:center),
   тому золоту риску теж центруємо — раніше вона висіла ліворуч під центром. */
.main-column .content-block > .hero-title::after,
.main-column .content-block > h1.hero-title::after {
    left: 50%;
    transform: translateX(-50%);
}

.single .wp-block-post-date,
.single .wp-block-post-author,
.content-block .wp-block-post-date,
.content-block .wp-block-post-author {
    color: #666;
    font-size: 0.95em;
}

.single .wp-block-post-date::before,
.content-block .wp-block-post-date::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23d4af37'><path d='M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l80 0 0 56-80 0 0-56zm0 104l80 0 0 64-80 0 0-64zm128 0l96 0 0 64-96 0 0-64zm144 0l80 0 0 64-80 0 0-64zm80-48l-80 0 0-56 80 0 0 56zm0 160l0 40c0 8.8-7.2 16-16 16l-64 0 0-56 80 0zm-128 0l0 56-96 0 0-56 96 0zm-144 0l0 56-64 0c-8.8 0-16-7.2-16-16l0-40 80 0zM272 248l-96 0 0-56 96 0 0 56z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.2em;
    margin-right: 0.3em;
}

.single .wp-block-post-author::before,
.content-block .wp-block-post-author::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23d4af37'><path d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.2em;
    margin-right: 0.3em;
}

.single .wp-block-post-featured-image,
.content-block .wp-block-post-featured-image {
    margin: 2em 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    border: 3px solid var(--wp--preset--color--accent);
}

.single .wp-block-post-featured-image img,
.content-block .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

.single .wp-block-post-content,
.content-block .wp-block-post-content {
    font-size: 1.1em;
    line-height: 1.8;
    color: #333;
}

.single .wp-block-post-content p,
.content-block .wp-block-post-content p {
    margin-bottom: 1.5em;
}

/* H2/H3 в постах - стилі в блоці "ЄДИНИЙ СТИЛЬ" нижче */

/* Цитати в постах - стилі успадковуються від .main-column blockquote */

/* Списки в постах - стилі успадковуються від .main-column ul/ol */

/* ============================================
   ЄДИНИЙ СТИЛЬ ДЛЯ ВСІХ СТОРІНОК З ЗОЛОТИМ АКЦЕНТОМ
   ============================================ */

/* Всі H1 заголовки на сторінках */
.main-column h1,
.main-column .wp-block-heading:first-of-type {
    font-size: 2.5em;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 0.8em;
    margin-top: 0;
    color: #1a1a1a;
    position: relative;
    padding-bottom: 0.5em;
}

/* Прибрано декоративну лінію під H1 */

/* Всі H2 заголовки (в т.ч. прямо в .content-block) */
.main-column h2,
.content-block h2,
.main-column .wp-block-heading h2 {
    font-size: 1.8em;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: 0.8em;
    color: #1a1a1a;
}

/* Перший H2 після H1 - менший відступ зверху */
.main-column h1 + h2,
.main-column h1 + .wp-block-heading h2 {
    margin-top: 0.5em;
}

/* Всі H3 заголовки */
.main-column h3,
.content-block h3,
.main-column .wp-block-heading h3 {
    font-size: 1.4em;
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: 0.7em;
    color: #1a1a1a;
    position: relative;
    padding-left: 0; /* Прибираємо відступ під трикутник за замовчуванням */
}

/* Трикутник тільки для заголовків у статтях (single post), де це доречно */
.single-post .main-column h3::before,
.single-post .content-block h3::before {
    content: '▸';
    position: absolute;
    left: -1.2em; /* Виносимо вліво */
    color: var(--wp--preset--color--accent);
    font-weight: 900;
}

/* Прибираємо трикутники для інших сторінок */
.main-column h3::before,
.content-block h3::before {
    content: none;
    display: none;
}

/* Параграфи */
.main-column p,
.content-block p {
    line-height: 1.8;
    margin-bottom: 1.2em;
    color: #333;
    font-size: 1em; /* Базовий розмір */
}

/* Специфічно для "has-large-font-size" робимо трохи меншим ніж стандартний large */
.has-large-font-size {
    font-size: 1.15em !important; /* Було ~1.5em, зменшуємо */
    line-height: 1.6 !important;
}

/* Списки (тільки текстові — структурні <ul> блоків виключені, див. Етап B вище) */
.main-column ul:not(.wp-block-post-template):not(.wp-block-navigation__container):not(.wp-block-social-links):not(.wp-block-page-list):not(.wp-block-comment-template),
.main-column ol:not(.wp-block-post-template):not(.wp-block-comment-template),
.content-block ul:not(.wp-block-post-template):not(.wp-block-navigation__container):not(.wp-block-social-links):not(.wp-block-page-list):not(.wp-block-comment-template),
.content-block ol:not(.wp-block-post-template):not(.wp-block-comment-template) {
    margin-left: 1.5em;
    margin-bottom: 1.5em;
    line-height: 1.7;
}

.main-column ul li::marker,
.content-block ul li::marker {
    color: var(--wp--preset--color--accent);
}

.main-column ol li::marker,
.content-block ol li::marker {
    color: var(--wp--preset--color--accent);
    font-weight: 700;
}

/* Цитати - стилі визначені в блоці .wp-block-quote (рядки 819-911) */

/* Посилання в контенті */
.main-column a:not(.read-more-btn):not(.share-btn):not(.post-category-badge),
.content-block a:not(.read-more-btn):not(.share-btn) {
    color: var(--wp--preset--color--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: all 0.3s ease;
}

.main-column a:not(.read-more-btn):not(.share-btn):not(.post-category-badge):hover,
.content-block a:not(.read-more-btn):not(.share-btn):hover {
    color: #1a1a1a;
    text-decoration-thickness: 2px;
}

/* Таблиці */
.main-column table,
.content-block table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
}

.main-column table th,
.content-block table th {
    background: linear-gradient(
        135deg,
        var(--wp--preset--color--accent) 0%,
        #f4d03f 100%
    );
    color: #000;
    padding: 1em;
    text-align: left;
    font-weight: 700;
}

.main-column table td,
.content-block table td {
    padding: 0.8em 1em;
    border-bottom: 1px solid #e5e5e5;
}

.main-column table tr:hover,
.content-block table tr:hover {
    background: #fafafa;
}

/* Код (справжній блок коду) */
.main-column code,
.content-block code {
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    border-left: 3px solid var(--wp--preset--color--accent);
    padding: 0.2em 0.5em;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    color: #333; /* Явно темний колір */
}

/* Блок Preformatted (для тексту, як у Політиці) - СВІТЛИЙ */
.wp-block-preformatted {
    background: transparent !important;
    color: #333 !important; /* Темний текст */
    border: none !important;
    padding: 0 !important;
    margin: 1.5em 0 !important;
    font-family: inherit !important; /* Шрифт як у звичайного тексту */
    white-space: pre-wrap !important; /* Зберігаємо переноси рядків */
    font-size: 1em !important;
    overflow-x: hidden !important; /* Щоб не було скролу */
}

/* Блок Code (для програмування) - ТЕМНИЙ */
.wp-block-code {
    background: #1a1a1a !important;
    color: #f5f5f5 !important;
    padding: 1.5em !important;
    border-radius: 8px !important;
    border-left: 4px solid var(--wp--preset--color--accent) !important;
    font-family: 'Courier New', monospace !important;
}

/* Старі селектори для сумісності (оновлені) */
.main-column pre:not(.wp-block-preformatted),
.content-block pre:not(.wp-block-preformatted) {
    background: #1a1a1a;
    color: #f5f5f5;
    padding: 1.5em;
    border-radius: 8px;
    overflow-x: auto;
    margin: 2em 0;
    border-left: 4px solid var(--wp--preset--color--accent);
}

.main-column pre code,
.content-block pre code {
    background: transparent;
    border: none;
    color: #f5f5f5;
    padding: 0;
}

/* Роздільники (HR) */
.main-column hr,
.content-block hr {
    border: none;
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--wp--preset--color--accent) 50%,
        transparent 100%
    );
    margin: 3em 0;
}

/* Етап E (2026-08-24): базові кнопки контенту переїхали в components/button.css.
 *
 * Тут було 16 !important. Важливо: сам факт їх існування ЛАМАВ компонент —
 * шароване !important перебиває нешароване звичайне правило. Тобто «дописати
 * поруч новий чистий CSS» не працює: старе правило треба саме прибирати. */

/* ============================================
   КОНТАКТИ І ФОРМА — ПЕРЕНЕСЕНО (Етап E, 2026-08-24)
   ============================================

   ~450 рядків із 75 !important переїхали у components/contacts.css.
   Там вони не потрібні: компонент поза шарами.
   ============================================ */


/* ============================================
   ЗОБРАЖЕННЯ В КОНТЕНТІ
   ============================================ */

.main-column .wp-block-image,
.content-block .wp-block-image {
    margin: 2em 0;
}

.main-column .wp-block-image img,
.content-block .wp-block-image img {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.main-column .wp-block-image img:hover,
.content-block .wp-block-image img:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.main-column .wp-block-image figcaption,
.content-block .wp-block-image figcaption {
    text-align: center;
    font-size: 0.9em;
    color: #666;
    margin-top: 0.8em;
    font-style: italic;
}

/* Підсвічені зображення */
.main-column .wp-block-image.is-style-rounded img,
.content-block .wp-block-image.is-style-rounded img {
    border-radius: 50%;
    border: 4px solid var(--wp--preset--color--accent);
}

/* ============================================
   КАРТКИ, ГАЛЕРЕЇ, CTA — ПЕРЕНЕСЕНО (Етап E, 2026-08-24)
   ============================================

   419 рядків із 92 !important переїхали у components/card.css.
   ============================================ */

/* ============================================
   ІНТЕРФЕЙСНІ ЕЛЕМЕНТИ
   ============================================ */

/* Кнопка «вгору» переїхала у components/footer.css (2026-08-24).
   Тут вона лежала одразу після зламаного коментаря — і саме тому зникла
   з екрана: парсер CSS відкидав правило разом зі сміттям перед ним. */

/* === КНОПКИ "ПОДІЛИТИСЯ" (ПОКРАЩЕНИЙ ДИЗАЙН) === */
.share-buttons-container {
    background-color: #f9f9f9;
    padding: 1em 1.5em;
    border-radius: 6px;
    margin-top: 2em;
    border: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    flex-wrap: nowrap;
}

.share-buttons-container h5,
.share-buttons-container .wp-block-heading {
    color: #666 !important;
    margin: 0 !important;
    font-size: 0.75em !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1 !important;
}

.share-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.share-btn i,
.share-btn svg.lb-icon {
    color: var(--wp--preset--color--accent);
    transition: all 0.3s ease;
}

/* Facebook - ЗОЛОТИЙ СТИЛЬ */
.share-btn.share-facebook {
    background-color: #000000;
    border: 1px solid #333;
}

.share-btn.share-facebook:hover {
    background-color: #1a1a1a;
    transform: scale(1.15);
    border-color: var(--wp--preset--color--accent);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* X (Twitter) - ЗОЛОТИЙ СТИЛЬ */
.share-btn.share-x {
    background-color: #000000;
    border: 1px solid #333;
}

.share-btn.share-x:hover {
    background-color: #1a1a1a;
    transform: scale(1.15);
    border-color: var(--wp--preset--color--accent);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Telegram - ЗОЛОТИЙ СТИЛЬ */
.share-btn.share-telegram {
    background-color: #000000;
    border: 1px solid #333;
}

.share-btn.share-telegram:hover {
    background-color: #1a1a1a;
    transform: scale(1.15);
    border-color: var(--wp--preset--color--accent);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Viber - ЗОЛОТИЙ СТИЛЬ */
.share-btn.share-viber {
    background-color: #000000;
    border: 1px solid #333;
}

.share-btn.share-viber:hover {
    background-color: #1a1a1a;
    transform: scale(1.15);
    border-color: var(--wp--preset--color--accent);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Copy Link - ЗОЛОТИЙ СТИЛЬ */
.share-btn.share-copy {
    background-color: #000000;
    border: 1px solid #333;
}

.share-btn.share-copy:hover {
    background-color: #1a1a1a;
    transform: scale(1.15);
    border-color: var(--wp--preset--color--accent);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Іконки в кнопках - завжди золоті */
.share-btn i,
.share-btn svg.lb-icon {
    color: var(--wp--preset--color--accent);
    transition: all 0.3s ease;
}

.share-btn:hover i,
.share-btn:hover svg.lb-icon {
    color: #fff;
}

/* ============================================
   ЗАХИСТ ВІД СПАМУ
   ============================================ */

/* Honeypot поле (приховане від користувачів, видиме ботам) */
.comment-form-honeypot {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* ============================================
   КОМЕНТАРІ
   ============================================ */

.comments-section {
    margin-top: 2em;
    padding-top: 1.5em;
    border-top: 2px solid var(--wp--preset--color--accent);
}

.comments-section .comment-respond-title,
.comments-section .comments-title {
    font-size: 1.8em;
    font-weight: 700;
    margin-bottom: 1em;
    color: #333;
}

.comments-section .comment-list {
    list-style: none;
    padding: 0;
}

.comments-section .comment-body {
    padding: 1.5em;
    border: 1px solid #e0e0e0;
    border-left: 3px solid var(--wp--preset--color--accent);
    border-radius: 5px;
    margin-bottom: 1.5em;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    background: #fafafa;
}

.comments-section .comment-author {
    font-weight: bold;
    font-size: 1.1em;
    color: #333;
}

.comments-section .comment-meta {
    font-size: 0.9em;
    color: var(--wp--preset--color--accent);
    margin-bottom: 1em;
}

.comments-section .comment-form p {
    margin-bottom: 1em;
}

.comments-section .comment-form input[type="text"],
.comments-section .comment-form input[type="email"],
.comments-section .comment-form textarea {
    width: 100%;
    padding: 0.8em;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color 0.3s ease;
}

.comments-section .comment-form input[type="text"]:focus,
.comments-section .comment-form input[type="email"]:focus,
.comments-section .comment-form textarea:focus {
    border-color: var(--wp--preset--color--accent);
    outline: none;
}

.comments-section .form-submit .submit {
    display: inline-block;
    background: var(--wp--preset--color--accent);
    color: #000;
    padding: 0.8em 1.5em;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.comments-section .form-submit .submit:hover {
    background: #333;
    color: #fff;
}

/* ============================================
   ПАНЕЛЬ ФІЛЬТРАЦІЇ — ПЕРЕНЕСЕНО (2026-08-24)
   ============================================

   ~95 рядків переїхали у components/filter.css разом із новим виглядом:
   чипи категорій замість випадного списку, панель без рамки.
   ============================================ */

.wp-block-post-template {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.read-time-shortcode,
.post-views-shortcode {
    display: inline;
    color: #666;
    font-weight: 500;
}

/* Іконка перед часом читання */
.read-time-shortcode::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23d4af37'><path d='M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.2em;
    margin-right: 0.3em;
}

/* Іконка перед переглядами */
.post-views-shortcode::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23d4af37'><path d='M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.2em;
    margin-right: 0.3em;
}

/* YOAST SEO BREADCRUMBS - див. рядки 1074-1125 */

.meta-separator {
    color: #999;
    margin: 0 !important;
}

/* ============================================
   ПАГІНАЦІЯ (Навігація сторінок)
   ============================================ */

.wp-block-query-pagination {
    margin-top: 3em;
    margin-bottom: 2em;
    padding-top: 2em;
    border-top: 2px solid #e5e5e5;
}

.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-numbers {
    font-size: 1em;
}

.wp-block-query-pagination a {
    padding: 0.5em 1em;
    border: 2px solid var(--wp--preset--color--accent);
    border-radius: 5px;
    text-decoration: none;
    color: #1a1a1a;
    transition: all 0.3s ease;
    display: inline-block;
}

.wp-block-query-pagination a:hover {
    background-color: var(--wp--preset--color--accent);
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(212, 175, 55, 0.3);
}

.wp-block-query-pagination .page-numbers.current {
    padding: 0.5em 1em;
    background-color: var(--wp--preset--color--accent);
    color: #000;
    border-radius: 5px;
    font-weight: 700;
}

/* ============================================
   АДАПТИВНІСТЬ ДЛЯ СІТКИ КАРТОК
   ============================================ */

/* 2 колонки на великих екранах (за замовчуванням) */
.wp-block-post-template.is-flex-container.columns-2,
.wp-block-post-template.is-flex-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px !important;
}

/* КРИТИЧНО: Примусово розтягуємо li на всю ширину комірки grid */
.wp-block-post-template.is-flex-container.columns-2 > li,
.wp-block-post-template.is-flex-container > li {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    margin: 0 !important;

    /* Етап B: без цього картки вилазили за правий край на мобільному.
     * У grid-елемента min-width за замовчуванням = auto, тобто min-content.
     * Через це доріжка 1fr не могла стиснутись менше вмісту картки:
     * на 390px контейнер був 308px, а колонка — 377.6px, і все, що не вміщалось,
     * просто обрізалось (горизонтального скролу не було — контент зникав). */
    min-width: 0 !important;
}

/* Також для WordPress інлайн стилів */
.wp-block-post-template.is-flex-container > li[style] {
    width: 100% !important;
}

/* 1 колонка на планшетах і мобільних */
@media (max-width: 768px) {
    .wp-block-post-template.is-flex-container.columns-2,
    .wp-block-post-template.is-flex-container {
        grid-template-columns: 1fr !important;
        gap: 30px;
    }
    
    .post-card-thumbnail {
        height: 220px;
        min-height: 220px;
    }
    
    .post-card-content {
        padding: 1.5em;
    }
    
    .post-card-title {
        font-size: 1.4em;
    }
    
    .read-more-btn {
        font-size: 0.9em;
        padding: 0.7em 1.5em;
    }
}

/* ============================================
   НАВІГАЦІЯ ТА МЕНЮ
   ============================================ */

/* --- ЗОЛОТІ ПІДКРЕСЛЕННЯ З ТІННЮ --- */
.wp-block-navigation .wp-block-navigation-item__content,
.main-navigation .wp-block-navigation-item__content,
.wp-block-navigation-item a {
    position: relative;
    text-decoration: none !important;
    padding-bottom: 8px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    font-size: 1.15em;
    letter-spacing: 0.5px;
    display: inline-block;
}

/* Колір при наведенні прибрано (2026-08-24): його тепер задає theme.json —
   styles.blocks["core/navigation-link"][":hover"] і [":focus-visible"] (WP 7.1).
   Тут лишався `!important`, який глушив нативні стани. */

/* Золота лінія з тінню при hover */
.wp-block-navigation .wp-block-navigation-item__content::after,
.main-navigation .wp-block-navigation-item__content::after,
.wp-block-navigation-item a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: 0;
    left: 0;
    background: linear-gradient(
        90deg,
        var(--wp--preset--color--accent) 0%,
        #f4d03f 50%,
        var(--wp--preset--color--accent) 100%
    );
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.4);
    transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 2px;
}

.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.main-navigation .wp-block-navigation-item__content:hover::after,
.wp-block-navigation-item a:hover::after,
.wp-block-navigation .wp-block-navigation-item__content:focus::after,
.main-navigation .wp-block-navigation-item__content:focus::after,
.wp-block-navigation-item a:focus::after {
    width: 100%;
}

/* Активний пункт меню: колір і жирність тепер у theme.json — кастомний стан
   "-current" (WP 7.1). Ядро віддає під нього селектор
   .wp-block-navigation .current-menu-item, а сам клас ставить render_block-фільтр
   legalblock_mark_current_navigation_link() у functions.php. */

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.main-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.wp-block-navigation .current-menu-item > a::after,
.wp-block-navigation-item.current-menu-item a::after,
.wp-block-navigation .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation-item.current_page_item > a::after,
.wp-block-navigation .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation-item[aria-current="page"] > a::after {
    width: 100% !important;
}

/* --- ПОШУК В ШАПЦІ --- */
.header-search {
    margin-left: 1.5em;
}

.header-search .wp-block-search__button {
    background-color: transparent;
    border: 1px solid var(--wp--preset--color--accent);
    border-radius: 50%;
    padding: 0.5em;
    width: 36px;
    height: 36px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.header-search .wp-block-search__button:hover {
    background-color: var(--wp--preset--color--accent);
    transform: rotate(90deg);
}

.header-search.wp-block-search .wp-block-search__button:not(.wp-element-button) {
    border-radius: 50%;
}

.header-search .wp-block-search__button svg {
    fill: var(--wp--preset--color--accent);
    width: 16px;
    height: 16px;
    transition: fill 0.3s ease;
}

.header-search .wp-block-search__button:hover svg {
    fill: #000;
}

.header-search .wp-block-search__input {
    border: 1px solid #555;
    background-color: #333;
    color: #ffffff;
    border-radius: 5px;
    padding-left: 1em;
    transition: all 0.3s ease;
}

.header-search .wp-block-search__input:focus {
    background-color: #000;
    border-color: var(--wp--preset--color--accent);
    outline: none;
}

.header-search .wp-block-search__input::placeholder {
    color: #aaa;
}

/* ============================================
   ВІДЖЕТИ ТА ДОДАТКОВІ ЕЛЕМЕНТИ
   ============================================ */

.sidebar-widget-content {
    padding: 1.5em 1em;
    color: #ffffff;
}

.sidebar-widget-content .wp-block-heading {
    color: var(--wp--preset--color--accent);
    border-bottom: 2px solid var(--wp--preset--color--accent);
    padding-bottom: 0.5em;
    margin-bottom: 1em;
}

.sidebar-widget-content a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sidebar-widget-content a:hover {
    color: var(--wp--preset--color--accent);
    text-decoration: underline;
}

.sidebar-widget-content .wp-block-categories-list {
    list-style: none;
    padding-left: 0;
}

.sidebar-widget-content .wp-block-categories-list-item {
    padding: 0.2em 0;
}

.sidebar-widget-content .wp-block-latest-comments {
    list-style: none;
    padding-left: 0;
}

.sidebar-widget-content .wp-block-latest-comments__comment {
    margin-bottom: 1em;
}

.sidebar-widget-content .wp-block-latest-comments__comment-author {
    color: #ffffff;
    font-weight: bold;
}

.sidebar-widget-content .wp-block-latest-comments__comment-excerpt p {
    color: #ccc;
    font-size: 0.9em;
    margin: 0;
}

.sidebar-widget-content .wp-block-latest-comments__comment-date::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23d4af37'><path d='M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l80 0 0 56-80 0 0-56zm0 104l80 0 0 64-80 0 0-64zm128 0l96 0 0 64-96 0 0-64zm144 0l80 0 0 64-80 0 0-64zm80-48l-80 0 0-56 80 0 0 56zm0 160l0 40c0 8.8-7.2 16-16 16l-64 0 0-56 80 0zm-128 0l0 56-96 0 0-56 96 0zm-144 0l0 56-64 0c-8.8 0-16-7.2-16-16l0-40 80 0zM272 248l-96 0 0-56 96 0 0 56z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.2em;
    margin-right: 0.3em;
}

/* Віджети в сайдбарі - іконки */
.sidebar-widget-content ul li::marker {
    color: var(--wp--preset--color--accent);
}

/* ============================================
   КОПІРАЙТ
   ============================================ */

.site-copyright {
    margin-top: 1.5em !important;
    padding-top: 1.5em !important;
    color: #999 !important;
}

.site-copyright strong {
    color: var(--wp--preset--color--accent) !important;
    font-weight: 700 !important;
}

/* ============================================
   СОЦІАЛЬНІ МЕРЕЖІ (СТИЛЬ TIKTOK) - ДЛЯ ФУТЕРА
   ============================================ */

.wp-block-social-links .wp-social-link {
    background-color: transparent !important;
    width: auto;
    height: auto;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-block-social-link-anchor {
    background-color: transparent !important;
    border: 2px solid var(--wp--preset--color--accent);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.wp-block-social-links .wp-social-link:hover a,
.wp-block-social-links .wp-social-link:hover .wp-block-social-link-anchor {
    border-color: #ffffff;
    transform: scale(1.1);
}

.wp-block-social-links .wp-social-link svg {
    fill: var(--wp--preset--color--accent) !important;
    width: 20px;
    height: 20px;
    transition: fill 0.3s ease;
}

.wp-block-social-links .wp-social-link:hover svg {
    fill: #ffffff !important;
}

/* TikTok специфічно */
.wp-social-link.wp-social-link-tiktok {
    background-color: transparent !important;
}

.wp-social-link-tiktok .wp-block-social-link-anchor {
    background-color: transparent !important;
    border: 2px solid var(--wp--preset--color--accent);
}

.wp-social-link-tiktok:hover .wp-block-social-link-anchor {
    border-color: #ffffff;
}

.wp-social-link-tiktok svg {
    fill: var(--wp--preset--color--accent) !important;
}

.wp-social-link-tiktok:hover svg {
    fill: #ffffff !important;
}


/* ============================================
   ANIMATION: FADE IN UP (оптимізовано)
   ============================================ */

/* 
 * ВАЖЛИВО: Анімація застосовується тільки до карток постів (.post-card)
 * і тільки якщо JavaScript успішно завантажився.
 * Fallback: якщо JS не працює - контент видимий одразу.
 */

/* За замовчуванням - все видиме (fallback) */
.fade-in-up {
    opacity: 1;
    transform: none;
}

/* Анімація активується тільки коли JS додає клас .js-loaded до body */
body.js-loaded .post-card.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

body.js-loaded .post-card.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Швидші затримки для плавнішого ефекту */
body.js-loaded .post-card.fade-in-up:nth-child(1) { transition-delay: 0.05s; }
body.js-loaded .post-card.fade-in-up:nth-child(2) { transition-delay: 0.1s; }
body.js-loaded .post-card.fade-in-up:nth-child(3) { transition-delay: 0.15s; }
body.js-loaded .post-card.fade-in-up:nth-child(4) { transition-delay: 0.2s; }

/* Вимикаємо анімацію для prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    body.js-loaded .post-card.fade-in-up {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ============================================
   ACCESSIBILITY (A11Y) - ДОСТУПНІСТЬ
   ============================================ */

/* --- Screen Reader Only (приховано візуально, доступно для скрінрідерів) --- */
.sr-only,
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* --- Skip Link (перехід до основного контенту) --- */
/* Стилі визначені вище в секції "ДОСТУПНІСТЬ: Skip Link" */

/* --- Глобальні фокус стилі --- */
*:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 2px;
}

/* Скидаємо стандартний outline */
*:focus:not(:focus-visible) {
    outline: none;
}

/* --- Посилання: фокус --- */
a:focus-visible,
.read-more-btn:focus-visible,
.post-category-badge:focus-visible,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation-item a:focus-visible,
.main-column a:focus-visible,
.top-bar-link:focus-visible,
footer a:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(212, 175, 55, 0.25);
    text-decoration: none;
    border-radius: 2px;
}

/* --- Кнопки: фокус --- */
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
.wp-block-button__link:focus-visible,
.share-btn:focus-visible,
#scrollToTopBtn:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(212, 175, 55, 0.3);
}

/* --- Форми: фокус --- */
input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="url"]:focus-visible,
input[type="search"]:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: none;
    border-color: var(--wp--preset--color--accent) !important;
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15) !important;
}

/* --- Картки: фокус при навігації клавіатурою --- */
.post-card:focus-within {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 4px;
    border-radius: 12px;
}

/* --- Меню: фокус в мобільному режимі --- */
.wp-block-navigation__responsive-container-close:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 3px;
}

/* --- Соціальні мережі: фокус --- */
.wp-block-social-link a:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent);
    outline-offset: 3px;
    border-radius: 50%;
}

/* --- Scroll to Top: покращений фокус --- */
#scrollToTopBtn:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.5);
}

/* --- Картки постів: теги приховані --- */
.post-card .post-tags,
.post-card .wp-block-post-terms:not(.post-category-badge-list),
.post-card-content .post-tags,
.post-card-content .wp-block-post-terms:not(.post-category-badge-list),
.post-card .taxonomy-post_tag,
.post-card-content .taxonomy-post_tag {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* --- Зменшення руху (prefers-reduced-motion) --- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .post-card:hover,
    .read-more-btn:hover,
    .site-header .wp-block-site-title a:hover,
    .post-card:hover .post-card-thumbnail img,
    .read-more-btn:hover::after {
        transform: none !important;
    }
    
    /* Зберігаємо видимість фокусів */
    *:focus-visible {
        transition: none !important;
    }
}

/* --- Високий контраст (prefers-contrast: more) --- */
@media (prefers-contrast: more) {
    *:focus-visible {
        outline-width: 4px !important;
        outline-style: solid !important;
    }
    
    a,
    button {
        text-decoration: underline !important;
    }
    
    .post-card {
        border-width: 3px !important;
    }
}

/* ============================================
   CLS OPTIMIZATION (Cumulative Layout Shift)
   Запобігає зсувам макету під час завантаження
   ============================================ */

/* --- ШРИФТИ: Резервування місця --- */
/* Використовуємо size-adjust для мінімізації зсуву при завантаженні шрифтів */
@font-face {
    font-family: 'Montserrat Fallback';
    src: local('Arial');
    size-adjust: 104%;
    ascent-override: 95%;
    descent-override: 25%;
    line-gap-override: 0%;
}

@font-face {
    font-family: 'Playfair Display Fallback';
    src: local('Georgia');
    size-adjust: 108%;
    ascent-override: 90%;
    descent-override: 22%;
    line-gap-override: 0%;
}

body {
    font-family: 'Montserrat', 'Montserrat Fallback', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Етап E: дубль того самого правила (друга копія з fallback-шрифтом) — теж видалено.
   Шрифт заголовків живе в theme.json, див. коментар на початку файлу. */

/* --- ШАПКА: Фіксована висота для запобігання зсуву --- */
.site-header {
    min-height: 80px; /* Резервуємо місце для шапки */

    /* Етап F (2026-08-24): прибрано `contain: layout style`.
     *
     * `contain: layout` робить елемент containing block для нащадків
     * з position: fixed. Мобільний оверлей меню живе всередині шапки, тому
     * замість того, щоб накрити весь екран, він позиціонувався відносно шапки
     * і починався на 91px нижче — згори лишалась прозора смуга.
     *
     * Виграш від contain тут мізерний (шапка й так має min-height),
     * а ціна — зламане повноекранне меню. */
}

/* --- ЗОБРАЖЕННЯ: Aspect Ratio для запобігання зсуву --- */
img {
    height: auto;
    max-width: 100%;
}

/* Featured images в картках */
.post-card .wp-block-post-featured-image,
.post-card figure.wp-block-post-featured-image,
.post-card-thumbnail {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: #f0f0f0; /* Placeholder колір */
}

.post-card .wp-block-post-featured-image img,
.post-card-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Логотип сайту */
.wp-block-site-logo {
    min-width: 50px;
    min-height: 50px;
}

.wp-block-site-logo img {
    width: auto;
    height: auto;
    max-height: 60px;
}

/* Featured image в статті */
.single .wp-block-post-featured-image,
.content-block .wp-block-post-featured-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #f0f0f0;
}

/* --- КАРТКИ: Фіксовані розміри для grid --- */
.post-card {
    min-height: 420px; /* Мінімальна висота картки */
    contain: layout style;
}

.post-card-content {
    min-height: 180px; /* Мінімальна висота контенту */
}

.post-card-title {
    min-height: 1.3em; /* Резервуємо місце для заголовка */
}

.post-card-excerpt {
    min-height: 4.8em; /* Приблизно 3 рядки тексту */
}

/* --- HERO СЕКЦІЯ: Фіксована висота --- */
.hero-section {
    min-height: 150px;
    contain: layout style;
}

/* --- КОНТЕНТНІ БЛОКИ: Резервування місця --- */
.content-block {
    min-height: 200px;
    contain: layout style;
}

/* --- НАВІГАЦІЯ: Стабільні розміри --- */
.wp-block-navigation {
    min-height: 24px;
    /* Етап F: `contain` прибрано з тієї ж причини, що і в .site-header —
       оверлей меню це position: fixed нащадок саме цього блока. */
}

.wp-block-navigation__container {
    min-height: 24px;
}

.wp-block-navigation-item {
    min-height: 24px;
}

/* --- BREADCRUMBS: Резервування місця --- */
.yoast-breadcrumbs,
.breadcrumbs-placeholder {
    min-height: 24px;
}

/* --- FOOTER: Стабільна висота --- */
footer.wp-block-template-part,
.wp-block-template-part:has(footer) {
    min-height: 200px;
    contain: layout style;
}

/* --- SIDEBAR ---
 * Етап C/D (2026-08-24): `contain: strict` прибрано.
 *
 * strict = layout style paint SIZE. Саме size-контейнмент і був проблемою:
 * елемент рахує власний розмір так, ніби вмісту немає. Поки сайдбари стояли
 * порожні, це було нешкідливо — висоту рядка все одно задавала центральна
 * колонка. Щойно в лівий сайдбар потрапив зміст статті, він почав рахуватись
 * нульової висоти: на мобільному сайдбар отримував 0px, а <nav> усередині
 * малювався поверх початку статті.
 *
 * Нічого замість не ставимо: сайдбар тепер має змінний вміст, і будь-яке
 * розмірне обмеження тут знову збреше. */

/* --- ФОРМИ: Резервування місця для елементів --- */
.wpcf7 {
    min-height: 300px;
}

.wpcf7-form-control-wrap {
    min-height: 50px;
    display: block;
}

/* --- КНОПКИ: Стабільні розміри --- */
.read-more-btn,
.wp-block-button__link {
    min-height: 44px; /* Мінімальний розмір для touch */
    min-width: 44px;
}

/* --- СОЦІАЛЬНІ МЕРЕЖІ: Фіксовані розміри іконок --- */
.wp-block-social-links .wp-social-link {
    width: 40px;
    height: 40px;
}

/* --- CTA BANNER: Резервування місця --- */
.cta-banner-block {
    min-height: 150px;
}

/* --- POSTS GRID: Стабільна сітка --- */
.wp-block-post-template.is-flex-container {
    contain: layout style;
}

/* --- ПАГІНАЦІЯ: Фіксована висота --- */
.wp-block-query-pagination {
    min-height: 50px;
}

/* --- CONTAIN для оптимізації рендерингу --- */
.posts-section-wrapper {
    contain: layout style;
}

/* --- ЗАПОБІГАННЯ ЗСУВУ ДЛЯ LAZY-LOADED ЕЛЕМЕНТІВ --- */
[loading="lazy"] {
    background-color: #f0f0f0;
}

/* --- ШРИФТ AWESOME: Резервування місця для іконок --- */
.fa, .fas, .far, .fab,
[class^="fa-"],
[class*=" fa-"] {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
}

/* --- ЗАПОБІГАННЯ REFLOW ДЛЯ INLINE ЕЛЕМЕНТІВ --- */
.post-card-meta,
.post-meta-info {
    min-height: 1.5em;
}

/* --- COMMENTS SECTION: Резервування місця --- */
.comments-section {
    min-height: 100px;
}

/* --- SEARCH: Стабільні розміри --- */
.header-search {
    min-width: 36px;
    min-height: 36px;
}

/* --- MOBILE: Адаптивні фіксовані розміри --- */
@media (max-width: 992px) {
    .site-header {
        min-height: 70px;
    }
    
    .post-card {
        min-height: 380px;
    }
    
    .hero-section {
        min-height: 120px;
    }
}

@media (max-width: 576px) {
    .site-header {
        min-height: 60px;
    }
    
    .post-card {
        min-height: 350px;
    }
    
    .hero-section {
        min-height: 100px;
    }
    
    footer.wp-block-template-part {
        min-height: 300px;
    }
}

}
