/* Silver Rock V1.18 — authentic property-photo backgrounds and directions */

/* RESORT SUMMARY: real pool photograph behind the editorial header */
.resort-summary {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(7rem, 9vw, 9.5rem);
    background: #e9e1d5;
}
.resort-summary::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -2;
    height: clamp(430px, 49vw, 610px);
    background: url('../images/Silver_Rock-13-new.jpg') center 48% / cover no-repeat;
}
.resort-summary::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    height: clamp(430px, 49vw, 610px);
    background:
        linear-gradient(90deg, rgba(15, 31, 27, .86) 0%, rgba(15, 31, 27, .64) 50%, rgba(15, 31, 27, .30) 100%),
        linear-gradient(0deg, rgba(233,225,213,1) 0%, rgba(233,225,213,0) 40%);
}
.resort-summary .summary-shell { position: relative; z-index: 1; }
.resort-summary .summary-header { margin-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.resort-summary .summary-eyebrow,
.resort-summary .summary-header h2,
.resort-summary .summary-header > p { color: #fff !important; }
.resort-summary .summary-header > p { border-left-color: rgba(255,255,255,.45) !important; }
.resort-summary .summary-grid { align-items: stretch; }
.resort-summary .summary-card {
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(31, 47, 42, .12) !important;
    box-shadow: 0 24px 55px rgba(22, 38, 33, .13) !important;
}
.resort-summary .summary-card:hover { box-shadow: 0 30px 65px rgba(22, 38, 33, .20) !important; }

/* DINING: real Silver Rock ocean pavilion photograph forms a full photo header */
.dining-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(7.5rem, 10vw, 10rem);
    background: #f3eee7;
}
.dining-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -2;
    height: clamp(400px, 46vw, 570px);
    background: url('../images/Silver_Rock-98__1_.jpg') center 45% / cover no-repeat;
}
.dining-section::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    height: clamp(400px, 46vw, 570px);
    background:
        linear-gradient(90deg, rgba(18, 31, 27, .82), rgba(18,31,27,.42)),
        linear-gradient(0deg, #f3eee7 0%, rgba(243,238,231,0) 42%);
}
.dining-section .section-header { position: relative; z-index: 2; }
.dining-section .section-tag,
.dining-section .section-title,
.dining-section .dining-intro { color: #fff !important; }
.dining-section .divider { background: rgba(255,255,255,.65) !important; }
.dining-tabs {
    position: relative;
    z-index: 3;
    max-width: 1120px;
    margin-top: clamp(3.4rem, 6vw, 5rem) !important;
    padding: .7rem 1.2rem 0;
    border: 1px solid rgba(37,57,50,.10);
    border-radius: 1rem 1rem 0 0;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 42px rgba(27,43,37,.10);
}
.dining-content {
    position: relative;
    z-index: 3;
    max-width: 1120px;
    margin-top: 0 !important;
    padding: clamp(2rem, 4vw, 3.4rem);
    border: 1px solid rgba(37,57,50,.10);
    border-top: 0;
    border-radius: 0 0 1rem 1rem;
    background: rgba(255,255,255,.98);
    box-shadow: 0 26px 65px rgba(27,43,37,.12);
}
.dining-icon-btn {
    color: #243c36 !important;
    border-color: rgba(36,60,54,.18) !important;
    background: #eef3f0 !important;
}

/* RATES & DIRECTIONS: real beachfront background plus map */
.rates-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(7rem, 9vw, 9rem) 5%;
    background: #17312c url('../images/Silver_Rock-2__2_.jpg') center 58% / cover no-repeat !important;
}
.rates-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(10,27,23,.88) 0%, rgba(10,27,23,.67) 48%, rgba(10,27,23,.52) 100%);
}
.rates-background-credit {
    position: absolute;
    right: 2rem;
    bottom: 1.2rem;
    color: rgba(255,255,255,.55);
    font-size: .62rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.rates-heading { position: relative; z-index: 1; }
.rates-heading .section-tag,
.rates-heading .section-title,
.rates-intro { color: #fff !important; }
.rates-heading .divider { background: rgba(255,255,255,.65) !important; }
.rates-intro {
    max-width: 720px;
    margin: 1.35rem auto 0;
    font-size: 1rem;
    line-height: 1.75;
    text-align: center;
}
.rates-experience-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(1.2rem, 2.6vw, 2.25rem);
    width: min(1180px, 100%);
    margin: clamp(3rem, 5vw, 4.5rem) auto 0;
}
.rates-panel {
    min-width: 0;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 1.15rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 28px 75px rgba(0,0,0,.25);
}
.rates-download.rates-panel {
    max-width: none;
    margin: 0;
    padding: clamp(2.25rem, 4vw, 3.5rem);
    text-align: left;
}
.rates-panel-eyebrow {
    margin: 1.2rem 0 .55rem !important;
    color: #61756e !important;
    font-size: .68rem !important;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.rates-panel h3 {
    color: #1f302b;
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.1rem, 3.2vw, 3rem);
    font-weight: 500;
    line-height: 1.02;
}
.rates-panel > p,
.rates-location-copy > p { color: #6b756f; line-height: 1.75; }
.rates-panel-divider { width: 100%; height: 1px; margin: 1.75rem 0; background: rgba(36,60,54,.13); }
.rates-download-btn {
    justify-content: center;
    width: 100%;
    max-width: 340px;
    background: #243c36 !important;
    color: #fff !important;
}
.rates-whatsapp-link { color: #274a40 !important; }
.rates-location { overflow: hidden; }
.rates-location-map { min-height: 315px; background: #dce5e1; }
.rates-location-map iframe { display: block; width: 100%; height: 100%; min-height: 315px; border: 0; filter: saturate(.76) contrast(.96); }
.rates-location-copy { padding: clamp(1.7rem, 3vw, 2.4rem); }
.rates-travel-notes { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin: 1.25rem 0 1.5rem; }
.rates-travel-notes span { display: inline-flex; align-items: center; gap: .5rem; color: #445c54; font-size: .78rem; font-weight: 600; }
.rates-location-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.rates-directions-btn,
.rates-call-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 46px;
    padding: .8rem 1.15rem;
    border-radius: .45rem;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-decoration: none;
}
.rates-directions-btn { background: #243c36; color: #fff; }
.rates-call-btn { border: 1px solid rgba(36,60,54,.22); background: #eef3f0; color: #243c36; }

/* FOOTER: official MOKAWA management lockup */
.footer-brand-lockup { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; }
.footer-silver-logo { width: min(150px, 100%) !important; height: auto !important; object-fit: contain; }
.footer-managed-label {
    margin-top: .5rem;
    color: rgba(255,255,255,.62);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.footer-mokawa-link { display: inline-flex; width: min(205px, 100%); padding: .35rem 0; }
.footer-mokawa-logo { width: 100%; height: auto; filter: invert(1); opacity: .92; }
.footer-mokawa-link:hover .footer-mokawa-logo { opacity: 1; }
.page-footer .footer-col-brand > p { margin-top: 1.1rem; }

/* Icon colour system: remove gold from icons across all sections. */
.silver-meta-item .bi,
.welcome-location-card .bi,
.welcome-managed-mark .bi,
.summary-card .bi,
.lux-room-feature-list .bi,
.lux-stay-inclusions .bi,
.lux-rooms-note .bi,
.dining-icon-btn .bi,
.lux-facility-meta .bi,
.rates-panel .bi { color: #243c36 !important; }
.summary-award-icon .bi,
.btn-book-primary .bi,
.rates-download-btn .bi,
.rates-directions-btn .bi,
.hero-btn.btn-whatsapp .bi { color: #fff !important; }

@media (max-width: 980px) {
    .rates-experience-grid { grid-template-columns: 1fr; }
    .rates-download.rates-panel { text-align: center; }
    .rates-download.rates-panel .rates-panel-icon { margin-inline: auto; }
    .rates-download-btn { margin-inline: auto; }
}

@media (max-width: 720px) {
    .resort-summary { padding-top: 5.5rem; }
    .resort-summary::before,
    .resort-summary::after { height: 520px; }
    .resort-summary .summary-header { margin-bottom: 3rem; }
    .dining-section { padding-top: 5.5rem; }
    .dining-section::before,
    .dining-section::after { height: 500px; }
    .dining-tabs { margin-inline: 1rem; overflow-x: auto; }
    .dining-content { margin-inline: 1rem; padding: 1.5rem; }
    .rates-section { padding-inline: 1rem; }
    .rates-location-actions > a { width: 100%; }
    .rates-background-credit { display: none; }
}
