/* SUNDUQ v224 — правая колонка: одинаковая ширина карточек на мобильных + защита от CLS. */
.nhRightRail{gap:10px}
.nhSideCard{padding:12px;border-radius:14px}
.nhSideHead{margin-bottom:8px}
.nhSideHead h2{font-size:15px;line-height:1.15}
.nhSideHead a,.nhMapPreview .nhSideHead span{font-size:11px;color:#55a9ff;text-decoration:none}
.nhRailSection{background:linear-gradient(145deg,rgba(9,30,45,.98),rgba(5,22,34,.98))}
.nhCompactAlert{padding:0;overflow:hidden;border-color:#5a2427;background:linear-gradient(135deg,#251213,#160d11)}
.nhCompactAlert.hidden{display:none!important}
.nhImportantList{display:block}

/* v216: блоки взаимоисключающие — при оповещении погода скрыта. */
.nhCompactAlert.nhAlertMode{border-color:#5a2427;background:linear-gradient(135deg,#251213,#160d11)}
.nhCompactAlert.nhWeatherMode{border-color:#244e69;background:linear-gradient(145deg,#0b2a3d,#071d2c)}
.nhWeatherBrief{position:relative;min-height:118px;padding:14px 54px 13px 14px;border-left:3px solid #2497ff;background:radial-gradient(circle at 90% 0,rgba(50,160,255,.17),transparent 44%)}
.nhWeatherTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.nhWeatherTop b{color:#67b7ff;font-size:12px}
.nhWeatherTop span{position:absolute;right:15px;top:14px;font-size:31px;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.24))}
.nhWeatherMain{display:flex;align-items:baseline;gap:9px}
.nhWeatherMain strong{color:#f4f8fb;font-size:31px;line-height:1;font-weight:850;letter-spacing:-1px}
.nhWeatherMain em{color:#b8cad7;font-size:12px;font-style:normal;font-weight:700}
.nhWeatherBrief p{margin:8px 0 0;color:#a9bdca;font-size:11px;line-height:1.4}
.nhWeatherBrief.sun{border-left-color:#ffb429;background:radial-gradient(circle at 90% 0,rgba(255,183,48,.17),transparent 44%)}
.nhWeatherBrief.sun .nhWeatherTop b{color:#ffc65e}
.nhWeatherBrief.rain{border-left-color:#5baaff;background:radial-gradient(circle at 90% 0,rgba(57,137,255,.19),transparent 44%)}
.nhWeatherBrief.snow{border-left-color:#b8e7ff;background:radial-gradient(circle at 90% 0,rgba(183,231,255,.17),transparent 44%)}
.nhWeatherBrief.fog,.nhWeatherBrief.cloud{border-left-color:#7fa9c5}
.nhAlertSingle{position:relative;padding:14px 46px 13px 14px;min-height:118px;border-left:3px solid #ff3c2f;background:radial-gradient(circle at 90% 0,rgba(255,61,45,.11),transparent 42%)}
.nhAlertSingleTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.nhAlertSingleTop b{font-size:12px;color:#ff7a4d}
.nhAlertSingleTop span{position:absolute;right:16px;top:15px;font-size:28px;color:#ff4a32;filter:grayscale(.15)}
.nhAlertSingle h3{margin:0 0 5px;color:#f4f7fa;font-size:15px;line-height:1.28}
.nhAlertSingle p{margin:0 0 8px;color:#b9c2ca;font-size:11px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nhAlertSingle a{display:inline-flex;align-items:center;gap:5px;color:#4aa6ff;font-size:11px;font-weight:700;text-decoration:none}
.nhAlertSingle a i{font-style:normal;font-size:18px;line-height:.8}
.nhCompactList{display:flex;flex-direction:column;gap:2px}
.nhMiniRow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:4px 0;color:#dce6ed;text-decoration:none;border-bottom:1px solid rgba(42,75,96,.26)}
.nhMiniRow:last-child{border-bottom:0}
.nhMiniRow:hover .nhMiniText b,.nhNewsRow:hover span,.nhVideoRow:hover b{color:#73b8ff}
.nhMiniThumb,.nhMiniIcon{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:#163247;color:#8ac2f2;font-size:15px}
.nhMiniThumb img{width:100%;height:100%;object-fit:cover}
.nhRideThumb{background:#243247;color:#d5b5ff}
.nhMiniText{min-width:0}
.nhMiniText b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;transition:color .15s}
.nhMiniText small{display:block;margin-top:3px;color:#728ba0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nhMiniRow strong{max-width:96px;color:#d7e0e8;font-size:11px;text-align:right;line-height:1.15;font-weight:600}
.nhDateRow{grid-template-columns:38px minmax(0,1fr)}
.nhDateTile{width:35px;height:35px;border:1px solid #2f5f85;border-radius:8px;display:grid;place-items:center;padding:2px;color:#cbe6ff;background:#102a40;font-size:9px;line-height:1.05;text-align:center;font-weight:800}
.nhNewsCompact{gap:0}
.nhNewsRow{display:grid;grid-template-columns:9px minmax(0,1fr);gap:7px;align-items:start;padding:4px 0;color:#cbd7df;text-decoration:none;font-size:11px;line-height:1.25}
.nhNewsRow i{width:6px;height:6px;margin-top:4px;border-radius:50%;background:#2388ff;box-shadow:0 0 8px rgba(35,136,255,.45)}
.nhMapPreview{display:block;color:inherit;text-decoration:none;padding-bottom:10px}
.nhMapPreview .nhSideHead{margin-bottom:5px}
.nhMapCanvas{position:relative;height:83px;border-radius:10px;overflow:hidden;background:
 linear-gradient(150deg,transparent 35%,rgba(40,132,222,.28) 36%,transparent 38%),
 linear-gradient(25deg,transparent 47%,rgba(40,132,222,.2) 48%,transparent 50%),
 radial-gradient(circle at 45% 55%,#123e65 0,#09253a 34%,#061b2b 72%)}
.nhMapCanvas:before,.nhMapCanvas:after{content:"";position:absolute;left:-10%;right:-10%;height:1px;background:rgba(41,126,201,.35);transform:rotate(-10deg)}
.nhMapCanvas:before{top:35%}.nhMapCanvas:after{top:65%;transform:rotate(12deg)}
.nhMapCanvas i{position:absolute;width:8px;height:8px;border:2px solid #1b9cff;border-radius:50%;background:#09263a;box-shadow:0 0 9px #0787ff}
.nhMapCanvas .p1{left:48%;top:18%}.nhMapCanvas .p2{left:52%;top:45%}.nhMapCanvas .p3{left:58%;top:65%}.nhMapCanvas .p4{left:29%;top:67%}
.nhMapCanvas b{position:absolute;color:#c1d1dc;font-size:9px;font-weight:500;text-shadow:0 1px 2px #000}
.nhMapCanvas .c1{left:55%;top:10%}.nhMapCanvas .c2{left:58%;top:38%}.nhMapCanvas .c3{left:64%;top:60%}.nhMapCanvas .c4{left:18%;top:61%}
.nhVideoCompact{display:flex;flex-direction:column;gap:7px}
.nhVideoRow{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:center;color:#d8e2e9;text-decoration:none}
.nhVideoThumb{position:relative;height:48px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#315b43,#0d2940)}
.nhVideoThumb img{width:100%;height:100%;object-fit:cover}
.nhVideoThumb i{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px;border-radius:50%;display:grid;place-items:center;background:rgba(4,15,24,.78);color:#fff;font-style:normal;font-size:10px}
.nhVideoRow b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.25;transition:color .15s}
.nhVideoRow small{display:block;margin-top:5px;color:#728ba0;font-size:10px}
.nhRailEmpty{padding:10px 4px;color:#70899c;font-size:11px;text-align:center}
.nhSideLoading{padding:12px;text-align:center;color:#7690a2;font-size:11px}
.nhMiniFooter{text-align:center;color:#647d90;font-size:11px;padding:4px}.nhMiniFooter em{font-style:normal}.nhMiniFooter span{color:#ff315f}
@media(max-width:900px){
 .nhRightRail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .nhCompactAlert,.nhMapPreview,.nhVideosSection{grid-column:1/-1}
 .nhMiniFooter{display:none}
}
@media(max-width:600px){
 .nhRightRail{display:flex}
 .nhSideCard{padding:11px}
 .nhCompactAlert{padding:0}
 .nhAlertSingle{min-height:0}
 .nhMiniRow strong{max-width:84px}
}


/* v217: reserve the final height before API responses arrive. */
#nhImportantList{min-height:118px}
#nhMarketList,#nhJobsList,#nhEventsList,#nhRidesList{min-height:124px}
#nhNewsList{min-height:66px}
#nhVideosList{min-height:103px}
#nhImportantList>.nhSideLoading,#nhImportantList>.nhRailEmpty,
#nhMarketList>.nhSideLoading,#nhMarketList>.nhRailEmpty,
#nhJobsList>.nhSideLoading,#nhJobsList>.nhRailEmpty,
#nhEventsList>.nhSideLoading,#nhEventsList>.nhRailEmpty,
#nhRidesList>.nhSideLoading,#nhRidesList>.nhRailEmpty,
#nhNewsList>.nhSideLoading,#nhNewsList>.nhRailEmpty,
#nhVideosList>.nhSideLoading,#nhVideosList>.nhRailEmpty{
  min-height:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nhAlertSingle,.nhWeatherBrief{min-height:118px}


/* v224: на телефонах все блоки правой колонки обязаны растягиваться на полную ширину. 
   В v217 после tablet-grid сохранялся align-items:start, поэтому отдельные карточки
   с коротким содержимым сжимались до своей внутренней ширины. */
@media (max-width:700px){
  .neighborsHome .nhRightRail{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:none!important;
  }
  .neighborsHome .nhRightRail > .nhSideCard,
  .neighborsHome .nhRightRail > .suAd203,
  .neighborsHome .nhRightRail > section,
  .neighborsHome .nhRightRail > a{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }
  .neighborsHome .nhSideHead{
    width:100%;
    gap:12px;
  }
  .neighborsHome .nhSideHead h2{
    min-width:0;
  }
  .neighborsHome .nhSideHead a,
  .neighborsHome .nhMapPreview .nhSideHead span{
    flex:0 0 auto;
    white-space:nowrap;
  }
}
