/* Страховка от бокового скролла: легаси off-canvas меню (.filter-menu)
   и slick-треки выступают за вьюпорт по дизайну */
html, body { overflow-x: hidden; }

/* ===== Блок «Номера и цены онлайн» (Яндекс Путешествия) ===== */
.yab{border:1px solid #d5e3ee;border-radius:10px;padding:18px 20px;margin:6px 0 26px;background:#fff}
.yab__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.yab__title{font-size:19px;font-weight:700;margin:0;color:#0f3146}
.yab__badge{background:#e8f6ec;color:#1d8b41;border:1px solid #bfe5cb;border-radius:12px;font-size:11.5px;font-weight:600;padding:3px 10px;white-space:nowrap}
.yab__rating{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#555}
.yab__rating b{background:#ffdb4d;border-radius:5px;padding:1px 7px;color:#222;font-size:13px}
.yab__form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:6px}
.yab__form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#666;font-weight:600}
.yab__form input,.yab__form select{padding:9px 12px;border:1px solid #c8d4d4;border-radius:6px;font-size:14.5px;background:#fff;min-width:150px;box-sizing:border-box}
.yab__form select{min-width:80px}
.yab__form .btn{padding:10px 22px}
.yab__note{font-size:12px;color:#8fa0ab;margin-top:10px}
.yab__status{padding:10px 0;color:#555;font-size:14.5px;line-height:1.5}

/* ===== Карточка номера ===== */
.yr{display:flex;gap:18px;border:1px solid #e2eaf0;border-radius:10px;padding:16px;margin-top:14px;background:#fff;box-sizing:border-box}
.yr__media{flex:0 0 280px;min-width:0}
.yr__photo{display:block;overflow:hidden;border-radius:8px;background:#eef2f6}
.yr__photo img{display:block;width:100%;height:190px;object-fit:cover}
.yr__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}
.yr__thumbs a{display:block;overflow:hidden;border-radius:5px;background:#eef2f6}
.yr__thumbs img{display:block;width:100%;height:48px;object-fit:cover}
.yr__ph{cursor:zoom-in}
.yr__ph_hidden{display:none}
.yr__body{flex:1;min-width:0;display:flex;flex-direction:column}
.yr__top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.yr__titlebox{min-width:0}
.yr__title{margin:0 0 4px;font-size:17px;line-height:1.3;color:#0675de;font-weight:700}
.yr__meta{font-size:13px;color:#75828c}
.yr__pricebox{flex:none;text-align:right;background:#0675de;color:#fff;border-radius:8px;padding:8px 14px;line-height:1.2}
.yr__price{display:block;font-size:19px;font-weight:700;white-space:nowrap}
.yr__nights{display:block;font-size:11.5px;opacity:.85}

/* Чипы характеристик номера */
.yr__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.yr__chip-static{background:#f1f5f8;border-radius:14px;padding:4px 11px;font-size:12px;color:#4a5a66;white-space:nowrap}

/* Опции тарифа (в стиле Яндекса): Питание / Правила отмены */
.yr__opt{display:flex;gap:14px;align-items:flex-start;border-top:1px solid #eef2f6;padding:12px 0}
.yr__opt-label{flex:0 0 110px;font-size:13px;color:#75828c;padding-top:8px}
.yr__opt-choices{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.yr__chip{border:1px solid #d5dee5;background:#fff;border-radius:10px;padding:8px 14px;font-size:13.5px;color:#33424e;cursor:pointer;text-align:left;transition:border-color .15s}
.yr__chip:hover{border-color:#0675de}
.yr__chip_active{border:2px solid #0675de;padding:7px 13px}
.yr__chip-name{display:block;font-weight:600}
.yr__chip-delta{display:block;font-size:12px;color:#75828c;margin-top:1px}
.yr__cancelval{display:inline-block;border-radius:10px;padding:8px 14px;font-size:13.5px;font-weight:600}
.yr__cancel_ok{color:#1d8b41;background:#eef8f0}
.yr__cancel_no{color:#b04a4a;background:#fdf0f0}

/* Итог: цена выбранного тарифа + бронь */
.yr__footer{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #eef2f6;padding-top:14px;margin-top:2px;flex-wrap:wrap}
.yr__fprice{display:block;font-size:22px;font-weight:700;color:#0f3146;white-space:nowrap}
.yr__fnote{display:block;font-size:12.5px;color:#8fa0ab}
.yr__book{display:inline-block;padding:11px 26px;font-size:14.5px;white-space:nowrap;text-decoration:none;box-sizing:border-box;border-radius:22px}
.yr__note{margin-top:auto;padding-top:10px;font-size:11.5px;color:#a3b0ba;text-align:right}

@media (max-width: 860px){
  .yr{flex-direction:column;gap:12px}
  .yr__media{flex:none;width:100%}
  .yr__photo img{height:200px}
}

@media (max-width: 560px){
  .yab{padding:12px}
  .yr{padding:12px}
  .yr__opt{flex-direction:column;gap:6px}
  .yr__opt-label{flex:none;padding-top:0}
  .yr__footer{flex-direction:column;align-items:stretch}
  .yr__book{text-align:center}
}

/* ===== Описание санатория: акценты в тексте ===== */
.sanatorium-description p{line-height:1.55}
.sanatorium-description b,.sanatorium-description strong{background:linear-gradient(transparent 62%, #ffe9a8 62%);padding:0 2px;font-weight:700;color:#0f3146}
.sanatorium-description i,.sanatorium-description em{color:#0675de;font-style:italic}
.sanatorium-description ul{margin:10px 0 12px;padding-left:0;list-style:none}
.sanatorium-description ul li{position:relative;padding-left:24px;margin-bottom:6px;line-height:1.45}
.sanatorium-description ul li::before{content:'✓';position:absolute;left:2px;color:#1d8b41;font-weight:700}
.sanatorium-description p:empty{display:none}

/* ===== Сайдбар «Вам еще интересны эти варианты?» ===== */
.sanatorium-small-card{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:flex-start;gap:8px;position:relative;overflow:hidden;padding:10px 20px 10px 0 !important;border-bottom:1px solid #eef2f6;width:auto !important;box-sizing:border-box}
.sanatorium-small-card:last-child{border-bottom:none}
.sanatorium-small-card__thumb{flex:0 0 64px !important;width:64px !important;height:48px !important;overflow:hidden;border-radius:6px;display:block;background:#eef2f6;float:none !important;margin:0 !important}
.sanatorium-small-card__thumb img{width:100% !important;height:100% !important;object-fit:cover;display:block;max-width:none !important}
.sanatorium-small-card__body{flex:1 1 0% !important;width:auto !important;max-width:none !important;min-width:0 !important;float:none !important;margin:0 !important;padding:0 !important}
.sanatorium-small-card__title{margin:0 0 3px !important;font-size:13px;line-height:1.3;word-break:normal !important;overflow-wrap:break-word;white-space:normal !important;width:auto !important}
.sanatorium-small-card__title a{white-space:normal !important;text-decoration:none;display:inline !important;word-break:normal !important}
.sanatorium-small-card__rating{margin:1px 0}
.sanatorium-small-card__type{font-size:11px;color:#8fa0ab;line-height:1.35;white-space:normal !important}
.sanatorium-small-card__text{display:none !important}
.sanatorium-small-card__close{position:absolute;top:8px;right:0;border:none;background:none;color:#b7c2cb;font-size:15px;cursor:pointer;padding:2px 6px;line-height:1;width:auto !important;height:auto !important}
.sanatorium-small-card__close:hover{color:#6b7a87}

/* ===== Удобства номера (Яндекс) ===== */
.room-amenities__list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.room-amenities__item{display:flex;align-items:center;gap:8px;font-size:13px;color:#3c4a54;line-height:1.35;flex:0 0 calc(50% - 9px);box-sizing:border-box}
.room-amenities__item .fa{width:16px;text-align:center;color:#1d8b41;font-size:14px;flex:0 0 16px}
@media(max-width:640px){.room-amenities__item{flex:0 0 100%}}

/* ===== Скидка / отмена в карточке номера ===== */
.room-discount-badge{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:3px 10px;background:#fff1f0;color:#d0342c;border-radius:14px;font-size:12px;font-weight:600}
.room-discount-badge .fa{font-size:12px}
.room-cancel_free{color:#1d8b41;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.room-cancel_free .fa{color:#1d8b41}

/* ===== Удобства и услуги санатория ===== */
.san-amenities{margin:26px 0 8px;padding:22px;background:#f7fafc;border:1px solid #e6eef3;border-radius:14px}
.san-amenities__title{margin:0 0 18px;font-size:22px;color:#0f3146;font-weight:700}
.san-amenities__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px 26px}
.san-amenities__group{min-width:0}
.san-amenities__group-title{display:flex;align-items:center;gap:9px;margin:0 0 9px;font-size:15px;color:#0f3146;font-weight:700}
.san-amenities__group-title .fa{width:20px;text-align:center;color:#0675de;font-size:16px;flex:0 0 20px}
.san-amenities__list{list-style:none;margin:0;padding:0}
.san-amenities__item{display:flex;align-items:center;gap:9px;margin-bottom:7px;font-size:13px;color:#3c4a54;line-height:1.4}
.san-amenities__item .fa{width:18px;text-align:center;color:#1d8b41;font-size:13px;flex:0 0 18px;opacity:.9}
.san-amenities__item.is-important{font-weight:600;color:#22303a}
.san-amenities__more{margin-top:18px;cursor:pointer}
.san-amenities__fsa{margin-top:18px;padding-top:14px;border-top:1px solid #e6eef3;font-size:12.5px;color:#6b7a87;display:flex;align-items:center;gap:8px}
.san-amenities__fsa .fa{color:#1d8b41}
.san-amenities__fsa a{color:#0675de;text-decoration:none}
.san-amenities__fsa a:hover{text-decoration:underline}
