/* =========================
   CONTATO
   Estilos exclusivos da página /pages/contato.html
   Usa apenas tokens definidos em css/global.css — sem duplicar valores.
========================= */

/* --- Header simplificado --- */
.ct-header {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  background-color: var(--color-white);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  padding: var(--space-6) 0;
}

.ct-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}

.ct-header .back-link {
  font-family: var(--font-main);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--primary-dark);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  transition:
    color var(--transition-fast) ease,
    gap var(--transition-fast) ease;
}

.ct-header .back-link:hover,
.ct-header .back-link:focus-visible {
  color: var(--primary-deeper);
  gap: var(--space-3);
  outline: none;
}

/* --- Conteúdo principal --- */
.ct-main {
  padding: var(--space-14) 0 var(--space-16);
}

.ct-main .container {
  max-width: 740px;
}

/* --- Cabeçalho da página --- */
.ct-page-title {
  font-family: var(--font-main);
  font-size: var(--fs-2xl);
  font-weight: 700;
  color: var(--primary-dark);
  line-height: 1.25;
  margin-bottom: var(--space-5);
}

.ct-intro {
  font-size: var(--fs-md);
  color: var(--text-light);
  line-height: 1.8;
  margin-bottom: var(--space-12);
}

/* --- Cards de informação --- */
.ct-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin-bottom: var(--space-12);
}

.ct-card {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
  background-color: var(--color-white);
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: var(--radius-md);
  padding: var(--space-9);
  box-shadow: 0 2px 8px var(--shadow-dark-sm);
}

.ct-card__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: linear-gradient(135deg, #fce4ec, #f8bbd0);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ct-card__icon img {
  width: 22px;
  height: 22px;
  filter: invert(14%) sepia(78%) saturate(1200%) hue-rotate(308deg) brightness(80%);
}

.ct-card__body {
  flex: 1;
}

.ct-card__title {
  font-family: var(--font-main);
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: var(--space-3);
}

.ct-card__text {
  font-size: var(--fs-sm);
  color: var(--text-light);
  line-height: 1.8;
}

.ct-card__text a {
  color: var(--primary-dark);
  text-underline-offset: 3px;
  transition: color var(--transition-fast) ease;
}

.ct-card__text a:hover,
.ct-card__text a:focus-visible {
  color: var(--primary-deeper);
  outline: none;
}

.ct-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

/* --- CTA WhatsApp --- */
.ct-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--gradient-brand);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--fs-base);
  font-weight: 700;
  text-decoration: none;
  padding: var(--space-5) var(--space-10);
  border-radius: var(--radius-xl);
  box-shadow: 0 4px 16px var(--shadow-primary-sm);
  transition:
    transform var(--transition-fast) ease,
    box-shadow var(--transition-fast) ease;
}

.ct-cta:hover,
.ct-cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px var(--shadow-primary-md);
  outline: none;
}

.ct-cta:active {
  transform: translateY(0);
}

.ct-cta img {
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
}

/* --- Footer simplificado --- */
.ct-footer {
  background-color: #2b2b2b;
  padding: var(--space-8) 0;
  text-align: center;
}

.ct-footer p {
  font-size: var(--fs-xs);
  color: #888888;
}

/* =========================
   DESKTOP (≥ 768px)
========================= */
@media (min-width: 768px) {
  .ct-page-title {
    font-size: var(--fs-3xl);
  }
}
