/*
Theme Name: Hamburgo Palace Hotel TossStudio
Theme URI: https://hamburgopalace.com.br/
Author: TOSS Studio
Author URI: https://tossstudio.com.br/
Description: Tema institucional para o Hamburgo Palace Hotel — hotel família em Balneário Camboriú desde 1974.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hamburgo
*/

/* ================================================================
   Hamburgo Palace Hotel — TOSS Studio
   Paleta: Offwhite #F2EBE1 · Gold #8A6F42 · Forest #233527
   ================================================================ */

:root {
  --hp-offwhite:   #F2EBE1;
  --hp-cream:      #FBF8F3;
  --hp-gold:       #8A6F42;
  --hp-gold-light: #A6884F;
  --hp-gold-pale:  #BCB195;
  --hp-forest:     #233527;
  --hp-forest-mid: #415945;
  --hp-forest-dark:#1E2E22;
  --hp-ink:        #0D140F;
  --hp-white:      #FFFFFF;
  --hp-border:     rgba(188,177,149,0.45);

  --radius-card: 16px;
  --radius-pill: 999px;
  --shadow-card: 0 20px 44px -34px rgba(13,20,15,0.4);
  --shadow-card-hover: 0 34px 60px -34px rgba(13,20,15,0.5);
  --shadow-btn:  0 8px 22px -6px rgba(138,111,66,0.85);

  --shell: 1440px;
  --gap-x: clamp(1.25rem,4vw,3rem);
  --section-y: clamp(5rem,9vw,8rem);

  --font-serif: 'Playfair Display', serif;
  --font-sans:  'Poppins', sans-serif;
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--hp-offwhite);
  color: var(--hp-ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--hp-gold); color: var(--hp-offwhite); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
input, button, select, textarea { font-family: var(--font-sans); }
address { font-style: normal; }

/* ---- Skip link ---- */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: var(--hp-forest);
  color: var(--hp-offwhite);
  padding: .5rem 1rem;
  border-radius: 0 0 6px 6px;
  font-size: 13px;
  z-index: 9999;
}
.skip-link:focus { top: 0; }

/* ---- Shell (container) ---- */
.shell {
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gap-x);
}

/* ---- Eyebrow ---- */
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 1rem;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--hp-gold);
}
.eyebrow::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: var(--hp-gold);
  flex-shrink: 0;
}
.eyebrow--light { color: var(--hp-gold-pale); }
.eyebrow--light::before { background: var(--hp-gold); }
.eyebrow--center { justify-content: center; }
.eyebrow--center::after {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: var(--hp-gold);
  flex-shrink: 0;
}

/* ---- Keyframes ---- */
@keyframes hpFade      { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:none } }
@keyframes hpKen       { from { transform:scale(1.08) } to { transform:scale(1) } }
@keyframes hpGlowPulse { 0%,100%{box-shadow:0 6px 22px -6px rgba(138,111,66,.75)}50%{box-shadow:0 6px 28px 0 rgba(138,111,66,1)} }
@keyframes hpFloat     { 0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)} }
@keyframes hpRing      { 0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0} }
@keyframes hpBubble    { 0%{opacity:0;transform:translateY(10px) scale(.95)}100%{opacity:1;transform:none} }
@keyframes hpTwinkle   { 0%,100%{transform:scale(1) rotate(0);opacity:.85}50%{transform:scale(1.12) rotate(8deg);opacity:1} }
@keyframes hpBeat      { 0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)} }
@keyframes hpBob       { 0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)} }
@keyframes hpSpinSlow  { from{transform:rotate(0)}to{transform:rotate(360deg)} }
@keyframes hpShine     { 0%{left:-100%}100%{left:200%} }

/* ---- Reveal ---- */
[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].hp-in { opacity: 1; transform: none; }

/* ================================================================
   NAV
   ================================================================ */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 120;
  background: linear-gradient(180deg,rgba(13,20,15,.55) 0%,rgba(13,20,15,.12) 70%,rgba(13,20,15,0) 100%);
  transition: background .4s ease, box-shadow .4s ease;
}
.nav.scrolled {
  background: var(--hp-forest);
  box-shadow: 0 2px 30px rgba(13,20,15,.22);
}
.nav-inner {
  max-width: 100%;
  padding-inline: 30px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
/* Lado esquerdo: logo + nav juntos */
.nav-left {
  display: flex;
  align-items: center;
  gap: 4rem;
  flex: 1;
  min-width: 0;
}
.nav-logo img { height: 46px; width: auto; transition: transform .35s ease; }
.nav-logo:hover img { transform: scale(1.03); }
.nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
}
.nav-links a {
  font-size: 13.5px;
  color: var(--hp-offwhite);
  font-weight: 300;
  letter-spacing: .02em;
  transition: color .25s ease, transform .25s ease;
}
.nav-links a:hover { color: var(--hp-gold-pale); transform: translateY(-2px); }
.nav-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--hp-ink) !important;
  background: linear-gradient(135deg, var(--hp-gold-light) 0%, var(--hp-gold) 100%);
  padding: 12px 24px;
  border-radius: var(--radius-pill);
  letter-spacing: .01em;
  animation: hpGlowPulse 2.6s ease-in-out infinite;
  transition: transform .25s ease !important;
}
.nav-cta:hover { transform: translateY(-2px) scale(1.04) !important; }

/* Mobile toggle */
.nav-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
}
.nav-toggle-bar { display: block; height: 2px; background: var(--hp-offwhite); }
.nav-toggle-bar:nth-child(1),
.nav-toggle-bar:nth-child(2) { width: 26px; }
.nav-toggle-bar:nth-child(3) { width: 18px; background: var(--hp-gold); }

/* Drawer mobile */
.nav-drawer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--hp-forest);
  flex-direction: column;
  padding: 2rem 2rem 3rem;
  animation: hpFade .3s ease;
}
.nav-drawer.open { display: flex; }
.nav-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
}
.nav-drawer-name {
  font-family: var(--font-serif);
  font-size: 20px;
  letter-spacing: .16em;
  color: var(--hp-offwhite);
}
.nav-drawer-close {
  background: transparent;
  border: none;
  color: var(--hp-offwhite);
  font-size: 30px;
  cursor: pointer;
  line-height: 1;
}
.nav-drawer nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 0.5rem;
}
.nav-drawer nav a {
  font-family: var(--font-serif);
  font-size: 22px;
  color: var(--hp-offwhite);
  padding: 8px 0;
  border-bottom: 1px solid rgba(188,177,149,.18);
}
.nav-drawer-cta {
  margin-top: auto;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: var(--hp-ink);
  background: var(--hp-gold);
  padding: 16px;
  border-radius: 8px;
}

/* Nav actions group */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Tour 360° — outline claro */
.nav-btn-tour {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  color: var(--hp-offwhite);
  border: 1px solid rgba(242,235,225,.45);
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  letter-spacing: .01em;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
  white-space: nowrap;
}
.nav-btn-tour:hover {
  border-color: var(--hp-gold-pale);
  background: rgba(188,177,149,.12);
  transform: translateY(-2px);
}
.nav.scrolled .nav-btn-tour {
  border-color: rgba(188,177,149,.5);
}

/* Language switcher */
.nav-lang { position: relative; }
.nav-lang-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: 1px solid rgba(242,235,225,.3);
  border-radius: var(--radius-pill);
  padding: 9px 13px;
  color: var(--hp-offwhite);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease;
  white-space: nowrap;
  font-family: var(--font-sans);
}
.nav-lang-btn:hover,
.nav-lang[data-open] .nav-lang-btn {
  border-color: var(--hp-gold-pale);
  background: rgba(188,177,149,.1);
}
.nav-lang-arrow { transition: transform .25s ease; opacity: .7; }
.nav-lang[data-open] .nav-lang-arrow { transform: rotate(180deg); }

.nav-lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 155px;
  background: var(--hp-white);
  border: 1px solid var(--hp-border);
  border-radius: 12px;
  box-shadow: 0 16px 40px -12px rgba(13,20,15,.25);
  list-style: none;
  padding: 6px;
  z-index: 200;
  animation: hpBubble .2s ease;
}
.nav-lang[data-open] .nav-lang-dropdown { display: block; }
.nav-lang-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 400;
  color: var(--hp-ink);
  cursor: pointer;
  font-family: var(--font-sans);
  transition: background .2s ease;
}
.nav-lang-opt:hover  { background: var(--hp-offwhite); }
.nav-lang-opt.active { font-weight: 600; color: var(--hp-forest); }

/* Drawer lang switcher */
.nav-drawer-lang {
  display: flex;
  gap: 10px;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(188,177,149,.18);
}
.nav-drawer-lang-btn {
  flex: 1;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(188,177,149,.25);
  border-radius: 8px;
  padding: 11px 8px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(242,235,225,.75);
  cursor: pointer;
  font-family: var(--font-sans);
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.nav-drawer-lang-btn.active,
.nav-drawer-lang-btn:hover {
  background: rgba(138,111,66,.2);
  border-color: var(--hp-gold);
  color: var(--hp-offwhite);
}

/* ================================================================
   HERO
   ================================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

/* Slider */
.hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.hero-slide.active {
  opacity: 1;
}
.hero-slide img {
  width: 100%; height: 100%;
  object-fit: cover;
}
/* Ken Burns apenas no slide ativo */
@keyframes hpKenSlide { from { transform: scale(1.07) } to { transform: scale(1) } }
.hero-slide.active img {
  animation: hpKenSlide 8s ease-out forwards;
}

/* Dots */
.hero-dots {
  position: absolute;
  bottom: clamp(14rem,11vh,8.5rem);
  right: clamp(1.25rem,4vw,3rem);
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hero-dot {
  position: relative;
  width: 3px;
  height: 30px;
  background: rgba(242,235,225,.25);
  border: none;
  border-radius: 2px;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  transition: background .3s ease, height .3s ease;
}
.hero-dot.active {
  height: 44px;
  background: rgba(242,235,225,.35);
}
.hero-dot-track {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 0%;
  background: var(--hp-gold);
  border-radius: 2px;
}
.hero-dot.active .hero-dot-track {
  animation: hpDotFill var(--hero-duration, 6000ms) linear forwards;
}
@keyframes hpDotFill { from { height: 0% } to { height: 100% } }

.hero-overlay-h {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,rgba(13,20,15,.66) 0%,rgba(13,20,15,.38) 45%,rgba(13,20,15,.13) 100%);
}
.hero-overlay-v {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg,rgba(13,20,15,.17) 0%,rgba(13,20,15,0) 30%,rgba(13,20,15,.47) 100%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-bottom: clamp(9rem,16vh,12rem);
  animation: hpFade 1s ease-out both;
}
.hero-inner { max-width: 760px; }
.hero-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 1.4rem;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--hp-gold-pale);
}
.hero-badge::before { content:''; width:34px; height:1px; background:var(--hp-gold); }
.hero h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(38px,6vw,72px);
  line-height: 1.04;
  color: var(--hp-offwhite);
  letter-spacing: -.01em;
}
.hero-sub {
  font-weight: 300;
  font-size: clamp(15px,1.5vw,18px);
  line-height: 1.7;
  color: rgba(242,235,225,.9);
  margin-top: 1.6rem;
  max-width: 600px;
}
.hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  margin-top: 2.4rem;
}
.hero-stat-val {
  font-family: var(--font-serif);
  font-size: 34px;
  color: var(--hp-offwhite);
  line-height: 1;
}
.hero-stat-label {
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--hp-gold-pale);
  margin-top: 5px;
}
.hero-divider { width: 1px; background: rgba(188,177,149,.35); }

/* ================================================================
   BOOKING BAR
   ================================================================ */
.booking-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 95;
  pointer-events: none;
  padding: 0 clamp(.75rem,3vw,2rem) 14px;
}
@media (min-width: 768px) {
  .booking-bar { bottom: 30px; padding: 0 clamp(30px, 4vw, 30px); }
}
.booking-bar-inner {
  pointer-events: auto;
  max-width: 400px;
  margin-inline: 0;
  background: var(--hp-white);
  border-radius: var(--radius-card);
  box-shadow: 0 18px 50px -16px rgba(13,20,15,.55);
  border: 1px solid rgba(188,177,149,.55);
  padding: 12px 14px;
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.booking-bar-inner.ping {
  transform: translateY(-8px) scale(1.015);
  box-shadow: 0 26px 60px -12px rgba(138,111,66,.75);
}
.booking-desktop {
  display: none;
}
.booking-label { display: flex; flex-direction: column; gap: 1px; padding: 0 6px; flex-shrink: 0; }
.booking-label-title { font-family: var(--font-serif); font-size: 16px; color: var(--hp-forest); line-height: 1.15; }
.booking-label-sub   { font-size: 11px; color: var(--hp-gold); font-weight: 500; }
.booking-sep         { width: 1px; height: 40px; background: rgba(188,177,149,.5); flex-shrink: 0; }
.booking-field       { flex: 1 1 150px; display: flex; flex-direction: column; gap: 4px; }
.booking-field label { font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--hp-gold); }
.booking-field input[type="date"] {
  border: 1px solid rgba(188,177,149,.7);
  border-radius: 8px;
  padding: 9px 11px;
  font-size: 13.5px;
  color: var(--hp-ink);
  background: var(--hp-cream);
  width: 100%;
}
.booking-guests { flex: 1 1 140px; display: flex; flex-direction: column; gap: 4px; }
.booking-guests label { font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--hp-gold); }
.booking-guests-ctrl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(188,177,149,.7);
  border-radius: 8px;
  padding: 4px 8px;
  background: var(--hp-cream);
  height: 38px;
}
.booking-guests-btn {
  width: 26px; height: 26px;
  border-radius: 6px;
  border: 1px solid rgba(188,177,149,.8);
  background: var(--hp-white);
  color: var(--hp-forest);
  font-size: 17px;
  cursor: pointer;
  line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s ease;
}
.booking-guests-btn:hover { background: var(--hp-offwhite); }
.booking-guests-count { font-size: 13.5px; color: var(--hp-ink); white-space: nowrap; }
.booking-btn {
  flex: 0 0 auto;
  white-space: nowrap;
  background: linear-gradient(135deg, var(--hp-gold-light) 0%, var(--hp-gold) 100%);
  color: var(--hp-ink);
  border: none;
  border-radius: var(--radius-pill);
  padding: 0 26px;
  height: 48px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex; align-items: center; gap: 9px;
  box-shadow: var(--shadow-btn);
  transition: transform .25s ease, box-shadow .25s ease;
}
.booking-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(138,111,66,1);
}
.booking-mobile {
  display: flex;
  align-items: center;
  gap: 12px;
}
.booking-mobile-label { flex: 1; min-width: 0; }
.booking-mobile-label .title { font-family: var(--font-serif); font-size: 15px; color: var(--hp-forest); line-height: 1.15; }
.booking-mobile-label .sub   { font-size: 11.5px; color: var(--hp-gold); font-weight: 500; }
.booking-mobile-cta {
  flex-shrink: 0;
  display: flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--hp-gold-light), var(--hp-gold));
  color: var(--hp-ink);
  font-weight: 500; font-size: 14px;
  padding: 13px 22px;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  transition: transform .25s ease;
}
.booking-mobile-cta:hover { transform: scale(1.04); }

/* ================================================================
   ACOMODAÇÕES
   ================================================================ */
.sec-acomodacoes {
  max-width: var(--shell);
  margin-inline: auto;
  padding: var(--section-y) var(--gap-x) clamp(3rem,5vw,4rem);
  scroll-margin-top: 90px;
}
.sec-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.sec-header-text { max-width: 620px; }
.sec-h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(28px,4vw,46px);
  line-height: 1.1;
  color: var(--hp-ink);
}
.sec-h2--light { color: var(--hp-offwhite); }
.sec-desc {
  max-width: 380px;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.75;
  color: var(--hp-forest-mid);
}
.rooms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 26px;
}
.room-card {
  background: var(--hp-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  border: 1px solid var(--hp-border);
  box-shadow: var(--shadow-card);
  transition: transform .35s ease, box-shadow .35s ease;
}
.room-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover); }
.room-img { position: relative; aspect-ratio: 4/3; overflow: hidden; }

/* Room slider */
.room-slides { position: absolute; inset: 0; }
.room-slide {
  position: absolute; inset: 0;
  opacity: 0;
  transition: opacity .7s ease;
}
.room-slide.active { opacity: 1; }
.room-slide img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.room-slide.active img { transform: scale(1.04); }
.room-card:hover .room-slide.active img { transform: scale(1.07); }

/* Setas */
.room-arrow {
  position: absolute; top: 50%; z-index: 4;
  transform: translateY(-50%);
  width: 36px; height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(13,20,15,.5);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity .25s ease, background .25s ease, transform .25s ease;
  backdrop-filter: blur(4px);
}
.room-arrow--prev { left: 10px; }
.room-arrow--next { right: 10px; }
.room-img:hover .room-arrow { opacity: 1; }
.room-arrow:hover { background: rgba(13,20,15,.75); }
.room-arrow--prev:hover { transform: translateY(-50%) translateX(-2px); }
.room-arrow--next:hover { transform: translateY(-50%) translateX(2px); }

/* Dots */
.room-dots {
  position: absolute; bottom: 10px; left: 50%; z-index: 4;
  transform: translateX(-50%);
  display: flex; gap: 6px;
}
.room-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  transition: background .25s ease, transform .25s ease;
}
.room-dot.active {
  background: #fff;
  transform: scale(1.25);
}
.room-badge {
  position: absolute; top: 16px; left: 16px;
  font-size: 11px; font-weight: 500; letter-spacing: .04em;
  padding: 6px 13px;
  border-radius: var(--radius-pill);
}
.room-badge--light { background: rgba(255,255,255,.92); color: var(--hp-forest); }
.room-badge--gold  { background: var(--hp-gold); color: var(--hp-ink); }
.room-body { padding: 26px 26px 28px; }
.room-body h3 { font-family: var(--font-serif); font-weight: 500; font-size: 26px; color: var(--hp-ink); }
.room-body p  { font-weight: 300; font-size: 14px; line-height: 1.7; color: var(--hp-forest-mid); margin-top: 10px; }
.room-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.room-tag  { font-size: 12px; color: var(--hp-forest); background: var(--hp-offwhite); padding: 6px 12px; border-radius: 7px; }
.room-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 24px; padding-top: 18px;
  border-top: 1px solid rgba(188,177,149,.4);
}
.room-link { font-size: 13.5px; font-weight: 500; color: var(--hp-forest); transition: color .25s ease; }
.room-link:hover { color: var(--hp-gold); }
.room-cta {
  font-size: 13px; font-weight: 500; color: var(--hp-offwhite);
  background: var(--hp-forest);
  padding: 11px 22px; border-radius: var(--radius-pill);
  transition: background .25s ease, transform .25s ease;
}
.room-cta:hover { background: var(--hp-forest-mid); transform: translateY(-2px); }

/* ================================================================
   PROMOÇÕES
   ================================================================ */
.sec-promocoes {
  background: rgb(138,111,66);
  padding: clamp(4rem,7vw,6rem) 0;
}

/* Header — centralizado */
.promo-header {
  text-align: center;
  padding: 0 clamp(1.25rem,5vw,3.5rem) clamp(2.5rem,4.5vw,3.5rem);
  max-width: 1440px;
  margin-inline: auto;
}
.promo-header .eyebrow--gold {
  color: rgba(242,235,225,.65);
  border-color: rgba(242,235,225,.3);
  justify-content: center;
}
.promo-header .eyebrow--gold::before { background: rgba(242,235,225,.5); }
.promo-header h2 {
  font-family: var(--font-serif);
  font-size: clamp(28px,3.5vw,44px);
  font-weight: 400;
  color: var(--hp-offwhite);
  line-height: 1.15;
  margin-top: .5rem;
}

/* Grid — 3 colunas */
.promo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px,1.5vw,18px);
  max-width: 1440px;
  margin-inline: auto;
  padding: 0 clamp(1.25rem,4vw,3.5rem);
}

/* Box — 3:4, cantos arredondados */
.promo-box {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--radius-card);
  cursor: pointer;
}

/* Imagem de fundo */
.promo-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.promo-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.25,.46,.45,.94);
}
.promo-box:hover .promo-bg img { transform: scale(1.07); }

/* Overlay escuro permanente */
.promo-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(13,20,15,.08)  0%,
    rgba(13,20,15,.30) 40%,
    rgba(13,20,15,.70) 100%
  );
  transition: opacity .5s ease;
}
.promo-box:hover .promo-overlay { opacity: .85; }

/* Overlay dourado sutil — hover */
.promo-overlay-gold {
  position: absolute; inset: 0; z-index: 2;
  background: rgba(138,111,66,0);
  transition: background .5s ease;
}
.promo-box:hover .promo-overlay-gold { background: rgba(138,111,66,.14); }

/* Conteúdo */
.promo-content {
  position: absolute;
  inset: 0; z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(18px,2.5vw,32px);
  gap: 14px;
}

/* Badge destaque — eventos */
.destaque-badge {
  position: absolute;
  top: 18px; left: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #1a2e1a;
  background: var(--hp-gold);
  border: 1px solid rgba(188,177,149,.4);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
}
.destaque-badge svg { flex-shrink: 0; }

/* Data do evento nos cards */
.evento-data {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(176,141,87,.55);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: var(--radius-pill);
  padding: 4px 10px 4px 7px;
  margin-bottom: 6px;
}
.evento-data svg { flex-shrink: 0; opacity: .9; }

/* Bloco de data no single */
.evento-data-bloco {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--hp-gold);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--hp-border);
}

/* ================================================================
   EVENTOS — toolbar de filtro (sem dependência do blog.css)
   ================================================================ */
.eventos-toolbar {
  background: var(--hp-forest);
  position: sticky;
  top: 0;
  z-index: 90;
  box-shadow: 0 4px 20px -4px rgba(13,20,15,.35);
}
.eventos-toolbar-inner {
  display: flex;
  align-items: center;
  padding-block: .9rem;
}
.eventos-cats {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.eventos-cat-pill {
  display: inline-flex;
  align-items: center;
  font-size: .8rem;
  font-weight: 500;
  color: rgba(242,235,225,.7);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-pill);
  padding: .38rem 1rem;
  transition: background .2s, color .2s, border-color .2s;
  white-space: nowrap;
}
.eventos-cat-pill:hover {
  background: rgba(176,141,87,.2);
  color: var(--hp-offwhite);
  border-color: rgba(176,141,87,.5);
}
.eventos-cat-pill.active {
  background: var(--hp-gold);
  color: #fff;
  border-color: var(--hp-gold);
}

/* Empty state */
.eventos-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 5rem 1rem;
  color: rgba(242,235,225,.6);
}
.eventos-empty h2 {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--hp-offwhite);
}
.eventos-empty p { font-size: .9rem; max-width: 36ch; }

/* ── Carrossel mobile — promoções ───────────────────────────────── */
@media (max-width: 767px) {
  .promo-carousel-wrap {
    position: relative;
  }
  .promo-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 12px;
    padding: 0 clamp(1.25rem,5vw,1.75rem);
    padding-right: 0; /* deixa peek do próximo card */
  }
  .promo-grid::-webkit-scrollbar { display: none; }
  .promo-box {
    flex: 0 0 82%;
    scroll-snap-align: start;
    aspect-ratio: 3 / 4;
  }
  /* Setas */
  .promo-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid rgba(242,235,225,.55);
    background: rgba(13,20,15,.45);
    color: var(--hp-offwhite);
    cursor: pointer;
    transition: opacity .25s ease, background .25s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .promo-arrow--prev { left: 6px; }
  .promo-arrow--next { right: 14px; }
  .promo-arrow:hover { background: rgba(138,111,66,.75); }
}

@media (min-width: 768px) {
  .promo-arrow { display: none; }
}

/* Seção eventos */
.sec-eventos {
  padding-block: clamp(3rem, 6vw, 5rem);
}
.sec-eventos .promo-grid {
  /* shell já provê o max-width — remove o padding duplo */
  padding-inline: 0;
  max-width: 100%;
}

@media (max-width: 720px) {
  .eventos-toolbar-inner { flex-direction: column; align-items: stretch; gap: .6rem; }
}

/* Badge no hero do single */
.page-hero-eyebrow.destaque-badge--hero {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--hp-gold);
  color: #1a2e1a;
  border-radius: var(--radius-pill);
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Badge — paleta do hotel, sem emoji */
.promo-badge {
  position: absolute;
  top: 18px; left: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--hp-offwhite);
  background: rgba(35,53,39,.72);
  border: 1px solid rgba(188,177,149,.3);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  backdrop-filter: blur(6px);
}
.promo-badge svg { display: none; }

/* Texto */
.promo-text { display: flex; flex-direction: column; gap: 8px; }
.promo-text h3 {
  font-family: var(--font-serif);
  font-size: clamp(22px,2.4vw,32px);
  font-weight: 400;
  color: var(--hp-offwhite);
  line-height: 1.15;
}
.promo-text p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(242,235,225,.8);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(6px);
  transition: max-height .45s ease, opacity .4s ease .05s, transform .4s ease .05s;
}
.promo-box:hover .promo-text p {
  max-height: 100px;
  opacity: 1;
  transform: translateY(0);
}

/* CTA */
.promo-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--hp-forest);
  background: var(--hp-offwhite);
  padding: 12px 22px;
  border-radius: var(--radius-pill);
  width: fit-content;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease .1s, transform .35s ease .1s, background .25s ease;
  box-shadow: 0 8px 22px -8px rgba(13,20,15,.55);
}
.promo-box:hover .promo-cta { opacity: 1; transform: translateY(0); }
.promo-cta:hover { background: var(--hp-gold-pale); color: var(--hp-ink); }

/* Número decorativo */
.promo-num {
  position: absolute;
  top: -10px; right: 18px; z-index: 2;
  font-family: var(--font-serif);
  font-size: clamp(90px,10vw,140px);
  font-weight: 400;
  color: rgba(255,255,255,.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  transition: color .5s ease;
}
.promo-box:hover .promo-num { color: rgba(255,255,255,.09); }

/* ================================================================
   TOUR VIRTUAL
   ================================================================ */
.sec-tour {
  position: relative;
  min-height: clamp(440px,68vh,640px);
  display: flex; align-items: center;
  overflow: hidden;
  scroll-margin-top: 80px;
}
.tour-bg {
  position: absolute;
  top: -12%; left: 0;
  width: 100%; height: 124%;
  z-index: 0;
  will-change: transform;
}
.tour-bg img { width: 100%; height: 100%; object-fit: cover; }
.tour-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,rgba(13,20,15,.70) 0%,rgba(13,20,15,.47) 45%,rgba(13,20,15,.24) 100%);
}
.tour-content {
  position: relative; z-index: 2;
  max-width: var(--shell); margin-inline: auto;
  padding: clamp(3rem,6vw,5rem) var(--gap-x);
  width: 100%;
}
.tour-inner { max-width: 560px; }
.tour-icon {
  display: flex;
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid var(--hp-gold);
  align-items: center; justify-content: center;
  animation: hpSpinSlow 14s linear infinite;
}
.tour-badge {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 1.1rem;
  font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
  color: var(--hp-gold-pale);
}
.tour-inner h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(28px,4.4vw,48px);
  line-height: 1.1;
  color: var(--hp-offwhite);
}
.tour-inner p {
  font-weight: 300; font-size: 15px; line-height: 1.75;
  color: rgba(242,235,225,.85);
  margin-top: 1.2rem;
}
.btn-gold {
  display: inline-flex; align-items: center; gap: 11px;
  margin-top: 2rem;
  font-size: 14.5px; font-weight: 500;
  color: var(--hp-ink);
  background: linear-gradient(135deg, var(--hp-gold-light), var(--hp-gold));
  padding: 15px 30px;
  border-radius: var(--radius-pill);
  box-shadow: 0 10px 28px -8px rgba(138,111,66,.9);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-gold:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 18px 40px -10px rgba(138,111,66,1); }

/* ================================================================
   DIFERENCIAIS
   ================================================================ */
.sec-diferenciais {
  background: var(--hp-forest);
  padding: var(--section-y) var(--gap-x);
  scroll-margin-top: 0;
}
.diferenciais-head { text-align: center; max-width: 680px; margin: 0 auto 3.4rem; }
.diferenciais-head p {
  font-weight: 300; font-size: 15px; line-height: 1.75;
  color: rgba(242,235,225,.78); margin-top: 1.2rem;
}
.diferenciais-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1px;
  background: rgba(188,177,149,.22);
  border: 1px solid rgba(188,177,149,.22);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.diferencial {
  background: var(--hp-forest);
  padding: 34px 30px;
  transition: background .35s ease, transform .35s ease;
}
.diferencial:hover { background: var(--hp-forest-dark); transform: translateY(-5px); }
.diferencial h3 { font-family: var(--font-serif); font-size: 22px; color: var(--hp-offwhite); margin-top: 18px; }
.diferencial p  { font-weight: 300; font-size: 14px; line-height: 1.7; color: rgba(242,235,225,.72); margin-top: 9px; }

/* ================================================================
   SERVIÇOS
   ================================================================ */
.sec-servicos {
  max-width: var(--shell);
  margin-inline: auto;
  padding: var(--section-y) var(--gap-x);
}
.servicos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(2rem,5vw,4.5rem);
  align-items: center;
}
.servico-img {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 5/6;
  box-shadow: 0 30px 60px -36px rgba(13,20,15,.5);
}
.servico-img img { width: 100%; height: 100%; object-fit: cover; }
.servico-img-card {
  position: absolute; left: 20px; bottom: 20px; right: 20px;
  background: rgba(255,255,255,.94);
  border-radius: 12px;
  padding: 18px 20px;
}
.servico-img-card .tag { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--hp-gold); font-weight: 500; }
.servico-img-card p { font-family: var(--font-serif); font-style: italic; font-size: 18px; color: var(--hp-ink); margin-top: 6px; line-height: 1.4; }
.servico-list { display: flex; flex-direction: column; margin-top: 2rem; }
.servico-item {
  display: flex;
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid rgba(188,177,149,.45);
}
.servico-item:last-child { border-bottom: 1px solid rgba(188,177,149,.45); }
.servico-item svg { flex-shrink: 0; margin-top: 2px; }
.servico-item h3 { font-size: 16px; font-weight: 500; color: var(--hp-ink); }
.servico-item p  { font-weight: 300; font-size: 13.5px; line-height: 1.65; color: var(--hp-forest-mid); margin-top: 4px; }

/* ================================================================
   ESTRUTURA
   ================================================================ */
.sec-estrutura {
  background: var(--hp-cream);
  padding: var(--section-y) var(--gap-x);
  scroll-margin-top: 80px;
}
.estrutura-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.6rem;
}
.btn-outline {
  display: inline-flex; align-items: center; gap: .45rem;
  width: fit-content;
  font-size: 13.5px; font-weight: 500; color: var(--hp-forest);
  border: 1px solid rgba(35,53,39,.35);
  padding: 13px 22px;
  border-radius: var(--radius-pill);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.btn-outline:hover { background: var(--hp-forest); color: var(--hp-offwhite); transform: translateY(-2px); }
.estrutura-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 16px;
}
.gallery-item {
  border-radius: var(--radius-card);
  overflow: hidden;
  position: relative;
}
.gallery-item--large { grid-column: span 2; grid-row: span 2; }
.gallery-item--wide  { grid-column: span 2; }
.gallery-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease;
}
.gallery-item:hover img { transform: scale(1.05); }
.gallery-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(13,20,15,.60) 100%);
}
.gallery-label {
  position: absolute; left: 22px; bottom: 20px;
  font-family: var(--font-serif); font-size: 24px; color: var(--hp-offwhite);
}
.gallery-label--sm { left: 20px; bottom: 16px; font-size: 18px; }

/* ================================================================
   LOCALIZAÇÃO
   ================================================================ */
.sec-localizacao {
  position: relative;
  min-height: 560px;
  display: flex; align-items: center;
  overflow: hidden;
  scroll-margin-top: 80px;
}
.localizacao-bg { position: absolute; inset: 0; z-index: 0; }
.localizacao-bg img { width: 100%; height: 100%; object-fit: cover; }
.localizacao-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,rgba(13,20,15,.72) 0%,rgba(13,20,15,.47) 50%,rgba(13,20,15,.26) 100%);
}
.localizacao-content {
  position: relative; z-index: 2;
  max-width: var(--shell); margin-inline: auto;
  padding: clamp(4rem,7vw,6rem) var(--gap-x);
  width: 100%;
}
.localizacao-inner { max-width: 520px; }
.localizacao-inner h2 {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(28px,4vw,46px); line-height: 1.12;
  color: var(--hp-offwhite);
}
.localizacao-inner > p {
  font-weight: 300; font-size: 15px; line-height: 1.75;
  color: rgba(242,235,225,.85); margin-top: 1.2rem;
}
.distancias {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 2rem;
}
.distancia {
  background: rgba(242,235,225,.1);
  border: 1px solid rgba(188,177,149,.3);
  border-radius: 12px;
  padding: 16px 18px;
}
.distancia-val { font-family: var(--font-serif); font-size: 22px; color: var(--hp-offwhite); }
.distancia-label { font-size: 12.5px; color: var(--hp-gold-pale); margin-top: 2px; }
.localizacao-actions {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  margin-top: 2rem;
}
.btn-gold-solid {
  font-size: 13.5px; font-weight: 500;
  color: var(--hp-ink); background: var(--hp-gold);
  padding: 13px 22px; border-radius: 8px;
  transition: background .25s ease;
}
.btn-gold-solid:hover { background: var(--hp-offwhite); }
.localizacao-addr { font-size: 13.5px; color: rgba(242,235,225,.85); font-weight: 300; }

/* ================================================================
   DEPOIMENTOS
   ================================================================ */
.sec-depoimentos {
  max-width: var(--shell);
  margin-inline: auto;
  padding: var(--section-y) var(--gap-x);
}
.reviews-head {
  display: flex; flex-wrap: wrap;
  align-items: flex-end; justify-content: space-between;
  gap: 1.5rem; margin-bottom: 2.8rem;
}
.rating-badge {
  display: flex; align-items: center; gap: 14px;
  background: var(--hp-white);
  border: 1px solid rgba(188,177,149,.5);
  border-radius: 14px;
  padding: 16px 22px;
}
.rating-num { font-family: var(--font-serif); font-size: 42px; color: var(--hp-forest); line-height: 1; }
.rating-stars { display: flex; gap: 2px; }
.rating-count { font-size: 12px; color: var(--hp-forest-mid); margin-top: 4px; }
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 22px;
}
.review-card {
  background: var(--hp-white);
  border: 1px solid var(--hp-border);
  border-radius: var(--radius-card);
  padding: 28px;
}
.review-stars { display: flex; gap: 2px; margin-bottom: 14px; }
.review-card blockquote {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 17px; line-height: 1.55;
  color: var(--hp-ink);
}
.review-card footer {
  display: flex; align-items: center; gap: 12px;
  margin-top: 20px;
}
.review-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 500;
  flex-shrink: 0;
}
.review-avatar--forest { background: var(--hp-forest); color: var(--hp-offwhite); }
.review-avatar--gold   { background: var(--hp-gold); color: var(--hp-ink); }
.review-avatar--mid    { background: var(--hp-forest-mid); color: var(--hp-offwhite); }
.review-name { font-size: 13.5px; font-weight: 500; color: var(--hp-ink); }
.review-meta { font-size: 11.5px; color: var(--hp-forest-mid); }

/* ================================================================
   GUIA BC
   ================================================================ */
.sec-guia {
  background: var(--hp-cream);
  padding: var(--section-y) var(--gap-x);
  scroll-margin-top: 80px;
}
.guia-head {
  display: flex; flex-wrap: wrap;
  align-items: flex-end; justify-content: space-between;
  gap: 1.5rem; margin-bottom: 2.6rem;
}
.btn-outline-sq {
  font-size: 13.5px; font-weight: 500; color: var(--hp-forest);
  border: 1px solid rgba(35,53,39,.35);
  padding: 13px 22px; border-radius: 8px;
  transition: background .25s ease, color .25s ease;
}
.btn-outline-sq:hover { background: var(--hp-forest); color: var(--hp-offwhite); }
.guia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}
.guia-card {
  background: var(--hp-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  border: 1px solid var(--hp-border);
  transition: transform .35s ease;
}
.guia-card:hover { transform: translateY(-6px); }
.guia-card-img {
  aspect-ratio: 16/10;
  display: flex; align-items: center; justify-content: center;
  font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
}
.guia-card-body { padding: 24px; }
.guia-card-tag { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--hp-gold); font-weight: 500; }
.guia-card h3 { font-family: var(--font-serif); font-size: 21px; line-height: 1.3; color: var(--hp-ink); margin-top: 10px; }
.guia-card p  { font-weight: 300; font-size: 13.5px; line-height: 1.65; color: var(--hp-forest-mid); margin-top: 10px; }
.guia-card a  { display: inline-block; margin-top: 16px; font-size: 18px; font-weight: 700; color: var(--hp-forest); transition: color .25s ease; }
.guia-card a:hover { color: var(--hp-gold); }

/* ================================================================
   CTA FINAL
   ================================================================ */
.sec-cta {
  background: var(--hp-forest);
  padding: clamp(4.5rem,8vw,7rem) var(--gap-x);
  text-align: center;
}
.cta-inner { max-width: 720px; margin-inline: auto; }
.cta-monogram { display: flex; justify-content: center; }
.cta-monogram img { width: clamp(64px,5vw,76px); height: auto; }
.cta-inner h2 {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(30px,4.5vw,50px); line-height: 1.12;
  color: var(--hp-offwhite); margin-top: 1rem;
}
.cta-inner p { font-weight: 300; font-size: 15.5px; line-height: 1.7; color: rgba(242,235,225,.8); margin-top: 1.2rem; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 2.2rem; }
.btn-gold-pill {
  font-size: 14.5px; font-weight: 500;
  color: var(--hp-ink);
  background: linear-gradient(135deg, var(--hp-gold-light), var(--hp-gold));
  padding: 15px 32px;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-gold-pill:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 36px -8px rgba(138,111,66,1); }
.btn-whatsapp {
  display: flex; align-items: center; gap: 9px;
  font-size: 14.5px; font-weight: 500;
  color: var(--hp-offwhite);
  border: 1px solid rgba(188,177,149,.4);
  padding: 15px 28px;
  border-radius: 8px;
  transition: border-color .25s ease;
}
.btn-whatsapp:hover { border-color: var(--hp-offwhite); }
.btn-whatsapp--dark {
  color: var(--hp-forest);
  border-color: rgba(35,53,39,.3);
}
.btn-whatsapp--dark:hover { border-color: var(--hp-forest); }

/* ================================================================
   SELOS & RECONHECIMENTOS
   ================================================================ */
.sec-selos {
  background: var(--hp-forest-dark);
  padding: 4rem 0;
}
.selos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.selo-card {
  display: flex;
  align-items: center;
  gap: 2rem;
  border-radius: var(--radius-card);
  padding: 2.25rem 2rem;
  transition: transform .3s ease;
}
.selo-card:hover { transform: translateY(-3px); }
.selo-card--autista {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.selo-card--trip {
  background: rgba(0,170,108,.12);
  border: 1px solid rgba(0,170,108,.25);
}
.selo-logo {
  flex-shrink: 0;
}
.selo-logo img {
  width: 130px;
  height: 130px;
  object-fit: contain;
  border-radius: 12px;
}
.selo-text { flex: 1; }
.selo-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hp-gold-pale);
  margin-bottom: .4rem;
}
.selo-card--trip .selo-label { color: #4dd9a4; }
.selo-text h3 {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--hp-offwhite);
  margin: 0 0 .65rem;
  line-height: 1.2;
}
.selo-text p {
  font-size: .83rem;
  font-weight: 300;
  color: rgba(242,235,225,.65);
  line-height: 1.75;
  margin: 0;
}
@media (max-width: 768px) {
  .selos-grid { grid-template-columns: 1fr; }
  .selo-card { flex-direction: column; text-align: center; }
}

/* ================================================================
   FAQ
   ================================================================ */
.sec-faq {
  background: #fff;
  padding: clamp(4rem,8vw,7rem) 0;
}
.faq-shell {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem,5vw,3rem);
}
.faq-head {
  margin-bottom: clamp(2.5rem,5vw,4rem);
}
.faq-head .sec-h2 {
  margin-top: .5rem;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.faq-item {
  border-bottom: 1px solid rgba(188,177,149,.45);
}
.faq-item:first-child {
  border-top: 1px solid rgba(188,177,149,.45);
}
.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 1.25rem 0;
  text-align: left;
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 500;
  color: var(--hp-forest);
  line-height: 1.3;
  transition: color .2s ease;
}
.faq-question:hover { color: var(--hp-gold); }
.faq-icon {
  flex-shrink: 0;
  color: var(--hp-gold);
  transition: transform .3s ease;
}
.faq-item.open .faq-icon { transform: rotate(180deg); }
.faq-answer {
  padding-bottom: 1.25rem;
}
.faq-answer p {
  font-size: 14.5px;
  color: var(--hp-ink);
  line-height: 1.7;
  margin-bottom: .35rem;
}
.faq-answer p:last-child { margin-bottom: 0; }
.faq-bullet {
  padding-left: .75rem;
  color: var(--hp-forest-mid, #4a6350) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
.foot {
  background: var(--hp-ink);
  padding: clamp(3.5rem,6vw,5rem) var(--gap-x) 13rem;
}
.foot-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.9fr 1fr 1fr;
  gap: 2.5rem;
}
.foot-brand { max-width: 300px; }
.foot-brand img { height: 52px; width: auto; margin-bottom: 1.2rem; }
.foot-brand p { font-weight: 300; font-size: 13.5px; line-height: 1.7; color: rgba(242,235,225,.6); }
.foot-tour {
  display: inline-flex; align-items: center; gap: 9px;
  margin-top: 1.6rem;
  font-size: 13px; font-weight: 500;
  color: var(--hp-ink);
  background: linear-gradient(135deg, var(--hp-gold-light), var(--hp-gold));
  padding: 11px 18px;
  border-radius: var(--radius-pill);
  box-shadow: 0 8px 22px -8px rgba(138,111,66,.85);
  transition: transform .25s ease, box-shadow .25s ease;
}
.foot-tour:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 14px 30px -10px rgba(138,111,66,1); }

.foot-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 1.25rem;
}
.foot-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(188,177,149,.3);
  color: var(--hp-offwhite);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.foot-social a:hover {
  background: rgba(188,177,149,.15);
  border-color: var(--hp-gold);
  transform: translateY(-2px);
}
.foot-col h4 {
  font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--hp-gold); font-weight: 500; margin-bottom: 1.2rem;
}
.foot-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11px 24px;
}
.foot-nav a, .foot-contact a, .foot-contact span {
  font-size: 13.5px; font-weight: 300;
  color: rgba(242,235,225,.75);
  transition: color .2s ease, padding-left .2s ease;
}
.foot-nav a:hover { color: var(--hp-offwhite); padding-left: 5px; }
.foot-contact { display: flex; flex-direction: column; gap: 11px; }
.foot-contact a:hover { color: var(--hp-offwhite); }
.foot-hours { font-size: 13.5px; font-weight: 300; color: rgba(242,235,225,.75); line-height: 1.7; }
.foot-reserva {
  display: inline-block; margin-top: 1.2rem;
  font-size: 13px; font-weight: 500;
  color: var(--hp-ink); background: var(--hp-gold);
  padding: 11px 18px; border-radius: var(--radius-pill);
  transition: transform .25s ease, background .25s ease;
}
.foot-reserva:hover { background: var(--hp-offwhite); transform: translateY(-2px); }
.foot-bottom {
  display: flex; flex-wrap: wrap; gap: 12px;
  align-items: center; justify-content: space-between;
  margin-top: 3rem; padding-top: 1.6rem;
  border-top: 1px solid rgba(188,177,149,.18);
}
.foot-copy { font-size: 12px; font-weight: 300; color: rgba(242,235,225,.45); }
.foot-legal { display: flex; gap: 20px; }
.foot-legal a { font-size: 12px; font-weight: 300; color: rgba(242,235,225,.45); transition: color .2s ease; }
.foot-legal a:hover { color: var(--hp-offwhite); }

/* ================================================================
   FLOATING CHAT
   ================================================================ */
.chat-float {
  display: none;
}
.chat-bubble {
  background: var(--hp-white);
  border: 1px solid rgba(188,177,149,.6);
  box-shadow: 0 12px 34px -12px rgba(13,20,15,.45);
  border-radius: 14px;
  padding: 11px 15px;
  max-width: 215px;
  position: relative;
  animation: hpBubble .55s ease-out 1.4s both;
  font-size: 12.5px; color: var(--hp-forest); font-weight: 500; line-height: 1.4;
}
.chat-bubble::after {
  content: '';
  position: absolute; right: -6px; bottom: 18px;
  width: 12px; height: 12px;
  background: var(--hp-white);
  border-right: 1px solid rgba(188,177,149,.6);
  border-bottom: 1px solid rgba(188,177,149,.6);
  transform: rotate(-45deg);
}
.chat-btn {
  position: relative;
  width: 64px; height: 64px; flex-shrink: 0;
  animation: hpFloat 3.4s ease-in-out infinite;
}
.chat-ring {
  position: absolute; inset: 0;
  border-radius: 50%; background: var(--hp-gold);
}
.chat-ring:nth-child(1) { animation: hpRing 2.6s ease-out infinite; }
.chat-ring:nth-child(2) { animation: hpRing 2.6s ease-out infinite 1.3s; }
.chat-icon {
  position: relative; z-index: 1;
  display: flex; width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2E4636 0%, var(--hp-forest) 100%);
  border: 1.5px solid var(--hp-gold);
  box-shadow: 0 12px 30px -6px rgba(35,53,39,.75);
  align-items: center; justify-content: center;
  transition: transform .3s ease;
}
.chat-icon:hover { transform: scale(1.09); }
.chat-dot {
  position: absolute; top: -1px; right: -1px; z-index: 2;
  width: 19px; height: 19px; border-radius: 50%;
  background: #C0492B; border: 2px solid var(--hp-offwhite);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; color: #fff; font-weight: 600;
}

/* ================================================================
   PAGE HEADERS (internas)
   ================================================================ */
.page-header { background: var(--hp-forest); padding: clamp(6rem,10vw,9rem) var(--gap-x) clamp(3rem,5vw,4rem); }
.page-header h1 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(32px,5vw,58px); line-height: 1.1; color: var(--hp-offwhite); margin-top: .75rem; }
.page-content { padding: clamp(3rem,6vw,5rem) var(--gap-x); }
.entry-content { max-width: 72ch; line-height: 1.8; }
.entry-content h2, .entry-content h3 { font-family: var(--font-serif); margin-top: 2rem; margin-bottom: .75rem; }
.entry-content p { margin-bottom: 1.25rem; font-weight: 300; color: var(--hp-forest-mid); }
.entry-content a { color: var(--hp-gold); text-decoration: underline; }

/* ================================================================
   RESPONSIVO
   ================================================================ */
@media (max-width: 1024px) {
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .estrutura-gallery { grid-template-columns: repeat(2,1fr); grid-auto-rows: 200px; }
  .gallery-item--large { grid-column: span 2; }
  .gallery-item--wide  { grid-column: span 2; }
}

/* ---- Desktop dropdown ---- */
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 3px;
}
.nav-drop-arrow {
  display: inline-flex;
  align-items: center;
  opacity: .65;
  transition: transform .22s ease;
  pointer-events: none;
}
.nav-item--has-children:hover .nav-drop-arrow,
.nav-item--has-children:focus-within .nav-drop-arrow {
  transform: rotate(180deg);
}
.nav-item .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  background: var(--hp-forest-dark);
  border: 1px solid var(--hp-border);
  border-radius: 10px;
  min-width: 200px;
  list-style: none;
  padding: 20px 0 6px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 10;
  white-space: nowrap;
}
.nav-item--has-children:hover .sub-menu,
.nav-item--has-children:focus-within .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-item .sub-menu::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 6px;
  background: var(--hp-forest-dark);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.nav-item .sub-menu li a {
  display: block;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 300;
  color: var(--hp-offwhite);
  letter-spacing: .02em;
  transition: background .15s, color .15s;
}
.nav-item .sub-menu li a:hover,
.nav-item .sub-menu li a:focus {
  background: rgba(255,255,255,.07);
  color: var(--hp-gold-pale);
}

/* ---- Mobile drawer sub-menu accordion ---- */
.drawer-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(188,177,149,.18);
}
.drawer-item a {
  flex: 1;
  border-bottom: none !important;
}
.drawer-sub-toggle {
  background: transparent;
  border: none;
  color: var(--hp-offwhite);
  cursor: pointer;
  padding: 14px 8px;
  display: flex;
  align-items: center;
  opacity: .65;
  transition: opacity .2s, transform .22s;
}
.drawer-sub-toggle[aria-expanded="true"] {
  transform: rotate(180deg);
  opacity: 1;
}
.drawer-sub {
  list-style: none;
  padding: 0 0 4px 16px;
}
.drawer-sub li a {
  font-family: var(--font-sans);
  font-size: 16px !important;
  color: var(--hp-gold-pale) !important;
  padding: 8px 0 !important;
  border-bottom: none !important;
}

/* ---- Nav: desktops intermediários e notebooks ---- */
@media (max-width: 1600px) {
  .nav-inner {
    padding-inline: 24px;
    gap: 1rem;
  }
  .nav-left { gap: 2.5rem; }
  .nav-links { gap: 20px; }
  .hero-stats { display: none; }
}

@media (max-width: 1380px) {
  .nav-left { gap: 1.75rem; }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 13px; }
  .nav-cta { padding: 10px 20px; font-size: 13px; }
  .nav-btn-tour { padding: 9px 15px; }
}

@media (max-width: 1180px) {
  .nav-left { gap: 1.25rem; }
  .nav-links { gap: 10px; }
  .nav-links a { font-size: 12.5px; }
  .nav-cta  { padding: 10px 18px; font-size: 12.5px; }
  .nav-btn-tour { padding: 9px 14px; font-size: 12.5px; }
  .nav-lang-btn { padding: 8px 11px; }
}

@media (max-width: 1280px) {
  /* Esconde o botão Tour 360° para ganhar espaço */
  .nav-btn-tour { display: none; }
}

@media (max-width: 1120px) {
  .nav { top: 0; left: 0; right: 0; border-radius: 0; }
  .nav.scrolled { top: 0; left: 0; right: 0; border-radius: 0; }
  .nav-left { gap: 0; }
  .nav-links, .nav-actions { display: none; }
  .nav-toggle { display: flex; }
}

@media (max-width: 880px) {
  .hero-badge { display: none; }
  .nav-drawer-name { display: none; }
  .hero-content { padding-bottom: clamp(13rem,16vh,12rem); }
}

@media (max-width: 880px) {
  .infochat_floatmain.infochat_theme1 {
    right: 18px !important;
    bottom: 105px !important;
  }
}

@media (max-width: 640px) {
  .foot-grid { grid-template-columns: 1fr; }
  .distancias { grid-template-columns: 1fr 1fr; }
  .estrutura-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; }
  .gallery-item--large { grid-column: span 2; grid-row: span 1; }
}

/* ================================================================
   PAGE HERO — hero interno 60vh
   ================================================================ */
.page-hero {
  position: relative;
  height: 60vh;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.page-hero-bg {
  position: absolute;
  inset: 0;
}
.page-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: hpKenSlide 14s ease-in-out infinite alternate;
}
.page-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,24,16,.80) 0%, rgba(10,24,16,.40) 60%, rgba(10,24,16,.12) 100%);
}
.page-hero-content {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(2.5rem, 6vh, 4rem);
  color: #fff;
  width: 100%;
}
.page-hero-content > * { max-width: 760px; }
.page-hero-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-bottom: .6rem;
}
.page-hero-content h1 {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 400;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 .75rem;
}
.page-hero-sub {
  font-size: clamp(.9rem, 1.5vw, 1.1rem);
  font-weight: 300;
  color: rgba(255,255,255,.8);
  max-width: 56ch;
  margin: 0;
}

/* ================================================================
   INNER PAGE — secoes de paginas internas
   ================================================================ */
.inner-sec {
  padding: 5rem 0;
}
.inner-sec--green {
  background: var(--hp-forest);
  color: #fff;
}
.inner-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.inner-text .eyebrow { margin-bottom: .75rem; }
.inner-text h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  font-weight: 400;
  color: var(--hp-forest);
  line-height: 1.2;
  margin: 0 0 1.25rem;
}
.inner-text p {
  font-size: .95rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.inner-img img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: var(--radius-card);
}
.inner-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  text-align: center;
}
.inner-stat-val {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--hp-gold);
  line-height: 1;
  margin-bottom: .5rem;
}
.inner-stat-label {
  font-size: .85rem;
  font-weight: 400;
  color: rgba(255,255,255,.7);
  letter-spacing: .04em;
}
.inner-mvv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.inner-mvv-card {
  background: var(--hp-offwhite);
  border-radius: var(--radius-card);
  padding: 2.5rem 2rem;
}
.inner-mvv-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--hp-forest);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.inner-mvv-icon svg { stroke: var(--hp-gold); }
.inner-mvv-card h3 {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  color: var(--hp-forest);
  margin: 0 0 .75rem;
}
.inner-mvv-card p {
  font-size: .875rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.75;
  margin: 0;
}
.inner-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 2rem;
}
.inner-amenity {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .9rem;
  color: var(--hp-forest);
}

/* ================================================================
   QUEM SOMOS — ampliações
   ================================================================ */

/* Ícone MVV maior e mais premium */
.inner-mvv-icon--lg {
  width: 64px;
  height: 64px;
  margin-bottom: 1.5rem;
}
.inner-mvv-icon--lg svg { width: 30px; height: 30px; }

/* Two-col invertido (imagem à esquerda) */
.qs-two-col--rev .inner-img { order: -1; }

/* Fundo offwhite para seções alternadas */
.qs-sec--offwhite { background: var(--hp-cream); }

/* Cabeçalho da seção de features */
.qs-features-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3rem;
}
.qs-features-sub {
  font-size: .95rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.8;
  margin-top: .75rem;
}

/* Grid de features (estrutura) */
.qs-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.qs-feature {
  background: var(--hp-offwhite);
  border-radius: var(--radius-card);
  padding: 2.25rem 1.75rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: transform .3s ease, box-shadow .3s ease;
}
.qs-feature:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.qs-feature-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--hp-forest);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem;
}
.qs-feature-icon svg { stroke: var(--hp-gold); }
.qs-feature h4 {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  color: var(--hp-forest);
  margin: 0 0 .6rem;
}
.qs-feature p {
  font-size: .85rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.7;
  margin: 0;
}

/* Pet Friendly — imagem de fundo, texto centralizado */
.qs-pet {
  position: relative;
  padding: 7rem 0;
  text-align: center;
  overflow: hidden;
}
.qs-pet-bg {
  position: absolute;
  inset: 0;
}
.qs-pet-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.qs-pet-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,20,15,.72) 0%, rgba(13,20,15,.60) 100%);
}
.qs-pet-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  max-width: 620px;
  margin-inline: auto;
}
.qs-pet-icon {
  width: 76px; height: 76px;
  border-radius: 50%;
  background: rgba(138,111,66,.2);
  border: 1px solid rgba(138,111,66,.5);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.qs-pet-icon svg { stroke: var(--hp-gold-pale); }
.qs-pet h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 2.5vw, 2.1rem);
  font-weight: 400;
  color: var(--hp-offwhite);
  margin: 0;
}
.qs-pet p {
  font-size: .95rem;
  font-weight: 300;
  color: rgba(242,235,225,.8);
  line-height: 1.8;
  margin: 0;
}
.qs-pet-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .85rem;
  font-weight: 500;
  color: var(--hp-gold-pale);
  letter-spacing: .02em;
  border-bottom: 1px solid rgba(188,177,149,.4);
  padding-bottom: 2px;
  transition: gap .2s ease, border-color .2s ease;
}
.qs-pet-link:hover { gap: 10px; border-color: var(--hp-gold-pale); }

/* MVV header */
.qs-mvv-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

/* Closing / Legado */
.qs-closing {
  padding: 6rem 0;
  text-align: center;
  background: var(--hp-forest);
}
.qs-closing-monogram {
  font-family: var(--font-serif);
  font-size: clamp(4rem, 8vw, 7rem);
  color: rgba(138,111,66,.2);
  line-height: 1;
  margin-bottom: 1.5rem;
  user-select: none;
}
.qs-closing blockquote {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.2vw, 1.7rem);
  font-weight: 400;
  font-style: italic;
  color: var(--hp-offwhite);
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.6;
}
.qs-closing cite {
  display: block;
  margin-top: 1.75rem;
  font-family: var(--font-sans);
  font-size: .8rem;
  font-style: normal;
  color: var(--hp-gold-pale);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.qs-closing-invite {
  margin-top: 2rem;
  font-size: .95rem;
  font-weight: 300;
  color: rgba(242,235,225,.7);
  max-width: 480px;
  margin-inline: auto;
  line-height: 1.75;
}

@media (max-width: 880px) {
  .qs-features-grid { grid-template-columns: 1fr 1fr; }
  .qs-two-col--rev .inner-img { order: 0; }
  .qs-pet-inner { flex-direction: column; text-align: center; }
  .qs-pet p { max-width: 100%; }
}
@media (max-width: 640px) {
  .qs-features-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   SERVICOS — linhas alternadas
   ================================================================ */
.servico-rows { background: #fff; }
.servico-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 460px;
}
.servico-row--reverse { direction: rtl; }
.servico-row--reverse > * { direction: ltr; }
.servico-row-img { overflow: hidden; position: relative; }
.servico-row-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.servico-row:hover .servico-row-img img { transform: scale(1.04); }
.servico-row-body {
  padding: 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--hp-offwhite);
}
.servico-row--reverse .servico-row-body { background: #fff; }
.servico-row-tag {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-bottom: .9rem;
}
.servico-row-body h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  color: var(--hp-forest);
  margin: 0 0 1rem;
  line-height: 1.2;
}
.servico-row-body p {
  font-size: .9rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.8;
  margin: 0 0 1.75rem;
  max-width: 48ch;
}
.servico-row-cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--hp-gold);
  text-decoration: none;
  letter-spacing: .04em;
  transition: gap .2s;
}
.servico-row-cta:hover { gap: .85rem; }

/* ================================================================
   PET FRIENDLY
   ================================================================ */
.pet-intro { padding: 5rem 0 3.5rem; background: #fff; }
.pet-intro-inner { max-width: 740px; margin: 0 auto; text-align: center; }
.pet-intro .sec-h2 { margin-bottom: 1.25rem; }
.pet-intro-desc {
  font-size: 1rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.9;
  max-width: 60ch;
  margin: 0 auto;
}
.pet-about { padding: 5rem 0; background: var(--hp-offwhite); }
.pet-about-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.pet-about-text .eyebrow { margin-bottom: .75rem; }
.pet-about-text h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  font-weight: 400;
  color: var(--hp-forest);
  margin: 0 0 1.5rem;
  line-height: 1.2;
}
.pet-policy-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .9rem;
}
.pet-policy-list li {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .9rem;
  color: var(--hp-forest);
  font-weight: 400;
  line-height: 1.5;
}
.pet-slide-wrap {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 4/5;
}
.pet-slides { width: 100%; height: 100%; }
.pet-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .6s ease;
}
.pet-slide.active { opacity: 1; }
.pet-slide img { width: 100%; height: 100%; object-fit: cover; }
.pet-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(10,24,16,.55);
  border: none;
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  transition: background .2s;
}
.pet-arrow:hover { background: var(--hp-forest); }
.pet-arrow--prev { left: 12px; }
.pet-arrow--next { right: 12px; }
.pet-dots {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.pet-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.45);
  cursor: pointer;
  transition: background .25s;
  padding: 0;
}
.pet-dot.active { background: #fff; }
.pet-text-sec { padding: 5rem 0; background: #fff; }
.pet-text-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
.pet-text-block h3 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--hp-forest);
  margin: 0 0 .75rem;
}
.pet-text-block p {
  font-size: .9rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.85;
  margin: 0;
}
.pet-cta {
  background: var(--hp-forest);
  padding: 6rem 0;
  text-align: center;
}
.pet-cta-inner { max-width: 680px; margin: 0 auto; }
.pet-cta h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 4vw, 2.75rem);
  font-weight: 400;
  color: #fff;
  margin: .5rem 0 1.25rem;
  line-height: 1.2;
}
.pet-cta p {
  font-size: .95rem;
  font-weight: 300;
  color: rgba(255,255,255,.75);
  line-height: 1.85;
  max-width: 54ch;
  margin: 0 auto 2.25rem;
}
.pet-cta-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-primary--lg { padding: 1rem 2.5rem; font-size: 1rem; }
.btn-outline-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .9rem 2rem;
  border: 2px solid rgba(255,255,255,.45);
  border-radius: var(--radius-pill);
  color: #fff;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: border-color .2s, background .2s;
}
.btn-outline-light:hover {
  border-color: #fff;
  background: rgba(255,255,255,.1);
}

/* ================================================================
   PÁGINA PROMOÇÕES
   ================================================================ */
.page-promos {
  padding-block: var(--section-y);
}
.page-promos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
.page-promo-card {
  background: var(--hp-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}
.page-promo-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-card-hover);
}
.page-promo-img {
  display: block;
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.page-promo-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}
.page-promo-card:hover .page-promo-img img { transform: scale(1.05); }
.page-promo-img .promo-badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
}
.page-promo-body {
  padding: 1.5rem 1.75rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  flex: 1;
}
.page-promo-title {
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--hp-forest);
}
.page-promo-title a:hover { color: var(--hp-gold); }
.page-promo-desc {
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--hp-forest-mid);
  flex: 1;
}
.page-promos-empty {
  text-align: center;
  padding: 5rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  color: var(--hp-forest-mid);
  font-size: 1.05rem;
}

@media (max-width: 900px) {
  .page-promos-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .page-promos-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   SINGLE PROMOÇÃO
   ================================================================ */
.promo-single-body {
  padding-block: var(--section-y);
}
.promo-single-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.promo-single-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

/* Wysiwyg dentro das promoções */
.promo-wysiwyg { line-height: 1.8; color: var(--hp-forest-dark); }
.promo-wysiwyg h2,
.promo-wysiwyg h3 {
  font-family: var(--font-serif);
  color: var(--hp-forest);
  margin: 1.5rem 0 .6rem;
}
.promo-wysiwyg p { margin-bottom: 1rem; font-weight: 300; font-size: clamp(.95rem,1.4vw,1.05rem); }
.promo-wysiwyg ul,
.promo-wysiwyg ol { padding-left: 1.4rem; margin-bottom: 1rem; }
.promo-wysiwyg li { margin-bottom: .35rem; font-weight: 300; }
.promo-wysiwyg img { border-radius: var(--radius-card); max-width: 100%; }
.promo-wysiwyg a { color: var(--hp-gold); text-decoration: underline; }

/* Aside: destaque visual leve */
.promo-wysiwyg--aside {
  background: var(--hp-cream);
  border-left: 3px solid var(--hp-gold);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  padding: 2rem 2rem 2rem 1.75rem;
}

/* Promoções relacionadas */
.promo-relacionadas {
  padding-block: var(--section-y);
  background: var(--hp-cream);
}
.promo-rel-head { margin-bottom: 3rem; }
.promo-rel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.promo-rel-card {
  background: var(--hp-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform .3s ease, box-shadow .3s ease;
}
.promo-rel-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}
.promo-rel-img {
  display: block;
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.promo-rel-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.promo-rel-card:hover .promo-rel-img img { transform: scale(1.05); }
.promo-rel-img .promo-badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
}
.promo-rel-body {
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.promo-rel-body h3 {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--hp-forest);
}
.promo-rel-body h3 a:hover { color: var(--hp-gold); }
.promo-rel-body > p {
  font-size: .875rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.6;
}
.promo-rel-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-top: .5rem;
  transition: gap .2s ease;
}
.promo-rel-link:hover { gap: 9px; }

@media (max-width: 900px) {
  .promo-single-inner { grid-template-columns: 1fr; }
  .promo-rel-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .promo-rel-grid { grid-template-columns: 1fr; }
  .promo-wysiwyg--aside { border-left: none; border-top: 3px solid var(--hp-gold); border-radius: var(--radius-card); padding: 1.5rem; }
}

/* ================================================================
   SINGLE ACOMODAÇÃO
   ================================================================ */
.acom-body {
  padding-block: var(--section-y);
}
.acom-body-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.acom-desc {
  font-size: clamp(.95rem, 1.4vw, 1.05rem);
  font-weight: 300;
  line-height: 1.8;
  color: var(--hp-forest-dark);
  margin-top: 1.25rem;
}
.acom-amenities {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem 1.5rem;
  margin-top: 2rem;
}
.acom-amenity {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 400;
  color: var(--hp-forest);
}
.acom-text-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

/* Galeria slider */
.acom-gallery {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--hp-forest-dark);
}

/* Sugestão */
.acom-sugestao {
  padding-block: var(--section-y);
  background: var(--hp-cream);
}
.acom-sugestao-head {
  margin-bottom: 3rem;
}
.acom-sug-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
  background: var(--hp-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.acom-sug-img {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.acom-sug-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}
.acom-sug-card:hover .acom-sug-img img { transform: scale(1.04); }
.acom-sug-img .room-badge { top: 1rem; left: 1rem; bottom: auto; right: auto; }
.acom-sug-body {
  padding: clamp(1.5rem, 3vw, 3rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.acom-sug-body h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 400;
  color: var(--hp-forest);
}
.acom-sug-body h3 a { color: inherit; }
.acom-sug-body h3 a:hover { color: var(--hp-gold); }
.acom-sug-body > p {
  font-size: .95rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--hp-forest-mid);
}
.acom-sug-btn { margin-top: .5rem; align-self: flex-start; }

@media (max-width: 900px) {
  .acom-body-inner { grid-template-columns: 1fr; }
  .acom-gallery { aspect-ratio: 16/9; }
  .acom-sug-card { grid-template-columns: 1fr; }
  .acom-sug-img { aspect-ratio: 16/9; }
}
@media (max-width: 580px) {
  .acom-amenities { grid-template-columns: 1fr; }
}

/* ================================================================
   RESPONSIVO — paginas internas
   ================================================================ */
@media (max-width: 1024px) {
  .inner-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .inner-mvv-grid { grid-template-columns: 1fr 1fr; }
  .servico-row { grid-template-columns: 1fr; min-height: unset; }
  .servico-row--reverse { direction: ltr; }
  .servico-row-img { height: 300px; }
  .pet-about-inner { grid-template-columns: 1fr; }
  .pet-slide-wrap { aspect-ratio: 16/9; }
}
@media (max-width: 640px) {
  .inner-two-col { grid-template-columns: 1fr; gap: 2rem; }
  .inner-mvv-grid { grid-template-columns: 1fr; }
  .inner-amenities-grid { grid-template-columns: 1fr 1fr; }
  .inner-stats-grid { grid-template-columns: 1fr 1fr; }
  .servico-row-body { padding: 2.5rem 1.5rem; }
  .servico-row-body .btn-outline { width: 100%; justify-content: center; }
  .pet-text-inner { grid-template-columns: 1fr; }
  .page-hero { height: 50vh; }
}

/* ================================================================
   PARCEIROS
   ================================================================ */

/* Animação estrela */
@keyframes hp-star-pulse {
  0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 0 transparent); }
  40%       { transform: scale(1.3) rotate(-8deg); filter: drop-shadow(0 0 5px rgba(176,141,87,.7)); }
  60%       { transform: scale(1.15) rotate(6deg); filter: drop-shadow(0 0 3px rgba(176,141,87,.4)); }
}
.parceiro-star {
  animation: hp-star-pulse 2.8s ease-in-out infinite;
  flex-shrink: 0;
}

/* Pill de destaque — sobre a imagem nos cards */
.parceiro-destaque-pill {
  position: absolute;
  bottom: .75rem;
  left: .75rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: var(--hp-gold);
  border-radius: var(--radius-pill);
  padding: .35rem .8rem;
  pointer-events: none;
}

/* Bloco destaque no single — acima do conteúdo, fonte maior */
.parceiro-destaque-bloco {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(176,141,87,.09);
  border-left: 4px solid var(--hp-gold);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
}
.parceiro-destaque-bloco p {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 600;
  color: var(--hp-forest);
  line-height: 1.4;
}

/* Botão contato com ícone */
.parceiro-contato-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

/* CTA Onde fica */
.parceiro-mapa-cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

/* Seção relacionados usa grid da página */
.parceiros-relacionados .page-promos-grid {
  margin-top: 0;
}

@media (max-width: 640px) {
  .parceiro-destaque-bloco { padding: 1rem 1.1rem; }
  .parceiro-destaque-bloco p { font-size: .95rem; }
}

/* ================================================================
   PÁGINA ATENDIMENTO
   ================================================================ */
.atend-sec {
  padding-block: var(--section-y);
  background: var(--hp-offwhite);
}
.atend-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

/* Coluna texto */
.atend-intro {
  font-size: clamp(.95rem, 1.3vw, 1.05rem);
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.85;
  margin: 1.25rem 0 2.25rem;
  max-width: 52ch;
}
.atend-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Botão WhatsApp — destaque grande */
.atend-wa-btn {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  background: #25d366;
  color: #fff;
  border-radius: var(--radius-card);
  padding: 1.1rem 1.5rem;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 8px 24px -6px rgba(37,211,102,.4);
}
.atend-wa-btn:hover {
  background: #1ebe5d;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -6px rgba(37,211,102,.55);
}
.atend-wa-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  flex-shrink: 0;
}
.atend-wa-text {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.atend-wa-text strong {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.atend-wa-text span {
  font-size: .9rem;
  font-weight: 400;
  opacity: .9;
}

/* Botão Telefone */
.atend-tel-btn {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  background: var(--hp-white);
  color: var(--hp-forest);
  border: 1.5px solid rgba(35,53,39,.2);
  border-radius: var(--radius-card);
  padding: 1.1rem 1.5rem;
  text-decoration: none;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.atend-tel-btn:hover {
  border-color: var(--hp-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -8px rgba(176,141,87,.3);
}
.atend-tel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: rgba(176,141,87,.1);
  border-radius: 50%;
  color: var(--hp-gold);
  flex-shrink: 0;
}
.atend-tel-text {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.atend-tel-text strong {
  font-size: 1rem;
  font-weight: 600;
  color: var(--hp-forest);
}
.atend-tel-text span {
  font-size: .9rem;
  font-weight: 400;
  color: var(--hp-forest-mid);
}

/* Card horário */
.atend-card {
  background: var(--hp-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 2.25rem 2rem;
  position: sticky;
  top: 100px;
}
.atend-card-header {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.25rem;
}
.atend-setor {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--hp-forest);
  margin: 0 0 1.5rem;
}
.atend-horarios {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.atend-horarios li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: .9rem;
}
.atend-dia {
  font-weight: 400;
  color: var(--hp-forest-mid);
}
.atend-hora {
  font-weight: 600;
  color: var(--hp-forest);
  white-space: nowrap;
}
.atend-card-divider {
  height: 1px;
  background: rgba(35,53,39,.1);
  margin: 1.5rem 0;
}
.atend-obs {
  font-size: .85rem;
  font-weight: 300;
  color: var(--hp-forest-mid);
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 900px) {
  .atend-inner { grid-template-columns: 1fr; }
  .atend-card { position: static; }
  .atend-intro { max-width: 100%; }
}
@media (max-width: 540px) {
  .atend-wa-btn,
  .atend-tel-btn { padding: .9rem 1.1rem; }
  .atend-wa-icon,
  .atend-tel-icon { width: 44px; height: 44px; }
  .atend-wa-icon svg { width: 22px; height: 22px; }
}
