/* =========================================================
   APOLLO NETWORKS — CATEGORIA CSS [CORRIGIDO]
   - Profissional, Retrato, Moda, Fotografia
   - Mesma base do principal, sem duplicar reset
========================================================= */
:root {
  --bg: #07070a;
  --bg-secondary: #0b0b10;
  --surface: #101016;
  --surface-hover: #15151d;
  --border: rgba(255,255,255,0.08);
  --border-hover: rgba(255,255,255,0.15);
  --text: #f5f5f7;
  --text-secondary: #a1a1aa;
  --text-muted: #71717a;
  --accent: #8b5cf6;
  --accent-light: #a78bfa;
  --accent-soft: rgba(139,92,246,0.12);
  --success: #22c55e;
  --radius: 16px;
  --radius-large: 24px;
  --container: 1280px;
}

/* HEADER — compatível com principal */
.site-header { position:sticky; top:0; z-index:100; background: rgba(7,7,10,0.82); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom:1px solid var(--border); }
.header-inner { width:min(100% - 48px, var(--container)); min-height:76px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background: linear-gradient(135deg, #8b5cf6, #6366f1); color:#fff; font-size:18px; font-weight:800; box-shadow: 0 8px 24px rgba(139,92,246,0.24); }
.brand-name { font-size:20px; font-weight:750; letter-spacing:-0.04em; color:var(--text); }
.main-navigation { display:flex; align-items:center; gap:30px; margin-left:auto; margin-right:auto; }
.nav-link { color:var(--text-secondary); font-size:14px; font-weight:550; transition:color .2s; }
.nav-link:hover, .nav-link.active { color:var(--text); }
.header-actions { display:flex; align-items:center; gap:10px; }
.favorites-button, .admin-button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 14px; border:1px solid var(--border); border-radius:10px; color:var(--text-secondary); background: rgba(255,255,255,0.025); font-size:13px; font-weight:600; transition: all .2s; }
.favorites-button:hover, .admin-button:hover { color:var(--text); border-color:var(--border-hover); background: rgba(255,255,255,0.05); }
.favorites-icon { color:#f472b6; }
.favorites-count { min-width:20px; height:20px; display:grid; place-items:center; padding:0 5px; border-radius:999px; background:var(--accent-soft); color:var(--accent-light); font-size:11px; }

/* HERO CATEGORIA */
.category-hero { position:relative; overflow:hidden; min-height:390px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--border); }
.category-hero-background { position:absolute; inset:0; background: radial-gradient(circle at 50% 15%, rgba(139,92,246,0.20), transparent 38%), radial-gradient(circle at 15% 90%, rgba(99,102,241,0.10), transparent 35%), linear-gradient(180deg, #0a0910, #07070a); }
.category-hero-background::after { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size:50px 50px; mask-image: linear-gradient(to bottom, black, transparent); opacity:0.5; }
.category-hero-content { position:relative; z-index:2; width:min(100% - 48px, 760px); text-align:center; padding:70px 0; }
.category-icon { width:64px; height:64px; margin:0 auto 22px; display:grid; place-items:center; border:1px solid rgba(167,139,250,0.25); border-radius:18px; background: rgba(139,92,246,0.10); font-size:27px; box-shadow: 0 20px 50px rgba(0,0,0,0.25); }
.category-eyebrow { display:inline-block; margin-bottom:12px; color:var(--accent-light); font-size:11px; font-weight:750; letter-spacing:0.16em; }
.category-hero h1 { margin-bottom:16px; font-size: clamp(34px, 5vw, 58px); line-height:1.05; letter-spacing:-0.055em; color:var(--text); font-weight:800; }
.category-hero p { max-width:620px; margin:0 auto; color:var(--text-secondary); font-size:16px; line-height:1.7; }
.category-stats { margin-top:30px; display:inline-flex; align-items:center; gap:22px; padding:10px 18px; border:1px solid var(--border); border-radius:12px; background: rgba(255,255,255,0.025); }
.category-stat { display:flex; align-items:baseline; gap:6px; }
.category-stat strong { font-size:16px; color:var(--text); }
.category-stat span { color:var(--text-muted); font-size:12px; }
.category-divider { width:1px; height:22px; background:var(--border); }

/* CONTENT */
.category-content { padding:70px 0 100px; }
.category-container { width:min(100% - 48px, var(--container)); margin:0 auto; }
.content-header { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:26px; flex-wrap:wrap; }
.section-label { display:block; margin-bottom:8px; color:var(--accent-light); font-size:10px; font-weight:750; letter-spacing:0.15em; }
.content-header h2 { margin-bottom:8px; font-size: clamp(25px, 3vw, 34px); letter-spacing:-0.04em; color:var(--text); }
.content-header p { color:var(--text-muted); font-size:14px; }
.content-controls { display:flex; align-items:center; gap:10px; }
.search-box { width:260px; height:44px; display:flex; align-items:center; gap:10px; padding:0 13px; border:1px solid var(--border); border-radius:11px; background:var(--surface); transition:border-color .2s; }
.search-box:focus-within { border-color: rgba(139,92,246,0.55); }
.search-box > span { color:var(--text-muted); font-size:20px; }
.search-box input { width:100%; border:0; outline:0; background:transparent; color:var(--text); font-size:13px; }
.search-box input::placeholder { color:var(--text-muted); }
.sort-select { height:44px; padding:0 35px 0 13px; border:1px solid var(--border); border-radius:11px; outline:0; background:var(--surface); color:var(--text-secondary); font-size:13px; cursor:pointer; }

/* GRID */
.category-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:20px; }

/* CARD — idêntico ao principal mas otimizado */
.prompt-card { overflow:hidden; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); transition: transform .25s, border-color .25s, box-shadow .25s; }
.prompt-card:hover { transform: translateY(-4px); border-color: rgba(139,92,246,0.30); box-shadow: 0 20px 50px rgba(0,0,0,0.28); }
.prompt-image-link { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#111116; }
.prompt-image { width:100%; height:100%; display:block; object-fit:cover; transition: transform .45s; }
.prompt-card:hover .prompt-image { transform: scale(1.045); }
.prompt-image-overlay { position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,0.45), transparent 45%); pointer-events:none; }
.favorite-button { position:absolute; top:12px; right:12px; width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,0.13); border-radius:10px; background: rgba(0,0,0,0.50); color:#fff; backdrop-filter: blur(10px); font-size:16px; transition: all .2s; }
.favorite-button:hover { background: rgba(0,0,0,0.75); }
.favorite-button.active { color:#f472b6; border-color: rgba(244,114,182,0.35); }
.prompt-card-body { padding:17px; }
.prompt-category { display:inline-block; margin-bottom:8px; color:var(--accent-light); font-size:10px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; }
.prompt-card-title { display:block; margin-bottom:8px; font-size:17px; font-weight:700; line-height:1.25; letter-spacing:-0.025em; color:var(--text); transition:color .2s; }
.prompt-card-title:hover { color:var(--accent-light); }
.prompt-card-description { display:-webkit-box; margin-bottom:16px; overflow:hidden; color:var(--text-muted); font-size:12px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.prompt-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:13px; border-top:1px solid var(--border); }
.prompt-stats { display:flex; align-items:center; gap:12px; color:var(--text-muted); font-size:11px; }
.prompt-stat { display:inline-flex; align-items:center; gap:4px; }
.copy-button { height:34px; padding:0 11px; border:1px solid var(--border); border-radius:8px; background: rgba(255,255,255,0.03); color:var(--text-secondary); font-size:11px; font-weight:650; transition: all .2s; }
.copy-button:hover { color:#fff; border-color: rgba(139,92,246,0.40); background:var(--accent-soft); }

/* EMPTY */
.empty-state { padding:90px 20px; text-align:center; border:1px dashed var(--border); border-radius:var(--radius-large); background: rgba(255,255,255,0.015); }
.empty-icon { width:56px; height:56px; margin:0 auto 18px; display:grid; place-items:center; border-radius:16px; background:var(--accent-soft); color:var(--accent-light); font-size:22px; }
.empty-state h3 { margin-bottom:8px; font-size:20px; color:var(--text); }
.empty-state p { max-width:450px; margin:0 auto 22px; color:var(--text-muted); font-size:13px; line-height:1.6; }
.empty-state button { height:40px; padding:0 16px; border:0; border-radius:9px; background:var(--accent); color:#fff; font-size:12px; font-weight:650; }

/* TOAST */
.toast { position:fixed; left:50%; bottom:30px; z-index:999; transform: translate(-50%,20px); opacity:0; pointer-events:none; padding:12px 18px; border:1px solid var(--border); border-radius:10px; background:#16161d; color:#fff; box-shadow: 0 15px 45px rgba(0,0,0,0.35); font-size:12px; transition: all .25s; }
.toast.show { opacity:1; transform: translate(-50%,0); }

/* FOOTER */
.site-footer { border-top:1px solid var(--border); background:#050507; }
.footer-inner { width:min(100% - 48px, var(--container)); margin:0 auto; padding:55px 0; display:flex; justify-content:space-between; gap:60px; flex-wrap:wrap; }
.footer-brand { max-width:300px; }
.footer-brand p { margin-top:15px; color:var(--text-muted); font-size:12px; line-height:1.7; }
.footer-links { display:flex; gap:80px; }
.footer-links > div { display:flex; flex-direction:column; gap:10px; }
.footer-links strong { margin-bottom:5px; font-size:12px; color:var(--text); }
.footer-links a { color:var(--text-muted); font-size:12px; transition:color .2s; }
.footer-links a:hover { color:var(--text); }
.footer-bottom { width:min(100% - 48px, var(--container)); margin:0 auto; padding:18px 0; display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--border); color:var(--text-muted); font-size:11px; }

/* RESPONSIVE */
@media (max-width:1100px) { .category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width:850px) { .main-navigation { display:none; } .content-header { align-items:flex-start; flex-direction:column; } .content-controls { width:100%; } .search-box { flex:1; width:auto; } .category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .footer-inner { flex-direction:column; } }
@media (max-width:600px) {
  .header-inner, .category-container, .footer-inner, .footer-bottom { width:min(100% - 28px, var(--container)); }
  .header-inner { min-height:68px; }
  .brand-name { font-size:18px; }
  .favorites-button { padding:0 10px; }
  .favorites-button > span:not(.favorites-icon):not(.favorites-count) { display:none; }
  .admin-button { display:none; }
  .category-hero { min-height:350px; }
  .category-hero-content { width:min(100% - 28px, 760px); padding:55px 0; }
  .category-hero p { font-size:14px; }
  .category-content { padding:50px 0 70px; }
  .content-controls { flex-direction:column; align-items:stretch; }
  .search-box { width:100%; }
  .sort-select { width:100%; }
  .category-grid { grid-template-columns:1fr; }
  .footer-links { gap:45px; }
  .footer-bottom { flex-direction:column; }
}

/* Navegação compartilhada das páginas de categoria */
.site-header > nav {
  display: flex;
  align-items: center;
  gap: 20px;
}

.site-header > nav [data-user-nav] {
  display: inline-flex;
  align-items: center;
  gap: 20px;
}
