.vds-hotel-archive {
    --archive-ink: #081a3c;
    --archive-muted: #667087;
    --archive-accent: #f82e4f;
    --archive-border: #dbe2eb;
    --archive-surface: #f4f8fb;
    --archive-container: 88rem;

    min-width: 0;
    overflow: hidden;
    color: var(--archive-ink);
    background: #fff;
    font-family: var(--vds-font-family);
}

.vds-hotel-archive [hidden] {
    display: none !important;
}

.vds-hotel-archive__container {
    width: min(
        calc(100% - clamp(2rem, 7vw, 8rem)),
        var(--archive-container)
    );
    margin-inline: auto;
}

/* Hero */

.vds-hotel-archive__hero {
    display: grid;
    grid-template-columns: minmax(23rem, 43%) minmax(0, 57%);
    min-height: clamp(28rem, 39vw, 40rem);
    background: linear-gradient(
        110deg,
        #fff 0%,
        #f6fafd 52%,
        #edf5fa 100%
    );
}

.vds-hotel-archive__hero-copy {
    align-self: center;
    width: 100%;
    min-width: 0;
    padding:
        clamp(4.5rem, 7vw, 8rem)
        clamp(2.25rem, 5vw, 6rem)
        clamp(4.5rem, 7vw, 8rem)
        max(
            clamp(2rem, 7vw, 8rem),
            calc((100vw - var(--archive-container)) / 2)
        );
}

.vds-hotel-archive__eyebrow {
    margin: 0 0 1.35rem;
    color: #657087;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.vds-hotel-archive__title {
    max-width: 10ch;
    margin: 0;
    font-size: clamp(3.25rem, 5.6vw, 6.15rem);
    font-weight: 300;
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.vds-hotel-archive__lead {
    max-width: 39rem;
    margin: 1.5rem 0 0;
    color: var(--archive-muted);
    font-size: clamp(0.98rem, 1.25vw, 1.2rem);
    font-weight: 400;
    line-height: 1.52;
}

.vds-hotel-archive__hero-media {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    clip-path: polygon(
        14% 0,
        100% 0,
        100% 100%,
        0 100%
    );
    background: #dae8f0;
}

.vds-hotel-archive__hero-image,
.vds-hotel-archive__hero-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(28rem, 39vw, 40rem);
    object-fit: cover;
}

.vds-hotel-archive__hero-placeholder {
    background: linear-gradient(
        135deg,
        #dbeaf3,
        #8aa6ba
    );
}

/* Katalog */

.vds-hotel-archive__catalog {
    position: relative;
    padding:
        clamp(2.5rem, 4vw, 4.75rem)
        0
        clamp(5rem, 8vw, 8rem);
    background:
        radial-gradient(
            circle at 0 30%,
            rgb(202 225 239 / 35%),
            transparent 28rem
        ),
        linear-gradient(
            180deg,
            #f7fbfd 0%,
            #f2f7fa 100%
        );
}

.vds-hotel-archive__layout {
    display: grid;
    grid-template-columns:
        minmax(15.5rem, 19rem)
        minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
}

.vds-hotel-archive__mobile-filters {
    display: none;
}

/* Panel filtrów */

.vds-hotel-filters {
    padding: 1.75rem 2rem 2rem;
    border: 1px solid rgb(8 26 60 / 5%);
    background: #fff;
    box-shadow: 0 1rem 3rem rgb(25 49 74 / 7%);
}

.vds-hotel-filters__header {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--archive-border);
}

.vds-hotel-filters__header h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.vds-hotel-filters__header button,
.vds-hotel-filters__more {
    padding: 0;
    border: 0;
    color: var(--archive-accent);
    background: transparent;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}

.vds-hotel-filters__group {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
    margin: 0;
    padding: 1.35rem 0;
    border: 0;
    border-bottom: 1px solid var(--archive-border);
}

.vds-hotel-filters__group:last-child {
    border-bottom: 0;
}

.vds-hotel-filters__group legend {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.55rem;
    padding: 0;
    font-size: 0.83rem;
    font-weight: 600;
    line-height: 1.3;
}

.vds-hotel-filters__group label {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    color: #536079;
    font-size: 0.78rem;
    line-height: 1.35;
    cursor: pointer;
}

.vds-hotel-filters__group label > span:last-child {
    min-width: 0;
}

.vds-hotel-filters__group small {
    color: #8a94a5;
    font-size: inherit;
}

.vds-hotel-filters__group input[type="checkbox"] {
    width: 0.92rem;
    height: 0.92rem;
    flex: 0 0 0.92rem;
    margin: 0;
    border: 1px solid #aeb8c7;
    border-radius: 1px;
    accent-color: var(--archive-accent);
}

.vds-hotel-filters__feature-icon {
    display: inline-flex;
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 1.15rem;
    align-items: center;
    justify-content: center;
    color: var(--archive-ink);
}

.vds-hotel-filters__feature-icon svg,
.vds-hotel-card__features svg,
.vds-hotel-card__location svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vds-hotel-filters__more {
    display: inline-flex;
    width: fit-content;
    gap: 0.6rem;
    align-items: center;
    margin-top: 0.5rem;
}

.vds-hotel-filters__more > span:last-child {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    transition: transform 0.2s ease;
}

.vds-hotel-filters__more[aria-expanded="true"] > span:last-child {
    transform: rotate(45deg);
}

/* Przedział cenowy */

.vds-price-range {
    position: relative;
    height: 1.3rem;
    margin-top: 0.4rem;
}

.vds-price-range__track {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(
        to right,
        #cad2dd 0 var(--price-start),
        var(--archive-accent) var(--price-start) var(--price-end),
        #cad2dd var(--price-end) 100%
    );
    transform: translateY(-50%);
}

.vds-price-range input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    appearance: none;
    background: transparent;
    pointer-events: none;
}

.vds-price-range input[type="range"]::-webkit-slider-thumb {
    width: 0.85rem;
    height: 0.85rem;
    border: 2px solid var(--archive-accent);
    border-radius: 50%;
    appearance: none;
    background: #fff;
    cursor: grab;
    pointer-events: auto;
}

.vds-price-range input[type="range"]::-moz-range-thumb {
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid var(--archive-accent);
    border-radius: 50%;
    background: #fff;
    cursor: grab;
    pointer-events: auto;
}

.vds-price-range__values {
    display: flex;
    justify-content: space-between;
    color: #7c8799;
    font-size: 0.68rem;
}

.vds-price-range__values strong {
    font-weight: 400;
}

/* Nagłówek wyników */

.vds-hotel-results {
    min-width: 0;
}

.vds-hotel-results__header {
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    min-height: 2.5rem;
    margin-bottom: 1.6rem;
}

.vds-hotel-results__header h2 {
    margin: 0;
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    font-weight: 600;
    letter-spacing: -0.025em;
}

.vds-hotel-results__sort {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    color: #5e6a80;
    font-size: 0.72rem;
}

.vds-hotel-results__sort > span {
    color: var(--archive-ink);
    font-weight: 600;
}

.vds-hotel-results__sort select {
    min-width: 9rem;
    padding: 0.5rem 2rem 0.5rem 0.65rem;
    border: 0;
    color: #667087;
    background: transparent;
    font-size: 0.72rem;
    cursor: pointer;
}

/* Lista obiektów */

.vds-hotel-results__list {
    display: grid;
    gap: 1rem;
}

.vds-hotel-card {
    display: grid;
    grid-template-columns:
        minmax(17rem, 34%)
        minmax(0, 1fr);
    min-height: 15rem;
    overflow: hidden;
    border: 1px solid rgb(8 26 60 / 5%);
    background: #fff;
    box-shadow: 0 0.55rem 1.8rem rgb(25 49 74 / 5%);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.vds-hotel-card:hover {
    box-shadow: 0 1.2rem 2.8rem rgb(25 49 74 / 10%);
    transform: translateY(-2px);
}

.vds-hotel-card__media {
    position: relative;
    display: block;
    min-height: 15rem;
    overflow: hidden;
    background: #dce7ee;
}

.vds-hotel-card__image,
.vds-hotel-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 15rem;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.vds-hotel-card__placeholder {
    background: linear-gradient(
        135deg,
        #dceaf2,
        #8ba7ba
    );
}

.vds-hotel-card:hover .vds-hotel-card__image {
    transform: scale(1.035);
}

.vds-hotel-card__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.65rem 0.95rem;
    color: #3f4b62;
    background: #fff;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.vds-hotel-card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding:
        clamp(1.35rem, 2.25vw, 2rem)
        clamp(1.35rem, 2.5vw, 2.25rem)
        1.25rem;
}

.vds-hotel-card__heading {
    display: flex;
    gap: 0.85rem;
    align-items: baseline;
    flex-wrap: wrap;
}

.vds-hotel-card__heading h3 {
    margin: 0;
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.vds-hotel-card__heading h3 a {
    color: inherit;
    text-decoration: none;
}

.vds-hotel-card__stars {
    color: var(--archive-ink);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.vds-hotel-card__location {
    display: flex;
    gap: 0.45rem;
    align-items: center;
    margin: 0.65rem 0 0;
    color: #667087;
    font-size: 0.72rem;
}

.vds-hotel-card__location svg {
    width: 0.95rem;
    height: 0.95rem;
}

.vds-hotel-card__excerpt {
    max-width: 49rem;
    margin: 0.9rem 0 0;
    color: #6b7589;
    font-size: clamp(0.78rem, 1vw, 0.92rem);
    line-height: 1.55;
}

.vds-hotel-card__bottom {
    margin-top: 1.1rem;
}

/* Udogodnienia na karcie */

.vds-hotel-card__features {
    display: flex;
    gap: 0.8rem 1.4rem;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    color: #536079;
    list-style: none;
}

.vds-hotel-card__features li {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    font-size: 0.67rem;
    white-space: nowrap;
}

.vds-hotel-card__features svg {
    width: 1.05rem;
    height: 1.05rem;
}

/* Cena i przycisk karty */

.vds-hotel-card__action-row {
    display: flex;
    gap: 1.5rem;
    align-items: flex-end;
    justify-content: flex-end;
    margin-top: 1rem;
}

.vds-hotel-card__price {
    margin: 0 auto 0 0;
    color: #727d91;
    font-size: 0.68rem;
}

.vds-hotel-card__price strong {
    color: var(--archive-ink);
    font-size: 0.9rem;
}

.vds-hotel-card__link {
    display: inline-flex;
    justify-content: center;
    gap: 0.75rem;
    align-items: center;
    min-width: 9.5rem;
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.7rem 1rem;
    border: 1px solid var(--archive-accent);
    border-radius: 2px;
    background: #fff;
    color: var(--archive-accent);
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.045em;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.vds-hotel-card__link > span:last-child {
    display: inline-block;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    background: transparent;
    color: currentColor;
    font-size: 0.9rem;
    transition: transform 0.2s ease;
}

.vds-hotel-card__link:hover,
.vds-hotel-card__link:focus-visible {
    border-color: var(--archive-accent);
    background: var(--archive-accent);
    color: #fff;
}

.vds-hotel-card__link:focus-visible {
    outline: 2px solid var(--archive-ink);
    outline-offset: 3px;
}

.vds-hotel-card__link:hover > span:last-child,
.vds-hotel-card__link:focus-visible > span:last-child {
    transform: translateX(0.25rem);
}

/* Dostępne pokoje */

.vds-hotel-card__rooms {
    grid-column: 1 / -1;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 1px solid var(--archive-border);
    background: #fff;
}

.vds-hotel-card__rooms h4 {
    margin: 0 0 0.75rem;
    color: var(--archive-ink);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.vds-hotel-card__room-list {
    border: 1px solid var(--archive-border);
    border-radius: 2px;
}

.vds-hotel-card__room {
    display: grid;
    grid-template-columns:
        minmax(10.5rem, 1.15fr)
        minmax(17rem, 2fr)
        minmax(6.5rem, 0.65fr)
        auto;
    gap: 0.8rem 1.15rem;
    align-items: center;
    min-height: 4rem;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--archive-border);
}

.vds-hotel-card__room:last-child {
    border-bottom: 0;
}

.vds-hotel-card__room-name {
    min-width: 0;
}

.vds-hotel-card__room-name strong,
.vds-hotel-card__room-name span {
    display: block;
}

.vds-hotel-card__room-name strong {
    color: var(--archive-ink);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
}

.vds-hotel-card__room-name span {
    margin-top: 0.18rem;
    color: var(--archive-muted);
    font-size: 0.65rem;
    line-height: 1.35;
}

.vds-hotel-card__room-meta {
    display: flex;
    min-width: 0;
    gap: 0.55rem 1.1rem;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    color: #58657c;
    list-style: none;
}

.vds-hotel-card__room-meta li {
    display: inline-flex;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.66rem;
    line-height: 1.25;
}

.vds-hotel-card__room-meta svg {
    display: block;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vds-hotel-card__room-meta strong,
.vds-hotel-card__room-meta small {
    display: block;
}

.vds-hotel-card__room-meta strong {
    font-size: inherit;
    font-weight: 500;
}

.vds-hotel-card__room-meta small {
    margin-top: 0.1rem;
    color: #8892a3;
    font-size: 0.6rem;
}

.vds-hotel-card__room-price {
    grid-column: 3;
    margin: 0;
    text-align: right;
    white-space: nowrap;
}

.vds-hotel-card__room-price strong,
.vds-hotel-card__room-price span {
    display: block;
}

.vds-hotel-card__room-price strong {
    color: var(--archive-ink);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
}

.vds-hotel-card__room-price span {
    margin-top: 0.12rem;
    color: var(--archive-muted);
    font-size: 0.59rem;
}

.vds-hotel-card__room-button {
    grid-column: 4;
    display: inline-flex;
    min-height: 2.5rem;
    gap: 0.8rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--archive-accent);
    border-radius: 2px;
    color: var(--archive-accent);
    background: #fff;
    font-size: 0.64rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: color 0.2s ease, background 0.2s ease;
    white-space: nowrap;
}

.vds-hotel-card__room-button:hover {
    color: #fff;
    background: var(--archive-accent);
}

/* Pokaż więcej */

.vds-hotel-results__more {
    display: flex;
    min-width: 20rem;
    gap: 2.5rem;
    align-items: center;
    justify-content: center;
    margin: 2.2rem auto 0;
    padding: 1rem 1.4rem;
    border: 1px solid #6a7487;
    color: var(--archive-ink);
    background: transparent;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

.vds-hotel-results__more:hover {
    border-color: var(--archive-ink);
    color: #fff;
    background: var(--archive-ink);
}

.vds-hotel-results__empty {
    margin: 1rem 0 0;
    padding: 2rem;
    border: 1px solid var(--archive-border);
    background: #fff;
    color: var(--archive-muted);
    text-align: center;
}

/* Mniejsze laptopy */

@media (max-width: 1100px) {
    .vds-hotel-archive__layout {
        grid-template-columns:
            15rem
            minmax(0, 1fr);
        gap: 1.5rem;
    }

    .vds-hotel-filters {
        padding-inline: 1.35rem;
    }

    .vds-hotel-card {
        grid-template-columns:
            minmax(14rem, 38%)
            minmax(0, 1fr);
    }

    .vds-hotel-card__features {
        gap: 0.7rem 1rem;
    }

    .vds-hotel-card__room {
        grid-template-columns:
            minmax(9rem, 1fr)
            minmax(12rem, 1.45fr)
            minmax(5.5rem, auto)
            auto;
        gap: 0.75rem;
    }
}

/* Tablet */

@media (max-width: 860px) {
    .vds-hotel-archive__hero {
        grid-template-columns: 1fr;
    }

    .vds-hotel-archive__hero-copy {
        width: min(100%, 48rem);
        padding: 4rem max(1.25rem, 6vw);
    }

    .vds-hotel-archive__hero-media {
        min-height: 23rem;
        clip-path: polygon(
            0 10%,
            100% 0,
            100% 100%,
            0 100%
        );
    }

    .vds-hotel-archive__hero-image,
    .vds-hotel-archive__hero-placeholder {
        min-height: 23rem;
    }

    .vds-hotel-archive__container {
        width: min(
            calc(100% - 2rem),
            var(--archive-container)
        );
    }

    .vds-hotel-archive__mobile-filters {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
        padding: 1rem 1.2rem;
        border: 0;
        color: #fff;
        background: var(--archive-ink);
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        cursor: pointer;
    }

    .vds-hotel-archive__layout {
        display: block;
    }

    .vds-hotel-archive.is-js-ready .vds-hotel-filters {
        display: none;
    }

    .vds-hotel-archive.is-js-ready .vds-hotel-filters.is-open {
        display: block;
        margin-bottom: 1.5rem;
    }
}

/* Telefon */

@media (max-width: 680px) {
    .vds-hotel-archive__hero-copy {
        padding-block: 3.5rem;
    }

    .vds-hotel-archive__title {
        font-size: clamp(3rem, 15vw, 4.5rem);
    }

    .vds-hotel-results__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    .vds-hotel-results__sort {
        width: 100%;
        justify-content: space-between;
    }

    .vds-hotel-results__sort select {
        max-width: 70%;
    }

    .vds-hotel-card {
        grid-template-columns: 1fr;
    }

    .vds-hotel-card__media,
    .vds-hotel-card__image,
    .vds-hotel-card__placeholder {
        min-height: 14rem;
        max-height: 19rem;
    }

    .vds-hotel-card__content {
        padding: 1.35rem;
    }

    .vds-hotel-card__action-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .vds-hotel-card__rooms {
        grid-column: 1;
        padding: 0.9rem;
    }

    .vds-hotel-card__rooms h4 {
        margin-bottom: 0.65rem;
        font-size: 0.9rem;
    }

    .vds-hotel-card__room {
        display: flex;
        min-height: 0;
        flex-direction: column;
        gap: 0.7rem;
        align-items: stretch;
        padding: 1rem;
    }

    .vds-hotel-card__room-name,
    .vds-hotel-card__room-meta {
        width: 100%;
    }

    .vds-hotel-card__room-name strong {
        font-size: 0.82rem;
    }

    .vds-hotel-card__room-meta {
        gap: 0.5rem 1rem;
    }

    .vds-hotel-card__room-meta li {
        font-size: 0.7rem;
    }

    .vds-hotel-card__room-price {
        width: 100%;
        text-align: left;
    }

    .vds-hotel-card__room-button {
        width: 100%;
        min-height: 3rem;
        justify-content: space-between;
        padding: 0.85rem 1rem;
        font-size: 0.7rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .vds-hotel-results__more {
        width: 100%;
        min-width: 0;
    }
}

/* Ograniczenie animacji w systemie */

@media (prefers-reduced-motion: reduce) {
    .vds-hotel-card,
    .vds-hotel-card__image,
    .vds-hotel-card__link > span:last-child,
    .vds-hotel-card__room-button {
        transition: none;
    }
}

/*
 * Dopasowanie koloru wcięcia CTA do tła katalogu hoteli.
 * Reguła działa tylko wtedy, gdy CTA znajduje się bezpośrednio
 * pod podstroną z listą obiektów.
 */
.vds-hotel-archive + .vds-home-cta {
    margin-top: -1px;
    background: #f2f7fa;
}

/* Osobny komponent: nie zmienia katalogu, filtrów ani kalendarza ofert. */
.vds-hotel-advice { --hotel-guide-ink:#081b3d; --hotel-guide-muted:#536680; --hotel-guide-line:#dbe3ec; --hotel-guide-accent:#fe4158; padding:clamp(2.5rem,5vw,5rem) 0; color:var(--hotel-guide-ink); background:#f2f7fa; font-family:var(--vds-font-family,Inter,Arial,sans-serif); font-weight:400; overflow-wrap:anywhere; }
.vds-hotel-advice,.vds-hotel-advice * { box-sizing:border-box; }
.vds-hotel-advice__container { width:min(calc(100% - clamp(2rem, 7vw, 8rem)),var(--archive-container,88rem)); margin-inline:auto; }
.vds-hotel-advice__eyebrow { display:flex; align-items:center; gap:.8rem; margin:0 0 1rem; color:var(--hotel-guide-ink); font-size:.68rem; line-height:1.5; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.vds-hotel-advice__eyebrow::before { content:''; flex:0 0 2rem; height:2px; background:var(--hotel-guide-accent); }
.vds-hotel-advice__title { margin:0 0 1.5rem; color:var(--hotel-guide-ink); font-size:clamp(1.8rem,2.8vw,2.7rem); line-height:1.15; letter-spacing:-.04em; font-weight:300; }
.vds-hotel-advice__content { max-width:95ch; color:var(--hotel-guide-muted); font-size:.96rem; line-height:1.75; }
.vds-hotel-advice__content p,.vds-hotel-advice__answer p { margin:0 0 1rem; }
.vds-hotel-advice__content p:last-child,.vds-hotel-advice__answer p:last-child { margin-bottom:0; }
.vds-hotel-advice__content h3 { margin:1.6rem 0 .55rem; color:var(--hotel-guide-ink); font-size:1.08rem; font-weight:500; line-height:1.4; letter-spacing:-.02em; }
.vds-hotel-advice__content a,.vds-hotel-advice__answer a { color:#b7253d; text-decoration:underline; text-underline-offset:.2em; }
.vds-hotel-advice__content a:hover,.vds-hotel-advice__answer a:hover { color:var(--hotel-guide-ink); }
.vds-hotel-advice__content ul,.vds-hotel-advice__content ol,.vds-hotel-advice__answer ul,.vds-hotel-advice__answer ol { padding-left:1.3rem; }
.vds-hotel-advice__guide+.vds-hotel-advice__faq { margin-top:clamp(2.5rem,4vw,4rem); padding-top:clamp(2rem,3vw,3rem); border-top:1px solid var(--hotel-guide-line); }
.vds-hotel-advice__questions { display:grid; gap:.65rem; }
.vds-hotel-advice__question { border:1px solid var(--hotel-guide-line); border-radius:5px; background:#fff; }
.vds-hotel-advice__question summary { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.1rem 1.25rem; color:var(--hotel-guide-ink); font-size:.95rem; line-height:1.5; font-weight:400; cursor:pointer; list-style:none; }
.vds-hotel-advice__question summary::-webkit-details-marker { display:none; }
.vds-hotel-advice__question summary::marker { content:''; }
.vds-hotel-advice__question summary>svg { display:block; flex:0 0 auto; width:1.05rem; height:1.05rem; color:var(--hotel-guide-accent); transition:transform .15s ease; }
.vds-hotel-advice__question[open] summary { background:#f6f9fc; }
.vds-hotel-advice__question[open] summary>svg { transform:rotate(180deg); }
.vds-hotel-advice__answer { padding:1rem 1.25rem 1.25rem; color:var(--hotel-guide-muted); font-size:.9rem; line-height:1.75; }
.vds-hotel-advice summary:focus-visible,.vds-hotel-advice a:focus-visible { outline:2px solid var(--hotel-guide-accent); outline-offset:3px; }
@media(max-width:700px) {
    .vds-hotel-advice__container { width:calc(100% - 2rem); }
    .vds-hotel-advice__question summary { padding:1rem; font-size:.9rem; }
    .vds-hotel-advice__answer { padding:1rem; }
}
@media(prefers-reduced-motion:reduce) { .vds-hotel-advice__question summary>svg { transition:none; } }
