/*
Theme Name: Naruto Senki APK
Theme URI: https://nin-senki-hub.lovable.app
Author: Naruto Senki Hub
Description: Complete topical hub theme for Naruto Senki APK — 9 silo hubs, 80 SEO-optimized articles, internal linking, FAQ schema. Self-contained: activate the theme and all URLs work via custom rewrite rules.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: naruto-senki
*/

:root{
  --bg:#0b0b10; --fg:#f5f5f7; --muted:#a1a1aa; --card:#141420; --card-2:#1b1b28;
  --border:#26263a; --primary:#f97316; --primary-fg:#0b0b10; --secondary:#1f1f2e;
  --accent:#ef4444; --grad:linear-gradient(135deg,#f97316,#ef4444 55%,#eab308);
  --glow:0 10px 40px -10px rgba(249,115,22,.55);
  --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em}
h1{font-weight:900}
h2{font-weight:800}
p{margin:0 0 1em}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* Header */
.site-header{position:relative;z-index:40;background:rgba(11,11,16,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(38,38,58,.6)}
.site-header .inner{display:block;padding:20px 24px;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.02em;font-size:20px}
.brand .logo{width:36px;height:36px;border-radius:8px;background:var(--primary);color:var(--primary-fg);display:grid;place-items:center;font-weight:900;font-size:18px}
.primary-header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between}
.header-left{display:flex;align-items:center;gap:20px;flex:1 1 auto}
.header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.search-form{display:flex;align-items:center;gap:8px}
.search-field{padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.05);color:var(--fg);font-size:14px}
.search-field:focus{outline:none;border-color:var(--primary);background:rgba(255,255,255,0.08)}
.search-submit{padding:10px 16px;border-radius:8px;border:none;background:var(--card);color:var(--fg);cursor:pointer;font-weight:600;font-size:14px}
.search-submit:hover{background:var(--primary);color:var(--primary-fg)}
.secondary-nav{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(38,38,58,.5);font-size:14px;color:var(--muted);justify-content:flex-start}
.secondary-nav a{color:var(--muted);padding:4px 0}
.secondary-nav a:hover{color:var(--primary)}
@media(max-width:768px){
  .primary-header{flex-direction:column;align-items:flex-start;gap:12px}
  .header-right{width:100%;justify-content:space-between}
  .search-form{width:100%}
  .search-field{flex:1}
}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid transparent;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:var(--primary-fg);box-shadow:var(--glow)}
.btn-secondary{background:var(--card);border-color:var(--border);color:var(--fg)}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(38,38,58,.6)}
.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero::before{background:var(--grad);opacity:.15}
.hero::after{background:radial-gradient(circle at 20% 20%,rgba(249,115,22,.25),transparent 40%),radial-gradient(circle at 80% 60%,rgba(239,68,68,.2),transparent 45%)}
.hero .container{position:relative;padding-top:80px;padding-bottom:96px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(249,115,22,.4);background:rgba(249,115,22,.1);color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}
.hero h1{font-size:clamp(40px,6vw,72px)}
.hero .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{color:var(--muted);font-size:clamp(16px,1.6vw,20px);max-width:640px;margin-top:16px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* App info table */
.app-info{background:rgba(20,20,32,.4);border-bottom:1px solid rgba(38,38,58,.6)}
.app-info .grid{display:grid;grid-template-columns:1fr;gap:32px;padding:48px 0;align-items:center}
@media(min-width:900px){.app-info .grid{grid-template-columns:1fr 1fr}}
.app-info h2{font-size:28px;font-weight:900}
.app-info table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:14px}
.app-info th,.app-info td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(38,38,58,.6)}
.app-info tr:last-child th,.app-info tr:last-child td{border-bottom:none}
.app-info th{background:rgba(31,31,46,.6);width:40%;color:var(--muted);font-weight:600}

/* Attributes strip */
.attrs{background:rgba(20,20,32,.4);border-bottom:1px solid rgba(38,38,58,.6)}
.attrs .row{display:grid;grid-template-columns:repeat(2,1fr);max-width:1200px;margin:0 auto;border-left:1px solid rgba(38,38,58,.6);border-right:1px solid rgba(38,38,58,.6)}
@media(min-width:900px){.attrs .row{grid-template-columns:repeat(4,1fr)}}
.attrs .cell{padding:20px 24px;background:var(--bg);border-right:1px solid rgba(38,38,58,.4)}
.attrs .cell:last-child{border-right:none}
.attrs .k{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.attrs .v{font-weight:700;margin-top:4px}

/* Node grid */
.section{padding:80px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px;flex-wrap:wrap}
.section-head h2{font-size:clamp(28px,3.5vw,40px);font-weight:900}
.section-head .aside{color:var(--muted);font-size:14px;max-width:360px}
.nodes{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:700px){.nodes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.nodes{grid-template-columns:repeat(3,1fr)}}
.node{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:transform .2s,border-color .2s}
.node:hover{transform:translateY(-2px);border-color:var(--primary)}
.node .top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.node .badge{font-size:11px;color:var(--primary);font-weight:700;letter-spacing:.1em}
.node h3{font-size:20px;font-weight:800;margin:0}
.node .intent{color:var(--muted);font-size:14px;margin:8px 0 16px}
.node ul{list-style:none;padding:0;margin:0 0 16px}
.node li{padding:8px 0;border-top:1px solid rgba(38,38,58,.5);font-size:14px}
.node li:first-child{border-top:none}
.node li a{color:var(--muted);transition:color .15s}
.node li a:hover{color:var(--primary)}
.node .hub-link{color:var(--primary);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:4px}

/* Article page */
.article{padding:64px 0;max-width:800px;margin:0 auto}
.breadcrumb{color:var(--muted);font-size:13px;margin-bottom:24px}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb .sep{margin:0 8px;opacity:.5}
.article h1{font-size:clamp(32px,4.5vw,48px);margin-bottom:16px}
.article .intro{font-size:18px;color:var(--muted);margin-bottom:32px}
.article h2{font-size:24px;margin-top:40px;margin-bottom:12px}
.related{margin-top:64px;padding-top:32px;border-top:1px solid var(--border)}
.related h3{font-size:18px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.related ul{list-style:none;padding:0;margin:0}
.related li{padding:10px 0;border-bottom:1px solid rgba(38,38,58,.4)}
.related a{color:var(--fg);font-weight:600}
.related a:hover{color:var(--primary)}

/* Hub page */
.hub-hero{padding:64px 0 40px;border-bottom:1px solid var(--border)}
.hub-hero .badge{color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.hub-hero h1{font-size:clamp(36px,5vw,56px);margin-top:8px}
.hub-hero p{color:var(--muted);font-size:18px;max-width:720px;margin-top:16px}
.hub-list{padding:48px 0;display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.hub-list{grid-template-columns:repeat(2,1fr)}}
.hub-list a{background:var(--card);border:1px solid var(--border);padding:20px;border-radius:var(--radius);transition:border-color .15s,transform .15s}
.hub-list a:hover{border-color:var(--primary);transform:translateY(-2px)}
.hub-list h3{font-size:16px;margin:0;color:var(--fg)}
.hub-list p{color:var(--muted);font-size:13px;margin:8px 0 0}

/* FAQ */
.faq{padding:64px 0;background:rgba(20,20,32,.3);border-top:1px solid var(--border)}
.faq details{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--primary);font-weight:900}
.faq details[open] summary::after{content:"−"}
.faq details[open]{border-color:var(--primary)}
.faq .answer{color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.faq .answer a{color:var(--primary)}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:48px 0;color:var(--muted);font-size:13px;background:#08080d}
.site-footer .grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:700px){.site-footer .grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.site-footer h4{color:var(--fg);font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{padding:4px 0}
.site-footer a:hover{color:var(--primary)}
.copy{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border);color:var(--muted)}

/* ============================================
   TABLE OF CONTENTS - Clean & Functional
   ============================================ */
.ns-toc {
  position: sticky;
  top: 100px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 20px 16px;
  color: #1a1a1a;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #d1d1d1 transparent;
}

.ns-toc::-webkit-scrollbar {
  width: 6px;
}
.ns-toc::-webkit-scrollbar-track {
  background: transparent;
}
.ns-toc::-webkit-scrollbar-thumb {
  background: #d1d1d1;
  border-radius: 3px;
}
.ns-toc::-webkit-scrollbar-thumb:hover {
  background: #b3b3b3;
}

.ns-toc h4 {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #444;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

.ns-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ns-toc ul ul {
  margin-left: 16px;
  padding-left: 12px;
  border-left: 2px solid #f0f0f0;
}

.ns-toc li {
  margin: 4px 0;
  transition: color 0.15s ease;
}

.ns-toc li.toc-h1,
.ns-toc li.toc-title {
  font-weight: 700;
  font-size: 14px;
  color: #1a1a1a;
  margin-top: 8px;
  margin-bottom: 6px;
}

.ns-toc li.toc-h2 {
  font-weight: 500;
  font-size: 14px;
  color: #2d2d2d;
}

.ns-toc li.toc-h3 {
  font-size: 13px;
  color: #555;
  font-weight: 400;
}

.ns-toc a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 3px 8px;
  border-radius: 6px;
  transition: all 0.15s ease;
  line-height: 1.5;
}

.ns-toc a:hover {
  color: #f97316;
  background: #fff8f0;
  padding-left: 12px;
}

.ns-toc li.toc-h1 a,
.ns-toc li.toc-title a {
  font-weight: 700;
  color: #1a1a1a;
}

.ns-toc li.toc-h1 a:hover,
.ns-toc li.toc-title a:hover {
  background: transparent;
  color: #f97316;
  padding-left: 8px;
}

/* Active/Current section highlight */
.ns-toc a.active {
  color: #f97316 !important;
  background: #fff8f0;
  font-weight: 600;
  position: relative;
}

.ns-toc a.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #f97316;
  border-radius: 0 3px 3px 0;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Article headings anchor highlight */
.entry-content h1:target,
.entry-content h2:target,
.entry-content h3:target {
  outline: 2px solid #f97316;
  outline-offset: 4px;
  border-radius: 4px;
  transition: outline 0.3s ease;
}

/* Single post main content styles */
.single-post-main {
  background: #ffffff !important;
}

.single-post-main .entry-content h1,
.single-post-main .entry-content h2,
.single-post-main .entry-content h3,
.single-post-main .entry-content h4 {
  color: #1a1a1a;
  line-height: 1.3;
  margin-top: 48px;
  margin-bottom: 16px;
}

.single-post-main .entry-content h1 {
  font-size: clamp(32px, 4vw, 42px);
  font-weight: 800;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 12px;
  margin-top: 0;
}

.single-post-main .entry-content h2 {
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 700;
  color: #1a1a1a;
  position: relative;
  padding-left: 16px;
}

.single-post-main .entry-content h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.15em;
  bottom: 0.15em;
  width: 4px;
  background: linear-gradient(180deg, #f97316, #ef4444);
  border-radius: 2px;
}

.single-post-main .entry-content h3 {
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: 600;
  color: #2d2d2d;
}

.single-post-main .entry-content p {
  margin-bottom: 1.25em;
  color: #2d2d2d;
}

.single-post-main .entry-content a {
  color: #f97316;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s;
}

.single-post-main .entry-content a:hover {
  color: #ef4444;
  text-decoration-thickness: 2px;
}

.single-post-main .entry-content ul,
.single-post-main .entry-content ol {
  margin: 1em 0;
  padding-left: 1.5em;
}

.single-post-main .entry-content li {
  margin: 0.5em 0;
  color: #2d2d2d;
}

.single-post-main .entry-content blockquote {
  border-left: 4px solid #f97316;
  padding-left: 20px;
  margin: 1.5em 0;
  color: #555;
  font-style: italic;
  background: #fff8f0;
  padding: 16px 24px;
  border-radius: 0 8px 8px 0;
}

.single-post-main .entry-content code {
  background: #f5f5f5;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.9em;
  color: #e53e3e;
  font-family: 'Monaco', 'Consolas', monospace;
}

.single-post-main .entry-content pre {
  background: #1a1a2e;
  color: #e4e4e7;
  padding: 20px;
  border-radius: 10px;
  overflow-x: auto;
  margin: 1.5em 0;
}

.single-post-main .entry-content pre code {
  background: transparent;
  padding: 0;
  color: inherit;
  font-size: 14px;
  line-height: 1.6;
}

.single-post-main .entry-content hr {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 3em 0;
}

.single-post-main .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5em 0;
}

.single-post-main .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 14px;
}

.single-post-main .entry-content th,
.single-post-main .entry-content td {
  padding: 12px 16px;
  border: 1px solid #e5e5e5;
  text-align: left;
}

.single-post-main .entry-content th {
  background: #f8f8f8;
  font-weight: 600;
  color: #1a1a1a;
}

.single-post-main .entry-content tr:nth-child(even) td {
  background: #fafafa;
}

/* Post navigation */
.single-post-main .post-navigation {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.single-post-main .post-navigation a {
  flex: 1;
  min-width: 200px;
  padding: 16px 20px;
  background: #f8f8f8;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  color: #1a1a1a;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.single-post-main .post-navigation a:hover {
  background: #f97316;
  border-color: #f97316;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3);
}

/* Comments area */
.single-post-main #comments {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid #e5e5e5;
}

.single-post-main #comments h2,
.single-post-main #comments h3 {
  color: #1a1a1a;
}

.single-post-main .comment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.single-post-main .comment {
  padding: 20px 0;
  border-bottom: 1px solid #f0f0f0;
}

.single-post-main .comment-author {
  font-weight: 600;
  color: #1a1a1a;
}

.single-post-main .comment-meta {
  font-size: 13px;
  color: #888;
  margin: 4px 0 12px;
}

.single-post-main .comment-content {
  color: #2d2d2d;
}

.single-post-main .comment-reply-link {
  font-size: 13px;
  color: #f97316;
  text-decoration: none;
}

.single-post-main .comment-reply-link:hover {
  text-decoration: underline;
}

/* Right sidebar quick links - clean white */
.single-right div {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  color: #1a1a1a;
  border-radius: 12px;
  padding: 20px;
}

.single-right h4 {
  color: #1a1a1a !important;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 16px;
}

.single-right a {
  color: #333 !important;
  text-decoration: none;
  font-size: 14px;
  display: block;
  padding: 8px 12px;
  border-radius: 8px;
  transition: all 0.15s;
}

.single-right a:hover {
  color: #f97316 !important;
  background: #fff8f0;
}

/* Responsive */
@media (max-width: 1440px) {
  .single-post-main .container {
    max-width: 1280px;
    padding: 0 20px;
  }
  .single-post-grid {
    grid-template-columns: 240px 1fr 240px !important;
    gap: 32px !important;
  }
  .single-left,
  .single-right {
    width: 240px;
  }
  .single-middle {
    max-width: none;
  }
}

@media (max-width: 1024px) {
  .single-post-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .single-left {
    display: none !important;
  }
  .single-right {
    display: none !important;
  }
  .single-middle {
    max-width: 100% !important;
  }
  .single-post-main .container {
    padding: 0 16px;
  }
  .single-middle .entry-title {
    font-size: clamp(24px, 6vw, 32px) !important;
  }
  .single-middle .entry-content {
    font-size: 15px !important;
  }
  .single-featured-image img {
    border-radius: 8px !important;
  }
}

@media (max-width: 600px) {
  .single-post-main {
    padding: 20px 0 !important;
  }
  .single-middle .entry-title {
    font-size: clamp(22px, 7vw, 28px) !important;
  }
  .single-middle .entry-content {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }
  .entry-header {
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
  }
  .single-featured-image {
    margin-bottom: 24px !important;
  }
  .entry-footer {
    margin-top: 40px !important;
    padding-top: 24px !important;
  }
  .single-post-main .post-navigation {
    flex-direction: column;
  }
  .single-post-main .post-navigation a {
    min-width: 100%;
  }
}

/* Mobile Navigation */
.menu-toggle{display:none;background:var(--card);border:1px solid var(--border);color:var(--fg);padding:10px 14px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}
.menu-toggle:hover{background:var(--primary);color:var(--primary-fg)}
@media(max-width:768px){
  .menu-toggle{display:block}
  .secondary-nav{display:none;flex-direction:column;gap:8px;padding:12px 0}
  .secondary-nav.open{display:flex}
  .secondary-nav a{padding:8px 0;font-size:13px}
}

/* Responsive single post */
@media(max-width:1024px){
  .single-post-main .container{padding:0 16px}
  .single-post-grid{grid-template-columns:1fr !important;gap:0 !important}
  .single-left{display:none}
  .single-right{display:none}
  .single-middle .entry-title{font-size:clamp(24px,6vw,32px) !important}
  .single-middle .entry-content{font-size:15px !important}
  .single-featured-image img{border-radius:8px !important}
}

/* Mobile hero adjustments */
@media(max-width:600px){
  .hero .container{padding-top:48px;padding-bottom:64px}
  .hero .cta{flex-direction:column;align-items:stretch}
  .hero .cta .btn{text-align:center;justify-content:center}
}

/* Responsive app info */
@media(max-width:600px){
  .app-info table{font-size:13px}
  .app-info th,.app-info td{padding:10px 12px}
}

/* Responsive attrs strip */
@media(max-width:600px){
  .attrs .row{grid-template-columns:repeat(2,1fr)}
  .attrs .cell{padding:14px 16px}
}

/* Responsive FAQ */
@media(max-width:600px){
  .faq details{padding:12px 16px}
  .faq summary{font-size:14px}
}

/* Article Hero / Featured Image */
@media(max-width:600px){
  .article-hero{margin:-1.5em -1.5em 1.5em -1.5em;border-radius:0 0 12px 12px;width:calc(100% + 3em);}
  .article-hero img{max-height:280px}
  .hero-content{bottom:1.25rem;left:1.25rem;right:1.25rem;}
  .hero-content h1{font-size:clamp(1.5rem,5vw,2rem);}
  .hero-gradient{height:55%;}
}

/* Responsive footer */
@media(max-width:600px){
  .site-footer .grid{grid-template-columns:1fr !important;gap:24px}
  .site-footer h4{margin-bottom:8px}
  .footer-links a{display:inline-block;margin:4px 8px !important;font-size:13px !important}
  .copy{font-size:12px}
}

/* Touch-friendly sizing */
@media(hover:none)and(pointer:coarse){
  .btn,.search-submit,.node,.hub-list a{padding:14px 22px}
  .search-field{font-size:16px}
  .secondary-nav a{padding:10px 0}
  .node li{padding:10px 0}
}

/* Responsive containers */
@media(max-width:600px){
  .container{padding:0 16px}
  .section{padding:48px 0}
  .article{padding:32px 0}
  .hub-hero{padding:40px 0 24px}
  h1{font-size:clamp(28px,8vw,36px)}
  h2{font-size:clamp(22px,6vw,28px)}
}

/* Responsive category & search grids */
@media(max-width:600px){
  .section-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:32px}
}

/* Skip link for accessibility */
.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:var(--primary-fg);padding:8px 16px;z-index:1000;transition:top .2s}
.skip-link:focus{top:0}
