:root {
    --ten-bg:      #F8F6F2;
    --ten-card:    #FFFFFF;
    --ten-text:    #1E1E1E;
    --ten-muted:   #6B6B6B;
    --ten-accent:  #2B5F8E;
    --ten-hover:   #1E4A6E;
    --ten-nav:     #1A2332;
    --ten-border:  #E0DDD8;
    --ten-radius:  8px;
    --ten-shadow:  0 2px 12px rgba(0,0,0,0.07);
    --ten-width:   1200px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
    background-color: var(--ten-bg) !important;
    color: var(--ten-text) !important;
    font-family: 'Fira Sans', system-ui, -apple-system, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Fira Sans Condensed', 'Fira Sans', sans-serif !important;
    font-weight: 700 !important;
    color: var(--ten-text) !important;
    line-height: 1.25 !important;
}
h1 { font-size: 2.2rem !important; }
h2 { font-size: 1.8rem !important; }
h3 { font-size: 1.3rem !important; }

a { color: var(--ten-accent); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--ten-hover); }
p { margin-bottom: 1.2em; }

.grid-container,
.inside-header,
.inside-navigation,
.inside-footer-widgets,
.inside-site-footer {
    max-width: var(--ten-width) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ---- Топ-бар ---- */
.ten-topbar {
    background-color: #243040;
    color: #9AACBA;
    font-size: 0.82rem;
    font-family: 'Fira Sans', sans-serif;
    border-bottom: 1px solid #1A2332;
}
.ten-topbar-inner {
    max-width: var(--ten-width);
    margin: 0 auto;
    padding: 7px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.ten-topbar a { color: #9AACBA; }
.ten-topbar a:hover { color: #FFFFFF; }
.ten-tb-sep { margin: 0 10px; opacity: 0.4; }
.ten-tb-right { display: flex; align-items: center; }

/* ---- Header ---- */
.site-header {
    background-color: var(--ten-card) !important;
    border-bottom: 1px solid var(--ten-border);
    box-shadow: 0 1px 8px rgba(0,0,0,0.05);
    padding: 16px 0 !important;
}
.main-title {
    font-family: 'Fira Sans Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
.main-title a { color: var(--ten-text) !important; font-family: 'Fira Sans Condensed', sans-serif !important; }
.main-title a:hover { color: var(--ten-accent) !important; }
.site-description {
    color: var(--ten-muted) !important;
    font-size: 0.85rem !important;
    font-family: 'Fira Sans', sans-serif !important;
    margin-top: 2px !important;
}

/* ---- Navigation ---- */
.main-navigation,
.nav-primary,
.main-navigation .inside-navigation {
    background-color: var(--ten-nav) !important;
}

/* ---- Поиск в навигации ---- */
.main-navigation .inside-navigation {
    position: relative !important;
}
.navigation-search {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}
.navigation-search .search-field {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(200,212,223,0.2) !important;
    color: #C8D4DF !important;
    border-radius: 20px !important;
    padding: 4px 14px 4px 30px !important;
    font-size: 0.82rem !important;
    height: 30px !important;
    width: 170px !important;
    font-family: 'Fira Sans', sans-serif !important;
    transition: all 0.2s !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239AACBA' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 10px center !important;
}
.navigation-search .search-field:focus {
    background-color: rgba(255,255,255,0.12) !important;
    border-color: rgba(200,212,223,0.4) !important;
    color: #fff !important;
    outline: none !important;
}
.navigation-search .search-field::placeholder { color: rgba(200,212,223,0.35) !important; }

/* Скрываем иконку-переключатель (×) — форма всегда видна */
li.search-item,
.mobile-bar-items .search-item { display: none !important; }
.main-navigation ul li a,
.nav-primary ul li a {
    color: #C8D4DF !important;
    font-family: 'Fira Sans', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    transition: color 0.2s, background-color 0.2s !important;
    padding: 14px 16px !important;
}
.main-navigation ul li a:hover,
.nav-primary ul li a:hover {
    color: #FFFFFF !important;
    background-color: rgba(255,255,255,0.07) !important;
}
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.nav-primary ul li.current-menu-item > a {
    color: #FFFFFF !important;
    background-color: var(--ten-accent) !important;
}
.main-navigation .sub-menu,
.nav-primary .sub-menu {
    background-color: #243040 !important;
    border-top: 2px solid var(--ten-accent) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}

/* ---- Post cards ---- */
.inside-article {
    background-color: var(--ten-card) !important;
    border-radius: var(--ten-radius) !important;
    box-shadow: var(--ten-shadow) !important;
    border: 1px solid var(--ten-border) !important;
    overflow: hidden !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
    margin-bottom: 0 !important;
}
.inside-article:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.12) !important;
    transform: translateY(-2px) !important;
}
.entry-header { padding: 20px 20px 0 !important; }
.entry-title { font-size: 1.15rem !important; font-weight: 700 !important; margin-bottom: 0.5em !important; }
.entry-title a { color: var(--ten-text) !important; }
.entry-title a:hover { color: var(--ten-accent) !important; }
.entry-summary, .entry-content { padding: 8px 20px 20px !important; color: var(--ten-muted) !important; font-size: 0.93rem !important; }
.entry-meta { font-size: 0.8rem !important; color: var(--ten-muted) !important; padding: 0 20px 8px !important; }
.post-image img, .generate-post-image img {
    width: 100% !important; height: 200px !important; object-fit: cover !important;
}

/* ---- Buttons ---- */
.button, button[type=submit], input[type=submit],
.wp-block-button__link, a.more-link {
    background-color: var(--ten-accent) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: var(--ten-radius) !important;
    padding: 10px 22px !important;
    font-family: 'Fira Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    cursor: pointer !important;
    transition: background-color 0.2s, box-shadow 0.2s !important;
    display: inline-block !important;
}
.button:hover, button[type=submit]:hover, input[type=submit]:hover,
.wp-block-button__link:hover, a.more-link:hover {
    background-color: var(--ten-hover) !important;
    box-shadow: 0 4px 14px rgba(43,95,142,0.35) !important;
}
.button:focus-visible, button:focus-visible, input[type=submit]:focus-visible {
    outline: 2px solid var(--ten-accent) !important;
    outline-offset: 3px !important;
}
/* Сброс кнопочных стилей для WP Admin Bar */
#wpadminbar .button,
#wpadminbar button,
#wpadminbar input[type=submit] {
    background-color: transparent !important;
    color: inherit !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    font-weight: inherit !important;
    font-size: inherit !important;
}

/* ---- h2 в сайдбаре (блоки виджетов) — переопределяем размер ---- */
.widget-area h2,
.widget-area h3 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--ten-nav) !important;
    border-bottom: 2px solid var(--ten-accent) !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}

/* ---- Sidebar widgets ---- */
.widget-area .widget,
aside.widget {
    background-color: var(--ten-card) !important;
    border: 1px solid var(--ten-border) !important;
    border-radius: var(--ten-radius) !important;
    padding: 18px 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
}
.widget-title,
.widget-area .widget-title {
    font-family: 'Fira Sans Condensed', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--ten-nav) !important;
    border-bottom: 2px solid var(--ten-accent) !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}
.widget-area ul li {
    padding: 5px 0 !important;
    border-bottom: 1px solid var(--ten-border) !important;
    font-size: 0.9rem !important;
}
.widget-area ul li:last-child { border-bottom: none !important; }
.widget .search-form input[type=search] {
    border: 1px solid var(--ten-border) !important;
    border-radius: var(--ten-radius) 0 0 var(--ten-radius) !important;
    padding: 8px 12px !important;
    font-family: 'Fira Sans', sans-serif !important;
    font-size: 0.9rem !important;
    background: var(--ten-bg) !important;
}

/* ---- Footer ---- */
.site-footer,
.footer-widgets,
footer.site-footer {
    background-color: var(--ten-nav) !important;
    color: #A8B5C2 !important;
    border-top: none !important;
}
.site-footer a, .footer-widgets a { color: #A8B5C2 !important; }
.site-footer a:hover, .footer-widgets a:hover { color: #FFFFFF !important; }
.site-footer .copyright { font-size: 0.85rem !important; opacity: 0.8; }

/* ---- Разделители ---- */
hr { border: none !important; border-top: 1px solid var(--ten-border) !important; margin: 2rem 0 !important; }

/* ---- Одиночный пост ---- */
.single .entry-content { padding: 0 !important; color: var(--ten-text) !important; font-size: 1rem !important; line-height: 1.8 !important; }
.single .entry-header { padding: 0 0 20px !important; }

/* ---- Grid 3 колонки ---- */
@media (min-width: 769px) {
    .generate-columns-container {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px !important;
    }
}

/* ---- Логотип: ПРО в акцентном цвете ---- */
.ten-pro {
    color: var(--ten-accent) !important;
    font-style: normal;
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
    .ten-topbar-inner { flex-direction: column; align-items: flex-start; }
    h1 { font-size: 1.7rem !important; }
    h2 { font-size: 1.3rem !important; }
    .post-image img, .generate-post-image img { height: 160px !important; }
}
