.sales-prices { display:flex;gap:12px;flex-wrap:wrap;margin:22px 0; }
.sales-prices a { min-width:190px;padding:12px 18px;border:1px solid #cba35c66;background:#111a;color:#ece8df;font:400 14px/1.5 Montserrat,sans-serif;text-decoration:none; }
.sales-prices strong { display:block;color:#e4bc79;font-weight:600;font-size:20px;margin-top:4px; }
.sales-nav { position:fixed;top:26px;left:50%;transform:translateX(-50%);display:flex;gap:22px;z-index:1001;background:#101215dd;padding:14px 22px;border:1px solid #cba35c44; }
.sales-nav a { color:#fff;font:500 14px Montserrat,sans-serif;text-decoration:none; }
.sales-nav a:hover { color:#e4bc79; }
body .section.afterplan-section h2::before { content:"Просмотр"!important; }
body.has-public-map .map-location-links-core { display:none!important; }
body.has-public-map .fixed-top { background:#101215e8;min-height:100px;padding:14px 20px; }
.public-map-route { position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1001;padding:14px 22px;min-height:48px;background:#cba35c;color:#141414;font:600 14px Montserrat,sans-serif;text-decoration:none;white-space:nowrap; }
body .hero-lead { max-width:650px;line-height:1.65; }
body .hero-section .hero-triggers-line { display:none!important; }
body #cookie-notice { padding:10px 16px!important;font-size:12px!important;line-height:1.5!important; }
body #cookie-notice #accept-cookies { min-width:48px;min-height:40px; }
@media(max-width:1100px) { .sales-nav { display:none; } }
@media(max-width:1024px) {
 body #main .hero-img { display:none!important; }
 body #main .features-hero-cz { padding-top:140px!important;padding-bottom:120px!important; }
 body #main .mini-h1 { font-size:clamp(34px,8vw,52px)!important;line-height:1.15!important; }
 body #main .h1-preheader { font-size:11px!important;letter-spacing:.12em!important;line-height:1.6!important; }
 body .hero-lead { font-size:16px!important;line-height:1.6!important; }
 .sales-prices { gap:8px;margin:18px 0; }
 .sales-prices a { flex:1;min-width:140px;padding:10px 12px;font-size:12px; }
 .sales-prices strong { font-size:17px; }
 body #cookie-notice { left:8px!important;right:8px!important;bottom:8px!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
 body #cookie-notice[style*="display: none"],body #cookie-notice[style*="display:none"] { display:none!important; }
 body #main .hero-actions { gap:10px!important; }
 body #main .hero-button { min-height:48px!important; }
}

/* A readable contact composition, with the map beside the office card. */
body .map-section.has-contact-map { display:grid!important;grid-template-columns:minmax(0,1fr) 340px;
 gap:28px;align-items:center;padding:130px 50px 60px 100px;min-height:100vh;height:100%;background:#101112; }
body .has-contact-map .contacts-map { position:relative!important;inset:auto!important;width:100%!important;
 height:min(580px,calc(100vh - 200px))!important;min-height:360px!important;max-height:580px!important;border:1px solid #cba35c55; }
body .has-contact-map .sales-office-div { position:relative!important;inset:auto!important;width:100%!important;
 height:auto!important;margin:0!important;display:block!important;padding:0!important;transform:none!important; }
body .has-contact-map .sales-office-border-div { width:100%!important;margin:0!important;padding:26px!important; }
body .has-contact-map .bottom-button-core { display:none!important; }
body .contact-map-route { display:block;margin-top:14px;padding:13px 12px;min-height:48px;border:1px solid #cba35c;
 color:#e4bc79!important;text-align:center;text-decoration:none;font:600 13px/1.6 Montserrat,sans-serif; }
body .contact-map-route:hover { background:#cba35c22; }
@media(max-width:1024px) {
 body .map-section.has-contact-map { grid-template-columns:1fr;height:auto!important;padding:32px 24px 40px;
 min-height:0;gap:24px; }
 body .has-contact-map .contacts-map { grid-row:2;height:320px!important;min-height:320px!important;max-height:320px!important;display:block!important; }
 body .has-contact-map .sales-office-div { grid-row:1;max-width:460px;justify-self:center; }
}

/* Product order: parking, storage, then compact apartment offers. */
body .catalog-home { background:#101214;color:#ece8df; }
body .catalog-home .catalog-inner { width:100%;max-width:1440px;margin:auto;padding:140px 60px 80px 110px;
 display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:55px;align-items:center;min-height:100vh; }
body .catalog-home h2 { color:#fff!important;font:400 clamp(30px,3vw,44px)/1.35 Prata,serif!important;
 margin:0 0 24px!important;text-transform:none!important;letter-spacing:0!important; }
body .catalog-home h2::before { display:none!important; }
body .catalog-home p { color:#b8b9bd;font:400 15px/1.8 Montserrat,sans-serif; }
body .catalog-home .catalog-kicker { color:#dcb570;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px; }
body .catalog-home .catalog-availability { margin-top:18px;color:#e4bc79;font-weight:600; }
body .catalog-home .catalog-primary,body .catalog-home .catalog-secondary { display:inline-block;margin-top:24px;
 min-height:48px;padding:14px 18px;font:600 13px/1.6 Montserrat,sans-serif;text-decoration:none;border:1px solid #cba35c; }
body .catalog-home .catalog-primary { background:#cba35c;color:#141414; }
body .catalog-home .catalog-secondary { color:#e4bc79; }
body .catalog-home .catalog-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
body .catalog-home .catalog-card { display:flex;flex-direction:column;gap:12px;min-height:250px;padding:24px 20px;
 border:1px solid #cba35c55;background:linear-gradient(145deg,#202124,#141619);color:#ece8df;text-decoration:none; }
body .catalog-home .catalog-card:hover { border-color:#e4bc79;background:#252324; }
body .catalog-home .catalog-card h3 { color:#fff;font:600 16px/1.6 Montserrat,sans-serif;margin:0; }
body .catalog-home .catalog-card p { margin:0;font-size:14px; }
body .catalog-home .catalog-card small { color:#a3a7ab;font:400 12px/1.5 Montserrat,sans-serif; }
body .catalog-home .catalog-card strong { margin-top:auto;color:#e4bc79;font:400 21px/1.4 Prata,serif; }
body .catalog-home .catalog-card-action { color:#e4bc79;font:600 12px/1.5 Montserrat,sans-serif; }
body .catalog-home .apartment-cards { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
body .catalog-home .apartment-cards .catalog-card { min-height:280px; }
@media(max-width:1200px) {
 body .catalog-home .catalog-inner { grid-template-columns:1fr;gap:32px;padding:130px 50px 60px 100px; }
 body .catalog-home .catalog-card { min-height:220px; }
}
@media(max-width:1024px) {
 body .catalog-home { height:auto!important;min-height:0!important; }
 body .catalog-home .catalog-inner { min-height:0;padding:70px 24px 50px;gap:28px; }
 body .catalog-home .catalog-cards { grid-template-columns:1fr; }
 body .catalog-home .catalog-card { min-height:0;padding:22px;gap:10px; }
 body .catalog-home .catalog-card strong { margin-top:8px; }
 body .catalog-home .apartment-cards .catalog-card { min-height:0; }
}

/* Self-hosted location diagram: no external map widgets or advertising. */
body .has-location-scheme { background:#171d1b; }
body .location-scheme { position:relative;width:100%;height:100%;margin:0;overflow:hidden; }
body .location-scheme img { display:block;width:100%;height:calc(100% - 32px);object-fit:contain; }
body .location-scheme figcaption { position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:32px;padding:6px 12px;background:#101512;color:#aab5a9;font:11px/1.5 Arial,sans-serif; }
body .location-scheme figcaption a { color:#aab5a9;text-decoration:underline; }
body.has-public-map #map.has-location-scheme { padding:110px 75px 90px 115px; }
@media(max-width:1024px) {
 body.has-public-map #map.has-location-scheme { padding:140px 12px 85px; }
 body .location-scheme figcaption { font-size:10px;padding:5px 8px;gap:6px; }
}

/* Independent route destinations for the residential building and sales office. */
body .public-map-routes { position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1001;display:flex;gap:10px;justify-content:center; }
body .public-map-routes .public-map-route { position:static;transform:none; }
@media(max-width:1024px) {
 body .public-map-routes { width:calc(100% - 24px);gap:8px; }
 body .public-map-routes .public-map-route { padding:12px 10px;font-size:12px;text-align:center; }
}
