/* design audit fix 2026-11-04 (Тинзи) — loaded last; roll back = remove the audit.css <link> in View.php */
:root{--i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");--i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");--i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");--i-pct:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='5' x2='5' y2='19'/%3E%3Ccircle cx='6.5' cy='6.5' r='2.5'/%3E%3Ccircle cx='17.5' cy='17.5' r='2.5'/%3E%3C/svg%3E");--i-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");--i-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E");--ic-line:#C9CED4}

/* 11 · one icon set: Lucide, stroke 2, graphite glyphs, 44px neutral circles */
.header .top-phone a .ico-phone{display:inline-block;width:18px;height:18px;margin:0 8px 0 0;border-radius:0;transform:none;vertical-align:-3px;background:var(--graphite);-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.hm-search button:before,.hm-search-tg:before{width:20px;height:20px;background:var(--graphite);-webkit-mask:var(--i-search) center/contain no-repeat;mask:var(--i-search) center/contain no-repeat}
@media (max-width:980px){
 .header .top-phone a .ico-phone{width:20px;height:20px;margin:0}
 .header.hm .top-phone a,.header.hm .hm-search-tg{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ic-line);box-shadow:none;background:#fff;box-sizing:border-box}
 .mobile-callbar .mcb-call:before{background:var(--graphite);-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
}
.contact-ico{width:48px;height:48px;min-width:48px;border:1.5px solid var(--ic-line);border-radius:50%;box-sizing:border-box;position:relative;flex:none;background:#fff}
.contact-ico:after{content:"";position:absolute;inset:12px;background:var(--graphite);-webkit-mask:var(--dz-ico) center/contain no-repeat;mask:var(--dz-ico) center/contain no-repeat}
.contact-ico{--dz-ico:var(--i-phone)}
.contact-ico.mail{--dz-ico:var(--i-mail)}
.contact-ico.pin{--dz-ico:var(--i-pin)}
.popup-close{color:var(--graphite)}
.popup-close:before{content:none!important;display:none!important}
.popup-close svg{display:block;width:22px;height:22px;pointer-events:none}

/* 15 · search focus: graphite, never red */
.hm-search input:focus,.hm-search-page input:focus{border-color:var(--graphite)!important;box-shadow:0 0 0 3px rgba(31,35,40,.12)}

/* 2 · section tiles = hits cards (visible «Перейти» + arrow) */
.catalog-item .pc-more{font-size:14px}
.section-item.pc2 .pc-more{width:auto}
@media (max-width:640px){.section-item.pc2 .pc-more{width:100%;font-size:14px}}

/* 4 · mobile: the first-screen CTA is the red one; the call bar steps aside while an in-page red button is visible */
@media (max-width:980px){
 .hero-actions .btn-red{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
 .mobile-callbar{transition:transform .2s ease,opacity .2s ease}
 body.dz-cta-vis .mobile-callbar{transform:translateY(120%);opacity:0;pointer-events:none}
}

/* 5 · /contacts/ mobile map */
@media (max-width:980px){
 .contact-cards{margin-bottom:16px}
 .contacts-map{border-radius:var(--r-card)}
 .contacts-map{height:240px}
 .contacts-map img{height:320px;min-height:320px;margin-top:-72px;object-fit:cover;object-position:50% 50%} /* crop the baked contact band (top 60px of map.jpg) */
}

/* 6 · consent row above the button, whole row clickable */
.popup-form .check{display:flex!important;align-items:flex-start;justify-content:flex-start;gap:12px;position:static;padding:12px 0;min-height:44px;margin:0 0 8px;box-sizing:border-box;text-align:left;cursor:pointer;font-size:13px;line-height:1.45;color:var(--steel)}
.popup-form .check input{position:static;flex:none;width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--graphite);cursor:pointer}
.popup-form .check a{color:var(--graphite);text-decoration:underline;text-underline-offset:2px}

/* 7 · desktop contacts form: fields as wide as the button */
@media (min-width:981px){.contacts-form .popup-row{grid-template-columns:1fr 1fr}}

/* 8 · breadcrumbs with «›», aligned */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;row-gap:0}
.crumbs a,.crumbs > span{display:inline-flex;align-items:center;min-height:32px;padding:0!important;margin:0;line-height:1.3;vertical-align:middle}
.crumbs .crumb-sep{color:#9AA3AB}
@media (max-width:980px){.crumbs a,.crumbs > span{min-height:44px}}

/* 9 · number + unit never wraps */
.nw{white-space:nowrap}

/* 10 · mobile menu: one expand icon (chevron) per row; «Скидки» with an SVG icon */
.ico-pct{display:inline-block;flex:none;width:18px;height:18px;margin-right:8px;background:currentColor;-webkit-mask:var(--i-pct) center/contain no-repeat;mask:var(--i-pct) center/contain no-repeat}
.header.hm .nav .menu > li.hm-sale > a{display:inline-flex;align-items:center}
@media (max-width:980px){.header.hm .nav .menu > li.hm-sale > a{display:flex}}
@media (max-width:980px){
 .header.hm .nav .menu > li.has-sub > a:after{display:none!important}
 .dz-sub-tg:before,.has-sub.dz-open > .dz-sub-tg:before{--i:var(--i-chev-d);transition:transform .2s ease}
 .has-sub.dz-open > .dz-sub-tg:before{transform:rotate(180deg)}
}

/* 12 · contrast + tap targets */
.lock-card li span,.fid-item span,.price-note{color:var(--steel)}
.contact-card a{display:inline-flex;align-items:center;min-height:44px}
.pager a,.pager span{min-width:44px;min-height:44px}
.pi-badge,.finish-all{position:relative}
.pi-badge:after,.finish-all:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;margin-top:-22px}
@media (max-width:980px){
 .site-footer li,.site-footer p{margin-top:0;margin-bottom:0}
 .site-footer li a,.site-footer p a{display:inline-flex;align-items:center;min-height:44px;padding:0!important}
}

/* 13 · /otdelka/: anchors + swatches never upscaled */
.finish-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.finish-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--ic-line);border-radius:var(--r-btn);background:#fff;color:var(--graphite);font-size:15px;font-weight:500;text-decoration:none;box-sizing:border-box}
.finish-nav a:hover{border-color:var(--graphite)}
.finish-sec{scroll-margin-top:96px}
.finish-colors{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.finish-color{display:flex;flex-direction:column;align-items:center}
.finish-color img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:0 auto;background:var(--light)}
.finish-color figcaption{align-self:stretch}
@media (max-width:640px){.finish-colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.finish-nav a{font-size:14px;padding:0 12px}}

/* 14 · review cards (DB: text, name, city; ready for Yandex: date, rating, source) */
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:760px){.rv-grid{grid-template-columns:1fr}}
.rv-card{margin:0;background:#fff;border:1px solid #E3E6EA;border-radius:var(--r-card);padding:20px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:none}
.rv-head{display:flex;align-items:center;gap:12px}
.rv-ava{width:40px;height:40px;flex:none;border-radius:50%;background:var(--light);border:1px solid #E3E6EA;color:var(--graphite);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;box-sizing:border-box}
.rv-who{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.rv-name{font-size:16px;font-weight:600;color:var(--graphite)}
.rv-meta{font-size:14px;color:var(--steel)}
.rv-rating{margin-left:auto;display:inline-flex;gap:2px}
.rv-rating i{width:16px;height:16px;background:#D5D9DE;-webkit-mask:var(--i-star) center/contain no-repeat;mask:var(--i-star) center/contain no-repeat}
.rv-rating i.on{background:#E8A317}
.rv-text{margin:0;font-size:16px;line-height:1.6;color:var(--graphite)}
.rv-src{margin:0;font-size:13px;color:var(--steel)}

/* 18 · section summary under the H1 */
.h1-sub{margin:4px 0 6px;font-size:16px;line-height:1.4;color:var(--steel)}
.h1-sub b{color:var(--graphite);font-weight:600}
