/*
 * Casca compartilhada das páginas SYO: base mobile nativa e cabeçalho único.
 * Carrega por último em todas as páginas para não depender da ordem dos estilos antigos.
 * Cabeçalho só com Login e Cadastrar (dono, 08/11/2026).
 */

/* ---------- Base mobile ---------- */
html {
  /* Sem flash cinza no toque: cada controle tem o próprio estado :active. */
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* A âncora não fica escondida atrás do cabeçalho fixo. */
  scroll-padding-top: calc(var(--syo-header-height) + 16px);
}
.syo-site {
  --syo-header-height: 64px;
  --syo-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}
.syo-site :is(button, a, summary, [role='button']) {
  touch-action: manipulation;
}
/* Rótulos de controle não são selecionados num toque longo; o conteúdo continua copiável. */
.syo-site :is(button, summary, .button, [role='button']) {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.syo-site :is(a, button, summary):focus-visible {
  outline: 2px solid #f5f5f7;
  outline-offset: 3px;
  border-radius: 8px;
}
.syo-site ::selection {
  background: #f5f5f7;
  color: #000;
}
/* Hover de toque fica preso depois do toque: o deslocamento só vale com mouse. */
@media (hover: none) {
  .syo-site .button:hover {
    transform: none;
  }
}
.syo-site .button:active {
  transform: scale(0.97);
}

/* ---------- Cabeçalho ---------- */
.syo-site .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  height: calc(var(--syo-header-height) + env(safe-area-inset-top, 0px));
  margin: 0;
  padding: env(safe-area-inset-top, 0px)
    max(var(--syo-page-gutter, 24px), calc((100% - 1120px) / 2), env(safe-area-inset-right, 0px)) 0;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
  background: rgb(0 0 0 / 0.72);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  color: #f5f5f7;
  transition:
    background-color 240ms var(--syo-ease-out),
    border-color 240ms var(--syo-ease-out);
}
.syo-site .site-header .brand {
  width: 112px;
  height: 40px;
  margin-right: auto;
}
/* O site.css antigo encolhia o logo com scale e largura mínima, cortando a marca no celular. */
.syo-site .site-header .brand-art {
  width: 100%;
  height: 100%;
  min-width: 0;
  transform: none;
}
/* Login e Cadastrar lado a lado, com alvos de 44 px; a mesma dupla no desktop e no celular. */
.syo-site .site-header .header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.syo-site .site-header .header-actions .button {
  display: inline-flex;
  min-height: 44px;
  gap: 8px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition:
    background-color 160ms var(--syo-ease-out),
    border-color 160ms var(--syo-ease-out);
}
.syo-site .site-header .header-login {
  border: 1px solid rgb(255 255 255 / 0.22);
  background: transparent;
  color: #f5f5f7;
}
.syo-site .site-header .header-offer {
  border: 1px solid #f5f5f7;
  background: #f5f5f7;
  color: #000;
}
.syo-site .site-header .header-offer span {
  font-size: 14px;
}
.syo-site .site-header .header-login:active {
  background: rgb(255 255 255 / 0.12);
}
@media (hover: hover) and (pointer: fine) {
  .syo-site .site-header .header-login:hover {
    border-color: rgb(255 255 255 / 0.4);
    background: rgb(255 255 255 / 0.08);
    transform: none;
  }
  .syo-site .site-header .header-offer:hover {
    background: #fff;
    transform: none;
  }
}

@media (max-width: 800px) {
  .syo-site {
    --syo-header-height: 60px;
  }
  .syo-site .site-header {
    padding-inline: max(16px, env(safe-area-inset-left, 0px));
  }
  .syo-site .site-header .brand {
    width: 100px;
    height: 36px;
  }
  /* O site.css antigo some com qualquer nav do cabeçalho no celular; aqui ela é o acesso. */
  .syo-site .site-header .header-actions {
    display: flex;
  }
  .syo-site .site-header .header-actions .button {
    padding: 0 14px;
  }
}
