.property-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.property-card{border-radius:12px;overflow:hidden;border:1px solid #eee;background:#fff;transition:.3s;}
.property-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.1);}
.property-card img{width:100%;height:180px;object-fit:cover;}
.property-card h3{padding:10px;font-size:18px;}
.property-card .price{padding:0 10px 15px;font-weight:bold;}

.reb-property{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;margin:40px 0;}
.reb-left img{width:100%;border-radius:12px;}
.reb-thumbs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
    margin-bottom:30px;
    width:100%;
    max-width:100%;
}
.reb-thumbs img{width:80px;height:80px;object-fit:cover;border-radius:8px;}
.reb-right{position:sticky;top:40px;}
.reb-price{font-size:24px;margin:10px 0;font-weight:bold;}
.reb-booking{margin-top:30px;padding:20px;border:1px solid #eee;border-radius:12px;}
.reb-booking input{width:100%;padding:10px;margin-bottom:10px;}
.reb-booking button{width:100%;padding:12px;background:#111;color:#fff;border:0;border-radius:8px;cursor:pointer;}

/* Иконки вертикально */
.reb-icons{
    display:flex;
    flex-direction: column; /* вертикально */
    gap:10px;
    margin:10px 0;
    align-items: flex-start; /* прижать к левому краю */
    padding: 22px 0px;
}
.reb-icons .icon img{
    width:24px;
    margin-right:5px;
    vertical-align: middle;
}
.reb-icons .icon{
    display:flex;
    align-items: center;
}

.reb-booking-buttons{
    display: flex;
    gap: 10px; /* расстояние между кнопками */
    margin-top: 10px;
}

.reb-booking-buttons button{
    flex: 1; /* равная ширина */
    padding: 12px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    color: #fff;
    transition: 0.3s;
}

/* Стандартная кнопка */
#reb-book{
    background: #111;
}
#reb-book:hover{
    opacity: 0.9;
}

/* Кнопка Telegram */
#reb-book-tg{
    background: #0088cc; /* фирменный цвет Telegram */
}
#reb-book-tg:hover{
    opacity: 0.9;
}

.reb-card-btn{
    margin:10px;
    padding:10px;
    text-align:center;
    background:#111;
    color:#fff;
    border-radius:8px;
    font-weight:bold;
}

/* ===== ТАБЫ ===== */

.reb-tabs--css input[type="radio"]{
    display:none;
}

.reb-tabs--css .tab-buttons{
    display:flex;
    gap:20px;
    margin-top:20px;
}

.reb-tabs--css .tab-btn{
    cursor:pointer;
    padding:10px 0;
    border-bottom:2px solid transparent;
}

#reb_tab_desc:checked ~ .tab-buttons label[for="reb_tab_desc"],
#reb_tab_rules:checked ~ .tab-buttons label[for="reb_tab_rules"]{
    font-weight:bold;
    border-bottom:2px solid #111;
}

.reb-tabs--css .tab-item{
    display:none;
    margin-top:15px;
}

#reb_tab_desc:checked ~ .tab-content .tab-desc{
    display:block;
    margin-bottom: 60px;
}
#reb_tab_rules:checked ~ .tab-content .tab-rules{
    display:block;
    margin-bottom: 60px;
}

/* ===== Табы внизу страницы ===== */
.reb-tabs-bottom{
    background:#f5f5f5;   /* светло-серый фон */
    padding:30px;
    border-radius:12px;
}

/* Заголовки табов */
.reb-tabs-bottom .tab-btn{
    color:#f47a0a;
    font-weight:600;
}

/* Активный таб */
#reb_tab_desc:checked ~ .tab-buttons label[for="reb_tab_desc"],
#reb_tab_rules:checked ~ .tab-buttons label[for="reb_tab_rules"]{
    color:#f47a0a;
    border-bottom:2px solid #f47a0a;
}

/* ===== Галерея: кнопки на главном фото ===== */
.reb-main-image{
    position:relative;
}
.reb-main-image .reb-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.45);
    color:#fff;
    cursor:pointer;
    font-size:28px;
    line-height:44px;
}
.reb-main-image .reb-prev{ left:12px; }
.reb-main-image .reb-next{ right:12px; }

/* ===== Lightbox ===== */
.reb-lightbox{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}
.reb-lightbox.is-open{ display:block; }

.reb-lightbox__overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.75);
}

.reb-lightbox__content{
    position:absolute;
    inset:0;
    margin:auto;
    width:min(1100px, 92vw);
    height:min(720px, 85vh);
    display:flex;
    align-items:center;
    justify-content:center;
}

.reb-lightbox__img{
    max-width:100%;
    max-height:100%;
    border-radius:12px;
    background:#000;
}

.reb-lightbox__close{
    position:absolute;
    top:10px;
    right:10px;
    width:44px;
    height:44px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.45);
    color:#fff;
    cursor:pointer;
    font-size:28px;
}

.reb-lightbox__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:54px;
    height:54px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.45);
    color:#fff;
    cursor:pointer;
    font-size:34px;
    line-height:54px;
}

.reb-lightbox__prev{ left:10px; }
.reb-lightbox__next{ right:10px; }

/* Скрываем описание над табами на мобильных */
@media (max-width: 991px){
    .reb-description{
        display:none;
    }
}

#reb_tab_desc:checked ~ .tab-buttons label[for="reb_tab_desc"],
#reb_tab_rules:checked ~ .tab-buttons label[for="reb_tab_rules"],
#reb_tab_video:checked ~ .tab-buttons label[for="reb_tab_video"]{
    font-weight:bold;
    border-bottom:2px solid #f47a0a;
    color:#f47a0a;
}

#reb_tab_desc:checked ~ .tab-content .tab-desc{ display:block; }
#reb_tab_rules:checked ~ .tab-content .tab-rules{ display:block; }
#reb_tab_video:checked ~ .tab-content .tab-video{ display:block; }

.tab-video iframe{
    width:100% !important;
    max-width:100%;
    aspect-ratio:16/9;
    height:auto !important;
    border-radius:12px;
}

/* ===== Список объектов (шорткод [reb_properties]) ===== */

.reb-list-grid{
    display:grid;
    grid-template-columns: 1fr 1fr; /* 2 колонки */
    gap:20px;
}

@media(max-width: 991px){
    .reb-list-grid{
        grid-template-columns: 1fr;
    }
    
}

.reb-card{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:16px;
    background:#f5f5f5;
    border:1px solid #eee;
    border-radius:12px;
    overflow:hidden;
    transition:.25s;
}

.reb-card:hover{
    transform: translateY(-2px);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.reb-card__img{
    height:100%;
}

.reb-card__body{
    padding:14px 14px 14px 0;
}

.reb-card__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.reb-card__title{
    display:block;
    font-size:18px;
    font-weight:700;
    text-decoration:none;
    color:#111;
    margin-bottom:8px;
}

/* ===== иконки в карточке: 2 колонки ===== */
.reb-card__icons{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:8px 16px; /* вертикаль / горизонталь */
    margin:10px 0;
}

.reb-card__icon{
    display:flex;
    align-items:center;
    font-size:14px;
    line-height:1.2;
}

.reb-card__icon img{
    width:20px;
    height:20px;
    margin-right:6px;
    flex-shrink:0;
}


.reb-card__icon{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
}

.reb-card__icon img{
    width:18px;
    height:18px;
}

.reb-card__price{
    font-weight:700;
    margin:6px 0 10px;
}

.reb-card__book{
    display:inline-block;
    width:100%;
    text-align:center;
    padding:10px 12px;
    border-radius:10px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.reb-card__quick{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.reb-card__qbtn{
    flex:1;
    padding:10px 12px;
    border:0;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
    color:#fff;
}

.reb-q-tg{ background:#0088cc; }
.reb-q-max{ background:#f47a0a; } /* пока просто цвет */


/* ====== [reb_search] стили (как было) ====== */
.reb-search{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
    border: 1px;
    border-style: solid;
    border-radius: 8px;
    border-color: #f47a0a;
    padding: 8px;
}
.reb-search input{
    padding:10px;
    flex:1;
}
.reb-search button{
    padding:10px 20px;
    background:#111;
    color:#fff;
    border:0;
    border-radius:8px;
    cursor:pointer;
}
#reb-search-results{
    margin-top:10px;
}

/* Результаты поиска — делаем сеткой как на главной */
#reb-search-results{
    display:grid;
    grid-template-columns: 1fr;
    gap:20px;
}
@media(max-width: 991px){
    #reb-search-results{
        grid-template-columns: 1fr;
    }
}

/* ===== Tabs full width background ===== */
.reb-tabs--css{
    background:#f5f5f5;
    padding:16px;
    border-radius:12px;
    margin-bottom:30px;
}


/* ===== FORCE mobile card layout: image on top ===== */
@media (max-width: 991px){
  .reb-card{
    display:flex !important;
    flex-direction:column !important;
  }

  .reb-card__img{
    width:100% !important;
  }

  .reb-card__img img{
    width:100% !important;
    height:220px !important;
    object-fit:cover !important;
    display:block !important;
  }

  .reb-card__body{
    width:100% !important;
    padding:14px !important;
  }
}

/* ===== card slider ===== */
.reb-card__img{ padding:0; }

.reb-card-slider{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}

.reb-card-slider__link{
  display:block;
  width:100%;
  height:100%;
}

.reb-card-slider__track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .25s ease;
}

.reb-card-slider__slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
}

.reb-card-slider__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* стрелки */
.reb-card-slider__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:22px;
  line-height:34px;
  padding:0;
}

.reb-card-slider__prev{ left:10px; }
.reb-card-slider__next{ right:10px; }

/* ===== фиксированный размер слайдера в карточках ===== */
.reb-card__img{
    width:100%;
    aspect-ratio: 4 / 3;   /* можешь поменять на 16/9 если хочешь */
    overflow:hidden;
}

.reb-card-slider,
.reb-card-slider__link,
.reb-card-slider__track,
.reb-card-slider__slide,
.reb-card-slider__slide img{
    width:100%;
    height:100%;
}

.reb-card-slider__slide img{
    object-fit:cover;
}

/* Уведомление об успешной заявке */
#reb-result{
    margin-top:15px;
    font-size:16px;
    font-weight:600;
}

#reb-result.reb-success{
    background:#e6f9ec;
    color:#1f8f4a;
    border:1px solid #b7ebc6;
    padding:12px 16px;
    border-radius:10px;
}

#reb-result.reb-error{
    background:#fdeaea;
    color:#b3261e;
    border:1px solid #f5b5b5;
    padding:12px 16px;
    border-radius:10px;
}

.reb-total-preview{
    margin-top:6px;
    font-size:16px;
    font-weight:600;
    color:#1f8f4a;
}


/* ===== Filter UI (beds) ===== */
.reb-filter{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin: 0 0 16px;
}

.reb-filter__label{
  font-weight:700;
}

.reb-filter__controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.reb-filter__btn{
  border:1px solid #ddd;
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  font-weight:600;
  transition:.2s;
}

.reb-filter__btn:hover{
  border-color:#f47a0a;
}

.reb-filter__btn.is-active{
  background:#f47a0a;
  border-color:#f47a0a;
  color:#fff;
}

.reb-filter__check{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  font-weight:600;
  cursor:pointer;
}

.reb-filter__check input{
  margin:0;
}

.reb-filter__btn{
  touch-action: manipulation;
}

.reb-thumb-video{
  width:80px;
  height:80px;
  border:0;
  border-radius:10px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background: linear-gradient(135deg, #f47a0a 0%, #e6e6e6 100%);
  padding:8px;
}

.reb-thumb-video__play{
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.35);
  color:#fff;
  font-size:18px;
  line-height:1;
}

.reb-thumb-video__label{
  font-size:12px;
  font-weight:600;
  color:#222;
}

/* видео модалка */
.reb-videobox{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
}
.reb-videobox.is-open{ display:block; }

.reb-videobox__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
}

.reb-videobox__content{
  position:absolute;
  inset:0;
  margin:auto;
  width:min(1100px, 92vw);
  height:min(720px, 85vh);
  display:flex;
  align-items:center;
  justify-content:center;
}

.reb-videobox__inner{
  width:100%;
  max-width:100%;
}
.reb-videobox__inner iframe{
  width:100% !important;
  aspect-ratio:16/9;
  height:auto !important;
  border-radius:12px;
}

.reb-videobox__close{
  position:absolute;
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  font-size:28px;
}

/* ===== Правила проживания: кнопка ===== */
.reb-living-rules-btn{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:#e01919;
  color:#fff;
  border:0;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  line-height:1;
  font-size: 12px;
}

.reb-living-rules-btn__icon{
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}

.reb-living-rules-btn:hover{ filter:brightness(0.95); }

/* ===== Правила проживания: модалка ===== */
.reb-rules-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999; /* выше всего */
}

.reb-rules-modal.is-open{ display:block; }

.reb-rules-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}

.reb-rules-modal__content{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, 92vw);
  max-height:85vh;
  overflow:auto;
  background:#fff;
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
}

.reb-rules-modal__title{
  font-size:18px;
  font-weight:800;
  margin:0 0 12px;
}

.reb-rules-modal__body{
  font-size:14px;
  line-height:1.6;
}

.reb-rules-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  background:#f2f2f2;
  cursor:pointer;
  font-size:26px;
  line-height:1;
}
/* ===== PATCH: thumbnails 2 rows + show more (safe) ===== */

/* 1) Разрешаем перенос миниатюр в несколько строк */
.reb-thumbs{
  flex-wrap: wrap;      /* если у тебя flex */
  white-space: normal;  /* если тема делала nowrap */
  overflow-x: visible;  /* если был горизонтальный скролл */
}

/* 2) Если у тебя thumbs сделаны grid — тоже ок */
@supports (display:grid){
  .reb-thumbs.reb-thumbs--grid{
    grid-auto-flow: row;
  }
}

/* 3) Режем до двух строк в режиме is-collapsed
      max-height выставляет JS, но если JS не сработал — дадим безопасный запас */
.reb-thumbs.is-collapsed{
  overflow: hidden;
  max-height: 180px; /* запас, чтобы 2 ряда влезли при 80-90px миниатюрах */
}

/* 4) Кнопка "показать ещё" */
.reb-thumbs-more{
  display:none; /* включает JS */
  margin:10px auto 0;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  text-decoration: underline;
  font-weight:600;
}

/* ===== FIX: thumbs not painted until interaction (content-visibility/contain) ===== */
.reb-thumbs,
.reb-thumbs *{
  content-visibility: visible !important;
  contain: none !important;
  will-change: auto !important;
}

/* =========================================
   AVITO REVIEWS BLOCK
   ========================================= */

/* grid layout */
.reb-avito-reviews{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin:20px 0;
}

@media (min-width:1024px){
  .reb-avito-reviews{
    grid-template-columns:1fr 1fr;
  }
}

/* review card */
.reb-avito-review{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:16px;
  transition:.2s ease;
}

.reb-avito-review:hover{
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

/* header */
.reb-avito-review__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.reb-avito-review__name{
  font-weight:800;
  font-size:15px;
}

.reb-avito-review__date{
  font-size:12px;
  opacity:.6;
}

/* stars */
.reb-avito-review__rating{
  margin-top:6px;
}

.reb-avito-star{
  font-size:18px;
  margin-right:2px;
}

.reb-avito-star.is-on{
  color:#ffc107; /* yellow */
}

.reb-avito-star.is-off{
  color:#dcdcdc;
}

/* item title */
.reb-avito-review__item{
  margin-top:8px;
  font-weight:600;
  font-size:13px;
  opacity:.8;
}

/* text */
.reb-avito-review__text{
  margin-top:10px;
  line-height:1.6;
  font-size:14px;
}

/* answer block */
.reb-avito-review__answer{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.08);
  background:#fafafa;
  border-radius:10px;
  padding:10px;
}

.reb-avito-review__answer-title{
  font-weight:700;
  font-size:13px;
  margin-bottom:6px;
}

.reb-avito-review__answer-text{
  font-size:13px;
  line-height:1.5;
}

.reb-avito-review__answer-status{
  font-size:11px;
  opacity:.6;
  margin-top:4px;
}

/* error */
.reb-avito-reviews--error{
  color:#c00;
  font-weight:600;
}
.reb-card__qbtn{
    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    text-decoration: none; /* убрать подчеркивание */
}
/* ===== Telegram button as link (looks like button) ===== */

.reb-book-tg{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:100%;
  padding:14px 18px;

  background:#229ED9; /* цвет Telegram — можешь поменять */
  color:#fff;

  border-radius:10px;
  font-weight:600;
  font-size:16px;

  text-decoration:none;
  cursor:pointer;

  transition:all .2s ease;
}

.reb-book-tg:hover{
  background:#1b8fc6;
  transform:translateY(-1px);
}

.reb-book-tg:active{
  transform:translateY(0);
}

/* ===== Living rules modal: 2 columns ===== */
.reb-rules-modal__body{
    column-count: 2;
    column-gap: 24px;
}
.reb-rules-modal__body p{
    margin: 0 0 10px;
    break-inside: avoid;
}

/* на мобилке обратно в 1 колонку */
@media(max-width: 767px){
    .reb-rules-modal__body{
        column-count: 1;
    }
}

/* ===== Yandex map rounded ===== */

.reb-map{
  width:100%;
  margin-top:20px;
  margin-bottom:30px;
}

.reb-map iframe{
  width:100% !important;
  height:420px;
  border:0;
  border-radius:16px;
  display:block;
}

/* чтобы ссылки Яндекса не вылезали */
.reb-map div{
  border-radius:16px;
  overflow:hidden;
}

/* мобильная высота */
@media(max-width:768px){
  .reb-map iframe{
    height:300px;
  }
}



