/* ============================================
   ScholarshipGuide.pk
   Premium Academic Light Theme
   Inspired by Google Scholar + GOV.UK
   Font: DM Sans (body) + DM Serif Display (headings)
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Serif+Display&display=swap');

/* ── TOKENS ──────────────────────────────── */
:root {
  --blue:        #1a56db;
  --blue-dk:     #1447b8;
  --blue-lt:     #eff6ff;
  --blue-mid:    #dbeafe;
  --green:       #047857;
  --green-bg:    #ecfdf5;
  --amber:       #d97706;
  --amber-bg:    #fffbeb;
  --red:         #dc2626;
  --red-bg:      #fef2f2;
  --ink:         #0f172a;
  --ink-2:       #1e293b;
  --ink-3:       #334155;
  --muted:       #64748b;
  --muted-lt:    #94a3b8;
  --border:      #e2e8f0;
  --border-dk:   #cbd5e1;
  --surface:     #ffffff;
  --bg:          #f8fafc;
  --bg-2:        #f1f5f9;
  --shadow-xs:   0 1px 2px rgba(15,23,42,.06);
  --shadow-sm:   0 1px 6px rgba(15,23,42,.08);
  --shadow:      0 4px 20px rgba(15,23,42,.10);
  --shadow-lg:   0 12px 40px rgba(15,23,42,.13);
  --r:           8px;
  --r-sm:        5px;
  --r-lg:        14px;
}

/* ── RESET ───────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'DM Sans',system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
  font-size:15.5px;
  -webkit-font-smoothing:antialiased;
}
a  { color:var(--blue); text-decoration:none; transition:color .15s; }
a:hover { color:var(--blue-dk); text-decoration:underline; }
img { display:block; max-width:100%; height:auto; }
ul,ol { padding-left:20px; }
button { font-family:inherit; cursor:pointer; }
input,select,textarea { font-family:inherit; }

.container { max-width:1180px; margin:0 auto; padding:0 22px; }

/* ── TOPBAR (announcement strip) ─────────── */
.topbar {
  background:var(--blue);
  color:#fff;
  text-align:center;
  padding:7px 20px;
  font-size:0.82rem;
  font-weight:500;
  letter-spacing:.1px;
}
.topbar a { color:#bfdbfe; }
.topbar a:hover { color:#fff; text-decoration:none; }

/* ── NAVBAR ──────────────────────────────── */
.navbar {
  background:var(--surface);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:900;
  box-shadow:var(--shadow-xs);
}
.nav-inner {
  display:flex;
  align-items:center;
  height:62px;
  gap:6px;
}
.brand {
  display:flex;
  align-items:center;
  gap:9px;
  font-family:'DM Serif Display',serif;
  font-size:1.35rem;
  font-weight:400;
  color:var(--ink);
  white-space:nowrap;
  flex-shrink:0;
}
.brand-icon {
  width:34px;
  height:34px;
  background:var(--blue);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}
.brand:hover { text-decoration:none; color:var(--blue); }

.nav-links {
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:auto;
}
.nav-links a {
  color:var(--ink-3);
  font-size:0.875rem;
  font-weight:500;
  padding:7px 13px;
  border-radius:var(--r-sm);
}
.nav-links a:hover { background:var(--bg-2); color:var(--ink); text-decoration:none; }
.nav-links a.active { background:var(--blue-lt); color:var(--blue); }

.nav-search {
  display:flex;
  margin-left:10px;
  border:1.5px solid var(--border);
  border-radius:22px;
  overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.nav-search:focus-within {
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(26,86,219,.1);
}
.nav-search input {
  padding:7px 14px;
  border:none;
  font-size:0.855rem;
  width:200px;
  background:transparent;
  color:var(--ink);
  outline:none;
}
.nav-search button {
  padding:7px 14px;
  background:transparent;
  border:none;
  border-left:1px solid var(--border);
  color:var(--blue);
  font-size:0.9rem;
}
.nav-search button:hover { background:var(--blue-lt); }

.nav-toggle {
  display:none;
  background:none;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  padding:6px 11px;
  font-size:1.1rem;
  color:var(--ink-3);
  margin-left:auto;
}

/* ── HERO ─────────────────────────────────── */
.hero {
  background:var(--surface);
  border-bottom:1px solid var(--border);
  padding:64px 0 56px;
  position:relative;
  overflow:hidden;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 800px 500px at 110% 0%, #dbeafe55 0%, transparent 60%),
    radial-gradient(ellipse 600px 400px at -10% 100%, #eff6ff66 0%, transparent 60%);
  pointer-events:none;
}
.hero-inner {
  position:relative;
  max-width:720px;
}
.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--blue-lt);
  border:1px solid var(--blue-mid);
  color:var(--blue);
  font-size:0.78rem;
  font-weight:600;
  padding:5px 13px;
  border-radius:20px;
  margin-bottom:20px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.hero h1 {
  font-family:'DM Serif Display',serif;
  font-size:clamp(2rem, 5vw, 3rem);
  font-weight:400;
  line-height:1.2;
  color:var(--ink);
  margin-bottom:18px;
  letter-spacing:-.5px;
}
.hero h1 span { color:var(--blue); }
.hero p {
  font-size:1.05rem;
  color:var(--muted);
  max-width:580px;
  margin-bottom:30px;
  line-height:1.7;
}
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.hero-stats {
  display:flex;
  gap:28px;
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.hero-stat { text-align:left; }
.hero-stat .num {
  font-family:'DM Serif Display',serif;
  font-size:1.8rem;
  color:var(--blue);
  line-height:1;
}
.hero-stat .lbl { font-size:0.78rem; color:var(--muted); margin-top:3px; }

/* ── BUTTONS ─────────────────────────────── */
.btn {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 22px;
  border-radius:var(--r-sm);
  font-size:0.9rem;
  font-weight:600;
  cursor:pointer;
  border:2px solid transparent;
  transition:all .18s;
  white-space:nowrap;
}
.btn:hover { text-decoration:none; transform:translateY(-1px); }
.btn:active { transform:translateY(0); }

.btn-primary { background:var(--blue); color:#fff; border-color:var(--blue); box-shadow:0 2px 8px rgba(26,86,219,.3); }
.btn-primary:hover { background:var(--blue-dk); border-color:var(--blue-dk); color:#fff; }

.btn-outline { background:transparent; color:var(--blue); border-color:var(--blue); }
.btn-outline:hover { background:var(--blue); color:#fff; }

.btn-white { background:#fff; color:var(--blue); border-color:#fff; box-shadow:var(--shadow-sm); }
.btn-white:hover { background:var(--blue-lt); border-color:var(--border); }

.btn-green { background:var(--green); color:#fff; border-color:var(--green); }
.btn-green:hover { background:#065f46; color:#fff; }

.btn-danger { background:var(--red); color:#fff; border-color:var(--red); }
.btn-danger:hover { background:#b91c1c; color:#fff; }

.btn-ghost { background:transparent; color:var(--muted); border-color:transparent; }
.btn-ghost:hover { background:var(--bg-2); color:var(--ink); }

.btn-sm { padding:6px 14px; font-size:0.82rem; }
.btn-lg { padding:13px 28px; font-size:0.98rem; }

/* ── QUICK FILTERS (urgent deadlines) ─────── */
.urgent-bar {
  background:var(--amber-bg);
  border-bottom:1px solid #fde68a;
  padding:10px 0;
}
.urgent-inner {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.urgent-chip {
  background:var(--amber);
  color:#fff;
  font-size:0.74rem;
  font-weight:700;
  padding:4px 12px;
  border-radius:20px;
  white-space:nowrap;
}
.urgent-link {
  font-size:0.84rem;
  color:var(--amber);
  font-weight:600;
}
.urgent-link span { color:var(--red); font-weight:700; }
.urgent-link:hover { text-decoration:none; color:var(--amber); }

/* ── CATEGORY PILLS ─────────────────────── */
.cat-pills { display:flex; flex-wrap:wrap; gap:8px; }
.cat-pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 15px;
  border-radius:20px;
  font-size:0.82rem;
  font-weight:500;
  background:var(--surface);
  border:1.5px solid var(--border);
  color:var(--ink-3);
  cursor:pointer;
  transition:all .15s;
}
.cat-pill:hover { border-color:var(--blue); color:var(--blue); text-decoration:none; }
.cat-pill.active { background:var(--blue); border-color:var(--blue); color:#fff; }
.cat-pill .ct { font-size:0.72rem; opacity:.7; }

/* ── SECTION ─────────────────────────────── */
.section { padding:52px 0; }
.section-alt { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.section-sm { padding:32px 0; }

.section-header { margin-bottom:28px; }
.section-eyebrow {
  display:inline-block;
  font-size:0.73rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--blue);
  background:var(--blue-lt);
  padding:4px 12px;
  border-radius:20px;
  margin-bottom:10px;
}
.section-title {
  font-family:'DM Serif Display',serif;
  font-size:clamp(1.4rem, 3vw, 2rem);
  font-weight:400;
  color:var(--ink);
  line-height:1.25;
  margin-bottom:8px;
  letter-spacing:-.3px;
}
.section-sub { color:var(--muted); font-size:0.93rem; max-width:540px; }

/* ── SCHOLARSHIP CARD ────────────────────── */
.s-card {
  background:var(--surface);
  border-radius:var(--r-lg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
  display:flex;
  flex-direction:column;
  transition:all .2s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
.s-card:hover {
  box-shadow:var(--shadow);
  border-color:#bfdbfe;
  transform:translateY(-3px);
}
.s-card-top {
  height:5px;
  background:linear-gradient(90deg, var(--blue) 0%, #60a5fa 100%);
}
.s-card-body { padding:20px; flex:1; }
.s-card h3 {
  font-size:0.93rem;
  font-weight:600;
  line-height:1.45;
  color:var(--ink);
  margin:10px 0 8px;
}
.s-card h3 a { color:var(--ink); }
.s-card h3 a:hover { color:var(--blue); text-decoration:none; }
.s-card-amount {
  font-size:0.83rem;
  color:var(--green);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:5px;
}
.s-card-footer {
  padding:12px 20px;
  border-top:1px solid var(--border);
  background:var(--bg);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

/* ── BADGES ──────────────────────────────── */
.s-meta { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:4px; }
.badge {
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 9px;
  border-radius:20px;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:.1px;
}
.badge-green  { background:var(--green-bg);  color:#065f46;  border:1px solid #a7f3d0; }
.badge-blue   { background:var(--blue-lt);   color:#1e40af;  border:1px solid var(--blue-mid); }
.badge-yellow { background:var(--amber-bg);  color:#92400e;  border:1px solid #fde68a; }
.badge-gray   { background:var(--bg-2);      color:#475569;  border:1px solid var(--border); }
.badge-red    { background:var(--red-bg);    color:#991b1b;  border:1px solid #fca5a5; }

.deadline-badge { font-size:0.76rem; font-weight:700; padding:4px 10px; border-radius:var(--r-sm); }
.deadline-urgent { background:var(--red-bg);   color:var(--red);   border:1px solid #fca5a5; }
.deadline-soon   { background:var(--amber-bg); color:#92400e;      border:1px solid #fde68a; }
.deadline-ok     { background:var(--green-bg); color:var(--green); border:1px solid #a7f3d0; }
.deadline-closed { background:var(--bg-2);     color:var(--muted-lt); border:1px solid var(--border); }

/* ── GRIDS ───────────────────────────────── */
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }

/* ── FILTER BAR ──────────────────────────── */
.filter-bar {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:20px 22px;
  margin-bottom:24px;
  box-shadow:var(--shadow-xs);
}
.filter-bar form { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; }
.f-group { display:flex; flex-direction:column; gap:5px; flex:1; min-width:140px; }
.f-group label { font-size:0.76rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.6px; }
.f-group select,
.f-group input {
  padding:9px 13px;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.88rem;
  background:var(--bg);
  color:var(--ink);
  outline:none;
  transition:border-color .15s;
}
.f-group select:focus,
.f-group input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.08); }

/* ── BREADCRUMB ──────────────────────────── */
.breadcrumb { font-size:0.8rem; color:var(--muted); padding:14px 0 8px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.breadcrumb a { color:var(--muted); }
.breadcrumb a:hover { color:var(--blue); text-decoration:none; }
.breadcrumb-sep { color:var(--border-dk); font-size:0.75rem; }

/* ── SINGLE PAGE ─────────────────────────── */
.single-wrap { display:grid; grid-template-columns:1fr 308px; gap:30px; padding:22px 0 50px; align-items:start; }
.single-main { min-width:0; }
.single-main h1 { font-family:'DM Serif Display',serif; font-size:1.75rem; font-weight:400; line-height:1.3; margin-bottom:14px; letter-spacing:-.3px; }
.single-main h2 { font-size:1.05rem; font-weight:700; color:var(--ink); margin:26px 0 10px; padding-left:12px; border-left:3px solid var(--blue); }
.single-main h3 { font-size:0.97rem; font-weight:600; color:var(--ink-2); margin:18px 0 8px; }
.single-main p { font-size:0.93rem; color:var(--ink-3); line-height:1.78; margin-bottom:12px; }
.single-main ul,.single-main ol { margin:8px 0 14px; }
.single-main li { font-size:0.91rem; color:var(--ink-3); line-height:1.65; margin-bottom:7px; }

/* sidebar boxes */
.sidebar-box {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:20px;
  margin-bottom:18px;
  box-shadow:var(--shadow-xs);
}
.sidebar-box h4 {
  font-size:0.87rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:14px;
  padding-bottom:9px;
  border-bottom:1px solid var(--border);
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* Benefits list */
.benefits-list { list-style:none; padding:0; }
.benefits-list li { padding:8px 0; border-bottom:1px solid var(--border); font-size:0.9rem; color:var(--ink-3); display:flex; gap:8px; align-items:flex-start; }
.benefits-list li::before { content:"✓"; color:var(--green); font-weight:700; flex-shrink:0; margin-top:1px; }
.benefits-list li:last-child { border-bottom:none; }

/* ── INFO BOX ────────────────────────────── */
.info-box {
  background:var(--blue-lt);
  border:1px solid var(--blue-mid);
  border-left:4px solid var(--blue);
  border-radius:var(--r);
  padding:18px 20px;
}
.info-box-green {
  background:var(--green-bg);
  border:1px solid #a7f3d0;
  border-left:4px solid var(--green);
  border-radius:var(--r);
  padding:20px;
}
.info-box-amber {
  background:var(--amber-bg);
  border:1px solid #fde68a;
  border-left:4px solid var(--amber);
  border-radius:var(--r);
  padding:16px 18px;
}

/* ── POST CARD ───────────────────────────── */
.post-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-xs);
  overflow:hidden;
  transition:all .2s;
  display:flex;
  flex-direction:column;
}
.post-card:hover { box-shadow:var(--shadow); border-color:#bfdbfe; transform:translateY(-2px); }
.post-card-body { padding:20px; flex:1; }
.post-card h3 { font-size:0.93rem; font-weight:600; margin:8px 0; line-height:1.45; }
.post-card h3 a { color:var(--ink); }
.post-card h3 a:hover { color:var(--blue); text-decoration:none; }
.post-excerpt { font-size:0.84rem; color:var(--muted); line-height:1.6; }

/* ── WHY US CARDS ────────────────────────── */
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.why-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:26px 22px;
  text-align:center;
  box-shadow:var(--shadow-xs);
  transition:all .2s;
}
.why-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.why-card .icon-circle {
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--blue-lt);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  margin:0 auto 14px;
}
.why-card strong { display:block; font-size:0.95rem; font-weight:700; color:var(--ink); margin-bottom:7px; }
.why-card p { font-size:0.84rem; color:var(--muted); line-height:1.6; margin:0; }

/* ── TABLE ───────────────────────────────── */
table { width:100%; border-collapse:collapse; background:var(--surface); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-xs); border:1px solid var(--border); }
table th { background:var(--ink-2); color:#fff; padding:11px 16px; text-align:left; font-size:0.81rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
table td { padding:10px 16px; border-bottom:1px solid var(--border); font-size:0.875rem; color:var(--ink-3); }
table tr:last-child td { border-bottom:none; }
table tr:hover td { background:var(--blue-lt); }

/* ── FORM ────────────────────────────────── */
.form-group { margin-bottom:17px; }
.form-group label { display:block; font-size:0.82rem; font-weight:700; margin-bottom:6px; color:var(--ink-2); }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:10px 13px;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.9rem; font-family:inherit;
  background:var(--surface); color:var(--ink);
  outline:none; transition:border-color .15s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.09); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* ── ALERTS ──────────────────────────────── */
.alert { padding:12px 16px; border-radius:var(--r-sm); margin-bottom:16px; font-size:0.9rem; border:1px solid; }
.alert-success { background:var(--green-bg); color:#065f46; border-color:#a7f3d0; }
.alert-error   { background:var(--red-bg);   color:#991b1b; border-color:#fca5a5; }
.alert-info    { background:var(--blue-lt);  color:#1e40af; border-color:var(--blue-mid); }

/* ── PAGINATION ──────────────────────────── */
.pagination { display:flex; gap:6px; justify-content:center; margin-top:32px; flex-wrap:wrap; }
.pagination a,
.pagination span {
  padding:8px 15px; border-radius:var(--r-sm);
  border:1.5px solid var(--border);
  font-size:0.87rem; background:var(--surface);
  color:var(--ink-3); font-weight:600;
}
.pagination a:hover { background:var(--blue); color:#fff; border-color:var(--blue); text-decoration:none; }
.pagination .current { background:var(--blue); color:#fff; border-color:var(--blue); }

/* ── NEWSLETTER ──────────────────────────── */
.newsletter-section {
  background:var(--blue);
  padding:50px 0;
  position:relative;
  overflow:hidden;
}
.newsletter-section::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 60% 80% at 90% 50%, rgba(255,255,255,.07) 0%, transparent 70%);
  pointer-events:none;
}
.newsletter-inner {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
}
.newsletter-text h3 { font-family:'DM Serif Display',serif; font-size:1.55rem; color:#fff; font-weight:400; margin-bottom:6px; }
.newsletter-text p  { font-size:0.9rem; color:rgba(255,255,255,.78); }
.subscribe-form { display:flex; gap:0; }
.subscribe-form input {
  padding:11px 18px;
  border:2px solid rgba(255,255,255,.25);
  border-right:none;
  border-radius:var(--r-sm) 0 0 var(--r-sm);
  font-size:0.9rem;
  min-width:260px;
  background:rgba(255,255,255,.12);
  color:#fff;
  outline:none;
}
.subscribe-form input::placeholder { color:rgba(255,255,255,.55); }
.subscribe-form input:focus { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.18); }
.subscribe-form button {
  padding:11px 22px;
  background:#fff;
  color:var(--blue);
  border:2px solid #fff;
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-weight:700;
  font-size:0.9rem;
  transition:all .15s;
}
.subscribe-form button:hover { background:var(--blue-lt); }
.sub-success { color:#a7f3d0; font-weight:600; font-size:0.9rem; }

/* ── FOOTER ──────────────────────────────── */
footer {
  background:#0f172a;
  color:#94a3b8;
}
.footer-top {
  padding:50px 0 36px;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:36px;
}
.footer-brand {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}
.footer-brand .icon {
  width:34px; height:34px;
  background:var(--blue);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem;
  flex-shrink:0;
}
.footer-brand span {
  font-family:'DM Serif Display',serif;
  font-size:1.1rem;
  color:#f1f5f9;
  font-weight:400;
}
.footer-col p  { font-size:0.84rem; line-height:1.7; }
.footer-col h5 {
  font-size:0.78rem;
  font-weight:700;
  color:#f1f5f9;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:14px;
}
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a { color:#64748b; font-size:0.84rem; transition:color .15s; }
.footer-col ul li a:hover { color:#f1f5f9; text-decoration:none; }
.social-links { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.social-links a {
  display:inline-flex; align-items:center; gap:5px;
  color:#64748b; font-size:0.82rem;
  padding:5px 12px;
  border:1px solid #1e293b;
  border-radius:var(--r-sm);
  transition:all .15s;
}
.social-links a:hover { color:#f1f5f9; border-color:#334155; text-decoration:none; }

.footer-official {
  border-top:1px solid #1e293b;
  padding:16px 0;
}
.footer-official p { font-size:0.76rem; color:#475569; margin-bottom:8px; font-weight:600; }
.footer-official-links { display:flex; flex-wrap:wrap; gap:14px; }
.footer-official-links a { font-size:0.78rem; color:#475569; }
.footer-official-links a:hover { color:#94a3b8; text-decoration:none; }

.footer-bottom {
  border-top:1px solid #1e293b;
  padding:16px 0;
}
.footer-bottom-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.footer-bottom p { font-size:0.8rem; }
.footer-bottom a { color:#475569; }
.footer-bottom a:hover { color:#94a3b8; }
.footer-credit { font-size:0.78rem; color:#334155; }
.footer-credit strong { color:#475569; }

/* ── ADMIN ───────────────────────────────── */
.admin-layout { display:flex; min-height:100vh; }
.admin-sidebar { width:235px; background:#0f172a; flex-shrink:0; }
.admin-brand   { padding:17px 20px; background:var(--blue); color:#fff; font-weight:700; font-size:0.93rem; display:flex; align-items:center; gap:8px; }
.admin-sidebar a { display:flex; align-items:center; gap:9px; padding:11px 20px; color:#64748b; font-size:0.855rem; border-bottom:1px solid #1e293b; transition:all .15s; }
.admin-sidebar a:hover,.admin-sidebar a.active { background:#1e293b; color:#f1f5f9; text-decoration:none; }
.sidebar-label { padding:14px 20px 5px; font-size:0.68rem; color:#334155; text-transform:uppercase; letter-spacing:1.2px; }
.admin-main { flex:1; background:#f1f5f9; padding:22px; overflow-x:hidden; }
.admin-topbar { background:var(--surface); padding:14px 20px; border-radius:var(--r); margin-bottom:18px; display:flex; justify-content:space-between; align-items:center; box-shadow:var(--shadow-xs); border:1px solid var(--border); }
.admin-topbar h4 { font-size:1rem; font-weight:700; }
.stat-box { background:var(--surface); border-radius:var(--r-lg); padding:18px; text-align:center; box-shadow:var(--shadow-xs); border:1px solid var(--border); border-top:3px solid var(--blue); }
.stat-box .num { font-family:'DM Serif Display',serif; font-size:2rem; color:var(--blue); line-height:1; }
.stat-box .lbl { font-size:0.78rem; color:var(--muted); margin-top:4px; }
.admin-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:20px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-xs); }
.quick-post-form input,
.quick-post-form select,
.quick-post-form textarea {
  width:100%; padding:8px 11px;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.87rem; margin-bottom:10px;
  font-family:inherit; background:var(--bg); color:var(--ink); outline:none;
}
.quick-post-form input:focus,
.quick-post-form select:focus { border-color:var(--blue); }
.quick-post-form label { font-size:0.77rem; font-weight:700; color:var(--muted); display:block; margin-bottom:3px; }

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width:960px) {
  .grid-3  { grid-template-columns:repeat(2,1fr); }
  .grid-4  { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .single-wrap { grid-template-columns:1fr; }
  .admin-grid { grid-template-columns:repeat(3,1fr); }
  .hero-inner { max-width:100%; }
}

@media (max-width:640px) {
  .nav-toggle { display:block; }
  .nav-links {
    display:none; width:100%; flex-direction:column;
    background:var(--surface); border-top:1px solid var(--border);
    padding:8px 0; gap:0; position:absolute; top:62px; left:0; right:0;
    box-shadow:var(--shadow); z-index:899;
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:11px 20px; border-radius:0; }
  .nav-search { padding:10px 20px; width:100%; }
  .nav-search input { width:100%; flex:1; }
  .navbar { position:relative; }
  .grid-3,.grid-2 { grid-template-columns:1fr; }
  .grid-4 { grid-template-columns:1fr 1fr; }
  .why-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:20px; }
  .form-row { grid-template-columns:1fr; }
  .admin-layout { flex-direction:column; }
  .admin-sidebar { width:100%; }
  .admin-grid { grid-template-columns:repeat(2,1fr); }
  .newsletter-inner { flex-direction:column; text-align:center; }
  .subscribe-form { width:100%; flex-direction:column; }
  .subscribe-form input { border-right:2px solid rgba(255,255,255,.25); border-radius:var(--r-sm); min-width:unset; width:100%; }
  .subscribe-form button { border-radius:var(--r-sm); }
  .hero { padding:40px 0 34px; }
  .hero-stats { gap:18px; }
  .footer-bottom-inner { flex-direction:column; text-align:center; }
}
