/* Tema de Natal da página inicial (cursos e as pastas de cada curso). Só visual: enfeites em CSS, nenhuma função.
   Vale quando <html data-tema="natal"> (a senha mestra liga no painel, aba Temas; js/layout.js põe o atributo antes de a página ser pintada).
   Cada layout tem o seu:
     clássico: flat e cartunesco, como os desenhos dos cursos (pisca-pisca, gorro no maracujá, neve nos cartões, azevinho, boneco de neve, flocos caindo);
     novo: minimalista (fio de luzinhas na linha do cabeçalho, estrela dourada no nome, brilho no canto dos cartões, azevinho em traço fino, neve sutil).
   Os enfeites são desenhos SVG dentro deste arquivo e nunca recebem toque (pointer-events:none). Com "reduzir movimento", a neve fica parada. */

/* ======================================================= comum: a neve fica ATRÁS do conteúdo */
:root[data-tema="natal"] body{position:relative;isolation:isolate}
:root[data-tema="natal"] body::before{content:"";position:fixed;left:0;right:0;top:-320px;bottom:0;z-index:-1;pointer-events:none;will-change:transform;animation:natalNeve 28s linear infinite}
@keyframes natalNeve{to{transform:translateY(320px)}}
@keyframes natalNeveDevagar{to{transform:translateY(480px)}}

/* ======================================================= CLÁSSICO: flat e cartunesco */
:root[data-tema="natal"][data-layout="classico"] body{padding-top:max(54px,env(safe-area-inset-top))}
/* flocos de neve desenhados (azul-claro no tema claro, brancos no escuro) */
:root[data-tema="natal"][data-layout="classico"] body::before{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='320' height='320'><g fill='none' stroke='%23bcd4ea' stroke-width='2.2' stroke-linecap='round'><path transform='translate(40 50)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/><path transform='translate(190 30) scale(.7)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/><path transform='translate(280 120)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/><path transform='translate(110 170) scale(.8)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/><path transform='translate(230 250) scale(.6)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/><path transform='translate(30 280) scale(.9)' d='M0-7V7M-6.1-3.5 6.1 3.5M-6.1 3.5 6.1-3.5'/></g></svg>") 0 0/320px 320px repeat;animation-duration:36s}
@media (prefers-color-scheme:dark){:root[data-tema="natal"][data-layout="classico"] body::before{opacity:.55;filter:brightness(1.6) saturate(.4)}}
/* pisca-pisca no alto da página: fio verde e lâmpadas nas cores do site */
:root[data-tema="natal"][data-layout="classico"] body::after{content:"";position:absolute;left:0;right:0;top:0;height:40px;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='40'><path d='M0 4Q40 24 80 4Q120 24 160 4' fill='none' stroke='%232f5d2c' stroke-width='2.5'/><g transform='rotate(8 20 11)'><rect x='16.5' y='10' width='7' height='6' rx='1.5' fill='%233a2a22'/><ellipse cx='20' cy='24' rx='6.5' ry='9' fill='%23e8473e'/><ellipse cx='17.6' cy='20.5' rx='1.7' ry='2.8' fill='%23fff' opacity='.75'/></g><g transform='rotate(-6 60 11)'><rect x='56.5' y='10' width='7' height='6' rx='1.5' fill='%233a2a22'/><ellipse cx='60' cy='24' rx='6.5' ry='9' fill='%23f2b01e'/><ellipse cx='57.6' cy='20.5' rx='1.7' ry='2.8' fill='%23fff' opacity='.75'/></g><g transform='rotate(7 100 11)'><rect x='96.5' y='10' width='7' height='6' rx='1.5' fill='%233a2a22'/><ellipse cx='100' cy='24' rx='6.5' ry='9' fill='%233e9b4a'/><ellipse cx='97.6' cy='20.5' rx='1.7' ry='2.8' fill='%23fff' opacity='.75'/></g><g transform='rotate(-8 140 11)'><rect x='136.5' y='10' width='7' height='6' rx='1.5' fill='%233a2a22'/><ellipse cx='140' cy='24' rx='6.5' ry='9' fill='%238a4fb0'/><ellipse cx='137.6' cy='20.5' rx='1.7' ry='2.8' fill='%23fff' opacity='.75'/></g></svg>") 0 0/160px 40px repeat-x}
/* gorro de Papai Noel no maracujá do logo */
:root[data-tema="natal"][data-layout="classico"] .hero{position:relative}
:root[data-tema="natal"][data-layout="classico"] .hero::before{content:"";position:absolute;pointer-events:none;z-index:1;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'><path d='M8 44Q14 14 38 8Q56 4 58 16Q50 14 46 22Q43 32 52 44Z' fill='%23e23b3b'/><path d='M38 8Q56 4 58 16Q50 14 46 22Q43 32 52 44L42 44Q38 30 40 20Q42 12 38 8Z' fill='%23c42a31'/><circle cx='58' cy='18' r='6.5' fill='%23fff'/><circle cx='59.5' cy='20' r='3.5' fill='%23dbe7f2'/><rect x='3' y='39' width='54' height='13' rx='6.5' fill='%23fff'/><path d='M7 49.5Q30 53 53 49.5Q56 49 56.5 47A6.5 6.5 0 0 1 50.5 52H9.5A6.5 6.5 0 0 1 3.5 47Q4 49 7 49.5Z' fill='%23dbe7f2'/></svg>") center/contain no-repeat}
:root[data-tema="natal"][data-layout="classico"] .hero:not(.min)::before{width:76px;height:66px;left:calc(50% - 46px);top:-34px;transform:rotate(-14deg)}
:root[data-tema="natal"][data-layout="classico"] .hero.min::before{width:34px;height:30px;left:-7px;top:-15px;transform:rotate(-16deg)}
@media (max-width:560px){
  :root[data-tema="natal"][data-layout="classico"] .hero:not(.min)::before{width:64px;height:56px;left:calc(50% - 39px);top:-28px}
  :root[data-tema="natal"][data-layout="classico"] .hero.min::before{width:26px;height:23px;left:-6px;top:-12px}
}
/* neve no alto dos cartões dos cursos e na aba das pastas (ciclos, períodos, disciplinas) */
:root[data-tema="natal"][data-layout="classico"] .curso{position:relative}
:root[data-tema="natal"][data-layout="classico"] .curso::before,
:root[data-tema="natal"][data-layout="classico"] .pasta::after{content:"";position:absolute;pointer-events:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 26' preserveAspectRatio='none'><path transform='translate(0 2.5)' fill='%23d3e2f0' d='M6 14C2 6 10 2 18 4C26 0 36 2 42 4C52 0 64 1 72 4C84 0 96 1 104 4C116 0 128 1 136 4C148 0 160 1 168 4C178 1 190 2 194 8C200 12 198 16 192 16C188 22 180 22 178 16H150C148 24 138 24 136 16H96C94 21 86 21 84 16H46C44 23 34 23 32 16H14C8 17 6 16 6 14Z'/><path fill='%23fff' d='M6 14C2 6 10 2 18 4C26 0 36 2 42 4C52 0 64 1 72 4C84 0 96 1 104 4C116 0 128 1 136 4C148 0 160 1 168 4C178 1 190 2 194 8C200 12 198 16 192 16C188 22 180 22 178 16H150C148 24 138 24 136 16H96C94 21 86 21 84 16H46C44 23 34 23 32 16H14C8 17 6 16 6 14Z'/></svg>") 0 0/100% 100% no-repeat}
:root[data-tema="natal"][data-layout="classico"] .curso::before{left:16px;right:16px;top:-11px;height:26px}
:root[data-tema="natal"][data-layout="classico"] .pasta::after{left:-4px;width:calc(46% + 6px);top:-21px;height:16px}
/* azevinho ao lado do título (Cursos, o nome do curso, do ciclo...) */
:root[data-tema="natal"][data-layout="classico"] .pasta-h h2::after{content:"";display:inline-block;width:1.25em;height:1em;margin-left:.3em;vertical-align:-.08em;pointer-events:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 32'><path d='M20 17C15 9 8 12 3 7C5 11 2 13 5 15C2 17 5 20 2 23C9 23 14 25 20 17Z' fill='%233e7b39'/><path d='M20 17C25 9 32 12 37 7C35 11 38 13 35 15C38 17 35 20 38 23C31 23 26 25 20 17Z' fill='%23336b30'/><path d='M20 17 6 13M20 17 34 13' stroke='%23295a26' stroke-width='1.2' fill='none' stroke-linecap='round'/><circle cx='17' cy='19' r='4' fill='%23e23b3b'/><circle cx='23.5' cy='19.5' r='4' fill='%23d12f35'/><circle cx='20' cy='24.5' r='4' fill='%23e8473e'/><circle cx='15.8' cy='17.8' r='1.2' fill='%23fff' opacity='.8'/><circle cx='18.8' cy='23.3' r='1.2' fill='%23fff' opacity='.8'/></svg>") center/contain no-repeat}
/* rodapé: morrinho de neve com pinheiros e um boneco de neve */
:root[data-tema="natal"][data-layout="classico"] footer::before{content:"";display:block;width:260px;max-width:100%;height:72px;margin:0 auto 10px;pointer-events:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 72'><path d='M4 72Q4 58 40 52Q90 46 130 52Q180 44 222 50Q256 56 256 72Z' fill='%23d3e2f0'/><path d='M8 72Q8 61 42 55Q90 49 130 55Q180 47 222 53Q252 59 252 72Z' fill='%23fff'/><g transform='translate(36 14)'><rect x='9' y='34' width='6' height='9' fill='%238f5c2c'/><path d='M12 0 24 16H17L27 28H19L28 38H-4L5 28H-3L7 16H0Z' fill='%233e7b39'/><path d='M12 0 24 16H17L27 28H19L28 38H12Z' fill='%23336b30'/><path d='M12 0 17 6.7Q14 8 12 6.5Q10 8 7 6.7Z' fill='%23fff'/><path d='M12-4 13.2-.8 16.5-.8 13.8 1.2 14.8 4.4 12 2.5 9.2 4.4 10.2 1.2 7.5-.8 10.8-.8Z' fill='%23f2b01e'/></g><g transform='translate(196 6) scale(1.15)'><rect x='9' y='34' width='6' height='9' fill='%238f5c2c'/><path d='M12 0 24 16H17L27 28H19L28 38H-4L5 28H-3L7 16H0Z' fill='%233e7b39'/><path d='M12 0 24 16H17L27 28H19L28 38H12Z' fill='%23336b30'/><path d='M12 0 17 6.7Q14 8 12 6.5Q10 8 7 6.7Z' fill='%23fff'/></g><g transform='translate(122 12)'><circle cx='14' cy='38' r='13' fill='%23fff' stroke='%23d3e2f0' stroke-width='2'/><circle cx='14' cy='17' r='9.5' fill='%23fff' stroke='%23d3e2f0' stroke-width='2'/><circle cx='11' cy='15.5' r='1.4' fill='%232a1424'/><circle cx='17' cy='15.5' r='1.4' fill='%232a1424'/><path d='M14 18.5 21 20 14 20.8Z' fill='%23e8833a'/><path d='M4.5 24Q14 29 23.5 24L23 28Q14 31 5 28Z' fill='%23e23b3b'/><path d='M19 27 22 35 18 35Z' fill='%23c42a31'/><circle cx='14' cy='34' r='1.3' fill='%232a1424'/><circle cx='14' cy='40' r='1.3' fill='%232a1424'/><rect x='5' y='6' width='18' height='3' rx='1.5' fill='%234e1f63'/><rect x='8' y='-3' width='12' height='10' rx='2' fill='%234e1f63'/><rect x='8' y='3' width='12' height='2.5' fill='%23e23b3b'/></g></svg>") center bottom/contain no-repeat}

/* ======================================================= NOVO: minimalista, com acabamento premium */
:root[data-tema="natal"][data-layout="novo"]{--natal-vermelho:#b3122e;--natal-verde:#1f6a4a;--natal-ouro:#b8913f}
@media (prefers-color-scheme:dark){:root[data-tema="natal"][data-layout="novo"]{--natal-vermelho:#ef5a64;--natal-verde:#4bb486;--natal-ouro:#dcbd6e}}
/* neve sutil, em dois planos (os flocos maiores caem mais devagar) */
:root[data-tema="natal"][data-layout="novo"] body::before{opacity:.5;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='320' height='320' fill='%23a7b3bf'><circle cx='24' cy='40' r='1.3'/><circle cx='150' cy='18' r='1'/><circle cx='260' cy='70' r='1.5'/><circle cx='90' cy='120' r='1.1'/><circle cx='210' cy='160' r='1.3'/><circle cx='300' cy='210' r='1'/><circle cx='40' cy='230' r='1.5'/><circle cx='130' cy='280' r='1.2'/><circle cx='240' cy='300' r='1'/></svg>") 0 0/320px 320px repeat}
:root[data-tema="natal"][data-layout="novo"] body::after{content:"";position:fixed;left:0;right:0;top:-480px;bottom:0;z-index:-1;pointer-events:none;opacity:.4;will-change:transform;animation:natalNeveDevagar 52s linear infinite;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='480' fill='%23a7b3bf'><circle cx='70' cy='90' r='2.2'/><circle cx='330' cy='40' r='2'/><circle cx='200' cy='260' r='2.4'/><circle cx='420' cy='330' r='2'/><circle cx='60' cy='400' r='2.2'/></svg>") 0 0/480px 480px repeat}
@media (prefers-color-scheme:dark){
  :root[data-tema="natal"][data-layout="novo"] body::before{opacity:.45;filter:brightness(2.2)}
  :root[data-tema="natal"][data-layout="novo"] body::after{opacity:.35;filter:brightness(2.2)}
}
/* a linha fina do cabeçalho vira um fio de luzinhas */
:root[data-tema="natal"][data-layout="novo"] .hero.min{position:relative}
:root[data-tema="natal"][data-layout="novo"] .hero.min::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:5px;pointer-events:none;
  background:radial-gradient(circle,var(--natal-vermelho) 1.6px,transparent 2.1px) 0 0/66px 5px repeat-x,
             radial-gradient(circle,var(--natal-verde) 1.6px,transparent 2.1px) 22px 0/66px 5px repeat-x,
             radial-gradient(circle,var(--natal-ouro) 1.6px,transparent 2.1px) 44px 0/66px 5px repeat-x}
@media (prefers-color-scheme:dark){:root[data-tema="natal"][data-layout="novo"] .hero.min::after{filter:drop-shadow(0 0 3px rgba(255,214,140,.45))}}
/* estrela dourada ao lado do nome */
:root[data-tema="natal"][data-layout="novo"] .hero h1::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.22em;vertical-align:.5em;pointer-events:none;background:var(--natal-ouro);
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0C8.6 5 11 7.4 16 8 11 8.6 8.6 11 8 16 7.4 11 5 8.6 0 8 5 7.4 7.4 5 8 0Z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0C8.6 5 11 7.4 16 8 11 8.6 8.6 11 8 16 7.4 11 5 8.6 0 8 5 7.4 7.4 5 8 0Z'/></svg>") center/contain no-repeat}
/* brilho dourado no canto dos cartões (cursos e pastas) */
:root[data-tema="natal"][data-layout="novo"] .curso{position:relative}
:root[data-tema="natal"][data-layout="novo"] .curso::before,
:root[data-tema="natal"][data-layout="novo"] .pasta::after{content:"";position:absolute;top:12px;right:12px;width:10px;height:10px;pointer-events:none;background:var(--natal-ouro);opacity:.85;
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0C8.6 5 11 7.4 16 8 11 8.6 8.6 11 8 16 7.4 11 5 8.6 0 8 5 7.4 7.4 5 8 0Z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0C8.6 5 11 7.4 16 8 11 8.6 8.6 11 8 16 7.4 11 5 8.6 0 8 5 7.4 7.4 5 8 0Z'/></svg>") center/contain no-repeat}
:root[data-tema="natal"][data-layout="novo"] .curso::before{right:auto;left:12px} /* (no canto direito fica o cadeado da página pública) */
:root[data-tema="natal"][data-layout="novo"] .curso:not(.embreve):hover{border-color:color-mix(in srgb,var(--natal-vermelho) 45%,var(--bd))}
/* bolinha de árvore em traço fino ao lado do título */
:root[data-tema="natal"][data-layout="novo"] .pasta-h h2::after{content:"";display:inline-block;width:.62em;height:.74em;margin-left:.32em;vertical-align:-.04em;pointer-events:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 29'><path d='M12 6V2.2' stroke='%23b8913f' stroke-width='1.4' stroke-linecap='round'/><circle cx='12' cy='1.8' r='1.3' fill='none' stroke='%23b8913f' stroke-width='1'/><rect x='9' y='5.4' width='6' height='3.4' rx='.9' fill='%23b8913f'/><circle cx='12' cy='18.4' r='9.4' fill='none' stroke='%23b3122e' stroke-width='1.6'/><path d='M7 15.6A5.6 5.6 0 0 1 10.4 12.4' fill='none' stroke='%23b3122e' stroke-width='1.3' stroke-linecap='round' opacity='.55'/></svg>") center/contain no-repeat}
@media (prefers-color-scheme:dark){:root[data-tema="natal"][data-layout="novo"] .pasta-h h2::after{filter:brightness(1.7)}}

/* ======================================================= quem pediu menos movimento: a neve fica parada */
@media (prefers-reduced-motion:reduce){
  :root[data-tema="natal"] body::before,:root[data-tema="natal"] body::after{animation:none}
}
@media print{:root[data-tema="natal"] body::before,:root[data-tema="natal"] body::after,:root[data-tema="natal"] .hero::before,:root[data-tema="natal"] footer::before{display:none}}
