﻿/* Shared Temporada Real brand treatment. Artwork stays in the supplied PNGs. */
.brand-mark,
.login-brand img,
.admin-brand img,
.modal-brand-icon,
.checkout-brand-mark {
  object-fit: contain;
  object-position: center;
  background: transparent;
  border-radius: 0;
}

.brand-copy {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}

.brand-subtitle {
  color: currentColor;
  font-family: "Manrope", sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  opacity: 0.68;
  white-space: nowrap;
}

.login-brand .brand-copy,
.admin-brand .brand-copy {
  display: grid;
}

.login-brand .brand-copy > span,
.admin-brand .brand-copy > span {
  display: block;
}

@media (max-width: 720px) {
  .site-header .brand-subtitle,
  .corporate-header .brand-subtitle,
  .topbar .brand-subtitle {
    display: none;
  }

  .site-header .brand-text,
  .corporate-header .brand-text {
    font-size: 0.86rem;
    letter-spacing: 0.1em;
  }
}

@media (max-width: 480px) {
  .site-header .brand-copy {
    display: none;
  }

  .site-header .brand-mark {
    width: 36px;
    height: 36px;
  }
}

/* Header compacto (card de vidro claro ao rolar — Home, catálogo e detalhe):
   troca o emblema dourado pela versão com "TR" verde, que contrasta melhor
   sobre o vidro. As duas imagens ficam no HTML; só uma aparece por vez. */
.site-header .brand-mark-compact {
  display: none;
}

body.home-page:not(.listing-airbnb-page).is-compact .site-header .brand-mark:not(.brand-mark-compact),
body.home-page:not(.listing-airbnb-page).search-open .site-header .brand-mark:not(.brand-mark-compact),
body.listing-airbnb-page.is-listing-scrolled .site-header .brand-mark:not(.brand-mark-compact) {
  display: none;
}

body.home-page:not(.listing-airbnb-page).is-compact .site-header .brand-mark-compact,
body.home-page:not(.listing-airbnb-page).search-open .site-header .brand-mark-compact,
body.listing-airbnb-page.is-listing-scrolled .site-header .brand-mark-compact {
  display: block;
}

/* ==========================================================================
   Rodapé padrão — o mesmo em todas as páginas públicas (Home, catálogo,
   detalhe, tour por fotos, cotação corporativa). Fundo verde full-bleed;
   conteúdo em .site-footer-inner alinhado à régua global.
   ========================================================================== */
/* box-sizing aqui: nem toda página carrega um reset global (ex.: corporativo),
   e width 100% + padding estourava a largura da tela. */
.site-footer,
.site-footer * {
  box-sizing: border-box;
}

.site-footer {
  width: 100%;
  padding: 0 var(--rr-page-inline);
  background: #09291e;
  color: #f8f4eb;
}

.site-footer-inner {
  display: grid;
  grid-template-columns: 1.35fr 0.7fr 0.8fr 0.9fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: 2.45rem 0 0.85rem;
}

.site-footer-brand,
.site-footer nav,
.site-footer-contact,
.site-footer-social { display: grid; align-content: start; gap: 0.55rem; }
.site-footer-logo { display: inline-flex; align-items: center; gap: 0.95rem; color: inherit; text-decoration: none; }
.site-footer-logo img { width: 6rem; height: 6rem; object-fit: contain; flex: 0 0 auto; }
.site-footer-logo span { display: grid; gap: 0.12rem; }
.site-footer-logo strong { color: #d9a441; font-family: "Forum", Georgia, serif; font-size: clamp(1.75rem, 2.5vw, 2.25rem); font-weight: 400; letter-spacing: 0.1em; line-height: 1; text-transform: uppercase; }
.site-footer-logo small { color: rgba(248, 244, 235, 0.82); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.15em; line-height: 1.15; text-transform: uppercase; }
.site-footer-logo em { margin-top: 0.75rem; color: rgba(248, 244, 235, 0.76); font-family: "Forum", Georgia, serif; font-size: 1.08rem; font-style: normal; line-height: 1.2; }
.site-footer strong { color: #d9a441; font-size: 0.72rem; letter-spacing: 0.11em; text-transform: uppercase; }
.site-footer a,
.site-footer span,
.site-footer p { color: rgba(248, 244, 235, 0.72); font-size: 0.8rem; line-height: 1.45; text-decoration: none; }
.site-footer nav a:hover,
.site-footer nav a:focus-visible,
.site-footer-contact a:hover,
.site-footer-contact a:focus-visible { color: #fffdf8; text-decoration: underline; }
.site-footer-contact p,
.site-footer-social p { margin: 0.35rem 0 0; }
.site-footer-social > div { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.site-footer-social > div span { display: inline-flex; align-items: center; gap: 0.35rem; color: #f8f4eb; }
.site-footer-social svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.site-footer-social .footer-facebook svg { fill: currentColor; stroke: none; }
.site-footer-bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; margin-top: 1.35rem; padding-top: 0.85rem; border-top: 1px solid rgba(248, 244, 235, 0.15); }
.site-footer-bottom span { font-size: 0.7rem; }

@media (max-width: 1100px) {
  .site-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer-brand { grid-column: 1 / -1; }
}

/* Celular: marca centralizada no topo; Navegação | Contato lado a lado;
   Acompanhe em linha própria (redes em pílulas); rodapé legal centralizado. */
@media (max-width: 720px) {
  .site-footer-inner { gap: 1.75rem 1.25rem; padding-top: 2.25rem; }
  .site-footer-brand {
    justify-items: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(248, 244, 235, 0.12);
    text-align: center;
  }
  .site-footer-logo { flex-direction: column; gap: 0.6rem; }
  .site-footer-logo img { width: 4.4rem; height: 4.4rem; }
  .site-footer-logo span { justify-items: center; }
  .site-footer-logo strong { font-size: 1.45rem; }
  .site-footer-logo em { margin-top: 0.5rem; }
  .site-footer-social { grid-column: 1 / -1; }
  .site-footer-contact p br { display: none; }
  .site-footer-social > div span {
    padding: 0.45rem 0.85rem;
    border: 1px solid rgba(248, 244, 235, 0.18);
    border-radius: 999px;
  }
  .site-footer-bottom {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
    text-align: center;
  }
}

/* Links do rodapé com área de toque adequada em telas de toque; sem o
   espaçamento extra entre eles (a própria linha de 44px já separa). */
@media (pointer: coarse) {
  .site-footer nav,
  .site-footer-contact { gap: 0; }
  .site-footer nav a,
  .site-footer-contact a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .site-footer nav strong,
  .site-footer-contact strong { margin-bottom: 0.25rem; }
}
