/*
 * Tema mutado — identidade teal corporativa / rastreamento (seed site-panoramafloripa-2026-04-28)
 * --color-primary, --color-primary-hover, --hero-gradient e aliases são sobrescritos em runtime
 * por includes/theme-from-config-css.php — cores derivadas de `$pxPrimary` em config.php (hover/deep gerados em HSL).
 */

:root {
  --color-canvas: #f5fbfb;
  --color-surface: #ffffff;
  --color-surface-2: #f0fdfa;
  --color-border: #cbd5e1;
  --color-border-subtle: #e2e8f0;

  --color-text: #0f172a;
  --color-text-muted: #475569;
  --color-text-faint: #64748b;
  --color-text-inverse: #ffffff;

  --color-primary: #0d9488;
  --color-primary-hover: #0f766e;
  --color-primary-dim: rgba(13, 148, 136, 0.12);
  --color-primary-text: #0f766e;

  --color-accent: #ea580c;
  --color-accent-hover: #c2410c;
  --color-accent-dim: rgba(234, 88, 12, 0.12);
  --color-accent-text: #9a3412;

  --color-success: #059669;
  --color-success-dim: rgba(5, 150, 105, 0.12);
  --color-success-text: #047857;

  --color-warning: #d97706;
  --color-warning-dim: rgba(217, 119, 6, 0.12);
  --color-warning-text: #b45309;

  --color-error: #dc2626;
  --color-error-dim: rgba(220, 38, 38, 0.10);
  --color-error-text: #b91c1c;

  --color-info: #0e7490;
  --color-info-dim: rgba(14, 116, 144, 0.12);
  --color-info-text: #155e75;

  --color-focus-ring: rgba(13, 148, 136, 0.28);

  --cl-n8: #0f766e;
  --cl-w2: #475569;
  --cl-f5: #ea580c;
  --bg-j1: #f5fbfb;
  --vt-m4: #0f172a;
  --vt-k3: #ffffff;
  --vt-b9: #0f172a;
  --vt-h6: #ffffff;
  --rv-q7: 12px;
  --rv-q7l: 18px;

  --app-primary: #0d9488;
  --theme-primary: #0d9488;
  --ui-primary: #0d9488;
  --app-secondary: #475569;
  --theme-secondary: #475569;
  --site-secondary: #475569;
  --ui-accent: #ea580c;
  --app-bg: #f5fbfb;
  --color-bg: #f5fbfb;
  --ui-bg: #f5fbfb;
  --site-bg: #f5fbfb;
  --theme-bg: #f5fbfb;
  --theme-text: #0f172a;
  --site-text: #0f172a;
  --ui-text: #0f172a;
  --app-text: #0f172a;
  --site-text-on-primary: #ffffff;
  --ui-text-on-primary: #ffffff;
  --theme-text-on-primary: #ffffff;
  --app-text-on-primary: #ffffff;
  --color-text-hero: #ffffff;
  --ui-text-hero: #ffffff;
  --site-text-hero: #ffffff;
  --vt-m4-hero: #ffffff;
  --site-text-on-secondary: #0f172a;
  --color-text-on-secondary: #0f172a;
  --ui-text-on-secondary: #0f172a;
  --app-text-on-secondary: #0f172a;
  --app-radius: 12px;
  --color-radius: 12px;
  --theme-radius: 12px;
  --app-radius-lg: 18px;
  --color-radius-lg: 18px;
  --ui-radius-lg: 18px;
}

html {
  background-color: #f5fbfb !important;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: #f5fbfb !important;
  color: #0f172a !important;
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  color: #0f172a !important;
  letter-spacing: -0.028em;
}

p,
span,
li,
label,
td,
th,
address {
  color: inherit;
}

a {
  color: #0f766e;
  text-decoration: none;
}

a:hover {
  color: #0d9488;
}

header {
  background-color: #ffffff !important;
  border-bottom: 1px solid #e2e8f0;
}

footer {
  background-color: #ffffff !important;
  border-top: 1px solid #e2e8f0;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

input,
select,
textarea {
  background-color: #ffffff;
  color: #0f172a;
}

::selection {
  background: rgba(13, 148, 136, 0.18);
}

/* Menu mobile: assets/js/site-nav.js alterna .px-mobile-nav--open em header nav.w35999e */
@media (max-width: 768px) {
  header nav.w35999e:not(.px-mobile-nav--open) {
    display: none !important;
  }

  header nav.w35999e.px-mobile-nav--open {
    display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    padding: 12px 0 16px;
    box-sizing: border-box;
  }
}

@media (min-width: 769px) {
  header nav.w35999e.px-mobile-nav--open {
    display: none !important;
  }
}

/* Banner de consentimento de cookies (todas as páginas) */
[aria-label="Aviso de cookies"] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding: 1.5rem clamp(1.5rem, 4vw, 2.5rem);
  box-sizing: border-box;
  background-color: #ffffff;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
}

[aria-label="Aviso de cookies"] > div {
  gap: 0.875rem 1.25rem;
  align-items: center;
}
