/* Карточка жилья (single, zilye-*) — перенос из сниппета 1251.
   Slick заменён на Swiper. Основной шрифт блока — Open Sans. */

.zilye-gallery-container { margin: 0 auto 20px; max-width: 1200px; padding: 0; }
.zilye-gallery-container * { font-family: 'Open Sans', sans-serif; }
.zilye-gallery-container .breadcrumbs a { color: #037fff; text-decoration: none; }

.zilye-main-layout { display: flex; gap: 20px; width: 100%; margin-top: 25px; }
.main-slider-wrapper { width: 791px; max-width: 791px; position: relative; }
.right-side-container { display: flex; flex-direction: column; gap: 20px; width: 354px; flex-shrink: 0; }

/* Главный слайдер */
.zilye-main-slider { position: relative; border-radius: 4px; overflow: hidden; height: 527px; }
.zilye-main-slider .slide-item { position: relative; height: 527px; }
.zilye-main-slider img { width: 100%; height: 527px; object-fit: cover; display: block; }
.zilye-title-badge { position: absolute; top: 24px; left: 24px; background: #fff; border-radius: 500px; padding: 6px 12px; display: inline-flex; align-items: center; max-width: calc(100% - 48px); z-index: 2; }
.zilye-title-badge span, .zilye-title-badge h1.zilye-title-h1 { font-size: 16px; font-weight: 400; color: #777; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; padding: 0; line-height: inherit; display: inline; }
.zilye-slide-counter { position: absolute; bottom: 15px; right: 15px; color: #fff; font-weight: 600; font-size: 18px; z-index: 1; text-shadow: 0 0 4px rgba(0,0,0,.5); }
.zilye-main-slider .zilye-nav-prev, .zilye-main-slider .zilye-nav-next {
    position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%;
    background-color: rgba(29,29,31,.4); border: none; cursor: pointer; z-index: 10; background-repeat: no-repeat; background-position: center; }
.zilye-main-slider .zilye-nav-prev:hover, .zilye-main-slider .zilye-nav-next:hover { background-color: rgba(29,29,31,.7); }
.zilye-main-slider .zilye-nav-prev { left: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M10.5 1.5L2 10L10.5 18.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 12px 20px; }
.zilye-main-slider .zilye-nav-next { right: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M1.5 1.5L10 10L1.5 18.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 12px 20px; }

/* Миниатюры-папки */
.zilye-thumb-slider { margin-top: 14px; position: relative; width: 100%; overflow: hidden; }
.zilye-thumb-slider .swiper-slide { width: 190px; cursor: pointer; filter: grayscale(60%); opacity: .8; transition: all .3s ease; box-sizing: border-box; flex-shrink: 0; }
.zilye-thumb-slider .swiper-slide.thumb-active { filter: grayscale(0); opacity: 1; }
.zilye-thumb-slider .thumb-image-container { border-radius: 6px; overflow: hidden; margin-bottom: 5px; width: 100%; }
.zilye-thumb-slider .swiper-slide.thumb-active .thumb-image-container { border: 2px solid #FF0000; }
.zilye-thumb-slider img { width: 100%; height: 127px; display: block; object-fit: cover; }
.zilye-thumb-slider .thumb-caption { display: flex; justify-content: space-between; font-size: 14px; color: #555; }

/* Стрелки для слайдера миниатюр */
.zilye-thumb-slider .zilye-thumb-prev,
.zilye-thumb-slider .zilye-thumb-next {
    position: absolute;
    top: 63px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(29, 29, 31, 0.4);
    transition: background-color 0.3s ease;
    z-index: 10;
    border: none;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
}

.zilye-thumb-slider .zilye-thumb-prev:hover,
.zilye-thumb-slider .zilye-thumb-next:hover {
    background-color: rgba(29, 29, 31, 0.7);
}

.zilye-thumb-slider .zilye-thumb-prev {
    left: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M10.5 1.5L2 10L10.5 18.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: 8px 14px !important;
}

.zilye-thumb-slider .zilye-thumb-next {
    right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M1.5 1.5L10 10L1.5 18.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: 8px 14px !important;
}

/* frame-32, рейтинг, заголовок */
.frame-32 { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 20px; }
.frame-32 .location-info, .frame-32 .sea-distance { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 15px; color: #1D1D1F; }
.zilye-rating-block { display: flex; align-items: center; gap: 6px; margin-top: 12px; }
.zilye-rating-block .rating-value { font-weight: 600; }
.zilye-rating-block .rating-sep, .zilye-rating-block .reviews-count { color: #949494; }
.zilye-h2 { font-size: 28px; font-weight: 600; color: #1D1D1F; margin: 10px 0 16px; line-height: 1.35; }
.property-full-description { line-height: 1.6; color: #444; margin-bottom: 14px; }

/* Цены */
.price-section { width: 100%; margin-top: 14px; }
.price-section-title { font-size: 24px; font-weight: 600; color: #1D1D1F; margin-bottom: 0px; line-height: 1.35; }
.price-tabs-container { padding-bottom: 8px; margin-top: 16px; }
.price-tabs { display: flex; list-style: none; padding: 0; margin: 0; gap: 16px; }
.price-tab { padding: 0; cursor: pointer; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 1.3; color: #6E6E73; position: relative; }
.price-tab.active { color: #1D1D1F; font-weight: 600; }
.price-tab-content { display: none; }
.price-tab-content.active { display: block; }
.price-blocks-container { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 16px; }
.price-block { background-color: #F5F5F7; border-radius: 4px; padding: 6px 12px; text-align: center; flex-basis: calc(16.666% - 10px); flex-grow: 1; box-sizing: border-box; min-width: 110px; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.price-block-period { display: block; font-family: 'Open Sans', sans-serif; font-size: 14px; color: #6E6E73; line-height: 1.3; white-space: nowrap; }
.price-block-value { display: block; font-family: 'Open Sans', sans-serif; font-size: 18px; font-weight: 600; color: #1D1D1F; line-height: 1.3; }

/* Характеристики (зебра) */
.property-details-container { display: flex; flex-direction: column; gap: 16px; margin-top: 19px; }
.details-section h2, .location-section h2, .map-section h2, .video-section h2, .reviews-section h2 { font-size: 22px; font-weight: 600; color: #1D1D1F; margin: 0 0 16px; line-height: 1.35; }
.detail-item { display: flex; align-items: flex-start; padding: 10px 16px; gap: 10px; }
.details-section > div:nth-child(odd), .location-section > div:nth-child(odd) { background-color: #F9F9F9; }
.details-section > div, .location-section > div { border-radius: 8px; overflow: hidden; }
.detail-label { flex-shrink: 0; max-width: 40%; color: #6E6E73; line-height: 1.4; }
.detail-value { flex: 1; min-width: 0; word-wrap: break-word; color: #1D1D1F; }
.detail-item-multiline { display: flex; flex-direction: column; gap: 6px; padding: 10px 16px; }
.detail-item-multiline .detail-value { line-height: 1.6; }

/* Карта */
.map-section #yctp-property-map { width: 100%; height: 426px; border-radius: 4px; }

/* Видео */
.video-embed { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; border-radius: 8px; overflow: hidden; }
.video-embed iframe, .video-embed video { position: absolute; inset: 0; width: 100%; height: 100%; }
.uvideo { width: 100%; border-radius: 8px; }

/* Форма заявки (только для карточки жилья .zilye-form-container) */
.zilye-form-container { background: #EFF0F1; border-radius: 4px; overflow: hidden; height: fit-content; }
.zilye-form-container h2 { background-color: #EFF0F1; padding: 20px 20px 0px 20px; margin: 0; font-family: 'Open Sans', sans-serif; font-size: 24px; font-weight: 600; color: #1D1D1F; border-radius: 4px 4px 0 0; }
.zilye-form-container .yeisk-order-form { background-color: #EFF0F1 !important; padding: 0px 20px 20px 20px !important; border-radius: 0 0 4px 4px !important; }
.zilye-form-container .yeisk-order-form .form-group { margin-bottom: 0 !important; }
.zilye-form-container .yeisk-order-form .wpcf7-form-control-wrap { position: relative; display: block; padding-bottom: 0; margin-bottom: 12px !important; }
.zilye-form-container .yeisk-order-form .form-section-title { font-size: 14px !important; font-weight: 500 !important; color: #6C757D !important; margin: 4px 0 8px 0 !important; }

/* Поля ввода без обводки (border: none) с синей подсветкой при фокусе */
.zilye-form-container .yeisk-order-form input[type="text"],
.zilye-form-container .yeisk-order-form input[type="tel"],
.zilye-form-container .yeisk-order-form input[type="date"],
.zilye-form-container .yeisk-order-form input[type="email"] {
    background-color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    color: #1D1D1F !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    transition: box-shadow 0.15s !important;
}

.zilye-form-container .yeisk-order-form input[type="text"]:focus,
.zilye-form-container .yeisk-order-form input[type="tel"]:focus,
.zilye-form-container .yeisk-order-form input[type="date"]:focus,
.zilye-form-container .yeisk-order-form input[type="email"]:focus {
    border: none !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(3, 127, 255, 0.25) !important;
}

.zilye-form-container .yeisk-order-form .form-row {
    display: flex !important;
    gap: 12px !important;
}

.zilye-form-container .yeisk-order-form .counter-wrap {
    flex: 1 !important;
}

.zilye-form-container .yeisk-order-form .counter {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
}

.zilye-form-container .yeisk-order-form .counter-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    background-color: #FFFFFF !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #4F4F52 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.zilye-form-container .yeisk-order-form .counter-value {
    flex: 1 !important;
    min-width: 50px !important;
    height: 28px !important;
    background-color: #FFFFFF !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 3px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1D1D1F !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.zilye-form-container .yeisk-order-form input.wpcf7-date:not([type="date"]) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px 16px !important;
    padding-right: 36px !important;
}

.zilye-form-container .yeisk-order-form .checkbox-grid .wpcf7-checkbox {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    margin-top: 4px !important;
}

.zilye-form-container .yeisk-order-form .order-checkbox .wpcf7-checkbox {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

.zilye-form-container .yeisk-order-form .checkbox-grid .wpcf7-list-item,
.zilye-form-container .yeisk-order-form .order-checkbox .wpcf7-list-item,
.zilye-form-container .yeisk-order-form .radio-group .wpcf7-list-item {
    margin: 0 !important;
    display: inline-flex !important;
}

.zilye-form-container .yeisk-order-form .checkbox-grid label,
.zilye-form-container .yeisk-order-form .order-checkbox label,
.zilye-form-container .yeisk-order-form .radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1D1D1F !important;
}

.zilye-form-container .yeisk-order-form .checkbox-grid input[type="checkbox"],
.zilye-form-container .yeisk-order-form .order-checkbox input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    background-color: #DBDCDD !important;
    border: none !important;
    border-radius: 3px !important;
    margin: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    outline: none !important;
    box-shadow: none !important;
}

.zilye-form-container .yeisk-order-form .checkbox-grid input[type="checkbox"]:checked,
.zilye-form-container .yeisk-order-form .order-checkbox input[type="checkbox"]:checked {
    background-color: #DBDCDD !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='%23000000' stroke-width='2.2' fill='none' d='M3 9l3 3 7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 10px 10px !important;
    border: none !important;
}

.zilye-form-container .yeisk-order-form .radio-group .wpcf7-radio {
    display: flex !important;
    gap: 16px !important;
    margin-top: 4px !important;
}

.zilye-form-container .yeisk-order-form .radio-group input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    background-color: #DBDCDD !important;
    border: none !important;
    border-radius: 50% !important;
    margin: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    outline: none !important;
    box-shadow: none !important;
}

.zilye-form-container .yeisk-order-form .radio-group input[type="radio"]:checked {
    background-color: #DBDCDD !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23212529'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    border: none !important;
}

.zilye-form-container .yeisk-order-form .price-input-wrap {
    position: relative !important;
}

.zilye-form-container .yeisk-order-form .price-input-wrap input {
    padding-right: 28px !important;
}

.zilye-form-container .yeisk-order-form .price-input-wrap .currency-symbol {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #64748B !important;
    font-size: 15px !important;
    pointer-events: none !important;
}

.zilye-form-container .yeisk-order-form input[type="submit"].wpcf7-submit {
    background-color: #037FFF !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 12px !important;
    border-radius: 6px !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: background-color 0.15s !important;
    margin-top: 8px !important;
}

.zilye-form-container .yeisk-order-form input[type="submit"].wpcf7-submit:hover {
    background-color: #0266D6 !important;
}

.zilye-form-container .consent-text { font-size: 12px !important; color: #9B9B9B !important; margin-top: 10px !important; text-align: center !important; line-height: 1.3 !important; }

/* Отзывы */
.reviews-section { margin-top: 32px; }
.reviews-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
#add-review-button { margin: 0; }
.review-form-container { margin-top: 12px; margin-bottom: 20px; }
.review-form input, .review-form textarea { width: 100%; padding: 10px 12px; margin-bottom: 10px; border: 1px solid #E0E0E0; border-radius: 4px; box-sizing: border-box; background: #fff; }
.review-form .form-row { display: flex; gap: 12px; }
.review-form .rating-section { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.review-form .rating-stars { display: flex; gap: 4px; cursor: pointer; }
.review-item { background: #F5F5F7; border-radius: 8px; padding: 16px; margin-bottom: 12px; }
.review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.review-author { font-weight: 600; font-size: 16px; color: #1D1D1F; }
.review-location { font-size: 14px; color: #555; }
.review-date { font-size: 14px; color: #6E6E73; }
.review-content { line-height: 1.6; font-size: 15px; color: #444; }
.review-images { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.review-images img { width: 140px; height: 90px; object-fit: cover; border-radius: 4px; cursor: pointer; border: 1px solid #ddd; }
.reviews-empty { color: #666; padding: 12px 0; }

/* Лайтбокс галереи */
.zilye-lightbox {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,.95);
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999999 !important;
  padding: 10px;
  box-sizing: border-box;
  margin: 0 !important;
  transform: none !important;
}
.zilye-lightbox.active { display: flex; }
.zilye-lightbox .lb-close { position: absolute; top: 15px; right: 20px; font-size: 40px; color: #fff; cursor: pointer; background: none; border: none; z-index: 10; line-height: 1; }
.zilye-lightbox .lb-content { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.zilye-lightbox .lb-main-image { width: 100%; height: 85vh; position: relative; display: flex; justify-content: center; align-items: center; }
.zilye-lightbox img.main-img { max-width: 90vw; max-height: 85vh; object-fit: contain; display: block; }
.zilye-lightbox .lb-nav { position: absolute; top: 50%; transform: translateY(-50%); font-size: 3rem; color: rgba(255,255,255,.7); padding: 16px; cursor: pointer; background: none; border: none; }
.zilye-lightbox .lb-nav:hover { color: #fff; }
.zilye-lightbox .lb-prev { left: 10px; }
.zilye-lightbox .lb-next { right: 10px; }

@media (max-width: 991px) {
    .zilye-main-layout { flex-direction: column; }
    .main-slider-wrapper { width: 100% !important; max-width: 100% !important; }
    .right-side-container { display: none !important; }
    .zilye-thumb-slider { display: none !important; }
    .zilye-main-slider {
        width: 100% !important;
        aspect-ratio: 3 / 2 !important;
        height: auto !important;
        max-height: none !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #F3F4F6 !important;
    }
    .zilye-main-slider .slide-item {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: 3 / 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #F3F4F6 !important;
    }
    .zilye-main-slider img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 8px !important;
    }
    .map-section #yctp-property-map { width: 100% !important; }
}

@media (max-width: 768px) {
    .price-blocks-container { display: block !important; padding: 0 !important; box-sizing: border-box !important; margin-top: 10px !important; }
    .price-block { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; padding: 8px 0 !important; border-bottom: 1px solid #D9D9D9 !important; background: none !important; border-radius: 0 !important; text-align: initial !important; gap: 0 !important; }
    .price-block:last-child { border-bottom: none !important; }
    .price-block-period { font-family: 'Open Sans', sans-serif !important; font-size: 16px !important; font-weight: 400 !important; color: #1D1D1F !important; text-align: left !important; }
    .price-block-value { font-family: 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 600 !important; color: #1D1D1F !important; text-align: right !important; }
    #yctp-property-map { width: 100% !important; }
    .breadcrumbs span, .breadcrumbs a { font-family: 'Open Sans', sans-serif !important; font-weight: 400 !important; font-size: 16px !important; }
    .detail-item { align-items: flex-start !important; gap: 10px !important; }
    .detail-item .detail-label { flex-shrink: 0 !important; min-width: 100px !important; max-width: 60% !important; word-wrap: break-word !important; line-height: 1.4 !important; }
    .detail-item .detail-value { flex: 1 !important; word-wrap: break-word !important; min-width: 0 !important; }
    .reviews-section { margin-top: 2px !important; }
    #add-review-button { display: flex !important; align-items: center !important; justify-content: center !important; width: 156px !important; height: 45px !important; font-family: 'Open Sans', sans-serif !important; font-weight: 400 !important; font-size: 16px !important; white-space: nowrap !important; margin: 0 !important; }
    .reviews-section #review-form-container.form-hidden { display: none; }
}

@media (min-width: 769px) {
    #add-review-button { display: none !important; }
    .reviews-section #review-form-container { display: block !important; }
}

/* ===== Форма отзывов (из оригинала снипет 1291) ===== */
.review-form-container { background-color: #EFF0F1; padding: 24px; border-radius: 4px; max-width: 791px; margin: 20px 0; box-sizing: border-box; font-family: 'Open Sans', sans-serif; }
.review-form { display: flex; flex-direction: column; gap: 16px; }
.review-form h3 { font-family: 'Open Sans', sans-serif; font-weight: 600; font-size: 16px; color: #1D1D1F; margin: 0; }
.review-form .form-row { display: flex; gap: 12px; flex-wrap: wrap; }
.review-form .form-row input { flex: 1; min-width: 200px; }
.review-form .form-row input,
.review-form textarea { background-color: #FFFFFF; border: 1px solid transparent; border-radius: 6px; padding: 12px 16px; font-family: 'Open Sans', sans-serif; font-size: 16px; color: #1D1D1F; width: 100%; box-sizing: border-box; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.review-form textarea { padding: 16px; min-height: 120px; resize: vertical; }
.review-form input:focus,
.review-form textarea:focus { border-color: transparent !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(13,110,253,.25) !important; }
.review-form .form-row input::placeholder,
.review-form textarea::placeholder { color: #949494; font-weight: 400; }
.rating-section { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.rating-section .rating-label { font-size: 16px; color: #949494; }
.rating-stars { display: flex; gap: 12px; }
.rating-stars .star { width: 24px; height: 24px; cursor: pointer; transition: transform 0.2s ease-in-out, opacity 0.2s; }
.rating-stars .star.off { opacity: 0.3; }
.rating-stars .star:hover { transform: scale(1.2); }
.review-form button[type="submit"] { background-color: #007bff; color: #FFFFFF; border: none; border-radius: 6px; padding: 12px 16px; font-family: 'Open Sans', sans-serif; font-size: 16px; cursor: pointer; text-align: center; transition: background .2s, transform .1s; }
.review-form button[type="submit"]:hover { background: #0069d9; }
.review-form button[type="submit"]:active { transform: translateY(1px); }
.review-form-message.success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; padding: 15px; border-radius: 4px; text-align: center; }
.review-form-message.error { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; padding: 15px; border-radius: 4px; text-align: center; }

/* ===== Кнопка «Оставить отзыв» (из оригинала снипет 1251, строка 1938) ===== */
#add-review-button.btn-add-review {
    width: 156px;
    height: 45px;
    background-color: #007AFF;
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
#add-review-button.btn-add-review:hover {
    background-color: #0056CC;
}

