:root{--vs-ink:#20271f;--vs-muted:#596456;--vs-surface:#f5f6f1;--vs-border:#dce2d7;--vs-green:#376d28;--vs-tint:#eff5e9}
[hidden]{display:none!important}
body{color:var(--vs-ink)}
.header .login{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none}
.hero-copy>p,.section-head>p,.location-card>p,.steps p,.faq-list p,.modal-intro,.notice{font-size:1rem;line-height:1.6;color:var(--vs-muted)}
.hero h1{font-size:clamp(2.75rem,5.65vw,5.5rem);line-height:.99;letter-spacing:-.06em}
.hero h1 em{font-style:normal}
.hero-visual img{height:auto;max-height:100%;object-fit:contain}
.hero-location small,.visual-footnote,.location-details small,.box-size,.box-area,.box-bottom small,.plan small,.identity-consent,.map-caption{font-size:.875rem;line-height:1.5}
.hero-location small{color:var(--vs-muted)}
.button,.segmented button,.box-bottom button,.route-link,.location-directions summary,.compare-bar button,.compare-toggle{min-height:44px}
.route-link{display:flex;align-items:center;width:fit-content;color:var(--vs-green)}
.location-tools{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:0 0 1rem}
.location-tools .field{margin:0;width:min(100%,390px);font-size:.875rem;font-weight:750}
.location-tools input{min-height:44px;font-size:1rem}
.mobile-map-tabs{display:flex}
.location-layout{grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:1rem}
.location-card{border:1px solid var(--vs-border);padding:clamp(1.25rem,2.8vw,2.25rem);background:#fff}
.location-card.selected{border-color:#aabca3}
.location-card h3{font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.16;max-width:15ch}
.location-index{font-size:.75rem}
.location-details small,.location-directions p{color:var(--vs-muted)}
.location-card-top{gap:.75rem;flex-wrap:wrap}
.location-directions{margin:0;color:var(--vs-ink);font-size:.9rem}
.location-directions summary{display:list-item;padding:.65rem 0;cursor:pointer;font-weight:750}
.location-directions p{margin:0 0 .5rem}
[data-object-description],[data-object-directions]{white-space:pre-line;overflow-wrap:anywhere}
.detail-links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.7rem}
.detail-links button{min-height:44px}
.detail-facts p{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:760px){
  .location-layout[data-view="map"] .location-card{padding:1rem}
  .location-layout[data-view="map"] [data-object-description]{display:none}
  .location-layout[data-view="map"] .location-details{margin-block:.6rem}
  .location-layout[data-view="map"] .location-on-map{display:none}
}
@media(max-width:760px) and (min-height:540px){
  .detail-checkout{position:sticky;bottom:0;z-index:1;background:#fff;padding:.45rem 0 max(.45rem,env(safe-area-inset-bottom));border-top:1px solid #e3e9df}
  .detail-checkout .total-row{margin-block:0 .55rem}
}
.location-directions a,.location-on-map{color:var(--vs-green)}
.location-map{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:1.25rem;overflow:hidden;background-color:#eaf0e4;background-image:linear-gradient(#d7e2d1 1px,transparent 1px),linear-gradient(90deg,#d7e2d1 1px,transparent 1px),radial-gradient(ellipse at center,#f8faf4 4%,transparent 67%);background-size:30px 30px,30px 30px,100% 100%;border:1px solid #d5dfce}
.map-top{display:flex;justify-content:space-between;gap:.75rem;color:#435841;font-size:.75rem;font-weight:800;letter-spacing:.09em}
.map-center{display:grid;place-items:center;padding:.75rem 0}
.object-marker{display:flex;align-items:center;gap:.7rem;min-height:56px;text-align:left;padding:.7rem .85rem;color:#fff;background:var(--vs-green);border:1px solid #28551d;border-radius:12px;box-shadow:0 8px 20px #263d2426;cursor:pointer}
.object-marker:hover{background:#2b5720}
.object-marker small{display:block;font-size:.875rem;color:#f0f6e9}
.location-map .map-caption{position:static;margin:0;padding:.55rem .75rem;align-self:start;background:#fff;border-radius:6px;color:#445740}
#map-feedback{color:var(--vs-muted);margin:0 0 .65rem}
#locations,#catalog{scroll-margin-top:5rem}
.box-card .badge{font-size:.8125rem}
.box-volume{font-size:1.9rem}
.box-card .box-size{font-weight:750;color:var(--vs-ink)}
.box-card .box-area{min-height:2.75rem;color:var(--vs-muted)}
.box-bottom button{font-size:.875rem}
.box-diagram{min-height:105px}
.compare-toggle{display:block;width:100%;background:transparent;border:0;border-top:1px solid var(--vs-border);color:var(--vs-green);font:inherit;font-size:.875rem;cursor:pointer}
.compare-toggle[aria-pressed="true"]{background:var(--vs-tint);font-weight:800}
.compare-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;border:1px solid var(--vs-border);background:#fff;border-radius:10px;padding:.65rem .85rem;margin-bottom:1rem}
.compare-bar strong{margin-right:auto}
.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem}
.compare-grid .notice{margin:0}
.compare-grid p{margin:.35rem 0}
.catalog-toolbar select,.catalog-subbar input,.field input,.field select,.field textarea{font-size:1rem}
.modal-title{line-height:1.08}
.portal-page{min-height:56vh}
.portal-page h1{font-size:clamp(2.5rem,7vw,4.5rem);line-height:1}
.portal-page p{margin:1.2rem 0 1.75rem}
.portal-page .button{margin:.25rem .35rem .25rem 0}
body[data-page="/kladovki"] #home-hero,body[data-page="/kladovki"] #home-facts,body[data-page="/kladovki"] #catalog,body[data-page="/kladovki"] #how,body[data-page="/kladovki"] #faq,body[data-page="/kladovki"] .visit-section,
body[data-page="/kladovki/krasnodar/solovyeva-6k5"] #home-hero,body[data-page="/kladovki/krasnodar/solovyeva-6k5"] #home-facts,
body:is([data-page="/account"],[data-page="/admin"]) main>section:not(.portal-page),body:is([data-page="/account"],[data-page="/admin"]) #home-facts{display:none}
body[data-page="/kladovki"] #locations,body[data-page="/kladovki/krasnodar/solovyeva-6k5"] #locations{padding-top:clamp(2.75rem,6vw,5rem)}
@media(max-width:760px){
  .hero h1{font-size:clamp(2.6rem,9vw,4.6rem)}
  .location-tools{align-items:stretch;flex-direction:column;gap:.65rem}
  .location-tools .field{width:100%}
  .location-layout{grid-template-columns:minmax(0,1fr)}
  .location-layout[data-view="map"] .location-map{display:flex;grid-row:1}
  .location-layout[data-view="map"] .location-card{display:block;grid-row:2;margin-top:-.3rem}
  .location-layout[data-view="list"] .location-map{display:none}
  .location-map{min-height:250px}
  .box-grid{grid-template-columns:minmax(0,1fr)}
  .box-card .box-area{min-height:0}
  .box-body{padding:1rem}
  .box-diagram{height:110px}
  .compare-bar{padding-bottom:max(.65rem,env(safe-area-inset-bottom))}
}

.mobile-map-tabs{display:flex!important;margin-bottom:0}
.location-layout{min-height:0;border:0;overflow:visible}
.location-filters{margin:0 0 .9rem}
.location-filters summary{min-height:44px;cursor:pointer;font-size:.9375rem;font-weight:750;color:var(--vs-green);padding:.7rem 0}
.location-filters .catalog-toolbar{margin:0}
.location-filters .catalog-subbar{margin-bottom:0}
.location-card{min-width:0}
@media(max-width:760px){
  .location-layout{display:grid}
  .location-layout[data-view="map"] .location-card{margin-top:0}
  .location-tools .segmented{width:100%;margin-bottom:0}
  body[data-page="/kladovki"] #locations>.section-head{margin-bottom:1rem}
  body[data-page="/kladovki"] #locations>.section-head>p{display:none}
  body[data-page="/kladovki"] #locations{padding-top:1.75rem}
  .location-map{min-height:200px}
}


.location-map{justify-content:start;gap:.65rem;min-height:360px;padding:.75rem;overflow:hidden}
.map-viewport{position:relative;isolation:isolate;flex:1;min-height:270px;border-radius:8px;overflow:hidden;border:1px solid #cdd9c7;background:#eaf0e4}
.map-viewport [data-map-frame],.map-viewport img,.map-viewport .map-center{position:absolute;inset:0;width:100%;height:100%}
.map-viewport img{object-fit:cover;pointer-events:none;user-select:none}
.map-interactive .map-viewport{cursor:grab;touch-action:none}
.map-interactive .map-viewport:active{cursor:grabbing}
.map-viewport .map-center{padding:.75rem;pointer-events:none}
.map-viewport .object-marker{pointer-events:auto;transform:translateY(-50%) scale(var(--marker-scale,1));transform-origin:center bottom}
.map-viewport .object-marker:after{content:"";position:absolute;bottom:-7px;left:calc(50% - 6px);width:12px;height:12px;background:var(--vs-green);transform:rotate(45deg)}
.location-map .map-caption,.map-distance,.map-load-status{margin:.25rem 0 0;padding:0;background:transparent}
.map-load-status:empty{display:none}
.map-distance,.map-load-status,.inventory-note{font-size:.875rem;line-height:1.45;color:var(--vs-muted)}
.map-controls{display:flex;gap:.35rem;flex-wrap:wrap}
.map-controls button{min-width:44px;min-height:44px;padding:0 .55rem;border:1px solid #b8c8af;border-radius:7px;background:#fff;color:var(--vs-green);font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}
.map-controls button:disabled{opacity:.65;cursor:default}
@media(max-width:760px){
  .location-map{min-height:0;height:auto}
  .map-viewport{flex:none;min-height:225px}
}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.9rem;padding-block:.7rem;color:var(--vs-muted)}
.breadcrumbs a{text-underline-offset:.2em}

.map-viewport .network-layer{padding:0;display:block}
.network-marker{position:absolute;pointer-events:auto;min-width:44px;min-height:44px;padding:.25rem .5rem;border:2px solid #fff;border-radius:999px;background:#376d28;color:#fff;font:inherit;font-weight:750;cursor:pointer;transform:translate(-50%,-50%) scale(var(--marker-scale,1));box-shadow:0 2px 5px #263e4050}
.network-marker-selected{z-index:2;width:max-content;max-width:165px;text-align:center;border-radius:10px;line-height:1.25;transform:translate(-50%,-100%) scale(var(--marker-scale,1));transform-origin:center bottom}
.network-marker:focus-visible{outline:3px solid #17281a;outline-offset:3px}
