/*
Theme Name: BlogPress Lite
Theme URI: https://example.com/blogpress-lite
Author: ChatGPT
Author URI: https://chat.openai.com/
Description: A clean, modern blog theme inspired by the BlogPress layout (hero with CTA, featured posts, recent posts, sidebar with categories/newsletter).
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blogpress-lite
Tags: blog, two-column, custom-logo, custom-menu, featured-images
*/

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
button,input,select,textarea{font:inherit}
:root{
  --bg:#0f172a;
  --bg-2:#0b1328;
  --card:#ffffff;
  --muted:#6b7280;
  --text:#0b1328;
  --brand:#2563eb;
  --brand-2:#7c3aed;
  --surface:#f8fafc;
  --ring:rgba(37,99,235,.25);
  --radius:16px;
  --shadow:0 10px 30px rgba(2,8,23,.12);
  --gap:18px;
}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:0 24px}
.site-header{position:relative;background:linear-gradient(180deg,#0b1328,#0f172a);color:#eaf0ff}
.nav{display:flex;align-items:center;gap:18px;padding:18px 0;flex-wrap:wrap}
.nav .brand{display:flex;align-items:center;font-weight:700;font-size:clamp(16px,1.6vw,18px);gap:10px}
.brand-badge{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,#22d3ee,#6366f1)}
.nav ul{display:flex;gap:18px;margin-left:24px;opacity:.9;flex-wrap:wrap}
.nav .right{margin-left:auto;display:flex;gap:12px;align-items:center;}
.btn{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#dbe7ff;cursor:pointer}
.btn-primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));border:0;color:#fff;box-shadow:0 6px 20px rgba(37,99,235,.35)}
.search{position:relative;}
.search input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:10px 14px;color:#fff;outline:none;width:100%}

.hero{padding:62px 0 72px;text-align:center}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 12px}
.hero p{max-width:720px;margin:0 auto 22px;color:#c8d2ff;font-size:clamp(14px,2.3vw,18px)}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero .cta .btn{background:#1f2937;border-color:rgba(255,255,255,.12)}
.hero .cta .btn-primary{background:linear-gradient(90deg,var(--brand),var(--brand-2))}

/* Main area */
.main{background:var(--surface);padding:36px 0}
.section{margin:40px 0}
.section h2{font-size:clamp(20px,2.6vw,26px);margin:0 0 8px}
.section p.muted{color:var(--muted);margin:0 0 18px}
.grid{display:grid;gap:var(--gap)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-3{grid-template-columns:1fr}}

/* Cards */
.card{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column}
.card .thumb{border-radius:12px;background:linear-gradient(135deg,#60a5fa,#a78bfa)}
.card .meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin-top:12px;flex-wrap:wrap}
.card h3{margin:8px 0 6px;font-size:clamp(16px,2.2vw,18px)}
.card p.excerpt{color:#475569;font-size:clamp(13px,2vw,14px)}

/* Recent + Sidebar */
.row{display:grid;gap:24px;align-items:start}
@media (max-width:1024px){.row{grid-template-columns:1.5fr 1fr}}
@media (max-width:900px){.row{grid-template-columns:1fr}}

.sidebar .widget{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px;margin-bottom:16px}
.widget h3{margin:0 0 10px}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px}
.meta-inline{display:flex;gap:18px;align-items:center;color:#64748b;font-size:13px;flex-wrap:wrap}

/* Footer */
.site-footer{padding:32px 0;color:#94a3b8}
.site-footer .inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-nav a{color:#94a3b8}
.footer-nav a:hover{color:#1e293b}

/* Forms */
.input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px}
.subscribe{display:flex;gap:8px;flex-wrap:wrap}
.subscribe .btn-primary{border-radius:12px;padding:10px 16px}

/* Logo sizing */
.logo{font-weight:800}
.custom-logo-link{display:inline-flex;align-items:center;max-width:100px;width:auto}
.custom-logo-link img{height:auto;max-height:48px}
@media (max-width:640px){.custom-logo-link img{max-height:40px}}
@media (max-width:420px){.custom-logo-link img{max-height:36px}}

/* Mobile nav (no JS fallback using wrapping & collapse) */
@media (max-width:820px){
  .nav{gap:12px}
  .nav ul{width:100%;order:3;gap:12px;margin:8px 0 0;display:flex;flex-wrap:wrap}
  .nav .right{order:2;margin-left:0;width:100%;justify-content:flex-start}
  .search{min-width:0;flex:1}
}

/* Small screens polish */
@media (max-width:640px){
  .container{padding:0 16px}
  .hero{padding:42px 0 56px}
  .btn,.search input{padding:10px 12px}
  .card{padding:14px}
}

/* Very small devices */
@media (max-width:380px){
  .meta-inline{gap:10px}
  .footer-nav{gap:12px}
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}


/* Category Filter UI */
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom: 20px;} /* one row */
.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.select{
  display:inline-block;
  padding:10px 12px;
  border:1px solid #e5e7eb;border-radius:12px;background:#fff;
  width:auto;            /* stop full-width */
  min-width:220px;       /* sensible base */
  flex:0 0 auto;         /* don't grow */
}

.filter-btn,.filter-clear{flex:0 0 auto}
@media (min-width:720px){
  .filter-row{flex-wrap:nowrap}       /* keep in one line on desktop */
  .select{flex:0 0 260px}             /* fixed-ish width on desktop */
}
@media (max-width:640px){
  .chips{padding:6px}
  .select{min-width:0;flex:1 1 180px} /* allow wrapping on mobile */
}