@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

/* ══════════════════════════════════════════════════════════
   DESIGN TOKENS  —  fonte única de verdade para cores e tipografia.
   Use estes CSS vars em todo o CSS customizado.
   O Tailwind referencia estas vars via tailwind.config (index.html).
   ══════════════════════════════════════════════════════════ */
:root {
  /* ── Fundos ───────────────────────────────────────────── */
  --color-bg-primary:            #3a3a3c;
  --color-bg-secondary:          #2f3033;
  --color-bg-tertiary:           #26272b;
  --color-surface-dark:          #404145;
  --color-surface-dark-elevated: #4a4b50;
  --color-bg-light:              #f2f2f4;
  --color-surface-light:         #ffffff;

  /* ── Texto ────────────────────────────────────────────── */
  --color-text-light:  #f7f7f8;
  --color-text-subtle: #d7d8dd;
  --color-text-dark:   #1f2126;
  --color-text-muted:  #6f737b;

  /* ── Destaque / Accent ────────────────────────────────── */
  --color-accent:        #958146;
  --color-accent-strong: #a68834;
  --color-accent-soft:   #cfbb7c;

  /* ── Bordas ───────────────────────────────────────────── */
  --color-border-soft:     #ececef;
  --color-border-contrast: #010207;

  /* ── Rodapé institucional ─────────────────────────────── */
  --color-footer-bg:       #1a1a1b;
  --color-footer-divider:  rgba(255, 255, 255, 0.18);

  /* ── Tipografia ───────────────────────────────────────── */
  --font-sans: "OpenSans", "Avenir Next", "Segoe UI", sans-serif;
}

/* ── Reset global ─────────────────────────────────────── */
body {
  font-family: var(--font-sans);
}

/* ── Animações ────────────────────────────────────────── */
@keyframes arrowPulse {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  50% {
    transform: translateY(0.4rem);
    opacity: 1;
  }
}

.arrow-pulse {
  animation: arrowPulse 1.6s ease-in-out infinite;
}

/* ── Componentes ──────────────────────────────────────── */

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-accent);
  color: var(--color-text-light);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  padding: 1rem 2rem;
  border-radius: 0.375rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  white-space: nowrap;
}

.btn-primary:hover {
  background-color: var(--color-accent-strong);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--color-accent-soft);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  padding: 0.625rem 1.75rem;
  border-radius: 0.375rem;
  border: 1.5px solid var(--color-accent);
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.btn-outline:hover {
  background-color: var(--color-accent);
  color: var(--color-text-light);
}

.btn-primary:active {
  transform: scale(0.98);
}

.btn-primary:focus-visible {
  outline: 2px solid var(--color-accent-soft);
  outline-offset: 3px;
}

/* ── Section: fundo fotográfico Trilhas ───────────────── */
.section-trilhas-bg {
  background-image: url("assets/optimized/unicred_edu_trilha_ideal_bg_mobile.webp");
  background-size: cover;
  background-position: center bottom;
}

@media (min-width: 768px) {
  .section-trilhas-bg {
    background-image: url("assets/optimized/unicred_edu_trilha_ideal_bg_desktop.webp");
    background-position: 75% center;
  }
}

/* ── Section: parceiros — divisor tracejado ───────────── */

/*
 * Linha tracejada na cor accent gerada por repeating-linear-gradient
 * para controle preciso do comprimento e espaçamento dos traços.
 */
.dashed-divider {
  width: 130px;
  height: 3px;
  background-image: repeating-linear-gradient(
    to right,
    var(--color-accent) 0,
    var(--color-accent) 10px,
    transparent 10px,
    transparent 16px
  );
}

/*
 * Badge para ícone com fundo accent translúcido.
 * Substitui a combinação bg-accent/20 (opacity modifier do Tailwind
 * não funciona com CSS vars sem o formato de canais RGB).
 */
.icon-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background-color: var(--color-accent);
}

/* ─────────────────────────────────────────────
   SECTION CTA — fundo fotográfico (sem overlay)
   ───────────────────────────────────────────── */
.section-cta-bg {
  background-image: url("assets/optimized/unicred_edu_form_bg_desktop.webp");
  background-size: cover;
  background-position: center;
}

/* ─────────────────────────────────────────────
   FORMULÁRIO DE INSCRIÇÃO
   ───────────────────────────────────────────── */
.form-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-text-dark);
  margin-bottom: 0.3125rem;
}

.form-input,
.form-select {
  width: 100%;
  padding: 0.5625rem 0.75rem;
  border: 1px solid #d4d4d8;
  border-radius: 0.5rem;
  background: #ffffff;
  font-size: 0.8125rem;
  font-family: var(--font-sans);
  color: var(--color-text-dark);
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  appearance: none;
  -webkit-appearance: none;
}

.form-input:focus,
.form-select:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);
}

.form-input::placeholder {
  color: var(--color-text-muted);
  font-size: 0.8125rem;
}

.form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236f737b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
  cursor: pointer;
}

/* Sim / Não — radio toggle */
.radio-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.radio-toggle input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.radio-toggle-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.3125rem 1rem;
  border-radius: 9999px;
  border: 1.5px solid #d4d4d8;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-text-muted);
  transition: all 0.15s;
  user-select: none;
}

.radio-toggle input[type="radio"]:checked + .radio-toggle-pill {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: #ffffff;
}

/* Checkbox customizado */
.form-checkbox-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  cursor: pointer;
}

.form-checkbox-wrap input[type="checkbox"] {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
  accent-color: var(--color-accent);
  cursor: pointer;
}

.form-checkbox-wrap span {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #52525b;
}

/* ─────────────────────────────────────────────
   VALIDAÇÃO — mensagens de erro e estado inválido
   ───────────────────────────────────────────── */
.form-error {
  font-size: 0.6875rem;
  color: #dc2626;
  margin-top: 0.25rem;
  min-height: 1rem;
  line-height: 1.4;
}

.form-input.is-invalid,
.form-select.is-invalid {
  border-color: #dc2626;
}

.form-input.is-invalid:focus,
.form-select.is-invalid:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px color-mix(in srgb, #dc2626 15%, transparent);
}

/* ─────────────────────────────────────────────
   RODAPÉ INSTITUCIONAL
   ───────────────────────────────────────────── */
.site-footer {
  background-color: var(--color-footer-bg);
  color: var(--color-text-light);
}

.site-footer__divider {
  height: 1px;
  width: 100%;
  background-color: var(--color-footer-divider);
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: opacity 0.15s ease;
}

.footer-social-link:hover {
  opacity: 0.85;
}

.footer-social-link:focus-visible {
  outline: 2px solid var(--color-accent-soft);
  outline-offset: 3px;
  border-radius: 2px;
}

.footer-social-link .footer-social-icon {
  display: block;
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.footer-nav-link {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  font-size: 0.8125rem;
  transition: opacity 0.15s ease;
}

.footer-nav-link:hover {
  opacity: 0.85;
}

.footer-nav-link:focus-visible {
  outline: 2px solid var(--color-accent-soft);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ─────────────────────────────────────────────
   SECTION 2 — bloco “Aprenda” (referência visual do layout)
   Fundo cinza, painel dourado com recorte no topo e conteúdo em coluna.
   ───────────────────────────────────────────── */
.section-aprenda-gold-outer {
  background-color: var(--color-bg-primary);
  padding: clamp(1.5rem, 4.5vw, 2.75rem) clamp(1rem, 3.5vw, 2.75rem)
    clamp(1.25rem, 3vw, 2rem);
}

.section-aprenda-panel {
  background-color: var(--color-accent);
  clip-path: polygon(0 0, 52% 0, 63% 8%, 100% 9%, 100% 100%, 0 100%);
}

@media (min-width: 768px) {
  .section-aprenda-panel {
    clip-path: polygon(0 0, 28% 0, 34% 8%, 100% 9%, 100% 100%, 0 100%);
  }
}

.section-aprenda-inner {
  display: flex;
  flex-direction: column;
  min-height: clamp(21rem, 52vw, 30rem);
  /* padding: clamp(2rem, 5vw, 3.75rem) clamp(1.5rem, 6vw, 4.25rem)
    clamp(2.5rem, 6vw, 4.25rem); */
  padding: 20px 30px; 
  font-family: "Montserrat", var(--font-sans), system-ui, sans-serif;
}

.section-aprenda-inner__logo {
  display: block;
  width: auto;
  height: clamp(1.125rem, 2.4vw, 1.5rem);
  object-fit: contain;
  object-position: left center;
  align-self: flex-start;
}

.section-aprenda-inner__center {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: clamp(2rem, 5vw, 3.5rem);
}

@media (min-width: 768px) {
  .section-aprenda-inner__center {
    flex-direction: row;
    align-items: center;
    gap: 45px;
    margin: 44px 30px;
    h2{
      flex:1;
    }
    p{
      flex:1;
    }
  }
}

.section-aprenda-inner__title {
  margin: 0;
  color: #ffffff;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.8vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 42rem;
}

.section-aprenda-inner__copy {
  margin: clamp(1rem, 2.2vw, 1.5rem) 0 0;
  padding: 0;
  color: #ffffff;
  font-weight: 400;
  font-size: clamp(0.9375rem, 1.65vw, 1.25rem);
  line-height: 1.55;
  max-width: 48rem;
}

