/* sortavala.city — home.css v6 */

.sorta_home_section{padding:56px 0}
.sorta_home_section_tight{padding:0 0 56px}
.sorta_home_section_head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.sorta_home_section_eyebrow{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--c-accent);margin-bottom:6px}
.sorta_home_section_title{font-size:clamp(20px,2.8vw,30px);font-weight:800;letter-spacing:-0.03em;color:var(--c-text);line-height:1.1}
.sorta_home_view_all{font-size:11px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap;flex-shrink:0;align-self:flex-end;transition:color var(--trans);display:flex;align-items:center;gap:4px}
.sorta_home_view_all:hover{color:var(--c-accent)}

/* ============================================
   HERO — центрированный текст слева
   ============================================ */
.sorta_hero_wrapper{position:relative;background:linear-gradient(135deg,#f4f5f3 0%,#e2e6e3 100%);padding:calc(var(--head-h) + 56px) 28px 72px}
.sorta_hero_inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.12fr 0.88fr;gap:56px;align-items:center}
.sorta_hero_left{position:relative;z-index:2}
.sorta_hero_left_inner{max-width:540px;width:100%}
.sorta_hero_eyebrow{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-accent);background:var(--c-accent-bg);padding:6px 14px;border-radius:30px;margin-bottom:22px}
.sorta_hero_title{font-size:clamp(44px,5vw,72px);font-weight:900;letter-spacing:-0.04em;line-height:1.0;color:var(--c-text);margin-bottom:20px}
.sorta_hero_title em{font-style:italic;color:var(--c-accent)}
.sorta_hero_sub{font-size:15px;color:var(--c-muted);line-height:1.7;margin-bottom:28px}
.sorta_hero_cta{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--c-accent);color:#fff;border-radius:40px;font-size:14px;font-weight:700;transition:background var(--trans),transform var(--trans)}
.sorta_hero_cta:hover{background:var(--c-accent-h);transform:translateY(-1px)}
/* Hero — поиск + популярные теги (макет Stitch) */
.sorta_hero_search{display:flex;align-items:center;gap:8px;background:var(--c-white);border:1px solid rgba(0,0,0,0.07);border-radius:14px;padding:5px 5px 5px 16px;box-shadow:0 4px 20px rgba(0,0,0,0.05);max-width:440px;transition:box-shadow var(--trans),border-color var(--trans)}
.sorta_hero_search:focus-within{border-color:var(--c-accent);box-shadow:0 6px 24px rgba(var(--c-accent-rgb),0.13)}
.sorta_hero_search_icon{color:var(--c-dim);flex-shrink:0}
.sorta_hero_search_input{flex:1;min-width:0;border:none;outline:none;background:none;font-family:var(--f-main);font-size:14px;font-weight:500;color:var(--c-text);padding:11px 0}
.sorta_hero_search_input::placeholder{color:var(--c-dim);font-weight:400}
.sorta_hero_search_btn{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:var(--c-accent);color:#fff;display:flex;align-items:center;justify-content:center;transition:background var(--trans)}
.sorta_hero_search_btn:hover{background:var(--c-accent-h)}
.sorta_hero_tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--c-muted)}
.sorta_hero_tags_label{color:var(--c-dim)}
.sorta_hero_tags a{font-weight:600;color:var(--c-text2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-dim);transition:color var(--trans),text-decoration-color var(--trans)}
.sorta_hero_tags a:hover{color:var(--c-accent);text-decoration-color:var(--c-accent)}
.sorta_hero_stats{display:flex;gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(0,0,0,0.07)}
.sorta_hero_stat_val{font-size:26px;font-weight:900;letter-spacing:-0.04em;color:var(--c-text);line-height:1}
.sorta_hero_stat_label{font-size:9px;color:var(--c-dim);margin-top:4px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em}
.sorta_hero_right{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:28px;box-shadow:0 30px 60px rgba(0,0,0,0.22)}
.sorta_hero_right_img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sorta_hero_right_overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--c-accent-rgb),0.55) 0%,rgba(var(--c-accent-rgb),0.1) 45%,transparent 72%)}
/* Glass-панель поверх hero-картинки (макет Stitch) — динамический блок новости */
.sorta_hero_right_content{position:absolute;left:26px;right:26px;bottom:26px;padding:24px 26px;background:rgba(255,255,255,0.72);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,0.55);border-radius:22px;box-shadow:0 12px 40px rgba(0,0,0,0.22)}
.sorta_hero_featured_cat{display:inline-block;font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--c-accent);color:#fff;padding:4px 10px;border-radius:6px;margin-bottom:12px}
.sorta_hero_featured_title{font-size:19px;font-weight:800;letter-spacing:-0.02em;color:var(--c-text);line-height:1.28;margin-bottom:12px}
.sorta_hero_featured_meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--c-muted)}
.sorta_hero_featured_avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;flex-shrink:0}
.sorta_hero_featured_avatar img{width:100%;height:100%;object-fit:cover}

/* ============================================
   NAV BAR — разделы под hero (BIGGER)
   ============================================ */
.sorta_ql_wrapper{background:var(--c-white);box-shadow:0 4px 24px rgba(0,0,0,0.06);position:relative;z-index:10}
.sorta_ql_inner{max-width:var(--max-w);margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.sorta_ql_inner::-webkit-scrollbar{display:none}
.sorta_ql_label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-dim);white-space:nowrap;padding:20px 16px 20px 0;margin-right:6px;flex-shrink:0;position:relative}
.sorta_ql_label::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:rgba(0,0,0,0.08)}
.sorta_ql_item{display:flex;align-items:center;gap:7px;padding:10px 18px;border-radius:30px;font-size:13px;font-weight:600;color:var(--c-muted);white-space:nowrap;flex-shrink:0;transition:all var(--trans)}
.sorta_ql_item:hover{background:var(--c-accent-bg);color:var(--c-accent)}
.sorta_ql_item_icon{font-size:16px;line-height:1}

/* ============================================
   CATEGORIES — большие плитки с кол-вом
   ============================================ */
.sorta_cats_section{padding:56px 0}
.sorta_cats_grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.sorta_cats_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 16px rgba(0,0,0,0.06);padding:28px 22px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:box-shadow var(--trans),transform var(--trans)}
.sorta_cats_card:hover{box-shadow:0 10px 32px rgba(0,0,0,0.1);transform:translateY(-3px)}
.sorta_cats_icon_wrap{width:56px;height:56px;border-radius:16px;background:var(--c-accent2-bg);color:var(--c-accent2);display:flex;align-items:center;justify-content:center;font-size:26px;transition:background var(--trans),color var(--trans),transform var(--trans)}
.sorta_cats_card:hover .sorta_cats_icon_wrap{background:var(--c-accent2);color:#fff;transform:scale(1.06)}
.sorta_cats_name{font-size:15px;font-weight:700;color:var(--c-text);letter-spacing:-0.01em;overflow-wrap:break-word;word-break:break-word;hyphens:auto}
.sorta_cats_count{font-size:13px;color:var(--c-dim);font-weight:500}
.sorta_cats_count span{font-weight:700;color:var(--c-accent)}

/* ============================================
   NEWS — с просмотрами и комментариями
   ============================================ */
.sorta_news_layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:20px;align-items:start}
.sorta_news_featured{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 16px rgba(0,0,0,0.06);overflow:hidden;cursor:pointer;transition:box-shadow var(--trans),transform var(--trans);display:grid;grid-template-columns:300px minmax(0,1fr);align-items:stretch}
.sorta_news_featured:hover{box-shadow:0 8px 32px rgba(0,0,0,0.1);transform:translateY(-2px)}
.sorta_news_featured_img{width:100%;height:100%;min-height:240px;object-fit:cover;background:var(--c-surface2);display:block}
.sorta_news_featured_body{padding:24px 26px;display:flex;flex-direction:column;justify-content:center}
.sorta_news_featured_meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.sorta_news_featured_title{font-size:22px;font-weight:800;letter-spacing:-0.03em;color:var(--c-text);line-height:1.22;margin-bottom:10px;transition:color var(--trans)}
.sorta_news_featured:hover .sorta_news_featured_title{color:var(--c-accent)}
.sorta_news_featured_excerpt{font-size:13px;color:var(--c-muted);line-height:1.65}
.sorta_news_featured_footer{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,0.06);flex-wrap:wrap}
.sorta_news_author_avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;background:var(--c-surface2);flex-shrink:0}
.sorta_news_author_avatar img{width:100%;height:100%;object-fit:cover}
.sorta_news_author_name{font-size:12px;font-weight:600;color:var(--c-text2)}
.sorta_news_meta_dot{color:var(--c-dim)}
.sorta_news_meta_date{font-size:12px;color:var(--c-muted)}
.sorta_news_meta_read{font-size:12px;color:var(--c-dim)}
/* Stats row */
.sorta_news_stats{display:flex;align-items:center;gap:12px;margin-left:auto}
.sorta_news_stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--c-dim);font-weight:500}
.sorta_news_stat svg{opacity:0.5}

.sorta_news_small_list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sorta_news_small_card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:12px;background:var(--c-white);border-radius:var(--r-lg);box-shadow:0 1px 8px rgba(0,0,0,0.05);cursor:pointer;transition:box-shadow var(--trans),transform var(--trans)}
.sorta_news_small_card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.09);transform:translateY(-1px)}
.sorta_news_small_img{width:80px;height:60px;border-radius:var(--r);object-fit:cover;background:var(--c-surface2)}
.sorta_news_small_cat{font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-accent);margin-bottom:4px}
.sorta_news_small_title{font-size:13px;font-weight:700;letter-spacing:-0.01em;color:var(--c-text);line-height:1.3;margin-bottom:4px;transition:color var(--trans)}
.sorta_news_small_card:hover .sorta_news_small_title{color:var(--c-accent)}
.sorta_news_small_footer{display:flex;align-items:center;justify-content:space-between}
.sorta_news_small_meta{font-size:11px;color:var(--c-dim)}
.sorta_news_small_stats{display:flex;gap:8px}
.sorta_news_small_stat{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--c-dim)}

/* Events sidebar */
.sorta_events_col{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 16px rgba(0,0,0,0.06);overflow:hidden}
.sorta_events_head{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.05)}
.sorta_events_title{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-text)}
.sorta_events_item{display:flex;gap:12px;padding:13px 20px;border-bottom:1px solid rgba(0,0,0,0.04);cursor:pointer;transition:background var(--trans)}
.sorta_events_item:last-child{border-bottom:none}
.sorta_events_item:hover{background:var(--c-surface2)}
.sorta_events_date{flex-shrink:0;width:34px;text-align:center}
.sorta_events_day{font-size:19px;font-weight:900;letter-spacing:-0.04em;color:var(--c-accent);line-height:1}
.sorta_events_mon{font-size:9px;font-weight:700;color:var(--c-dim);letter-spacing:0.08em;text-transform:uppercase}
.sorta_events_name{font-size:12px;font-weight:600;color:var(--c-text);margin-bottom:2px;line-height:1.3}
.sorta_events_where{font-size:11px;color:var(--c-muted)}

/* ============================================
   AFISHA
   ============================================ */
.sorta_afisha_wrapper{background:#0D1F19;padding:56px 0}
.sorta_afisha_wrapper .sorta_home_section_eyebrow{color:#86CFAE}
.sorta_afisha_wrapper .sorta_home_section_title{color:var(--c-white)}
.sorta_afisha_wrapper .sorta_home_view_all{color:rgba(255,255,255,0.35)}
.sorta_afisha_wrapper .sorta_home_view_all:hover{color:#fff}
.sorta_afisha_grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sorta_afisha_item{background:rgba(255,255,255,0.06);border-radius:var(--r-xl);padding:22px;cursor:pointer;transition:background var(--trans),transform var(--trans);display:flex;flex-direction:column;gap:14px}
.sorta_afisha_item:hover{background:rgba(255,255,255,0.11);transform:translateY(-2px)}
.sorta_afisha_date_row{display:flex;align-items:center;gap:12px}
.sorta_afisha_date_badge{flex-shrink:0;width:46px;text-align:center;background:var(--c-accent);border-radius:var(--r);padding:7px 0}
.sorta_afisha_date_day{font-size:20px;font-weight:900;letter-spacing:-0.04em;color:#fff;line-height:1}
.sorta_afisha_date_mon{font-size:9px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.65)}
.sorta_afisha_time{font-size:12px;color:rgba(255,255,255,0.4);font-weight:500}
.sorta_afisha_title{font-size:14px;font-weight:700;letter-spacing:-0.01em;color:#fff;line-height:1.3;flex:1}
.sorta_afisha_where{font-size:11px;color:rgba(255,255,255,0.35);display:flex;align-items:center;gap:5px}

/* ============================================
   SIGHTS
   ============================================ */
.sorta_sights_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sorta_sights_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 16px rgba(0,0,0,0.06);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:box-shadow var(--trans),transform var(--trans)}
.sorta_sights_card:hover{box-shadow:0 12px 36px rgba(0,0,0,0.11);transform:translateY(-4px)}
.sorta_sights_card_img{width:100%;height:200px;object-fit:cover;background:var(--c-surface2);display:block}
.sorta_sights_card_body{padding:20px;flex:1;display:flex;flex-direction:column;gap:8px}
.sorta_sights_card_tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-accent);background:var(--c-accent-bg);padding:4px 10px;border-radius:4px;align-self:flex-start}
.sorta_sights_card_title{font-size:18px;font-weight:800;letter-spacing:-0.03em;color:var(--c-text);line-height:1.15}
.sorta_sights_card_excerpt{font-size:13px;color:var(--c-muted);line-height:1.6;flex:1}
.sorta_sights_card_footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,0.05)}
.sorta_sights_card_location{font-size:11px;color:var(--c-dim);display:flex;align-items:center;gap:4px;font-weight:500}
.sorta_sights_card_link{font-size:11px;font-weight:700;color:var(--c-accent);letter-spacing:0.04em;text-transform:uppercase}

/* Достопримечательности — журнальная раскладка (макет Stitch): 1 большая слева + 2 малые справа, текст поверх фото */
.sorta_disc_grid{display:grid;grid-template-columns:1.4fr 1fr;grid-auto-rows:236px;gap:16px}
.sorta_disc_card{position:relative;overflow:hidden;border-radius:24px;display:block;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,0.1)}
.sorta_disc_card_lg{grid-row:1 / span 2}
.sorta_disc_img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.sorta_disc_card:hover .sorta_disc_img{transform:scale(1.07)}
.sorta_disc_img_ph{display:flex;align-items:center;justify-content:center;font-size:64px;background:var(--c-surface2)}
.sorta_disc_overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--c-accent-rgb),0.9) 0%,rgba(var(--c-accent-rgb),0.22) 52%,transparent 100%)}
.sorta_disc_content{position:absolute;left:0;right:0;bottom:0;padding:24px;z-index:1}
.sorta_disc_tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:rgba(255,255,255,0.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;padding:5px 11px;border-radius:30px;margin-bottom:12px}
.sorta_disc_title{font-size:18px;font-weight:800;letter-spacing:-0.02em;color:#fff;line-height:1.2;margin-bottom:8px;text-shadow:0 1px 10px rgba(0,0,0,0.35)}
.sorta_disc_card_lg .sorta_disc_title{font-size:27px}
.sorta_disc_sub{font-size:14px;color:rgba(255,255,255,0.88);line-height:1.55;margin-bottom:12px;max-width:440px}
.sorta_disc_link{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:#fff}
.sorta_disc_card:hover .sorta_disc_link{text-decoration:underline;text-underline-offset:3px}

/* ============================================
   MAP
   ============================================ */
.sorta_map_section{position:relative;overflow:hidden;background:var(--c-accent);padding:76px 28px;margin:8px 0 56px}
.sorta_map_section::after{content:'';position:absolute;top:-80px;right:-40px;width:280px;height:280px;background:rgba(2,132,199,0.22);filter:blur(90px);border-radius:50%;pointer-events:none}
.sorta_map_inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sorta_map_eyebrow{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:14px}
.sorta_map_title{font-size:clamp(28px,3.4vw,40px);font-weight:900;letter-spacing:-0.04em;color:#fff;line-height:1.08;margin-bottom:14px}
.sorta_map_sub{font-size:15px;color:rgba(255,255,255,0.72);line-height:1.65;max-width:440px;margin-bottom:26px}
.sorta_map_btns{display:flex;flex-wrap:wrap;gap:14px}
.sorta_map_btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:40px;font-size:14px;font-weight:700;transition:background var(--trans),transform var(--trans),border-color var(--trans)}
.sorta_map_btn:hover{transform:translateY(-1px)}
.sorta_map_btn_primary{background:#fff;color:var(--c-accent)}
.sorta_map_btn_primary:hover{background:var(--c-accent-bg)}
.sorta_map_btn_ghost{border:2px solid rgba(255,255,255,0.32);color:#fff}
.sorta_map_btn_ghost:hover{background:rgba(255,255,255,0.12)}
.sorta_map_card{position:relative;display:flex;justify-content:center}
.sorta_map_card_inner{position:relative;width:100%;aspect-ratio:16/10;border-radius:28px;overflow:hidden;background:#EAF0EC;border:8px solid rgba(255,255,255,0.12);box-shadow:0 28px 64px rgba(0,0,0,0.32);transform:rotate(2.5deg);display:flex;align-items:center;justify-content:center}
.sorta_map_svg{position:absolute;inset:0;width:100%;height:100%}
.sorta_map_pin{position:relative;z-index:1;width:58px;height:58px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--c-accent);box-shadow:0 12px 32px rgba(0,0,0,0.28);animation:sorta_map_bob 2.2s ease-in-out infinite}
@keyframes sorta_map_bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ============================================
   PLACES
   ============================================ */
.sorta_places_tabs{display:flex;align-items:center;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.sorta_places_tab{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:30px;background:var(--c-white);box-shadow:0 1px 6px rgba(0,0,0,.07);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);font-family:var(--f-main);cursor:pointer;transition:all var(--trans);text-decoration:none;white-space:nowrap;border:none}
.sorta_places_tab:hover{color:var(--c-accent);box-shadow:0 2px 12px rgba(6,78,59,.15)}
.sorta_places_tab_active{background:var(--c-accent);color:#fff!important;box-shadow:0 4px 16px rgba(6,78,59,0.3)}
.sorta_places_tab_icon{font-size:15px;line-height:1}
.sorta_places_grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sorta_places_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 12px rgba(0,0,0,0.06);overflow:hidden;cursor:pointer;transition:box-shadow var(--trans),transform var(--trans),opacity 0.16s ease}
.sorta_places_card:hover{box-shadow:0 8px 28px rgba(0,0,0,0.1);transform:translateY(-3px)}
.sorta_places_card_img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--c-surface2);display:block}
.sorta_places_card_body{padding:16px 18px}
.sorta_places_card_cat{display:block;font-size:11.5px;font-weight:500;color:var(--c-muted);margin-bottom:4px}
.sorta_places_card_title{font-size:16px;font-weight:700;letter-spacing:-0.01em;color:var(--c-text);margin-bottom:3px;transition:color var(--trans)}
.sorta_places_card:hover .sorta_places_card_title{color:var(--c-accent)}
.sorta_places_card_info{font-size:12px;color:var(--c-muted)}
.sorta_places_card_rating{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--c-text2);margin-top:8px}
.sorta_places_card_star{color:#F59E0B;font-size:13px}
.sorta_places_card_rating_empty{font-weight:500;color:var(--c-dim)}
.sorta_places_card_rating_empty .sorta_places_card_star{color:#d1d5db}

/* ============================================
   NUMBERS
   ============================================ */
.sorta_numbers_section{padding:56px 0}
.sorta_numbers_block{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 20px rgba(0,0,0,0.06);overflow:hidden}
.sorta_numbers_inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sorta_numbers_item{padding:40px 28px;border-right:1px solid rgba(0,0,0,0.05);text-align:center}
.sorta_numbers_item:last-child{border-right:none}
.sorta_numbers_val{font-size:40px;font-weight:900;letter-spacing:-0.05em;color:var(--c-text);margin-bottom:8px;line-height:1}
.sorta_numbers_label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--c-dim)}
.sorta_numbers_accent{color:var(--c-accent)}

/* ============================================
   JOBS
   ============================================ */
.sorta_jobs_layout{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:20px;align-items:start}
.sorta_jobs_list{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 16px rgba(0,0,0,0.06);overflow:hidden}
.sorta_jobs_item{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,0.05);cursor:pointer;transition:background var(--trans)}
.sorta_jobs_item:last-child{border-bottom:none}
.sorta_jobs_item:hover{background:var(--c-surface2)}
.sorta_jobs_company_logo{width:40px;height:40px;border-radius:10px;background:var(--c-surface2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.sorta_jobs_company_logo_text{font-size:13px;font-weight:800;letter-spacing:-0.02em}
.sorta_jobs_item_left{flex:1;min-width:0}
.sorta_jobs_item_title{font-size:14px;font-weight:700;letter-spacing:-0.01em;color:var(--c-text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sorta_jobs_item_meta{font-size:11px;color:var(--c-muted);display:flex;gap:6px;flex-wrap:wrap;font-weight:500;align-items:center}
.sorta_jobs_item_meta_sep{color:rgba(0,0,0,0.15)}
.sorta_jobs_item_right{flex-shrink:0;text-align:right}
.sorta_jobs_item_salary{font-size:13px;font-weight:700;letter-spacing:-0.02em;color:var(--c-text)}
.sorta_jobs_item_date{font-size:10px;color:var(--c-dim);margin-top:3px}
.sorta_jobs_cta{background:var(--c-accent);border-radius:var(--r-xl);box-shadow:0 12px 32px rgba(var(--c-accent-rgb),0.26);padding:28px 24px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.sorta_jobs_cta_title{font-size:19px;font-weight:800;letter-spacing:-0.03em;color:#fff;line-height:1.2}
.sorta_jobs_cta_sub{font-size:13px;color:rgba(255,255,255,0.82);line-height:1.5}
.sorta_jobs_cta_btn{display:flex;align-items:center;justify-content:center;padding:11px 18px;background:var(--c-accent);color:#fff;border-radius:30px;font-size:13px;font-weight:700;font-family:var(--f-main);transition:background var(--trans)}
.sorta_jobs_cta_btn:hover{background:var(--c-accent-h)}
.sorta_jobs_cta .sorta_jobs_cta_btn{background:var(--c-accent2)}
.sorta_jobs_cta .sorta_jobs_cta_btn:hover{background:#0270ab}
.sorta_jobs_stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sorta_jobs_stat{background:rgba(255,255,255,0.12);border-radius:var(--r);padding:12px;text-align:center}
.sorta_jobs_stat_num{font-size:22px;font-weight:800;letter-spacing:-0.04em;color:#fff}
.sorta_jobs_stat_label{font-size:9px;color:rgba(255,255,255,0.6);margin-top:2px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em}

/* ============================================
   ADS — 2 строки, с автором и просмотрами
   ============================================ */
.sorta_ads_cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.sorta_ads_cat_btn{display:inline-flex;align-items:center;padding:8px 18px;border-radius:30px;background:var(--c-white);box-shadow:0 1px 6px rgba(0,0,0,.07);font-size:11px;font-weight:700;color:var(--c-muted);font-family:var(--f-main);letter-spacing:.06em;text-transform:uppercase;transition:all var(--trans);cursor:pointer;text-decoration:none;white-space:nowrap;border:none}
.sorta_ads_cat_btn:hover,.sorta_ads_cat_btn.sorta_ads_active{background:var(--c-accent);color:#fff;box-shadow:0 4px 16px rgba(6,78,59,.3)}

/* 4 колонки, 2 строки = 8 карточек */
.sorta_ads_grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sorta_ads_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 12px rgba(0,0,0,0.06);overflow:hidden;cursor:pointer;transition:box-shadow var(--trans),transform var(--trans);display:flex;flex-direction:column}
.sorta_ads_card:hover{box-shadow:0 8px 28px rgba(0,0,0,0.1);transform:translateY(-3px)}
.sorta_ads_card_img{width:100%;height:130px;object-fit:cover;background:var(--c-surface2);display:block}
.sorta_ads_card_body{padding:14px;flex:1;display:flex;flex-direction:column;gap:6px}
.sorta_ads_card_cat{font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-muted)}
.sorta_ads_card_title{font-size:13px;font-weight:700;letter-spacing:-0.01em;color:var(--c-text);line-height:1.3;flex:1}
.sorta_ads_card_price{font-size:15px;font-weight:800;letter-spacing:-0.02em;color:var(--c-accent)}
/* Author + views row */
.sorta_ads_card_meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,0.05)}
.sorta_ads_card_author{display:flex;align-items:center;gap:6px}
.sorta_ads_card_avatar{width:20px;height:20px;border-radius:50%;overflow:hidden;background:var(--c-surface2);flex-shrink:0}
.sorta_ads_card_avatar img{width:100%;height:100%;object-fit:cover}
.sorta_ads_card_author_name{font-size:11px;font-weight:600;color:var(--c-muted)}
.sorta_ads_card_views{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--c-dim)}
.sorta_ads_card_date{font-size:10px;color:var(--c-dim)}

.sorta_ads_post_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 12px rgba(0,0,0,0.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;cursor:pointer;transition:all var(--trans);text-align:center;min-height:220px}
.sorta_ads_post_card:hover{box-shadow:0 8px 28px rgba(6,78,59,0.15);background:var(--c-accent-bg);transform:translateY(-2px)}
.sorta_ads_post_icon{width:44px;height:44px;border-radius:50%;background:var(--c-accent-bg);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--c-accent);line-height:1;font-weight:300}
.sorta_ads_post_label{font-size:14px;font-weight:700;color:var(--c-text)}
.sorta_ads_post_sub{font-size:12px;color:var(--c-muted)}

/* ============================================
   MEMBERS — новый блок участников
   ============================================ */
.sorta_members_section{padding:56px 0}
.sorta_members_grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.sorta_members_card{background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 12px rgba(0,0,0,0.06);padding:22px 18px;text-align:center;cursor:pointer;transition:box-shadow var(--trans),transform var(--trans);display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:inherit}
.sorta_members_card:hover{box-shadow:0 8px 28px rgba(0,0,0,0.1);transform:translateY(-3px)}
.sorta_members_avatar_wrap{position:relative;display:inline-block}
.sorta_members_avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--c-surface2)}
.sorta_members_avatar img{width:100%;height:100%;object-fit:cover}
.sorta_members_new_badge{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2px solid var(--c-white)}
.sorta_members_new_badge_on{background:#22C55E}
.sorta_members_new_badge_off{background:#EF4444}
.sorta_members_name{font-size:13px;font-weight:700;color:var(--c-text);letter-spacing:-0.01em}
.sorta_members_status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.sorta_members_status_local{background:var(--c-accent-bg);color:var(--c-accent)}
.sorta_members_status_tourist{background:#FFF7ED;color:#EA580C}
.sorta_members_joined{font-size:11px;color:var(--c-dim);font-weight:500}
.sorta_members_stat{font-size:12px;color:var(--c-muted);font-weight:500}

/* Страница всех участников */
.sorta_members_grid_page{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:24px}
.sorta_members_search_form{position:relative;max-width:420px;display:flex;align-items:center;gap:0;margin-bottom:4px}
.sorta_members_search_input{width:100%;height:44px;border:1.5px solid rgba(0,0,0,0.12);border-radius:var(--r-lg);padding:0 44px 0 16px;font-size:14px;font-family:var(--f-main);color:var(--c-text);background:var(--c-white);outline:none;transition:border-color var(--trans)}
.sorta_members_search_input:focus{border-color:var(--c-accent)}
.sorta_members_search_input::placeholder{color:var(--c-dim)}
.sorta_members_search_clear{position:absolute;right:14px;font-size:14px;color:var(--c-muted);text-decoration:none;line-height:1;transition:color var(--trans)}
.sorta_members_search_clear:hover{color:var(--c-text)}
.sorta_members_suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--c-white);border-radius:var(--r-lg);box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:300;overflow:hidden;max-height:360px;overflow-y:auto}

/* ============================================
   Responsive
   ============================================ */
@media(max-width:1100px){
  .sorta_places_grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sorta_ads_grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sorta_jobs_layout{grid-template-columns:minmax(0,1fr)}
  .sorta_jobs_cta{display:none}
  .sorta_sights_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_afisha_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_cats_grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sorta_members_grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sorta_members_grid_page{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .sorta_hero_inner{grid-template-columns:1fr;gap:34px}
  .sorta_hero_right{aspect-ratio:16/11}
  .sorta_news_layout{grid-template-columns:minmax(0,1fr)}
  .sorta_map_inner{grid-template-columns:1fr;gap:38px}
  .sorta_map_card_inner{transform:rotate(1.5deg)}
  .sorta_numbers_inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_numbers_item:nth-child(2){border-right:none}
  .sorta_places_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_cats_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_members_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_members_grid_page{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sorta_members_search_form{max-width:100%}
}
@media(max-width:640px){
  .sorta_home_section{padding:40px 0}
  .sorta_news_featured{grid-template-columns:1fr}
  .sorta_news_featured_img{min-height:200px;height:200px}
  .sorta_news_small_list{grid-template-columns:1fr}
  .sorta_sights_grid{grid-template-columns:minmax(0,1fr)}
  .sorta_disc_grid{grid-template-columns:1fr;grid-auto-rows:210px}
  .sorta_disc_card_lg{grid-row:auto}
  .sorta_disc_card_lg .sorta_disc_title{font-size:22px}
  .sorta_ads_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_places_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sorta_afisha_grid{grid-template-columns:minmax(0,1fr)}
  .sorta_cats_card{padding:20px 16px;gap:12px}
  .sorta_hero_stats{gap:20px}
  .sorta_members_grid_page{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- Блок "Новые резюме" на главной ---- */
.sorta_home_resumes_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:8px}
.sorta_home_resume_card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--c-white);border-radius:var(--r-xl);box-shadow:0 2px 10px rgba(0,0,0,.06);text-decoration:none;color:inherit;transition:box-shadow var(--trans),transform var(--trans)}
.sorta_home_resume_card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.sorta_home_resume_avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--c-accent-bg);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px}
.sorta_home_resume_avatar img{width:100%;height:100%;object-fit:cover}
.sorta_home_resume_body{flex:1;min-width:0}
.sorta_home_resume_title{font-size:14px;font-weight:700;color:var(--c-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sorta_home_resume_meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--c-muted);margin-bottom:4px}
.sorta_home_resume_badge{padding:2px 8px;border-radius:20px;background:var(--c-surface2);font-size:10px;font-weight:700;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em}
.sorta_home_resume_salary{font-size:13px;font-weight:800;color:var(--c-accent)}
@media(max-width:700px){.sorta_home_resumes_grid{grid-template-columns:minmax(0,1fr)}}
