/* ── Cabins List ── */
.hotel-price-amount { color: #0f766e !important; font-weight: 800; }
.hotel-item:hover { box-shadow: 0 12px 40px rgba(0,0,0,.10); }
.hotel-img img { min-height: 220px; transition: transform .4s; }
.hotel-item:hover .hotel-img img { transform: scale(1.04); }

/* Badge și wishlist în afara hotel-img (ca flight-item) */
.hotel-item { position: relative; }

@keyframes badge-spotlight {
    0%        { left: -80%;  opacity: 0; }
    8%        { opacity: 1; }
    38%       { left: 130%;  opacity: 1; }
    39%, 100% { left: 130%;  opacity: 0; }
}
@keyframes badge-breathe {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.06); }
}

.hotel-item > .badge {
    position: absolute;
    right: -10px;
    top: 35px;
    z-index: 2;
    background: #0f766e;
    border-radius: 50px 50px 50px 0;
    padding: 8px 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    color: #fff;
    font-weight: 600;
    overflow: hidden;
    animation: badge-breathe 4s ease-in-out infinite;
}

.hotel-item > .badge::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -80%;
    width: 55px;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-18deg);
    animation: badge-spotlight 4s ease-in-out infinite;
    pointer-events: none;
}

.cabin-fav-form {
    margin: 0;
    line-height: 0;
}

.hotel-item > .add-wishlist,
.cabin-fav-form .add-wishlist,
.hotel-img > .add-wishlist,
.hotel-img .add-wishlist {
    width: 40px;
    height: 40px;
    background: #0f766e;
    border: 3px solid #fff;
    color: #fff;
    border-radius: 50px 50px 50px 0;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    left: -5px;
    bottom: -5px;
    z-index: 2;
    font-size: 14px;
    text-decoration: none;
}

.hotel-img .add-wishlist.is-wishlisted {
    background: #ef4444;
    border-color: #fff;
    color: #fff;
}

/* ── Location autocomplete dropdown ── */
/* Coloana locatie peste celelalte coloane Bootstrap */
.hotel-search-wrapper .col-lg-4:first-child { position: relative; z-index: 50; }
/* Dropdown apare deasupra icoanei (z-index mai mare + mai tarziu in DOM) */

.cabin-loc-drop {
    position: absolute;
    top: calc(100% + 4px);
    left: 0; right: 0;
    background: #fff;
    border: 1.5px solid #e5e9f0;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.15);
    max-height: 320px;
    overflow-y: auto;
    z-index: 9999;
}
.cabin-loc-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    cursor: pointer;
    transition: background .12s;
    border-bottom: 1px solid #f8fafc;
}
.cabin-loc-item:last-child { border-bottom: none; }
.cabin-loc-item:hover, .cabin-loc-item.active { background: #f0fdf4; }
.cabin-loc-item i { font-size: 14px; flex-shrink: 0; }
.cabin-loc-item.type-masiv     i { color: #0f766e; }
.cabin-loc-item.type-judet     i { color: #2563eb; }
.cabin-loc-item.type-localitate i { color: #7c3aed; }
/* indentarea e setata dinamic din JS via depth */
.cabin-loc-name { font-size: 14px; font-weight: 600; color: #1a1f36; }
.cabin-loc-path { font-size: 11px; color: #9ca3af; margin-top: 1px; }
.cabin-loc-empty { padding: 16px; text-align: center; color: #9ca3af; font-size: 13px; }

/* ── Filter show more/less ── */
.filter-toggle-btn {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    width: 100%; margin-top: 10px;
    background: linear-gradient(135deg, #14b8a6, #0f766e);
    border: none; color: #fff; font-size: 12px; font-weight: 700;
    cursor: pointer; padding: 8px 14px; border-radius: 8px;
    transition: opacity .2s;
}
.filter-toggle-btn:hover { opacity: .85; }

/* ── Price range slider (jQuery UI) ── */
.price-slider-wrap { padding: 8px 0 4px; }
.price-slider-labels { display:flex; justify-content:space-between; font-size:13px; font-weight:600; color:#1a1f36; margin-bottom:14px; }
.price-label-min, .price-label-max { background:#f0fdf4; color:#0f766e; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:700; }

#cabinPriceSlider.ui-slider {
    height: 6px;
    background: #e5e9f0;
    border: none;
    border-radius: 10px;
    margin: 0 8px;
}
#cabinPriceSlider .ui-slider-range {
    background: linear-gradient(90deg, #14b8a6, #0f766e);
    border-radius: 10px;
}
#cabinPriceSlider .ui-slider-handle {
    width: 20px;
    height: 20px;
    top: -7px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #0f766e;
    cursor: pointer;
    outline: none;
    box-shadow: 0 2px 6px rgba(15,118,110,.3);
    transition: box-shadow .15s;
}
#cabinPriceSlider .ui-slider-handle:hover,
#cabinPriceSlider .ui-slider-handle:focus {
    box-shadow: 0 0 0 4px rgba(15,118,110,.15);
}

/* ── Star rating widget ── */
.sp-wrap { display:flex; flex-direction:column; gap:10px; }
.sp-stars { display:flex; gap:6px; }
.sp-star {
    cursor:pointer; font-size:26px; line-height:1;
    transition:transform .12s, color .1s;
    color:#d1d5db;
}
.sp-star:hover, .sp-star.sp-hover { color:#f59e0b; transform:scale(1.2); }
.sp-star.sp-filled i, .sp-star.sp-hover i { color:#f59e0b; }
.sp-star i { pointer-events:none; color:inherit; }
.sp-star.sp-filled { color:#f59e0b; }
.sp-info { display:flex; align-items:center; gap:8px; min-height:22px; }
.sp-info-text { font-size:13px; font-weight:600; color:#0f766e; }
.sp-info-hint { font-size:12px; color:#9ca3af; }
.sp-clear {
    background:none; border:none; cursor:pointer; padding:2px 5px;
    color:#9ca3af; font-size:13px; border-radius:50%;
    transition:all .15s;
}
.sp-clear:hover { background:#fee2e2; color:#ef4444; }

@media (max-width: 768px) {
    .hotel-item { flex-direction: column; }
    .hotel-img { width: 100% !important; height: 220px; }
}

/* ── Paginare — identic cu flights ──────────────────────────────── */
#cabins-results .pagination .page-item .page-link,
.pagination-area .pagination .page-item .page-link {
    background: #f4f6fa !important;
    border: 1.5px solid #e8edf5 !important;
    color: #1a1f36 !important;
    font-weight: 600;
    border-radius: 8px !important;
    margin: 0 3px;
    transition: all .2s;
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#cabins-results .pagination .page-item.active .page-link,
.pagination-area .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #14b8a6, #0f766e) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(20,184,166,.35);
}
#cabins-results .pagination .page-item .page-link:hover,
.pagination-area .pagination .page-item .page-link:hover {
    background: linear-gradient(135deg, #14b8a6, #0f766e) !important;
    border-color: transparent !important;
    color: #fff !important;
}
#cabins-results .pagination .page-item.disabled .page-link,
.pagination-area .pagination .page-item.disabled .page-link {
    opacity: .45;
    pointer-events: none;
}
