/*
Theme Name: Redico
Theme URI: https://redico.ru
Author: REDICO / ООО «РЭДИ КОНСАЛТ»
Description: Фирменная тема redico.ru — сертификация и разрешительная документация. Редактирование текстов и фото через Гутенберг и Настройщик, импорт реестра ТН ВЭД и продукции из Excel/CSV, заявки на почту и в Telegram.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: proprietary
Text Domain: redico
*/

:root{
  --ink:#14171C; --ink2:#3A4049; --ink3:#525A66; --muted:#8A919B; --muted2:#9AA1AC;
  --line:#EFF1F4; --line2:#ECEEF1; --soft:#F7F8F9; --soft2:#F7F8FA;
  --red:#DA291C; --red-d:#B92218; --dark:#101216;
  --ff:'Manrope',-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}
a{color:var(--red)}
a:hover{color:var(--red-d)}
img{max-width:100%;height:auto}
.rx-wrap{max-width:1280px;margin:0 auto;padding:0 32px}
@media(max-width:640px){.rx-wrap{padding:0 20px}}

/* Header */
.rx-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.rx-header-in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rx-logo{text-decoration:none;color:var(--ink);font-weight:800;font-size:23px;letter-spacing:-.02em}
.rx-logo span{color:var(--red)}
.rx-logo img{max-height:44px;width:auto;display:block}
.rx-hdr-right{display:flex;align-items:center;gap:16px}
.rx-desknav{display:none}
.rx-desknav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.rx-desknav a{position:relative;text-decoration:none;color:var(--ink);font-weight:700;font-size:14.5px;padding:9px 13px;border-radius:9px;transition:color .18s,background .18s;white-space:nowrap;display:inline-flex}
.rx-desknav a:hover{color:var(--red);background:#FBF1F0}
.rx-desknav li{position:relative}
.rx-desknav li ul{position:absolute;top:calc(100% + 10px);left:0;min-width:340px;background:#fff;border:1px solid #EAECEF;border-radius:14px;box-shadow:0 30px 70px -30px rgba(16,18,22,.35);padding:8px;flex-direction:column;gap:1px;max-height:min(72vh,640px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;display:flex}
.rx-desknav li:hover>ul,.rx-desknav li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0)}
.rx-desknav li ul a{color:var(--ink2);font-weight:600;font-size:14px;padding:10px 13px;display:block}
.rx-hdr-tel{text-decoration:none;color:var(--ink);font-weight:700;font-size:14.5px;white-space:nowrap}
.rx-burger{display:inline-flex;align-items:center;gap:9px;border:1px solid #D7DBE0;background:#fff;border-radius:10px;padding:9px 15px;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;color:var(--ink);transition:all .2s}
.rx-burger:hover{border-color:var(--red);color:var(--red)}
@media(min-width:1024px){.rx-desknav{display:block}.rx-burger{display:none}}
.rx-menu-toggle{position:absolute;opacity:0;pointer-events:none}
.rx-drawer-overlay{position:fixed;inset:0;background:rgba(16,18,22,.5);opacity:0;pointer-events:none;transition:opacity .22s;z-index:200}
.rx-drawer{position:fixed;top:0;right:0;height:100%;width:min(360px,88vw);background:#fff;box-shadow:-30px 0 80px -30px rgba(0,0,0,.4);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.25,1);z-index:201;padding:22px 24px 28px;display:flex;flex-direction:column;overflow-y:auto}
.rx-menu-toggle:checked ~ .rx-drawer-overlay{opacity:1;pointer-events:auto}
.rx-menu-toggle:checked ~ .rx-drawer{transform:translateX(0)}
.rx-drawer nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rx-drawer nav ul ul{padding-left:14px}
.rx-drawer nav a{text-decoration:none;color:var(--ink2);font-weight:600;font-size:15.5px;padding:11px 12px;border-radius:10px;transition:all .15s;display:block}
.rx-drawer nav a:hover{background:#FBF1F0;color:var(--red)}
.rx-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.rx-drawer-close{border:none;background:#F2F3F5;color:var(--ink);width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.rx-drawer-foot{margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}
.rx-drawer-foot a{text-decoration:none;color:var(--ink);font-weight:800;font-size:19px}

/* Buttons */
.rx-btn{display:inline-flex;align-items:center;gap:10px;border:none;cursor:pointer;font-family:inherit;background:var(--red);color:#fff;padding:15px 28px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .2s}
.rx-btn:hover{background:var(--red-d);color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(218,41,28,.55)}
.rx-btn-ghost{display:inline-flex;align-items:center;gap:10px;border:1.5px solid #D7DBE0;color:var(--ink);font-weight:700;font-size:15px;padding:14px 26px;border-radius:12px;text-decoration:none;transition:all .2s;background:#fff}
.rx-btn-ghost:hover{border-color:var(--red);color:var(--red)}

/* Hero / sections */
.rx-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.rx-eyebrow i{display:block;width:44px;height:3px;border-radius:3px;background:var(--red)}
.rx-eyebrow span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--red);text-transform:uppercase}
h1.rx-h1{font-weight:800;letter-spacing:-.03em;font-size:clamp(32px,4.4vw,56px);line-height:1.04;margin:0 0 18px}
h2.rx-h2{font-weight:800;letter-spacing:-.02em;font-size:clamp(24px,2.6vw,32px);margin:0}
.rx-lead{max-width:60ch;color:var(--ink3);font-size:16.5px;line-height:1.65;text-wrap:pretty}
.rx-section{padding:56px 0 8px}
.rx-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.rx-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:56px 0 64px}
@media(max-width:960px){.rx-hero-grid{grid-template-columns:1fr}}
.rx-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#14171C0a 1px,transparent 1px),linear-gradient(90deg,#14171C0a 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%);mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%)}
@keyframes rxAurora{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,26px) scale(1.08)}}
.rx-aurora{position:absolute;top:-40%;left:-8%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(218,41,28,.13),rgba(218,41,28,0) 62%);animation:rxAurora 16s ease-in-out infinite;pointer-events:none}
@keyframes rxHueShift{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes rxShimmer{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes rxFieldIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes rxTick{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes rxBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* Form card */
.rx-form-card-ring{padding:2px;border-radius:20px;background:linear-gradient(115deg,#DA291C,#FF6A3D,#F2B8B2,#DA291C);background-size:300% 300%;animation:rxHueShift 8s linear infinite alternate;box-shadow:0 44px 90px -42px rgba(218,41,28,.45)}
.rx-form-card{background:#fff;border-radius:18px;overflow:hidden}
.rx-form-head{position:relative;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:#EDEFF2;padding:15px 22px;overflow:hidden}
.rx-form-head b{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#C7CCD4;font-weight:400}
.rx-form-head em{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:#FF8C7E;font-style:normal}
.rx-form-head em i{width:7px;height:7px;border-radius:50%;background:#34D17E;animation:rxBlink 1.6s ease-in-out infinite}
.rx-form-body{padding:26px 24px 24px}
.rx-form{display:flex;flex-direction:column;gap:12px}
.rx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.rx-form-row{grid-template-columns:1fr}}
.rx-input,.rx-form input,.rx-form textarea{background:var(--soft2);border:1.5px solid #E4E7EB;color:var(--ink);padding:14px 16px;border-radius:10px;font-family:inherit;font-size:15px;transition:border-color .2s,background .2s,box-shadow .2s;width:100%}
.rx-form input:focus,.rx-input:focus,.rx-form textarea:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px rgba(218,41,28,.1)}
.rx-submit{position:relative;overflow:hidden;border:none;background:linear-gradient(115deg,#DA291C,#FF6A3D,#DA291C);background-size:200% 200%;color:#fff;padding:16px;border-radius:10px;font-family:inherit;font-size:15.5px;font-weight:700;cursor:pointer;box-shadow:0 14px 30px -12px rgba(218,41,28,.6);transition:transform .2s,box-shadow .2s;animation:rxHueShift 6s linear infinite alternate;width:100%}
.rx-submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(218,41,28,.7)}
.rx-submit i{position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);animation:rxShimmer 2.6s ease-in-out infinite;pointer-events:none}
.rx-consent{margin:4px 0 0;font-size:12px;line-height:1.5;color:#6A7280;text-align:center}
.rx-consent a{color:inherit;text-decoration:underline}
.rx-sent{padding:28px 6px}
.rx-sent-tick{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#DA291C,#FF6A3D);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 34px -12px rgba(218,41,28,.7);animation:rxTick .5s both}

/* Cards / grids */
.rx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:26px}
.rx-card{text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.rx-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(20,23,28,.4);border-color:#E0D3D1;color:var(--ink)}
.rx-card-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#EDEFF2}
.rx-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rx-card-body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px}
.rx-card-cat{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--red)}
.rx-card-title{font-weight:800;font-size:16.5px;line-height:1.3}
.rx-card-more{font-weight:700;font-size:13.5px;color:var(--red)}
.rx-chip{display:inline-block;text-decoration:none;color:var(--ink2);font-weight:600;font-size:13.5px;border:1px solid #E1E4E8;border-radius:100px;padding:8px 14px;transition:all .15s;background:#fff;cursor:pointer;font-family:inherit}
.rx-chip:hover,.rx-chip.is-active{border-color:var(--red);color:var(--red);background:#FBF1F0}

/* Dark CTA */
.rx-cta{position:relative;overflow:hidden;background:var(--dark);color:#EDEFF2;border-radius:18px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:48px 0 72px}
.rx-cta h2{margin:0;font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em}
.rx-cta p{margin:10px 0 0;color:#A8AEB8;font-size:16px;max-width:48ch;line-height:1.6}
@media(max-width:620px){.rx-cta{flex-direction:column;align-items:flex-start;padding:32px 24px}}

/* Footer */
.rx-footer{border-top:1px solid var(--line)}
.rx-footer-in{padding:26px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--muted2)}
.rx-footer a{color:inherit;text-decoration:underline}
.rx-footer a.rx-footer-brand{color:var(--red);text-decoration:none;font-weight:700}

/* Generic page content (Gutenberg) */
.rx-prose{max-width:820px;font-size:16px;line-height:1.7;color:var(--ink2)}
.rx-prose h2{font-weight:800;letter-spacing:-.01em;font-size:26px;color:var(--ink);margin:36px 0 12px}
.rx-prose h3{font-weight:800;font-size:20px;color:var(--ink);margin:28px 0 10px}
.rx-prose img{border-radius:14px}
.rx-prose blockquote{border-left:3px solid var(--red);margin:20px 0;padding:12px 20px;background:#FBF1F0;border-radius:0 10px 10px 0}
.rx-prose table{border-collapse:collapse;width:100%}
.rx-prose td,.rx-prose th{border:1px solid var(--line2);padding:10px 14px;text-align:left;font-size:14.5px}
.rx-prose th{background:var(--soft)}
.rx-breadcrumb{font-family:var(--mono);font-size:13px;color:var(--muted);padding-top:40px}
.rx-breadcrumb a{color:var(--red);text-decoration:none}

/* Registry */
.rx-reg-card{background:#fff;border:1px solid #E6E8EC;border-radius:18px;box-shadow:0 30px 64px -44px rgba(20,23,28,.26);overflow:hidden;margin-top:34px}
.rx-reg-top{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid #F2F3F5;flex-wrap:wrap}
.rx-reg-top .rx-input{flex:1;min-width:240px;width:auto}
.rx-reg-count{font-family:var(--mono);font-size:12.5px;color:var(--muted2);white-space:nowrap}
.rx-reg-list{max-height:640px;overflow:auto}
.rx-reg-group{position:sticky;top:0;z-index:1;background:#FAFBFC;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:#6A7280;font-weight:700}
.rx-reg-row{display:grid;grid-template-columns:130px 1fr 250px;gap:16px;padding:18px 24px;border-top:1px solid #F2F3F5;align-items:start}
@media(max-width:860px){.rx-reg-row{grid-template-columns:1fr;gap:6px}}
.rx-reg-code{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--red);line-height:1.4}
.rx-reg-title{text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;line-height:1.35;display:inline-block;border-bottom:1px dashed rgba(20,23,28,.25)}
.rx-reg-title:hover{color:var(--red);border-bottom:1px solid var(--red)}
.rx-reg-note{font-size:12.5px;line-height:1.5;color:#8B919B;margin-top:5px}
.rx-reg-badge{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--red);background:rgba(218,41,28,.08);padding:3px 9px;border-radius:100px;margin-bottom:6px}
.rx-reg-form{font-size:13px;line-height:1.45}
.rx-reg-form a{color:#454C57;text-decoration:none;border-bottom:1px dashed rgba(69,76,87,.35)}
.rx-reg-form a:hover{color:var(--red);border-bottom:1px solid var(--red)}

/* Product page */
.rx-prod-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;margin-top:26px}
@media(max-width:900px){.rx-prod-hero{grid-template-columns:1fr}}
.rx-prod-img{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#EDEFF2;box-shadow:0 30px 60px -30px rgba(20,23,28,.35)}
.rx-prod-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rx-badge-pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid #EAE0DE;border-radius:100px;padding:7px 15px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--red)}
.rx-doc-chip{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border:1px solid var(--line2);border-radius:10px;padding:9px 14px;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--ink2)}
.rx-kv{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.rx-kv>div{background:var(--soft);border:1px solid var(--line2);border-radius:12px;padding:14px 18px;min-width:180px}
.rx-kv b{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:400;display:block}
.rx-kv span{font-weight:800;font-size:15.5px;margin-top:5px;display:block}
.rx-test-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;margin-top:26px}
@media(max-width:860px){.rx-test-grid{grid-template-columns:1fr}}
.rx-test-col{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:26px 24px}
.rx-test-col.alt{background:#FAFBFC;border-color:#E9EBEF}
.rx-test-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--red);font-weight:700}
.rx-gost-row{display:flex;gap:13px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #F2F3F5;margin-top:12px}
.rx-gost-row b{flex:0 0 auto;font-family:var(--mono);font-weight:700;font-size:12px;color:var(--red);white-space:nowrap;margin-top:1px}
.rx-gost-row span{font-size:14px;line-height:1.5;color:var(--ink2)}
.rx-ind{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #E6E8EC;border-radius:100px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--ink2);margin:0 9px 9px 0}
.rx-ind i{width:6px;height:6px;border-radius:50%;background:var(--red)}
.rx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:26px}
.rx-step{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:22px}
.rx-step b{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--red)}
.rx-step h3{font-weight:800;font-size:16.5px;margin:10px 0 0}
.rx-step p{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:#5A626E}

/* 404 */
.rx-404{font-family:var(--mono);font-weight:700;font-size:clamp(90px,16vw,200px);line-height:1;letter-spacing:-.04em;color:#F2F3F5;-webkit-text-stroke:2px var(--red)}

/* Stats */
.rx-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;margin-top:40px}
.rx-stats b{font-weight:800;font-size:clamp(34px,3vw,46px);line-height:1;letter-spacing:-.02em;display:block}
.rx-stats b em{color:var(--red);font-style:normal}
.rx-stats span{margin-top:9px;font-size:13.5px;color:#6A7280;display:block;line-height:1.4}
