/**
 * SEO Text Block Styles
 * Стилізація для SEO тексту сторінки (WordPress editor content)
 * 
 * Version: 1.0.0
 */

/* ==========================================================================
   SEO TEXT WRAPPER
   ========================================================================== */

.seo-text-wrapper {
    background-color: #f5f5f5; /* Whitesmoke як на Tilda */
    padding: 60px 0;
}

/* ==========================================================================
   SEO TEXT CONTAINER
   ========================================================================== */

.seo-text {
    max-width: 1095px;
    margin: 0 auto;
    width: 90%;
    padding: 0;
}

/* ==========================================================================
   HEADINGS
   ========================================================================== */

.seo-text > h1,
.seo-text > h2,
.seo-text > h3 {
    font-family: 'Gilroy', Arial, sans-serif;
    font-weight: 600;
    color: #3a3d4e;
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.3;
}

.seo-text > h1 {
    font-size: 48px;
    letter-spacing: 1px;
}

.seo-text > h2 {
    font-size: 36px;
}

.seo-text > h3 {
    font-size: 28px;
}

/* Перший заголовок без верхнього відступу */
.seo-text > h1:first-child,
.seo-text > h2:first-child,
.seo-text > h3:first-child {
    margin-top: 0;
}

/* ==========================================================================
   PARAGRAPHS
   ========================================================================== */

.seo-text p {
    color: #000000;
    font-size: 16px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 400;
    margin-bottom: 15px;
    background-position: center center;
    border-color: transparent;
    border-style: solid;
}

.seo-text p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   LISTS
   ========================================================================== */

.seo-text ul,
.seo-text ol {
    margin-left: 15px;
    margin-top: 10px;
    margin-bottom: 20px;
    padding-left: 20px;
}

.seo-text li {
    color: #000000;
    font-size: 16px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.3;
    font-weight: 400;
    margin-bottom: 8px;
    background-position: center center;
}

.seo-text li:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   LINKS
   ========================================================================== */

.seo-text a {
    color: #ff8562;
    text-decoration: none;
    transition: color 0.3s ease;
}

.seo-text a:hover {
    color: #ff6b47;
    text-decoration: underline;
}

.seo-text a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}

.seo-text a[href^="tel"]:hover {
    color: #ff8562;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Tablet Large: <= 1199px */
@media screen and (max-width: 1199px) {
    .seo-text-wrapper {
        padding: 50px 0;
    }
    
    .seo-text {
        max-width: 927px;
    }
    
    .seo-text > h1 {
        font-size: 42px;
    }
    
    .seo-text > h2 {
        font-size: 32px;
    }
}

/* Tablet: <= 959px */
@media screen and (max-width: 959px) {
    .seo-text-wrapper {
        padding: 40px 0;
    }
    
    .seo-text {
        max-width: 611px;
    }
    
    .seo-text > h1 {
        font-size: 38px;
    }
    
    .seo-text > h2 {
        font-size: 28px;
    }
    
    .seo-text > h3 {
        font-size: 24px;
    }
}

/* Mobile Large: <= 639px */
@media screen and (max-width: 639px) {
    .seo-text-wrapper {
        padding: 35px 0;
    }
    
    .seo-text {
        max-width: 434px;
    }
    
    .seo-text > h1 {
        font-size: 32px;
    }
    
    .seo-text > h2 {
        font-size: 26px;
    }
}

/* Mobile: <= 479px */
@media screen and (max-width: 479px) {
    .seo-text-wrapper {
        padding: 30px 0;
    }
    
    .seo-text {
        max-width: 313px;
        width: 95%;
    }
    
    .seo-text > h1 {
        font-size: 26px;
        letter-spacing: 0.5px;
    }
    
    .seo-text > h2 {
        font-size: 22px;
    }
    
    .seo-text > h3 {
        font-size: 20px;
    }
    
    .seo-text p,
    .seo-text li {
        font-size: 15px;
    }
}

/* ==========================================================================
   PERFORMANCE OPTIMIZATIONS (Google PageSpeed)
   ========================================================================== */

/* Wrapper - основний контейнер */
.seo-text-wrapper {
    content-visibility: auto; /* Lazy render якщо off-screen */
    contain-intrinsic-size: auto 1200px; /* Резервує простір */
    contain: layout style paint; /* CSS containment */
}

/* Content container */
.seo-text {
    /* Ізоляція для покращення rendering */
    contain: style;
}

/* Headings - GPU optimization (тільки при потребі) */
.seo-text > h1,
.seo-text > h2,
.seo-text > h3 {
    will-change: auto; /* За замовчуванням */
    backface-visibility: hidden;
}

/* Links - GPU acceleration при hover */
.seo-text a {
    will-change: auto;
    backface-visibility: hidden;
}

.seo-text a:hover {
    will-change: color; /* Активуємо при hover */
}

/* Lists - optimized rendering */
.seo-text ul,
.seo-text ol {
    contain: style;
}

/* Responsive images (якщо є) */
.seo-text img {
    max-width: 100%;
    height: auto;
    display: block;
    loading: lazy; /* Native lazy loading */
    decoding: async; /* Async image decode */
}

/* Prevent CLS для зображень */
.seo-text img[width][height] {
    height: auto; /* Зберігає пропорції */
}

/* Font rendering optimization */
.seo-text {
    text-rendering: optimizeSpeed; /* Швидший рендеринг тексту */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Critical CSS - вже завантажені fonts */
.seo-text,
.seo-text p,
.seo-text li {
    font-display: swap; /* Не блокує рендеринг */
}

