/* All Nude Models - Custom CSS Grid Layout */
/* Zero framework, hand-written */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#0a0a0a;
  --surface:#141414;
  --surface2:#1e1e1e;
  --text:#e8e8e8;
  --text2:#999;
  --accent:#e84393;
  --accent2:#fd79a8;
  --gold:#f9ca24;
  --radius:6px;
  --gap:16px;
}

html{font-size:16px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;min-height:100vh}

a{color:var(--accent2);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent)}

img{display:block;max-width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}

/* --- Header --- */
.site-hdr{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:var(--gap);
  padding:12px 24px;
  background:var(--surface);
  border-bottom:1px solid var(--surface2);
  position:sticky;
  top:0;
  z-index:100;
}
.logo{font-size:1.4rem;font-weight:700;color:var(--text);letter-spacing:-0.5px}
.logo:hover{color:var(--accent)}
.site-hdr nav{display:flex;gap:24px;justify-content:flex-end}
.site-hdr nav a{color:var(--text2);font-size:.9rem;font-weight:500}
.site-hdr nav a:hover{color:var(--text)}

/* --- Main --- */
main{max-width:1200px;margin:0 auto;padding:24px var(--gap)}

/* --- Footer --- */
.site-ftr{
  text-align:center;
  padding:40px var(--gap);
  color:var(--text2);
  font-size:.85rem;
  border-top:1px solid var(--surface2);
  margin-top:60px;
}
.site-ftr a{color:var(--text2)}
.site-ftr a:hover{color:var(--text)}

/* --- CTA Button --- */
.cta-btn{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  padding:14px 32px;
  border-radius:var(--radius);
  font-weight:700;
  font-size:1.05rem;
  transition:background .2s,transform .1s;
}
.cta-btn:hover{background:var(--accent2);color:#fff;transform:translateY(-1px)}

/* --- Model Grid (CSS Grid) --- */
.model-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:var(--gap);
}
.model-grid.compact{
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:12px;
}

.model-card{
  display:grid;
  gap:6px;
  background:var(--surface);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .2s,box-shadow .2s;
  padding-bottom:10px;
}
.model-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(232,67,147,.15)}
.model-card img{width:100%;aspect-ratio:3/4;border-radius:var(--radius) var(--radius) 0 0}
.model-card .model-name{padding:0 10px;font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.model-card .price-badge,.model-card .price-sm{padding:0 10px;font-size:.8rem;color:var(--gold);font-weight:500}

/* --- Price Badge (profile) --- */
.price-badge{
  display:inline-block;
  background:var(--surface2);
  color:var(--gold);
  padding:4px 14px;
  border-radius:20px;
  font-weight:600;
  font-size:.95rem;
}

/* --- Category Pills --- */
.cat-pill{
  display:inline-block;
  background:var(--surface2);
  color:var(--text2);
  padding:4px 14px;
  border-radius:20px;
  font-size:.85rem;
  transition:color .2s;
}
.cat-pill:hover{color:var(--accent2)}

/* --- Category Grid --- */
.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:10px;
}
.cat-grid.full{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:12px;
}
.cat-link{
  display:grid;
  gap:4px;
  background:var(--surface);
  padding:14px 16px;
  border-radius:var(--radius);
  font-weight:500;
  color:var(--text);
  transition:background .2s;
}
.cat-link:hover{background:var(--surface2);color:var(--accent2)}
.cat-count{font-size:.8rem;color:var(--text2)}

.gallery-cat{text-align:center;padding:0;overflow:hidden}
.gallery-cat img{width:100%;aspect-ratio:1;border-radius:var(--radius) var(--radius) 0 0}
.gallery-cat span{padding:4px 10px;display:block}

/* --- Homepage --- */
.hero{
  text-align:center;
  padding:60px 20px;
}
.hero h1{font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:12px}
.hero p{color:var(--text2);font-size:1.1rem;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}

.cats-nav{margin-top:48px}
.cats-nav h2,.featured h2,.about-sec h2,.gallery-featured h2,.gallery-cats h2{font-size:1.3rem;margin-bottom:16px;font-weight:700}

.featured{margin-top:48px}
.view-all{display:block;text-align:center;margin-top:20px;font-weight:600}

.about-sec{margin-top:48px;max-width:720px}
.about-sec p{color:var(--text2);margin-bottom:12px}

/* --- Model Profile --- */
.model-profile{max-width:800px;margin:0 auto}
.model-hdr{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  gap:12px 20px;
  align-items:center;
  margin-bottom:32px;
}
.model-hdr img{grid-row:1/3;width:200px;aspect-ratio:3/4;border-radius:var(--radius)}
.model-hdr h1{font-size:1.8rem;font-weight:800;align-self:end}
.model-hdr .price-badge{justify-self:start}
.model-hdr .cat-pill{justify-self:start}

.profile-sec{margin-bottom:28px}
.profile-sec h2{font-size:1.15rem;font-weight:700;margin-bottom:8px;color:var(--accent2)}
.profile-sec p{color:var(--text2);line-height:1.7}

.cta-sec{text-align:center;padding:32px 0;border-top:1px solid var(--surface2);margin-top:20px}
.cta-sec h2{margin-bottom:12px}
.cta-sec p{margin-bottom:20px}

.related-sec{margin-top:40px;padding-top:24px;border-top:1px solid var(--surface2)}
.related-sec h2{font-size:1.2rem;margin-bottom:16px}

/* --- Directory Page --- */
.dir-sub{color:var(--text2);margin-bottom:24px}

/* --- Pagination --- */
.pager{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin-top:32px;
  flex-wrap:wrap;
}
.pg-num,.pg-prev,.pg-next{
  display:inline-block;
  padding:8px 14px;
  background:var(--surface);
  border-radius:var(--radius);
  font-size:.9rem;
  color:var(--text2);
  transition:background .2s;
}
.pg-num:hover,.pg-prev:hover,.pg-next:hover{background:var(--surface2);color:var(--text)}
.pg-cur{background:var(--accent);color:#fff}
.pg-cur:hover{background:var(--accent)}
.pg-dots{color:var(--text2);padding:0 4px}

/* --- Gallery Page --- */
.gallery-page{max-width:1000px;margin:0 auto}
.gallery-page h1{font-size:1.8rem;margin-bottom:8px}
.gallery-cats{margin-top:32px}
.gallery-featured{margin-top:40px}

/* --- Back Nav --- */
.back-nav{margin-top:24px;text-align:center}

/* --- Responsive --- */
@media(max-width:768px){
  .site-hdr{grid-template-columns:1fr;text-align:center}
  .site-hdr nav{justify-content:center;gap:16px}
  .hero h1{font-size:1.6rem}
  .model-hdr{grid-template-columns:1fr;text-align:center;justify-items:center}
  .model-hdr img{width:160px}
  .model-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
}
@media(max-width:480px){
  .model-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  main{padding:16px 10px}
}
