:root{font-family:"Instrument Sans",Arial,sans-serif;color:#172844;background:#f6f3ed;--blue:#284b88;--orange:#eb5d30;--line:#e7e1d6;--paper:#fffdf8;--gutter:clamp(12px,3vw,42px)}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-width:0}
button,input,select,textarea{font:inherit;color:inherit}
button,select,summary{cursor:pointer}
a{color:var(--blue)}
.top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;min-height:60px;padding:8px var(--gutter);background:var(--paper);border-bottom:1px solid var(--line)}
.logo{display:flex;flex-shrink:0}.logo img{width:146px;height:33px;object-fit:contain}
.languages{display:flex;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f6f3ed}
.languages button{border:0;border-radius:6px;background:transparent;padding:6px 8px;font-size:.78rem;font-weight:700}
.languages button[aria-pressed=true]{background:var(--blue);color:white}
nav{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
nav select{max-width:210px;min-width:0}
nav input{flex:1;min-width:50px}
input,select,textarea{border:1px solid #cfc8bc;border-radius:8px;padding:8px 10px;background:#fff}
.home{max-width:1600px;margin:auto;padding:clamp(14px,4vw,58px) var(--gutter) 0}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);min-height:clamp(470px,66vh,680px);border-radius:22px;overflow:hidden;background:#e9eef7}
.hero-copy{padding:clamp(28px,5vw,84px);align-self:center}
h1,h2,p{margin-top:0}h1{line-height:1.06;letter-spacing:-.035em}
.hero h1{font-size:clamp(2.3rem,5vw,5.5rem);margin-bottom:20px}
.hero p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.55;max-width:32ch;margin-bottom:30px;color:#415171}
.hero-image{min-height:245px;background:#d78038 url("./hero.webp") center/cover no-repeat;animation:appear .55s ease-out both}
@keyframes appear{from{transform:translateY(16px);opacity:.45}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.primary{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;border:0;border-radius:9px;padding:12px 16px;font-weight:700}
.primary:disabled{background:#e9e6e0;color:#595750;cursor:default}
footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:22px 0;font-size:.86rem;color:#4f5a70}
.layout{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr) minmax(215px,265px);gap:18px;padding:24px var(--gutter);max-width:1800px;margin:auto;align-items:start}
aside{position:sticky;top:80px;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:auto;max-height:calc(100dvh - 96px)}
summary{padding:14px 13px;font-weight:700}
.panel-body{padding:0 13px 14px}.panel-body p{margin-bottom:9px}.shop{margin-top:16px;border-top:1px solid var(--line);padding-top:13px;font-size:.88rem;line-height:1.4}.shop h2{font-size:1rem;margin-bottom:8px}
.manager{display:grid;gap:2px;padding:8px 0;font-size:.92rem}
.listing h1{font-size:clamp(1.6rem,3vw,2.4rem);margin:4px 0 16px}
.empty{border:1px solid var(--line);background:var(--paper);border-radius:15px;min-height:290px;display:grid;justify-items:center;align-content:center;text-align:center;padding:22px}
.empty h2{font-size:1.22rem;margin:12px 0 8px}.empty p{margin:0;color:#526079}.empty-mark{background:#e9eef7;color:var(--blue);border-radius:12px;padding:10px 15px;font-size:1.5rem}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,157px),1fr));gap:10px}
.product{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:11px;min-width:0;overflow-wrap:anywhere}
.product img,.photo-placeholder{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#f0ede7;border-radius:7px}
.product h2{font-size:.96rem;line-height:1.27;margin:8px 0}
.product p{font-size:.82rem;margin-bottom:6px}.product label{display:grid;gap:3px;font-size:.8rem}.product input{width:100%}.product button{margin-top:7px;width:100%;font-size:.82rem}
.total{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:10px 0;margin:10px 0;font-size:.92rem}
fieldset{margin:0;padding:0;border:0;min-width:0}
fieldset label{display:grid;gap:3px;margin:8px 0;font-size:.82rem}
fieldset input,fieldset textarea{width:100%}fieldset button{width:100%;font-size:.88rem}
.status{font-size:.82rem;line-height:1.3;margin-top:9px}.cart-line{font-size:.85rem;overflow-wrap:anywhere}.cart-line button{background:none;border:0;color:var(--blue);padding:4px 0;text-decoration:underline}
@media(max-width:960px){.layout{grid-template-columns:minmax(0,1fr) 245px}.contacts{position:static;grid-column:1/-1}.contacts #managers{display:flex;flex-wrap:wrap;gap:6px 24px}}
@media(max-width:700px){
.top{flex-wrap:wrap;gap:6px}.logo img{width:136px}.top nav{order:3;flex-basis:100%}nav select{max-width:40%}
.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:32px 24px}.hero-image{min-height:clamp(220px,60vw,360px)}
.layout{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:12px;padding-bottom:66px}
aside{position:static;max-height:none}.cart{position:fixed;inset:auto var(--gutter) 0;z-index:3;max-height:70dvh;box-shadow:0 0 22px #17284422;border-radius:13px 13px 0 0}
}
