/*!
Theme Name: Weblut Framework
Theme URI: https://weblut.pro/
Author: Weblut
Author URI: https://weblut.pro/
Description: Universal WordPress theme based on CSS variables and Weblut design principles.
Version: 15.0.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: weblut-framework
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Weblut Framework is based on Underscores https://weblut.pro/, (C) 2012-2020 Automattic, Inc.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
    - Normalize
    - Box sizing
# Base
    - Typography
    - Elements
    - Links
    - Forms
# Weblut Framework Structure
    - Buttons
    - Header
    - Content Container
    - Sidebar & Widgets
    - Footer
# Components (WordPress Standards)
    - Posts and pages
    - Cards & Grids (BLOG)
    - Comments
    - Media
    - Captions
    - Galleries
# Utilities
    - Accessibility
    - Alignments
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
html { line-height: 1.15; -webkit-text-size-adjust: 100%; box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre, code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; } sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template, [hidden] { display: none; }

/*--------------------------------------------------------------
# Base & Typography (Глобальные настройки шрифтов)
--------------------------------------------------------------*/
body {
    background-image: var(--weblut-site-bg-image, none);
    background-repeat: repeat;
    background-position: center top;
}

body, 
button, 
input, 
select, 
optgroup, 
textarea,
.site-description,
.entry-content,
.widget {
    color: var(--weblut-text-color, #425466);
    font-family: var(--weblut-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
    font-size: 16px;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.widget-title,
.entry-title {
    color: var(--weblut-heading-color, #0a2540);
    font-family: var(--weblut-font-family, inherit);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.75em;
    clear: both;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.entry-title a,
.widget-title a {
    color: inherit;
    text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
.entry-title a:hover {
    color: var(--weblut-btn-bg, #635bff);
}

p { margin-top: 0; margin-bottom: 1.5em; }

a { 
    color: var(--weblut-btn-bg, #635bff); 
    text-decoration: none; 
    transition: var(--weblut-transition, all 0.3s ease); 
}

a:hover, a:focus, a:active { 
    opacity: 0.8; 
    text-decoration: underline; 
}

/* =========================================================
   ПОЛЯ ФОРМ (ИНТЕГРАЦИЯ УМНЫХ ТЕНЕЙ И БОРДЕРОВ)
   ========================================================= */
input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], 
input[type="number"], 
input[type="tel"], 
textarea, 
select {
    color: var(--weblut-text-color, #425466); 
    background: #fff; 
    border: var(--weblut-b-forms); /* Динамическая рамка */
    box-shadow: var(--weblut-sh-forms); /* Динамическая тень */
    border-radius: 6px;
    padding: 10px 14px; 
    transition: var(--weblut-transition, all 0.3s ease); 
    width: 100%; 
    max-width: 100%;
}

/* Эффект фокуса и наведения на поле */
input:focus, textarea:focus, select:focus,
input:hover, textarea:hover, select:hover { 
    border: var(--weblut-bh-forms); /* Динамическая рамка наведения/фокуса */
    box-shadow: var(--weblut-sh-h-forms); /* Динамическая тень наведения/фокуса */
    outline: none; 
}

/* -------------------------------------------------------------------------
# Weblut Buttons (Глобальные настройки для всех кнопок сайта)
------------------------------------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.weblut-btn,
.wp-block-button__link,
.wp-block-file__button,
.comment-reply-link,
.comment-submit,
.search-submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--weblut-btn-bg, #635bff);
    color: var(--weblut-btn-text, #ffffff);
    border: var(--weblut-btn-border, 0px solid transparent);
    border-radius: var(--weblut-btn-radius, 6px);
    box-shadow: var(--weblut-btn-shadow, none);
    padding: 10px 20px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    text-decoration: none;
    transition: var(--weblut-transition, all 0.3s ease);
    line-height: 1.5;
    white-space: nowrap;
    -webkit-appearance: button;
    appearance: button;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.weblut-btn:hover,
.wp-block-button__link:hover,
.wp-block-file__button:hover,
.comment-reply-link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    transform: translateY(-1px);
    background-color: var(--weblut-btn-hover-bg, #635bff);
    color: var(--weblut-btn-hover-text, #ffffff);
    border: var(--weblut-btn-hover-border, 0px solid transparent);
    box-shadow: var(--weblut-btn-hover-shadow, 0 15px 35px rgba(50, 50, 93, 0.1));
    text-decoration: none;
}

button:active,
.weblut-btn:active,
.wp-block-button__link:active {
    transform: translateY(0);
    box-shadow: none;
    outline: none;
}

/* -------------------------------------------------------------------------
# Weblut Header & Structure
------------------------------------------------------------------------- */
.site-header {
    background-color: var(--weblut-header-bg, #ffffff);
    border-bottom: var(--weblut-header-border, 1px solid rgba(0, 0, 0, 0.05));
    box-shadow: var(--weblut-header-shadow, none);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    width: 100%;
    position: relative;
    z-index: 100000;
}

.site-header-inner {
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
    width: 100%;
    padding-top: var(--weblut-header-pad, 15px);     /* ОНОВЛЕНО */
    padding-bottom: var(--weblut-header-pad, 15px);  /* ОНОВЛЕНО */
    padding-left: var(--weblut-logo-ml, 0px);
    padding-right: 15px;
}

.site-branding { order: 1; flex-shrink: 0; }
.site-title { margin: 0; font-size: 1.5rem; font-weight: 800; line-height: 1; }
.site-title a { color: var(--weblut-heading-color, #0a2540); text-decoration: none; }
.site-description { margin: 5px 0 0; font-size: 0.85rem; color: #8898aa; }
.custom-logo-link img { max-width: var(--weblut-logo-w, 250px); max-height: var(--weblut-logo-h, 60px); width: auto; display: block; }

.header-actions { order: 2; margin-left: auto; display: flex; align-items: center; gap: 15px; }

.header-buttons-wrapper { order: 3; }
.header-buttons-list { display: flex; gap: 10px; list-style: none !important; margin: 0; padding: 0; align-items: center; }
.hbtn-icon { max-height: 20px; width: auto; display: block; margin-right: 5px; }
.weblut-btn-custom { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

.header-search-toggle { background: transparent; border: none; box-shadow: none; color: var(--weblut-heading-color, #0a2540); padding: 5px; cursor: pointer; display: flex; }

.main-navigation ul { list-style: none !important; margin: 0; padding: 0; }
.main-navigation li { position: relative; list-style: none !important; margin: 0; }
.main-navigation a { display: block; text-decoration: none; padding: 12px 15px; color: var(--weblut-heading-color, #0a2540); font-weight: 500; transition: color 0.2s ease; }
.main-navigation a:hover { color: var(--weblut-btn-bg, #635bff); }

@media screen and (max-width: 991px) {
    .header-buttons-wrapper { width: 100%; margin-top: 15px; display: flex; justify-content: center; }
    .header-buttons-list { flex-wrap: wrap; justify-content: center; }
    .menu-toggle { display: flex; align-items: center; justify-content: center; background: transparent; border: none; box-shadow: none; color: var(--weblut-heading-color, #0a2540); padding: 5px; cursor: pointer; }
    .main-navigation { order: 4; width: 100%; position: absolute; top: 100%; left: 0; z-index: 100000; }
    .main-navigation > div > ul, .main-navigation > ul { 
        display: none; flex-direction: column; width: 100%; background: var(--weblut-content-bg, #ffffff); 
        box-shadow: var(--weblut-shadow-md); padding: 0; border-top: 1px solid rgba(0,0,0,0.05);
        max-height: 60vh; overflow-y: auto; -webkit-overflow-scrolling: touch; 
    }
    .main-navigation.toggled > div > ul, .main-navigation.toggled > ul { display: flex; }
    .main-navigation li a { border-bottom: 1px solid rgba(0,0,0,0.03); display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; }
    .main-navigation .menu-item-has-children > a::after,
    .main-navigation .page_item_has_children > a::after {
        content: ""; display: inline-block; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid currentColor; margin-left: 10px; transition: transform 0.3s ease, color 0.3s ease;
    }
    .main-navigation li.weblut-mobile-open > a::after { transform: rotate(180deg); color: var(--weblut-btn-bg, #635bff); }
    .main-navigation ul ul { display: none !important; flex-direction: column; padding-left: 20px; background: rgba(0,0,0,0.02); }
    .main-navigation li.weblut-mobile-open > ul { display: flex !important; }
}

@media screen and (min-width: 992px) {
    .site-header-inner { flex-wrap: nowrap; }
    .menu-toggle { display: none; }
    .main-navigation { order: 2; width: auto; margin-left: 0; }
    .header-buttons-wrapper { order: 3; margin-left: auto; margin-right: 15px; } 
    .header-actions { order: 4; margin-left: 0; }
    .weblut-menu-pos-left .main-navigation { margin-left: 30px; margin-right: auto; }
    .weblut-menu-pos-left .header-buttons-wrapper { margin-left: 0; }
    .weblut-menu-pos-center .main-navigation { margin: 0 auto; }
    .weblut-menu-pos-center .header-buttons-wrapper { margin-left: 0; }
    .weblut-menu-pos-right .main-navigation { margin-left: auto; margin-right: 30px; }
    .weblut-menu-pos-right .header-buttons-wrapper { margin-left: 0; }
    .main-navigation > div > ul, .main-navigation > ul { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; background: transparent; box-shadow: none; border: none; padding: 0; position: static; }
    .main-navigation li a { border-bottom: none; }
    .main-navigation ul ul { display: none; flex-direction: column; position: absolute; top: 100%; left: 0; z-index: 99999; background: #fff; box-shadow: var(--weblut-shadow-md); min-width: 220px; border-radius: 6px; padding: 10px 0; }
    .main-navigation ul ul ul { top: 0; left: 100%; }
    .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul { display: flex; }
}

.weblut-header-sticky .site-header { position: sticky; top: 0; }
.weblut-header-transparent .site-header { position: absolute; top: 0; left: 0; right: 0; background-color: transparent !important; border-bottom: none !important; box-shadow: none !important; }
.weblut-header-transparent .site-title a, 
.weblut-header-transparent .main-navigation > div > ul > li > a, 
.weblut-header-transparent .main-navigation > ul > li > a,
.weblut-header-transparent .header-search-toggle,
.weblut-header-transparent .menu-toggle { color: var(--weblut-trans-color, #ffffff); }
.weblut-header-transparent .site-title a:hover, 
.weblut-header-transparent .main-navigation > div > ul > li > a:hover, 
.weblut-header-transparent .main-navigation > ul > li > a:hover,
.weblut-header-transparent .header-search-toggle:hover,
.weblut-header-transparent .menu-toggle:hover { color: var(--weblut-trans-hover, #cccccc); }
.weblut-header-sticky.weblut-header-transparent .site-header { position: fixed; }

/* -------------------------------------------------------------------------
# Main Content Container 
------------------------------------------------------------------------- */
#content { width: 100%; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.weblut-header-transparent #content { padding-top: 100px; }

.weblut-container-enabled #content {
    background-color: var(--weblut-content-bg, #ffffff); border: var(--weblut-content-border, none);
    box-shadow: var(--weblut-content-shadow, none);
    padding-top: var(--weblut-content-pad-t, 50px); padding-bottom: var(--weblut-content-pad-b, 50px);
    padding-left: var(--weblut-content-pad-lr, 50px); padding-right: var(--weblut-content-pad-lr, 50px);
}
#primary { flex: 1; min-width: 0; }

@media screen and (min-width: 992px) {
    .weblut-container-enabled #content {
        margin-top: var(--weblut-content-marg-t, 0px);
        margin-bottom: var(--weblut-content-marg-b, 0px);
        margin-left: var(--weblut-content-marg-lr, 0px);
        margin-right: var(--weblut-content-marg-lr, 0px);
        width: auto !important; 
        border-radius: var(--weblut-content-radius, 0px); 
    }
}

/* -------------------------------------------------------------------------
# Sidebar & Widgets (ИНТЕГРАЦИЯ УМНЫХ ТЕНЕЙ И БОРДЕРОВ)
------------------------------------------------------------------------- */
#secondary { width: 100%; background-color: var(--weblut-sidebar-bg, transparent); box-shadow: var(--weblut-sidebar-shadow, none); border-radius: 8px; padding: 20px 0; }
@media screen and (min-width: 992px) { 
    #secondary { width: 320px; flex-shrink: 0; margin-left: 40px; } 
    .weblut-blog-layout-left #secondary, .weblut-single-layout-left #secondary, .weblut-page-layout-left #secondary { order: -1; margin-left: 0; margin-right: 40px; }
}

/* Виджеты (Берут глобальные настройки, если включено) */
.widget { 
    background-color: var(--weblut-widget-bg, #ffffff); 
    border: var(--weblut-widget-border); 
    box-shadow: var(--weblut-widget-shadow); 
    border-radius: var(--weblut-sidebar-radius, 8px); 
    padding: 25px; 
    margin-bottom: 30px; 
    transition: var(--weblut-transition, all 0.3s ease);
}
.widget:hover {
    border: var(--weblut-widget-border-hover);
    box-shadow: var(--weblut-widget-shadow-hover);
}
.widget select { max-width: 100%; }
.widget-title { color: var(--weblut-widget-head-c, #0a2540); font-size: 1.2rem; margin-top: 0; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid rgba(0,0,0,0.05); }

/* -------------------------------------------------------------------------
# Footer Configuration
------------------------------------------------------------------------- */
.site-footer { position: relative; background-color: var(--weblut-footer-bg, #0a2540); color: #ffffff; padding: 60px 30px; overflow: hidden; width: 100%; clear: both; }
.site-footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: var(--weblut-footer-img, none), var(--weblut-footer-grad, none); background-size: cover; background-position: center; opacity: 0.5; pointer-events: none; z-index: 1; }
.site-info { position: relative; z-index: 2; text-align: center; }
.site-footer a { color: rgba(255,255,255,0.8); transition: color 0.3s ease; }
.site-footer a:hover { color: #ffffff; text-decoration: underline; }

.footer-widgets-wrapper .widget {
    background-color: transparent !important; 
    box-shadow: var(--weblut-sh-footer, none) !important; 
    border: var(--weblut-b-footer, none) !important;
    border-radius: var(--weblut-card-radius, 8px);
    padding: var(--weblut-pad-footer, 0); 
    margin-bottom: 30px; 
    color: var(--weblut-footer-text, rgba(255, 255, 255, 0.7)); 
    transition: var(--weblut-transition, all 0.3s ease);
}
.footer-widgets-wrapper .widget:hover {
    border: var(--weblut-bh-footer, var(--weblut-b-footer, none)) !important;
    box-shadow: var(--weblut-sh-h-footer, var(--weblut-sh-footer, none)) !important;
}

.footer-widgets-wrapper .widget-title {
    color: var(--weblut-footer-head, #ffffff) !important; border-bottom: 1px solid currentColor; 
    padding-bottom: 10px; margin-bottom: 20px; font-size: 1.1rem;
}
.footer-widgets-wrapper .widget a:not(.weblut-btn):not(.button):not(.wp-block-button__link) {
    color: var(--weblut-footer-text, rgba(255, 255, 255, 0.8)) !important; text-decoration: none; transition: color 0.3s ease, padding-left 0.3s ease;
}
.footer-widgets-wrapper .widget a:not(.weblut-btn):not(.button):not(.wp-block-button__link):hover { color: var(--weblut-footer-head, #ffffff) !important; }
.footer-widgets-wrapper .widget ul { list-style: none; padding: 0; margin: 0; }
.footer-widgets-wrapper .widget ul li { padding: 8px 0; border-bottom: none; }
.footer-widgets-wrapper .widget ul li:last-child { border-bottom: none; }
.footer-widgets-wrapper .widget ul li a:hover { padding-left: 5px; }
.footer-widgets-wrapper .widget input[type="text"],
.footer-widgets-wrapper .widget input[type="email"],
.footer-widgets-wrapper .widget input[type="search"] {
    background: transparent; border: 1px solid currentColor; color: var(--weblut-footer-head, #ffffff);
}
.footer-widgets-wrapper .widget input:focus { border-color: var(--weblut-footer-head, #ffffff); box-shadow: none; }
.footer-widgets-wrapper .widget input::placeholder { color: var(--weblut-footer-text, rgba(255, 255, 255, 0.5)); }

.site-info {
    position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: space-between; 
    align-items: center; padding-top: 25px; margin-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); 
    color: var(--weblut-footer-text, rgba(255, 255, 255, 0.7)); font-size: 0.9rem;
}
.site-info a { color: var(--weblut-footer-head, #ffffff); font-weight: 600; text-decoration: none; transition: opacity 0.3s ease; }
.site-info a:hover { opacity: 0.8; color: var(--weblut-footer-head, #ffffff); }

@media screen and (max-width: 767px) {
    .site-info { flex-direction: column; justify-content: center; text-align: center; gap: 15px; }
}

body.weblut-footer-flashlight .site-footer::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle 400px at var(--weblut-flash-x, 50%) var(--weblut-flash-y, 50%), rgba(255,255,255,0.2), transparent 80%);
    pointer-events: none; z-index: 1; opacity: 0; transition: opacity 0.3s ease;
}
body.weblut-footer-flashlight .site-footer:hover::after { opacity: 1; }
body.weblut-footer-flashlight .site-footer > * { position: relative; z-index: 2; }

/*--------------------------------------------------------------
# Components (WordPress Core Defaults)
--------------------------------------------------------------*/
.sticky { display: block; }
.post, .page { margin: 0 0 1.5em; }
.updated:not(.published) { display: none; }
.page-content, .entry-content, .entry-summary { margin: 1.5em 0 0; }
.page-links { clear: both; margin: 0 0 1.5em; }

.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation { margin: 0 0 1.5em; }
.comment-navigation .nav-links, .posts-navigation .nav-links, .post-navigation .nav-links { display: flex; }
.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous { flex: 1 0 50%; }
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next { text-align: end; flex: 1 0 50%; }
.comment-content a { word-wrap: break-word; }
.bypostauthor { display: block; }
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; }
.custom-logo-link { display: inline-block; }
.wp-caption { margin-bottom: 1.5em; max-width: 100%; }
.wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; }
.wp-caption .wp-caption-text { margin: 0.8075em 0; }
.wp-caption-text { text-align: center; }

.gallery { margin-bottom: 1.5em; display: grid; grid-gap: 1.5em; }
.gallery-item { display: inline-block; text-align: center; width: 100%; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-caption { display: block; }

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
#primary[tabindex="-1"]:focus { outline: 0; }

img { height: auto; max-width: 100%; border-radius: 4px; }
.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1.5em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em; }

.footer-widgets-wrapper { display: grid; grid-gap: 30px; margin: 0 auto 40px; position: relative; z-index: 2; width: 100%; }
.weblut-footer-cols-1 { grid-template-columns: 1fr; }
.weblut-footer-cols-2 { grid-template-columns: repeat(2, 1fr); }
.weblut-footer-cols-3 { grid-template-columns: repeat(3, 1fr); }
.weblut-footer-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media screen and (max-width: 991px) { .footer-widgets-wrapper { grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 767px) { .footer-widgets-wrapper { grid-template-columns: 1fr; } }


/* -------------------------------------------------------------------------
# Weblut Blog Cards & Grid (ИНТЕГРАЦИЯ УМНЫХ ТЕНЕЙ И БОРДЕРОВ)
------------------------------------------------------------------------- */
.weblut-post-grid { display: grid; grid-gap: 30px; width: 100%; }
.weblut-blog-grid-1 .weblut-post-grid { grid-template-columns: 1fr; }
.weblut-blog-grid-2 .weblut-post-grid { grid-template-columns: repeat(2, 1fr); }
.weblut-blog-grid-3 .weblut-post-grid { grid-template-columns: repeat(3, 1fr); }
.weblut-blog-grid-4 .weblut-post-grid { grid-template-columns: repeat(4, 1fr); }

@media screen and (max-width: 991px) { .weblut-blog-grid-3 .weblut-post-grid, .weblut-blog-grid-4 .weblut-post-grid { grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 767px) { .weblut-blog-grid-2 .weblut-post-grid, .weblut-blog-grid-3 .weblut-post-grid, .weblut-blog-grid-4 .weblut-post-grid { grid-template-columns: 1fr; } }

/* Карточки блога */
.weblut-card {
    background-color: var(--weblut-card-bg, #ffffff);
    border: var(--weblut-b-cards); /* Умная рамка */
    border-radius: var(--weblut-card-radius, 8px);
    box-shadow: var(--weblut-card-shadow); /* Умная тень */
    transition: var(--weblut-transition, all 0.3s ease);
    overflow: hidden; 
    height: auto; 
}
.weblut-card:hover {
    border: var(--weblut-bh-cards); /* Рамка при наведении */
    box-shadow: var(--weblut-card-shadow-hover); /* Тень при наведении */
    transform: translateY(-4px);
}

.weblut-card .post-thumbnail { display: block; margin: 0; }
.weblut-card .post-thumbnail img { width: 100%; height: 200px; object-fit: cover; border-radius: 0; display: block; }
.weblut-card-body { padding: 15px; display: block; }
.weblut-card .entry-header { margin-bottom: 8px; }
.weblut-card .entry-title { font-size: 1.15rem; margin-top: 0; margin-bottom: 5px; line-height: 1.2; }
.weblut-card .entry-title a { color: var(--weblut-heading-color, #0a2540); }
.weblut-card .entry-title a:hover { color: var(--weblut-btn-bg, #635bff); text-decoration: none; }

.weblut-card .entry-meta, .weblut-card .entry-footer, .is-singular .entry-meta, .is-singular .entry-footer { 
    font-size: 0.75rem; display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.weblut-card .entry-meta { margin-bottom: 12px; }
.weblut-card .entry-footer { margin-top: 0; padding-top: 15px; border-top: 1px solid rgba(0,0,0,0.05); }

.is-singular .entry-meta { font-size: 0.85rem; margin-bottom: 30px; }
.is-singular .entry-footer { font-size: 0.85rem; margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(0,0,0,0.05); }

.weblut-card .entry-meta > span, .weblut-card .entry-footer > span, .is-singular .entry-meta > span, .is-singular .entry-footer > span {
    display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; 
    background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent);
    color: var(--weblut-btn-bg, #635bff); padding: 4px 10px; border-radius: 6px; font-weight: 500; line-height: 1.2;
}

.weblut-card .entry-meta a, .weblut-card .entry-footer a, .is-singular .entry-meta a, .is-singular .entry-footer a { 
    color: inherit; text-decoration: none; font-weight: 600; transition: opacity 0.2s ease;
}
.weblut-card .entry-meta a:hover, .weblut-card .entry-footer a:hover, .is-singular .entry-meta a:hover, .is-singular .entry-footer a:hover { opacity: 0.7; }

.weblut-card .entry-content { font-size: 0.85rem; margin-bottom: 10px; }
.weblut-card .entry-content p { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 10px; }

.weblut-card .more-link {
    display: inline-flex; align-items: center; justify-content: center;
    background-color: var(--weblut-btn-bg, #635bff); color: var(--weblut-btn-text, #ffffff);
    border: var(--weblut-btn-border, 0px solid transparent); border-radius: var(--weblut-btn-radius, 6px);
    box-shadow: var(--weblut-btn-shadow, none); padding: 5px 12px; font-weight: 600; font-size: 12px;
    text-decoration: none; transition: var(--weblut-transition, all 0.3s ease); margin-top: 0; margin-bottom: 10px;
}
.weblut-card .more-link:hover {
    background-color: var(--weblut-btn-hover-bg, #635bff); color: var(--weblut-btn-hover-text, #ffffff);
    box-shadow: var(--weblut-btn-hover-shadow, 0 10px 20px rgba(50, 50, 93, 0.1)); transform: translateY(-1px);
}

body.weblut-hide-search .header-search-toggle { display: none !important; }
body.weblut-hide-blog-date .weblut-card .posted-on { display: none !important; }
body.weblut-hide-blog-author .weblut-card .byline { display: none !important; }
body.weblut-hide-blog-cat .weblut-card .cat-links { display: none !important; }
body.weblut-hide-blog-readmore .weblut-card .more-link { display: none !important; }
body.weblut-hide-single-meta .type-post.is-singular .entry-meta { display: none !important; }
body.weblut-hide-single-tags .type-post.is-singular .tags-links { display: none !important; }
body.weblut-hide-page-h1 .type-page .entry-title { display: none !important; }

html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
#page { display: flex; flex-direction: column; flex: 1 0 auto; width: 100%; }
.site-header { flex-shrink: 0; }
#content { flex: 1 0 auto; }
.site-footer { flex-shrink: 0; }

#secondary { padding-left: 10px; padding-right: 10px; box-sizing: border-box; }
#primary #secondary { width: 100%; margin-left: 0; margin-right: 0; margin-top: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 30px; align-items: stretch; }
#primary #secondary .widget { margin-bottom: 0; height: 100%; }

.posts-navigation .nav-links, .post-navigation .nav-links, .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 40px; margin-bottom: 40px; justify-content: space-between; }
.posts-navigation .nav-previous, .posts-navigation .nav-next, .post-navigation .nav-previous, .post-navigation .nav-next { flex: none; }
.posts-navigation .nav-next, .post-navigation .nav-next { margin-left: auto; text-align: right; }

.posts-navigation a, .post-navigation a, .pagination .page-numbers {
    display: inline-flex; align-items: center; gap: 8px; background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent);
    color: var(--weblut-btn-bg, #635bff); padding: 10px 20px; border-radius: 8px; font-weight: 600; text-decoration: none; transition: all 0.2s ease; line-height: 1.4; border: none;
}
.posts-navigation a:hover, .post-navigation a:hover, .pagination a.page-numbers:hover { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 20%, transparent); color: var(--weblut-btn-bg, #635bff); transform: translateY(-2px); }
.pagination .current { background-color: var(--weblut-btn-bg, #635bff); color: var(--weblut-btn-text, #ffffff); }
.post-navigation .nav-subtitle { opacity: 0.6; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.5px; }

.search-form { display: flex; gap: 10px; width: 100%; align-items: stretch; }
.search-form label { flex-grow: 1; margin: 0; }
.search-form .search-field { width: 100%; margin: 0; }
.search-form .search-submit { flex-shrink: 0; margin: 0; }

/* =========================================================
   WEBLUT GALLERY: ЖЕЛЕЗОБЕТОННЫЙ CSS
   ========================================================= */
figure.wp-block-gallery:not(.swiper) {
    display: grid !important;
    grid-template-columns: repeat(var(--weblut-gal-cols, 3), 1fr) !important;
    gap: var(--weblut-gal-gap, 15px) !important;
    margin-bottom: 40px !important;
    padding: 0 !important;
}
figure.wp-block-gallery:not(.swiper) .wp-block-image { width: 100% !important; max-width: 100% !important; margin: 0 !important; border-radius: 8px; overflow: hidden; }
figure.wp-block-gallery:not(.swiper) .wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; aspect-ratio: 1/1 !important; transition: transform 0.4s ease; }
.is-style-weblut-grid-focus:hover .wp-block-image:not(:hover) { opacity: 0.4 !important; filter: grayscale(50%) !important; }
.is-style-weblut-grid-focus .wp-block-image:hover img { transform: scale(1.05) !important; }
.is-style-weblut-grid-glass .wp-block-image:hover img { transform: scale(1.1) !important; }
.is-style-weblut-grid-mono img { filter: grayscale(100%); }
.is-style-weblut-grid-mono .wp-block-image:hover img { filter: grayscale(0%) !important; transform: scale(1.05) !important; }

figure.swiper { display: block !important; width: 100% !important; padding-top: 20px !important; padding-bottom: 70px !important; margin-bottom: 50px !important; overflow: hidden !important; }
.is-style-weblut-3d-coverflow .swiper-slide { width: 45% !important; max-height: 500px !important; border-radius: 12px; overflow: hidden; }

figure.swiper.is-style-weblut-3d-cards, figure.swiper.is-style-weblut-3d-cube {
    width: 500px !important; height: 500px !important; margin-top: 40px !important; margin-bottom: 80px !important; margin-left: auto !important; margin-right: auto !important; overflow: visible !important; 
}
.is-style-weblut-3d-cards .swiper-slide, .is-style-weblut-3d-cube .swiper-slide { width: 100% !important; height: 100% !important; border-radius: 12px; }
.swiper-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; pointer-events: auto !important; }
.swiper figcaption { display: none !important; }
.is-style-weblut-3d-cards .swiper-pagination, .is-style-weblut-3d-cube .swiper-pagination { bottom: -50px !important; }

.swiper-button-next, .swiper-button-prev {
    background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent) !important; color: var(--weblut-btn-bg, #635bff) !important; width: 45px !important; height: 45px !important; border-radius: 8px !important; box-shadow: none !important; transition: all 0.3s ease !important; margin-top: -22px !important;
}
.swiper-button-next:after, .swiper-button-prev:after { font-size: 18px !important; font-weight: 800 !important; }
.swiper-button-next:hover, .swiper-button-prev:hover { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 20%, transparent) !important; transform: translateY(-3px) !important; box-shadow: none !important; }
.is-style-weblut-3d-cards .swiper-button-prev, .is-style-weblut-3d-cube .swiper-button-prev { left: -70px !important; }
.is-style-weblut-3d-cards .swiper-button-next, .is-style-weblut-3d-cube .swiper-button-next { right: -70px !important; }

@media screen and (max-width: 800px) {
    .is-style-weblut-3d-coverflow .swiper-slide { width: 75% !important; }
    figure.swiper.is-style-weblut-3d-cards, figure.swiper.is-style-weblut-3d-cube { width: 240px !important; height: 240px !important; overflow: visible !important; }
    .is-style-weblut-3d-cards .swiper-button-prev, .is-style-weblut-3d-cube .swiper-button-prev { left: -45px !important; }
    .is-style-weblut-3d-cards .swiper-button-next, .is-style-weblut-3d-cube .swiper-button-next { right: -45px !important; }
    .swiper-button-next, .swiper-button-prev { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent) !important; color: var(--weblut-btn-bg, #635bff) !important; box-shadow: none !important; border-radius: 8px !important; width: 40px !important; height: 40px !important; margin-top: -20px !important; }
    .swiper-button-next:after, .swiper-button-prev:after { font-size: 16px !important; font-weight: 800 !important; }
    .swiper-button-next:hover, .swiper-button-prev:hover { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 20%, transparent) !important; transform: translateY(-2px) !important; }
}

/* =========================================================
   COMPACT & CLEAN COMMENTS SECTION 
   ========================================================= */
.comments-area { margin-top: 40px; padding-top: 30px; border-top: 1px solid color-mix(in srgb, var(--weblut-text-color) 10%, transparent); }
.comments-title, .comment-reply-title { font-size: 1.4rem; font-weight: 700; margin-bottom: 25px; color: var(--weblut-heading-color, #0a2540); }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-list .comment { margin-bottom: 15px; }
.comment-list .comment-body { position: relative; padding: 15px 15px 15px 60px; background: var(--weblut-card-bg, #ffffff); border-radius: var(--weblut-card-radius, 8px); box-shadow: var(--weblut-card-shadow, 0 1px 3px rgba(0,0,0,0.02)); border: 1px solid color-mix(in srgb, var(--weblut-text-color) 5%, transparent); }
.comment-author .avatar { position: absolute; top: 15px; left: 15px; width: 34px; height: 34px; border-radius: 50%; }
.comment-author .fn { font-size: 0.95rem; font-weight: 700; color: var(--weblut-heading-color, #0a2540); }
.comment-author .says { display: none; }
.comment-metadata { margin-bottom: 8px; font-size: 0.75rem; color: var(--weblut-text-color); opacity: 0.7; }
.comment-metadata a { color: inherit; text-decoration: none; }
.comment-metadata a:hover { color: var(--weblut-btn-bg, #635bff); opacity: 1; }
.comment-content { font-size: 0.95rem; line-height: 1.5; color: var(--weblut-text-color) !important; }
.comment-content p { margin-bottom: 10px; }
.comment-content p:last-child { margin-bottom: 0; }
.reply { margin-top: 10px; }
.reply a { display: inline-flex; align-items: center; background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent); color: var(--weblut-btn-bg, #635bff); padding: 5px 12px; border-radius: var(--weblut-card-radius, 8px); font-weight: 600; font-size: 0.75rem; text-decoration: none; transition: var(--weblut-transition, all 0.2s ease); }
.reply a:hover { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 20%, transparent); transform: translateY(-2px); }
.comment-list .children { list-style: none; margin-left: 20px; padding-left: 0; border-left: 2px solid color-mix(in srgb, var(--weblut-text-color) 10%, transparent); margin-top: 15px; }
.comment-list .children .comment-body { background: transparent; border: none; box-shadow: none; padding-left: 55px; }
#respond { margin-top: 30px; padding: 0; background: transparent; box-shadow: none; }
.logged-in-as, .comment-notes { font-size: 0.85rem; color: var(--weblut-text-color); opacity: 0.8; margin-top: 0; margin-bottom: 20px; line-height: 1.5; }
.logged-in-as a { display: inline-flex; align-items: center; background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 12%, transparent); color: var(--weblut-btn-bg, #635bff); padding: 2px 8px; border-radius: 4px; font-weight: 600; text-decoration: none; margin: 0 4px; transition: var(--weblut-transition, all 0.2s ease); }
.logged-in-as a:hover { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 20%, transparent); }
.comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.comment-form-comment, .comment-form-url, .comment-form-cookies-consent, .form-submit, .comment-notes, .logged-in-as { grid-column: 1 / -1; }
.comment-form label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--weblut-text-color); opacity: 0.8; margin-bottom: 5px; }
.comment-form textarea { min-height: 60px; resize: none; }
.comment-form textarea:focus { min-height: 140px; }
.comment-form-cookies-consent { display: flex; align-items: center; gap: 10px; font-size: 0.85rem; color: var(--weblut-text-color); opacity: 0.8; }
.form-submit { margin-top: 5px; text-align: right; }
@media screen and (max-width: 768px) {
    .comment-list .comment-body { padding: 15px 15px 15px 55px; }
    .comment-author .avatar { top: 15px; left: 15px; width: 30px; height: 30px; }
    .comment-form { grid-template-columns: 1fr; }
    .comment-list .children { margin-left: 10px; }
    .form-submit { text-align: left; }
}

.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { background: transparent !important; }
@media screen and (max-width: 991px) {
    #content { flex-direction: column !important; flex-wrap: nowrap !important; }
    #primary, #secondary { width: 100% !important; flex: none !important; margin-left: 0 !important; margin-right: 0 !important; }
    #secondary { margin-top: 50px !important; }
}

/* =========================================================
   CUSTOM SCROLLBAR (Стильная полоса прокрутки)
   ========================================================= */
html { scrollbar-width: thin; scrollbar-color: var(--weblut-btn-bg, #635bff) rgba(0, 0, 0, 0.03); }
::-webkit-scrollbar { width: 12px; background-color: transparent; }
::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.03); border-radius: 10px; }
::-webkit-scrollbar-thumb { background-color: var(--weblut-btn-bg, #635bff); border-radius: 10px; border: 3px solid rgba(255, 255, 255, 0.8); background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background-color: var(--weblut-btn-hover-bg, #4a42e4); border: 3px solid transparent; }

html, body { max-width: 100%; overflow-x: clip; }
#page { width: 100%; overflow-x: clip; }
.entry-content, .comment-content { word-wrap: break-word; overflow-wrap: break-word; }

@media screen and (max-width: 768px) {
    .weblut-container-enabled #content { padding-left: 10px !important; padding-right: 10px !important; }
    [class*="scroll"], [id*="scroll"], .back-to-top { max-width: 100vw !important; contain: layout !important; }
}

/* =========================================================
   UI ЭЛЕМЕНТЫ: СЕЛЕКТЫ, ЧЕКБОКСЫ, РАДИО, ТАБЛИЦЫ
   ========================================================= */
select {
    appearance: none; -webkit-appearance: none; width: 100%; padding: 12px 35px 12px 15px;
    border: var(--weblut-b-forms); box-shadow: var(--weblut-sh-forms); border-radius: var(--weblut-card-radius, 8px); background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23425466' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; background-size: 16px;
    color: var(--weblut-text-color); cursor: pointer; transition: var(--weblut-transition, all 0.3s ease);
}
[type="checkbox"], [type="radio"] {
    appearance: none; -webkit-appearance: none; width: 20px; height: 20px;
    border: var(--weblut-b-forms); box-shadow: var(--weblut-sh-forms); margin-right: 10px; display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; transition: var(--weblut-transition, all 0.3s ease); vertical-align: middle; background: #fff; position: relative; top: -1px;
}
[type="checkbox"] { border-radius: 5px; }
[type="radio"] { border-radius: 50%; }

/* Hover states for Checkboxes and Radios */
[type="checkbox"]:hover, [type="radio"]:hover {
    border: var(--weblut-bh-forms); box-shadow: var(--weblut-sh-h-forms);
}

/* Active states for Checkboxes and Radios */
[type="checkbox"]:checked, [type="radio"]:checked {
    background-color: var(--weblut-gb-active, var(--weblut-btn-bg, #635bff)); 
    border: var(--weblut-bh-forms);
}
[type="checkbox"]:checked::after { content: ""; width: 5px; height: 10px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); margin-bottom: 2px; }
[type="radio"]:checked::after { content: ""; width: 8px; height: 8px; background: white; border-radius: 50%; }

.entry-content table, .wp-block-table {
    width: 100%; border-collapse: collapse; margin-bottom: 30px; background: var(--weblut-card-bg, #ffffff);
    border-radius: var(--weblut-card-radius, 8px); box-shadow: 0 1px 3px rgba(0,0,0,0.05); overflow: hidden; 
}
.entry-content th, .entry-content td { padding: 15px 20px; border: 1px solid color-mix(in srgb, var(--weblut-text-color) 10%, transparent); text-align: left; }
.entry-content th { background-color: color-mix(in srgb, var(--weblut-btn-bg, #635bff) 8%, transparent); color: var(--weblut-heading-color, #0a2540); font-weight: 700; }
.entry-content tr:nth-child(even) { background-color: color-mix(in srgb, var(--weblut-text-color) 2%, transparent); }

@media screen and (max-width: 768px) {
    .entry-content table, .wp-block-table table, .entry-content tbody, .entry-content tr, .entry-content td { display: block; width: 100%; }
    .entry-content thead { display: none; }
    .entry-content tr { margin-bottom: 20px; border: 1px solid color-mix(in srgb, var(--weblut-text-color) 10%, transparent); border-radius: var(--weblut-card-radius, 8px); background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.05); overflow: hidden; }
    .entry-content td { position: relative; padding: 12px 15px 12px 50%; text-align: right; border: none; border-bottom: 1px solid color-mix(in srgb, var(--weblut-text-color) 5%, transparent); }
    .entry-content td:last-child { border-bottom: none; }
    .entry-content td::before { content: attr(data-label); position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 45%; text-align: left; font-weight: 700; color: var(--weblut-heading-color, #0a2540); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* =========================================================
   GLOBAL UI: IMAGES, SEPARATORS & BLOCKS (NEW)
   ========================================================= */
/* Линии (HR) */
hr, .wp-block-separator {
    border-top: var(--weblut-b-hr) !important;
}

/* Одиночные картинки в тексте */
.entry-content img:not(.wp-smiley):not(.avatar):not(.swiper-slide) {
    border: var(--weblut-b-images);
    box-shadow: var(--weblut-sh-images);
    border-radius: var(--weblut-card-radius, 8px); 
    transition: var(--weblut-transition, all 0.3s ease);
}

/* Блоки Гутенберга (Группы и Колонки) */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
    border: var(--weblut-b-blocks);
    box-shadow: var(--weblut-sh-blocks);
    border-radius: var(--weblut-card-radius, 8px);
    transition: var(--weblut-transition, all 0.3s ease);
}
.wp-block-group:hover,
.wp-block-columns:hover,
.wp-block-column:hover {
    border: var(--weblut-bh-blocks);
    box-shadow: var(--weblut-sh-h-blocks);
}
/* =========================================================
   TICKER (MARQUEE / БЕГУЩАЯ СТРОКА) - БЕСШОВНЫЙ ФИКС
   ========================================================= */

/* Контейнер рядка */
.weblut-ticker-wrapper {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    z-index: 999;
    background-color: var(--weblut-content-bg, #ffffff); 
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.weblut-ticker-wrapper.use-header-style {
    background-color: var(--weblut-header-bg, #ffffff);
    border-bottom: var(--weblut-header-border, 1px solid rgba(0,0,0,0.05));
    box-shadow: var(--weblut-header-shadow, none);
}

/* Трек, який рухається */
.weblut-ticker-track {
    display: flex;
    width: max-content; /* ВАЖНО: Заставляет трек четко облегать контент */
    animation: weblut-marquee linear infinite;
}

.weblut-ticker-wrapper:hover .weblut-ticker-track {
    animation-play-state: paused;
}

/* Сам контент (виводиться двічі) */
.weblut-ticker-content {
    display: flex;
    align-items: center;
    padding-right: 50px; 
    min-width: 100vw; /* ВАЖНО: Даже короткий текст будет занимать минимум 1 экран, убирая резкие прыжки */
    flex-shrink: 0; /* ВАЖНО: Запрещаем блокам сжиматься */
    font-size: 0.9rem;
    font-weight: 500;
}

.weblut-ticker-content a {
    color: var(--weblut-heading-color, #0a2540);
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.weblut-ticker-content a:hover {
    color: var(--weblut-btn-bg, #635bff);
}

.ticker-sep {
    margin: 0 15px;
    color: var(--weblut-text-color, #8898aa);
    opacity: 0.5;
    font-size: 0.8rem;
}

/* Анімація: зсув треку вліво рівно на 50% */
@keyframes weblut-marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

.weblut-ticker-content > * {
    display: inline-block;
    vertical-align: middle;
}

/* =========================================================
   TOP BAR (ВЕРХНЯ ПАНЕЛЬ)
   ========================================================= */
.weblut-topbar {
    background-color: var(--weblut-topbar-bg, #f8f9fa);
    color: var(--weblut-topbar-text, #425466);
    font-size: 0.85rem;
    padding: var(--weblut-topbar-pad, 8px) 15px;
    text-align: center;
    position: relative;
    z-index: 100001; /* Завжди вище самої шапки */
}
.weblut-topbar a { 
    color: inherit; 
    text-decoration: underline; 
    font-weight: 600; 
    transition: opacity 0.2s ease; 
}
.weblut-topbar a:hover { opacity: 0.8; }
.weblut-topbar p { margin: 0; padding: 0; }