/* ====== Layout da página Módulos (NÃO estiliza .card) ====== */

:root{
  --max:1200px;
  --ink:#0f172a;
  --bg-page:#fff;
  --line:#e5e7eb;
  --gap:18px;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg-page);
  color:var(--ink);
  font-family:"ABCDiatypeExpanded", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
a{text-decoration:none;color:inherit}

body[data-page="modulos"]{min-height:100vh;display:flex;flex-direction:column}
body[data-page="modulos"]>main{flex:1 0 auto}
body[data-page="modulos"] .site-footer{margin-top:auto}

.wrap{max-width:var(--max);margin:0 auto;padding:20px}

/* Cabeçalho da página */
.page-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:10px 0 16px}
.page-title{font-weight:900;font-size:26px;letter-spacing:-.02em}

/* Seções e container da grid de cards */
.catalog-section{margin:18px 0 28px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.section-title{font-weight:800;font-size:20px;margin:0}

/* Grid apenas como container dos cards */
.cards{display:grid;gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){ .cards{grid-template-columns:repeat(3,1fr)} }
@media (max-width:820px){  .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){  .cards{grid-template-columns:1fr} }

/* Loader global (exibido quando body.loading) */
#pageLoader{
  position:fixed; inset:0; display:none;
  align-items:center; justify-content:center;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  z-index:9999;
}
#pageLoader img{height:52px; filter:invert(1) drop-shadow(0 0 8px rgba(255,255,255,.3))}
body.loading #pageLoader{display:flex}

/* ===== GALERIA: linha meta do card (recuo igual ao nome/preço) ===== */
body[data-page="galeria"] #catalog .card .meta{
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:0 12px 10px; /* alinha com o nome/preço */
}

/* Criador em 2 linhas: label em cima, nome embaixo */
body[data-page="galeria"] #catalog .card .pc-creator,
body[data-page="galeria"] #catalog .card .meta-creator{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* "Criado por" (11px) */
body[data-page="galeria"] #catalog .card .pc-creator-label{
  font-size:11px;
  line-height:1.1;
  white-space:nowrap;
  opacity:.75;
}

/* Nome (12px, 1 linha com ellipsis) */
body[data-page="galeria"] #catalog .card .pc-creator-name{
  font-size:12px;
  line-height:1.15;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Likes não roubarem espaço */
body[data-page="galeria"] #catalog .card .pc-likewrap{
  width:auto !important;
  flex:0 0 auto;
  margin-left:auto;
  gap:8px;
}

