/* ============================================================
   Saber-mais — camada de tema (Global Gateways portal)
   Carregada DEPOIS do Tailwind e dos estilos da página.
   Não altera conteúdo nem traduções — apenas a pele visual.
   ============================================================ */

/* ---------- Tipografia ---------- */
body {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    background: #fffaf7 !important;
}

h1, h2, h3, .font-serif, .lp-hero h1 {
    font-family: "Fraunces", Georgia, serif !important;
    letter-spacing: -0.01em;
}

/* ---------- Acentos teal -> coral / teal portal ---------- */
.bg-teal-500,
.bg-teal-600,
button.bg-teal-500,
a.bg-teal-500 {
    background-color: #bd5866 !important;
}

.hover\:bg-teal-600:hover,
.hover\:bg-teal-400:hover {
    background-color: #a94758 !important;
}

.hover\:bg-teal-500:hover {
    background-color: #d9707a !important;
}

.text-teal-500,
.text-teal-600,
.text-teal-700 {
    color: #bd5866 !important;
}

.text-teal-300,
.text-teal-400 {
    color: #f19b9c !important;
}

.border-teal-400,
.border-teal-500 {
    border-color: #f19b9c !important;
}

.hover\:text-teal-300:hover,
.hover\:text-teal-200:hover {
    color: #f19b9c !important;
}

.hover\:text-teal-500:hover,
.hover\:text-teal-600:hover {
    color: #bd5866 !important;
}

.hover\:border-teal-500:hover {
    border-color: #d9707a !important;
}

.bg-teal-100 {
    background-color: #fbedeb !important;
}

.text-teal-900,
.text-teal-800 {
    color: var(--gg-teal-dark) !important;
}

.bg-teal-50,
.hover\:bg-teal-50:hover {
    background-color: #fbedeb !important;
    color: #bd5866 !important;
}

/* Rosa antigo (#D94681/#FF3B8D) -> coral da marca */
[class*="btn-primary"],
[class*="btn-webinar"] {
    background: linear-gradient(45deg, #d9707a, #f19b9c) !important;
}

/* ---------- Secções e fundos ---------- */
section {
    background-color: transparent;
}

.bg-white {
    background-color: #fffaf7 !important;
}

.bg-gray-50 {
    background-color: #f7e5df !important;
}

.bg-gray-100 {
    background-color: #fbedeb !important;
}

/* ---------- Hero ---------- */
.lp-hero {
    background: linear-gradient(90deg, rgba(23, 45, 51, 0.88), rgba(23, 45, 51, 0.6)), url("/images/hero-travel.jpg") center/cover no-repeat !important;
}

/* ---------- Footer (mantém traduções, muda a pele) ---------- */
footer[role="contentinfo"] {
    background: var(--gg-teal-900) !important;
}

footer[role="contentinfo"] .bg-gradient-to-r {
    background: none !important;
}

footer[role="contentinfo"] .bg-teal-500 {
    background-color: #bd5866 !important;
}

footer[role="contentinfo"] .hover\:bg-teal-400:hover {
    background-color: #d9707a !important;
}

footer[role="contentinfo"] .bg-teal-400 {
    background-color: #d9707a !important;
}

footer[role="contentinfo"] .text-teal-300 {
    color: #f19b9c !important;
}

footer[role="contentinfo"] .hover\:text-teal-300:hover {
    color: #f19b9c !important;
}

footer[role="contentinfo"] .text-teal-400 {
    color: #f19b9c !important;
}

footer[role="contentinfo"] .border-teal-400 {
    border-color: rgba(241, 155, 156, 0.5) !important;
}

/* ---------- Formulário / inputs ---------- */
input:focus,
select:focus,
textarea:focus {
    outline-color: rgba(217, 112, 122, 0.6) !important;
}

/* ---------- Navbar portal: página ativa ---------- */
.portal-nav a.is-active {
    color: #fff;
    background: rgba(241, 155, 156, 0.22);
}

.portal-header.is-scrolled .portal-nav a.is-active {
    color: #bd5866;
    background: rgba(241, 155, 156, 0.16);
}

/* ---------- Vars da paleta portal (para o footer) ---------- */
:root {
    --ink: #274f58;
    --teal-dark: #2f676d;
    --coral: #d9707a;
    --coral-deep: #bd5866;
    --coral-bright: #f19b9c;
    --sun: #f5d4c9;
    --cream: #fbedeb;
    --paper: #fffaf7;
    --muted: #617477;
    --line: rgba(39, 79, 88, 0.14);
    --serif: "Fraunces", Georgia, serif;
    --sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---------- Footer igual à landing page ---------- */
.site-footer {
  color: rgba(255, 255, 255, 0.65);
  background: var(--ink);
}

.site-footer .page-width {
  width: min(100% - 40px, 1180px);
  margin: 0 auto;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.05fr 1.95fr;
  gap: 80px;
  padding: 76px 0 62px;
}

.brand-footer { color: #fff; }

.footer-brand > p {
  max-width: 220px;
  margin: 22px 0 24px;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.2;
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
  transition: transform 200ms ease;
}

.brand:hover { transform: translateY(-1px); }

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 14px rgba(23, 45, 51, 0.18);
  transition: box-shadow 220ms ease;
}

.brand:hover .brand-mark { box-shadow: 0 6px 20px rgba(241, 155, 156, 0.35); }

.brand-mark img { width: 40px; height: 39px; object-fit: contain; }

.brand-lockup {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.brand-lockup small {
  margin-top: 4px;
  color: var(--coral);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.footer-social { display: flex; gap: 9px; }

.footer-social a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  color: rgba(255, 250, 247, 0.85);
  background: rgba(255, 255, 255, 0.05);
  transition:
    border-color 240ms ease,
    background-color 240ms ease,
    color 240ms ease,
    transform 240ms ease,
    box-shadow 240ms ease;
}

.footer-social a:hover,
.footer-social a:focus-visible {
  border-color: transparent;
  color: #fff;
  transform: translateY(-3px);
}

.footer-social a[data-social="instagram"]:hover,
.footer-social a[data-social="instagram"]:focus-visible {
  background: linear-gradient(45deg, #f09433, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888);
  box-shadow: 0 8px 20px rgba(220, 39, 67, 0.35);
}

.footer-social a[data-social="facebook"]:hover,
.footer-social a[data-social="facebook"]:focus-visible {
  background: #1877f2;
  box-shadow: 0 8px 20px rgba(24, 119, 242, 0.35);
}

.footer-social a[data-social="whatsapp"]:hover,
.footer-social a[data-social="whatsapp"]:focus-visible {
  background: #25d366;
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.footer-links > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.footer-label {
  margin-bottom: 8px;
  color: var(--sun);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  transition: color 180ms ease;
}

.footer-links a:hover,
.footer-links a:focus-visible { color: #fff; }

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.38);
  font-size: 10px;
}

@media (max-width: 820px) {
  .footer-top {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

@media (max-width: 560px) {
  .footer-links {
    grid-template-columns: 1fr 1fr;
    gap: 38px 24px;
  }
}

/* ---------- Contacto: contraste forte sobre o fundo teal ---------- */
.contact-section-v3 {
  background:
    radial-gradient(circle at 12% 18%, rgba(241, 155, 156, 0.24), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(117, 211, 199, 0.2), transparent 30%),
    linear-gradient(135deg, #2f676d 0%, #3e8589 56%, #274f58 100%) !important;
}

.contact-section-v3 .contact-info-v3,
.contact-section-v3 .contact-info-v3 p,
.contact-section-v3 .contact-info-v3 li,
.contact-section-v3 .contact-info-v3 a,
.contact-section-v3 .contact-info-v3 .cc-item {
  color: rgba(255, 255, 255, 0.9) !important;
}

.contact-section-v3 .contact-info-v3 .lp-kicker {
  color: var(--sun) !important;
}

.contact-section-v3 .contact-info-v3 h2 {
  color: #fff !important;
}

.contact-section-v3 .contact-info-v3 i,
.contact-section-v3 .contact-info-v3 .cc-item i {
  color: var(--coral-bright) !important;
}

.contact-section-v3 .contact-info-v3 a:hover,
.contact-section-v3 .contact-info-v3 a:focus-visible {
  color: #fff !important;
}

/* ---------- Links do header não herdam a cor de link antiga da página ---------- */
.portal-header a {
    color: inherit;
}

.portal-brand,
.portal-brand-lockup {
    color: #fff !important;
}

.portal-brand-lockup small {
    color: #f19b9c !important;
}

.portal-nav a {
    color: rgba(255, 255, 255, 0.82) !important;
}

.portal-nav a:hover,
.portal-nav a:focus-visible,
.portal-nav a.is-active {
    color: #fff !important;
}

.portal-header.is-scrolled .portal-nav a {
    color: rgba(39, 79, 88, 0.74) !important;
}

.portal-header.is-scrolled .portal-nav a:hover,
.portal-header.is-scrolled .portal-nav a:focus-visible,
.portal-header.is-scrolled .portal-nav a.is-active {
    color: #bd5866 !important;
}

.portal-nav-cta,
.portal-mobile-cta,
.portal-nav-cta span,
.portal-mobile-cta span {
    color: #fff !important;
}
