/* GRADIS_UI_08 — stable controls, aligned branding, responsive layouts. */
:root{--gd-accent:#f26a21;--gd-focus:#a9420e}
.btn,.btn:hover,.btn:active,.category-card:hover img,.product-card:hover .product-image img{transform:none}
.btn,.category-card img,.product-image img{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}
.btn{white-space:normal;line-height:1.3}
.btn:hover{box-shadow:none}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gd-focus);outline-offset:4px}
.dialog-close:focus:not(:focus-visible){outline:none}
.dialog-close:focus-visible{outline:2px solid var(--gd-focus);outline-offset:-4px}
.dialog-close{border-radius:8px;transition:color .18s,background-color .18s}
.dialog-close:hover{background:#fff0e6;color:#a9420e}
.logo{display:inline-flex;align-items:center;flex:none;padding:0!important;line-height:1}
.logo img,.footer .logo img{display:block;object-fit:contain;object-position:left center;width:165px;height:auto;max-height:40px}
.header-main>.row:first-child{flex:none}
.gd-arrow{display:inline-block;vertical-align:-.16em;width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.arrow{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;vertical-align:middle}
.hero .help{display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.3;transition:color .18s,border-color .18s}
.hero .help:hover{color:#ff9a61;border-color:#ff9a61}
.hero-actions{flex-wrap:wrap;row-gap:16px}
.hero-actions>.btn{min-height:50px}
.hero-visual{grid-template-rows:60px minmax(0,1fr) auto;align-items:center;padding:0 26px 22px;gap:10px}
.hero-visual>img{grid-row:2;height:330px;max-height:100%;width:80%;margin:0;align-self:center}
.hero-photo-note{position:relative;grid-row:3;left:auto;bottom:auto;justify-self:start;width:100%;padding-top:8px;line-height:1.5}
.visual-index{z-index:3;max-width:calc(100% - 125px);line-height:1.4}
.hero-photo-note strong{line-height:1.4}
.hero-visual:hover .hero-photo-note strong{color:#9c3b0b}
.hero-copy>p{overflow-wrap:normal;text-wrap:pretty}
.section-head:has(.gd-feature-intro){display:block}
.section-head .gd-feature-intro{display:block;max-width:650px;margin:14px 0 0;font-size:15px;line-height:1.6}
.filter-block:first-child{border-top:0;padding-top:0}
.cat-link{margin-left:0;min-width:0;align-items:flex-start;line-height:1.45}
.cat-link b{flex:0 0 auto;white-space:nowrap;padding-top:2px}
[data-reset-filters].text-link{display:inline-flex;border:1px solid #cbd0d3;border-radius:6px;background:#fff;min-height:46px;padding:11px 16px!important;margin-top:20px!important;font-size:13px!important;justify-content:center;text-align:center;text-decoration:none;white-space:normal;transition:background-color .18s,border-color .18s,color .18s}
[data-reset-filters].text-link:hover{background:#fff0e6;border-color:#e3a17b;color:#9c3b0b}
.pagination a{transition:background-color .18s,border-color .18s,color .18s}
.pagination a:hover{background:#fff0e6;border-color:#e3a17b;color:#9c3b0b}
.pagination a.active:hover{background:#333;color:white;border-color:#333}
.sort-control{position:relative;display:flex;align-items:center;gap:12px;margin-left:auto}
.sort-control select.gd-sort-native{display:none!important}
.gd-sort{position:relative;width:240px;min-width:0}
.gd-sort-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 14px;border:1px solid #cbd0d3;border-radius:6px;background:#f1f2f4;color:#202124;font-size:13px;line-height:1.4;text-align:left;transition:background-color .18s,border-color .18s}
.gd-sort-trigger>span{min-width:0}
.gd-sort-trigger svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gd-sort-trigger:hover,.gd-sort-trigger[aria-expanded=true]{border-color:#ad744f;background:#fff7f1}
.gd-sort-options{position:absolute;top:calc(100% + 7px);right:0;z-index:24;width:100%;min-width:0;padding:6px;border:1px solid #d5d8da;border-radius:8px;background:#fff;box-shadow:0 12px 30px #2021241a;max-height:290px;overflow:auto}
.gd-sort-options[hidden]{display:none}
.gd-sort-option{display:block;width:100%;padding:11px 12px;border-radius:4px;text-align:left;line-height:1.4;font-size:13px;color:#202124;overflow-wrap:break-word}
.gd-sort-option:hover,.gd-sort-option:focus-visible{background:#fff0e6;color:#9c3b0b}
.gd-sort-option[aria-selected=true]{background:#202124;color:#fff}
.toast{width:440px;max-width:calc(100% - 32px);padding:16px 18px;gap:16px;line-height:1.5;align-items:center;bottom:max(20px,env(safe-area-inset-bottom))}
.toast>span{min-width:0;flex:1;font-size:14px}
.toast a{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:7px;min-height:44px;padding:9px 13px;border-radius:5px;background:#f26a21;color:#202124;text-decoration:none;font-size:13px;font-weight:700;transition:background-color .18s}
.toast a:hover{background:#ff9a61}
.footer-main{grid-template-columns:minmax(200px,1.2fr) minmax(170px,.8fr) minmax(260px,1fr);gap:40px}
.footer-main>div,.footer-legal>*{min-width:0}
.footer .logo{width:max-content;margin:0}
.footer .logo img{width:160px;height:auto;max-height:none}
.footer a:not(.logo),.footer button{padding:7px 0;transition:color .18s}
.footer-main a[href^="mailto:"]{overflow-wrap:anywhere}
.footer-legal{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:24px;align-items:start}
.footer-legal>div{display:grid;gap:4px}
.footer-legal p{max-width:none;line-height:1.65}
.footer-legal>p:last-child{text-align:right}
.footer-legal a,.footer-legal button{padding:4px 0;line-height:1.5}
.cookie a:hover,.consent a:hover{color:#a9420e;text-decoration-thickness:2px}
.request-link:hover{background:#e5e7e9}
.header-phone:hover,.mobile-call:hover,.phone-big:hover{color:#a9420e}
.menu-dialog nav a:hover{color:#a9420e;background:#fff8f3}
.header .mobile-call{border:1px solid #d4d7d9;border-radius:6px;padding:0 10px;gap:7px;line-height:1.2}
.mobile-call .gd-phone{width:17px;height:17px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1180px){.footer-main{gap:28px}.hero-visual>img{height:300px}}
@media(max-width:1023px){.catalog-top .filter-mobile{min-height:48px}.logo img{width:140px;max-height:34px}.hero-visual{padding-inline:20px}.hero-visual>img{height:270px}.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-legal{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-legal>p:last-child{grid-column:1/-1;text-align:left;margin-top:0}}
@media(max-width:700px){
 .header-main{height:auto;min-height:72px;padding-top:12px;padding-bottom:12px;gap:12px}
 .logo img{width:112px;height:auto;max-height:28px}
 .header-main>.row{gap:6px}
 .header .mobile-call{min-height:42px;font-size:12px;padding:0 10px}
 .header .request-link{width:38px;height:42px;min-height:42px}
 .header .request-link svg{width:21px;height:21px}
 .header .request-link .count{right:-1px;top:0}
 .burger{width:42px;min-height:42px}
 .hero-copy{padding:32px 0 26px}
 .hero h1{font-size:clamp(32px,9.5vw,42px);overflow-wrap:normal;word-break:normal;line-height:1.08}
 .hero-copy>p{max-width:none;font-size:14px;line-height:1.65}
 .hero-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .hero-actions .btn,.hero-actions .help{width:100%;min-height:48px;font-size:14px;justify-content:center;padding:13px 16px}
 .hero-actions .help{border:1px solid #6a6c70;border-radius:6px}
 .hero-visual{height:auto;min-height:0;grid-template-rows:52px 250px auto;padding:0 20px 18px;gap:10px}
 .hero-visual>img{height:250px;width:78%;max-width:100%;margin:0}
 .visual-index{top:18px;left:20px;max-width:calc(100% - 110px);font-size:9px;line-height:1.5}
 .hero-badge{top:15px;right:16px}
 .hero-photo-note{padding-top:0;font-size:11px}
 .hero-photo-note strong{font-size:13px;line-height:1.5}
 .hero-visual:before{inset:58px 28px 70px}
 .section-head .gd-feature-intro{margin-top:12px;font-size:14px;max-width:none}
 .catalog-top{gap:10px;grid-template-columns:minmax(0,1fr);align-items:stretch}
 .catalog-top .filter-mobile{min-height:48px;padding:12px 14px;font-size:13px}
 .sort-control{display:block;margin:0;width:100%}
 .sort-control>span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
 .gd-sort{width:100%}
 .gd-sort-trigger{min-height:48px;font-size:13px;padding:12px 14px}
 .toast{left:16px;right:16px;transform:none;width:auto;max-width:none;padding:14px 16px;gap:12px;align-items:center;bottom:max(16px,env(safe-area-inset-bottom))}
 .toast>span{font-size:13px;line-height:1.45}
 .toast a{font-size:12px;padding:9px 11px}
 .toast .gd-arrow{width:16px;height:16px}
 .footer-main{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
 .footer-main>div:first-child{grid-column:auto}
 .footer .logo img{width:145px;height:auto}
 .footer h3{font-size:12px;line-height:1.4;margin-bottom:10px}
 .footer a:not(.logo),.footer button{font-size:14px;line-height:1.5;min-height:38px;display:flex;align-items:center;gap:7px}
 .footer-main p{font-size:13px;line-height:1.6;margin-top:16px}
 .footer-legal{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:28px;padding-top:24px}
 .footer-legal>div{margin:0;gap:3px}
 .footer-legal p{font-size:12px;line-height:1.75}
 .footer-legal a,.footer-legal button{font-size:12px;min-height:38px}
 .footer-legal>p:last-child{grid-column:auto;margin:0;color:#999fa4}
 .menu-dialog .dialog-content{padding:72px 24px 28px}
 .menu-dialog .logo{margin-bottom:22px}
 .menu-dialog nav a{font-size:22px;min-height:56px}
 .menu-dialog .btn{font-size:14px;min-height:48px}
 .dialog-close{top:12px;right:12px;width:42px;height:42px}
 .cookie-actions{flex-wrap:wrap}
 .cookie-actions .btn{min-width:100px}
}
@media(max-width:374px){.wrap{padding-left:16px;padding-right:16px}.header-main{gap:6px}.header-main>.row{gap:4px}.logo img{width:98px}.header .mobile-call{padding:0 7px;font-size:11px;gap:5px}.header .mobile-call .gd-phone{width:15px;height:15px}.header .request-link{width:32px}.burger{width:38px}.hero-visual{grid-template-rows:52px 220px auto}.hero-visual>img{height:220px}.toast{gap:9px;padding:12px}.toast a{padding:9px;font-size:11px}.toast>span{font-size:12px}}

.dialog-close.gd-pointer-focus:focus,.dialog-close.gd-pointer-focus:focus-visible{outline:none}
