/* =========================================================
   Caderno de Caça – estética de caderno de campo
   (papel, fita-cola, polaroids, post-its e letra manuscrita)
   ========================================================= */
:root {
  --papel: #fbf7ee;
  --papel-linha: #dfe7f1;
  --papel-margem: #f0b8b8;
  --kraft: #c9a27a;
  --kraft-escuro: #8a6440;
  --manuscrito: "Caveat", "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
}

.manuscrito { font-family: var(--manuscrito); font-size: 1.35rem; line-height: 1.35; color: #2b3a55; }

/* Capa (cabeçalho das páginas do Caderno) */
.cc-capa {
  --tema: var(--kraft-escuro);
  position: relative; color: #fff; padding: 3rem 0 3.5rem; overflow: hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.12), transparent 40%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.04) 0 2px, transparent 2px 6px),
    linear-gradient(135deg, color-mix(in srgb, var(--tema) 75%, #3b2410), var(--tema));
}
.cc-capa::after { /* elástico do caderno */
  content: ""; position: absolute; top: 0; bottom: 0; right: 9%; width: 14px;
  background: linear-gradient(90deg, #222 0 30%, #444 50%, #222 70%); opacity: .55;
}
.cc-capa-interior { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; position: relative; z-index: 1; }
.cc-capa h1 { color: #fff; font-family: var(--manuscrito); font-size: clamp(2.6rem, 6vw, 4rem); margin: .2rem 0 .4rem; }
.cc-capa p { max-width: 60ch; color: #fdf6ea; font-size: 1.1rem; margin: 0; }
.cc-capa .migalhas a { color: #fff; }
.cc-capa-etiqueta {
  display: inline-block; background: var(--papel); color: #3b2a1a !important; font-family: var(--manuscrito);
  font-size: 1.3rem !important; padding: .1rem .9rem; transform: rotate(-2deg); border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.cc-capa-desenho { width: 150px; height: 150px; color: #fff; opacity: .9; margin-right: 12%; }
.cc-capa-desenho svg { width: 100%; height: 100%; }
@media (max-width: 700px) { .cc-capa-desenho { display: none; } .cc-capa-interior { grid-template-columns: 1fr; } }

/* Fundo de papel */
.cc-papel {
  background-color: var(--papel);
  background-image: radial-gradient(rgba(120,90,40,.05) 1px, transparent 1px);
  background-size: 6px 6px;
}

/* Separadores dos temas (tipo índice de caderno) */
.cc-separadores { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.5rem; border-bottom: 3px solid var(--borda); }
.separador {
  padding: .5rem 1rem; border-radius: 10px 10px 0 0; text-decoration: none; font-weight: 700; font-size: .9rem;
  background: color-mix(in srgb, var(--tema) 15%, #fff); color: var(--tema); border: 2px solid transparent; border-bottom: 0;
  margin-bottom: -3px;
}
.separador:hover { background: color-mix(in srgb, var(--tema) 28%, #fff); color: var(--tema); }
.separador[aria-current="page"] { background: var(--tema); color: #fff; }

/* Filtros */
.cc-filtros { display: grid; gap: .6rem; margin-bottom: 2rem; }
.cc-filtros > div { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.cc-filtros span { font-weight: 700; font-size: .9rem; margin-right: .3rem; min-width: 4.2rem; }
.chip {
  font: inherit; font-size: .88rem; font-weight: 600; padding: .35rem .9rem; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--borda); background: #fff; color: var(--texto);
}
.chip:hover { border-color: var(--aep-azul); }
.chip.ativo { background: var(--aep-azul); border-color: var(--aep-azul); color: #fff; }
.chip-seccao.ativo { background: var(--cor); border-color: var(--cor); }

/* Grelha de entradas */
.cc-grelha { columns: 3 300px; column-gap: 1.5rem; }
.cc-entrada {
  break-inside: avoid; margin: 0 0 1.5rem; background: #fff; border-radius: 6px; padding: 1.2rem 1.2rem 1rem;
  box-shadow: 0 2px 0 #e9e2d2, 0 6px 18px rgba(80,60,20,.1); position: relative; display: inline-block; width: 100%;
}
.cc-entrada::before { /* fita-cola */
  content: ""; position: absolute; top: -10px; left: 50%; width: 90px; height: 22px; transform: translateX(-50%) rotate(-3deg);
  background: rgba(58,159,225,.35); border-left: 2px dashed rgba(255,255,255,.6); border-right: 2px dashed rgba(255,255,255,.6);
}
.cc-entrada:nth-child(3n+2)::before { background: rgba(203,108,230,.35); transform: translateX(-50%) rotate(2deg); }
.cc-entrada:nth-child(3n)::before { background: rgba(242,183,5,.4); transform: translateX(-50%) rotate(-1deg); }
.cc-entrada[hidden] { display: none; }
.cc-entrada header h3 { margin: .4rem 0 .8rem; font-size: 1.15rem; }
.cc-entrada > p { font-size: .95rem; margin: .2rem 0 .6rem; }
.cc-entrada .video-bloco { margin-bottom: .7rem; }
.cc-entrada footer {
  display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap;
  border-top: 1px dashed var(--borda); padding-top: .7rem; margin-top: .6rem; font-size: .85rem;
}
.cc-entrada footer a { font-weight: 700; text-decoration: none; }
.cc-autor { color: var(--texto-suave); }

.cc-tipo {
  display: inline-block; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
  padding: .15rem .55rem; border-radius: 4px; color: #fff;
}
.cc-tipo-video { background: #c0392b; }
.cc-tipo-foto { background: #0b4697; }
.cc-tipo-desenho { background: #007b7c; }
.cc-tipo-apontamento { background: #8a6440; }

/* Papel pautado (apontamentos) */
.papel-linhas {
  list-style: none; margin: 0; padding: .2rem .5rem .2rem 2.4rem; position: relative;
  background: repeating-linear-gradient(var(--papel) 0 31px, var(--papel-linha) 31px 32px);
  line-height: 32px; border-radius: 4px;
}
.papel-linhas::before { content: ""; position: absolute; left: 1.6rem; top: 0; bottom: 0; width: 2px; background: var(--papel-margem); }
.papel-linhas li { position: relative; }
.papel-linhas li::before { content: "–"; position: absolute; left: -1rem; color: var(--texto-suave); }

/* Papel quadriculado (desenhos) */
.papel-desenho {
  border-radius: 4px; padding: 1rem; display: grid; place-items: center;
  background-color: #fff;
  background-image: linear-gradient(var(--papel-linha) 1px, transparent 1px), linear-gradient(90deg, var(--papel-linha) 1px, transparent 1px);
  background-size: 16px 16px; border: 1px solid #ece6d8;
}
.papel-desenho svg { width: 100%; max-width: 200px; height: auto; }

/* Polaroids */
.polaroids { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; padding: .4rem 0; }
.polaroid {
  margin: 0; background: #fff; padding: .45rem .45rem 0; box-shadow: 0 3px 10px rgba(0,0,0,.18);
  width: calc(50% - .4rem); max-width: 180px; transform: rotate(-2deg);
}
.polaroid:nth-child(even) { transform: rotate(2.5deg); }
.polaroid:nth-child(3n) { transform: rotate(-1deg); }
.polaroid .marcador { aspect-ratio: 1; border-radius: 0; font-size: .85rem; }
.polaroid figcaption { font-family: var(--manuscrito); font-size: 1.15rem; text-align: center; padding: .25rem 0 .45rem; color: #2b3a55; }
.polaroids-grandes .polaroid { width: 30%; max-width: 240px; }
.inclinada-e { transform: rotate(-5deg) !important; }

/* Post-it */
.post-it {
  background: #fff3a8; padding: 1.2rem 1.3rem; box-shadow: 2px 6px 14px rgba(0,0,0,.15);
  transform: rotate(-1.5deg); position: relative;
}
.post-it::before { content: ""; position: absolute; top: -9px; left: 40%; width: 70px; height: 20px; background: rgba(203,108,230,.35); }

/* Colagem da página principal */
.cc-colagem { position: relative; min-height: 380px; }
.cc-colagem .polaroid { position: absolute; left: 4%; top: 6%; width: 52%; max-width: 260px; z-index: 1; }
.cc-colagem .post-it { position: absolute; right: 2%; top: 0; width: 46%; z-index: 2; }
.cc-colagem-desenho { position: absolute; right: 6%; bottom: 0; width: 46%; transform: rotate(3deg); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
@media (max-width: 800px) {
  .cc-colagem { min-height: 0; display: grid; gap: 1.2rem; }
  .cc-colagem > * { position: static !important; width: auto !important; max-width: none !important; }
}

/* Índice de temas */
.cc-temas { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.cc-tema {
  position: relative; display: flex; flex-direction: column; gap: .2rem; padding: 1.2rem 1.2rem 1.1rem 1.6rem;
  background: var(--papel); border-radius: 4px 12px 12px 4px; text-decoration: none; color: var(--texto);
  box-shadow: 0 4px 14px rgba(80,60,20,.12); border-left: 10px solid var(--tema); transition: transform .2s;
}
.cc-tema:hover { transform: translateY(-4px) rotate(-.5deg); color: var(--texto); }
.cc-tema-desenho { width: 64px; height: 64px; color: var(--tema); margin-bottom: .4rem; }
.cc-tema-desenho svg { width: 100%; height: 100%; }
.cc-tema-num { position: absolute; top: .8rem; right: 1rem; font-family: var(--manuscrito); font-size: 1.6rem; color: var(--tema); opacity: .7; }
.cc-tema strong { font-size: 1.15rem; color: var(--aep-azul-escuro); }
.cc-tema > span:last-child { font-size: .85rem; color: var(--texto-suave); }

.cc-tipos-guia .cc-tipo { margin-bottom: .6rem; }
.passos { padding-left: 1.3rem; }
.passos li { margin-bottom: .6rem; }
.cc-vazio { text-align: center; font-family: var(--manuscrito); font-size: 1.5rem; color: var(--texto-suave); }

/* Ficha (entrada completa) */
.ficha-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; align-items: start; }
.ficha-layout h2 { margin-top: 2.2rem; }
.ficha-passos { list-style: none; padding: 0; display: grid; gap: 1.2rem; }
.ficha-passo { display: grid; grid-template-columns: 200px 1fr; gap: 1.2rem; align-items: center; background: #fff; padding: 1rem; border-radius: 6px; box-shadow: 0 2px 10px rgba(80,60,20,.08); }
.ficha-passo-num { font-family: var(--manuscrito); font-size: 2rem; color: var(--grupo-magenta-escuro); line-height: 1; }
.ficha-passo h3 { margin: .2rem 0 .3rem; }
.ficha-passo p { margin: 0; }
.cartao-erro { border-left: 5px solid #c0392b; }
.digitalizado { margin: 0; max-width: 420px; transform: rotate(-1deg); box-shadow: 0 6px 18px rgba(0,0,0,.15); background: #fff; padding: .6rem; }
.digitalizado figcaption { font-size: .88rem; color: var(--texto-suave); padding-top: .4rem; }
.cc-desafio { background: #fff3a8; border-color: #e6cf55; }
.ficha-tecnica { background: #fff; border-radius: 6px; padding: 1.3rem; box-shadow: 0 4px 16px rgba(80,60,20,.12); position: sticky; top: 120px; border-top: 6px solid var(--aep-azul); }
.ficha-tecnica dl { margin: 0 0 1rem; display: grid; grid-template-columns: auto 1fr; gap: .45rem .8rem; font-size: .93rem; }
.ficha-tecnica dt { font-weight: 700; color: var(--aep-azul-escuro); }
.ficha-tecnica dd { margin: 0; }
.dificuldade { color: var(--grupo-magenta-escuro); letter-spacing: .1em; }
@media (max-width: 900px) {
  .ficha-layout { grid-template-columns: 1fr; }
  .ficha-tecnica { position: static; order: -1; }
  .ficha-passo { grid-template-columns: 1fr; }
  .polaroids-grandes .polaroid { width: calc(50% - .4rem); }
}
