/* Layout shared only by the four room detail pages. */
.room-intro {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 100px;
}

.room-intro > div > p {
    color: var(--muted);
}

.room-capacity {
    margin-block: 25px 40px;
    padding-block: 15px;
    border-block: 1px solid var(--line);
}

.room-capacity span {
    margin-inline: 15px;
}

.room-intro h3 {
    font-size: 22px;
}

.amenities {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
    font-size: 13px;
    color: var(--muted);
}

.amenities li::before {
    content: "＋";
    margin-right: 8px;
    color: var(--khaki);
}

.booking-aside {
    padding: 35px;
    background: #ebe5d9;
    align-self: start;
}

.booking-aside > p:nth-child(2) {
    margin-top: 25px;
    font-size: 13px;
}

.price-number {
    font-family: Georgia, serif;
    font-size: 40px;
    margin: 5px 0 15px;
    line-height: 1.6;
}

.price-number small {
    font-size: 13px;
}

.booking-aside .button {
    display: flex;
    margin-top: 25px;
}

.booking-aside .text-link {
    display: flex;
    font-size: 13px;
    margin-top: 10px;
}

.back-link {
    margin-top: 35px;
}

@media (max-width: 1000px) {
    .room-intro {
        gap: 40px;
    }
}

@media (max-width: 650px) {
    .room-intro {
        grid-template-columns: 1fr;
    }
    .booking-aside {
        padding: 28px;
    }
    .room-album .photo-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .room-album .photo-grid img {
        aspect-ratio: 1.4;
    }
}
