/* bookQuode brand overrides. Kept out of the vendor style.css so template
   updates never clobber them. */

:root {
    --hq-orange: #F58906;
    --hq-orange-soft: rgba(245, 137, 6, 0.12);
    --hq-ink: #16202D;
}

/* ---------------------------------------------------------------------------
   "Where comfort meets elegance" advantages section
--------------------------------------------------------------------------- */

.hq-advantages {
    overflow: hidden;
}

.hq-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: var(--hq-orange-soft);
    color: var(--hq-orange);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.hq-advantages-copy h2 {
    line-height: 1.22;
}

.hq-advantages-lead {
    max-width: 52ch;
    margin-bottom: 28px;
}

.hq-advantage-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(22, 32, 45, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hq-advantage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(22, 32, 45, 0.1);
}

.hq-advantage-card .card-body {
    padding: 22px;
}

/* The template truncates these to one line; the copy is short enough to read
   in full, so let it wrap. */
.hq-advantage-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #5B6B7F;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
}

/* --- image collage --------------------------------------------------------- */

.hq-collage {
    position: relative;
    aspect-ratio: 1 / 1.02;
    max-width: 560px;
    margin-inline: auto;
}

.hq-collage-item {
    position: absolute;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(22, 32, 45, 0.16);
}

.hq-collage-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hq-collage-main {
    top: 5%;
    left: 0;
    z-index: 2;
    width: 58%;
    height: 78%;
}

.hq-collage-room {
    top: 0;
    right: 0;
    z-index: 1;
    width: 40%;
    height: 45%;
}

.hq-collage-pool {
    right: 0;
    bottom: 3%;
    z-index: 1;
    width: 40%;
    height: 40%;
}

.hq-collage-badge,
.hq-collage-rating {
    position: absolute;
    z-index: 4;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(22, 32, 45, 0.16);
}

.hq-collage-badge .card-body,
.hq-collage-rating .card-body {
    padding: 14px 18px;
}

.hq-collage-badge {
    right: 4%;
    bottom: -2%;
}

.hq-collage-badge-figure {
    color: var(--hq-orange);
    font-weight: 700;
}

.hq-collage-rating {
    top: 2%;
    left: -4%;
}

@media (max-width: 1199.98px) {
    .hq-collage-rating {
        left: 0;
    }
}

/* Below the desktop breakpoint the overlap gets cramped, so lay the images out
   as a plain grid and let the badges sit inline. */
@media (max-width: 991.98px) {
    .hq-collage {
        aspect-ratio: auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        max-width: 620px;
        margin-top: 32px;
    }

    .hq-collage-item {
        position: static;
        width: auto;
        height: auto;
        border-radius: 18px;
    }

    .hq-collage-main {
        grid-row: span 2;
    }

    .hq-collage-main img {
        height: 100%;
        min-height: 320px;
    }

    .hq-collage-room img,
    .hq-collage-pool img {
        height: 100%;
        min-height: 153px;
    }

    .hq-collage-badge,
    .hq-collage-rating {
        position: static;
        grid-column: span 2;
    }
}

@media (max-width: 575.98px) {
    .hq-collage {
        grid-template-columns: 1fr;
    }

    .hq-collage-main {
        grid-row: auto;
    }

    .hq-collage-badge,
    .hq-collage-rating {
        grid-column: auto;
    }
}
