/*
Theme Name: RMP — Ремонт точно
Theme URI: https://example.local/
Description: Дочерняя блоковая тема для платформы материалов и калькуляторов ремонта.
Author: RMP
Template: twentytwentyfive
Version: 0.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: rmp-twentytwentyfive
*/

:root {
	--rmp-color-background: #f6f5f1;
	--rmp-color-surface: #ffffff;
	--rmp-color-surface-muted: #eeede8;
	--rmp-color-text: #202522;
	--rmp-color-text-secondary: #59625d;
	--rmp-color-text-muted: #747d78;
	--rmp-color-primary: #245b47;
	--rmp-color-primary-hover: #193f32;
	--rmp-color-primary-soft: #e2eee8;
	--rmp-color-accent: #c96522;
	--rmp-color-accent-hover: #a94f16;
	--rmp-color-accent-soft: #f8e8d9;
	--rmp-color-success: #237a52;
	--rmp-color-warning: #9a610d;
	--rmp-color-error: #b42318;
	--rmp-color-info: #28678f;
	--rmp-color-border: #d7dad5;
	--rmp-color-border-strong: #aeb5b0;
	--rmp-color-focus: #0b6e9b;
	--rmp-color-disabled: #c4c9c5;
	--rmp-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--rmp-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--rmp-space-1: .25rem;
	--rmp-space-2: .5rem;
	--rmp-space-3: .75rem;
	--rmp-space-4: 1rem;
	--rmp-space-6: 1.5rem;
	--rmp-space-8: 2rem;
	--rmp-space-12: 3rem;
	--rmp-space-16: 4rem;
	--rmp-space-24: 6rem;
	--rmp-radius-sm: .5rem;
	--rmp-radius-md: .875rem;
	--rmp-radius-lg: 1.25rem;
	--rmp-shadow-sm: 0 1px 2px rgb(32 37 34 / 6%);
	--rmp-shadow-md: 0 16px 40px rgb(32 37 34 / 9%);
	--rmp-container: 80rem;
	--rmp-reading: 48rem;
	--rmp-transition: 180ms ease;
}

html { scroll-behavior: smooth; }
body.rmp-site {
	background: var(--rmp-color-background);
	color: var(--rmp-color-text);
	font-family: var(--rmp-font-sans);
	font-size: clamp(1rem, .96rem + .16vw, 1.125rem);
	font-weight: 400;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
}
.rmp-site *, .rmp-site *::before, .rmp-site *::after { box-sizing: border-box; }
.rmp-site :where(h1,h2,h3,h4) { color: var(--rmp-color-text); font-weight: 720; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.rmp-site h1 { font-size: clamp(2.35rem, 1.65rem + 3vw, 4rem); }
.rmp-site h2 { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem); }
.rmp-site h3 { font-size: clamp(1.25rem, 1.1rem + .65vw, 1.65rem); }
.rmp-site :where(p,li) { text-wrap: pretty; }
.rmp-site :where(a:not(.wp-element-button)) { color: var(--rmp-color-primary); text-decoration-color: color-mix(in srgb, var(--rmp-color-primary) 45%, transparent); text-decoration-thickness: .08em; text-underline-offset: .16em; }
.rmp-site :where(a:not(.wp-element-button)):hover { color: var(--rmp-color-primary-hover); text-decoration-color: currentColor; }
.rmp-site :focus-visible { outline: 3px solid var(--rmp-color-focus); outline-offset: 3px; }
.rmp-site ::selection { background: var(--rmp-color-accent-soft); color: var(--rmp-color-text); }

.rmp-container, .rmp-site .is-layout-constrained > :where(.alignwide) { width: min(100% - clamp(2rem, 6vw, 6rem), var(--rmp-container)); margin-inline: auto; }
.rmp-section { padding-block: clamp(3.5rem, 8vw, 6rem); }
.rmp-section--tight { padding-block: clamp(2.25rem, 5vw, 4rem); }
.rmp-section--surface { background: var(--rmp-color-surface); }
.rmp-section--muted { background: var(--rmp-color-surface-muted); }
.rmp-section__heading { max-width: 44rem; margin-bottom: var(--rmp-space-8); }
.rmp-section__actions { justify-content:center; margin-top:var(--rmp-space-8); }
.rmp-hub-grid { align-items:stretch; gap:1.25rem; }
.rmp-hub-grid > .wp-block-column { display:flex; }
.rmp-hub-grid .rmp-card { width:100%; }
.rmp-hub-grid .wp-block-buttons { margin-top:auto; }
.rmp-floor-entry { padding:clamp(1.5rem,4vw,2.5rem); border:1px solid var(--rmp-color-border); border-radius:var(--rmp-radius-lg); background:linear-gradient(135deg,var(--rmp-color-surface-muted),var(--rmp-color-surface)); }
.rmp-floor-entry h2 { margin:.5rem 0 .75rem; }
.rmp-floor-entry > p:not(.rmp-eyebrow) { max-width:48rem; color:var(--rmp-color-text-secondary); }
.rmp-topic-filters { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 2rem; }
.rmp-topic-filters a { display:inline-flex; align-items:center; gap:.45rem; padding:.65rem .9rem; border:1px solid var(--rmp-color-border); border-radius:999px; color:var(--rmp-color-text); background:var(--rmp-color-surface); text-decoration:none; font-weight:650; }
.rmp-topic-filters a:hover, .rmp-topic-filters a:focus-visible, .rmp-topic-filters a.is-active { border-color:var(--rmp-color-accent); background:var(--rmp-color-accent); color:#fff; }
.rmp-topic-filters span { min-width:1.6em; padding:.08em .4em; border-radius:999px; background:rgba(0,0,0,.09); text-align:center; font-size:.8em; }
.rmp-search-form { max-width:42rem; margin:0 0 2.25rem; }
.rmp-search-form .wp-block-search__inside-wrapper { padding:.35rem; border:1px solid var(--rmp-color-border); border-radius:var(--rmp-radius-md); background:var(--rmp-color-surface); }
.rmp-search-form input { border:0; background:transparent; }
.rmp-search-form button { border-radius:calc(var(--rmp-radius-md) - .2rem); }
.rmp-footer__legal { display:flex; flex-wrap:wrap; gap:.65rem 1.25rem; padding:1.25rem 0; border-top:1px solid rgb(255 255 255 / 14%); }
.rmp-footer__legal a { color:inherit; text-underline-offset:.25em; }
.search .wp-block-post-template > li:not(.has-post-thumbnail)::before { content:"="; display:grid; place-items:center; width:100%; aspect-ratio:3/2; margin-bottom:1rem; border-radius:var(--rmp-radius-md); background:var(--rmp-color-surface-muted); color:var(--rmp-color-accent); font-size:clamp(2rem,5vw,3.5rem); font-weight:750; }
.rmp-eyebrow { color: var(--rmp-color-primary); font-size: .8rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.rmp-lead { max-width: 44rem; color: var(--rmp-color-text-secondary); font-size: clamp(1.08rem, 1rem + .4vw, 1.3rem); }

.rmp-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgb(174 181 176 / 65%); background: rgb(246 245 241 / 92%); backdrop-filter: blur(14px); }
.admin-bar .rmp-header { top: 32px; }
.rmp-header__inner { min-height: 4.75rem; gap: var(--rmp-space-8); }
.rmp-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .75rem; color: var(--rmp-color-text) !important; text-decoration: none !important; }
.rmp-brand__mark { width: 2.55rem; height: 2.55rem; filter: drop-shadow(0 4px 8px rgb(36 91 71 / 12%)); }
.rmp-brand__copy { display: grid; line-height: 1.1; }
.rmp-brand__copy strong { font-size: 1rem; letter-spacing: -.02em; }
.rmp-brand__copy small { margin-top: .22rem; color: var(--rmp-color-text-muted); font-size: .7rem; letter-spacing: .045em; }
.rmp-nav .wp-block-navigation-item__content { color: var(--rmp-color-text); font-size: .92rem; font-weight: 620; text-decoration: none; }
.rmp-nav .wp-block-navigation-item__content:hover { color: var(--rmp-color-primary); }
.rmp-nav__cta .wp-block-navigation-item__content { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .65rem 1rem; border-radius: 999px; background: var(--rmp-color-primary); color: #fff !important; }
.rmp-nav__cta .wp-block-navigation-item__content:hover { background: var(--rmp-color-primary-hover); }
.rmp-nav .wp-block-navigation-item__content[aria-current="page"] { color:var(--rmp-color-primary); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4em; }
.rmp-nav-search { margin-left:.25rem; }
.rmp-nav-search .wp-block-search__inside-wrapper { width:10.5rem; min-width:0; padding:.2rem; border:1px solid var(--rmp-color-border); border-radius:999px; background:var(--rmp-color-surface); transition:width .2s ease; }
.rmp-nav-search .wp-block-search__inside-wrapper:focus-within { width:13rem; border-color:var(--rmp-color-primary); }
.rmp-nav-search input { min-width:0; padding:.45rem .35rem .45rem .7rem; border:0; background:transparent; font-size:.88rem; }
.rmp-nav-search button { width:2.25rem; min-width:2.25rem; height:2.25rem; margin:0; padding:.45rem; border:0; border-radius:50%; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--rmp-color-border); border-radius: var(--rmp-radius-sm); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem; background: var(--rmp-color-background); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 4rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch; gap: .75rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: .8rem 0; font-size: 1.15rem; }
.wp-block-navigation__responsive-container.is-menu-open .rmp-nav-search { width:100%; margin:1rem 0 0; }
.wp-block-navigation__responsive-container.is-menu-open .rmp-nav-search .wp-block-search__inside-wrapper { width:100%; }

.rmp-hero { position: relative; overflow: clip; padding-block: clamp(4rem, 10vw, 8rem); border-bottom: 1px solid var(--rmp-color-border); background: linear-gradient(135deg,#f6f5f1 0%,#fff 55%,#e2eee8 100%); }
.rmp-hero::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(var(--rmp-color-border) 1px,transparent 1px),linear-gradient(90deg,var(--rmp-color-border) 1px,transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg,transparent 0%,black 55%,black 100%); }
.rmp-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(20rem,.88fr); align-items: center; gap: clamp(2.5rem,8vw,7rem); }
.rmp-hero__copy { max-width: 47rem; }
.rmp-hero__copy h1 { margin-block: .75rem 1.25rem; }
.rmp-hero__actions { margin-top: 2rem; }
.rmp-blueprint { position: relative; min-height: 25rem; border: 1px solid rgb(36 91 71 / 22%); border-radius: var(--rmp-radius-lg); background: rgb(255 255 255 / 75%); box-shadow: var(--rmp-shadow-md); transform: rotate(1.5deg); }
.rmp-blueprint::before,.rmp-blueprint::after { content:""; position:absolute; border:2px solid var(--rmp-color-primary); }
.rmp-blueprint::before { inset: 3.2rem 3.6rem 4.4rem 3rem; border-radius: .2rem; box-shadow: inset 0 0 0 1rem var(--rmp-color-primary-soft); }
.rmp-blueprint::after { width: 32%; height: 40%; right: 3.6rem; bottom: 4.4rem; border-left-width: 8px; border-top-width: 8px; }
.rmp-blueprint__measure { position:absolute; left:3rem; right:3rem; bottom:1.4rem; display:flex; justify-content:space-between; color:var(--rmp-color-primary); font-family:var(--rmp-font-mono); font-size:.75rem; }
.rmp-blueprint__badge { position:absolute; top:1.4rem; right:1.4rem; padding:.55rem .75rem; border-radius:999px; background:var(--rmp-color-accent-soft); color:var(--rmp-color-accent-hover); font-size:.75rem; font-weight:750; }

.rmp-site .wp-element-button, .rmp-button { min-height: 3rem; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.72rem 1.25rem; border:1px solid transparent; border-radius:.7rem; background:var(--rmp-color-primary); color:#fff; font-size:.95rem; font-weight:720; line-height:1.2; text-decoration:none; transition:background var(--rmp-transition),border-color var(--rmp-transition),transform var(--rmp-transition); }
.rmp-site .wp-element-button:hover, .rmp-button:hover { background:var(--rmp-color-primary-hover); color:#fff; transform:translateY(-1px); }
.rmp-site .is-style-outline > .wp-element-button, .rmp-button--outline { border-color:var(--rmp-color-border-strong); background:transparent; color:var(--rmp-color-primary); }
.rmp-site .is-style-outline > .wp-element-button:hover, .rmp-button--outline:hover { border-color:var(--rmp-color-primary); background:var(--rmp-color-primary-soft); color:var(--rmp-color-primary-hover); }
.rmp-button--accent { background:var(--rmp-color-accent); }
.rmp-button--accent:hover { background:var(--rmp-color-accent-hover); }
.rmp-site .wp-element-button:disabled,.rmp-button[aria-disabled="true"] { cursor:not-allowed; background:var(--rmp-color-disabled); color:var(--rmp-color-text-secondary); transform:none; }

.rmp-card-grid { align-items:stretch; gap:1.25rem; }
.rmp-card-grid > li, .rmp-card { position:relative; display:flex; flex-direction:column; padding:clamp(1.25rem,3vw,1.75rem); border:1px solid var(--rmp-color-border); border-radius:var(--rmp-radius-md); background:var(--rmp-color-surface); box-shadow:var(--rmp-shadow-sm); transition:border-color var(--rmp-transition),box-shadow var(--rmp-transition),transform var(--rmp-transition); }
.rmp-card-grid > li { cursor:pointer; }
.rmp-card-grid > li .wp-block-post-title a::after { content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.rmp-card-grid > li .wp-block-post-title a:focus-visible { outline:none; }
.rmp-card-grid > li .wp-block-post-title a:focus-visible::after { outline:3px solid var(--rmp-color-focus); outline-offset:3px; }
.rmp-card-grid > li .wp-block-post-excerpt__more-link { position:relative; z-index:2; }
.rmp-card-grid > li:hover,.rmp-card:hover { border-color:color-mix(in srgb,var(--rmp-color-primary) 42%,var(--rmp-color-border)); box-shadow:0 12px 30px rgb(32 37 34 / 8%); transform:translateY(-3px); }
.rmp-card-grid .wp-block-post-title { margin:.85rem 0 .7rem; font-size:1.35rem; }
.rmp-card-grid .wp-block-post-title a { color:var(--rmp-color-text); text-decoration:none; }
.rmp-card-grid .wp-block-post-excerpt { flex:1; color:var(--rmp-color-text-secondary); font-size:.96rem; }
.rmp-card-grid .wp-block-post-excerpt__more-link { margin-top:1rem; font-weight:700; }
.rmp-card__image { width:100%; margin:0 0 .35rem; overflow:hidden; border-radius:calc(var(--rmp-radius-md) - .35rem); background:var(--rmp-color-surface-muted); }
.rmp-card__image img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform var(--rmp-transition); }
.rmp-card-grid > li:hover .rmp-card__image img { transform:scale(1.025); }
.rmp-card__icon { width:3rem; height:3rem; display:grid; place-items:center; border-radius:.75rem; background:var(--rmp-color-primary-soft); color:var(--rmp-color-primary); }
.rmp-card__icon svg { width:1.55rem; height:1.55rem; }
.rmp-card__meta { color:var(--rmp-color-text-muted); font-size:.78rem; font-weight:650; letter-spacing:.055em; text-transform:uppercase; }
.rmp-card__inputs { display:flex; flex-wrap:wrap; gap:.35rem; margin:1rem 0 0; padding:0; list-style:none; }
.rmp-card__inputs li { padding:.25rem .45rem; border-radius:.35rem; background:var(--rmp-color-surface-muted); color:var(--rmp-color-text-secondary); font-size:.7rem; line-height:1.2; }
.rmp-steps { counter-reset:rmp-step; gap:1rem; }
.rmp-step { position:relative; padding:1.5rem; border-top:3px solid var(--rmp-color-primary); background:var(--rmp-color-surface); }
.rmp-step::before { counter-increment:rmp-step; content:"0" counter(rmp-step); display:block; margin-bottom:1rem; color:var(--rmp-color-accent); font-family:var(--rmp-font-mono); font-size:.82rem; font-weight:700; }
.rmp-trust { gap:1px; overflow:hidden; border:1px solid var(--rmp-color-border); border-radius:var(--rmp-radius-md); background:var(--rmp-color-border); }
.rmp-trust > div { padding:1.5rem; background:var(--rmp-color-surface); }
.rmp-trust strong { display:block; margin-bottom:.35rem; font-size:1.05rem; }

.rmp-page-shell { width:calc(100% - clamp(2rem,8vw,6rem)); max-width:var(--rmp-container); min-height:60vh; margin-inline:auto; padding-block:clamp(2.5rem,6vw,5rem); }
.rmp-page-header { max-width:58rem; margin-bottom:clamp(2rem,5vw,3.5rem); }
.rmp-page-header h1 { margin:.65rem 0 1rem; }
.rmp-page-header .wp-block-post-excerpt { color:var(--rmp-color-text-secondary); font-size:clamp(1.05rem,1rem + .35vw,1.25rem); }
.rmp-article-cover { max-width:62.5rem; margin:0 auto clamp(2rem,5vw,3.5rem); overflow:hidden; border-radius:var(--rmp-radius-lg); background:var(--rmp-color-surface-muted); box-shadow:var(--rmp-shadow-sm); }
.rmp-article-cover img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.rmp-toc { max-width:62.5rem; margin:0 auto clamp(2rem,5vw,3.5rem); padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--rmp-color-border); border-radius:var(--rmp-radius-lg); background:var(--rmp-color-surface-muted); }
.rmp-toc__title { margin:0 0 1rem; font-weight:700; font-size:1.1rem; }
.rmp-toc ol { columns:2; column-gap:2.5rem; margin:0; padding-left:1.35rem; }
.rmp-toc li { break-inside:avoid; margin:0 0 .55rem; }
.rmp-toc a { color:var(--rmp-color-text); text-decoration-color:var(--rmp-color-accent); text-underline-offset:.2em; }
.wp-block-post-content h2[id], .rmp-material h2[id] { scroll-margin-top:2rem; }
@media (max-width:700px) { .rmp-toc ol { columns:1; } }
.rmp-breadcrumbs { margin-bottom:1rem; color:var(--rmp-color-text-muted); font-size:.82rem; }
.rmp-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; list-style:none; }
.rmp-breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:.4rem; color:var(--rmp-color-border-strong); }
.rmp-updated { display:inline-flex; align-items:center; gap:.4rem; color:var(--rmp-color-text-muted); font-size:.84rem; }
.rmp-updated::before { content:""; width:.45rem; height:.45rem; border-radius:50%; background:var(--rmp-color-success); }
.rmp-archive-intro { max-width:45rem; color:var(--rmp-color-text-secondary); }
.rmp-empty { padding:2rem; border:1px dashed var(--rmp-color-border-strong); border-radius:var(--rmp-radius-md); background:var(--rmp-color-surface); color:var(--rmp-color-text-secondary); }
.rmp-site .wp-block-query-pagination { margin-top:2.5rem; }
.rmp-site .wp-block-query-pagination a,.rmp-site .wp-block-query-pagination .current { min-width:2.75rem; min-height:2.75rem; display:inline-grid; place-items:center; border:1px solid var(--rmp-color-border); border-radius:.5rem; text-decoration:none; }

.rmp-footer { margin-top:clamp(3rem,8vw,7rem); border-top:1px solid var(--rmp-color-border); background:#202b26; color:#e9efec; }
.rmp-footer__inner { padding-block:clamp(2.5rem,6vw,4rem); }
.rmp-footer .rmp-brand { color:#fff !important; }
.rmp-footer .rmp-brand__copy small,.rmp-footer__note { color:#b9c5bf; }
.rmp-footer a { color:#e9efec !important; text-decoration-color:rgb(233 239 236 / 35%) !important; }
.rmp-footer__links { gap:1rem 2rem; font-size:.9rem; }
.rmp-footer__bottom { margin-top:2rem; padding-top:1.25rem; border-top:1px solid rgb(255 255 255 / 14%); color:#b9c5bf; font-size:.8rem; }

.rmp-ad { min-height:6rem; display:grid; place-items:center; margin-block:2rem; border:1px dashed var(--rmp-color-border-strong); border-radius:var(--rmp-radius-sm); background:var(--rmp-color-surface-muted); color:var(--rmp-color-text-muted); font-size:.75rem; }
.rmp-ad[hidden] { display:none; }

@media (max-width: 900px) {
	.rmp-hero__grid { grid-template-columns:1fr; }
	.rmp-blueprint { min-height:18rem; max-width:36rem; width:100%; }
	.rmp-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 782px) { .admin-bar .rmp-header { top:46px; } }
@media (max-width: 640px) {
	.rmp-header__inner { min-height:4.25rem; }
	.rmp-brand__copy small { display:none; }
	.rmp-card-grid { grid-template-columns:1fr !important; }
	.rmp-hero { padding-block:3.5rem; }
	.rmp-blueprint { min-height:14rem; }
	.rmp-blueprint::before { inset:2.4rem 2.2rem 3.5rem 2rem; }
	.rmp-blueprint::after { right:2.2rem; bottom:3.5rem; }
	.rmp-footer__top { align-items:flex-start !important; flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior:auto; }
	.rmp-site *, .rmp-site *::before, .rmp-site *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
/* Editorial diagrams retain their aspect ratio at mobile widths. */
.rmp-layout-figure { margin-inline: 0; }
.rmp-layout-figure img { display: block; width: 100%; max-width: 900px; height: auto; }
.rmp-layout-figure figcaption { font-size: .9rem; line-height: 1.5; margin-top: .6rem; }
