/* BeGuest: base visual comum a todas as páginas públicas (Rudi, 02/11/2026 03h07: "faz os ajustes visuais todos que propuseste").
   Carregada no fim do <head> de cada página, depois dos estilos da própria página, para que tudo fale a mesma língua:
   1. cores, raios e sombras da marca (tokens --bg-*); 2. três tipos de botão; 3. uma só escala tipográfica;
   4. ícones com o mesmo estilo; 5. ritmo das secções; 6. tratamento das fotografias; 7. menos efeitos ao mesmo tempo;
   8. cabeçalho e rodapé com as mesmas cores e letra. Mudar aqui muda o site todo. */
:root{
  --bg-verde:#3AC8C4; --bg-verde-esc:#1A8A86; --bg-verde-prof:#157874; --bg-verde-claro:#EAF8F8; --bg-fundo-alt:#F5FBFB;
  --bg-tinta:#233238; --bg-texto:#4A5B61; --bg-suave:#6B7B80; --bg-linha:#DCE6E9; --bg-ouro:#C99700;
  --bg-raio:18px; --bg-raio-sm:12px; --bg-raio-btn:999px;
  --bg-sombra:0 18px 44px -22px rgba(26,127,123,.30); --bg-sombra-sm:0 8px 22px -12px rgba(35,50,56,.22);
  --bg-titulo:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --bg-corpo:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --bg-grad:linear-gradient(120deg,#27ADA9,#1A8A86);
}

/* ---------- 3. tipografia: uma só letra e uma só escala ---------- */
body{font-family:var(--bg-corpo);color:var(--bg-tinta);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.sec-head h2{font-family:var(--bg-titulo);letter-spacing:-.02em;line-height:1.12}
h2{font-weight:700}
h3{font-weight:600}
.sec-head h2,section > .wrap > h2,main section h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}
.sec-head p,.lead{color:var(--bg-texto);font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.6}
p{line-height:1.6}

/* ---------- 2. botões: principal, secundário e link ---------- */
.btn,.sc-btn,.gs-btn,.es-btn,.zn-btn,button.btn{border-radius:var(--bg-raio-btn);font-weight:600;letter-spacing:.005em}
.btn-primary,.sc-primary,.btn-p,.es-btn.primary,.gs-btn:not(.ghost):not(.secondary):not(.outline),.zn-btn:not(.ghost):not(.secondary){
  background:var(--bg-grad)!important;color:#fff!important;border-color:transparent!important;font-weight:600}
.btn-ghost,.btn-outline,.btn-secondary,.btn.ghost,.btn-light,.sc-ghost,.gs-btn.ghost,.es-btn:not(.primary){
  background:#fff;color:var(--bg-verde-esc)!important;border:1.5px solid var(--bg-verde)!important;font-weight:600}
.btn-ghost:hover,.btn-outline:hover,.btn-secondary:hover,.btn.ghost:hover,.sc-ghost:hover{background:var(--bg-verde-claro)}
a{text-underline-offset:3px}

/* ---------- 4. ícones: caixa verde, traço branco ---------- */
.svc-ico,.feat-ico,.how-ico,.step-ico,.trust-ico,.fact-ico{border-radius:var(--bg-raio-sm)}
.sb-ico{stroke:currentColor}

/* ---------- 5. ritmo das secções ---------- */
.sec{padding:clamp(56px,7vw,96px) 0}
.sec-head{margin-bottom:clamp(28px,4vw,44px)}
#condicoes{background:var(--bg-fundo-alt)}
#services,#areas{background:#fff}

/* ---------- 6. fotografias: mesmo raio, mesmo corte, mesma cor ---------- */
main img:not([src$=".svg"]):not(.logo):not([class*="logo"]):not([class*="ico"]):not([width="1"]),
.card img,.gcard img,.zone img,.area img,.prop img,.aloj img{border-radius:var(--bg-raio-sm);object-fit:cover;filter:saturate(1.05) contrast(1.02)}

/* ---------- 7. menos efeitos ao mesmo tempo (calmo e premium) ---------- */
#cursorGlow,.cursor-glow{display:none!important}
[data-tilt],.stat-card,.trust-item{transform:none!important}
[data-magnetic]{transform:none!important}
h1 .accent,h2 .accent,.sec-head .accent{animation:none!important;background-size:100% auto!important;background-position:0 50%!important}
.btn-primary::before,.btn-primary::after,.btn-light::before{display:none!important}
.hero-cta .btn-primary,.search .btn-primary,.btn-primary.btn-block{animation:none!important}
.btn-primary:hover,.sc-primary:hover{transform:translateY(-2px)!important}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- 8. cabeçalho e rodapé: as mesmas cores e letra ---------- */
.sc-head{color:var(--bg-tinta);border-bottom-color:var(--bg-linha)}
.sc-nav a,.nav-links a{color:var(--bg-tinta);font-weight:500}
.sc-nav a:hover,.nav-links a:hover{color:var(--bg-verde-esc)}
.sc-book,.nav-links a.nav-book{border:1.5px solid var(--bg-verde)!important;color:var(--bg-verde-esc)!important;background:#fff!important;font-weight:600}
footer,.site-foot,.sc-foot{font-family:var(--bg-corpo)}
footer h4,.sc-foot h4{font-family:var(--bg-titulo);letter-spacing:-.01em}

/* ---------- cartões ---------- */
.card,.svc,.gcard,.faq-item,.v4-card{border-radius:var(--bg-raio)}

/* ---------- zonas da página inicial: botões maiores e com cor (Rudi, 02/11/2026 04h22) ---------- */
.zone-links{gap:12px!important;max-width:1100px!important;margin:4px auto 34px!important}
.zone-links a{font-size:1rem!important;font-weight:600;padding:13px 24px!important;border:1.5px solid var(--bg-verde)!important;border-radius:999px;color:var(--bg-verde-prof)!important;background:var(--bg-verde-claro)!important;box-shadow:var(--bg-sombra-sm);display:inline-flex;align-items:center;gap:8px;transition:transform .15s,background .2s,color .2s}
.zone-links a::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bg-verde);flex:none}
.zone-links a:hover{background:var(--bg-grad)!important;color:#fff!important;border-color:transparent!important;transform:translateY(-2px)}
.zone-links a:hover::before{background:#fff}
@media (max-width:600px){.zone-links a{font-size:.92rem!important;padding:11px 18px!important}}

/* navbook-mob (Rudi, 02/11/2026 05h58: "botão reservar estadia está muito grande" no menu do telemóvel):
   no menu lateral o botão herdava o espaçamento do painel; fica um botão normal, à largura do menu */
@media (max-width:900px){
  .nav-links a.nav-book{display:block!important;width:100%!important;box-sizing:border-box;padding:13px 18px!important;margin:4px 0 10px!important;
    text-align:center;font-size:.95rem!important;line-height:1.2!important;height:auto!important;min-height:0!important;border-radius:999px!important;opacity:1!important}
}
