/*
Theme Name: StreetDrop
Theme URI: https://streetdrop.co
Author: StreetDrop
Description: Minimalist drop-focused publication theme. Dark, clean, no noise.
Version: 2.0
*/

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

/* === VARIABLES === */
:root{
  --bg:#0a0a0a;
  --bg-card:#111;
  --bg-elevated:#1a1a1a;
  --text:#e0e0e0;
  --text-muted:#777;
  --accent:#ff3b30;
  --accent-dim:rgba(255,59,48,0.15);
  --border:rgba(255,255,255,0.06);
  --radius:4px;
  --max-width:1200px;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-mono:"SF Mono","Fira Code",monospace;
}

/* === BASE === */
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--text);text-decoration:none;transition:color 0.15s}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-weight:700;line-height:1.2;letter-spacing:-0.02em}

/* === HEADER === */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(10,10,10,0.85);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 24px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.site-branding{display:flex;align-items:center;gap:8px}
.logo-text{
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-0.03em;
  text-transform:uppercase;
  color:#fff;
}
.logo-dot{
  width:6px;height:6px;
  background:var(--accent);
  border-radius:50%;
  display:inline-block;
}
.main-nav{display:flex;gap:32px}
.main-nav a{
  font-size:0.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--text-muted);
}
.main-nav a:hover{color:#fff}

/* === MOBILE MENU === */
.mobile-menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;flex-direction:column;gap:5px}
.mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--text);transition:all 0.2s}
@media(max-width:768px){
  .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);flex-direction:column;padding:24px;gap:16px;border-bottom:1px solid var(--border)}
  .main-nav.active{display:flex}
  .mobile-menu-toggle{display:flex}
}

/* === FEATURED POST === */
.featured-post{
  max-width:var(--max-width);
  margin:0 auto;
  padding:60px 24px 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.featured-image{overflow:hidden;border-radius:var(--radius)}
.featured-img{width:100%;height:auto;transition:transform 0.4s}
.featured-image:hover .featured-img{transform:scale(1.03)}
.featured-tag{
  display:inline-block;
  font-size:0.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--accent);
  margin-bottom:16px;
}
.featured-post h2{font-size:2.5rem;margin-bottom:16px}
.featured-post h2 a{color:#fff}
.featured-post h2 a:hover{color:var(--accent)}
.featured-excerpt{color:var(--text-muted);font-size:1.1rem;margin-bottom:20px;line-height:1.6}
.featured-meta{font-size:0.85rem;color:var(--text-muted)}

@media(max-width:768px){
  .featured-post{grid-template-columns:1fr;gap:24px;padding:40px 24px}
  .featured-post h2{font-size:1.8rem}
}

/* === POST GRID === */
.post-grid{max-width:var(--max-width);margin:0 auto;padding:0 24px 60px}
.grid-header{border-top:1px solid var(--border);padding:32px 0 24px}
.grid-header h3{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-item{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:border-color 0.2s}
.grid-item:hover{border-color:rgba(255,255,255,0.15)}
.grid-image{overflow:hidden;display:block;aspect-ratio:16/10}
.post-thumb{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.grid-item:hover .post-thumb{transform:scale(1.05)}
.grid-content{padding:20px}
.grid-cats{margin-bottom:8px}
.grid-cats span{
  font-size:0.65rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--accent);
}
.grid-item h4{font-size:1.1rem;margin-bottom:8px}
.grid-item h4 a{color:#fff}
.grid-item h4 a:hover{color:var(--accent)}
.grid-excerpt{font-size:0.85rem;color:var(--text-muted);margin-bottom:12px;line-height:1.5}
.grid-item time{font-size:0.75rem;color:var(--text-muted)}

@media(max-width:768px){
  .grid{grid-template-columns:1fr;gap:24px}
}

/* === SINGLE POST === */
.single-post{max-width:720px;margin:0 auto;padding:60px 24px 80px}
.post-header{margin-bottom:32px}
.post-cats{display:flex;gap:8px;margin-bottom:16px}
.post-cats a{
  font-size:0.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--accent);
}
.single-post h1{font-size:2.5rem;margin-bottom:16px;color:#fff}
.post-meta{font-size:0.9rem;color:var(--text-muted)}
.post-featured-image{margin-bottom:40px;border-radius:var(--radius);overflow:hidden}
.single-featured-img{width:100%;height:auto}
.post-content{font-size:1.1rem;line-height:1.85}
.post-content p{margin-bottom:1.5em}
.post-content h3{font-size:1.4rem;margin:2em 0 0.75em;color:#fff}
.post-content strong{color:#fff;font-weight:600}
.post-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}
.post-tags{display:flex;gap:12px;flex-wrap:wrap;font-size:0.8rem}
.post-tags span{color:var(--text-muted)}
.post-tags a{color:var(--text-muted)}
.post-tags a:hover{color:var(--accent)}

@media(max-width:768px){
  .single-post h1{font-size:1.8rem}
  .post-content{font-size:1rem}
}

/* === RELATED POSTS === */
.related-posts{margin-top:80px;padding-top:48px;border-top:1px solid var(--border)}
.related-posts h3{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);margin-bottom:24px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.related-item{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.related-thumb{width:100%;aspect-ratio:16/10;object-fit:cover}
.related-item h4{font-size:0.95rem;padding:16px 16px 4px}
.related-item h4 a{color:#fff}
.related-item h4 a:hover{color:var(--accent)}
.related-item time{font-size:0.75rem;color:var(--text-muted);padding:0 16px 16px;display:block}

@media(max-width:768px){
  .related-grid{grid-template-columns:1fr}
}

/* === PAGE === */
.page-content{max-width:720px;margin:0 auto;padding:60px 24px 80px}
.page-content h1{font-size:2.5rem;margin-bottom:32px;color:#fff}
.page-content h2{font-size:1.5rem;margin:2em 0 0.75em;color:#fff}
.page-content p{margin-bottom:1.5em;font-size:1.1rem;line-height:1.85}
.page-content a{color:var(--accent);text-decoration:underline}

/* === FOOTER === */
.site-footer{
  background:var(--bg-card);
  border-top:1px solid var(--border);
  padding:60px 24px 32px;
}
.footer-inner{
  max-width:var(--max-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:48px;
}
.footer-col h4{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--text-muted);
  margin-bottom:16px;
}
.footer-col p{font-size:0.9rem;color:var(--text-muted);line-height:1.6}
.footer-col a{display:block;font-size:0.9rem;color:var(--text-muted);margin-bottom:8px}
.footer-col a:hover{color:#fff}
.footer-bottom{
  max-width:var(--max-width);
  margin:40px auto 0;
  padding-top:24px;
  border-top:1px solid var(--border);
  font-size:0.8rem;
  color:var(--text-muted);
}

@media(max-width:768px){
  .footer-inner{grid-template-columns:1fr;gap:32px}
}

/* === SEARCH === */
.search-form input{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  color:var(--text);
  padding:8px 16px;
  border-radius:var(--radius);
  font-size:0.85rem;
  outline:none;
  width:180px;
}
.search-form input:focus{border-color:var(--accent)}

/* === 404 === */
.error-404{
  max-width:600px;
  margin:0 auto;
  padding:120px 24px;
  text-align:center;
}
.error-404 h1{font-size:6rem;color:var(--accent);margin-bottom:16px}
.error-404 p{font-size:1.2rem;color:var(--text-muted);margin-bottom:32px}
.error-404 .back-home{
  display:inline-block;
  padding:12px 32px;
  background:var(--accent);
  color:#fff;
  font-weight:600;
  border-radius:var(--radius);
  text-transform:uppercase;
  font-size:0.85rem;
  letter-spacing:0.05em;
}
.error-404 .back-home:hover{background:#e0352b;color:#fff}

/* === UTILITY === */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
