/* V2 room cards — structured, editorial and intentionally distinct from V1. */
#rooms .title-hexagone {
    position: relative;
    padding: 0 0 9px;
    color: #10283d;
    font-size: 25px;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.25;
    text-transform: none;
}
#rooms .title-hexagone::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38px;
    height: 2px;
    background: #c8a45d;
    content: "";
}

#result-rooms-hexagone > .row { margin-bottom: 22px; }

#result-rooms-hexagone .room-card-hexagone {
    overflow: hidden;
    padding: 0;
    background: #fff;
    border: 1px solid #cbc8bd;
    border-radius: 0;
    box-shadow: 0 12px 34px rgba(16, 22, 19, .055);
}

.cozy-room-gallery {
    padding: 18px !important;
    background: #f4f1e8;
    border-right: 1px solid #ded9ca;
}

.cozy-room-gallery .img-container-hexagone { padding: 0; }
.cozy-room-gallery .w3-content { max-width: none !important; }
.cozy-room-gallery .img-hexagone {
    width: 100%;
    height: 275px;
    min-height: 275px;
    object-fit: cover;
    background: #dedbd2;
    border: 0;
    border-radius: 0;
}

.cozy-room-gallery .w3-row-padding {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 7px 0 0 !important;
    padding: 0 !important;
}
.cozy-room-gallery .w3-row-padding::before,
.cozy-room-gallery .w3-row-padding::after {
    display: none !important;
    content: none !important;
}
.cozy-room-gallery .w3-col.s3 {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    padding: 0;
}
.cozy-room-gallery .w3-col.s3 img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 58px;
    object-fit: cover;
    border: 1px solid transparent;
    cursor: pointer;
}
.cozy-room-gallery .w3-opacity-off { border-color: #c5a34a !important; opacity: 1 !important; }

.cozy-room-gallery .amenities-container-hexagone {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 15px;
}
.cozy-room-gallery .amenity-item {
    width: auto;
    max-width: none;
    padding: 7px 8px !important;
    color: #515954;
    background: rgba(255, 255, 255, .72);
    border: 1px solid #dfdbce;
    font-size: 10px;
    font-weight: 600;
}
.cozy-room-gallery .amenity-item i { margin-right: 5px; color: #b18d34; }

.cozy-room-details { padding: 0 !important; }
.cozy-room-details .list-room-container-hexagone { height: 100%; padding: 0 !important; }
.cozy-room-intro { padding: 23px 26px 20px; }
.cozy-room-intro .text-room-hexagone {
    padding: 0 0 12px;
    color: #14231f;
    font-size: 23px;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.2;
    text-transform: none;
}

.cozy-room-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.cozy-room-facts .label-maximum-hexagone {
    width: auto;
    padding: 6px 9px !important;
    color: #626963;
    background: #f5f3ec;
    border: 1px solid #e0ddd3;
    font-size: 10px;
    line-height: 1.25;
}
.cozy-room-facts .label-maximum-hexagone i { color: #b18d34; }

.cozy-room-intro .description-hexagone {
    display: -webkit-box !important;
    overflow: hidden;
    margin: 5px 0 10px;
    color: #69706c;
    font-size: 12px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.cozy-room-intro .plus-informations-hexagone {
    color: #8d6a19;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}
.cozy-room-intro .plus-informations-hexagone::after { margin-left: 7px; content: "\2192"; }

.cozy-room-details .list-rates-container-hexagone > hr { display: none; }
.cozy-rate-row {
    align-items: center;
    margin: 0;
    padding: 17px 25px 17px 26px;
    border-top: 1px solid #e2dfd6;
    transition: background-color .2s ease;
}
.cozy-rate-row:hover { background: #faf8f2; }
.cozy-rate-copy { padding: 0 15px 0 0; }
.cozy-rate-copy .text-rate-hexagone {
    display: block;
    padding: 0;
    color: #17231f;
    border: 0;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.35;
}
.cozy-rate-copy .desc-rate-hexagone { display: none; }
.cozy-rate-copy .condition-rate-hexagone,
.cozy-rate-copy .pension-rate-hexagone {
    margin-top: 4px;
    color: #68706b;
    font-size: 10px;
    line-height: 1.35;
}
.cozy-rate-copy .pension-rate-hexagone { color: #33775a; font-weight: 650; }

.cozy-rate-action { min-width: 0; padding: 0 0 0 10px; }
.cozy-rate-price {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-end;
}
.cozy-rate-price .prix-span {
    color: #17231f;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}
.cozy-rate-price .nuit-span { margin-top: 3px; color: #8a8f8b; font-size: 9px; }
.cozy-rate-price .btn-booking {
    min-height: 44px;
    width: 150px !important;
    min-width: 0;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 9px 10px !important;
    color: #fff !important;
    background: #10283d !important;
    border: 1px solid #10283d !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    overflow: hidden;
    font-size: 9px !important;
    font-weight: 750;
    letter-spacing: .035em;
    line-height: 1.2;
    white-space: nowrap;
    text-shadow: none !important;
    text-transform: uppercase;
}
.cozy-rate-price .btn-booking:hover { background: #24465f !important; border-color: #24465f !important; }
.cozy-rate-price .btn-booking:disabled { color: #777 !important; background: #e8e6df !important; border-color: #dedbd2 !important; }

@media (max-width: 991px) {
    .cozy-room-gallery { border-right: 0; border-bottom: 1px solid #ded9ca; }
    .cozy-room-gallery .img-hexagone { height: 330px; }
}

@media (max-width: 767px) {
    #result-rooms-hexagone .room-card-hexagone { margin: 0; }
    .cozy-room-gallery { padding: 11px !important; }
    .cozy-room-gallery .img-hexagone { height: 230px; min-height: 230px; }
    .cozy-room-gallery .amenities-container-hexagone { grid-template-columns: 1fr 1fr; }
    .cozy-room-intro { padding: 19px 17px 17px; }
    .cozy-room-intro .text-room-hexagone { font-size: 20px; }
    .cozy-rate-row { padding: 16px 17px; }
    .cozy-rate-copy { padding: 0; }
    .cozy-rate-action { margin-top: 14px; padding: 0; }
    .cozy-rate-price { align-items: flex-end; }
}
