/* shared.css — variáveis e estilos comuns a todas as páginas auth */
:root {
  --gold:     #f9d423;
  --orange:   #ff4e50;
  --accent:   #f97316;
  --footer-h: 44px;
  --scene-h:  115px;
  --body-bottom: calc(var(--footer-h) + var(--scene-h) + 16px);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Rubik', sans-serif;
  background: #fdf8f0;
  color: #1a1a1a;
  min-height: 100vh;
}

input, select, textarea, button { font-family: inherit; }

.btn-primary {
  background: linear-gradient(135deg, var(--orange), var(--gold));
  color: #000;
  border: none;
  border-radius: 10px;
  padding: 14px 28px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity .2s, transform .1s;
}
.btn-primary:hover  { opacity: .9; }
.btn-primary:active { transform: scale(.98); }

/* ── Rodapé fixo — duas linhas ────────────────────────────────────────────── */
.site-footer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 20;
  min-height: var(--footer-h);
  height: auto;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(249,115,22,.13);
  padding: 6px clamp(12px, 3vw, 24px) 5px;
  /* Linha 1: todos os filhos diretos ficam em row, com wrap.
     A .footer-copy-row tem flex-basis:100% para forçar a linha 2. */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 9px;
}

/* ── Linha 1: brand, separadores, desc, email, escola ── */
.footer-brand {
  font-weight: 700; font-size: .84rem;
  background: linear-gradient(90deg, #f97316, #ff4e50);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -.2px; white-space: nowrap; flex-shrink: 0;
}
.footer-sep {
  width: 4px; height: 4px; border-radius: 50%;
  background: rgba(249,115,22,.35);
  flex-shrink: 0;
}
.footer-desc {
  font-size: .76rem; color: #888;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.footer-email {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .76rem; font-weight: 600; color: #f97316;
  text-decoration: none;
  border: 1px solid rgba(249,115,22,.22);
  border-radius: 999px; padding: 2px 11px;
  transition: background .2s, border-color .2s;
  white-space: nowrap; flex-shrink: 0;
}
.footer-email:hover {
  background: rgba(249,115,22,.07);
  border-color: rgba(249,115,22,.45);
}
.footer-school {
  font-size: .7rem; color: #aaa;
  white-space: nowrap; flex-shrink: 0;
}

/* ── Linha 2: copyright (flex-basis:100% força nova linha) ── */
.footer-copy-row {
  flex-basis: 100%;
  display: flex; align-items: center; justify-content: center;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 1px;
}
.footer-copy-text {
  font-size: .67rem; letter-spacing: .045em;
  color: rgba(0,0,0,.32); white-space: nowrap;
  text-align: center;
}
.footer-copy-text strong { color: rgba(249,115,22,.75); font-weight: 600; }

@media (max-width: 600px) {
  .footer-desc    { display: none; }
  .footer-sep     { display: none; }
  .footer-school  { display: none; }
  .footer-copy-row { display: none; }
}
