/* ================================================================
   Synergie.Web — Le notebook d'un dev freelance
   Identité : terminal GitHub dark + markdown + graph paper
   ================================================================ */

html { font-size: 16px !important; }

:root {
  --c-bg: #0D1117;
  --c-panel: #161B22;
  --c-panel-2: #1C2128;
  --c-border: #30363D;
  --c-border-2: #21262D;
  --c-mint: #7EE787;
  --c-mint-dark: #238636;
  --c-red: #FF7B72;
  --c-red-dark: #DA3633;
  --c-purple: #D2A8FF;
  --c-blue: #79C0FF;
  --c-yellow: #F0B429;
  --c-cream: #F0F6FC;
  --c-text: #C9D1D9;
  --c-dim: #8B949E;
  --c-muted: #6E7681;
  --f-mono: 'JetBrains Mono', 'Fira Code', 'IBM Plex Mono', 'Courier New', monospace;
  --f-sans: 'Inter', system-ui, sans-serif;
  --grid-bg:
    linear-gradient(rgba(48,54,61,0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(48,54,61,0.4) 1px, transparent 1px);
}

/* ---------- BASE ---------- */
body, body.generatepress {
  font-family: var(--f-mono) !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  background-image: var(--grid-bg) !important;
  background-size: 32px 32px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.entry-content :where(h1,h2,h3,h4,h5,h6),
.site-title, .site-title a {
  font-family: var(--f-mono) !important;
  color: var(--c-cream) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}
h1 { font-size: clamp(1.8rem, 3.8vw, 2.8rem) !important; }
h1::before, .entry-content h1::before { content: '# '; color: var(--c-mint); }
h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; margin-top: 2.4rem !important; }
.entry-content h2::before { content: '## '; color: var(--c-mint); font-weight: 400; }
h3 { font-size: 1.2rem !important; }
.entry-content h3::before { content: '### '; color: var(--c-purple); font-weight: 400; }
a { color: var(--c-mint); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .15s; }
a:hover { color: var(--c-cream); background: var(--c-mint-dark); }
strong { color: var(--c-cream); font-weight: 700; }
code { background: var(--c-panel); color: var(--c-purple); padding: 2px 6px; border-radius: 3px; font-size: 0.9em; }
::selection { background: var(--c-mint-dark); color: var(--c-cream); }

/* ---------- HEADER ---------- */
.site-header, header.site-header {
  background: var(--c-panel) !important;
  border-bottom: 1px solid var(--c-border) !important;
  box-shadow: none !important;
  padding: 14px 4vw !important;
  position: relative;
}
.site-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--c-mint) 0%, var(--c-purple) 50%, var(--c-blue) 100%);
}
.inside-header {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
}
.site-branding img, .site-logo img, .site-logo a img,
.custom-logo, .header-image, img.header-image, img.is-logo-image,
header img.custom-logo, .site-branding-container img {
  height: 48px !important;
  width: 224px !important;
  max-height: 52px !important;
  max-width: 240px !important;
  object-fit: contain !important;
  display: inline-block !important;
  opacity: 1 !important;
}
.site-logo, .site-branding-container, .site-branding { display: flex !important; align-items: center !important; }
.site-branding .site-title, .site-branding .site-description,
.site-branding-text, header h1.site-title, header .site-description,
.main-title { display: none !important; }

.main-navigation { background: transparent !important; }
.main-navigation .menu > li > a,
nav .menu > li > a {
  font-family: var(--f-mono) !important;
  font-size: 0.86rem !important;
  color: var(--c-text) !important;
  font-weight: 500 !important;
  padding: 10px 14px !important;
  background: transparent !important;
  position: relative;
  text-transform: lowercase;
  letter-spacing: 0 !important;
}
.main-navigation .menu > li > a::before { content: '/'; color: var(--c-mint); margin-right: 4px; }
.main-navigation .menu > li > a:hover,
.main-navigation .current-menu-item > a {
  color: var(--c-mint) !important;
  background: var(--c-panel-2) !important;
}

/* ---------- WP CRUFT KILL + FULL-BLEED ---------- */
#secondary, .widget-area, .sidebar,
#comments, .comments-area,
.post-navigation, .nav-links, .nav-previous, .nav-next,
.search-form, .header-search,
.site-footer, footer.site-footer,
.generate-back-to-top,
#author-bio, .author-bio, .entry-author, .author-info { display: none !important; }

.site-content, body .site-content { display: block !important; }
.content-area, #primary.content-area, body .content-area {
  width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important;
}
main.site-main, body .site-main { margin: 0 !important; padding: 0 !important; width: 100% !important; }
body.home .site.grid-container,
body.home div.site.grid-container.container.hfeed {
  max-width: 100% !important; margin: 0 !important; padding: 0 !important;
}
body.home .inside-article { padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; }

/* GP default white background on .inside-article → dark everywhere */
.inside-article, body .inside-article,
.single-post .inside-article, body.page .inside-article,
.archive .inside-article, .blog .inside-article {
  background: var(--c-bg) !important;
  color: var(--c-text) !important;
  box-shadow: none !important;
}
/* Auto-TOC nav that might render with white bg */
.entry-content nav.toc, .entry-content .toc, .entry-content #table-of-contents,
nav.toc, .post-toc, #table-of-contents {
  background: var(--c-panel) !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  padding: 20px 24px !important;
}
.entry-content nav.toc a, .entry-content .toc a,
nav.toc a, .post-toc a { color: var(--c-mint) !important; }

/* Ensure white or near-white body bg inherited from GP is dark everywhere */
body, body.generatepress, body .site, body #page { background: var(--c-bg) !important; }

/* ---------- CONTAINERS ---------- */
.entry-content { font-size: 1rem; color: var(--c-text); }
.entry-content p { max-width: 72ch; }
body.home .entry-content { max-width: 100%; padding: 0; margin: 0; }
body.home .entry-title, body.home .page-title, body.home .entry-header { display: none !important; }
body.home .page-header, body.error404 .page-header, body.single-post .page-header { display: none !important; }

/* ---------- HOMEPAGE ---------- */
.sw-home { background: transparent; }

/* HERO TERMINAL */
.sw-hero {
  padding: 70px 4vw 60px;
  border-bottom: 1px solid var(--c-border);
}
.sw-hero-inner { max-width: 1280px; margin: 0 auto; }

.sw-terminal {
  background: var(--c-panel);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 80px rgba(126,231,135,0.08);
}
.sw-terminal-bar {
  background: var(--c-panel-2);
  padding: 12px 16px;
  border-bottom: 1px solid var(--c-border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.sw-terminal-bar .dot { width: 12px; height: 12px; border-radius: 50%; }
.sw-terminal-bar .dot-red { background: #FF5F57; }
.sw-terminal-bar .dot-yellow { background: #FEBC2E; }
.sw-terminal-bar .dot-green { background: #28C840; }
.sw-terminal-bar .tab {
  margin-left: 20px;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-dim);
  padding: 4px 14px;
  background: var(--c-panel);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border: 1px solid var(--c-border);
  border-bottom: none;
  margin-bottom: -13px;
}
.sw-terminal-body {
  padding: 48px 52px 52px;
  font-family: var(--f-mono);
  font-size: 1rem;
  line-height: 1.8;
}

.sw-ascii {
  font-family: var(--f-mono);
  font-size: clamp(0.6rem, 1.3vw, 1.1rem);
  line-height: 1;
  white-space: pre;
  color: var(--c-mint);
  margin: 0 0 30px;
  text-shadow: 0 0 20px rgba(126,231,135,0.3);
  overflow-x: auto;
}

.sw-prompt-line {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
  color: var(--c-text);
  font-size: 0.98rem;
}
.sw-prompt-line .user { color: var(--c-mint); font-weight: 700; }
.sw-prompt-line .dollar { color: var(--c-mint); font-weight: 700; }
.sw-prompt-line .cmd { color: var(--c-cream); }
.sw-prompt-line .arg { color: var(--c-purple); }
.sw-prompt-line .comment { color: var(--c-muted); }

.sw-output {
  padding: 8px 0 18px 20px;
  color: var(--c-dim);
  font-size: 0.94rem;
  border-left: 2px solid var(--c-border-2);
  margin-left: 4px;
  margin-bottom: 14px;
}
.sw-output strong { color: var(--c-mint); }
.sw-output em { color: var(--c-purple); font-style: normal; }
.sw-output .ok { color: var(--c-mint); }
.sw-output .warn { color: var(--c-yellow); }
.sw-output .info { color: var(--c-blue); }

.sw-cursor {
  display: inline-block;
  width: 10px;
  height: 1.1em;
  background: var(--c-mint);
  vertical-align: text-bottom;
  animation: sw-blink 1.1s step-end infinite;
}
@keyframes sw-blink {
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

.sw-hero-cta {
  display: flex;
  gap: 14px;
  margin-top: 34px;
  flex-wrap: wrap;
  padding-top: 22px;
  border-top: 1px dashed var(--c-border);
}
.sw-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  font-family: var(--f-mono);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none !important;
  border: 1px solid var(--c-mint);
  background: var(--c-mint-dark);
  color: var(--c-cream) !important;
  border-radius: 6px;
  transition: all .15s;
}
.sw-btn::before { content: '>'; color: var(--c-cream); }
.sw-btn:hover { background: var(--c-mint); color: var(--c-bg) !important; }
.sw-btn:hover::before { color: var(--c-bg); }
.sw-btn-ghost {
  background: transparent;
  border-color: var(--c-border);
  color: var(--c-text) !important;
}
.sw-btn-ghost::before { color: var(--c-mint); }
.sw-btn-ghost:hover { background: var(--c-panel); color: var(--c-cream) !important; border-color: var(--c-mint); }

/* STATUS BAR */
.sw-status {
  background: var(--c-panel);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  padding: 22px 4vw;
}
.sw-status-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.sw-stat { font-family: var(--f-mono); }
.sw-stat-label {
  display: block;
  font-size: 0.7rem;
  color: var(--c-dim);
  margin-bottom: 6px;
  letter-spacing: 0.08em;
}
.sw-stat-label::before { content: '// '; color: var(--c-muted); }
.sw-stat-value {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-mint);
  font-feature-settings: "tnum";
}
.sw-stat-value .unit { color: var(--c-dim); font-size: 0.9rem; font-weight: 400; }

/* SECTION HEADER */
.sw-section-head {
  margin-bottom: 44px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--c-border);
}
.sw-kicker {
  display: inline-block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-purple);
  font-weight: 600;
  margin-bottom: 12px;
}
.sw-kicker::before { content: '// '; color: var(--c-muted); }
.sw-section-head h2 {
  font-family: var(--f-mono) !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  margin: 0 !important;
  color: var(--c-cream) !important;
  font-weight: 700 !important;
}
.sw-section-head h2::before { content: '## '; color: var(--c-mint); }

/* FILE TREE — hub categories */
.sw-tree {
  padding: 80px 4vw;
}
.sw-tree-inner { max-width: 1280px; margin: 0 auto; }
.sw-tree-panel {
  background: var(--c-panel);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
}
.sw-tree-bar {
  background: var(--c-panel-2);
  padding: 10px 16px;
  border-bottom: 1px solid var(--c-border);
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--c-dim);
  display: flex;
  align-items: center;
  gap: 10px;
}
.sw-tree-bar::before { content: '▾'; color: var(--c-mint); }
.sw-tree-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.sw-tree-item {
  padding: 28px 26px 30px;
  border-right: 1px solid var(--c-border);
  text-decoration: none !important;
  color: var(--c-text) !important;
  display: block;
  transition: background .15s;
  font-family: var(--f-mono);
}
.sw-tree-item:last-child { border-right: none; }
.sw-tree-item:hover { background: var(--c-panel-2); color: var(--c-cream) !important; }
.sw-tree-item-line {
  display: block;
  font-size: 0.78rem;
  color: var(--c-muted);
  margin-bottom: 10px;
}
.sw-tree-item-line::before { content: '├── '; color: var(--c-mint); }
.sw-tree-item-name {
  font-family: var(--f-mono);
  font-size: 1.2rem;
  color: var(--c-cream);
  font-weight: 700;
  margin-bottom: 8px;
  display: block;
}
.sw-tree-item-name .ext { color: var(--c-purple); }
.sw-tree-item-desc {
  font-size: 0.88rem;
  color: var(--c-dim);
  line-height: 1.55;
  margin-bottom: 14px;
}
.sw-tree-item-meta {
  font-size: 0.74rem;
  color: var(--c-muted);
}
.sw-tree-item-meta .ok { color: var(--c-mint); }

/* COMMITS — featured articles as git log */
.sw-commits {
  padding: 80px 4vw;
  border-top: 1px solid var(--c-border);
}
.sw-commits-inner { max-width: 1280px; margin: 0 auto; }
.sw-commits-panel {
  background: var(--c-panel);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
}
.sw-commits-bar {
  background: var(--c-panel-2);
  padding: 12px 18px;
  border-bottom: 1px solid var(--c-border);
  font-family: var(--f-mono);
  font-size: 0.8rem;
  color: var(--c-dim);
}
.sw-commits-bar::before { content: '$ '; color: var(--c-mint); }
.sw-commits-bar strong { color: var(--c-cream); font-weight: 500; }
.sw-commit {
  display: grid;
  grid-template-columns: 140px 1fr 180px;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--c-border-2);
  text-decoration: none !important;
  color: inherit !important;
  transition: background .15s;
  align-items: start;
}
.sw-commit:last-child { border-bottom: none; }
.sw-commit:hover { background: var(--c-panel-2); }
.sw-commit-hash {
  font-family: var(--f-mono);
  font-size: 0.84rem;
  color: var(--c-yellow);
  padding-top: 4px;
}
.sw-commit-body h3 {
  font-family: var(--f-mono) !important;
  font-size: 1.1rem !important;
  color: var(--c-cream) !important;
  margin: 0 0 8px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.sw-commit-body h3::before { content: none; }
.sw-commit-body p {
  font-size: 0.88rem;
  color: var(--c-dim);
  margin: 0 0 8px;
  line-height: 1.55;
}
.sw-commit-body .tags { display: flex; gap: 6px; flex-wrap: wrap; }
.sw-commit-body .tag {
  font-size: 0.7rem;
  color: var(--c-purple);
  background: var(--c-panel-2);
  padding: 2px 8px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  font-family: var(--f-mono);
}
.sw-commit-author {
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--c-dim);
  text-align: right;
  padding-top: 4px;
}
.sw-commit-author .name { color: var(--c-mint); display: block; }
.sw-commit-author .date { color: var(--c-muted); display: block; margin-top: 2px; font-size: 0.72rem; }

/* PORTRAIT THOMAS — markdown preview */
.sw-portrait {
  padding: 90px 4vw 100px;
  border-top: 1px solid var(--c-border);
  background: var(--c-bg);
}
.sw-portrait-inner {
  max-width: 980px;
  margin: 0 auto;
  background: var(--c-panel);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
}
.sw-portrait-bar {
  background: var(--c-panel-2);
  padding: 10px 16px;
  border-bottom: 1px solid var(--c-border);
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--c-dim);
}
.sw-portrait-bar::before { content: '📄 '; }
.sw-portrait-body {
  padding: 46px 52px 48px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 48px;
  align-items: start;
}
.sw-portrait-avatar {
  width: 180px;
  height: 180px;
  background: var(--c-panel-2);
  border: 2px solid var(--c-mint);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-mono);
  font-size: 6rem;
  color: var(--c-mint);
  font-weight: 700;
  border-radius: 8px;
  position: relative;
  box-shadow: 0 0 40px rgba(126,231,135,0.15);
}
.sw-portrait-avatar::after {
  content: '$';
  position: absolute;
  top: 10px; right: 14px;
  color: var(--c-mint);
  font-size: 1.4rem;
  opacity: 0.4;
}
.sw-portrait-content h2 {
  font-family: var(--f-mono) !important;
  font-size: 1.8rem !important;
  margin: 0 0 8px !important;
  color: var(--c-cream) !important;
}
.sw-portrait-content h2::before { content: '## '; color: var(--c-mint); font-weight: 400; }
.sw-portrait-content .role {
  display: block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-purple);
  margin-bottom: 18px;
}
.sw-portrait-content .role::before { content: '// '; color: var(--c-muted); }
.sw-portrait-content blockquote {
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.98rem;
  color: var(--c-text);
  margin: 0 0 18px;
  padding: 14px 18px;
  border: none !important;
  border-left: 3px solid var(--c-mint) !important;
  background: var(--c-panel-2) !important;
  line-height: 1.65;
}
.sw-portrait-content blockquote::before { content: '> '; color: var(--c-dim); }
.sw-portrait-content p {
  margin: 0 0 14px;
  color: var(--c-text);
  font-size: 0.96rem;
  line-height: 1.7;
  font-family: var(--f-mono);
}
.sw-portrait-content .sw-btn { background: var(--c-mint-dark); border-color: var(--c-mint); }

/* ---------- FOOTER STATUS BAR ---------- */
.sw-footer {
  background: var(--c-panel);
  color: var(--c-text);
  padding: 60px 4vw 30px;
  border-top: 1px solid var(--c-border);
  position: relative;
}
.sw-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--c-mint) 0%, var(--c-purple) 100%);
}
.sw-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 44px;
}
.sw-footer-col img.sw-footer-logo { max-height: 48px; width: auto; margin-bottom: 18px; }
.sw-footer-col h4 {
  font-family: var(--f-mono) !important;
  font-size: 0.82rem !important;
  color: var(--c-mint) !important;
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
  font-weight: 700 !important;
}
.sw-footer-col h4::before { content: '## '; color: var(--c-purple); font-weight: 400; }
.sw-footer-col p {
  font-size: 0.92rem;
  color: var(--c-dim);
  margin: 0 0 14px;
  line-height: 1.7;
  font-family: var(--f-mono);
}
.sw-footer-col p strong, .sw-footer strong { color: var(--c-mint) !important; font-weight: 700 !important; }
.sw-footer-col ul { list-style: none; padding: 0; margin: 0; }
.sw-footer-col li { margin: 0 0 8px; }
.sw-footer-col a {
  color: var(--c-text);
  text-decoration: none;
  font-size: 0.92rem;
  font-family: var(--f-mono);
  position: relative;
  padding-left: 22px;
  transition: color .15s;
}
.sw-footer-col a::before {
  content: '├─';
  position: absolute;
  left: 0;
  color: var(--c-mint);
}
.sw-footer-col a:hover { color: var(--c-mint); }
.sw-footer-bottom {
  max-width: 1280px;
  margin: 44px auto 0;
  padding: 20px 0 0;
  border-top: 1px dashed var(--c-border);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-family: var(--f-mono);
  font-size: 0.76rem;
  color: var(--c-muted);
}
.sw-footer-bottom .left { color: var(--c-dim); }
.sw-footer-bottom .left strong { color: var(--c-mint); }
.sw-footer-bottom .right { color: var(--c-muted); }
.sw-footer-bottom .right::before { content: '● '; color: var(--c-mint); }

/* ---------- 404 ---------- */
.sw-404 {
  text-align: center;
  padding: 100px 24px 120px;
  max-width: 760px;
  margin: 0 auto;
}
.sw-404 .sw-terminal { text-align: left; }
.sw-404 .sw-404-num {
  font-family: var(--f-mono) !important;
  font-size: clamp(6rem, 14vw, 11rem) !important;
  color: var(--c-red) !important;
  line-height: 0.85 !important;
  margin: 0 !important;
  font-weight: 700 !important;
  max-width: none !important;
}
.sw-404 h1 { font-size: 1.8rem !important; margin: 22px 0 18px !important; }
.sw-404 h1::before { content: none; }
.sw-404 p { color: var(--c-dim); font-size: 0.98rem; margin: 0 0 30px; line-height: 1.7; font-family: var(--f-mono); }

/* ---------- ARCHIVE / BLOG ---------- */
body.archive .page-header, body.category .page-header,
body.blog .page-header, body.search-results .page-header {
  background: var(--c-panel) !important;
  color: var(--c-cream) !important;
  text-align: left !important;
  padding: 60px 4vw 50px !important;
  margin: 0 0 50px !important;
  position: relative;
  border-bottom: 1px solid var(--c-border) !important;
}
body.archive .page-header::before, body.blog .page-header::before {
  content: '$ ls -la ./articles/';
  display: block;
  font-family: var(--f-mono);
  font-size: 0.84rem;
  color: var(--c-mint);
  margin-bottom: 12px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
body.archive .page-header .container, body.blog .page-header .container {
  max-width: 1280px !important; margin: 0 auto !important; padding: 0 !important;
}
body.archive .page-header-title, body.archive .page-header h1,
body.blog .page-header h1 {
  color: var(--c-cream) !important;
  font-family: var(--f-mono) !important;
  font-size: clamp(1.8rem, 3.4vw, 2.4rem) !important;
  font-weight: 700 !important;
  margin: 0 !important;
  text-transform: none !important;
  max-width: 1280px;
  margin: 0 auto !important;
}
body.archive .page-header h1::before, body.blog .page-header h1::before { content: '# '; color: var(--c-mint); }
body.archive .term-description {
  color: var(--c-dim) !important;
  max-width: 1280px !important;
  margin: 14px auto 0 !important;
  font-size: 0.94rem !important;
  font-family: var(--f-mono) !important;
}

body.archive #main, body.blog #main, .search-results #main {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 4vw 80px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 24px !important;
}
body.archive #main > .page-header, body.archive #main > nav,
body.blog #main > .page-header, body.blog #main > nav { grid-column: 1/-1 !important; }
body.archive #main article.post, body.blog #main article.post {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  transition: all .2s;
}
body.archive #main article.post:hover, body.blog #main article.post:hover {
  border-color: var(--c-mint) !important;
  box-shadow: 0 0 0 1px var(--c-mint), 0 0 30px rgba(126,231,135,0.1);
}
body.archive article .post-image, body.blog article .post-image,
body.archive article .post-thumbnail, body.blog article .post-thumbnail {
  display: block !important;
  aspect-ratio: 16/10;
  overflow: hidden;
  border-bottom: 1px solid var(--c-border);
}
body.archive article img.wp-post-image, body.blog article img.wp-post-image {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  filter: brightness(0.85);
  transition: all .3s;
}
body.archive article:hover img.wp-post-image, body.blog article:hover img.wp-post-image {
  filter: brightness(1);
  transform: scale(1.04);
}
body.archive article .inside-article, body.blog article .inside-article,
body.archive article .entry-content, body.blog article .entry-content,
body.archive article .entry-summary, body.blog article .entry-summary {
  padding: 20px 24px 22px !important;
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.archive article .entry-title, body.blog article .entry-title {
  font-family: var(--f-mono) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  color: var(--c-cream) !important;
  line-height: 1.35 !important;
}
body.archive article .entry-title::before, body.blog article .entry-title::before { content: none; }
body.archive article .entry-title a, body.blog article .entry-title a {
  color: var(--c-cream) !important;
  text-decoration: none !important;
}
body.archive article .entry-meta, body.blog article .entry-meta {
  font-family: var(--f-mono) !important;
  font-size: 0.76rem !important;
  color: var(--c-dim) !important;
}
body.archive article .entry-meta a, body.blog article .entry-meta a { color: var(--c-purple) !important; }
body.archive article p { color: var(--c-dim) !important; font-size: 0.9rem !important; }
body.archive article .read-more, body.archive article .read-more-link { color: var(--c-mint) !important; font-family: var(--f-mono) !important; font-size: 0.78rem !important; }

/* ---------- ARTICLE SINGLE ---------- */
.single-post #content-wrap, .single-post #main,
.single-post .content-area, .single-post #primary {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 40px 24px 80px !important;
}
.single-post article.post, .single-post .entry {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  padding: 48px 60px !important;
  margin: 0 auto !important;
  max-width: 1060px !important;
}
.single-post .entry-header {
  text-align: left;
  padding: 0 0 20px;
  margin: 0 0 24px;
  border-bottom: 1px dashed var(--c-border);
}
.single-post .entry-header::before {
  content: '$ cat ./article.md';
  display: block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-mint);
  margin-bottom: 16px;
}
.single-post .entry-title {
  font-family: var(--f-mono) !important;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem) !important;
  margin: 0 0 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--c-cream) !important;
}
.single-post .entry-title::before { content: '# '; color: var(--c-mint); font-weight: 400; }
.single-post .meta, .single-post .entry-meta {
  font-family: var(--f-mono) !important;
  font-size: 0.78rem !important;
  color: var(--c-dim) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.single-post .meta a, .single-post .entry-meta a { color: var(--c-purple) !important; }
.single-post .thumbnail, .single-post .entry-media, .single-post .post-thumbnail {
  display: block !important;
  max-width: 960px !important;
  width: 100% !important;
  margin: 24px auto 30px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: var(--c-bg) !important;
}
.single-post .thumbnail img, .single-post .entry-media img {
  width: 100% !important; height: auto !important; display: block !important;
}
.single-post .entry-content {
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--c-text) !important;
}
.single-post .entry-content p { max-width: 80ch; }
.single-post .entry-content figure { margin: 2rem auto; border: 1px solid var(--c-border); background: var(--c-bg); }
.single-post .entry-content figure img { display: block; width: 100%; height: auto; }
.single-post .entry-content figcaption {
  text-align: center;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-dim);
  padding: 10px 0;
  background: var(--c-panel-2);
}
.single-post .entry-content blockquote {
  font-family: var(--f-mono);
  font-size: 1rem;
  color: var(--c-text);
  border: none;
  border-left: 4px solid var(--c-mint);
  padding: 14px 20px;
  margin: 2rem 0;
  background: var(--c-panel-2);
  line-height: 1.65;
}
.single-post .entry-content blockquote::before { content: '> '; color: var(--c-mint); }

/* ---------- PAGES STATIQUES ---------- */
body.page:not(.home) header.page-header, body.page:not(.home) .page-header {
  display: block !important;
  background: var(--c-panel) !important;
  padding: 60px 24px 30px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
  text-align: left !important;
  position: relative !important;
}
body.page:not(.home) .page-header .container {
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.page:not(.home) .page-header::before {
  content: '$ cat ./page.md';
  display: block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-mint);
  margin-bottom: 12px;
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}
body.page:not(.home) .page-header-title, body.page:not(.home) .page-header h1,
body.page:not(.home) .entry-title {
  font-family: var(--f-mono) !important;
  font-size: clamp(2rem, 4vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--c-cream) !important;
  margin: 0 !important;
  display: block !important;
  text-transform: none !important;
}
body.page:not(.home) .page-header h1::before,
body.page:not(.home) .entry-title::before { content: '# '; color: var(--c-mint); font-weight: 400; }
body.page:not(.home) #content-wrap, body.page:not(.home) #main,
body.page:not(.home) .content-area {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 40px 24px 80px !important;
}
body.page:not(.home) article.page, body.page:not(.home) .entry {
  background: var(--c-panel) !important;
  box-shadow: none !important;
  padding: 46px 56px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
}
body.page:not(.home) .entry-content {
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 1rem !important;
}
body.page:not(.home) .entry-content p { max-width: 80ch; }
body.page:not(.home) .entry-content h1::before { content: '# '; color: var(--c-mint); }
body.page:not(.home) .entry-content h2::before { content: '## '; color: var(--c-mint); }
body.page:not(.home) .entry-content h3::before { content: '### '; color: var(--c-purple); }

/* ---------- CONTACT FORM 7 ---------- */
.wpcf7-form {
  display: grid;
  gap: 18px;
  max-width: 640px;
  margin: 0 auto;
  background: var(--c-panel);
  padding: 40px 34px 36px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  position: relative;
  font-family: var(--f-mono);
}
.wpcf7-form::before {
  content: '$ touch ./message.txt && nano ./message.txt';
  display: block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-mint);
  margin-bottom: 12px;
}
.wpcf7-form label {
  display: block;
  font-family: var(--f-mono);
  font-size: 0.82rem;
  color: var(--c-mint);
  margin-bottom: 4px;
}
.wpcf7-form label::before { content: '// '; color: var(--c-muted); }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"],
.wpcf7-form input[type="url"], .wpcf7-form textarea, .wpcf7-form select {
  width: 100%;
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  padding: 12px 14px;
  font-family: var(--f-mono);
  font-size: 0.92rem;
  color: var(--c-text);
  border-radius: 4px;
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--c-mint);
  box-shadow: 0 0 0 3px rgba(126,231,135,0.2);
}
.wpcf7-form textarea { min-height: 160px; resize: vertical; }
.wpcf7-form .wpcf7-submit, .wpcf7-form input[type="submit"] {
  background: var(--c-mint-dark) !important;
  color: var(--c-cream) !important;
  border: 1px solid var(--c-mint) !important;
  padding: 12px 28px !important;
  font-family: var(--f-mono) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: auto !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}
.wpcf7-form input[type="submit"]:hover { background: var(--c-mint) !important; color: var(--c-bg) !important; }

/* ============================================================
   SHORTCODE OVERRIDES — markdown / terminal style
   ============================================================ */

.entry-content .site-summary {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-left: 4px solid var(--c-mint) !important;
  border-radius: 6px !important;
  padding: 24px 28px !important;
  margin: 2rem 0 !important;
  box-shadow: none !important;
  font-family: var(--f-mono) !important;
  position: relative !important;
}
.entry-content .site-summary::before {
  content: '// Résumé';
  display: block;
  font-size: 0.74rem;
  color: var(--c-mint);
  margin-bottom: 14px;
}
.entry-content .site-summary-title {
  display: block !important;
  font-family: var(--f-mono) !important;
  font-size: 1.15rem !important;
  color: var(--c-cream) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
.entry-content .site-summary-title::before { content: '## '; color: var(--c-mint); font-weight: 400; }
.entry-content .site-summary ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.entry-content .site-summary li {
  position: relative !important;
  padding: 6px 0 6px 26px !important;
  font-size: 0.96rem !important;
  color: var(--c-text) !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-summary li::before {
  content: '- [x]' !important;
  position: absolute !important;
  left: 0 !important;
  top: 6px !important;
  color: var(--c-mint) !important;
  font-size: 0.84rem !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-summary strong { color: var(--c-mint) !important; }

/* site_encart — callout note */
.entry-content .site-encart {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-purple) !important;
  border-left: 4px solid var(--c-purple) !important;
  border-radius: 6px !important;
  padding: 26px 30px !important;
  margin: 2rem 0 !important;
  position: relative !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-encart::before {
  content: '📌 note';
  display: block;
  font-size: 0.74rem;
  color: var(--c-purple);
  margin-bottom: 12px;
}
.entry-content .site-encart-title {
  display: block !important;
  background: transparent !important;
  color: var(--c-cream) !important;
  font-family: var(--f-mono) !important;
  font-size: 1.1rem !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
.entry-content .site-encart-title::before { content: '## '; color: var(--c-purple); font-weight: 400; }
.entry-content .site-encart ul { list-style: none !important; padding: 0 !important; }
.entry-content .site-encart li {
  position: relative !important;
  padding: 6px 0 6px 24px !important;
  font-size: 0.96rem !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-encart li::before {
  content: '-' !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--c-purple) !important;
  top: 6px !important;
  font-family: var(--f-mono);
}
.entry-content .site-encart strong { color: var(--c-purple) !important; }

/* site_toc — file tree */
.entry-content .site-toc {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  padding: 24px 28px !important;
  margin: 2rem 0 !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-toc::before {
  content: '$ tree ./article/';
  display: block;
  font-size: 0.78rem;
  color: var(--c-mint);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--c-border);
}
.entry-content .site-toc-title {
  font-family: var(--f-mono) !important;
  font-size: 1.02rem !important;
  color: var(--c-cream) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 700 !important;
}
.entry-content .site-toc-title::before { content: './article/ '; color: var(--c-purple); font-weight: 400; }
.entry-content .site-toc ol {
  list-style: none !important;
  counter-reset: sw-toc !important;
  padding: 0 !important;
  margin: 0 !important;
}
.entry-content .site-toc ol li {
  position: relative !important;
  padding: 6px 0 6px 40px !important;
  counter-increment: sw-toc !important;
  font-size: 0.92rem !important;
  background: transparent !important;
  font-family: var(--f-mono) !important;
  color: var(--c-text) !important;
}
.entry-content .site-toc ol li::before {
  content: '├── ' counter(sw-toc, decimal-leading-zero) '.' !important;
  position: absolute !important;
  left: 0 !important;
  top: 6px !important;
  color: var(--c-mint) !important;
  font-family: var(--f-mono) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
}
.entry-content .site-toc ol li:last-child::before { content: '└── ' counter(sw-toc, decimal-leading-zero) '.' !important; }
.entry-content .site-toc a { color: var(--c-text) !important; text-decoration: none !important; }
.entry-content .site-toc a:hover { color: var(--c-mint) !important; }

/* site_alerte — > Warning blockquote */
.entry-content .site-alerte, .entry-content .site-notice {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-yellow) !important;
  border-left: 4px solid var(--c-yellow) !important;
  border-radius: 6px !important;
  padding: 22px 28px 22px 58px !important;
  margin: 2rem 0 !important;
  position: relative !important;
  font-family: var(--f-mono) !important;
}
.entry-content .site-alerte::before, .entry-content .site-notice::before {
  content: '⚠' !important;
  position: absolute !important;
  left: 22px !important;
  top: 20px !important;
  font-size: 1.4rem !important;
  color: var(--c-yellow) !important;
}
.entry-content .site-alerte.danger, .entry-content .site-notice.danger {
  border-color: var(--c-red) !important;
}
.entry-content .site-alerte.danger::before { content: '❌' !important; color: var(--c-red) !important; }
.entry-content .site-alerte.success, .entry-content .site-notice.success {
  border-color: var(--c-mint) !important;
}
.entry-content .site-alerte.success::before { content: '✓' !important; color: var(--c-mint) !important; }
.entry-content .site-alerte-title, .entry-content .site-notice-title {
  font-family: var(--f-mono) !important;
  font-size: 0.78rem !important;
  color: var(--c-yellow) !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
}

/* site_table — code block monospaced */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  margin: 2rem 0 !important;
  background: var(--c-panel) !important;
  font-family: var(--f-mono) !important;
  overflow: hidden;
}
.entry-content table th {
  background: var(--c-panel-2) !important;
  color: var(--c-mint) !important;
  font-family: var(--f-mono) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--c-border) !important;
}
.entry-content table td {
  padding: 11px 16px !important;
  border-bottom: 1px solid var(--c-border-2) !important;
  font-size: 0.9rem !important;
  color: var(--c-text) !important;
  font-family: var(--f-mono) !important;
}
.entry-content table tr:nth-child(even) td { background: var(--c-panel-2) !important; }
.entry-content table td:first-child {
  color: var(--c-purple) !important;
  font-weight: 500 !important;
}

/* site_chiffres — const stats */
.entry-content .site-chiffres {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 1px !important;
  margin: 2rem 0 !important;
  padding: 0 !important;
  background: var(--c-border) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  overflow: hidden;
}
.entry-content .site-chiffre {
  text-align: left !important;
  background: var(--c-panel) !important;
  padding: 22px !important;
  border: none !important;
}
.entry-content .site-chiffre-valeur, .entry-content .site-chiffre .valeur {
  display: block !important;
  font-family: var(--f-mono) !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--c-mint) !important;
  line-height: 1 !important;
  font-feature-settings: "tnum" !important;
}
.entry-content .site-chiffre-label, .entry-content .site-chiffre .label {
  display: block !important;
  font-family: var(--f-mono) !important;
  font-size: 0.74rem !important;
  color: var(--c-dim) !important;
  margin-top: 8px !important;
  font-weight: 500 !important;
}
.entry-content .site-chiffre-label::before, .entry-content .site-chiffre .label::before { content: '// '; color: var(--c-muted); }

/* site_prix */
.entry-content .site-prix {
  display: inline-block !important;
  background: var(--c-panel-2) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 4px !important;
  padding: 3px 10px !important;
  font-family: var(--f-mono) !important;
  font-size: 0.88rem !important;
  color: var(--c-purple) !important;
  margin: 0 3px !important;
}
.entry-content .site-prix.hausse { color: var(--c-red) !important; border-color: var(--c-red) !important; }
.entry-content .site-prix.baisse { color: var(--c-mint) !important; border-color: var(--c-mint) !important; }

/* site_badge */
.entry-content .site-badge {
  display: inline-block !important;
  background: var(--c-panel-2) !important;
  color: var(--c-mint) !important;
  font-family: var(--f-mono) !important;
  font-size: 0.74rem !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  border: 1px solid var(--c-border) !important;
  font-weight: 600 !important;
}
.entry-content .site-badge.expert { color: var(--c-red); border-color: var(--c-red); }
.entry-content .site-badge.recommended, .entry-content .site-badge.popular { color: var(--c-purple); border-color: var(--c-purple); }

/* site_tip */
.entry-content .site-tip {
  background: var(--c-panel) !important;
  border-left: 4px solid var(--c-blue) !important;
  padding: 20px 26px 20px 56px !important;
  border-radius: 6px !important;
  margin: 2rem 0 !important;
  font-family: var(--f-mono);
  font-size: 0.96rem;
  color: var(--c-text);
  position: relative;
}
.entry-content .site-tip::before {
  content: '💡';
  position: absolute;
  left: 20px; top: 18px;
  font-size: 1.3rem;
}
.entry-content .site-tip strong { color: var(--c-blue) !important; }

/* site_bio — git commit author */
.entry-content .site-bio, .entry-content .author-box, .entry-content .site-author-box {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-left: 4px solid var(--c-mint) !important;
  border-radius: 6px !important;
  padding: 28px 32px !important;
  margin: 3rem 0 1rem !important;
  display: flex !important;
  gap: 22px !important;
  align-items: center !important;
  box-shadow: none !important;
  position: relative;
  font-family: var(--f-mono) !important;
}
.entry-content .site-bio::before {
  content: '$ git log --author=\'Thomas Lefèvre\' -1';
  position: absolute;
  top: -10px; left: 22px;
  background: var(--c-bg);
  padding: 2px 10px;
  font-family: var(--f-mono);
  font-size: 0.74rem;
  color: var(--c-mint);
}
.entry-content .site-bio img, .entry-content .site-bio svg {
  width: 80px !important;
  height: 80px !important;
  border-radius: 6px !important;
  border: 2px solid var(--c-mint) !important;
  flex-shrink: 0;
}
.entry-content .site-bio-name {
  font-family: var(--f-mono) !important;
  font-size: 1.15rem !important;
  color: var(--c-cream) !important;
  margin: 0 0 4px !important;
  font-weight: 700 !important;
}
.entry-content .site-bio-name::before { content: 'Author: '; color: var(--c-dim); font-weight: 400; font-size: 0.85rem; }
.entry-content .site-bio-role {
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--c-purple);
}
.entry-content .site-bio-role::before { content: '// '; color: var(--c-muted); }
.entry-content .site-bio-text { font-size: 0.9rem; color: var(--c-dim); margin-top: 8px; line-height: 1.6; font-family: var(--f-mono); }

/* site_faq */
.entry-content .site-faq, .entry-content .site-faq-wrap { margin: 2.4rem 0; }
.entry-content .site-faq-title, .entry-content .site-faq h2 {
  font-family: var(--f-mono) !important;
  font-size: 1.6rem !important;
  color: var(--c-cream) !important;
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border: none !important;
  border-bottom: 1px solid var(--c-border) !important;
  font-weight: 700 !important;
}
.entry-content .site-faq-title::before, .entry-content .site-faq h2::before { content: '## '; color: var(--c-mint); font-weight: 400; }
.entry-content details.site-faq-item, .entry-content .site-faq-item, .entry-content details {
  background: var(--c-panel) !important;
  border: 1px solid var(--c-border) !important;
  border-left: 3px solid var(--c-purple) !important;
  border-radius: 6px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  counter-increment: sw-faq;
}
.entry-content .site-faq { counter-reset: sw-faq; }
.entry-content details.site-faq-item summary, .entry-content .site-faq-item summary,
.entry-content details summary {
  padding: 16px 22px 16px 58px !important;
  font-family: var(--f-mono) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--c-cream) !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
}
.entry-content details summary::-webkit-details-marker { display: none; }
.entry-content details summary::before {
  content: 'Q' counter(sw-faq, decimal-leading-zero) ':';
  position: absolute;
  left: 22px; top: 16px;
  font-family: var(--f-mono);
  color: var(--c-purple);
  font-weight: 700;
  font-size: 0.84rem;
}
.entry-content details summary::after {
  content: '+';
  position: absolute;
  right: 22px; top: 14px;
  font-size: 1.4rem;
  color: var(--c-mint);
  font-weight: 400;
}
.entry-content details[open] summary::after { content: '−'; }
.entry-content details[open] summary { border-bottom: 1px dashed var(--c-border); }
.entry-content details .site-faq-answer,
.entry-content details > p, .entry-content details > div {
  padding: 14px 22px 14px 58px !important;
  font-size: 0.94rem !important;
  color: var(--c-text) !important;
  font-family: var(--f-mono) !important;
}

/* ---------- BREADCRUMBS ---------- */
.breadcrumbs, #breadcrumbs, .yoast-breadcrumb {
  max-width: 1280px;
  margin: 14px auto 0;
  padding: 10px 4vw;
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--c-dim);
}
.breadcrumbs::before, #breadcrumbs::before { content: '$ pwd '; color: var(--c-mint); }
.breadcrumbs a, #breadcrumbs a { color: var(--c-purple); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 960px) {
  .sw-status-inner { grid-template-columns: repeat(2, 1fr); }
  .sw-tree-grid { grid-template-columns: 1fr; }
  .sw-tree-item { border-right: none; border-bottom: 1px solid var(--c-border); }
  .sw-commit { grid-template-columns: 1fr; gap: 8px; }
  .sw-commit-author { text-align: left; }
  .sw-portrait-body { grid-template-columns: 1fr; gap: 28px; }
  .sw-portrait-avatar { margin: 0 auto; }
  .sw-footer-inner { grid-template-columns: repeat(2, 1fr); gap: 30px; }
}
@media (max-width: 600px) {
  .sw-hero { padding: 40px 18px; }
  .sw-terminal-body { padding: 24px 22px; }
  .sw-ascii { font-size: 0.55rem; }
  .sw-status-inner { grid-template-columns: 1fr 1fr; gap: 18px; }
  .sw-footer-inner { grid-template-columns: 1fr; }
  .inside-header { padding: 0 !important; }
  .single-post article.post, body.page:not(.home) article.page, body.page:not(.home) .entry { padding: 24px 20px !important; }
  .entry-content .site-summary, .entry-content .site-encart, .entry-content .site-toc { padding: 20px 18px !important; }
}
