/* Psico365: base (todas as páginas): variáveis, fontes, cabeçalho, botões, menu mobile e rodapé. */

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#12343B;--ink-2:#3D4C50;--muted:#5F6E72;--bg:#F5F6F2;--surface:#FFFFFF;--line:#E3E8E5;--line-2:#C9D2D0;
  --brand:#176B5F;--brand-hover:#12564C;--accent:#1F8A7A;--glow:#5CC3B0;--soft:#DDF2EE;--on-brand:#FFFFFF;
  --band:#12343B;--band-text:#FFFFFF;--band-muted:#B9CCCB;--ok:#2E7D4F;--err:#B42318;
  --shadow:0 1px 2px rgba(18,52,59,.06),0 18px 40px -16px rgba(18,52,59,.22);
  --ease:cubic-bezier(.22,1,.36,1);
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#EAF2F0;--ink-2:#C2D1CE;--muted:#9DB0AD;--bg:#0E2429;--surface:#15333A;--line:#24454C;--line-2:#34575E;
  --brand:#5CC3B0;--brand-hover:#7BD3C3;--accent:#5CC3B0;--soft:#1C4A4C;--on-brand:#0E2429;--band:#0A1C20;--ok:#7BD3A0;--err:#F4A79F;--logo-ink:#FFFFFF;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -16px rgba(0,0,0,.6);}}
:root[data-theme="dark"]{
  --ink:#EAF2F0;--ink-2:#C2D1CE;--muted:#9DB0AD;--bg:#0E2429;--surface:#15333A;--line:#24454C;--line-2:#34575E;
  --brand:#5CC3B0;--brand-hover:#7BD3C3;--accent:#5CC3B0;--soft:#1C4A4C;--on-brand:#0E2429;--band:#0A1C20;--ok:#7BD3A0;--err:#F4A79F;--logo-ink:#FFFFFF;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -16px rgba(0,0,0,.6);}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--brand)}a:hover{color:var(--brand-hover)}
:focus-visible{outline:3px solid var(--glow);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
.vh,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:100;background:var(--surface);padding:10px 14px;border-radius:10px}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* botões */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:14px;border:none;background:var(--brand);color:var(--on-brand);font:700 16px/1 'Plus Jakarta Sans',sans-serif;text-decoration:none;cursor:pointer;transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{background:var(--brand-hover);color:var(--on-brand);transform:translateY(-2px);box-shadow:0 10px 24px -10px var(--brand)}
.btn:hover::after{transform:translateX(120%)}
.btn:disabled{opacity:.7;cursor:progress;transform:none}
.btn.sm{height:42px;padding:0 16px;font-size:15px;border-radius:12px}

/* etiqueta de categoria */
.tag{display:inline-block;font-size:14px;font-weight:700;line-height:1.6;color:var(--brand);background:var(--soft);padding:5px 12px;border-radius:999px;text-decoration:none}
a.tag:hover{color:var(--brand-hover)}

/* cabeçalho */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled,body:not(.home) .top{border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--logo-ink,var(--ink))}
.brand:hover{color:var(--logo-ink,var(--ink))}
/* logo horizontal: o arquivo usa #1F8A7A (verde) e #12343B (azul-escuro); aqui viram tons do tema */
.logo-h{display:block;height:38px;width:auto}
.logo-h [stroke="#1F8A7A"]{stroke:var(--accent)}.logo-h [fill="#1F8A7A"]{fill:var(--accent)}
.logo-h [stroke="#12343B"]{stroke:currentColor}.logo-h [fill="#12343B"]{fill:currentColor}
.nav{display:flex;gap:28px;font-size:15px;font-weight:500}
.nav a{color:var(--ink-2);text-decoration:none;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover{color:var(--ink)}.nav a:hover::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--ink);font-weight:700}
.nav a[aria-current]::after{transform:scaleX(1)}
.actions{display:flex;align-items:center;gap:10px}
.progress{position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:linear-gradient(90deg,var(--accent),var(--glow));transform:scaleX(0);transform-origin:left}

/* menu mobile */
.menu-btn{display:none;position:relative;width:44px;height:44px;flex-shrink:0;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface);cursor:pointer}
.menu-btn span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:24px}
.menu-btn[aria-expanded="true"] span:nth-child(1){top:20px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){top:20px;transform:rotate(-45deg)}
.mnav{display:none}

/* rodapé */
.foot{border-top:1px solid var(--line);padding:40px 0 calc(40px + env(safe-area-inset-bottom,0px))}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.foot .logo-h{height:31px}
.foot nav{display:flex;gap:20px;flex-wrap:wrap}.foot a{color:var(--ink-2)}

@media (max-width:980px){
  .nav{display:none}
  .menu-btn{display:block}
  .mnav{display:block;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(18,52,59,.35);padding:4px 24px 22px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
  .mnav.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
  .mnav a:not(.btn){display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:18px;color:var(--ink);text-decoration:none}
  .mnav a[aria-current]:not(.btn){color:var(--brand)}
  .mnav .btn{width:100%;margin-top:18px}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{width:calc(100% - 40px)}
  .top .actions>.btn{display:none}
  .top .logo-h{height:34px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
