.ht-reviews {
    --htr-navy: #071f2d;
    --htr-navy-soft: #0d3547;
    --htr-aqua: #55b7c9;
    --htr-aqua-bright: #8de2e9;
    --htr-gold: #f4b52f;
    --htr-white: #fff;
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--htr-white);
    background: linear-gradient(135deg, #061c29 0%, #0b3447 52%, #0d4557 100%);
    isolation: isolate;
}

.ht-reviews__inner {
    position: relative;
    z-index: 2;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(64px, 7vw, 104px) 0;
}

.ht-reviews__glow {
    position: absolute;
    z-index: 0;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(4px);
    opacity: .2;
}

.ht-reviews__glow--one { top: -230px; right: -90px; background: radial-gradient(circle, var(--htr-aqua-bright), transparent 67%); }
.ht-reviews__glow--two { bottom: -300px; left: -120px; background: radial-gradient(circle, var(--htr-gold), transparent 68%); opacity: .12; }

.ht-reviews__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 36px;
}

.ht-reviews__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: var(--htr-aqua-bright);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.ht-reviews__eyebrow::before { content: ""; width: 30px; height: 2px; background: var(--htr-gold); border-radius: 2px; }
.ht-reviews h2 { margin: 0 0 10px; color: #fff !important; font-size: clamp(32px, 4vw, 52px); line-height: 1.07; letter-spacing: -.035em; }
.ht-reviews__header p { max-width: 600px; margin: 0; color: #d8edf2; font-size: 17px; line-height: 1.65; }

.ht-reviews__summary {
    display: grid;
    grid-template-columns: 42px auto 22px;
    align-items: center;
    gap: 12px;
    min-width: 245px;
    padding: 15px 16px;
    color: var(--htr-navy) !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0,0,0,.2);
    transition: transform .25s ease, box-shadow .25s ease;
}

.ht-reviews__summary:hover { transform: translateY(-3px); box-shadow: 0 24px 55px rgba(0,0,0,.28); }
.ht-reviews__google { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #f1f6f8; }
.ht-reviews__google b { color: #4285f4; font: 800 24px/1 Arial, sans-serif; }
.ht-reviews__summary > span:nth-child(2) { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; }
.ht-reviews__summary strong { color: var(--htr-navy); font-size: 20px; line-height: 1; }
.ht-reviews__summary small { grid-column: 1 / -1; margin-top: 3px; color: #526b76; font-size: 12px; font-weight: 700; }
.ht-reviews__stars, .ht-review-card__stars { color: #e99a00; letter-spacing: 2px; }
.ht-reviews__summary svg { width: 22px; fill: none; stroke: var(--htr-navy-soft); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.ht-reviews__viewport { overflow: hidden; touch-action: pan-y; }
.ht-reviews__track { display: flex; margin: 0 -10px; transition: transform .58s cubic-bezier(.22,.7,.28,1); will-change: transform; }
.ht-review-card { flex: 0 0 calc(33.333% - 20px); min-width: 0; min-height: 330px; margin: 0 10px; padding: 28px; color: #173747; border: 1px solid rgba(255,255,255,.82); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 18px 48px rgba(0,0,0,.14); }
.ht-review-card__top { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 12px; }
.ht-review-card__avatar { display: grid; place-items: center; width: 50px; height: 50px; color: #052332; font-size: 15px; font-weight: 900; border-radius: 50%; background: linear-gradient(135deg, #9ee8ed, #f9d782); }
.ht-review-card__identity { display: grid; gap: 3px; }
.ht-review-card__identity strong { color: #071f2d; font-size: 16px; line-height: 1.3; }
.ht-review-card__identity small { color: #536f7b; font-size: 12px; font-weight: 700; }
.ht-review-card__identity small span { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 4px; color: #fff; font: 800 11px/1 Arial, sans-serif; border-radius: 50%; background: #4285f4; }
.ht-review-card__quote { color: #b7dce4; font: 700 45px/1 Georgia, serif; }
.ht-review-card__stars { margin: 20px 0 12px; font-size: 16px; }
.ht-review-card p { display: -webkit-box; overflow: hidden; margin: 0; color: #294b5a !important; font-size: 15px; line-height: 1.72; -webkit-line-clamp: 7; -webkit-box-orient: vertical; }
.ht-review-card p[dir="rtl"] { text-align: right; font-family: Tahoma, Arial, sans-serif; }

.ht-reviews__navigation { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; }
.ht-reviews__dots { display: flex; align-items: center; gap: 8px; }
.ht-reviews .ht-reviews__dot {
    width: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
    min-height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.42) !important;
    box-shadow: none !important;
    transition: width .25s ease, background .25s ease;
    cursor: pointer;
}
.ht-reviews .ht-reviews__dot.is-active { width: 28px !important; background: var(--htr-gold) !important; }
.ht-reviews__arrows { display: flex; gap: 10px; }
.ht-reviews .ht-reviews__arrow { display: grid; place-items: center; width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important; color: #fff; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 50% !important; background: rgba(255,255,255,.1) !important; box-shadow: none !important; backdrop-filter: blur(8px); cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.ht-reviews .ht-reviews__arrow:hover { color: var(--htr-navy); background: #fff !important; transform: translateY(-2px); }
.ht-reviews__arrow svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.single-to_book .ht-reviews { margin: 38px 0 10px; border-radius: 28px; }
.single-to_book .ht-reviews__inner { width: calc(100% - 44px); padding: 48px 0; }
.single-to_book .ht-reviews__header { align-items: start; flex-direction: column; }
.single-to_book .ht-reviews__summary { align-self: stretch; max-width: 280px; }
.single-to_book .ht-review-card { flex-basis: calc(50% - 20px); }

@media (max-width: 900px) {
    .ht-reviews__header { align-items: start; flex-direction: column; }
    .ht-review-card { flex-basis: calc(50% - 20px); }
}

@media (max-width: 620px) {
    .ht-reviews__inner { width: calc(100% - 28px); padding: 58px 0; }
    .ht-reviews__header { gap: 22px; margin-bottom: 26px; }
    .ht-reviews h2 { font-size: 34px; }
    .ht-reviews__header p { font-size: 15px; }
    .ht-reviews__summary { width: 100%; min-width: 0; }
    .ht-review-card, .single-to_book .ht-review-card { flex-basis: calc(100% - 20px); min-height: 318px; padding: 24px; }
    .single-to_book .ht-reviews { margin-inline: -14px; border-radius: 22px; }
    .single-to_book .ht-reviews__inner { width: calc(100% - 28px); padding: 42px 0; }
    .ht-reviews__navigation { justify-content: center; margin-top: 22px; }
    .ht-reviews__arrows { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ht-reviews__track, .ht-reviews__summary, .ht-reviews__arrow { transition: none; }
}
