/* Shared permanent page navigation: one row of site identity, one visible row of page tabs. */
.site-shell{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 8px 28px rgba(2,26,36,.1)}
.site-shell .topline{height:26px;min-height:26px;padding:0 clamp(16px,4vw,55px);font-size:11px;letter-spacing:.1em;box-shadow:none}
.site-header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px clamp(16px,4vw,55px);min-height:80px}
.site-header-main .brand{display:flex;align-items:center;gap:14px;white-space:nowrap;color:#082a37;text-decoration:none;font-weight:900}
.site-header-main .official-logo{transform:scale(.8);transform-origin:left center;margin-right:-25px}
.site-header-actions{display:flex;align-items:center;gap:16px}
.site-header-actions .btn{white-space:nowrap}
.site-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9be600 #e7eee8;white-space:nowrap;overscroll-behavior-x:contain;padding:0 clamp(16px,4vw,55px);border-top:1px solid #e5eee9;border-bottom:3px solid #a0f000;scroll-snap-type:x proximity}
.site-tabs a{display:inline-flex;align-items:center;flex:none;padding:13px 14px;color:#173942;font-size:15px;font-weight:800;line-height:1.2;text-decoration:none;scroll-snap-align:start;border-bottom:4px solid transparent;margin-bottom:-3px}
.site-tabs a:hover,.site-tabs a:focus-visible{color:#385f00;background:#effbdc;outline-offset:-3px}
.site-tabs a[aria-current="page"]{color:#193a00;border-color:#80cc00;background:#effbdc}
.multipage main section[id]{scroll-margin-top:155px}
.multipage .card-link{display:inline-block;text-decoration:none}
.multipage main{min-height:48vh}
.multipage main>section:first-child:not(.hero):not(.sport-hero):not(.tour):not(.garden-photo):not(.booking){padding-top:max(85px,6vw)}
.page-explore{padding:90px 0 110px}
.page-explore h2{max-width:850px;margin:12px 0 36px}
.page-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.page-explore-grid a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:29px 26px;min-height:105px;background:#07323d;color:#fff;text-decoration:none;font-size:22px;font-weight:800;border-radius:9px;transition:background .2s,transform .2s}
.page-explore-grid a:hover,.page-explore-grid a:focus-visible{background:#27626b;transform:translateY(-3px)}
.page-explore-grid b{color:#b1f723}
.page-intro{padding-bottom:24px}.page-intro h1{font-size:clamp(3rem,6vw,5.7rem);line-height:1.1}
.page-eventos .split{grid-template-columns:1fr;max-width:980px;min-height:360px}
.event-visual{position:relative;min-height:520px;display:flex;align-items:end;background:#062a36;color:#fff;overflow:hidden}.event-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,22,32,.88),rgba(0,22,32,.1) 85%)}.event-visual .wrap{position:relative;z-index:1;width:100%;padding:90px 0}.event-visual h2{max-width:780px}.event-visual .btn{display:inline-block}
.page-familia .split{grid-template-columns:1fr;max-width:980px}
.page-estadias .offer,.page-gastronomia .gastronomy,.page-corporate .corporate,.page-familia .split,.page-eventos .split,.page-jardim .sensory,.page-seguranca .safety,.page-localizacao .location{padding-bottom:max(100px,8vw)}
.page-tour .tour{padding-top:80px;padding-bottom:105px}
.page-reservas .booking{padding-top:30px}
@media(max-width:900px){.page-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.site-shell .topline{font-size:10px}.site-header-main{min-height:70px;padding:6px 12px;gap:5px}.site-header-main .brand{gap:0;font-size:13px}.site-header-main .official-logo{transform:scale(.57);margin-right:-62px}.site-header-actions{gap:7px}.site-header-actions .lang{min-width:37px;padding:5px}.site-header-actions .btn{font-size:12px;padding:9px}.site-tabs{padding:0 10px}.site-tabs a{font-size:14px;padding:12px 10px}.page-explore{padding:65px 0}.page-explore-grid{grid-template-columns:1fr}.page-explore-grid a{min-height:76px;padding:20px 24px;font-size:20px}.page-tour .tour{padding-top:55px}.page-eventos .split,.page-familia .split{display:block}.multipage main>section:first-child:not(.hero):not(.sport-hero):not(.tour):not(.garden-photo):not(.booking){padding-top:60px}}
@media(max-width:420px){.site-shell .topline span:last-child{display:none}.site-header-main .brand{font-size:12px}.site-header-main .brand-small{font-size:9px}.site-header-actions{gap:4px}.site-header-actions .btn{padding:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.page-explore-grid a{transition:none}}
/* Grouped pages retain clear chapter markers without adding tabs. */
.page-estadias .gastronomy{border-top:1px solid #d9e5df}
.page-estadias .safety{margin-top:0}
.page-corporate .page-chapters{background:#f2f7f4}
.page-chapters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 5vw;font-size:15px;font-weight:800}
.page-chapters a{display:inline-flex;padding:8px 14px;border-radius:30px;background:#e7f3e4;color:#123942;text-decoration:none}
.page-chapters a:hover,.page-chapters a:focus-visible{background:#a0f100;color:#082c33}
/* Clearer small-screen identity and generous touch areas. */
.site-tabs a{min-height:44px}
.multipage .card-link{min-height:44px;padding:8px 0;align-items:center}
.page-chapters a{min-height:44px;align-items:center}
@media(max-width:650px){.site-shell .topline{font-size:12px;min-height:30px;height:30px}.site-header-main .brand{font-size:15px;line-height:1.12}.site-header-main .brand-small{font-size:11px}}
@media(max-width:420px){.site-header-main .brand{font-size:15px}.site-header-main .brand-small{font-size:11px}}
/* Compact, persistent language control; Arabic uses its own legible typeface. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-picker{display:inline-flex;align-items:center;gap:3px;border:1px solid #448000;background:#efffd9;color:#103326;border-radius:6px;padding:0 7px;min-height:44px;white-space:nowrap}
.language-picker:focus-within{outline:3px solid #9de800;outline-offset:2px}
.language-picker .lang{min-width:64px;max-width:94px;border:0;background:transparent;color:#103326;font-size:15px;font-weight:800;padding:9px 2px;cursor:pointer;outline:0}
html[dir="rtl"] body{font-family:"Noto Sans Arabic","DM Sans",sans-serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3{font-family:"Noto Sans Arabic",sans-serif;letter-spacing:0;line-height:1.25}
html[dir="rtl"] .site-tabs,html[dir="rtl"] .site-header-main{direction:rtl}
html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="date"],html[dir="rtl"] input[type="time"]{direction:ltr;text-align:left}
html[dir="rtl"] .official-logo,html[dir="rtl"] .brand{direction:ltr}
@media(max-width:650px){.language-picker{padding:0 4px;gap:1px}.language-picker .lang{min-width:50px;max-width:82px;font-size:14px;padding:7px 0}.site-header-actions{gap:5px}}
@media(max-width:390px){.site-header-main{padding-left:8px;padding-right:8px}.site-header-actions .btn{font-size:11px;padding:7px 5px}}
/* Entrance photo: retain the greeting in frame on narrow screens. */
.page-home .hero-foot{font-size:12px;letter-spacing:.04em;text-shadow:0 1px 5px #001a23}
@media(max-width:700px){.page-home .hero>img{object-position:67% center}.page-home .hero-foot{font-size:12px;max-width:340px}}

/* Abertura: mensagem central do ecossistema DSR. */
.intro>.intro-statement{font-family:"Plus Jakarta Sans","DM Sans",Arial,sans-serif;font-size:clamp(1.55rem,2.35vw,2.3rem);font-weight:700;line-height:1.35;letter-spacing:-.035em;color:#102a3c;max-width:620px;border-inline-start:4px solid #7caf22;padding-inline-start:clamp(16px,2vw,27px);margin:0}
@media(max-width:700px){.intro>.intro-statement{font-size:clamp(1.5rem,5.8vw,1.95rem);line-height:1.38}}
/* Os contactos flutuantes não devem tapar a mensagem da abertura. */
.intro>.intro-statement{margin-inline-end:56px}
.floating-whatsapp{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:64px;height:64px}
.floating-whatsapp svg{width:64px;height:64px}
.floating-instagram{right:16px;bottom:calc(92px + env(safe-area-inset-bottom));width:64px;height:64px}
@media(max-width:600px){.intro>.intro-statement{margin-inline-end:45px}.floating-whatsapp{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:56px;height:56px}.floating-whatsapp svg{width:56px;height:56px}.floating-instagram{right:10px;bottom:calc(78px + env(safe-area-inset-bottom));width:56px;height:56px}}
