/*
 * theme.css — layout и компоненты.
 * Токены и типографика — в style.css.
 */

/* ==========================================================================
   Layout shell
   ========================================================================== */

.site{ display: flex; flex-direction: column; min-height: 100vh; }
.site-main{ flex: 1 0 auto; padding-block: var(--space-6); }

.content-area{ display: flex; flex-direction: column; gap: var(--space-7); }
@media (min-width: 960px){
	.content-area{ flex-direction: row; align-items: flex-start; }
	.content-area .primary{ flex: 1 1 auto; min-width: 0; }
	.content-area .widget-area{ flex: 0 0 300px; width: 300px; }
	.location-left .content-area{ flex-direction: row-reverse; }
}

/* ==========================================================================
   Site header
   ========================================================================== */

.site-header{
	position: sticky; top: 0; z-index: 100;
	background: var(--ink);
	color: #fff;
}
.site-header__bar{
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-3);
}
.site-branding{ display: flex; align-items: center; min-width: 0; }
.site-branding__link{ display: flex; align-items: center; gap: var(--space-3); color: #fff; min-width: 0; }
.site-branding__link:hover{ color: #fff; }
.site-branding__mark{ height: 36px; width: auto; flex-shrink: 0; }
.site-title{
	font-family: var(--font-display); font-weight: 800; font-size: 1.25rem;
	color: #fff; margin: 0; letter-spacing: -0.01em; white-space: nowrap;
	overflow: hidden; text-overflow: ellipsis;
}
.site-description{ display: none; }

.mobile-menu-icon{
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; color: #fff; flex-shrink: 0;
}
.mobile-menu-icon svg{ width: 22px; height: 22px; }

.site-navigation{
	display: none;
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--ink);
	border-top: 1px solid rgba(255,255,255,.12);
	max-height: calc(100vh - 60px);
	overflow-y: auto;
}
.site-navigation.is-open{ display: block; }
.site-navigation ul{ display: flex; flex-direction: column; }
.site-navigation a{
	display: block; padding: var(--space-4) var(--space-5);
	color: #fff; border-bottom: 1px solid rgba(255,255,255,.08);
	font-size: var(--text-sm); font-weight: 500;
}
.site-navigation a:hover{ color: var(--gold); }
.site-navigation .sub-menu{ background: rgba(255,255,255,.04); display: none; }
.site-navigation .sub-menu.is-open{ display: block; }
.site-navigation .menu-item-has-children > a{ position: relative; }
.submenu-toggle{
	position: absolute; right: var(--space-3); top: 50%; transform: translateY(-50%);
	width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
	color: inherit;
}
.submenu-toggle svg{ transition: transform .15s ease; }
.submenu-toggle[aria-expanded="true"] svg{ transform: rotate(180deg); }
.site-navigation li, .widget_nav_menu li{ position: relative; }
.widget_nav_menu .submenu-toggle{ color: var(--muted); }

.header-search{ display: none; }

@media (min-width: 960px){
	.mobile-menu-icon{ display: none; }
	.site-navigation{
		display: block; position: static; background: none; border: 0;
		max-height: none; overflow: visible;
	}
	.site-navigation ul{ flex-direction: row; align-items: center; gap: var(--space-1); }
	.site-navigation a{ border: 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill); }
	.site-navigation a:hover{ background: rgba(255,255,255,.08); color: #fff; }
	.site-navigation .sub-menu{
		display: block; visibility: hidden; opacity: 0; pointer-events: none;
		position: absolute; margin-top: var(--space-2);
		background: var(--surface); border-radius: var(--radius-sm);
		box-shadow: var(--shadow-pop); padding: var(--space-2);
		min-width: 200px; transition: opacity .15s ease;
	}
	.site-navigation li:hover > .sub-menu,
	.site-navigation li:focus-within > .sub-menu{ visibility: visible; opacity: 1; pointer-events: auto; }
	.site-navigation .sub-menu a{ color: var(--body-text); border-radius: 8px; }
	.site-navigation .sub-menu a:hover{ background: var(--paper); color: var(--accent); }
	.header-search{ display: flex; align-items: center; }
}

.header-search__toggle{ color: #fff; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.header-search__toggle svg{ width: 18px; height: 18px; }
.header-search-panel{
	display: none; position: absolute; top: 100%; left: 0; right: 0;
	background: var(--ink); padding: var(--space-4) var(--space-5);
	border-top: 1px solid rgba(255,255,255,.12);
}
.header-search-panel.is-open{ display: block; }
.header-search-panel form{ display: flex; max-width: 480px; margin-inline: auto; }

/* Прогресс чтения — тонкая полоса под шапкой на одиночной записи. */
.reading-progress{
	position: sticky; top: 0; z-index: 99; height: 3px;
	background: var(--accent); width: 0%;
	transition: width .1s linear;
}

/* ==========================================================================
   Кнопки
   ========================================================================== */

.btn{
	display: inline-flex; align-items: center; gap: var(--space-2);
	background: var(--accent); color: var(--accent-ink);
	font-weight: 600; font-size: var(--text-sm);
	padding: 0.75em 1.4em; border-radius: var(--radius-pill);
	transition: background .15s ease, transform .15s ease;
}
.btn:hover{ background: var(--accent-dark); color: var(--accent-ink); transform: translateY(-1px); }
.btn--ghost{ background: transparent; border: 1.5px solid var(--line-strong); color: var(--ink); }
.btn--ghost:hover{ background: var(--ink); border-color: var(--ink); color: #fff; }
.btn--dark{ background: var(--ink); color: #fff; }
.btn--dark:hover{ background: #000; }

/* ==========================================================================
   Camera-island — фирменная рамка изображений
   ========================================================================== */

.media-frame{
	position: relative; display: block; overflow: hidden;
	border-radius: var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-sm);
	background: var(--line);
	aspect-ratio: 4 / 3;
}
.media-frame img{ width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
a.media-frame:hover img{ transform: scale(1.04); }
.media-frame--wide{ aspect-ratio: 16 / 9; }
.media-frame--square{ aspect-ratio: 1 / 1; border-radius: var(--radius-md) var(--radius-sm) var(--radius-md) var(--radius-sm); }
.media-frame .lens-badge{
	position: absolute; right: var(--space-3); bottom: var(--space-3);
	display: flex; gap: 5px; align-items: center;
	background: rgba(20,22,31,.72); backdrop-filter: blur(2px);
	padding: 7px 10px; border-radius: var(--radius-pill);
}
.media-frame .lens-badge span{ width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.85); }
.media-frame .lens-badge span:last-child{ background: var(--gold); }

/* ==========================================================================
   Строка метаданных
   ========================================================================== */

.post-meta{
	display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-4);
	font-size: var(--text-xs); color: var(--muted); margin-bottom: var(--space-3);
}
.post-meta__item{ display: inline-flex; align-items: center; gap: 5px; }
.post-meta__item svg{ width: 14px; height: 14px; color: var(--line-strong); flex-shrink: 0; }
.post-meta__cat a{
	background: var(--accent-soft); color: var(--accent-dark);
	font-weight: 600; padding: 3px 10px; border-radius: var(--radius-pill);
	font-size: var(--text-xs);
}
.post-meta__rating{ margin-bottom: var(--space-3); color: var(--gold); }

/* ==========================================================================
   Карточка записи
   ========================================================================== */

.post-card{ display: flex; flex-direction: column; }
.post-card__media{ margin-bottom: var(--space-4); }
.post-card__title{ font-size: var(--text-lg); margin-bottom: var(--space-2); line-height: 1.3; }
.post-card__title a{ color: var(--ink); }
.post-card__title a:hover{ color: var(--accent); }
.post-card__excerpt{ color: var(--muted); font-size: var(--text-sm); margin-bottom: var(--space-3); }

.entries-grid{
	display: grid; grid-template-columns: 1fr; gap: var(--space-6);
}
@media (min-width: 640px){
	.entries-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px){
	.entries-grid--3{ grid-template-columns: repeat(3, 1fr); }
}

.archive-header{ margin-bottom: var(--space-6); }
.archive-header__title{ margin-bottom: var(--space-2); }
.archive-header__desc{ color: var(--muted); max-width: 60ch; }

/* ==========================================================================
   Хлебные крошки
   ========================================================================== */

.breadcrumbs{ margin-bottom: var(--space-5); }
.breadcrumbs ol{ display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-xs); color: var(--muted); }
.breadcrumbs a{ color: var(--muted); }
.breadcrumbs a:hover{ color: var(--accent); }
.breadcrumbs li{ display: inline-flex; }
.breadcrumbs__sep{ color: var(--line-strong); }

/* ==========================================================================
   Hero / слайдер
   ========================================================================== */

.hero{ margin-bottom: var(--space-8); }
.hero-slider{ position: relative; }
.hero-slide{ display: none; }
.hero-slide.is-active{ display: block; }
.hero-slide__inner{
	display: flex; flex-direction: column; gap: var(--space-5);
	background: var(--surface); border-radius: var(--radius-lg);
	padding: var(--space-5); box-shadow: var(--shadow-card);
}
.hero-slide__media{ aspect-ratio: 16/10; border-radius: var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-sm); }
.hero-slide__eyebrow{
	font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .08em;
	font-size: var(--text-xs); color: var(--accent); font-weight: 500; margin-bottom: var(--space-2);
}
.hero-slide__title{ font-size: var(--text-3xl); margin-bottom: var(--space-3); }
.hero-slide__title a{ color: var(--ink); }
.hero-slide__excerpt{ color: var(--muted); margin-bottom: var(--space-4); max-width: 56ch; }

@media (min-width: 860px){
	.hero-slide__inner{ flex-direction: row; align-items: center; padding: var(--space-6); }
	.hero-slide__media{ flex: 0 0 52%; }
	.hero-slide__body{ flex: 1 1 auto; }
}

.hero-controls{ display: flex; align-items: center; justify-content: center; gap: var(--space-4); margin-top: var(--space-4); }
.hero-arrow{
	width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--line-strong);
	display: inline-flex; align-items: center; justify-content: center; color: var(--ink);
}
.hero-arrow:hover{ background: var(--ink); border-color: var(--ink); color: #fff; }
.hero-arrow svg{ width: 16px; height: 16px; }
.hero-dots{ display: flex; gap: var(--space-2); }
.hero-dots button{ width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.hero-dots button.is-active{ background: var(--accent); width: 22px; border-radius: var(--radius-pill); transition: width .2s ease; }

/* ==========================================================================
   Одиночная запись
   ========================================================================== */

.entry-header{ margin-bottom: var(--space-5); }
.entry-title{ margin-bottom: var(--space-3); }
.entry-featured{ margin-bottom: var(--space-6); aspect-ratio: 16/9; }

.entry-content{ font-size: var(--text-lg); line-height: 1.75; max-width: var(--content-width); }
.entry-content > *{ max-width: 100%; }
.entry-content h2{ margin-top: var(--space-7); font-size: var(--text-2xl); }
.entry-content h3{ margin-top: var(--space-6); font-size: var(--text-xl); }
.entry-content p{ margin-bottom: var(--space-5); }
.entry-content ul, .entry-content ol{ margin: 0 0 var(--space-5); padding-left: 1.3em; }
.entry-content ul{ list-style: disc; }
.entry-content ol{ list-style: decimal; }
.entry-content li{ margin-bottom: var(--space-2); }
.entry-content blockquote{
	margin: var(--space-6) 0; padding: var(--space-4) var(--space-5);
	border-left: 3px solid var(--accent); background: var(--accent-soft);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-style: italic; color: var(--ink);
}
.entry-content img{ border-radius: var(--radius-md); }
.entry-content figcaption{ font-size: var(--text-xs); color: var(--muted); margin-top: var(--space-2); text-align: center; }
.entry-content a{ text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.entry-content table{ margin-bottom: var(--space-5); font-size: var(--text-sm); }
.entry-content table th, .entry-content table td{ border: 1px solid var(--line); padding: var(--space-2) var(--space-3); text-align: left; }
.entry-content table th{ background: var(--paper); font-family: var(--font-mono); font-weight: 500; }
.entry-content .gallery{ display: grid; grid-template-columns: repeat(var(--gallery-cols, 3), 1fr); gap: var(--space-2); margin-bottom: var(--space-5); }
.entry-content .gallery-columns-1{ --gallery-cols: 1; }
.entry-content .gallery-columns-2{ --gallery-cols: 2; }
.entry-content .gallery-columns-3{ --gallery-cols: 3; }
.entry-content .gallery-columns-4{ --gallery-cols: 4; }
.entry-content .gallery-columns-5{ --gallery-cols: 5; }
.entry-content .gallery-columns-6{ --gallery-cols: 6; }
.entry-content .gallery-columns-7,
.entry-content .gallery-columns-8,
.entry-content .gallery-columns-9{ --gallery-cols: 4; }
.entry-content .gallery img{ border-radius: var(--radius-sm); cursor: zoom-in; }
.entry-content .wp-caption{ max-width: 100%; }
.edit-link{ margin-top: var(--space-4); }
.edit-link a{ font-size: var(--text-xs); color: var(--muted); }

.entry-taxonomy{ display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-6) 0; max-width: var(--content-width); }
.entry-taxonomy a{
	font-size: var(--text-xs); background: var(--paper); border: 1px solid var(--line);
	padding: 5px 12px; border-radius: var(--radius-pill); color: var(--muted);
}
.entry-taxonomy a:hover{ border-color: var(--accent); color: var(--accent); }

/* ==========================================================================
   Поделиться
   ========================================================================== */

.share-row{ display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin: var(--space-6) 0; max-width: var(--content-width); }
.share-row__label{ font-size: var(--text-xs); color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.share-list{ display: flex; gap: var(--space-2); }
.share-list a, .share-list button{
	width: 38px; height: 38px; border-radius: 50%;
	background: var(--ink); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background .15s ease;
}
.share-list a:hover, .share-list button:hover{ background: var(--accent); color: #fff; }
.share-list svg{ width: 16px; height: 16px; }
.share-list .is-copied{ background: var(--gold); }

/* ==========================================================================
   Блок автора / похожие записи
   ========================================================================== */

.author-box{
	display: flex; gap: var(--space-4); align-items: flex-start;
	background: var(--surface); border-radius: var(--radius-md); padding: var(--space-5);
	margin: var(--space-7) 0; max-width: var(--content-width); box-shadow: var(--shadow-card);
}
.author-box img{ border-radius: 50%; flex-shrink: 0; }
.author-box__name{ font-family: var(--font-display); font-weight: 600; color: var(--ink); margin-bottom: var(--space-1); }
.author-box__bio{ color: var(--muted); font-size: var(--text-sm); margin: 0; }

.related-posts{ margin-top: var(--space-8); }
.related-posts__title{ margin-bottom: var(--space-5); }

/* ==========================================================================
   Пагинация
   ========================================================================== */

.pagination{ display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-7); justify-content: center; }
.pagination .page-numbers{
	min-width: 40px; height: 40px; padding-inline: var(--space-2);
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: var(--radius-sm); background: var(--surface); color: var(--ink);
	font-family: var(--font-mono); font-size: var(--text-sm); box-shadow: var(--shadow-card);
}
.pagination .page-numbers.current{ background: var(--accent); color: #fff; }
.pagination .page-numbers.dots{ box-shadow: none; background: none; }

/* ==========================================================================
   Виджеты
   ========================================================================== */

.widget{ margin-bottom: var(--space-6); background: var(--surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-card); }
.widget:last-child{ margin-bottom: 0; }
.widget-area-inline{ margin-bottom: var(--space-6); }
.widget-area-inline .widget:last-child{ margin-bottom: 0; }
.widget-title{ font-size: var(--text-base); text-transform: uppercase; letter-spacing: .05em; margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 2px solid var(--paper); }
.widget ul{ display: flex; flex-direction: column; gap: var(--space-2); }
.widget select{ width: 100%; padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.widget .menu li{ border-bottom: 1px solid var(--paper); }
.widget .menu a{ display: flex; justify-content: space-between; padding: var(--space-2) 0; color: var(--body-text); }
.widget .menu a:hover{ color: var(--accent); }
.widget .menu .sub-menu{ padding-left: var(--space-4); }
.widget_tag_cloud a{ display: inline-block; margin: 0 var(--space-2) var(--space-2) 0; padding: 4px 10px; background: var(--paper); border-radius: var(--radius-pill); color: var(--muted); }
.widget_tag_cloud a:hover{ background: var(--accent-soft); color: var(--accent-dark); }
.widget_calendar table{ font-size: var(--text-xs); text-align: center; }
.widget_calendar caption{ font-weight: 600; padding-bottom: var(--space-2); }
.widget_calendar td, .widget_calendar th{ padding: 4px; }

.widget_lt_posts_con{ display: flex; gap: var(--space-3); padding-block: var(--space-3); border-bottom: 1px solid var(--paper); }
.widget_lt_posts_con:last-child{ border-bottom: 0; padding-bottom: 0; }
.widget_lt_posts_con:first-child{ padding-top: 0; }
.widget_lt_posts_thumb{ flex: 0 0 64px; width: 64px; height: 64px; border-radius: var(--radius-sm); overflow: hidden; }
.widget_lt_posts_thumb img{ width: 100%; height: 100%; object-fit: cover; }
.widget_lt_posts_right{ flex: 1 1 auto; min-width: 0; }
.widget_lt_posts_title a{ color: var(--lt-wp-title, var(--ink)); line-height: 1.3; }
.widget_lt_posts_title a:hover{ color: var(--lt-wp-title-hover, var(--accent)); }
.widget_lt_posts_date{ margin-top: 4px; }

.searchform{ display: flex; }
.searchform input[type="search"], .searchform input[type="email"]{ flex: 1 1 auto; min-width: 0; border: 1px solid var(--line); border-right: 0; border-radius: var(--radius-pill) 0 0 var(--radius-pill); padding: var(--space-3) var(--space-4); }
.searchform button{
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	min-width: 48px; background: var(--ink); color: #fff; border-radius: 0 var(--radius-pill) var(--radius-pill) 0; padding-inline: var(--space-3);
}
.searchform button svg{ width: 18px; height: 18px; display: block; flex-shrink: 0; }
.searchform button:hover{ background: var(--accent); }
.header-search-panel .searchform input[type="search"]{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.header-search-panel .searchform input[type="search"]::placeholder{ color: rgba(255,255,255,.6); }

/* ==========================================================================
   Комментарии
   ========================================================================== */

.comments-area{ margin-top: var(--space-8); max-width: var(--content-width); }
.comments-title{ margin-bottom: var(--space-5); }
.comment-list{ display: flex; flex-direction: column; gap: var(--space-5); }
.comment-list .children{ margin-top: var(--space-5); padding-left: var(--space-6); border-left: 2px solid var(--line); }
.comment-body{ display: flex; flex-direction: column; }
.comment-author{ display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); }
.comment-author img{ border-radius: 50%; }
.comment-author__name{ font-weight: 600; color: var(--ink); }
.comment-awaiting-moderation{ font-size: var(--text-xs); color: var(--gold); }
.comment-meta{ font-size: var(--text-xs); color: var(--muted); margin-bottom: var(--space-2); }
.comment-content p{ margin-bottom: var(--space-2); }
.comment-reply a{ font-size: var(--text-xs); font-weight: 600; }
.no-comments{ color: var(--muted); }

.comment-respond{ margin-top: var(--space-6); background: var(--surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-card); }
.comment-form p{ margin-bottom: var(--space-4); }
.comment-form label{ display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 600; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
	width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: var(--space-3);
}
.comment-form textarea{ min-height: 140px; }
.comment-form .comment-form-cookies-consent{ display: flex; align-items: center; gap: var(--space-2); }
.comment-form .comment-form-cookies-consent input{ width: auto; }

/* ==========================================================================
   Шорткоды
   ========================================================================== */

.lt-button{ display: inline-flex; align-items: center; gap: 8px; padding: .7em 1.3em; border-radius: var(--radius-pill); font-weight: 600; background: var(--accent); color: #fff; }
.lt-button.red{ background: #E14B4B; } .lt-button.green{ background: #17A673; } .lt-button.dark{ background: var(--ink); }
.lt-alert{ padding: var(--space-4); border-radius: var(--radius-sm); background: var(--accent-soft); border: 1px solid var(--line); }
.lt-alert.red{ background: #FCEAEA; border-color: #F3C6C6; } .lt-alert.green{ background: #E7F7F1; border-color: #BEEBDA; }
.lt-tabs > ul{ display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-4); border-bottom: 2px solid var(--line); }
.lt-tabs > ul a{ display: inline-block; padding: var(--space-2) var(--space-4); color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -2px; }
.lt-tabs > ul a.is-active{ color: var(--accent); border-color: var(--accent); }
.lt-tab{ display: none; }
.lt-tab.is-active{ display: block; }
.lt-toggle{ border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.lt-toggle-trigger{ padding: var(--space-3) var(--space-4); background: var(--paper); font-weight: 600; cursor: pointer; }
.lt-toggle-con{ padding: var(--space-4); display: none; }
.lt-toggle.is-open .lt-toggle-con{ display: block; }
.lt-column{ display: inline-block; vertical-align: top; width: 100%; }
@media (min-width: 720px){
	.lt-column.two{ width: calc(50% - var(--space-3)); margin-right: var(--space-3); }
	.lt-column.three{ width: calc(33.333% - var(--space-3)); margin-right: var(--space-3); }
	.lt-column.four{ width: calc(25% - var(--space-3)); margin-right: var(--space-3); }
	.lt-column.last{ margin-right: 0; }
}
.lt-column-title{ font-family: var(--font-display); font-weight: 600; margin-bottom: var(--space-2); color: var(--ink); }

/* ==========================================================================
   Подвал
   ========================================================================== */

.site-footer{ background: var(--ink); color: rgba(255,255,255,.85); margin-top: var(--space-8); }
.site-footer a{ color: rgba(255,255,255,.85); }
.site-footer a:hover{ color: #fff; }
.footer-columns{ display: grid; grid-template-columns: 1fr; gap: var(--space-6); padding-block: var(--space-7); }
@media (min-width: 720px){ .footer-columns{ grid-template-columns: repeat(3, 1fr); } }
.footer-columns .widget{ background: transparent; box-shadow: none; padding: 0; margin-bottom: 0; }
.footer-columns .widget-title{ color: #fff; border-color: rgba(255,255,255,.15); }
.footer-columns a{ color: rgba(255,255,255,.75); }
.footer-columns a:hover{ color: #fff; }
.footer-columns .post-meta,
.footer-columns .widget_lt_posts_date{ color: rgba(255,255,255,.5); }
.footer-columns .post-meta__item svg{ color: rgba(255,255,255,.35); }
.footer-columns .widget_tag_cloud a{ background: rgba(255,255,255,.1); color: rgba(255,255,255,.85); }
.footer-columns .widget_tag_cloud a:hover{ background: var(--accent); color: #fff; }

.site-footer-bottom{
	display: flex; flex-direction: column; gap: var(--space-3);
	padding-block: var(--space-5); border-top: 1px solid rgba(255,255,255,.12);
	font-size: var(--text-xs); color: rgba(255,255,255,.6);
}
@media (min-width: 720px){ .site-footer-bottom{ flex-direction: row; align-items: center; justify-content: space-between; } }
.social-links{ display: flex; gap: var(--space-3); }
.social-links a{ width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.08); display: inline-flex; align-items: center; justify-content: center; }
.social-links a:hover{ background: var(--accent); }
.social-links svg{ width: 15px; height: 15px; }

/* ==========================================================================
   404 / нет результатов
   ========================================================================== */

.no-results{ text-align: center; padding: var(--space-8) var(--space-4); max-width: 480px; margin-inline: auto; }
.no-results__code{ font-family: var(--font-mono); font-size: var(--text-4xl); color: var(--accent); margin-bottom: var(--space-2); }

/* ==========================================================================
   Лайтбокс
   ========================================================================== */

.blogit-lightbox{
	position: fixed; inset: 0; z-index: 1000; background: rgba(10,10,16,.92);
	display: none; align-items: center; justify-content: center; padding: var(--space-5);
}
.blogit-lightbox.is-open{ display: flex; }
.blogit-lightbox img{ max-height: 90vh; border-radius: var(--radius-sm); }
.blogit-lightbox__close{ position: absolute; top: var(--space-5); right: var(--space-5); width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.blogit-lightbox__close svg{ width: 18px; height: 18px; }
