/* Uniform photo tint and diffuse contrast for copy over photography. */
body main .hero .hero-shade,
body main .gastro-hero .gastro-overlay,
body main .activity-hero:after {
 background:rgba(0,27,25,.30)!important;
}
body main .scene-label{background:rgba(0,27,25,.30)!important}
body.resort-home main .rest123-card{
 background-image:linear-gradient(rgba(0,27,25,.30),rgba(0,27,25,.30)),url('/assets/forest-03-v35.webp')!important;
}
body main :is(.hero-content,.hero-top,.hero-bottom,.gastro-hero-copy,.activity-hero-copy,.scene-label,.rest123-card) :is(h1,h2,h3,p,.eyebrow,.hero-description,.hero-address,.breadcrumb,.hero-menu-link),
body main :is(.hero-top,.hero-bottom,.scene-label){
 text-shadow:0 0 20px rgba(35,38,37,.40),0 0 40px rgba(35,38,37,.22)!important;
}
body main :is(.hero-content,.gastro-hero-copy,.activity-hero-copy,.rest123-card) :is(.button,.button *){text-shadow:none!important}

/* Keep all header navigation text crisp over the translucent header. */
body .header nav,
body .header nav *,
body .header :is(summary,.menu){text-shadow:none!important}


/* Darken the home cover to the requested 40% while inner-page covers stay unchanged. */
body.resort-home main .hero .hero-shade{background:rgba(0,27,25,.40)!important}

/* Refined rooms request panel: airy sage ground, clear callout and a distinct form card. */
body.rooms-index-page main .request-section{
 box-sizing:border-box;width:min(1320px,calc(100% - 48px));margin:56px auto 72px;
 padding:clamp(28px,4.5vw,58px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
 gap:clamp(28px,5vw,72px);align-items:center;
 background:#f3f6f2;border:1px solid #dfe7df;border-radius:12px;
}
body.rooms-index-page main .request-section>div>.eyebrow{color:#42675d!important;letter-spacing:1.8px;margin:0 0 14px}
body.rooms-index-page main .request-section h2{font-size:clamp(34px,4vw,54px);line-height:1.08;margin:0 0 20px}
body.rooms-index-page main .request-section>div>p:not(.eyebrow){margin:0;max-width:48ch;color:#4e6058;line-height:1.65}
body.rooms-index-page main .request-call{
 margin:24px 0 0;padding:16px 18px;background:#fff;border:1px solid #e2e9e3;
 border-left:4px solid #1d4d48;border-radius:8px;
}
body.rooms-index-page main .request-call span{font-size:13px;color:#68766f}
body.rooms-index-page main .request-call a{font-size:clamp(22px,2.3vw,29px);font-weight:700;margin-top:5px;text-decoration:none}
body.rooms-index-page main .request-section .request-explain{font-size:13px;line-height:1.6;margin:18px 0 0;color:#68766f}
body.rooms-index-page main #inquiry-form{
 min-width:0;padding:clamp(20px,3vw,34px);background:#fff;border:1px solid #dfe7e1;
 border-radius:10px;box-shadow:0 10px 30px rgba(29,77,72,.08);
}
body.rooms-index-page main #inquiry-form .form-grid{gap:18px 16px}
body.rooms-index-page main #inquiry-form .form-grid label{font-size:13px;font-weight:600;color:#46564e;gap:8px}
body.rooms-index-page main #inquiry-form :is(input,select,textarea){
 border-color:#cfdbd2;border-radius:6px;background:#fbfcfa;color:#253b33;
}
body.rooms-index-page main #inquiry-form :is(input,select){height:52px}
body.rooms-index-page main #inquiry-form textarea{min-height:112px}
body.rooms-index-page main #inquiry-form :is(input,select,textarea):focus{outline:2px solid #719487;outline-offset:2px}
body.rooms-index-page main #inquiry-form .consent{font-size:13px;line-height:1.5;color:#52635b;align-items:flex-start}
body.rooms-index-page main #inquiry-form .consent input{width:18px;min-width:18px;height:18px;margin:2px 8px 0 0;accent-color:#1d4d48}
body.rooms-index-page main #inquiry-form .form-note{font-size:12px;line-height:1.55;color:#68766f}
body.rooms-index-page main #inquiry-form button[type=submit]{justify-content:center;box-shadow:none}
body.rooms-index-page main .gastro-hero-copy .hero-menu-link{border-bottom:0;text-decoration:none}
@media(max-width:800px){
 body.rooms-index-page main .request-section{width:calc(100% - 32px);margin:32px auto 48px;padding:24px;grid-template-columns:1fr;gap:24px}
 body.rooms-index-page main #inquiry-form{padding:22px}
}
@media(max-width:560px){
 body.rooms-index-page main .request-section{width:calc(100% - 24px);padding:20px}
 body.rooms-index-page main #inquiry-form{padding:18px}
 body.rooms-index-page main #inquiry-form .form-grid{grid-template-columns:1fr;gap:16px}
 body.rooms-index-page main #inquiry-form .form-grid .full{grid-column:auto}
 body.rooms-index-page main .request-section h2{font-size:clamp(32px,9vw,42px)}
}

/* Mobile header: logo, contact label, full booking button, menu. */
@media(max-width:700px){
 body .header{display:flex!important;flex-wrap:nowrap!important;padding-left:12px!important;padding-right:12px!important;gap:8px!important}
 body .header .header-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin-left:auto!important;margin-right:0!important}
 body .header .header-contact80{display:block!important;flex:none!important}
 body .header .header-contact80>summary{display:flex!important;font-size:12px!important;white-space:nowrap!important}
 body .header .booking-label-full81{display:inline!important}
 body .header .booking-label-short81{display:none!important}
 body .header-actions>.button.small{font-size:10px!important;padding:10px 8px!important;white-space:nowrap!important;min-height:40px!important}
 body .header .menu{display:block!important;width:36px!important;min-width:36px!important;min-height:44px!important;padding:0!important}
}

/* Rooms catalogue: compact transition to the photo archive. */
body.rooms-index-page main #catalog{padding-bottom:32px!important}
body.rooms-index-page main .room-archive89{margin-top:0!important}
body.rooms-index-page main #catalog .room-soon89{background:#f4b544!important;border:0!important;color:#3d3422!important}

/* Mobile home cover: conceal introductory copy while preserving button positions. */
@media(max-width:700px){
 body.resort-home main .hero108 .hero-content #hero-title,
 body.resort-home main .hero108 .hero-content .hero-description{visibility:hidden!important}
}
