/* ===================================================================
   PZ MODELOS — tema xbraz / PimpBunny (dark + vermelho, cards PORTRAIT)
   Escopo 100% isolado em .pzm-scope: nao afeta home/categorias/tags.
   Tokens: bg #0d0d0f, surface #16161a/#1f1f26, vermelho #e01e23,
   vermelho-em-texto #ff4d51 (contraste WCAG). Lilita One (titulos+nomes) + Roboto Condensed (corpo).
   =================================================================== */
.pzm-scope{
  --bg:#0d0d0f; --surface:#16161a; --surface2:#1f1f26;
  --text:#f4f1f3; --muted:rgba(255,255,255,.72); --faint:rgba(255,255,255,.45);
  --red:#e01e23; --red-bright:#ff3a3f; --red-ink:#ff4d51; --hairline:rgba(255,255,255,.08);
  --ease:cubic-bezier(.2,.7,.2,1);
  background:var(--bg); color:var(--text);
  font-family:"Roboto Condensed",Arial,sans-serif;
  padding:22px 16px 56px; margin:0;
  -webkit-font-smoothing:antialiased;
}
.pzm-scope *{box-sizing:border-box;}
.pzm-wrap{max-width:1600px; margin:0 auto;}

/* ---- Cabecalhos ---- */
.pzm-head{margin:4px 0 20px;}
.pzm-h1{
  font-family:"Lilita One",system-ui,sans-serif; font-weight:400;
  font-size:40px; line-height:1.1; margin:0; color:var(--text); text-transform:capitalize;
}
.pzm-h2{
  font-family:"Lilita One",system-ui,sans-serif; font-weight:400;
  font-size:22px; letter-spacing:.02em; text-transform:uppercase;
  margin:34px 0 16px; color:var(--text);
  border-left:4px solid var(--red); padding-left:12px;
}
.pzm-sub{margin:6px 0 0; color:var(--muted); font-size:15px;}
.pzm-crumb{font-size:14px; color:var(--faint); margin:0 0 18px;}
.pzm-crumb a{color:var(--red-ink); text-decoration:none;}
.pzm-crumb a:hover{text-decoration:underline;}
.pzm-empty{color:var(--muted); background:var(--surface); border:1px solid var(--hairline);
  border-radius:12px; padding:22px; text-align:center;}

/* ---- Grade PORTRAIT (modelos): 2>3>4>5 colunas ---- */
.pzm-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
@media(min-width:601px){.pzm-grid{grid-template-columns:repeat(3,1fr); gap:16px;}}
@media(min-width:900px){.pzm-grid{grid-template-columns:repeat(4,1fr); gap:20px;}}
@media(min-width:1280px){.pzm-grid{grid-template-columns:repeat(5,1fr); gap:22px;}}

/* ---- Card PORTRAIT de modelo ---- */
.pzm-card{display:block; text-decoration:none; color:var(--text);
  border-radius:12px; overflow:hidden; background:var(--surface);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);}
.pzm-ph{position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--surface2);}
.pzm-ph img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s var(--ease);}
.pzm-grad{position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.28) 38%, rgba(0,0,0,0) 62%);}
.pzm-name{position:absolute; left:10px; right:10px; bottom:9px; z-index:2;
  font-family:"Lilita One",system-ui,sans-serif; font-weight:400; font-size:16px; letter-spacing:.015em; line-height:1.18;
  color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.6);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pzm-card::after{content:""; position:absolute;} /* no-op guard */
.pzm-card:hover{transform:translateY(-3px);
  box-shadow:0 6px 24px rgba(0,0,0,.5), 0 0 0 1px rgba(224,30,35,.55), 0 4px 18px rgba(224,30,35,.22);}
.pzm-card:hover .pzm-ph img{transform:scale(1.06);}
.pzm-card:hover .pzm-name{color:var(--red-ink);}
.pzm-card:active{transform:scale(.985);}

/* ---- Pagina do modelo: hero ---- */
.pzm-hero{display:flex; gap:18px; align-items:flex-end;
  background:linear-gradient(135deg, var(--surface2), var(--surface));
  border:1px solid var(--hairline); border-radius:16px; padding:18px; margin:0 0 6px;}
.pzm-hero-ph{flex:0 0 132px; width:132px; aspect-ratio:3/4; border-radius:12px; overflow:hidden;
  background:var(--surface2); box-shadow:0 0 0 2px var(--red), 0 8px 24px rgba(0,0,0,.5);}
.pzm-hero-ph img{width:100%; height:100%; object-fit:cover; display:block;}
.pzm-hero-info{padding-bottom:6px;}
.pzm-hero .pzm-h1{font-size:38px;}
@media(max-width:560px){
  .pzm-hero{flex-direction:column; align-items:flex-start;}
  .pzm-hero-ph{flex-basis:auto; width:118px;}
  .pzm-h1{font-size:30px;}
}

/* ---- Grade de VIDEOS do modelo (16:9, dark) ---- */
.pzm-vgrid{grid-template-columns:repeat(1,1fr);}
@media(min-width:576px){.pzm-vgrid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.pzm-vgrid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1280px){.pzm-vgrid{grid-template-columns:repeat(4,1fr);}}
.pzm-vcard{background:transparent;}
.pzm-vph{aspect-ratio:16/9; border-radius:10px;}
.pzm-vtitle{display:block; margin-top:8px; font-weight:700; font-size:15px; line-height:1.2;
  color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pzm-vcard:hover .pzm-vtitle{color:var(--red-ink);}

/* ---- Paginacao ---- */
.pzm-pager{margin:26px 0 0; display:flex; gap:8px; flex-wrap:wrap;}
.pzm-pager .page-numbers{display:inline-block; min-width:38px; text-align:center;
  padding:8px 12px; border-radius:999px; background:var(--surface2); color:var(--text);
  text-decoration:none; font-weight:500; border:1px solid var(--hairline);}
.pzm-pager .page-numbers.current{background:var(--red); color:#fff; border-color:var(--red);}
.pzm-pager a.page-numbers:hover{color:var(--red-ink); border-color:var(--red);}

/* ===================================================================
   Cards de modelo estilo PimpBunny: FOTO (portrait) + legenda abaixo
   com NOME centralizado e METRICAS LADO A LADO ("N videos · views").
   Override por maior especificidade (.pzm-card .pzm-name) — nao remove
   as regras antigas, so as vence. Vale na HOME e no /modelos/.
   =================================================================== */
.pzm-card .pzm-meta{display:block; padding:10px 9px 12px; text-align:center;}
.pzm-card .pzm-name{
  position:static; left:auto; right:auto; bottom:auto; z-index:auto;
  display:block; text-align:center; text-shadow:none; color:var(--text);
  font-family:"Lilita One",system-ui,sans-serif; font-weight:400;
  font-size:16px; letter-spacing:.015em; line-height:1.18;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.pzm-card .pzm-stats{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:6px; margin-top:5px;
  font-family:"Roboto Condensed",Arial,sans-serif; font-weight:500;
  font-size:12.5px; line-height:1; color:var(--muted);
}
.pzm-card .pzm-stat{display:inline-flex; align-items:center; gap:4px; white-space:nowrap;}
.pzm-card .pzm-stat .fa{font-size:11px; color:var(--red-ink);}
.pzm-card .pzm-dot{color:var(--faint);}
.pzm-card:hover .pzm-name{color:var(--red-ink);}
@media(max-width:400px){ .pzm-card .pzm-stats{font-size:11.5px; gap:5px;} }
