/* lebfix: interactive states on dark backgrounds (footer, ip-cta) */
.site-footer a{color:#fff}
.site-footer a:hover,.site-footer a:active{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.site-footer a:focus-visible,.ip-cta a:focus-visible,.ip-cta button:focus-visible{outline:2px solid #fff;outline-offset:2px;color:#fff}
.site-footer p,.site-footer li{color:#c9c9c9}
.ip-cta .dz-btn-outline:hover,.ip-cta .dz-btn-outline:active{background:#fff;color:var(--graphite);border-color:#fff}
.ip-cta a:not([class]):hover{color:#fff;text-decoration:underline}
/* light bg: hover visible beyond colour (red token == graphite) */
.crumbs a:hover,.hm-col a:hover,.nav .sub a:hover{text-decoration:underline;text-underline-offset:3px}
.hm-quick li a:hover b{text-decoration:underline}

/* ===== lebfix v2 (review items) ===== */
:root{--r-btn:8px;--r-card:16px;--sh-card:0 2px 12px rgb(31 35 40 / 8%)} /* #27 one radius scale + one shadow */
.reviews blockquote,.rv-card,.cat-aside,.contacts-map,.catalog-item,.home-gallery img{border-radius:var(--r-card)}
/* #25 one label style */
.pc-keys dt,.pc-lock-pos,.pc-group h3,.ip-table thead th,.hm-kicker,.hm-h,.hero .hero-pick .hp-q{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--steel)}
/* #11 badge: graphite, not green */
.ok-badge{background:var(--light);color:var(--graphite)}
.hero-trust .nw{white-space:normal}
/* #4 catalog root: full grid */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
@media (max-width:640px){.cards{grid-template-columns:1fr 1fr;gap:12px}}
/* #18 product names 2 lines, price bar pinned bottom */
.catalog-item.pc2{display:flex;flex-direction:column;height:100%}
.pc2 .name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc2 .catalog-item-bar{margin-top:auto}
/* #5 */
.pc-add{margin:12px 0 0;font-size:14px;color:var(--steel)}.pc-add b{color:var(--graphite);font-weight:600}
/* #24 price note */
.price-note{font-size:13px;line-height:18px;color:var(--steel)}
/* #28 / #7: last crumb duplicates the H1 on deep pages */
.crumbs:has(> :nth-child(5)) > span:last-child,.crumbs:has(> :nth-child(5)) > .crumb-sep:nth-last-child(2){display:none}
/* #7 mobile product */
@media (max-width:980px){
 .title-block h1{font-size:26px;line-height:32px}
 .product-side img{height:auto;max-height:320px;object-fit:contain}
}
@media (max-width:420px){.title-block h1{font-size:24px;line-height:30px}}
/* #20 visible labels */
.f-lab{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.f-lab>span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--steel)}
.f-lab input{width:100%}
.popup-row:has(.f-lab){align-items:end}
.contacts-form input[name=email]{display:none}.contacts-form .f-lab:has(input[name=email]){display:none}
/* #21 contacts: form on the content grid, taller map */
.contacts-form{max-width:none;margin:36px 0 0}
/* images with intrinsic size must not stretch */
:where(img[width][height]){height:auto}
/* #15 share button gone */
.share-btn{display:none}

/* PLAN deka-vs-voshod 2026-11-04: card pay line, free line, sticky mobile bar */
.pi-pay{margin:10px 0 0;font-size:15px;line-height:1.35;color:var(--graphite,#2b2f33)}
.pi-pay b{display:block;font-size:17px;font-weight:700}
.pi-pay span{display:block;font-size:13px;color:var(--steel,#5f6770)}
.pi-free,.ip-free{margin:10px 0 0;font-size:14px;line-height:1.4;color:var(--graphite,#2b2f33)}
.ip-free{margin:14px 0 18px;font-weight:600}
.m-bar{display:none}
@media (max-width:760px){
  .m-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e5e8;box-shadow:0 -2px 10px rgba(0,0,0,.06)}
  .m-bar a{flex:1;display:flex;align-items:center;justify-content:center;height:46px;margin:0;border-radius:6px;font-size:15px;font-weight:700;text-decoration:none}
  .m-bar .m-bar-call{border:1.5px solid var(--graphite,#2b2f33);color:var(--graphite,#2b2f33);background:#fff}
  body:has(.m-bar){padding-bottom:64px}
}
.pi-buy .product-price-row{flex-wrap:wrap}
.pi-buy .pi-pay{flex:1 0 100%;margin:12px 0 0;padding-top:12px;border-top:1px solid #eceef0}
.pi-pay b{font-size:16px}
.ip-free{font-size:15px;line-height:1.45}

/* AI-PLAN §C 2026-11-04: «Коротко», category FAQ, prices date */
.sx-short{margin:0 0 20px;padding:14px 18px;border:1px solid #E3E6EA;border-radius:var(--r-card,12px);background:#f7f8f9;color:var(--graphite,#2b2f33)}
.sx-short h2{margin:0 0 6px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--steel,#5f6770)}
.sx-short div,.sx-short p{margin:0;font-size:15px;line-height:1.5}
.sx-short p+p{margin-top:6px}
.sx-short a{color:inherit}
.sx-faq{margin:32px 0 8px}
.sx-faq h2{margin:0 0 8px}
.sx-upd{margin:6px 0 0;font-size:12px;line-height:1.3;color:var(--steel,#5f6770)}
@media (max-width:760px){.sx-short{padding:12px 14px}.sx-short div,.sx-short p{font-size:14px}}

/* batch 3 2026-11-04: catalog table, articles, zamer */
.sx-table{margin:32px 0 8px}.sx-table h2{margin:0 0 4px}.sx-tw{overflow-x:auto;margin-top:12px}
.sx-table td{white-space:nowrap}
.sx-arts{margin:28px 0 8px;padding:14px 18px;border:1px solid #E3E6EA;border-radius:var(--r-card,12px)}
.sx-arts h2{margin:0 0 6px;font-size:18px}.sx-arts ul{margin:0;padding-left:18px}.sx-arts a{color:var(--graphite,#2b2f33)}
.sx-art table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}.sx-art th,.sx-art td{border:1px solid #E3E6EA;padding:8px 10px;text-align:left;vertical-align:top}
.sx-art .sx-tw{overflow-x:auto}
.ip-list{margin:8px 0 16px;padding-left:20px}.ip-list li{margin:4px 0}

/* batch3b: scrollable tables w/ edge hint */
.sx-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left/24px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right/24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.16),transparent) left/10px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.16),transparent) right/10px 100% no-repeat scroll}
.sx-scroll table{min-width:560px;margin:0;background:transparent}

.sx-table .sx-scroll table{min-width:0;width:100%}
@media(max-width:600px){.sx-table th,.sx-table td{padding:8px 6px;font-size:13px}.sx-table td:first-child{white-space:normal}.sx-table th{white-space:normal}}
