/*
Theme Name: PROKURATOR
Theme URI: https://antidronkupol.ru/
Author: Metagalaxy Group
Description: Block theme for PROKURATOR passive protection systems. Visual reference is the approved render pack, not the legacy live site.
Version: 2.0.1
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: prokurator
*/

:root{
  --pk-navy:#061a2b;--pk-navy-2:#0d2a44;--pk-red:#e9233f;--pk-ink:#0a1624;
  --pk-muted:#5d6b7b;--pk-line:#d9e2e8;--pk-soft:#f3f6f8;--pk-white:#fff;
  --pk-radius:14px;--pk-shadow:0 18px 50px rgba(6,26,43,.10);
  --pk-gutter:var(--wp--style--root--padding-left,clamp(20px,4vw,40px));
  --pk-section:clamp(64px,7vw,104px);
  --pk-header-h:82px;
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--pk-header-h) + var(--wp-admin--admin-bar--height,0px) + 16px)}
body{overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Каркас: секции во всю ширину стыкуются без белых полос ---------- */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
main.wp-block-group>*{margin-block-start:0}
.wp-block-post-content>.alignfull,
.wp-block-post-content>.alignfull+*,
.wp-block-post-content>.pk-listing,
main.wp-block-group>.alignfull{margin-block-start:0}

.pk-shell{box-sizing:border-box;max-width:1240px;margin-inline:auto;padding-inline:var(--pk-gutter)}
.pk-section{padding-block:var(--pk-section)}
.pk-section--soft{background:var(--pk-soft)}
.pk-section--dark{background:var(--pk-navy);color:#fff}
.pk-section--dark h1,.pk-section--dark h2,.pk-section--dark h3,.pk-section--dark h4{color:#fff}
.pk-section--dark p{color:#bdc9d4}
/* две белые секции подряд не дают двойного отступа */
.pk-section:not(.pk-section--soft):not(.pk-section--dark)+.pk-section:not(.pk-section--soft):not(.pk-section--dark){padding-top:0}
.pk-facts+.pk-section:not(.pk-section--soft):not(.pk-section--dark){padding-top:calc(var(--pk-section)*.7)}
.pk-section__head+*{margin-block-start:clamp(28px,3vw,44px)}

.pk-kicker{font-size:12px!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase;color:var(--pk-red)!important;margin-bottom:12px!important}
.pk-lead{font-size:clamp(18px,1.5vw,22px)!important;line-height:1.55;color:var(--pk-muted);max-width:760px}
.pk-heading-xl{font-size:clamp(36px,5.2vw,72px)!important;line-height:1.02!important;letter-spacing:-.04em!important;overflow-wrap:break-word}
.pk-heading-lg{font-size:clamp(28px,3.6vw,52px)!important;line-height:1.08!important;letter-spacing:-.025em!important;overflow-wrap:break-word}

/* ---------- Hero ---------- */
.pk-hero{position:relative;min-height:680px;display:flex;align-items:center;padding-block:clamp(56px,7vw,96px);background:linear-gradient(90deg,#031426 0%,#061a2b 52%,#102c46 100%);overflow:hidden}
.pk-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 35%,rgba(255,255,255,.13),transparent 28%),linear-gradient(120deg,transparent 55%,rgba(233,35,63,.14));pointer-events:none}
/* width:100% — иначе блок во flex-контейнере сжимается по тексту и уезжает к центру */
.pk-hero>*{position:relative;z-index:2;width:100%;box-sizing:border-box}
.pk-hero h1,.pk-hero h2,.pk-hero p{color:#fff}.pk-hero p{color:#d6e0e8!important}
.pk-hero .pk-kicker{color:#fff!important;opacity:.85}
.pk-hero .wp-block-buttons{margin-top:28px}
.pk-hero .wp-block-button__link{padding:15px 22px;border-radius:8px;font-weight:800}
.pk-hero .is-style-outline .wp-block-button__link{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}

/* ---------- Полоса фактов ---------- */
.pk-facts{border-bottom:1px solid var(--pk-line);background:#fff}
.pk-facts .wp-block-columns{gap:0}
.pk-facts .wp-block-column{box-sizing:border-box;padding:24px 22px;border-right:1px solid var(--pk-line)}
.pk-facts .wp-block-column:first-child{padding-left:0}
.pk-facts .wp-block-column:last-child{border-right:0}
.pk-facts .wp-block-column>*{margin-block:4px 0}
.pk-facts strong{font-size:18px;color:var(--pk-ink)}.pk-facts p{font-size:13px;color:#748191}

/* ---------- Карточки и сетки ---------- */
.pk-card{box-sizing:border-box;height:100%;padding:26px;border:1px solid var(--pk-line);border-radius:var(--pk-radius);background:#fff;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.pk-card:hover{transform:translateY(-3px);box-shadow:var(--pk-shadow)}
.pk-card>*{margin-block:0}
.pk-card>*+*{margin-block-start:10px}
.pk-card h3{font-size:24px!important;margin-top:0}
.pk-card h3 a{text-decoration:none;color:inherit}.pk-card h3 a:hover{color:var(--pk-red)}
.pk-card p{color:var(--pk-muted)}
.pk-card--accent{border-top:5px solid var(--pk-red)}
.pk-card--dark{background:var(--pk-navy-2);border-color:rgba(255,255,255,.14);color:#fff}.pk-card--dark h3{color:#fff}.pk-card--dark p{color:#bdc9d4}
.pk-number{display:inline-grid!important;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--pk-red);color:#fff!important;font-weight:800!important;margin-bottom:8px!important}

/* Сетка задаётся на самом блоке: в блочной теме у группы нет внутренней обёртки */
.pk-grid-3,.pk-grid-4{display:grid;gap:22px}
.pk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pk-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pk-grid-3.pk-grid-3>*,.pk-grid-4.pk-grid-4>*{max-width:none!important;margin:0!important}
.pk-grid-3>.wp-block-group__inner-container,.pk-grid-4>.wp-block-group__inner-container{display:contents}

.pk-band{padding-block:54px;background:linear-gradient(110deg,#061a2b,#0d3150);color:#fff}.pk-band h2{color:#fff}.pk-band p{color:#b9c7d3}
.pk-technical{box-sizing:border-box;border:1px solid var(--pk-line);border-radius:18px;background:#fff;padding:clamp(20px,3vw,40px)}
.pk-technical .wp-block-table{margin:0;overflow-x:auto}
.pk-technical>*{margin-block:0}.pk-technical>*+*{margin-block-start:18px}
.pk-technical table{width:100%;border-collapse:collapse;font-size:15px}
.pk-technical table td,.pk-technical table th{border:1px solid var(--pk-line);padding:14px 16px;text-align:left;vertical-align:top}
.pk-technical table th{background:#eaf0f4;color:var(--pk-ink)}
.pk-note{border-left:5px solid var(--pk-red);background:#fff6f7;padding:20px 24px;border-radius:0 12px 12px 0}
.pk-image-frame{border-radius:18px;overflow:hidden;min-height:360px;background:linear-gradient(135deg,#dfe7ed,#f7f9fb);box-shadow:var(--pk-shadow)}
.pk-image-frame img{display:block;width:100%;height:100%;object-fit:cover}
.pk-image-frame>*{margin:0}

/* Списки каталога (шорткоды плагина) */
.pk-listing{box-sizing:border-box;padding:var(--pk-section) var(--pk-gutter)}
.pk-listing__inner{max-width:var(--wp--style--global--wide-size,1360px);margin-inline:auto}
.pk-listing__inner>h2{margin:0 0 clamp(24px,3vw,40px)}
.pk-product>*+*{margin-block-start:28px}

/* ---------- Шапка ---------- */
/* Прилипает обёртка шаблона (у неё родитель — вся страница), а не вложенный блок */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:100}
/* Размытие вынесено в псевдоэлемент: backdrop-filter на самой шапке запирал бы внутри неё полноэкранное мобильное меню */
.pk-site-header{position:relative;isolation:isolate;border-bottom:1px solid rgba(217,226,232,.9)}
.pk-site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pk-site-header__row{padding-block:16px;gap:20px}
.pk-site-header .wp-block-navigation a{font-weight:700;font-size:14px;text-decoration:none}.pk-site-header .wp-block-navigation a:hover{color:var(--pk-red)}
.pk-site-header .wp-block-button__link{white-space:nowrap}
.pk-brand-word{font-size:25px!important;letter-spacing:.04em!important;font-weight:800!important;margin:0!important;line-height:1.2}.pk-brand-word a{text-decoration:none}
.pk-group-label{font-size:13px!important;color:#7c8997!important}

/* ---------- Подвал ---------- */
.pk-site-footer{background:#041524;color:#fff;padding-block:64px 28px}
.pk-site-footer h3,.pk-site-footer h4{color:#fff}.pk-site-footer p,.pk-site-footer a{color:#acbac7}.pk-site-footer a{text-decoration:none}.pk-site-footer a:hover{color:#fff}
.pk-site-footer .pk-contact strong a{color:#fff}
.pk-site-footer__bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);flex-wrap:wrap;gap:8px 24px}
.pk-site-footer__bottom p{margin:0}

/* ---------- Форма заявки ---------- */
.prokurator-lead{box-sizing:border-box;width:100%;max-width:860px;scroll-margin-top:calc(var(--pk-header-h) + 24px)}
.prokurator-lead *,.prokurator-lead *:before,.prokurator-lead *:after{box-sizing:border-box}
.prokurator-lead-form{display:grid;gap:14px;margin:0}
.prokurator-lead-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.prokurator-lead-form label{display:grid;gap:7px;font-weight:700;font-size:15px;min-width:0}
.prokurator-lead-form input:not([type=checkbox]):not([type=file]),.prokurator-lead-form textarea,.prokurator-lead-form select{width:100%;max-width:100%;border:1px solid #cbd5df;border-radius:9px;padding:13px 14px;font:inherit;font-weight:500;background:#fff;color:#0a1624}
.prokurator-lead-form input[type=file]{max-width:100%;font:inherit;font-weight:500;font-size:14px}
.prokurator-lead-form textarea{min-height:130px;resize:vertical}
.prokurator-lead-form :focus-visible{outline:2px solid var(--pk-red);outline-offset:2px}
.prokurator-lead-form [aria-invalid=true]{border-color:#c0273b!important}
.prokurator-lead-form__hint{font-size:13px;font-weight:500;color:var(--pk-muted);margin:-4px 0 0}
.prokurator-lead-form label.prokurator-lead-form__consent{font-size:13px;font-weight:500;display:flex;gap:10px;align-items:flex-start}
.prokurator-lead-form__consent input{flex:none;width:18px;height:18px;margin:2px 0 0}
.prokurator-lead-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.prokurator-lead-form button{justify-self:start;border:0;border-radius:8px;background:var(--pk-red);color:#fff;padding:15px 22px;font:inherit;font-weight:800;font-size:16px;cursor:pointer}
.prokurator-lead-form button:hover{filter:brightness(.92)}
.prokurator-lead-form button:disabled{opacity:.6;cursor:progress}
.prokurator-lead-form__status{padding:14px 18px;border-radius:8px;margin:0 0 14px;font-weight:600}
.prokurator-lead-form__status[hidden]{display:none}
.prokurator-lead-form__status--success{background:#e8f8ef;color:#176b3b}
.prokurator-lead-form__status--error{background:#fff0f1;color:#9a1c2c}
.pk-section--dark .prokurator-lead-form label,.pk-section--dark .prokurator-lead-form__hint{color:#fff}

/* ---------- 404 ---------- */
.pk-404{min-height:50vh}

/* ---------- Планшет: меню сворачивается раньше, чем перестаёт помещаться ---------- */
@media (max-width:1023px){
  .pk-site-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .pk-site-header .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .pk-site-header__row .wp-block-buttons{margin-left:auto}
  .pk-site-header__row .wp-block-navigation{order:3;flex:none}
}
@media (max-width:960px){
  .pk-grid-3,.pk-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-hero{min-height:580px}
  .pk-facts .wp-block-columns{display:grid;grid-template-columns:1fr 1fr}
  .pk-facts .wp-block-column{border-bottom:1px solid var(--pk-line);padding-left:0}
  .pk-facts .wp-block-column:nth-child(2n){border-right:0;padding-left:22px}
}
@media (max-width:640px){
  :root{--pk-header-h:70px}
  .wp-site-blocks>header.wp-block-template-part{top:0}
  .pk-grid-3,.pk-grid-4{grid-template-columns:1fr}
  .pk-facts .wp-block-columns{grid-template-columns:1fr}
  .pk-facts .wp-block-column,.pk-facts .wp-block-column:nth-child(2n){border-right:0;padding-left:0}
  .prokurator-lead-form__grid{grid-template-columns:1fr}
  .pk-section{padding-block:56px}
  .pk-listing{padding-block:56px}
  .pk-hero{min-height:520px}
  .pk-site-header__row{padding-block:12px;gap:12px}
  .pk-brand-word{font-size:19px!important}
  .pk-site-header .wp-block-button__link{padding:10px 14px;font-size:14px}
  .pk-image-frame{min-height:220px}
  .pk-card{padding:22px}
}
