/* Кнопка «Показать больше» редактируется в двух файлах rateplans.php и default_style_2 */
    .more-desc-btn {
    text-align: center;
    margin: 0px 0px 0px auto;
    height: auto;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
    color: rgb(144, 144, 144);
    z-index: 1;
    position: relative;
    vertical-align: bottom;
    padding-top: 10px;
    border-radius: 0 0 10px 10px;
    cursor: pointer;
    font-size: 20px;
}

    #more_desc:hover {
    color: black;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(220, 220, 220) 50%);
}
    .more-desc-btn {
    text-align: center;
    margin: 0px 0px 0px auto;
    height: auto;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
    color: rgb(144, 144, 144);
    z-index: 1;
    position: relative;
    vertical-align: bottom;
    padding-top: 10px;
    border-radius: 0 0 10px 10px;
    cursor: pointer;
}

.more-desc-btn:hover {
    color: black;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(220, 220, 220) 50%);
}
    /* Название актива<h1> */
    .asset-name h1 {
    font-family: Raleway;
    font-size: 36px;
    font-weight: 500;
    line-height: 39.6px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: black;
    margin-top: 24px;
}
    /* Кнопка «Забронировать сейчас» ( .asset-address_2 > a) */
    .asset-address_2 a {
    padding: 8px 16px 9px 16px;
    border-radius: 4px;
    background-color: #91b54d;
    color: white;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.asset-address_2 a:hover {
    background-color: #7da139;
    color: white;
}
  @media (min-width: 768px) {
    #params_for_show {
      display: none
    }
    .sr-datepickers > .row > .col-md-4 > .form-floating>label {
      padding: .5rem .75rem;
    }
    .sr-datepickers > .row > .col-md-4:nth-child(1) {
      padding-right: 5px;
    }
    .sr-datepickers > .row > .col-md-4:nth-child(2) {
      padding-left: 5px;
    }
    .button-row > .col-md-4 > .btn-group > button > i {
      display: none
    }
    .tariff-box > div:last-child > button > i{
      display: none
    }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) {
    order: 2;
    width: 45%;
    margin-left: -4px !important;
      }
	.col-md-5:nth-child(2) .row .col-md-3:first-child {
        padding-right: 0px !important;
        }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-3 {
          margin-right: -2px !important;

    }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-3 > .form-floating {
      background-color: #373737;
      border-top-left-radius: 8px; /* Закругление верхнего правого угла */
border-bottom-left-radius: 8px; /* Закругление нижнего правого угла */
    padding: 4px;
    padding-right: 0PX;
    }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-9 {
          background-color: #373737;
    padding-top: 4px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    padding-left: 6px;
              padding-right: 2px;
    }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-2 .d-grid {
          padding-top: 4px;
background-color: #373737;
height: 66px;
padding-right: 4px;
border-top-right-radius: 8px; /* Закругление верхнего правого угла */
border-bottom-right-radius: 8px; /* Закругление нижнего правого угла */

    }
   [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) > .row {
      background-color: #373737;
          padding-top: 4px;
    padding-bottom: 4px;
    padding-right: 4px;
    }
    #asset-checkavailability-form form {
      background-color: white !important; 
    }
    .room_type_details {padding-left:0px;}
    
	
	[id^="sr-checkavailability-form-asset-"] .row .col-md-2 > .d-grid > button {
        padding: 0;
      }
        .tariff-box:nth-of-type(n+3) {
        display: none;
    }
    /* Когда значение в поле введено */
.inner.sr-datepickers input.checkin_roomtype[value]:not([value=""]) + label,
.inner.sr-datepickers input.checkout_roomtype[value]:not([value=""]) + label {
  display: none;
}

/* Когда значение в поле не пустое или выбран день в календаре */
.inner.sr-datepickers input.checkin_roomtype:not(:placeholder-shown) + label,
.inner.sr-datepickers input.checkout_roomtype:not(:placeholder-shown) + label {
  display: none;
}


    [id^="sr-checkavailability-form-asset-"] .row .col-md-2 > .d-grid > button {
        padding: 0;
        height: 100%;
        /* width: 100%; */
      }
    .checkinoutform .fa-search {
      display: none !important; 
    }
    
    .tariff-box > .row > .col-md-9 {
      flex-direction: row;
    }
    .btn .fa {
      display: block;
    }
  .btn .fa + span {
    display: none; /* Скрывает текст, следующий за иконкой */
  }
}

  .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label.hiden {
    display: none
  }
@media (max-width: 767px) {
  .fcol > .dline {
    margin-top: 0px !important; 
  }
  .fcol > p {
    color: white !important;
  }
  .asset-name > h1 {
    font-family: Raleway !important;
    padding: 0;
    text-align: left !important;
  }
   .availability-search > h3 {
     text-align: left !important;
   }
  .sline {
    color: white;
  }
.sline {
    display: flex;
    flex-direction: column; /* Устанавливаем вертикальный (столбцовый) флекс */
}
      .booking-summary p.sline {
        line-height: 21px;}
  .button-row > .col-md-8 > p {
    color: black;
  }
  .rooms-rates-summary.module .table-bordered tbody:first-child  .nobordered:last-child {
    display: flex !important
  }
  .state-inform > p {
    color: #81808D;
  }
  .sr-overlay {
    background-color: white;
  }
  .tariff-box > .row > .col-md-9 {
    
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sr-datepickers > .row > .col-md-4 {
          padding-left: 30px !important;
    padding-right: 22px !important;
    padding-bottom: 10px;

    }
  .sr-datepickers > .row > .col-md-4:last-child{
    padding-right: 10px !important;
    padding-left: 10px !important;
}
  }
  label.ms-3 {
    margin-left: 0px !important; 
  }
  
  [id^="sr-checkavailability-form-asset-"] .row .col-md-2 > .d-grid {
          padding-left: 0px !important;
    }
  .even > div:nth-child(2) div .row .col-md-9 .tariff-title-desc {
    border-right: none !important;
  }
  .tariff-box > .row > .col-md-9 > .tariff-value, .tariff-box > .row > .col-md-9 > .col-md-3 {
    margin-right: 0 !important;
    /* padding-bottom: 30px !important; */
    order: 2 !important;
    padding-right: 20% !important;
  }
  .tariff-button 
  
  .tariff-box > .row > .col-md-9 > .tariff-value, .tariff-box > .row > .col-md-9 > .col-md-3 {
    order: 2 !important;
  }
  .tariff-box > .row > .col-md-9 > .tariff-title-desc {
    order: 1;
  }
  .even    .tariff-button > .roomtype-quantity-selection{
    min-width: 120px;
  }
  .tariff-button .d-grid .gap-2 {
    padding: 0px !important;
  }
  .tariff-box > .row > div:last-child {
padding-left: 0px !important;
    }
  .children_ages_1[style="display: block;"] {
    padding-right: 10px !important;
    padding-left: 20px !important;
    }
  .children_ages_1 > .form-select {
    width: 50% !important;
}
  .justify-content-around > .children_ages_1 > .form-select {
    width: 100% !important;
}
  .justify-content-around > .children_ages_1 {
    padding: 0px !important; 
  }
  .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    }
  .row>* {
     flex-shrink: revert; }
  
.tariff-box:nth-of-type(n+3) {
    display: none ;
}

    .row {
        
        margin-top: calc(-1 * var(--bs-gutter-y));
        margin-right: calc(-0.5 * var(--bs-gutter-x));
        margin-left: calc(-0.5 * var(--bs-gutter-x));
    }
}
.state-inform > * {
  color: #81808D;
}
  .state-inform > ul > * {
    color: #81808D;
  }
  .state-inform {
    font-family: Roboto;
    font-size: 14px;
    font-weight: 400;
    line-height: 18.2px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
  }
  .state-inform > ul {
    list-style-type: none;padding-left: 10px;
  }
  .state-inform > p {
    margin: 0;
  }
  .sr-reservation-form > .button-row.button-row-top, .button-row.button-row-bottom {
display: flex !important
    }
  .child-age-details {
    width: 100%
  }
.occupancy-selection {
      display: flex;
    flex-wrap: wrap;
}
.occupancy-selection select:first-child {
  margin-right: 8px !important;
}
.occupancy-selection > select {
  width: 48%;
}
  .accordion-button {
    display: block !important
  }
  button[data-step="room"]:hover {
    background-color: #6d8939
  }
  .children_ages_1[style="display: block;"] {
    padding-right: 1px;
    display: flex !important;
    /* text-align: right; */
    flex-direction: row-reverse;
  }
  .children_ages_1 > .form-select {
        width: 69%;
  }
    .col-md-9 > .room_num_row > .row {
      background-color: white;
      border-radius: 4px;
    }
      .roomtype-quantity-selection, .form-select {
        border-radius: 4px !important;
      }
      .room_index_form_heading > h4 > a {
        display: none
      }
      .col-md-4 > .input-group > input {
            height: calc(3.5rem + 2px);
      }
      
      @media (max-width: 768px) {
        .reservation_asset_item .col-md-4 {
             padding-right: 10px !important; 
             padding-left: 10px !important; 
            background-color: #ffffff00 !important;
        }
            [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-9 > .room_num_row > .row {
    padding-bottom: 10px;
              }
        [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-9 > .room_num_row {
          margin-right: 0px !important;
        }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6:first-child {
        margin-right: 3px;
        padding-right: 1px !important;
        width: 100%;
    }
        [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) {
                  margin-bottom: 4px !important;
          }
         
        #asset-info > button {
          display: none
        }
        #sr-asset-feedback-list ul {
          display: block !important;
        }
        .even > .row > div > .tariff-box:last-child  {
          padding-bottom: 20px;
        }
        .tariff-button {
          padding: 0px !important;
          padding-bottom: 0px !important;
        }
        .tariff-button > button {
          padding: 1px !important;
          padding-bottom: 1px !important;
        }
        .even > div:nth-child(2) div .row .col-md-9 .tariff-title-desc {
          margin-bottom: 0px;
        }
        .tariff-title-desc > p {
          border-bottom: 1px solid #E5E5E8;
        }
        .tariff-box  > .row > div:last-child {
          padding-left: 0px !important;
          padding-bottom: 10px;
          padding-right: 10px;
          display: flex;
        }
        .tariff-box  > div:last-child {
          text-align: center !important;
        }
        .room_num_row .row .col-md-4:first-child {
          text-align: left !important;
          justify-content: left !important;
          align-items: start !important;
          padding: 5px 0 5px 5px !important;
        }
        /*#asset-info {
          display: none
        }*/
        .col-md-5 > .row > .col-md-6 {
          width: 49.5%
        }
        
        [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6:first-child > .form-floating {
        padding-right: 0px !important;
    }
        .col-md-5:nth-child(2) .row .col-md-3:first-child {
        padding-right: 0px !important;
          margin-bottom: 4px;
    }
        .room-form {
          margin: 0px;
        }
        .tariff-box > div:nth-child(2) {
          display: block !important;
        }
        #sr-asset-feedback-list ul {
          display: block
          }
        .tariff-value {
          margin-right: 20px;
        }
      .tariff-box  > .row > .col-md-9 > div.tariff-title-desc {
        width: 100%;
        text-align: left;
      }
      /* .tariff-box  > .row > .col-md-3 {
        width: 60% !important;
            margin-top: -60px;
      } */
        .tariff-value {
          float: left !important;
        }
      .tariff-box  > .row > .col-md-9 {
        width: 100% !important;
        display: flex !important;
        
      }
      [role="tablist"][hidden] {
         display: flex !important;
        flex-wrap: wrap;
    }
    }
    @media (max-width: 767px) {
      .sbe4 {
          padding-left: 4px !important;
          min-height: 60px;
      }
  }
    
      .sr-datepickers .input-group > .form-control, .input-group > .form-select {
        padding: 16px 16px;
        height: auto !important;
      }
      
    
    
      
       .input-group > .form-control, .input-group > .form-select {
        padding: 8px 16px;
        height: auto ;
      }
       
      .sr-datepickers .input-group.form-floating {
        border: 1px solid black;
        height: auto;
        
      }
    
      .sr-datepickers > .row > .col-md-4 > .d-grid {
        padding-left: 20px;
        padding-top: 0px;
        padding-bottom: 0px;
        padding-right: 12px;
      }
      .box {
            background-color: white;
        position: relative; /* Создаём контекст для наложения */
        z-index: 2; /* Устанавливаем элемент выше остальных */
    }
    
    .box + img {
        position: relative; /* Или absolute, если нужно точное позиционирование */
        margin-top: -1px; /* Настраиваем перекрытие */
        margin-left: 6%; /* Как в вашем примере */
        z-index: 1; /* Делаем этот элемент ниже по уровню */
        display: block;
    }
    
      
      .room_num_row .row .col-md-4:first-child {
        text-align: center;
        color: black;
        display: flex
    ;
        justify-content: center;
        align-items: center;
    }
    .col-md-5:nth-child(2) .row .col-md-3:first-child {
        padding-right: 5px;
        border: 4px;
    }
      .asset-contact p, .roomtype_more_desc p {
        margin: 0 0 5px 0;
        font-family: Roboto;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: left;
        text-underline-position: from-font;
        text-decoration-skip-ink: none;
        margin-left: 14px;
    }
      .roomtype_more_desc i {
        text-align: left;
    }
      .d-grid.px-2.py-2 {
        display: none !important
      }
      .sr-photo > span {
        text-align: center;
      }
      .form-group > .row  {
            width: 100%;
        margin-left: 0px;
      }
      .d-grid > .btn {
        width: 100%;
      }
      .checkout_roomtype {
        color: black
      }
      .btn  {
    
    padding: 8px 16px 9px 16px;
    
    border-radius: 4px;
    
    
        background-color: #91B54D;
            font-style: normal;
    font-family: Roboto;
    font-size: 16px;
    font-weight: 500;
    line-height: 20.8px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    
      }
      .checkinoutform.p-1 {
        display: flex !important; 
      }
      .checkinoutform.p-1 > .sr-datepickers {
        width: 100%;
      }
      #solidres .checkinoutform .inner { background-color: #ffffff00;
        }
      .reservation_asset_item .other-photos img {
        margin: 0 0px 10px 0;
      }
      .sr-gallery-container > div {
        padding: 0px;
      }
      
      .col-md-4 > .d-grid > label {
        display: none
      }
    [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6:first-child > .form-floating {
      padding-right: 4px;
    }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6:first-child {
        padding: 0px;
      }
     /* [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 div {
        width: 100% !important;
      } */
      .form-stacked > .row > .col-md-2 {
      padding: 0px;
    }
      .form-stacked > .row > .col-md-5:first-child {
        /*padding-left: 0px; */
        padding-right: 0px;
        /*margin-left: 0px !important;*/
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) {
        padding-left: 0px;
      }
      .form-stacked > .row {
        width: 100%; margin: 0
      }
    /*.other-photos > .sr-photo:nth-child(n+9) {
      display: none;
    }*/
    
    .other-photos.show-all > .sr-photo {
      display: block;
    }
    
    .other-photos > .sr-photo:nth-child(8).highlight {
      background-color: rgba(0, 0, 0, 0.5);
      color: white;
      cursor: pointer;
    }
    
      .rooms-rates-summary-sticky {
        margin-top: 60px;
      }
      .sticky-tablist {
        position: fixed;
        box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.5);
        padding: 10px;
        top: 0;
        left: 0;
      width: 100%; /* или другой размер, подходящий для вашего контейнера */
      z-index: 1000; /* чтобы элемент был поверх других */
      background-color: white; /* Задайте нужный цвет фона */
    }
    
      .row > .col-md-5 > .row > .col-md-6 {
        padding-left:0px;
      }
        
        a.like_count {
          display: none 
        }
        .sr_feedback_like {
      font-family: Roboto;
      font-size: 16px;
      font-weight: 400;
      line-height: 24px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        .sr-feedback-list .box > .detail  i  {
          display: none
        }
        .sr-feedback-list .box > .detail > .title > i {
          display: none
        }
        .sr-feedback-list .box > .detail > .title {
          color: black; 
      font-family: Roboto;
      font-size: 18px;
      font-weight: 600;
      line-height: 23.4px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        .sr-feedback-list .box > .detail:before {
          border: none
        }
        .sr-feedback-list .box > .detail:after {
          border: none
        }
        .sr-feedback-list .box > .detail > ::before, ::after {display: none; border: none}
        .sr-feedback-list .box > .detail > .attributes {
          display: none;
        }
      
        .sr-feedback-list .box > .author > .info {
          text-align: right;
        }
        .name.text-capitalize {
            font-family: Roboto;
            font-size: 16px;
            font-weight: 500;
            line-height: 20.8px;
            text-align: left;
            text-underline-position: from-font;
            text-decoration-skip-ink: none;
            color: #81808D;
        }
        .sr-feedback-list .box > .detail {
          width: 100%;
          }
        .sr-feedback-list .box > .author {
            display: flex;
          width: 100%;
          justify-content: space-between;
          text-align: left;
          border-top: 1px solid #E5E5E8;
          padding-top: 8px;
      }
        .sr-feedback-list .box > .detail {
      border: none;
          }
        #sr-asset-feedback-list ul li .box {
          display: flex;
          flex-direction: column-reverse;
          border: 1px solid #C7D9A5;
          padding: 16px;
          border-radius: 6px;
        }
        #sr-asset-feedback-list ul {
          display: grid;
        grid-template-columns: repeat(2, 1fr); /* Создаем 2 столбца */
        gap: 20px; /* Промежуток между элементами */
        list-style-type: none; /* Убираем маркеры списка */
        padding: 0; /* Убираем отступы */
        }
        [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) { margin-left: -10px; }
      /*[id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 div {
       width: 120%
        }*/
        .custom-field-row {
        display: block;
        align-items: stretch; /* Выравниваем элементы по высоте */
        border-bottom: 1px solid #ccc; /* Для наглядности, можно убрать */
        padding: 10px; /* Отступы, опционально */
      }
      
      .info-heading {
        flex: 0 0 20%; /* Фиксируем ширину левой колонки */
        text-align: left; /* Выравниваем текст по левому краю */
        padding-right: 10px; /* Отступ справа */
        font-weight: bold; /* Можно настроить шрифт */
      }
      
      /*
        joomla-tab-element[name="Правила и порядок оплаты"][active] > div > .col-md-10 {
          flex: 1; 
        display: flex;
        flex-direction: column; 
        justify-content: space-between; 
      font-family: Roboto;
      font-size: 16px;
      font-weight: 400;
      line-height: 24px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
          }
        joomla-tab-element[name="Правила и порядок оплаты"][active] > div > .col-md-2 {
          width: 100%;
          color: black; 
          
      font-family: Roboto;
      font-size: 18px;
      font-weight: 600;
      line-height: 23.4px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        joomla-tab-element[name="Правила и порядок оплаты"][active] > div {
          padding: 10px;
          border: none;
          height: auto;
        }
        joomla-tab-element[name="Правила и порядок оплаты"][active] {
          border: none;
          display: grid;
          grid-template-columns: 1fr 1fr;
          box-shadow: none;
          gap: 10px;
      }*/
        }
        @media screen and (max-width: 950px) {
          .row {
            margin: 0px;
          }
          }
        .rooms-rates-summary hr:last-of-type {
          display: none;
      }
      
      
        .nobordered .sr-align-right:first-child {
          padding-right: 15px;
        }
        .nobordered .sr-align-right {
          text-align: left !important;
          padding: 8px 0px;
        }
        .nobordered {
          display: flex;
          width: 100%;
              justify-content: space-between;
        }
        .table>:not(:first-child) { 
      border-top: 1px solid #E5E5E8;
      border: 0px 0px 1px 0px;
      justify-content: space-between;
      opacity: 0px;
          color: #81808D;
      font-family: Roboto;
      font-size: 16px;
      font-weight: 500;
      line-height: 20.8px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        .rooms-rates-summary.module h4, p, ul li {
          color: black;
        }
        .rooms-rates-summary.module div.stay-info div p {
          color: black;
      font-family: Roboto;
      font-size: 16px;
      font-weight: 400;
      line-height: 20.8px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        .rooms-rates-summary.module div.stay-info div p  strong {
          margin-right: 10px;
      color: #81808D;
      font-family: Roboto;
      font-size: 14px;
      font-weight: 500;
      line-height: 18.2px;
      text-align: left;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
        }
        .rooms-rates-summary.module h3 {
          font-family: Raleway;
          font-size: 24px;
          font-weight: 600;
          line-height: 26.4px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
          color: black;
        }
        .rooms-rates-summary.module .table-bordered tbody:first-child  .nobordered {display: none}
        .rooms-rates-summary.module .table-bordered tbody:first-child  .nobordered:last-child {display: block}
        
        .nobordered {BORDER: NONE}
        .nobordered td {
          border: none
        }
        .stay-info {
          display: block;
        }
        .stay-info > div > p > br {
          display: none
        }
        
        
        .col-md-5:nth-child(2) .row .col-md-3:first-child {
          padding-right: 3px;
          border: 4px;
        }
        .room_num_row .row .col-md-4:first-child {
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        .room_num_row .row .col-md-4 {
          padding: 0px;
          background-color: #FFFFFF;
          border-radius: 4px;
        }
        .input-group {
          border-radius: 4px;
        }
        .fa-search {
          display: none;
        }
        .col-md-2 .d-grid .btn-secondary {
          font-style: normal;
      padding: 15px 32px 16px 32px;
      gap: 10px;
      border-radius: 4px;
      opacity: 0px;
          background-color: #91B54D;
          color: white;
      font-family: Roboto;
      font-size: 16px;
      font-weight: 500;
      line-height: 20.8px;
      text-align: center;
      text-underline-position: from-font;
      text-decoration-skip-ink: none;
      
      
        }
        #asset-checkavailability-form form {
          background-color: #373737;
          padding: 4px;
          padding-bottom: 0px;
          border-radius: 8px;
      }
        [id^="sr-checkavailability-form-asset-"] .row .col-md-5 {
          width: 50%
        }
        [id^="sr-checkavailability-form-asset-"] {
        display: flex;
      }
      
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) {
        order: 2; 
        width: 45%;
      }
      
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 {
          padding: auto;
        }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) {
        order: 1; 
        width: 45%;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-2 {
        order: 3;
        width: 10%;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-2 > .d-grid {
    padding-left: 4px;
    padding-bottom: 4px !important;
  }

  .sr-facilities {
    margin-left: 12px;
  }
  
    .active_button {
      
  font-family: Roboto;
  font-size: 16px;
  font-weight: 500;
  line-height: 20.8px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  
      color: #03031D !important;
    }
    joomla-tab-element {
      border: none !important
    }
      div[role="tablist"] {
        border-bottom: 1px solid #91b54d;
        margin-bottom: 40px;
        margin-top: 20px;
        display: flex;
      flex-direction: row;
      justify-content: space-between;
      }
    div[role="tablist"] button  {
      border: none;
      color: #81808D;
      background: none
    }
      .even > div:nth-child(2) div .row .col-md-9 .tariff-title-desc {
        margin-bottom: 10px;
        border-right: 1px solid #E5E5E8;
      }
      .sr-facilities li {
        font-size: 14px;
      }
      .sr-facilities li svg {
        width: 16px;
        height: 16px;
      }
      .carousel-inner {
          border-radius: 12px !important;
      }
      /* .tariff-value {
          padding: 10px 0px !important;
      } */
      .sr-strikethrough {
          display: flex;
          justify-content: space-around;
      }
      .mb-3:last-child {
          display: none
      }
  .tariff-box > div:nth-child(2) {
    margin-top: -30px;
  }
      .alert.alert-warning a {
          color: #81808D;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .alert.alert-warning {
          color: #03031D;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      joomla-tab[view="tabs"] > div[role="tablist"] > button {
          border: none;
          box-shadow: none;
      }
      joomla-tab[view="tabs"] > div[role="tablist"] {
          border: none;
          white-space: normal;
          list-style: inside;
          margin: 0;
          padding: 0;
          overflow: unset;
          box-shadow: none;
      }
      .alert-warning {
          background-color: white !important;
          border: none;
      }
      .room_index_form_heading h4 span {
          color: black;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: right;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .btn-success i {
          display: none;
      }
      .btn-success {
          background-color: #91B54D;
          padding: 8px 16px;
          border: none;
          border-radius: 4px;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 500;
          line-height: 20.8px;
          
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .occupancy-selection select:first-child {
          margin-right: 10px;
      }
      .occupancy-selection {
          display: flex;
      }
      .toggle_breakdown {
          color: #7DA139;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 20.8px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .room_index_form_heading h4 {
          color: black;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 500;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .tariff-box > div:nth-child(2) {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 10px;
      }
      .room-form {
          background: none
      }
      /* .tariff-value {
          padding: 10px 10px;
      } */
      .tariff_suffix {
          color: #81808D;
          font-family: Roboto;
          font-size: 12px;
          font-weight: 400;
          line-height: 18px;
          text-align: right;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .min_tariff {
          color: #7DA139;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 500;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .sr-strikethrough {
          color: black;
          font-family: Roboto;
          font-size: 12px;
          font-weight: 400;
          line-height: 18px;
          text-align: right;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .tariff-title-desc p {
          color: #81808D;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .tariff-title-desc strong {
          color: black;
          font-family: Roboto;
          font-size: 18px;
          font-weight: 600;
          line-height: 23.4px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .tariff-box > .row > .col-md-3 {
          width: 33.33333333%;
      }
      .tariff-box > .row > .col-md-9 {
          width: 66%;
          display: flex;
          justify-content: space-between;
      }
      .room-list .tariff-value {
          background: none;
          padding: 0 !important;
      }
      .room_type_row > div:nth-child(2) > div {
          margin: 0
      }
      .room_type_row > div:nth-child(2) > div:nth-child(odd) {
          background-color: #F9F9FA !important;
      }
      .room_type_row > div:nth-child(2) > div:nth-child(even) {
          background-color: white;
      }
      .roomtype_more_desc {
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
          color: black;
      }
      .roomtype_more_desc i {
          color: #7DA139
      }
      .roomtype_name h4 {
          color: #03031D;
          border-bottom: 1px solid var(--Green_dark, #7DA139);
          padding-bottom: 2px;
          font-family: Raleway;
          font-size: 28px;
          font-weight: 500;
          line-height: 39.2px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
          display: inline-block;
          margin-left: 14px;
      }
      .roomtype_name {
          border: none
      }
      .even {
          border-radius: 10px;
          box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
      }
      .even > div >.tariff-box:last-child {
          border-radius: 10px 0px 10px 0px;
      }
      .toggle-tariffs {
          display: none
      }
      .num_rooms_available_msg {
          display: none
      }
      #availability-search {
        padding-left: 15px !important;
      }
      .availability-search-info a {
          display: none
      }
      .availability-search-info {
          border: none;
          color: #81808D;
          font-family: Roboto;
          font-size: 16px;
          font-weight: 400;
          line-height: 24px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .availability-search {
          border: none;
          margin-bottom: 0px;
      }
      .availability-search h3 {
          color: #03031D;
          font-family: Roboto;
          font-size: 20px;
          font-weight: 500;
          line-height: 26px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
      }
      .button-row.button-row-top,
      .button-row.button-row-bottom {
          display: none
      }
      #asset-info h3 {
          display: none
      }
      .sr-list-icon li {
          color: black;
          border: 1px solid var(--Black_10, #E5E5E8);
          border-radius: 4px;
          padding: 8px 20px;
      }
      .sr-list-icon svg[class^="sr-icon-"] {
          fill: black
      }
      #asset-desc {
          border: none;
          box-shadow: none;
      }
      joomla-tab footer {
          display: none
      }
      .sr-photo img {
          border-radius: 4px;
      }
      .fa-map-marker {
          color: #91B54D
      }
      .show_map {
          font-family: Roboto;
          font-size: 16px;
          font-weight: 500;
          line-height: 20.8px;
          text-align: left;
          text-underline-position: from-font;
          text-decoration-skip-ink: none;
          color: #81808D
      }
      .asset-info {
          text-align: left
      }
      .sr-gallery-container .col-md-7 {
          width: 100%
      }
      .sr-gallery-container {
          display: block
      }
      .asset-info {
          border: none;
      }
      .reservation_asset_item .col-md-4 {
          padding: 0p;
      }
      .asset-name h1,
      .asset-wish-list .sr-wish-list {
          border: none
      }
    @media (max-width: 768px) {
  
      [id^="sr-checkavailability-form-asset-"] > .row > .col-md-5 {
            margin-left: 0px !important;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 div {
      width: 100%;
      left: 0;
  }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) {
      order: 2;
        
      width: 100% !important;
  }
      [id^="sr-checkavailability-form-asset-"] > .row > .col-md-2 {width: 100%;}
      .col-md-5 > .row > .col-md-9 > .room_num_row >  .row {
        margin: 0px;
      }
      .col-md-5 > .row > .col-md-9 {
        margin: 0;
      padding-right: 0;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) {
      order: 1;
      width: 98% !important;
  }
   .asset-address_2 {
     text-align: center;
   }
      .asset-address_2 > a {
        padding: 16px 32px 18px 32px !important;
      border-radius: 4px;
      background-color: #91b54d;
      color: white;
      }
      .col-md-2 .d-grid .btn-secondary {
        width: 100%
        }
      .even > .row {
        display: block
      }
      .reservation_asset_item .col-md-4  {
        
        background-color: #ffffff00 !important;
    
      }
      .row > .col-md-5 > .row > .col-md-6 {
    padding-left: calc(var(--bs-gutter-x)* .5);
  }
      .room_type_details {
        padding: 0px !important;
      }
      .roomtype_name h4 {
font-family: Raleway;
font-size: 20px;
font-weight: 600;
line-height: 26px;
text-align: left;
text-underline-position: from-font;
text-decoration-skip-ink: none;

      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 > .input-group {
        padding-right: 0px !important;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 {
        padding-left: 0px;
        padding-right: calc(var(--bs-gutter-x)* .5);
        width: 100% !important;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) {
    order: 1;
        
    width: 100% !important;
}
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-9 > .room_num_row {
        margin-right: 3px;
      }
      [id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(2) > .row > .col-md-9 > .room_num_row > .row{
        background-color: white;
      }
          
      }

@media (max-width: 768px) {
  .other-photos {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .other-photos .sr-photo {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .other-photos .photo {
    width: 75px;
    height: 75px;
    object-fit: cover;
    border-radius: 4px;
  }
}
@media (max-width: 768px) {
  .sr-facilities {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding: 10px 0;
    margin: 0;
    white-space: nowrap;
    margin-left: 12px;
  }
}
#sp-side-panel #sp-sidepanel {	
	background: transparent !important;
	}
.booking-instructions {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

  .sr-facilities li {
    flex: 0 0 auto;
    scroll-snap-align: start;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    white-space: nowrap;
  }

  .sr-facilities svg {
    flex-shrink: 0;
  }
}
@media (max-width: 768px) {
  /* Подстрой под точный селектор описания — временно пример */
  .sr-description, .room-description, .hotel-description {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s ease;
  }

  .sr-description.expanded,
  .room-description.expanded,
  .hotel-description.expanded {
    max-height: none;
  }

  .read-more-toggle {
    display: inline-block;
    margin-top: 8px;
    background-color: #198754;
    color: white;
    padding: 6px 14px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
  }
}
@media (max-width: 768px) {
  #tariff-holder-23 {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 16px;
  }

  #tariff-holder-23 .tariff-box {
    flex: 0 0 83vw;
    scroll-snap-align: start;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #fff;
    padding: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  }

  #tariff-holder-23 .tariff-value {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
    display: flex;
    flex-wrap: wrap;
  }

  #tariff-holder-23 .tariff-title-desc p {
    font-size: 14px;
    line-height: 1.4;
  }

  #more_desc {
    display: none; /* Скрываем эту кнопку, если она только декоративная */
  }
}
@media (max-width: 768px) {

  .sp-module-content .container {
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
  }


  .sp-module-content .col-1 {
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    display: block !important;
  }

  /* Размеры иконок */
  .sp-module-content img {
    height: auto;
    display: block;
  }
}
#sp-side-panel {
  position: fixed !important;
  right: 20px !important; /* Отступ от правого края */
  bottom: 300px !important; /* Отступ от нижнего края */
  z-index: 110 !important; /* Чтобы было поверх других элементов */
}

/* Стили для иконок */
#sp-side-panel a {
  display: block;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  background-size: contain;
  background-repeat: no-repeat;
}


@media (max-width: 768px) {
  /* Убрать тень */
  .carousel {
    box-shadow: none !important;
  }

  /* Сделать изображение и галерею во всю ширину */
  .room_type_gallery,
  .room_type_gallery .carousel,
  .room_type_gallery .carousel-inner,
  .room_type_gallery .carousel-item,
  .room_type_gallery img {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Убрать отступы у колонки */
  .room_type_gallery.col-md-4 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Убедиться, что в строке ничего не ограничивает ширину */
  .room_type_row .row {
    margin: 0 !important;
    padding: 0 !important;
  }
  .room_type_row {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* мягкая тень */
    border-radius: 12px;                      /* скругление углов */
    margin-bottom: 20px;                      /* отступ между карточками */
    padding: 0;
    background-color: #fff;                   /* если фон не установлен */
    transition: box-shadow 0.3s ease;
}

.room_type_row:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); /* усиленная тень при наведении */
}
}

/* Только для мобильной версии */
@media (max-width: 768px) {
  .asset-gallery .sr-gallery-container {
    flex-direction: column;
  }

  .asset-gallery .main-photo {
    width: 100% !important;
    margin-bottom: 15px;
  }

  .asset-gallery .other-photos {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 12px;
    padding-bottom: 10px;
    margin-left: 0;
    margin-right: 0;
  }

  .asset-gallery .other-photos a {
    flex: 0 0 auto;
    width: 75px;
    height: 75px;
    display: block;
  }

  .asset-gallery .other-photos img.photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }

  .asset-gallery .other-photos::-webkit-scrollbar {
    height: 8px;
  }

  .asset-gallery .other-photos::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
  }
}

@media (max-width: 768px) {
  .asset-gallery .sr-gallery-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 12px;
    padding-bottom: 10px;
  }

  .asset-gallery .main-photo {
    flex: 0 0 auto;
    width: 70vw;
    max-width: 300px;
    height: auto;
  }

  .asset-gallery .main-photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }

  .asset-gallery .other-photos {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 10px;
  }

  .asset-gallery .other-photos a {
    flex: 0 0 auto;
    width: 70vw;
    max-width: 300px;
    height: auto;
  }

  .asset-gallery .other-photos img.photo {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }

  /* Скрытие скроллбара (по желанию) */
  .asset-gallery .sr-gallery-container::-webkit-scrollbar,
  .asset-gallery .other-photos::-webkit-scrollbar {
    display: none;
  }
  .asset-gallery img.photo {
  image-rendering: auto;
}
.asset-gallery .other-photos span {
  display: none !important;
}

.asset-gallery img.photo {
  filter: none !important;
  image-rendering: auto;
}
.asset-gallery img.photo {
  filter: none !important;
  image-rendering: auto;
  width: auto;
  height: auto;
  object-fit: cover;
  border-radius: 4px;
}
.sr-facilities::-webkit-scrollbar {
  display: none;                /* Chrome, Safari */
}

/* Удаляет box-shadow у всех блоков тарифов */
#tariff-holder-23 .tariff-box {
	box-shadow: none !important;
	border: none !important; /* если нужна полная "плоскость" */
}
#tariff-holder-23 .tariff-box * {
	box-shadow: none !important;
}
/* Убираем тени у всех тарифных карточек */
#tariff-holder-23 .tariff-box {
    box-shadow: none !important;
    border: none !important;
}

/* На всякий случай убираем тени у вложенных элементов и псевдоэлементов */
#tariff-holder-23 .tariff-box *,
#tariff-holder-23 .tariff-box::before,
#tariff-holder-23 .tariff-box::after {
    box-shadow: none !important;
}
.tariff-title-desc p {
    display: none !important;
}
  .tariff-title-desc p {
    display: none !important;
}
.room_type_row,
.tariff-box,
.tariff-value,
.tariff-title-desc {
    box-shadow: none !important;
}
.room_type_row .carousel-item img {
    border-radius: 0px !important;
    border: none !important;
    overflow: visible !important;
}
.room_type_row img.rounded,
.room_type_row img.img-thumbnail {
    border-radius: 0 !important;
}
  /* Убираем скругления и обеспечиваем чёткость */
.asset-gallery img,
.sr-gallery-container img,
.sr-photo img,
img.photo {
    border-radius: 0 !important;
    image-rendering: auto !important; /* или: crisp-edges / high-quality */
    display: block;
    max-width: 100%;
    height: auto;
}

/* Выравнивание в строку */
.sr-gallery-container.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px;
}

/* Галерея: ширина превью */
.sr-gallery-container .main-photo,
.sr-gallery-container .other-photos {
    flex: 0 0 auto;
}

.main-photo img {
    width: 200px;
    height: auto;
}

.other-photos img {
    width: 75px;
    height: auto;
}

/* Убираем перенос строк и лишнее поведение */
.other-photos {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px;
}
/* Контейнер для галереи */
.sr-gallery-container.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    gap: 10px;
    padding: 10px 0;
    scroll-behavior: smooth;
}

/* Отключаем переносы и делаем все фото в строку */
.main-photo,
.other-photos {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px;
}

/* Сами изображения — без скруглений и резкие */
.sr-gallery-container img,
.sr-gallery-container .photo {
    border-radius: 0 !important;
    width: auto;
    height: 100px;
    object-fit: cover;
    flex-shrink: 0;
    image-rendering: auto;
}

  .sr-gallery-container.row {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  gap: 10px;
  padding: 10px 0;
}

.sr-gallery-container .main-photo,
.sr-gallery-container .other-photos {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px;
}

.sr-gallery-container img,
.sr-gallery-container .photo {
  border-radius: 0 !important;
  height: 100px;
  object-fit: cover;
  flex-shrink: 0;
}
/* Убираем скругление у всех изображений */
.asset-gallery img,
.asset-gallery .photo,
.asset-gallery .main-photo img {
  border-radius: 0 !important;
  image-rendering: auto;
}

/* Размещаем main-photo и other-photos в одну строку */
.sr-gallery-container.row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 10px;
  align-items: flex-start;
}

/* Настройка главного изображения */
.sr-gallery-container .main-photo {
  flex: 0 0 auto;
  max-width: 60%;
}

.sr-gallery-container .main-photo img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Остальные миниатюры — в строку */
.sr-gallery-container .other-photos {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  flex: 1;
}

/* Настройка миниатюр */
.sr-gallery-container .other-photos img {
  height: 100px;
  width: auto;
  object-fit: cover;
  filter: none !important; /* убираем затемнение */
  image-rendering: auto;
}

img {
  image-rendering: auto;
  filter: none !important;
  object-fit: cover;
  border-radius: 0 !important;
}

/* Общее контейнер делает все горизонтальным и скроллящимся */
.sr-gallery-container.row {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  gap: 10px;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

/* Отключаем стандартную Bootstrap-сетку */
.sr-gallery-container.row > .main-photo,
.sr-gallery-container.row > .other-photos {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Главное изображение */
.main-photo img {
  height: 120px;
  width: auto;
  object-fit: cover;
  border-radius: 6px;
  scroll-snap-align: start;
  image-rendering: auto;
  image-rendering: crisp-edges;
}

/* Миниатюры в один ряд */
.other-photos {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  scroll-snap-type: x mandatory;
}

.other-photos a {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.other-photos img {
  width: 75px;
  height: 75px;
  object-fit: cover;
  border-radius: 4px;
  image-rendering: auto;
  image-rendering: crisp-edges;
}
.other-photos img,
.main-photo img {
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: pixelated; /* временно, для проверки */
}
.sr-gallery-container.row {
  scroll-snap-type: none !important;
}
  
/* Поднимаем изображение выше */
.main-photo img {
  position: relative;
  z-index: 1;
}

.fr_pan {
  z-index: 2 !important;
  pointer-events: none;
}
/* Общее ограничение высоты всех изображений */
.sr-gallery-container img {
  height: 120px; /* или подбери под макет: 100px, 150px */
  width: auto;
  object-fit: cover;
  border-radius: 4px;
  image-rendering: auto;
  image-rendering: crisp-edges;
}

.sr-gallery-container.row {
  align-items: stretch; /* выравнивание по высоте */
}
.main-photo,
.other-photos a {
  display: flex;
  align-items: center;
}
.sr-gallery-container.row {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

/* Уравниваем по высоте */
.sr-gallery-container .main-photo,
.sr-gallery-container .other-photos {
  height: 180px; /* или любое значение, например 200px */
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Все изображения — вписываются без искажений */
.sr-gallery-container img {
  height: 100%;
  width: auto;
  object-fit: cover;
  border-radius: 6px;
}
.sr-gallery-container img {
  image-rendering: crisp-edges; /* для Chrome и Firefox */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: pixelated; /* как вариант, если нужно прям пиксельно */
}

img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}
.sr-gallery-container img {
  /* Не растягивать миниатюру */
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; /* Safari/Chrome */
  image-rendering: crisp-edges;               /* Firefox/Chrome */
  image-rendering: pixelated;                 /* Для проверки */
}


}

@media (max-width: 768px) {
  #asset-desc {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    padding-bottom: 15px !important;
  }
}

@media (max-width: 768px) {
  .asset-address_2 {
    margin-bottom: 0 !important;
  }

  /* Удалить/уменьшить отступы вокруг табов */
  joomla-tab {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Иногда padding у родителя */
  .asset-tabs,
  .asset-info {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
@media (max-width: 768px) {
  .asset-info > .asset-social {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .asset-info {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 12px;
    background: #ffffff;
    padding: 20px;
    margin-bottom: 0px !important;
    position: relative !important;
    bottom: 20px !important;
    z-index: 10 !important;
  }

  joomla-tab {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
@media (max-width: 768px) {
.sr-review-widget {
  display: flex;
  height: 40px; /* финальная высота */
  border: 2px solid #91b54d;
  border-radius: 12px;
  overflow: hidden;
  font-size: 16px;
  line-height: 1;
}
  a[href="#book-form"] {
  display: none !important;
}


.review-score-badge {
  background-color: #91b54d;
  color: white;
  font-weight: bold;
  width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-radius: 0;
}

.review-score-text {
  padding: 0 12px;
  display: flex;
  align-items: center;
  height: 100%;
  color: #666;
}

}
.sr-review-widget {
  display: inline-flex;
  border: 1px solid #ccc;
  border-radius: 6px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  height: 28px; /* точно подогнанное значение */
  font-size: 14px;
  line-height: 1;
}

.review-score-badge {
  background-color: #91b54d;
  color: white;
  font-weight: bold;
  padding: 0 8px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0; /* убрать если не нужен скруглённый край */
}

.review-score-text {
  color: #666;
  padding: 0 10px;
  display: flex;
  align-items: center;
  height: 100%;
}
.other-photos {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}

.other-photos::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}
}
@media (max-width: 768px) {
  .other-photos {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;

    height: auto;
    max-height: 120px;
    padding-bottom: 0px;
    margin-bottom: -30px; /* !!! смещаем сам скролл вниз */

    scrollbar-width: none; /* Firefox */
  }

  .other-photos::-webkit-scrollbar {
    height: 0 !important;
    display: none;
  }

  .other-photos > a {
    flex: 0 0 auto;
  }

  .other-photos img {
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
  }
}
@media (max-width: 768px) {
  .sr-gallery-container {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
  }

  .sr-gallery-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari и Edge */
  }
}

@media (max-width: 768px) {
  .mobile-gallery-swiper {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    height: 40vh;
    position: relative;
    overflow: hidden;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .mobile-gallery-swiper .swiper-container {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 0px !important;
  }

  .mobile-gallery-swiper .swiper-wrapper {
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box;
    padding: 0 !important; 
  }

  .mobile-gallery-swiper .swiper-slide {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 16/9; 
    overflow: hidden;
  }

  .mobile-gallery-swiper .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
    border-radius: 0px !important;
  }
  .mobile-gallery-swiper {
    width: 100vw;
    height: 40vh;
    box-sizing: border-box;
    padding: 0 !important;
  }

  .mobile-gallery-swiper .swiper-slide {
    /* width: calc(100% - 20px) !important;
    margin-right: 20px !important;  */
    height: 100%;
    border-radius: 0px !important;
  }

  /* Убираем margin у последнего слайда */
  .mobile-gallery-swiper .swiper-slide:last-child {
    margin-right: 0 !important;
  }
  #asset-checkavailability-form {
    padding: 0 15px !important;
  }
}


body, html {
  overflow-x: hidden !important;
  width: 100% !important;
}

.parent-container {
  width: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.asset-description-wrapper {
  overflow: hidden;
  position: relative;
}

@media (max-width: 768px) {
  .asset-description-wrapper.collapsed {
      max-height: 170px !important;
  }
  .btn-read-more {
      width: 90%;
      font-size: 15px;
      padding: 10px 0;
      border: none !important;
      background-color: white !important;
      color: #91B54D !important;
      line-height: 14px !important;
  }
}

@media screen and (max-width: 950px) {
  .availability-search > h3, .btn, .btn.show-inquiry-form {
      font-weight: 700 !important;
      text-align: center !important;
      font-family: Arimo !important;
  }
  #sp-akkordeon {
    padding: 30px 15px 40px 15px !important; 
  }
}
.sticky-tablist {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  transition: box-shadow 0.2s;
}
.tablist-placeholder {
  display: none !important;
  width: 100%;
  height: 48px;
}
@media (max-width: 768px) {
  .sticky-tablist {
    position: sticky !important;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 100;
  }
  .tablist-placeholder {
    display: none;
  }
  .booking-summary {
    color: #7DA139 !important;
  }
  #sp-feedbacks {
    padding: 15px 15px 15px 15px !important;
  }
  .sr-facilities {
    gap: 2px !important;
  }
  .carousel-inner {
    border-radius: 0px !important;
  }
}

.mod-feedback-list {
  padding: 14px !important;
}


.offcanvas-menu {
display: none !important;
}

.read-more-text {
    color: #7DA139 !important;
    font-size: 15px;
    cursor: pointer;
    display: inline-block;
    margin-left: 2px;
}
.hidden-after-btn {
    display: none;
}
.hidden-after-btn.show {
    display: inline;
}
.booking-summary {
  color: #7DA139 !important;
}

.sp-scroll-up {
    position: fixed;
    right: 24px;
    bottom: 32px;
    z-index: 9999;
    display: none;
    background: #198754;
    color: #fff;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    box-shadow: 0 4px 16px rgba(25, 135, 84, 0.18);
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 28px;
    transition: opacity 0.2s, visibility 0.2s, background 0.2s;
    opacity: 0.92;
    border: none;
    outline: none;
    cursor: pointer;
}
.sp-scroll-up:hover {
    background: #157347;
    color: #fff;
    opacity: 1;
}
.sp-scroll-up .fa-angle-up {
    font-size: 28px;
    line-height: 52px;
    vertical-align: middle;
}

.review-row {
  display: flex;
  gap: 8px; 
  align-items: center;
  flex-wrap: wrap; 
  margin-top: 12px;
}

.custom-text-badge.reviews {
  color: #666; 
  padding: 4px 12px;
  border-radius: 6px;
}

.custom-text-badge {
  color: #666;
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: 400;
}
.custom-text-badge:nth-child(1) { /* Первый элемент (отзывы) */
  background: #e9f0db;
}
.custom-text-badge:nth-child(2) { /* Второй элемент (отзывы) */
  background: #fffad1;
}
#sr-advancedsearch-form-195 {
  max-width: 1320px !important; 
  margin: 0 auto !important; 
  width: 100% !important;
}
.sbe4 {
  height: 100% !important;
}
.sbe4 > button {
  width: 100% !important;
  height: 100% !important;
}
.op-call {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 15px;
}

.tariff-box {
  margin-bottom: 20px; 
  padding: 15px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

.room_type_row {
  margin-bottom: 30px; 
}

.tariff-box h4 {
  margin-bottom: 10px;
  color: #333;
  font-size: 16px;
}

.tariff-box .price {
  font-size: 18px;
  font-weight: bold;
  color: #2a6496;
  margin: 8px 0;
}

.tariff-box .select-tariff-btn {
  display: block;
  width: 100%;
  padding: 10px;
  background: #91b54d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  margin-top: 15px;
}

#sp-footer {
  background: #f8f9fa; 
  padding: 30px 0;
  background: #373737;
}

#sp-footer .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#sp-footer .row {
  width: 100%;
  justify-content: center;
  margin: 0 auto;
  max-width: 800px; 
}

#sp-footer .col-md-3,
#sp-footer .col-md-6 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
}

.phone-header,
.email-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  text-decoration: none;
  font-size: 16px;
  margin: 5px 0;
}

.phone-header img,
.email-link img {
  margin-right: 8px;
}

.social-footer {
  margin-top: 20px;
}

.alert.alert-warning .fa.fa-info-circle {
  position: absolute;
  left: 15px; 
  top: 50%; 
  transform: translateY(-130%); 
  margin-right: 10px; 
}

.alert.alert-warning {
  background-color: #F9F9FA !important;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  padding: 10px 15px;
  position: relative;
  padding-left: 40px; 
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
  #sp-footer {
    padding: 20px 0;
    background: #373737;
  }
  
  #sp-footer .col-md-3,
  #sp-footer .col-md-6 {
    padding: 8px 10px;
  }
}
.input-group-text {
  display: none !important;
}
.form-floating > label {
  padding: 1rem .75rem !important;
}
.room_num_row .room_num_label {
  margin: 0 !important;
}
.sbe3 > .form-floating {
  padding-right: 0px !important;
}
.carousel-inner {
  width: 100% !important;
}
.room_type_gallery img {
  width: 100%;
  height: auto; 
  display: block;
}
.checkin_roomtype, .datefield, .form-control {

}
.sbe4 > .form-floating {
  padding-left: 4px;
  padding-right: 4px;
}

@media (max-width: 768px) {
  #tariff-holder-23 .col-md-9 {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: 5px;
    padding: 0;
    margin: 0;
    background: none;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-left: 12px;
  }
  .sbe4 > .form-floating {
    padding-left: 0px;
    padding-right: 0px;
}
  #tariff-holder-23 .col-md-9 > .tariff-box {
    flex: 0 0 82vw;      
    max-width: 340px;   
    min-width: 220px;
    scroll-snap-align: start;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    border: 1px solid #ddd;
    padding: 16px;
    margin: 0;           
  }
  #tariff-holder-23 .col-md-9 > .tariff-box:last-child {
    margin-right: 0;
  }
  #tariff-holder-23 .col-md-9::-webkit-scrollbar {
    display: none;
  }
    #tariff-holder-19 {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px 0;
    gap: 10px; 
    scrollbar-width: thin; 
    scrollbar-color: #ccc #f5f5f5; 
}
  .review-row {
    position: relative;
    top: 12px;
  }
  .tariff-box > .row > .col-md-9 > .tariff-value, .tariff-box > .row > .col-md-9 > .col-md-3 {
    padding-bottom: 0 !important;
  }
  .even > div:nth-child(2) div .row .col-md-9 .tariff-title-desc {
    margin: 0;
  }
  .tariff-title-desc {
    padding: 0 !important;
  }
  .tariff-box:nth-of-type(n+3) {
    display: block !important;
  }
  div[role="tablist"] {
    margin: 0;
    padding-top: 18px;
    padding-bottom: 14px;
  }
  .min_tariff {
    padding-right: 1%;
  }

#tariff-box-23-3371 .row {
  display: flex;
  align-items: center; 
  gap: 15px; 
}
#error_0_3373_23 {
  padding-left: 10px !important;
}

#tariff-box-23-3371 .col-md-9 {
  flex-grow: 1; 
}

.alert.alert-warning .fa.fa-info-circle {
  transform: translateY(-270%);
}
.room-form-item {
  padding-top: 24px;
}
.btn-success {
  margin-top: 18px;
}
.even .tariff-button > .roomtype-quantity-selection {
  min-width: 140px;
}
.toggle_breakdown .toggle_section {
  margin-left: 4px;
}

[id^="sr-checkavailability-form-asset-"] .row .col-md-5:nth-child(1) .row .col-md-6 {
  width: 50% !important ;
}


.col-md-4.form-floating.unstackmobile-1,
.col-md-4.form-floating.unstackmobile-2 {
  display: inline-block;
  width: 49.9%;
  vertical-align: top;
}

.col-md-4.form-floating.unstackmobile-2 {
  margin-right: 0;
}

.col-md-4.p-0 {
  display: block;
  width: 100%;
  margin-bottom: 2px !important;
}
@media (min-width: 768px) {
  .col-12 {
      padding: 8px !important;
  }
}
.mobile-gallery-swiper {
  overflow: hidden;  
}
.tariff-box:nth-of-type(n+3) {
  display: none;
}
.show-all-tariffs .tariff-box {
display: block !important;
} 
.tariff-button .d-grid .gap-2 {
  padding: 0px !important;
}
#sp-feedbacks {
  padding: 15px 0px 15px 0px !important;
}

#error_0_3372_23 {
  padding: 10px 15px !important;
  margin-top: 8px;
}
.child-age-details {
  margin-top: 12px;
}
#asset-feedback {
  padding: 0 8px !important;
}
.room-type-gallery-inner {
  height: auto !important; 
}