
body{margin:0;background:#170707;color:#f8eeee;font-family:Arial,Helvetica,sans-serif;text-align:center}
a{color:#ffd38a;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:22px}
.site-title{font-size:34px;margin:20px 0 6px}
.sub{color:#d7b9b9;margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.card{background:#2a0d0d;border:1px solid #6b1b1b;border-radius:14px;padding:12px}
.card img{width:100%;height:190px;object-fit:cover;border-radius:10px}
.card h2{font-size:17px;line-height:1.25}
.date{font-size:14px;color:#f0c36a;margin:4px 0 6px}
.card-meta{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#f0c36a;padding-top:10px}
.header-img{max-width:500px;max-height:500px;width:auto;height:auto;border-radius:14px;margin:10px auto 20px;display:block}
.gallery-text{max-width:950px;margin:15px auto 26px;padding:18px 24px;line-height:1.55;font-size:18px;background:#241010;border:1px solid #6b1b1b;border-radius:12px;text-align:center}
.photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.photo-grid img{width:100%;height:210px;object-fit:cover;border-radius:14px;display:block}
.back{display:inline-block;margin:15px 0 25px}
@media(max-width:900px){.grid,.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gallery-text{
    padding-top:8px !important;
}

.gallery-text > *:first-child{
    margin-top:0 !important;
    padding-top:0 !important;
}

.gallery-text p:first-child{
    margin-top:0 !important;
}

.gallery-text h1:first-child,
.gallery-text h2:first-child,
.gallery-text h3:first-child{
    margin-top:0 !important;
}

.controls{
  max-width:950px;
  margin:0 auto 24px;
  display:flex;
  gap:12px;
  justify-content:center;
}

.controls input,
.controls select{
  background:#1d1010;
  color:#fff;
  border:1px solid #6b1b1b;
  border-radius:10px;
  padding:11px 13px;
  font-size:16px;
}

.controls input{
  width:65%;
  max-width:520px;
}

.controls select{
  min-width:170px;
}

@media(max-width:700px){
  .controls{flex-direction:column}
  .controls input{width:auto;max-width:none}
}

/* Gallery page: keep photo thumbs same width as article box */
.gallery-text,
.photo-grid{
  max-width:950px;
  margin-left:auto;
  margin-right:auto;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px;
}

.photo-grid img{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:14px;
  display:block;
  cursor:pointer;
}

/* Main index: stop cards from stretching too wide */
.grid{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:repeat(auto-fit, minmax(190px, 220px)) !important;
  justify-content:center;
}

.card{
  width:100%;
  max-width:220px;
}

/* Main index: force date/photo count to bottom */
.card{
  height:300px !important;
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
}

.card a{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}

.card h2{
  flex:1 1 auto !important;
}

.card-meta{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
}

.topnav{
  max-width:950px;
  margin:0 auto 18px;
  text-align:left;
}

.topnav a{
  color:#f0c36a;
  text-decoration:none;
  font-weight:bold;
}

.related-title{
  max-width:950px;
  margin:34px auto 14px;
  text-align:center;
  color:#f0c36a;
}

.related-grid{
  max-width:950px;
  margin:0 auto 35px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.related-card{
  background:#211;
  border:1px solid #622;
  border-radius:12px;
  padding:8px;
  text-align:center;
  color:#fff;
  text-decoration:none;
}

.related-card img{
  width:100%;
  height:105px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin-bottom:8px;
}

.related-card span{
  font-size:13px;
  line-height:1.2;
}

@media(max-width:900px){
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:520px){
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.related-title{
  max-width:950px;
  margin:34px auto 14px;
  text-align:center;
  color:#f0c36a;
}

.related-grid{
  max-width:950px;
  margin:0 auto 35px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.related-card{
  background:#211;
  border:1px solid #622;
  border-radius:12px;
  padding:8px;
  text-align:center;
  color:#fff;
  text-decoration:none;
}

.related-card img{
  width:100%;
  height:105px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin-bottom:8px;
}

.related-card span{
  font-size:13px;
  line-height:1.2;
}

@media(max-width:900px){
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:520px){
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.related-title{
  max-width:950px;
  margin:34px auto 14px;
  text-align:center;
  color:#f0c36a;
}

.related-grid{
  max-width:950px;
  margin:0 auto 35px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.related-card{
  background:#211;
  border:1px solid #622;
  border-radius:12px;
  padding:8px;
  text-align:center;
  color:#fff;
  text-decoration:none;
}

.related-card img{
  width:100%;
  height:105px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin-bottom:8px;
}

.related-card span{
  font-size:13px;
  line-height:1.2;
}

@media(max-width:900px){
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:520px){
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Main index card spacing + less aggressive image crop */
.grid{
  gap:24px !important;
}

.card{
  height:330px !important;
  box-sizing:border-box;
  overflow:hidden;
}

.card img{
  height:175px !important;
  object-fit:contain !important;
  background:#120606;
  padding:4px;
  box-sizing:border-box;
}

.card h2{
  font-size:16px !important;
  line-height:1.18 !important;
  margin:12px 0 8px !important;
}

/* Main index cards: mild zoom, keep heads/top favored */
.card img{
  height:180px !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  background:#120606;
  padding:0 !important;
}

/* FINAL MODERN FIXES */
.controls{
  max-width:950px;
  margin:0 auto 24px;
  display:flex;
  gap:12px;
  justify-content:center;
}
.controls input,
.controls select{
  background:#1d1010;
  color:#fff;
  border:1px solid #6b1b1b;
  border-radius:10px;
  padding:11px 13px;
  font-size:16px;
}
.controls input{width:65%;max-width:520px}
.controls select{min-width:170px}

.grid{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:repeat(auto-fit, minmax(190px, 220px)) !important;
  justify-content:center;
  gap:24px !important;
}

.card{
  width:100%;
  max-width:220px;
  height:330px !important;
  box-sizing:border-box;
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
}

.card a{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}

.card img{
  height:180px !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  background:#120606;
  padding:0 !important;
}

.card h2{
  flex:1 1 auto !important;
  font-size:16px !important;
  line-height:1.18 !important;
  margin:12px 0 8px !important;
}

.card-meta{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  color:#f0c36a;
}

.gallery-text,
.photo-grid,
.related-grid{
  max-width:950px;
  margin-left:auto;
  margin-right:auto;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px;
}

.photo-grid img{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:14px;
  display:block;
  cursor:pointer;
}

.topnav{
  max-width:950px;
  margin:0 auto 18px;
  text-align:left;
}

.topnav a{
  color:#f0c36a;
  text-decoration:none;
  font-weight:bold;
}

.related-title{
  max-width:950px;
  margin:34px auto 14px;
  text-align:center;
  color:#f0c36a;
}

.related-grid{
  margin-bottom:35px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.related-card{
  background:#211;
  border:1px solid #622;
  border-radius:12px;
  padding:8px;
  text-align:center;
  color:#fff;
  text-decoration:none;
}

.related-card img{
  width:100%;
  height:105px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:10px;
  display:block;
  margin-bottom:8px;
}

.related-card span{
  font-size:13px;
  line-height:1.2;
}

@media(max-width:900px){
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .controls{flex-direction:column}
  .controls input{width:auto;max-width:none}
}
@media(max-width:520px){
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Search filter hide/show */
.card.is-hidden{
  display:none !important;
}

/* Homepage intro */
.home-intro{
  max-width:900px;
  margin:0 auto 24px auto;
  padding:18px 22px;
  text-align:center;
  line-height:1.55;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
}
.home-intro h2{
  margin:0 0 10px 0;
  font-size:26px;
}
.home-intro p{
  margin:0 0 12px 0;
}
.home-intro p:last-child{
  margin-bottom:0;
}

/* Member/private photo placeholders */
.member-placeholder{
  width:100%;
  height:210px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:rgba(0,0,0,.35);
  border:1px dashed rgba(255,255,255,.28);
  color:#f0c36a;
  text-align:center;
}
.member-placeholder span{
  font-size:13px;
  color:#fff;
  opacity:.82;
}
.member-tools{
  margin:18px auto 28px;
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}
.member-tools button,
.member-tools a{
  background:#7a1515;
  color:#fff;
  border:1px solid #b73a3a;
  border-radius:999px;
  padding:9px 15px;
  text-decoration:none;
  cursor:pointer;
}
.member-tools span{
  color:#f0c36a;
}

.gallery-stats{
  text-align:center;
  margin:-8px 0 18px 0;
  color:#f0c36a;
  font-size:15px;
}

.member-login-form{
  max-width:360px;
  margin:30px auto;
  padding:22px;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.member-login-form input{
  width:100%;
  box-sizing:border-box;
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.25);
}
.member-login-form button{
  padding:11px 15px;
  border-radius:999px;
  border:1px solid #b73a3a;
  background:#7a1515;
  color:#fff;
  cursor:pointer;
}
.login-error{
  color:#fff;
  background:#7a1515;
  padding:10px;
  border-radius:8px;
  text-align:center;
}

/* Sticky top member bar */
.topbar{
  position:sticky;
  top:0;
  z-index:9000;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:10px 14px;
  margin:-10px -10px 18px;
  background:rgba(20,0,0,.94);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.topbar a{
  color:#fff;
  background:#7a1515;
  border:1px solid #b73a3a;
  border-radius:999px;
  padding:8px 14px;
  text-decoration:none;
}
.topbar span{
  color:#f0c36a;
}

/* Lightbox full-size link */
#lbFull{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:10000;
  color:#fff;
  background:#7a1515;
  border:1px solid #b73a3a;
  border-radius:999px;
  padding:9px 16px;
  text-decoration:none;
}

/* Member counts and blurred teaser thumbs */
.gallery-stats{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:8px auto 18px;
  color:#fff;
}
.gallery-stats span{
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:7px 13px;
}
.gallery-stats .member-count,
.card-member-count{
  color:#f0c36a;
}
.card-member-count{
  display:block;
  width:100%;
  font-size:12px;
  margin-top:4px;
}
.member-teaser{
  position:relative;
  overflow:hidden;
  text-decoration:none;
}
.member-teaser img{
  filter:blur(10px);
  transform:scale(1.08);
  opacity:.42;
}
.member-teaser div{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:rgba(0,0,0,.35);
}

/* Join page */
.join-grid{
  max-width:1050px;
  margin:25px auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.join-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  text-align:center;
  padding:24px 18px;
  border-radius:16px;
  background:rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  text-decoration:none;
}
.join-card strong{
  font-size:34px;
  color:#f0c36a;
}
.join-card h2{
  margin:0;
}
.join-card p{
  margin:0;
  color:#ff6666;
  font-weight:bold;
}
.join-card em{
  color:#ffff99;
  font-style:normal;
}
.join-card.featured,
.join-card.best{
  border-color:#b73a3a;
}
@media(max-width:800px){
  .join-grid{grid-template-columns:1fr}
}

/* Cleaner home card counts */
.card-meta{
  display:grid !important;
  grid-template-columns:1fr auto auto;
  align-items:start;
  gap:8px;
}
.card-counts{
  display:inline-block;
  text-align:center;
  min-width:58px;
  line-height:1.15;
  color:#f0c36a;
}
.card-member-count{
  display:none !important;
}

/* Clean modern card meta */
.card-meta-clean{
  display:grid !important;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  width:100%;
  margin-top:auto;
  padding-top:12px;
  font-size:14px;
}
.card-date{
  text-align:left;
  white-space:nowrap;
}
.card-count{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:58px;
  line-height:1.05;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#f0c36a;
}
.card-count b{
  display:block;
  font-size:18px;
  line-height:1.1;
  color:#ffd98a;
}
.card-member-count,
.card-counts{
  display:none !important;
}

/* Reset home cards back to clean total-only meta */
.card-meta{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  font-size:14px !important;
}
.card-count,
.card-counts,
.card-member-count{
  display:none !important;
}
.member-teaser img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  filter:blur(10px);
  transform:scale(1.08);
  opacity:.55;
}

/* Footer / legal links */
.site-footer{
  margin:44px auto 0;
  padding:22px 12px;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:12px;
  line-height:1.7;
}
.site-footer a{
  color:#f0c36a;
  margin:0 7px;
  white-space:nowrap;
}
.site-footer .copyright{
  margin:8px 0 0;
  color:#c9a966;
}

/* Join small print */
.join-fine-print{
  max-width:900px;
  margin:18px auto 30px;
  padding:0 14px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  color:#d8c7a0;
}

/* Better teaser fallback */
.member-teaser{
  min-height:210px;
}
.member-teaser img{
  width:100% !important;
  height:210px !important;
  object-fit:cover !important;
  display:block !important;
}

/* Slightly clearer member teaser blur */
.member-teaser img{
  filter:blur(6px) !important;
  opacity:.68 !important;
}
.member-teaser div{
  background:rgba(0,0,0,.28) !important;
}

/* Homepage stats */
.home-stats{
  max-width:950px;
  margin:0 auto 24px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.home-stats span{
  text-align:center;
  padding:14px 10px;
  border-radius:14px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.14);
  color:#f0c36a;
}
.home-stats b{
  display:block;
  font-size:24px;
  color:#ffd98a;
}

/* Member badge on cards */
.card{
  position:relative;
}
.member-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(122,21,21,.94);
  border:1px solid #b73a3a;
  color:#ffd98a;
  font-size:12px;
  font-weight:bold;
  box-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* Join CTA */
.unlock-box{
  max-width:760px;
  margin:20px auto;
  padding:16px;
  text-align:center;
  border-radius:14px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.15);
}
.unlock-box strong{
  display:block;
  margin-bottom:12px;
  color:#ffd98a;
}
.unlock-box a{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#7a1515;
  border:1px solid #b73a3a;
  color:#fff;
  text-decoration:none;
}

@media(max-width:700px){
  .home-stats{grid-template-columns:1fr}
}

/* Main logo */
.main-logo{
  text-align:center;
  margin:18px auto 20px;
}
.main-logo img{
  max-width:452px;
  width:90%;
  height:auto;
}

/* Site index */
.siteindex-list{
  max-width:1000px;
  margin:25px auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.siteindex-list a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-radius:10px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
}
.siteindex-list small{
  color:#f0c36a;
  white-space:nowrap;
}
@media(max-width:850px){
  .siteindex-list{grid-template-columns:1fr}
}

/* Modern black / red / white / blue theme */
:root{
  --sc-bg:#050505;
  --sc-panel:#111;
  --sc-panel2:#171717;
  --sc-border:#2a2a2a;
  --sc-white:#f5f5f5;
  --sc-muted:#bfc7d5;
  --sc-blue:#2e9bff;
  --sc-red:#d62839;
}

html,
body{
  background:var(--sc-bg) !important;
  color:var(--sc-white) !important;
}

a{
  color:var(--sc-blue);
}
a:hover{
  color:var(--sc-red);
}

.main-logo{
  text-align:center !important;
  margin:20px auto 30px !important;
}
.main-logo img{
  max-width:650px !important;
  width:94% !important;
  height:auto !important;
  display:inline-block !important;
}

h1,
h2,
.card h2,
.related-title{
  color:var(--sc-white) !important;
  text-shadow:none !important;
}

.topbar{
  background:rgba(5,5,5,.96) !important;
  border-bottom:1px solid var(--sc-border) !important;
}
.topbar a,
.member-tools a,
.member-tools button,
.unlock-box a,
.join-card,
.controls input,
.controls select{
  background:var(--sc-panel) !important;
  border:1px solid var(--sc-blue) !important;
  color:var(--sc-white) !important;
}
.topbar a:hover,
.member-tools a:hover,
.member-tools button:hover,
.unlock-box a:hover{
  border-color:var(--sc-red) !important;
  color:var(--sc-white) !important;
}

.card,
.related-card,
.home-intro,
.home-stats span,
.gallery-text,
.unlock-box,
.member-login-form,
.siteindex-list a{
  background:var(--sc-panel) !important;
  border-color:var(--sc-border) !important;
  color:var(--sc-white) !important;
}

.card:hover,
.related-card:hover,
.siteindex-list a:hover{
  border-color:var(--sc-blue) !important;
}

.card-meta,
.card-meta span,
.gallery-stats,
.gallery-stats span,
.member-tools span,
.siteindex-list small,
.home-stats span,
.home-stats b{
  color:var(--sc-blue) !important;
}

.card h2,
.related-card span{
  color:var(--sc-white) !important;
}

.photo-grid img,
.card img,
.related-card img,
.header-img{
  border:1px solid var(--sc-border) !important;
}

.member-placeholder{
  background:var(--sc-panel2) !important;
  border-color:var(--sc-blue) !important;
  color:var(--sc-white) !important;
}
.member-placeholder strong{
  color:var(--sc-white) !important;
}
.member-placeholder span{
  color:var(--sc-blue) !important;
}

.member-teaser div{
  background:rgba(0,0,0,.32) !important;
}

.join-card strong,
.unlock-box strong,
.site-footer a{
  color:var(--sc-blue) !important;
}
.join-card p{
  color:var(--sc-red) !important;
}
.join-card em{
  color:var(--sc-white) !important;
}

.site-footer{
  background:#050505 !important;
  border-top:1px solid var(--sc-border) !important;
  color:var(--sc-muted) !important;
}
.site-footer .copyright{
  color:var(--sc-muted) !important;
}

#lbFull,
#lbClose,
#lbPrev,
#lbNext{
  background:var(--sc-panel) !important;
  border:1px solid var(--sc-blue) !important;
  color:var(--sc-white) !important;
}
