/* ===== sx-redesign: стили страниц городов (из preview_sochi_integrated.html) ===== */
#sx-root{font-family:Montserrat,-apple-system,Segoe UI,Roboto,sans-serif;color:#222b3a}
#sx-root .sx-band{padding:64px 32px}
#sx-root .sx-band-gray{background:#f6f7f9}
#sx-root .sx-band-white{background:#fff}
#sx-root .sx-band-first{padding-top:64px}
@media(max-width:767px){#sx-root .sx-band{padding:40px 16px}}
#sx-root .sx-cards.sx-cards3{grid-template-columns:repeat(3,1fr)}
#sx-root .sx-cards.sx-cards3 .sx-img{height:220px}
@media(max-width:900px){#sx-root .sx-cards.sx-cards3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){#sx-root .sx-cards.sx-cards3{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;margin:0;padding:0 0 4px}#sx-root .sx-cards.sx-cards3::-webkit-scrollbar{display:none}#sx-root .sx-cards.sx-cards3>.sx-card{flex:0 0 85%;scroll-snap-align:start}}
#sx-root *{box-sizing:border-box}
#sx-root .sx-wrap{max-width:1200px;margin:0 auto;padding:0}
#sx-root .lucide{width:13px;height:13px;display:inline-block;vertical-align:-2px;stroke-width:1.6}
#sx-root h2.sx-h2{font-size:24px;margin:0 0 4px;font-weight:700;display:flex;align-items:center;gap:8px}
#sx-root .sx-h2 .lucide{width:18px;height:18px;color:#f51449}
#sx-root .sx-lead{color:#6b7280;margin:0 0 18px}
#sx-root .sx-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:6px}
#sx-root .sx-stat{flex:1;min-width:160px;background:#fff;border:1px solid #e7e9ee;border-radius:14px;padding:16px 18px}
#sx-root .sx-stat .lucide{width:18px;height:18px;color:#f51449}
#sx-root .sx-stat b{display:block;font-size:24px;margin-top:4px}
#sx-root .sx-stat span{font-size:13px;color:#6b7280}
#sx-root .sx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
@media(max-width:860px){#sx-root .sx-grid2{grid-template-columns:1fr}}
#sx-root .sx-panel{background:#fff;border:1px solid #e7e9ee;border-radius:16px;padding:22px}
#sx-root .sx-panel h3{margin:0 0 16px;font-size:17px}
#sx-root .sx-bar{display:flex;align-items:center;gap:12px;margin:9px 0}
#sx-root .sx-bl{width:130px;font-size:13.5px}
#sx-root .sx-bt{flex:1;background:#eef0f4;border-radius:8px;height:13px;overflow:hidden}
#sx-root .sx-bf{display:block;height:100%;background:linear-gradient(90deg,#f51449,#ff5b86)}
#sx-root .sx-bv{width:40px;text-align:right;font-size:13px;color:#6b7280}
#sx-root .sx-bv2{width:84px;text-align:right;font-size:13px;font-weight:600}
#sx-root .sx-catblock{margin-bottom:56px}
#sx-root .sx-cathead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
#sx-root .sx-cathead h3{font-size:18px;font-weight:700;line-height:1.2;margin:0;color:#1a1a1a;background:transparent;padding:9px 20px;border:2px solid #1a1a1a;border-radius:30px}
#sx-root .sx-cathead a{display:inline-flex;align-items:center;gap:6px;color:#f51449;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;padding:7px 16px;border:1.5px solid #f51449;border-radius:30px;transition:.15s}
#sx-root .sx-cathead a:hover{background:#f51449;color:#fff}
#sx-root .sx-cathead a .lucide{width:15px;height:15px}
#sx-root .sx-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){#sx-root .sx-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){#sx-root .sx-cards{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;margin:0;padding:0 0 4px}#sx-root .sx-cards::-webkit-scrollbar{display:none}#sx-root .sx-cards>.sx-card{flex:0 0 85%;scroll-snap-align:start}}
#sx-root .sx-card{background:#fff;border:1px solid #e7e9ee;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.15s}
#sx-root .sx-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}
#sx-root .sx-img{height:170px;position:relative;overflow:hidden}
#sx-root .sx-slides{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
#sx-root .sx-slides::-webkit-scrollbar{display:none}
#sx-root .sx-slide{flex:0 0 100%;height:100%;background-size:cover;background-position:center;scroll-snap-align:start;background-color:#eceef2}
#sx-root .sx-nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;opacity:0;transition:.15s;display:flex;align-items:center;justify-content:center}
#sx-root .sx-nav .lucide{width:16px;height:16px}
#sx-root .sx-carousel:hover .sx-nav{opacity:1}
#sx-root .sx-prev{left:8px}#sx-root .sx-next{right:8px}
#sx-root .sx-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;gap:5px;justify-content:center;pointer-events:none}
#sx-root .sx-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55)}
#sx-root .sx-dots i.on{background:#fff;width:7px;height:7px}
#sx-root .sx-cat{position:absolute;top:10px;left:10px;z-index:2;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 10px;border-radius:20px}
#sx-root .sx-rate{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.95);color:#b8860b;font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px;display:flex;align-items:center;gap:3px}
#sx-root .sx-rate .lucide{width:11px;height:11px;fill:#f5a623;color:#f5a623}
#sx-root .sx-disc{position:absolute;top:10px;right:10px;z-index:2;background:#f51449;color:#fff;font-size:13px;font-weight:700;padding:3px 9px;border-radius:20px}
#sx-root .sx-body{padding:13px;display:flex;flex-direction:column;gap:5px;flex:1}
#sx-root .sx-meta{font-size:13px;color:#6b7280;min-height:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#sx-root .sx-mi{display:inline-flex;align-items:center;gap:5px}
#sx-root .sx-meta .lucide{width:15px;height:15px;color:#9aa0ab}
#sx-root .sx-name{font-size:14px;font-weight:600;line-height:1.3}
#sx-root .sx-addr{font-size:13px;display:flex;align-items:center;gap:3px;color:#384150}
#sx-root .sx-addr .lucide{width:12px;height:12px;color:#f51449}
#sx-root .sx-chips{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0}
#sx-root .sx-chip{font-size:12px;background:#f1f3f7;color:#4a5160;border-radius:8px;padding:4px 9px;display:flex;align-items:center;gap:5px;white-space:nowrap}
#sx-root .sx-chip .lucide{width:13px;height:13px;color:#4a5160}
#sx-root .sx-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:8px;gap:8px}
#sx-root .sx-price{white-space:nowrap}#sx-root .sx-price b{font-size:17px;white-space:nowrap}#sx-root .sx-price span{color:#6b7280;font-size:12px;margin-left:2px}
#sx-root .sx-old{color:#9aa0ab;text-decoration:line-through;font-size:13px;margin-right:5px}
#sx-root .sx-btn{background:#f51449;color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;white-space:nowrap}
@media(max-width:560px){#sx-root .sx-foot{flex-direction:column;align-items:stretch;gap:10px}#sx-root .sx-btn{text-align:center;padding:10px 14px}#sx-root .sx-cathead h3{font-size:16px;padding:8px 16px}}
#sx-root .sx-dists{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
#sx-root .sx-dist{background:#fff;border:1px solid #e7e9ee;border-radius:14px;padding:14px 16px;text-decoration:none;color:#222b3a;transition:.15s}
#sx-root .sx-dist:hover{border-color:#f51449;transform:translateY(-2px)}
#sx-root .sx-dist .lucide{color:#f51449;width:13px;height:13px}
#sx-root .sx-dist b{display:block;font-size:16px;margin-top:4px}#sx-root .sx-dist span{color:#6b7280;font-size:13px}
#sx-root #sx-map{height:440px;border-radius:16px;overflow:hidden;border:1px solid #e7e9ee;margin-top:4px}
#sx-root .price-pin{background:#fff;border:1.5px solid #f51449;color:#222b3a;font-weight:700;font-size:11px;padding:2px 7px;border-radius:13px;box-shadow:0 2px 6px rgba(0,0,0,.2);white-space:nowrap}
#sx-root .sx-rate-grid{margin-top:8px}
#sx-root .sx-overall{display:inline-flex;flex-direction:column;align-items:center;margin-right:24px;float:left}
#sx-root .sx-overall b{font-size:44px;color:#f51449;line-height:1}
#sx-root .sx-overall span{color:#f5a623;font-size:12px;text-align:center}
#sx-root .sx-overall .lucide{width:12px;height:12px;fill:#f5a623;color:#f5a623}
#sx-root .sx-subbars{overflow:hidden}
#sx-root .sx-rev-head{display:flex;align-items:center;gap:12px;margin:0 0 16px}
#sx-root .sx-rev-head h3{margin:0}
#sx-root .sx-rev-badge{display:inline-flex;align-items:center;gap:5px;background:#f6f7f9;border-radius:20px;padding:5px 13px;font-size:14px;font-weight:700;color:#1a1a1a}
#sx-root .sx-rev-badge .lucide{width:14px;height:14px;fill:#f5a623;color:#f5a623}
#sx-root .sx-rev-badge span{color:#6b7280;font-weight:500;font-size:12px}
#sx-root .sx-revs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
#sx-root .sx-revs::-webkit-scrollbar{display:none}
#sx-root .sx-rev{flex:0 0 calc((100% - 28px)/3);box-sizing:border-box;scroll-snap-align:start;border:1px solid #eef0f4;border-radius:12px;padding:14px}
@media(max-width:768px){#sx-root .sx-rev{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:560px){#sx-root .sx-rev{flex-basis:85%}}
#sx-root .sx-rtop{display:flex;align-items:center;gap:8px;margin-bottom:3px}
#sx-root .sx-stars{color:#f5a623;display:inline-flex}#sx-root .sx-stars .lucide{width:12px;height:12px;fill:#f5a623;color:#f5a623}
#sx-root .sx-rd{color:#9aa0ab;font-size:12px;margin-left:auto}
#sx-root .sx-ro{font-size:12px;color:#6b7280;margin-bottom:6px}#sx-root .sx-rev p{margin:0;font-size:13.5px}
.link-block-city{position:relative}
/* --- главный экран (hero): ниже по высоте, широкая форма, чистые иконки --- */
.main-section.city-page{min-height:520px}
.main-section.city-page .main-container{padding-top:28px;justify-content:flex-start}
.main-section.city-page .text-block-2{max-width:760px;margin-left:auto;margin-right:auto;font-size:17px;line-height:1.5}
.main-section.city-page .form-block{margin-top:18px;min-height:84px!important;height:auto!important;overflow:visible}
.feat-block{margin-top:38px;gap:8px}
.sx-feat-ic{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.sx-feat-ic .lucide{width:28px;height:28px;color:#fff;stroke-width:1.7}
/* категорийные пилюли-якоря */
.sx-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;position:relative;z-index:5}
.sx-pill{display:inline-flex;align-items:center;padding:9px 18px;border-radius:30px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(4px);color:#fff;font-size:14px;font-weight:500;text-decoration:none;transition:.15s}
.sx-pill:hover{background:#fff;color:#243039;border-color:#fff}
.sx-prop-stat{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);color:#fff;font-size:14px;font-weight:500;line-height:1;padding:9px 16px;border-radius:30px;font-family:Montserrat,sans-serif;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.sx-prop-stat .lucide{width:16px;height:16px;opacity:.85}
.sx-prop-stat b{font-weight:700}
.sx-prop-stat .sx-ps-dot{margin:0 3px;opacity:.5;font-weight:400}
@media(max-width:560px){.sx-prop-stat{font-size:13px;padding:8px 13px;gap:6px}}
.sx-prop-stat.sx-noavail{background:rgba(60,60,65,.55);color:#e5e7eb;font-weight:500}
#sx-root .sx-allwrap{text-align:center;margin-top:22px}
#sx-root .sx-btn-all{display:inline-flex;align-items:center;gap:6px;background:#f51449;color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:13px 30px;border-radius:12px}
#sx-root .sx-btn-all:hover{background:#d4123e}

/* ----- SEO collapse ----- */
.sx-seo .text-block{column-count:1}
.sx-seo{position:relative;max-height:220px;overflow:hidden}
.sx-seo-cb:checked ~ .sx-seo{max-height:none}
.sx-seo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(243,248,253,0),#f3f8fd);pointer-events:none}
.sx-seo-cb:checked ~ .sx-seo::after{display:none}
.sx-seo-btn{display:inline-block;margin:14px 0 0;background:none;border:none;color:#9aa0ab;font-size:13px;font-weight:500;padding:2px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sx-seo-btn:hover{color:#4a5160}
.sx-seo-btn .less{display:none}
.sx-seo-cb:checked ~ .sx-seo-btn .more{display:none}
.sx-seo-cb:checked ~ .sx-seo-btn .less{display:inline}
