/*
Theme Name: ForProMen — основная
Description: Современная редакционная тема WordPress для практичного мужского журнала.
Version: 1.0.0
Requires at least: 7.0.2
Tested up to: 7.0.2
Requires PHP: 8.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forpromen-pro
Tags: blog, news, custom-logo, custom-menu, featured-images, translation-ready, accessibility-ready, wide-blocks
*/

:root {
	--fpm-ink: #171a18;
	--fpm-paper: #f2f0e8;
	--fpm-white: #fffef8;
	--fpm-muted: #656861;
	--fpm-line: #b9bbb2;
	--fpm-accent: #c9f34a;
	--fpm-rust: #c95035;
	--fpm-steel: #3d5459;
	--fpm-font: Inter, "Segoe UI", Arial, sans-serif;
	--fpm-display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	--fpm-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
	--fpm-width: 86rem;
	--fpm-reading: 48rem;
	--fpm-space: clamp(4rem, 8vw, 8rem);
	--fpm-shadow: 0 1.2rem 4rem rgba(23, 26, 24, 0.12);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fpm-paper); color: var(--fpm-ink); font-family: var(--fpm-font); font-size: 1rem; line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.2em; }
a:hover { color: var(--fpm-rust); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 0.22rem solid var(--fpm-rust); outline-offset: 0.2rem; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.7em; line-height: 1.02; }
p { margin: 0 0 1.25em; }
.site-container { width: min(100% - clamp(1.25rem, 6vw, 6rem), var(--fpm-width)); margin-inline: auto; }
.narrow-content { max-width: var(--fpm-reading); }
.site-main { min-height: 55vh; padding-block: clamp(2.5rem, 6vw, 6rem); }
.homepage-main { padding-block: 0; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { top: 0.5rem; left: 0.5rem; z-index: 100000; width: auto; height: auto; padding: 0.75rem 1rem; clip: auto; background: var(--fpm-white); color: var(--fpm-ink); }

.site-header { position: relative; z-index: 20; background: var(--fpm-paper); }
.site-header__utility { background: var(--fpm-ink); color: var(--fpm-white); }
.utility-line { display: flex; min-height: 2.15rem; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--fpm-mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; }
.utility-line a { color: var(--fpm-accent); }
.site-header__inner { display: grid; min-height: 9rem; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; border-bottom: 0.35rem solid var(--fpm-ink); }
.site-branding { display: flex; align-items: baseline; gap: clamp(1rem, 3vw, 3rem); }
.site-title { margin: 0; font-family: var(--fpm-display); font-size: clamp(3.2rem, 9vw, 8.5rem); font-weight: 900; letter-spacing: -0.065em; line-height: 0.76; text-transform: uppercase; }
.site-title a { text-decoration: none; }
.site-title a::after { color: var(--fpm-rust); content: "."; }
.site-description { max-width: 22rem; margin: 0; font-size: 0.75rem; font-weight: 750; letter-spacing: 0.08em; line-height: 1.35; text-transform: uppercase; }
.custom-logo-link { display: inline-flex; max-width: min(34rem, 65vw); align-items: center; }
.custom-logo { width: auto; max-width: 100%; max-height: 7rem; object-fit: contain; }
.site-header__edition { display: grid; width: 6rem; height: 6rem; place-content: center; border: 1px solid var(--fpm-ink); background: var(--fpm-accent); text-align: center; transform: rotate(2deg); }
.site-header__edition span { font-family: var(--fpm-display); font-size: 2rem; letter-spacing: 0.03em; }
.site-header__edition small { display: block; max-width: 5rem; font-family: var(--fpm-mono); font-size: 0.5rem; line-height: 1.2; text-transform: uppercase; }
.site-header__navigation { border-bottom: 1px solid var(--fpm-ink); }
.primary-navigation { position: relative; }
.primary-menu, .footer-menu { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
.primary-menu > li { border-right: 1px solid var(--fpm-ink); }
.primary-menu > li:first-child { border-left: 1px solid var(--fpm-ink); }
.primary-menu a { display: block; padding: 0.75rem clamp(0.75rem, 1.5vw, 1.4rem); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.primary-menu a:hover { background: var(--fpm-accent); color: var(--fpm-ink); }
.menu-toggle { display: none; width: 100%; padding: 0.8rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; text-align: left; text-transform: uppercase; }

.home-section { padding-block: var(--fpm-space); border-bottom: 1px solid var(--fpm-ink); }
.home-section:nth-of-type(3n) { background: var(--fpm-white); }
.section-heading { margin-bottom: clamp(2rem, 5vw, 4.5rem); }
.section-heading h2 { max-width: 15ch; margin: 0; font-family: var(--fpm-display); font-size: clamp(3rem, 8vw, 7rem); font-weight: 900; letter-spacing: -0.045em; text-transform: uppercase; }

.home-hero { padding-block: 0; background: var(--fpm-ink); color: var(--fpm-white); }
.home-hero__mast { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,0.35); font-family: var(--fpm-mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; }
.home-hero .post-card { display: grid; min-height: min(70vh, 49rem); grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr); border: 0; background: transparent; color: var(--fpm-white); }
.home-hero .post-card__image, .home-hero .post-card__placeholder { min-height: 34rem; aspect-ratio: auto; }
.home-hero .post-card__body { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 5vw, 5rem); border-left: 1px solid rgba(255,255,255,0.35); }
.home-hero .post-card__marker { color: var(--fpm-accent); }
.home-hero .post-card__title { max-width: 12ch; font-family: var(--fpm-display); font-size: clamp(3rem, 6vw, 6.5rem); letter-spacing: -0.045em; text-transform: uppercase; }
.home-hero .post-card__title a { color: inherit; }
.home-hero .post-card__excerpt { max-width: 34rem; color: #d5d7cf; font-size: 1.05rem; }

.post-collection__items, .post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 2.2rem); }
.category .post-grid > .post-card { order: var(--archive-position-order, 0); }
.category-inline-ad { min-width: 0; grid-column: 1 / -1; }
.category-inline-ad--first { order: 35; }
.category-inline-ad--second { order: 65; }
.post-card { display: flex; min-width: 0; flex-direction: column; border-top: 0.45rem solid var(--fpm-ink); background: transparent; }
.post-card__image, .post-card__placeholder { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(135deg, #d5d2c8, #aeb5aa); }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); transition: transform 180ms ease, filter 180ms ease; }
.post-card:hover .post-card__image img { filter: saturate(1); transform: scale(1.02); }
.post-card__body { flex: 1; padding: 1.25rem 0; }
.post-card__marker { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; color: var(--fpm-muted); font-family: var(--fpm-mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; }
.post-card__title { margin: 0; font-size: clamp(1.25rem, 2.1vw, 2rem); line-height: 1.12; }
.post-card__title a { text-decoration: none; }
.post-card__excerpt { margin-top: 1.25rem; color: var(--fpm-muted); }

.post-collection--rail .post-collection__items { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--fpm-ink); border-left: 1px solid var(--fpm-ink); }
.post-collection--rail .post-card { min-height: 14rem; padding: 1.25rem; border: 0; border-right: 1px solid var(--fpm-ink); border-bottom: 1px solid var(--fpm-ink); }
.post-collection--rail .post-card__image, .post-collection--rail .post-card__placeholder { display: none; }
.post-collection--rail .post-card__title { font-size: clamp(1.15rem, 1.8vw, 1.65rem); }
.post-collection--mosaic .post-collection__items { grid-template-columns: 1.35fr 0.65fr 0.65fr; }
.post-collection--mosaic .post-card--featured { grid-row: span 2; }
.post-collection--mosaic .post-card--featured .post-card__image { aspect-ratio: 4 / 4.35; }
.post-collection--mosaic .post-card:not(.post-card--featured) .post-card__image { aspect-ratio: 16 / 8; }
.post-collection--rows .post-collection__items { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--fpm-ink); }
.post-collection--rows .post-card { display: grid; grid-template-columns: 11rem 1fr; border: 0; border-bottom: 1px solid var(--fpm-ink); }
.post-collection--rows .post-card__image, .post-collection--rows .post-card__placeholder { aspect-ratio: 1; }
.post-collection--rows .post-card__body { display: grid; grid-template-columns: 7rem 1fr; align-items: center; gap: 1.5rem; padding: 1.5rem 2rem; }
.post-collection--rows .post-card__marker { margin: 0; }
.post-collection--rows .post-card__title { font-size: clamp(1.5rem, 3vw, 3rem); }
.post-collection--wide .post-collection__items { grid-template-columns: 1.5fr 0.75fr 0.75fr; }
.post-collection--wide .post-card--featured .post-card__image { aspect-ratio: 16 / 9; }
.post-collection--compact .post-collection__items, .post-collection--list .post-collection__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(2rem, 5vw, 6rem); border-top: 1px solid var(--fpm-ink); }
.post-collection--compact .post-card, .post-collection--list .post-card { display: grid; grid-template-columns: 7rem 1fr; align-items: center; gap: 1rem; padding-block: 1rem; border: 0; border-bottom: 1px solid var(--fpm-line); }
.post-collection--compact .post-card__image, .post-collection--compact .post-card__placeholder, .post-collection--list .post-card__image, .post-collection--list .post-card__placeholder { aspect-ratio: 1; }
.post-collection--compact .post-card__body, .post-collection--list .post-card__body { padding: 0; }
.post-collection--compact .post-card__marker, .post-collection--list .post-card__marker { margin-bottom: 0.45rem; }

.home-ad-slot { padding-block: 1.5rem; border-bottom: 1px solid var(--fpm-ink); }
.home-ad-slot__pair { display: grid; gap: 1rem; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.4fr); gap: clamp(2rem, 6vw, 7rem); }
.primary-sidebar { padding-left: clamp(1rem, 3vw, 3rem); border-left: 1px solid var(--fpm-ink); }
.primary-sidebar .widget { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--fpm-line); }
.entry-title, .archive-title { max-width: 13ch; font-family: var(--fpm-display); font-size: clamp(3.5rem, 9vw, 8rem); letter-spacing: -0.045em; text-transform: uppercase; }
.archive-header { display: grid; grid-template-columns: 1fr minmax(16rem, 0.33fr); gap: 2rem; margin-bottom: clamp(3rem, 8vw, 7rem); padding-bottom: 2rem; border-bottom: 0.45rem solid var(--fpm-ink); }
.archive-description { align-self: end; color: var(--fpm-muted); }
.entry-featured-image { margin: 2.5rem 0; }
.entry-content, .page-entry { max-width: var(--fpm-reading); font-size: 1.08rem; }
.entry-content > * { max-width: 100%; }
.single-entry .entry-header { padding-bottom: 2rem; border-bottom: 0.45rem solid var(--fpm-accent); }
.navigation.pagination { margin-top: 3rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.page-numbers, .button { display: inline-flex; padding: 0.7rem 1rem; border: 1px solid var(--fpm-ink); background: var(--fpm-white); color: var(--fpm-ink); font-weight: 800; text-decoration: none; }
.page-numbers.current, .button:hover { background: var(--fpm-ink); color: var(--fpm-accent); }
.empty-state { padding: 2rem; border: 1px dashed var(--fpm-muted); }
.eyebrow { color: var(--fpm-rust); font-family: var(--fpm-mono); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }

.editorial-page, .utility-page, .not-found { padding-block: clamp(2rem, 5vw, 5rem); }
.utility-page__article { display: grid; grid-template-columns: minmax(25rem, 2.55fr) 2fr; gap: clamp(1rem, 7vw, 4rem); padding-bottom: var(--fpm-space); border-bottom: 1px solid var(--fpm-ink); }
.utility-page__body { max-width: var(--fpm-reading); font-size: 1.08rem; }
.editorial-page__article { display: grid; grid-template-columns: minmax(16rem, 0.55fr) 1fr; gap: clamp(2rem, 7vw, 8rem); padding-bottom: var(--fpm-space); border-bottom: 1px solid var(--fpm-ink); }
.editorial-page__body { max-width: var(--fpm-reading); font-size: 1.08rem; }
.category-navigation { padding-top: var(--fpm-space); }
.category-navigation ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--fpm-ink); border-left: 1px solid var(--fpm-ink); list-style: none; }
.category-navigation a { display: block; min-height: 8rem; padding: 1.5rem; border-right: 1px solid var(--fpm-ink); border-bottom: 1px solid var(--fpm-ink); font-family: var(--fpm-display); font-size: 1.8rem; text-decoration: none; text-transform: uppercase; }
.category-navigation a:hover { background: var(--fpm-accent); color: var(--fpm-ink); }

.site-footer { padding-block: clamp(4rem, 8vw, 7rem) 2rem; background: var(--fpm-ink); color: var(--fpm-white); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr 0.8fr 0.8fr; gap: clamp(2rem, 6vw, 7rem); }
.site-footer__section h2 { color: var(--fpm-accent); font-family: var(--fpm-display); font-size: clamp(1.8rem, 4vw, 3.5rem); text-transform: uppercase; }
.site-footer__about p { max-width: 34rem; color: #c9cbc4; }
.footer-menu { flex-direction: column; align-items: flex-start; }
.footer-menu a { color: inherit; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 4rem; padding-top: 3rem; border-top: 1px solid #555952; }
.site-footer__bottom { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid #555952; }
.site-info { margin: 0; color: #9da098; font-family: var(--fpm-mono); font-size: 0.68rem; text-transform: uppercase; }

input, textarea, select, button { font: inherit; }
input[type="text"], input[type="email"], input[type="search"], input[type="url"], textarea, select { width: 100%; padding: 0.8rem; border: 1px solid var(--fpm-ink); border-radius: 0; background: var(--fpm-white); color: var(--fpm-ink); }

@media (max-width: 64rem) {
	.menu-toggle { display: block; }
	.primary-menu { display: none; }
	.primary-navigation.is-open .primary-menu { display: flex; flex-direction: column; }
	.primary-menu > li, .primary-menu > li:first-child { border: 0; border-top: 1px solid var(--fpm-line); }
	.home-hero .post-card { grid-template-columns: 1fr; }
	.home-hero .post-card__body { border-top: 1px solid rgba(255,255,255,0.35); border-left: 0; }
	.post-collection--rail .post-collection__items { grid-template-columns: repeat(2, 1fr); }
	.post-collection--mosaic .post-collection__items, .post-collection--wide .post-collection__items { grid-template-columns: repeat(2, 1fr); }
	.post-collection--mosaic .post-card--featured, .post-collection--wide .post-card--featured { grid-column: 1 / -1; grid-row: auto; }
	.content-layout { grid-template-columns: 1fr; }
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.category-inline-ad--first { order: 45; }
	.category-inline-ad--second { order: 85; }
	.primary-sidebar { padding: 2rem 0 0; border-top: 1px solid var(--fpm-ink); border-left: 0; }
}

@media (max-width: 42rem) {
	.utility-line span { display: none; }
	.site-header__inner { min-height: 7rem; grid-template-columns: 1fr; }
	.site-branding { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
	.site-title { font-size: clamp(3rem, 20vw, 5.5rem); }
	.site-header__edition { display: none; }
	.home-hero__mast { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 0.6rem; }
	.home-hero .post-card__image, .home-hero .post-card__placeholder { min-height: 19rem; }
	.section-heading { grid-template-columns: 3rem 1fr; }
	.section-heading h2 { font-size: clamp(2.7rem, 16vw, 5rem); }
	.post-collection__items, .post-grid, .post-collection--rail .post-collection__items, .post-collection--mosaic .post-collection__items, .post-collection--wide .post-collection__items, .post-collection--compact .post-collection__items, .post-collection--list .post-collection__items { grid-template-columns: 1fr; }
	.category-inline-ad--first { order: 25; }
	.category-inline-ad--second { order: 65; }
	.post-collection--rows .post-card { grid-template-columns: 6.5rem 1fr; }
	.post-collection--rows .post-card__body { grid-template-columns: 1fr; padding: 1rem; }
	.post-collection--compact .post-card, .post-collection--list .post-card { grid-template-columns: 5.5rem 1fr; }
	.archive-header, .editorial-page__article, .utility-page__article { grid-template-columns: 1fr; }
	.category-navigation ul, .site-footer__grid, .footer-widgets { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
