:root{
  --bg:#101316;
  --text:#eaeef3;
  --muted:#aeb6bf;
  --accent:#c5a15b;        /* طلایی گرم */
  --card:#1b2127cc;
  --radius:22px;
  --shadow:0 40px 90px -40px rgba(0,0,0,.85);
}

*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;background:var(--bg);color:var(--text)}

/* HERO */
.page-hero{padding:64px 20px 12px;text-align:center}
.hero-inner{max-width:1200px;margin:0 auto}
.page-hero h1{text-transform:uppercase;letter-spacing:.35rem;margin:0 0 10px}
.subtitle{color:var(--muted);margin:0 auto 14px;max-width:820px}
.divider{width:min(520px,80%);height:2px;margin:10px auto;background:linear-gradient(90deg,transparent,var(--accent),transparent);border-radius:999px}

/* CONTAINER */
.container{max-width:1200px;margin:0 auto;padding:24px 16px 80px}

/* CATEGORY SELECTOR */
.category-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;padding:28px 0 64px;
}
.category-card{
  position:relative;overflow:hidden;border-radius:var(--radius);background:var(--card);
  box-shadow:var(--shadow);cursor:pointer;transition:transform .35s ease, box-shadow .35s ease
}
.category-card img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .6s ease}
.category-card .overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.82));
  padding:18px 16px;color:#fff
}
.category-card h2{margin:0;font-size:1.4rem;letter-spacing:.12rem;text-transform:uppercase}
.category-card p{margin:6px 0 2px;color:#d8dde4;font-size:.95rem}
.category-card:hover{transform:translateY(-6px);box-shadow:0 60px 120px -50px rgba(0,0,0,.9)}
.category-card:hover img{transform:scale(1.05)}

/* LIST GRID (internal pages) */
.grid{
  display:grid;gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.card{
  position:relative;overflow:hidden;border-radius:20px;background:var(--card);
  cursor:pointer;box-shadow:var(--shadow);
  transition:transform .3s ease,box-shadow .3s ease
}
.card:hover{transform:translateY(-6px);box-shadow:0 60px 120px -50px rgba(0,0,0,.9)}
.card__img{width:100%;height:220px;object-fit:cover;display:block;filter:contrast(1.02) saturate(.95) brightness(.95);transition:filter .35s ease, transform .6s cubic-bezier(.22,1,.36,1)}
.card:hover .card__img{filter:contrast(1.07) saturate(1) brightness(1);transform:scale(1.03)}
.card__title{position:absolute;left:14px;bottom:12px;font-weight:800;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.card__tag{position:absolute;top:10px;right:12px;background:var(--accent);color:#171717;padding:6px 10px;border-radius:12px;font-size:.8rem;font-weight:700}

/* MODAL */
.modal{position:fixed;inset:0;display:none}
.modal[aria-hidden="false"]{display:block}
.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.modal__dialog{
  position:relative;z-index:2;margin:6vh auto;width:min(92%,980px);
  background:rgba(28,33,39,.94);border-radius:22px;overflow:hidden;
  box-shadow:0 80px 160px -70px rgba(0,0,0,.95);animation:pop .22s ease
}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.modal__close{
  position:absolute;top:12px;right:14px;width:42px;height:42px;border:none;border-radius:50%;
  background:rgba(0,0,0,.4);color:#fff;font-size:24px;cursor:pointer
}
.modal__media img{width:100%;height:340px;object-fit:cover;display:block}
.modal__content{padding:18px 20px 26px}
.modal__content h2{margin:2px 0 6px}
.lead{color:var(--muted);margin:0 0 12px}
.meta{display:grid;gap:10px;margin:10px 0 12px;grid-template-columns:repeat(2,1fr)}
.meta div{background:rgba(255,255,255,.05);padding:10px 12px;border-radius:12px}
.more summary{color:var(--accent);font-weight:700;cursor:pointer}
.more ul{margin:10px 0 0 18px;color:var(--muted)}
@media (max-width:640px){
  .category-card img{height:220px}
  .modal__media img{height:220px}
  .meta{grid-template-columns:1fr}
}
