.map-anchor {
    margin-top: 26px;
    scroll-margin-top: 110px;
}

.contact-details {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: grid;
    gap: 16px;
}

.contact-details li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    font-size: .95rem;
}

.contact-details li>span:first-child {
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-details strong {
    display: block;
    font-size: var(--fs-12);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-muted);
}

.contact-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.faq-accordion .faq-item {
    border-bottom: 1px solid var(--border-soft);
}

.faq-item button {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 18px 4px;
    font-weight: 600;
    font-size: 1.02rem;
    cursor: pointer;
    color: var(--text);
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.faq-item .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s var(--ease-clay);
    color: var(--text-muted);
}

.faq-item.is-open .faq-answer {
    max-height: 200px;
    padding-bottom: 16px;
}

.faq-item .chev {
    transition: transform .25s ease;
}

.faq-item.is-open .chev {
    transform: rotate(45deg);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    align-items: start;
}

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

.form-card {
    padding: 30px;
}

/* Reviews — kept small: one box, a row of compact cards, a short form */
.reviews-box {
    padding: 26px 28px;
    max-width: 860px;
}

.reviews-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.rating-summary {
    font-size: .95rem;
    font-weight: 700;
}

.rating-summary .stars-display {
    margin-right: 6px;
}

.reviews-list {
    position: relative;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding: 6px 4px 14px;
    scroll-snap-type: x proximity;
}

.review-card {
    flex: 0 0 230px;
    padding: 16px 18px;
    border-radius: var(--radius-clay-sm);
    background: var(--bg);
    border: 1px solid var(--border-soft);
    scroll-snap-align: start;
}

.review-card .stars-display {
    display: block;
    margin-bottom: 6px;
    font-size: .9rem;
}

.review-card p {
    font-size: .88rem;
    margin: 0;
    text-align: left;
    hyphens: none;
}

.review-meta {
    margin-top: 10px;
    font-size: var(--fs-12);
    color: var(--text-muted);
}

.review-form {
    margin-top: 14px;
    padding-top: 18px;
    border-top: 1px solid var(--border-soft);
}

.review-form-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.review-form-row .field-label {
    font-weight: 600;
    font-size: var(--fs-14);
}

.star-word {
    font-size: var(--fs-14);
}

.star-input button {
    transition: transform 300ms var(--ease-clay);
}

.star-input button.is-filled {
    transform: scale(1.12);
}

.star-input button.is-pop {
    animation: star-pop 420ms var(--ease-clay);
}

@keyframes star-pop {
    40% {
        transform: scale(1.5) rotate(-12deg);
    }
}

[data-motion="reduce"] .star-input button.is-pop {
    animation: none;
}

.review-form-fields {
    display: grid;
    grid-template-columns: 200px 1fr auto;
    gap: 12px;
    align-items: start;
}

@media(max-width:760px) {
    .review-form-fields {
        grid-template-columns: 1fr;
    }
}

.review-form-fields .field {
    margin-bottom: 0;
}

.review-form-fields textarea {
    min-height: 52px;
    height: 52px;
}

.review-comment {
    position: relative;
}

.review-count {
    position: absolute;
    right: 12px;
    bottom: 6px;
    font-size: .68rem;
    pointer-events: none;
}

.review-form .btn {
    align-self: stretch;
}

/* New, additive "why book with us" persuasion callout */
.why-us-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    flex-wrap: wrap;
    padding: 34px;
}

.why-us-list {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.why-us-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .92rem;
}
/* Refined reviews: editorial layout, compact spacing, clear form hierarchy */
#reviews .container{max-width:1180px;margin-inline:auto}
.reviews-box{position:relative;overflow:hidden;padding:clamp(22px,3vw,36px)!important;border-radius:28px!important;background:linear-gradient(145deg,var(--surface-2),var(--surface))!important;border:1px solid color-mix(in srgb,var(--gold) 22%,var(--border-soft));box-shadow:0 18px 50px rgba(0,0,0,.12)}
.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--border-soft)}
.reviews-head h2{font-size:clamp(1.65rem,3vw,2.15rem)!important;letter-spacing:-.035em;line-height:1.15;margin-top:7px!important}
.rating-summary{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:color-mix(in srgb,var(--gold) 10%,var(--surface));font-weight:700}
.reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 24px}
.reviews-list>*{min-width:0}
.review-form{border-top:1px solid var(--border-soft);padding-top:20px}
.review-form-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.review-form-fields{display:grid;grid-template-columns:minmax(160px,.75fr) minmax(240px,1.7fr) auto;align-items:stretch;gap:12px}
.review-form-fields .field{min-width:0;margin:0}
.review-form-fields input,.review-form-fields textarea{width:100%;min-width:0;min-height:52px;border-radius:16px}
.review-form-fields textarea{height:52px;resize:vertical;padding:15px 16px}
.review-form-fields .btn{min-height:52px;align-self:stretch;white-space:nowrap;padding-inline:22px}
.field-hint{margin-top:13px;font-size:.88rem;line-height:1.55;color:var(--text-muted,var(--muted))}
@media(max-width:760px){.reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-head{align-items:flex-start;flex-direction:column}.rating-summary{align-self:flex-start}}
@media(max-width:520px){#reviews .container{padding-inline:14px}.reviews-box{padding:20px!important;border-radius:22px!important}.reviews-list{grid-template-columns:1fr;gap:10px}.review-form-fields{grid-template-columns:1fr}.review-form-fields .btn{width:100%}.review-form-row{gap:8px}}


/* Full, polished review layout: all cards fit the content width without a horizontal scrollbar. */
#reviews .container{max-width:1280px}
#reviews .reviews-box{padding:clamp(18px,2vw,26px)!important;border-radius:26px!important}
#reviews .reviews-head{align-items:center;padding-bottom:14px;margin-bottom:0;gap:14px}
#reviews .reviews-head h2{font-size:clamp(1.55rem,2.5vw,2rem)!important}
#reviews .reviews-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px;padding:0;overflow:visible}
#reviews .review-card{min-width:0;min-height:116px;padding:14px 15px;border-radius:18px;background:linear-gradient(145deg,var(--bg),color-mix(in srgb,var(--gold) 5%,var(--surface)));box-shadow:inset 1px 1px 0 rgba(255,255,255,.035),0 8px 18px rgba(0,0,0,.08);border:1px solid color-mix(in srgb,var(--gold) 15%,var(--border-soft));display:flex;flex-direction:column;gap:7px}
#reviews .review-card .stars-display{color:var(--gold-strong);font-size:.88rem;letter-spacing:.08em;margin:0}
#reviews .review-card p{font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
#reviews .review-meta{font-size:.74rem;line-height:1.4;margin-top:auto;padding-top:4px}
#reviews .review-form{margin-top:12px;padding-top:14px}
#reviews .review-form-row{margin-bottom:10px}
#reviews .review-form-fields input,#reviews .review-form-fields textarea{min-height:46px}
#reviews .review-form-fields textarea{height:46px;padding:12px 14px}
#reviews .review-form-fields .btn{min-height:46px}
#reviews .field-hint{margin-top:8px;font-size:.8rem}
@media(max-width:900px){#reviews .reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#reviews .reviews-list{grid-template-columns:1fr;gap:10px}#reviews .reviews-box{padding:18px!important}#reviews .reviews-head{align-items:flex-start}#reviews .review-card{min-height:0}}

#reviews .review-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#reviews .review-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--gold-strong),var(--gold));color:#1c241c;font-size:.68rem;font-weight:900;box-shadow:2px 3px 7px rgba(0,0,0,.12)}


/* Reviews page: retain all existing review controls while using the open right column meaningfully. */
#reviews .reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,290px);gap:22px;align-items:stretch}
#reviews .reviews-box{max-width:none;min-width:0;height:100%}
.reviews-aside{padding:clamp(22px,2.5vw,30px);border-radius:26px;background:linear-gradient(155deg,var(--surface-2),var(--surface));border:1px solid color-mix(in srgb,var(--gold) 24%,var(--border-soft));display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.reviews-aside h3{font-family:var(--font-head);font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.2;margin:8px 0 12px;letter-spacing:-.025em}
.reviews-aside-copy{font-size:.92rem;color:var(--text-muted);line-height:1.65;margin:0 0 18px;text-align:left}
.reviews-aside-highlight{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--border-soft);width:100%}
.reviews-aside-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:11px;background:color-mix(in srgb,var(--gold) 18%,var(--surface));color:var(--gold-strong);font-size:1rem}
.reviews-aside-highlight strong,.reviews-aside-highlight span:not(.reviews-aside-icon){display:block}
.reviews-aside-highlight strong{font-size:.87rem;margin:0 0 4px}
.reviews-aside-highlight div span{font-size:.8rem;line-height:1.5;color:var(--text-muted)}
.reviews-aside-cta{margin-top:auto;width:100%;justify-content:center;display:flex;gap:10px}
@media(max-width:900px){#reviews .reviews-layout{grid-template-columns:minmax(0,1fr)}.reviews-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.reviews-aside>.eyebrow,.reviews-aside h3,.reviews-aside-copy,.reviews-aside-cta{grid-column:1/-1}.reviews-aside-highlight{align-self:start}}
@media(max-width:520px){.reviews-aside{display:flex;padding:20px}.reviews-aside-cta{margin-top:10px}}


/* Compact reviews panel: remove excess empty space without changing other sections. */
#reviews .reviews-layout{align-items:start;gap:18px}
#reviews .reviews-box{height:auto;min-height:0;align-self:start}
#reviews .reviews-aside{height:auto;min-height:0;align-self:start}
#reviews .reviews-aside-cta{width:auto;min-width:112px;align-self:flex-start;padding-inline:22px;white-space:nowrap}
@media(max-width:900px){#reviews .reviews-aside-cta{grid-column:1/-1}}
