/* ═══════════════════════════════════════════
   GENUINEWELDING — Main Stylesheet v1.0
   Dark/Light Mode + Readability + Scrollable Tables + CTA Buttons
   ═══════════════════════════════════════════ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

/* ─── DARK MODE ───────────────────────── */
:root, [data-theme="dark"] {
  --bg:#0F141B; --surface:#161D26; --surface2:#1E2733; --surface3:#28323F;
  --accent:#5AA9E6; --accent-lt:#8AC4F0; --accent-dk:#3D87C4;
  --text:#E8ECF1; --text-2:#B4BDC9; --text-3:#8B96A5;
  --border:rgba(255,255,255,0.09); --border2:rgba(255,255,255,0.16);
  --post-text:#DFE5EC; --post-heading:#F2F5F9; --post-link:#8AC4F0; --post-link-h:#B3DAF7;
  --post-meta:#8B95A3; --post-code-bg:#161D26; --post-quote-bg:#131A22; --post-quote-border:#5AA9E6;
  --cta:#E85D1F; --cta-dk:#C2410C; --cta-rgb:232,93,31;
  --font-head:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --font-serif:'Plus Jakarta Sans',Georgia,serif;
  --font-post:'Inter',system-ui,-apple-system,sans-serif;
  --radius:8px; --radius-lg:12px;
  --fs-post-body:18px; --fs-post-h2:28px; --fs-post-h3:22px; --fs-post-lh:1.8;
}

/* ─── LIGHT MODE (default) ─────────────── */
[data-theme="light"] {
  --bg:#F5F7FA; --surface:#FFFFFF; --surface2:#EEF2F7; --surface3:#DFE6EF;
  --accent:#1B5E9E; --accent-lt:#2478C4; --accent-dk:#144B7E;
  --text:#1A1D23; --text-2:#4A5361; --text-3:#646E7C;
  --border:rgba(15,23,42,0.10); --border2:rgba(15,23,42,0.16);
  --post-text:#232830; --post-heading:#0F1620; --post-link:#1B5E9E; --post-link-h:#144B7E;
  --post-meta:#6B7482; --post-code-bg:#EEF2F7; --post-quote-bg:#EDF3F9; --post-quote-border:#1B5E9E;
}
[data-theme="light"] .topbar { background:#144B7E; }
[data-theme="light"] .site-header { box-shadow:0 1px 8px rgba(15,23,42,0.07); }
[data-theme="light"] .hero { background:linear-gradient(180deg,#FFFFFF 0%,#EAF1F8 100%); }
[data-theme="light"] .card { box-shadow:0 1px 4px rgba(15,23,42,0.05); }
[data-theme="light"] .card:hover { box-shadow:0 8px 24px rgba(15,23,42,0.10); }
[data-theme="light"] .widget { box-shadow:0 1px 4px rgba(15,23,42,0.05); }
[data-theme="light"] .post-content-wrap ul li::marker { color:var(--post-link); }
[data-theme="light"] .single-post-header h1 { color:#0B0F14; }
[data-theme="light"] .post-content-wrap strong { color:#000000; font-weight:700; }
[data-theme="light"] .recent-post-title { color:#0A0A0A; }

/* ═══════════════════════════════════════════
   PAGE TEMPLATE (Privacy, Terms, About, etc.)
   ═══════════════════════════════════════════ */
.page-header { padding:56px 24px 40px; }
.page-featured-image { max-width:960px; margin:32px auto 0; padding:0 24px; }
.page-featured-image img { border-radius:var(--radius-lg); border:1px solid var(--border); width:100%; max-height:400px; object-fit:cover; }
.page-wrap { max-width:820px; margin:0 auto; padding:0 24px; }
.page-content.post-content-wrap { max-width:100%; margin:0; padding:48px 0 64px; }

/* ─── FONT SIZE PRESETS ──────────────── */
[data-fontsize="small"] { --fs-post-body:16px; --fs-post-h2:24px; --fs-post-h3:19px; --fs-post-lh:1.75; }
[data-fontsize="medium"] { --fs-post-body:18px; --fs-post-h2:28px; --fs-post-h3:22px; --fs-post-lh:1.85; }
[data-fontsize="large"] { --fs-post-body:20px; --fs-post-h2:32px; --fs-post-h3:25px; --fs-post-lh:1.9; }
[data-fontsize="xlarge"] { --fs-post-body:22px; --fs-post-h2:36px; --fs-post-h3:28px; --fs-post-lh:1.95; }

/* Smooth theme transition */
body, body * { transition: background-color 0.3s ease, color 0.2s ease, border-color 0.3s ease, box-shadow 0.3s ease; }

/* ─── BASE ────────────────────────────── */
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }

/* ─── TOP BAR ─────────────────────────── */
.topbar { background:var(--accent); text-align:center; padding:8px 20px; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#fff; }

/* ─── HEADER ──────────────────────────── */
.site-header { position:sticky; top:0; z-index:100; background:var(--surface); border-bottom:1px solid var(--border); }
.header-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:24px; height:68px; }
.site-logo { flex-shrink:0; display:flex; align-items:center; gap:10px; }
.site-logo img { height:42px; width:auto; object-fit:contain; }
.site-logo .logo-mark { height:38px; }
.site-logo .logo-text { font-family:var(--font-serif); font-size:23px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--text); white-space:nowrap; }
.site-logo .logo-text span { color:var(--accent); }
.logo { font-family:var(--font-head); font-size:26px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--text); flex-shrink:0; }
.logo span { color:var(--accent); }
.main-navigation { flex:1; }
.main-navigation ul { list-style:none; display:flex; flex-wrap:nowrap; gap:2px; margin:0; padding:0; }
.main-navigation li { position:relative; }
.main-navigation a { font-size:12px; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; color:var(--text-2); padding:6px 9px; border-radius:6px; transition:color 0.15s,background 0.15s; display:block; white-space:nowrap; }
.main-navigation a:hover, .main-navigation .current-menu-item>a { color:var(--text); background:var(--surface2); }
.main-navigation .current-menu-item>a { color:var(--accent); }
.main-navigation ul ul { display:none; position:absolute; top:100%; left:0; background:var(--surface2); border:1px solid var(--border2); border-radius:var(--radius); min-width:200px; padding:8px 0; flex-direction:column; z-index:10; }
.main-navigation li:hover>ul { display:flex; }
.main-navigation ul ul a { padding:8px 16px; font-size:12px; }
.header-search { display:flex; align-items:center; gap:8px; background:var(--surface2); border:1px solid var(--border2); border-radius:8px; padding:6px 12px; min-width:180px; }
.header-search svg { color:var(--text-3); flex-shrink:0; }
.header-search input { background:none; border:none; outline:none; color:var(--text); font-family:var(--font-body); font-size:13px; width:100%; }
.header-search input::placeholder { color:var(--text-3); }
.menu-toggle { display:none; background:none; border:1px solid var(--border2); border-radius:6px; color:var(--text); padding:6px 10px; cursor:pointer; font-size:20px; }

/* ─── HERO ────────────────────────────── */
.hero { background:var(--surface); border-bottom:1px solid var(--border); padding:80px 24px 72px; text-align:center; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(128,128,128,0.03) 60px,rgba(128,128,128,0.03) 61px),repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(128,128,128,0.03) 60px,rgba(128,128,128,0.03) 61px); pointer-events:none; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(232,86,10,0.12); border:1px solid rgba(232,86,10,0.25); color:var(--accent-lt); font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:5px 14px; border-radius:100px; margin-bottom:24px; }
.hero-eyebrow::before { content:''; width:6px; height:6px; background:var(--accent); border-radius:50%; }
.hero h1 { font-family:var(--font-serif); font-size:clamp(40px,6vw,68px); font-weight:600; line-height:1.06; letter-spacing:-0.01em; text-transform:none; color:var(--text); margin-bottom:20px; }
.hero h1 em { font-style:normal; color:var(--accent); }
.hero-sub { font-size:17px; color:var(--text-2); max-width:520px; margin:0 auto 40px; line-height:1.7; }
.hero-search { display:flex; align-items:center; max-width:560px; margin:0 auto; background:var(--surface2); border:1px solid var(--border2); border-radius:12px; overflow:hidden; transition:border-color 0.2s; }
.hero-search:focus-within { border-color:var(--accent); }
.hero-search svg { margin-left:18px; color:var(--text-3); flex-shrink:0; }
.hero-search input { flex:1; background:none; border:none; outline:none; padding:16px; font-family:var(--font-body); font-size:15px; color:var(--text); }
.hero-search input::placeholder { color:var(--text-3); }
.hero-search button { background:var(--accent); border:none; color:#fff; font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; padding:0 24px; height:52px; cursor:pointer; transition:background 0.15s; flex-shrink:0; }
.hero-search button:hover { background:var(--accent-lt); }
.hero-stats { display:flex; justify-content:center; gap:40px; margin-top:48px; padding-top:40px; border-top:1px solid var(--border); }
.hero-stat-num { font-family:var(--font-head); font-size:32px; font-weight:700; color:var(--text); letter-spacing:-0.02em; }
.hero-stat-num span { color:var(--accent); }
.hero-stat-label { font-size:12px; color:var(--text-3); text-transform:uppercase; letter-spacing:0.08em; margin-top:2px; }

/* ─── TRUST BAR ──────────────────────── */
.trust-bar { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.trust-inner { max-width:1280px; margin:0 auto; padding:28px 24px; display:flex; justify-content:center; gap:60px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:12px; color:var(--text-2); font-size:13px; }
.trust-icon { width:38px; height:38px; background:rgba(232,86,10,0.1); border:1px solid rgba(232,86,10,0.2); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:18px; flex-shrink:0; }
.trust-label { font-weight:600; color:var(--text); font-size:14px; display:block; }

/* ─── SECTION ─────────────────────────── */
.section { max-width:1280px; margin:0 auto; padding:64px 24px; }
.section-header { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:36px; border-bottom:1px solid var(--border); padding-bottom:20px; }
.section-title { font-family:var(--font-head); font-size:30px; font-weight:700; letter-spacing:0.01em; text-transform:uppercase; color:var(--text); }
.section-title span { color:var(--accent); }
.section-link { font-size:13px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:6px; transition:gap 0.15s; }
.section-link:hover { gap:10px; }
.main-with-sidebar { display:grid; grid-template-columns:1fr 320px; gap:40px; align-items:start; }

/* ─── CARDS ───────────────────────────── */
.articles-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
.articles-grid .card-featured { grid-column:1/3; grid-row:1; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s; }
.card:hover { border-color:var(--border2); transform:translateY(-2px); }
.card-img { aspect-ratio:16/9; background:var(--surface2); overflow:hidden; position:relative; }
.card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s; }
.card:hover .card-img img { transform:scale(1.04); }
.card-body { padding:20px; flex:1; display:flex; flex-direction:column; gap:10px; }
.card-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.badge { font-size:10px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:3px 9px; border-radius:4px; }
.badge-toyota { background:rgba(157,179,137,0.18); color:#9DB389; }
.badge-tire { background:rgba(194,162,132,0.20); color:#C2A284; }
.badge-hyundai { background:rgba(192,112,63,0.20); color:#D08A5C; }
.badge-review { background:rgba(157,179,137,0.18); color:#9DB389; }
.badge-guide { background:rgba(194,162,132,0.20); color:#C2A284; }
.badge-design { background:rgba(192,112,63,0.20); color:#D08A5C; }
.read-time { font-size:11px; color:var(--text-3); font-weight:500; letter-spacing:0.03em; }
.card-title { font-family:var(--font-serif); font-size:17px; font-weight:600; color:var(--text); line-height:1.35; flex:1; transition:color 0.15s; }
.card:hover .card-title { color:var(--accent-lt); }
.card-excerpt { font-size:13px; color:var(--text-2); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card-footer { padding:14px 20px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--text-3); }
.card-date { font-weight:500; }
.card-read-more { font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--accent); }
.card-featured { flex-direction:row; }
.card-featured .card-img { aspect-ratio:unset; width:45%; flex-shrink:0; }
.card-featured .card-title { font-size:22px; line-height:1.25; }
.card-featured .card-excerpt { -webkit-line-clamp:3; }
/* ─── attractive card polish (mobile + desktop) ─── */
.articles-grid-lead { margin-bottom:24px; }
.card { box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.card:hover { box-shadow:0 14px 30px rgba(0,0,0,0.13); }
[data-theme="dark"] .card:hover { box-shadow:0 14px 32px rgba(0,0,0,0.5); }
.card-title { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card-featured .card-title { -webkit-line-clamp:4; }

/* ─── SIDEBAR ────────────────────────── */
.sidebar { display:flex; flex-direction:column; gap:28px; }
.widget { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.widget-title { font-family:var(--font-head); font-size:14px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text); padding:14px 18px; border-bottom:1px solid var(--border); background:var(--surface2); }
.widget-title span { color:var(--accent); }
.widget-body { padding:16px 18px; }
.popular-list { list-style:none; display:flex; flex-direction:column; gap:14px; }
.popular-item { display:flex; gap:14px; align-items:flex-start; }
.popular-num { font-family:var(--font-head); font-size:22px; font-weight:700; color:var(--text-3); line-height:1; min-width:24px; flex-shrink:0; }
.popular-title { font-family:var(--font-serif); font-size:13px; line-height:1.5; color:var(--text); font-weight:400; transition:color 0.15s; }
.popular-item:hover .popular-title { color:var(--accent-lt); }
.tag-cloud { display:flex; flex-wrap:wrap; gap:8px; }
.tag-cloud a,.tag { font-size:11px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; padding:5px 12px; border-radius:6px; background:var(--surface2); border:1px solid var(--border2); color:var(--text-2); cursor:pointer; transition:border-color 0.15s,color 0.15s; }
.tag-cloud a:hover,.tag:hover { border-color:var(--accent); color:var(--accent-lt); }
.newsletter { background:var(--surface2); border:1px solid var(--border2); border-radius:var(--radius); padding:20px; margin-top:4px; }
.newsletter h4 { font-family:var(--font-head); font-size:15px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--text); margin-bottom:6px; }
.newsletter p { font-size:12px; color:var(--text-3); margin-bottom:12px; }
.newsletter-form { display:flex; flex-direction:column; gap:8px; }
.newsletter input { background:var(--surface); border:1px solid var(--border2); border-radius:6px; padding:10px 12px; font-family:var(--font-body); font-size:13px; color:var(--text); outline:none; transition:border-color 0.15s; }
.newsletter input::placeholder { color:var(--text-3); }
.newsletter input:focus { border-color:var(--accent); }
.newsletter button { background:var(--accent); border:none; border-radius:6px; padding:10px; font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:#fff; cursor:pointer; transition:background 0.15s; }
.newsletter button:hover { background:var(--accent-lt); }

/* ─── CATEGORIES ──────────────────────── */
.categories-bg { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.cat-card { background:var(--surface2); border:1px solid var(--border); border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:8px; transition:border-color 0.2s,background 0.2s; cursor:pointer; text-decoration:none; }
.cat-card:hover { border-color:var(--accent); background:var(--surface3); }
.cat-icon { font-size:28px; line-height:1; margin-bottom:4px; }
.cat-name { font-family:var(--font-head); font-size:16px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--text); }
.cat-count { font-size:12px; color:var(--text-3); font-weight:500; }
.cat-arrow { margin-top:auto; font-size:18px; color:var(--accent); font-weight:700; transition:transform 0.15s; }
.cat-card:hover .cat-arrow { transform:translateX(4px); }

/* ─── PAGINATION ──────────────────────── */
.pagination { display:flex; justify-content:center; gap:8px; margin-top:48px; }
.pagination .page-numbers,.page-btn { width:40px; height:40px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; border-radius:8px; border:1px solid var(--border2); background:var(--surface); color:var(--text-2); cursor:pointer; transition:all 0.15s; }
.pagination .page-numbers:hover,.page-btn:hover { border-color:var(--accent); color:var(--accent); }
.pagination .page-numbers.current,.page-btn.active { background:var(--accent); border-color:var(--accent); color:#fff; }

/* ─── FOOTER ──────────────────────────── */
.site-footer { background:var(--surface); border-top:1px solid var(--border); padding:56px 24px 32px; }
.footer-inner { max-width:1280px; margin:0 auto; }
.footer-affiliate { font-size:11px; color:var(--text-3); background:var(--surface2); border:1px solid var(--border); border-radius:6px; padding:10px 14px; margin-bottom:24px; line-height:1.6; }
.footer-affiliate strong { color:var(--text-2); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-brand .logo { font-size:22px; margin-bottom:14px; }
.footer-brand .site-logo { margin-bottom:14px; }
.footer-brand .site-logo img { height:36px; }
.footer-desc { font-size:13px; color:var(--text-3); line-height:1.7; max-width:300px; margin-bottom:20px; }
.footer-col-title { font-family:var(--font-head); font-size:14px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:var(--text); margin-bottom:16px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:13px; color:var(--text-3); transition:color 0.15s; }
.footer-links a:hover { color:var(--accent-lt); }
.footer-bottom { border-top:1px solid var(--border); padding-top:24px; display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--text-3); flex-wrap:wrap; gap:12px; }

/* ═══════════════════════════════════════════
   SINGLE POST — With Sidebar
   ═══════════════════════════════════════════ */
.single-post-header { background:var(--surface); border-bottom:1px solid var(--border); padding:48px 24px 36px; text-align:center; }
.single-post-header .badge { margin-bottom:14px; display:inline-block; }
.single-post-header h1 { font-family:var(--font-serif); font-size:clamp(26px,3.5vw,38px); font-weight:600; line-height:1.25; color:var(--post-heading); max-width:720px; margin:0 auto 16px; }
.post-meta-bar { display:flex; justify-content:center; gap:20px; font-size:13px; color:var(--post-meta); flex-wrap:wrap; }
.post-meta-bar span { display:flex; align-items:center; gap:6px; }
.single-wrap { max-width:1240px; margin:0 auto; padding:0 24px; }
.single-grid { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:48px; align-items:start; padding:40px 0 64px; }
.single-main { min-width:0; }
.post-featured-image { margin:0 0 32px; }
.post-featured-image img { border-radius:var(--radius-lg); border:1px solid var(--border); width:100%; max-height:420px; object-fit:cover; display:block; }
.post-content-wrap { max-width:820px; margin:0 auto; padding:48px 24px 64px; }
.single-main .post-content-wrap { max-width:100%; margin:0; padding:0; }
.post-content-wrap p { font-family:var(--font-post); font-size:var(--fs-post-body); line-height:var(--fs-post-lh); color:var(--post-text); margin-bottom:24px; letter-spacing:0.01em; }
.post-content-wrap h2 { font-family:var(--font-serif); font-size:var(--fs-post-h2); font-weight:600; text-transform:none; letter-spacing:0; color:var(--post-heading); margin:48px 0 20px; padding-bottom:12px; border-bottom:2px solid var(--accent); }
.post-content-wrap h3 { font-family:var(--font-serif); font-size:var(--fs-post-h3); font-weight:600; color:var(--post-heading); margin:36px 0 14px; }
.post-content-wrap h4 { font-family:var(--font-body); font-size:calc(var(--fs-post-body) + 1px); font-weight:700; color:var(--post-heading); margin:28px 0 10px; text-transform:uppercase; letter-spacing:0.03em; }
.post-content-wrap ul,.post-content-wrap ol { padding-left:28px; margin-bottom:24px; color:var(--post-text); font-family:var(--font-post); font-size:var(--fs-post-body); line-height:var(--fs-post-lh); }
.post-content-wrap li { margin-bottom:12px; padding-left:4px; }
.post-content-wrap ul li::marker { color:var(--accent); }
.post-content-wrap a { color:var(--post-link); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; transition:color 0.15s; }
.post-content-wrap a:hover { color:var(--post-link-h); }
.post-content-wrap blockquote { border-left:4px solid var(--post-quote-border); padding:20px 28px; margin:32px 0; background:var(--post-quote-bg); border-radius:0 var(--radius) var(--radius) 0; font-family:var(--font-serif); font-style:italic; font-size:var(--fs-post-body); color:var(--post-text); line-height:1.7; }
.post-content-wrap code { background:var(--post-code-bg); padding:2px 8px; border-radius:4px; font-size:0.88em; color:var(--accent-lt); }
.post-content-wrap pre { background:var(--post-code-bg); border:1px solid var(--border); border-radius:var(--radius); padding:20px; overflow-x:auto; margin:24px 0; }
.post-content-wrap pre code { background:none; padding:0; font-size:14px; color:var(--post-text); }
.post-content-wrap img,
.post-content-wrap figure img,
.post-content-wrap .wp-block-image img { width:100%; max-width:100%; height:auto; border-radius:var(--radius-lg); border:1px solid var(--border); margin:32px 0; display:block; max-height:420px; object-fit:cover; }
.post-content-wrap figure { margin:32px 0; }
.post-content-wrap figure img { margin:0; }
.post-content-wrap figcaption { font-size:13px; color:var(--text-3); text-align:center; margin-top:10px; font-style:italic; }

/* ─── TABLES ─── */
/* Small tables (2-3 cols) stay plain full-width tables — no box, no dead space. */
/* Only wide tables (4+ cols) get .mg-table-scroll added by JS: a bordered, scrollable box. */
.post-content-wrap table { width:100%; border-collapse:collapse; margin:28px 0; font-size:calc(var(--fs-post-body) - 2px); background:var(--surface); }
.post-content-wrap figure.wp-block-table { display:block; width:100%; margin:28px 0; padding:0; }
.post-content-wrap figure.wp-block-table > table { margin:0; }
.mg-table-scroll {
  display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  margin:28px 0; border:1px solid var(--border2); border-radius:var(--radius);
}
.mg-table-scroll > table { width:auto; min-width:100%; margin:0; }
.mg-table-scroll th, .mg-table-scroll td { min-width:130px; }
/* visible accent scrollbar + swipe hint so readers notice wide tables scroll */
.mg-table-scroll { scrollbar-width:thin; scrollbar-color:var(--accent) var(--surface2); }
.mg-table-scroll::-webkit-scrollbar { height:13px; }
.mg-table-scroll::-webkit-scrollbar-track { background:var(--surface2); border-radius:0 0 var(--radius) var(--radius); }
.mg-table-scroll::-webkit-scrollbar-thumb { background:var(--accent); border-radius:10px; border:3px solid var(--surface2); }
.mg-table-scroll::-webkit-scrollbar-thumb:hover { background:var(--accent-lt); }
.mg-scroll-hint { display:flex; align-items:center; gap:8px; font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--accent); margin:28px 0 9px; }
.mg-scroll-hint .mg-arrows { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:22px; padding:0 7px; background:var(--accent); color:#fff; border-radius:6px; font-size:13px; }
.mg-scroll-hint + .mg-table-scroll { margin-top:0; }
.post-content-wrap th,.post-content-wrap td { padding:13px 16px; border:1px solid var(--border2); text-align:left; color:var(--post-text); vertical-align:middle; line-height:1.5; }
.post-content-wrap th { background:var(--surface2); font-weight:700; color:var(--post-heading); font-family:var(--font-body); text-transform:uppercase; font-size:12px; letter-spacing:0.04em; white-space:nowrap; }
.post-content-wrap tbody tr:nth-child(even) td { background:rgba(128,128,128,0.045); }
.post-content-wrap td ul,.post-content-wrap td ol { margin:0; padding-left:18px; }
.post-content-wrap td li { margin-bottom:4px; }
.post-content-wrap td img { width:auto; max-width:84px; height:auto; max-height:84px; margin:0; border:none; border-radius:6px; display:inline-block; object-fit:contain; }

/* ─── CTA / "CHECK PRICE" BUTTONS (auto-applied to bare Amazon/buy links via JS) ─── */
.post-content-wrap a.mg-buy-btn { display:inline-block; background:linear-gradient(180deg,#D08A5C 0%,#BE6B3D 100%); color:#FFFFFF !important; font-family:var(--font-body); font-weight:700; font-size:14px; text-decoration:none; text-align:center; white-space:nowrap; line-height:1.2; padding:11px 20px; border-radius:8px; border:1px solid rgba(0,0,0,0.12); box-shadow:0 2px 7px rgba(190,107,61,0.32); transition:transform .12s, box-shadow .15s, filter .15s; }
.post-content-wrap a.mg-buy-btn::before { content:"🛒 "; }
.post-content-wrap a.mg-buy-btn:hover { filter:brightness(1.05); transform:translateY(-1px); box-shadow:0 6px 16px rgba(190,107,61,0.45); color:#FFFFFF !important; }
.post-content-wrap td a.mg-buy-btn { display:block; width:100%; padding:9px 14px; font-size:13px; }
.post-content-wrap td a[href*="amazon"],.post-content-wrap td a[href*="amzn"] { white-space:nowrap; }

/* ═══════════════════════════════════════════
   SINGLE POST SIDEBAR
   ═══════════════════════════════════════════ */
.single-sidebar { display:flex; flex-direction:column; gap:24px; position:sticky; top:88px; }
.cat-list { list-style:none; display:flex; flex-direction:column; gap:2px; padding:0; margin:0; }
.cat-list-item a { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:8px; color:var(--text-2); text-decoration:none; transition:all 0.15s; border:1px solid transparent; }
.cat-list-item a:hover { background:var(--surface2); color:var(--text); border-color:var(--border2); }
.cat-list-item.active a { background:var(--surface2); color:var(--accent); border-color:rgba(232,86,10,0.3); }
.cat-list-icon { font-size:18px; flex-shrink:0; width:24px; text-align:center; }
.cat-list-name { flex:1; font-size:13px; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; font-family:var(--font-body); }
.cat-list-count { font-size:11px; color:var(--text-3); background:var(--surface2); padding:2px 8px; border-radius:100px; font-weight:600; min-width:28px; text-align:center; }
.cat-list-item.active .cat-list-count { background:rgba(232,86,10,0.15); color:var(--accent-lt); }
.cat-list-item a:hover .cat-list-count { background:var(--surface3); }
.recent-post-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.recent-post-link { display:flex; gap:12px; align-items:flex-start; text-decoration:none; transition:all 0.15s; }
.recent-post-thumb { width:72px; height:72px; border-radius:8px; overflow:hidden; flex-shrink:0; background:var(--surface2); border:1px solid var(--border); }
.recent-post-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.3s; }
.recent-post-link:hover .recent-post-thumb img { transform:scale(1.08); }
.recent-post-thumb-placeholder { display:flex; align-items:center; justify-content:center; font-size:28px; color:var(--text-3); }
.recent-post-info { flex:1; min-width:0; }
.recent-post-title { font-family:var(--font-serif); font-size:14px; font-weight:600; line-height:1.4; color:var(--text); margin:0 0 4px; transition:color 0.15s; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.recent-post-link:hover .recent-post-title { color:var(--accent-lt); }
.recent-post-date { font-size:11px; color:var(--text-3); font-weight:500; }
.toc-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.toc-list li a { display:block; padding:8px 12px; color:var(--text-2); font-size:13px; line-height:1.5; border-left:2px solid var(--border); transition:all 0.15s; font-family:var(--font-body); }
.toc-list li a:hover { color:var(--accent-lt); border-left-color:var(--accent); background:var(--surface2); }
.toc-list li.toc-active a { color:var(--accent); border-left-color:var(--accent); background:var(--surface2); }
.post-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:40px; padding-top:24px; border-top:1px solid var(--border); }
.post-tags a { font-size:11px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; padding:5px 12px; border-radius:6px; background:var(--surface); border:1px solid var(--border2); color:var(--text-2); text-decoration:none; transition:all 0.15s; }
.post-tags a:hover { border-color:var(--accent); color:var(--accent-lt); }
.author-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; margin-top:40px; display:flex; gap:18px; align-items:flex-start; }
.author-avatar { width:72px; height:72px; border-radius:50%; background:var(--surface2); flex-shrink:0; overflow:hidden; }
.author-avatar img { width:100% !important; height:100% !important; max-width:100%; max-height:none !important; object-fit:cover; border-radius:50% !important; margin:0 !important; border:none !important; padding:0; display:block; }
/* related-post card images also live inside .post-content-wrap — keep them filling their frame, not the content-img rule */
.post-content-wrap .card-img img { width:100%; height:100%; max-height:none; margin:0; border:none; border-radius:0; object-fit:cover; }
.author-name { font-family:var(--font-head); font-size:16px; font-weight:700; text-transform:uppercase; color:var(--text); margin-bottom:4px; }
.author-bio { font-size:13px; color:var(--text-3); line-height:1.6; }
.related-posts { margin-top:56px; padding-top:40px; border-top:1px solid var(--border); }
.related-posts h3 { font-family:var(--font-head); font-size:22px; font-weight:700; text-transform:uppercase; color:var(--text); margin-bottom:24px; }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

/* ─── ARCHIVE / SEARCH ────────────────── */
.archive-header { background:var(--surface); border-bottom:1px solid var(--border); padding:48px 24px; text-align:center; }
.archive-header h1 { font-family:var(--font-serif); font-size:40px; font-weight:600; text-transform:none; color:var(--text); margin-bottom:8px; }
.archive-header p { color:var(--text-3); font-size:15px; }

/* ─── COMMENTS ────────────────────────── */
.comments-area { margin-top:48px; padding-top:40px; border-top:1px solid var(--border); }
.comments-title { font-family:var(--font-head); font-size:22px; font-weight:700; text-transform:uppercase; color:var(--text); margin-bottom:24px; }
.comment-list { list-style:none; padding:0; }
.comment-body { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:16px; }
.comment-author { font-weight:600; color:var(--text); margin-bottom:4px; }
.comment-meta { font-size:12px; color:var(--text-3); margin-bottom:12px; }
.comment-content { font-size:14px; color:var(--text-2); line-height:1.7; }
.comment-content p { margin-bottom:8px; }
.comment-reply-link { font-size:12px; font-weight:600; color:var(--accent); text-transform:uppercase; letter-spacing:0.04em; }
.comment-form label { display:block; font-size:13px; font-weight:600; color:var(--text); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.04em; }
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea { width:100%; background:var(--surface); border:1px solid var(--border2); border-radius:8px; padding:12px 14px; font-family:var(--font-body); font-size:14px; color:var(--text); outline:none; margin-bottom:16px; transition:border-color 0.15s; }
.comment-form input:focus,.comment-form textarea:focus { border-color:var(--accent); }
.comment-form .submit { background:var(--accent); border:none; border-radius:8px; padding:12px 28px; font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:#fff; cursor:pointer; transition:background 0.15s; }
.comment-form .submit:hover { background:var(--accent-lt); }

/* ─── 404 ─────────────────────────────── */
.error-404 { text-align:center; padding:120px 24px; }
.error-404 h1 { font-family:var(--font-head); font-size:120px; font-weight:700; color:var(--accent); line-height:1; margin-bottom:16px; }
.error-404 p { color:var(--text-2); font-size:17px; margin-bottom:32px; }

/* ─── SEARCH FORM ─────────────────────── */
.search-form { display:flex; background:var(--surface2); border:1px solid var(--border2); border-radius:12px; overflow:hidden; }
.search-form .search-field { flex:1; background:none; border:none; outline:none; padding:14px 16px; font-family:var(--font-body); font-size:15px; color:var(--text); }
.search-form .search-field::placeholder { color:var(--text-3); }
.search-form .search-submit { background:var(--accent); border:none; color:#fff; font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; padding:0 24px; cursor:pointer; transition:background 0.15s; }
.search-form .search-submit:hover { background:var(--accent-lt); }

/* ─── WP DEFAULTS ─────────────────────── */
.alignleft { float:left; margin:0 20px 20px 0; }
.alignright { float:right; margin:0 0 20px 20px; }
.aligncenter { display:block; margin:0 auto 20px; }
.wp-caption { max-width:100%; }
.wp-caption-text { font-size:12px; color:var(--text-3); text-align:center; margin-top:8px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); position:absolute !important; height:1px; width:1px; overflow:hidden; word-wrap:normal !important; }
.sticky .card { border-color:var(--accent); }

/* ─── DEFAULT WP WIDGETS (styled if admin adds widgets to the Sidebar area) ─── */
.widget-default ul { list-style:none; margin:0; padding:8px 18px 14px; }
.widget-default li { padding:8px 0; border-bottom:1px solid var(--border); font-size:13px; line-height:1.5; color:var(--text-2); }
.widget-default li:last-child { border-bottom:none; }
.widget-default li a { color:var(--text-2); transition:color .15s; }
.widget-default li a:hover { color:var(--accent-lt); }
.widget-default p,.widget-default form,.widget-default .textwidget { margin:14px 18px; }
.widget-default select,.widget-default input { max-width:100%; padding:9px 11px; background:var(--surface2); border:1px solid var(--border2); border-radius:6px; color:var(--text); font-family:var(--font-body); font-size:13px; }

/* ─── RESPONSIVE ──────────────────────── */
@media (max-width:1024px) {
  .articles-grid { grid-template-columns:1fr 1fr; }
  .articles-grid .card-featured { grid-column:1/3; grid-row:auto; }
  .card-featured { flex-direction:column; }
  .card-featured .card-img { width:100%; aspect-ratio:16/9; }
  .main-with-sidebar { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .related-grid { grid-template-columns:1fr 1fr; }
  .single-grid { grid-template-columns:1fr; gap:32px; }
  .single-sidebar { position:static; }
  .post-featured-image img { max-height:380px; }
}
@media (max-width:768px) {
  .header-inner { gap:12px; }
  .site-logo img { height:38px; }
  .main-navigation ul { display:none; }
  .main-navigation.toggled ul { display:flex; flex-direction:column; position:absolute; top:68px; left:0; right:0; background:var(--surface); border-bottom:1px solid var(--border); padding:16px 24px; z-index:99; }
  .menu-toggle { display:block; }
  .hero h1 { font-size:48px; }
  .hero-stats { gap:24px; flex-wrap:wrap; }
  .articles-grid { grid-template-columns:1fr; }
  .articles-grid { gap:18px; }
  .section { padding:44px 16px; }
  .card-featured .card-title { font-size:20px; }
  .articles-grid .card-featured { grid-column:1; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .trust-inner { gap:32px; }
  .related-grid { grid-template-columns:1fr; }
  .author-box { flex-direction:column; align-items:center; text-align:center; }
  .site-logo .logo-text { font-size:18px; }
  .header-search { min-width:120px; }
  .single-post-header { padding:36px 20px 28px; }
  .single-post-header h1 { font-size:24px; }
  .post-featured-image img { max-height:280px; }
  .post-content-wrap img { max-height:280px; }
  .post-content-wrap th,.post-content-wrap td { padding:10px 12px; }
  .post-content-wrap table { font-size:13px; }
  .mg-table-scroll th,.mg-table-scroll td { min-width:120px; }
  .post-content-wrap a.mg-buy-btn { padding:10px 16px; font-size:13px; }
  .single-wrap { padding:0 16px; }
  .recent-post-thumb { width:60px; height:60px; }
  .recent-post-title { font-size:13px; -webkit-line-clamp:2; }
}
@media (max-width:600px) {
  .post-content-wrap table.mg-stack { display:block; width:100%; min-width:0; border:0; background:none; font-size:14px; margin:24px 0; }
  .post-content-wrap table.mg-stack thead { display:none; }
  .post-content-wrap table.mg-stack tbody { display:block; }
  .post-content-wrap table.mg-stack tr { display:block; margin:0 0 14px; border:1px solid var(--border2); border-radius:var(--radius); overflow:hidden; background:var(--surface); }
  .post-content-wrap table.mg-stack td { display:block; width:auto !important; min-width:0 !important; max-width:none; border:0; border-bottom:1px solid var(--border); padding:11px 14px; }
  .post-content-wrap table.mg-stack tr td:last-child { border-bottom:0; }
  .post-content-wrap table.mg-stack td::before { content:attr(data-label); display:block; font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:0.04em; text-transform:uppercase; color:var(--accent); margin-bottom:4px; }
  .post-content-wrap table.mg-stack td:empty { display:none; }
  .post-content-wrap table.mg-stack td a.mg-buy-btn { width:100%; }
  .mg-table-scroll.mg-stack-wrap { overflow:visible; border:0; border-radius:0; margin:24px 0; }
  .mg-scroll-hint { display:none; }
}
@media (max-width:480px) {
  .header-search { display:none; }
  .site-logo .logo-text { display:none; }
  .site-logo img { height:34px; }
}

/* ═══════════════════════════════════════════
   REGION NETWORK — cross-site links
   Homepage banner + footer network strip
   ═══════════════════════════════════════════ */
.region-banner{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.region-banner-inner{max-width:1200px;margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;}
.region-banner-label{font-family:var(--font-head);font-weight:600;letter-spacing:.03em;color:var(--text-2);font-size:15px;}
.region-banner a{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--border2);border-radius:999px;text-decoration:none;background:var(--bg);transition:transform .12s,border-color .15s,background .15s,box-shadow .15s;}
.region-banner a:hover{border-color:var(--accent);background:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px rgba(43,58,49,.14);}
.region-banner .rb-flag{font-size:20px;line-height:1;}
.region-banner .rb-text{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
.region-banner .rb-region{font-weight:600;color:var(--text);font-size:13px;}
.region-banner .rb-domain{color:var(--accent);font-size:12px;font-weight:600;}
.region-banner a:hover .rb-region,.region-banner a:hover .rb-domain{color:#fff;}

.footer-network{border-top:1px solid var(--border);padding:28px 20px 30px;text-align:center;}
.footer-network-title{font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--text-2);margin-bottom:16px;}
.footer-network-sites{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.fn-site{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border:1px solid var(--border2);border-radius:999px;background:var(--surface);text-decoration:none;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;}
.fn-site:hover{border-color:var(--accent);background:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(43,58,49,.16);}
.fn-flag{font-size:20px;line-height:1;}
.fn-text{display:flex;flex-direction:column;line-height:1.2;text-align:left;}
.fn-region{font-weight:600;font-size:13px;color:var(--text);}
.fn-domain{font-size:12px;font-weight:600;color:var(--accent);}
.fn-site:hover .fn-region,.fn-site:hover .fn-domain{color:#fff;}

@media(max-width:640px){
  .region-banner-inner{flex-direction:column;gap:10px;}
  .region-banner-label{text-align:center;}
}

/* ═══════════════════════════════════════════
   v1.2 — DESIGN FIXES
   Evens the trust bar, styles core WordPress block widgets,
   and adds an empty state for a site with no posts.
   ═══════════════════════════════════════════ */

/* Accent as an RGB triplet so tints follow the palette instead of
   being hard-coded. */
:root, [data-theme="dark"] { --accent-rgb:90,169,230; }
[data-theme="light"]       { --accent-rgb:27,94,158; }

/* ─── 1. Hero eyebrow ─── */
.hero-eyebrow { background:rgba(var(--accent-rgb),0.13); border-color:rgba(var(--accent-rgb),0.30); color:var(--accent); }
[data-theme="light"] .hero-eyebrow { color:var(--accent-dk); }
.hero-eyebrow::before { background:currentColor; opacity:.7; }

/* ─── 2. Trust icons ─── */
.trust-icon { background:rgba(var(--accent-rgb),0.11); border:1px solid rgba(var(--accent-rgb),0.24); color:var(--accent); }
[data-theme="light"] .trust-icon { background:rgba(var(--accent-rgb),0.11); border-color:rgba(var(--accent-rgb),0.24); color:var(--accent-dk); }

/* ─── 3. Affiliate disclosure box ─── */
[data-theme="light"] .footer-affiliate { background:#EDF6F4; border-color:rgba(var(--accent-rgb),0.24); }

/* ─── 4. Trust bar: even 4-up grid, not a 3+1 flex wrap ─── */
.trust-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:28px 32px; align-items:start; justify-content:initial; }
.trust-item  { align-items:flex-start; }
@media (max-width:1000px) { .trust-inner { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px)  { .trust-inner { grid-template-columns:1fr; gap:20px; } }

/* ─── 5. Empty state for a site with no posts yet ─── */
.mg-empty-state { text-align:center; padding:72px 24px; background:var(--surface); border:1px dashed var(--border2); border-radius:var(--radius-lg); }
.mg-empty-icon  { font-size:34px; color:var(--accent); opacity:.55; margin-bottom:14px; }
.mg-empty-state h3 { font-family:var(--font-head); font-size:19px; font-weight:600; color:var(--text); margin-bottom:8px; }
.mg-empty-state p  { font-size:14px; color:var(--text-3); margin:0; }

/* ─── 6. Core WordPress block widgets ───────────────────
   WP 5.8+ fills a fresh sidebar with block widgets (Search, Recent Posts,
   Archives, Categories). They shipped unstyled, so the sidebar rendered with
   default block chrome — including a black search button. Style them to match. */
.widget-default > *:first-child { margin-top:0; }
.widget-default > *:last-child  { margin-bottom:0; }

.widget-default h1, .widget-default h2, .widget-default h3,
.widget-default h4, .widget-default h5, .widget-default h6,
.widget-default .wp-block-heading,
.widget-default .wp-block-search__label {
  display:block; font-family:var(--font-head); font-size:14px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--text);
  padding:14px 18px; margin:0; background:var(--surface2);
  border-bottom:1px solid var(--border);
}

.widget-default .wp-block-search__inside-wrapper { margin:14px 18px; display:flex; gap:8px; }
.widget-default .wp-block-search__input {
  flex:1; min-width:0; background:var(--surface2); border:1px solid var(--border2);
  border-radius:8px; padding:9px 12px; font-family:var(--font-body);
  font-size:13px; color:var(--text); outline:none; transition:border-color .15s;
}
.widget-default .wp-block-search__input:focus { border-color:var(--accent); }
.widget-default .wp-block-search__button {
  background:var(--accent); color:#fff; border:none; border-radius:8px;
  padding:9px 16px; font-family:var(--font-body); font-weight:600; font-size:13px;
  cursor:pointer; transition:filter .15s; flex-shrink:0;
}
.widget-default .wp-block-search__button:hover { filter:brightness(1.08); }

.widget-default ul, .widget-default ol { list-style:none; margin:0; padding:8px 18px 14px; }
.widget-default ul li, .widget-default ol li {
  padding:8px 0; border-bottom:1px solid var(--border);
  font-size:13px; line-height:1.5; color:var(--text-2);
}
.widget-default ul li:last-child, .widget-default ol li:last-child { border-bottom:none; }
.widget-default ul ul, .widget-default ol ol { padding:6px 0 0 14px; }
.widget-default ul ul li:last-child { border-bottom:none; }
.widget-default a { color:var(--text-2); transition:color .15s; }
.widget-default a:hover { color:var(--accent); }
.widget-default p { margin:14px 18px; font-size:13px; line-height:1.6; color:var(--text-3); }
.widget-default .wp-block-group, .widget-default .wp-block-group__inner-container { margin:0; padding:0; }

/* ─── 7. Category tiles: keep the fallback mark on-brand ─── */
.cat-icon { color:var(--accent); }

/* ─── 8. Region network strip: tighter on small screens ─── */
@media (max-width:560px) {
  .footer-network-sites { flex-direction:column; align-items:stretch; }
  .fn-site { justify-content:center; }
}

/* ─── 9. Region badges instead of flag emoji ────────────
   Regional-indicator flag emoji have no glyph on Windows, where they fall
   back to bare letter boxes ("GB", "EU"). A TLD badge renders identically on
   every platform and matches the domain printed beside it. */
.rb-tld, .fn-tld {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:32px; height:22px; padding:0 7px; border-radius:5px;
  background:rgba(var(--accent-rgb),0.14); border:1px solid rgba(var(--accent-rgb),0.28);
  color:var(--accent); font-family:var(--font-head); font-size:10px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; line-height:1; flex-shrink:0;
  transition:background .15s, border-color .15s, color .15s;
}
[data-theme="light"] .rb-tld, [data-theme="light"] .fn-tld { color:var(--accent-dk); }
.region-banner a:hover .rb-tld, .fn-site:hover .fn-tld {
  background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.5); color:#fff;
}
.site-logo .logo-text .logo-region{color:var(--accent);font-weight:600;}

/* ═══════════════════════════════════════════
   GENUINEWELDING SKIN
   Two-tone welding palette: arc blue carries structure
   (headings, links, section titles), molten orange carries action
   (Amazon CTAs, trust marks, subscribe). Overrides the last
   hard-coded colours inherited from the base stylesheet.
   ═══════════════════════════════════════════ */

/* ─── Category badges ───────────────────────
   review = buying content, guide = how-to, design = everything else.
   Matches the three classes mg_badge_class() can return. */
.badge-review { background:rgba(var(--cta-rgb),0.18); color:#F0906B; }
.badge-guide  { background:rgba(var(--accent-rgb),0.18); color:var(--accent-lt); }
.badge-design { background:rgba(34,197,94,0.16); color:#4ADE80; }
[data-theme="light"] .badge-review { background:rgba(var(--cta-rgb),0.13); color:#9A3412; }
[data-theme="light"] .badge-guide  { background:rgba(var(--accent-rgb),0.10); color:var(--accent); }
[data-theme="light"] .badge-design { background:rgba(22,163,74,0.12); color:#166534; }

/* Retired badge classes from the automotive original — kept styled so any
   older content referencing them still renders sanely. */
.badge-toyota  { background:rgba(var(--accent-rgb),0.18); color:var(--accent-lt); }
.badge-tire    { background:rgba(var(--cta-rgb),0.18); color:#F0906B; }
.badge-hyundai { background:rgba(34,197,94,0.16); color:#4ADE80; }
[data-theme="light"] .badge-toyota  { background:rgba(var(--accent-rgb),0.10); color:var(--accent); }
[data-theme="light"] .badge-tire    { background:rgba(var(--cta-rgb),0.13); color:#9A3412; }
[data-theme="light"] .badge-hyundai { background:rgba(22,163,74,0.12); color:#166534; }

/* ─── Amazon CTA button ─── */
.mg-buy-btn,
.post-content-wrap a.mg-buy-btn {
  background:linear-gradient(180deg,#C2410C 0%,#9A3009 100%);
  color:#FFFFFF !important;
  border:1px solid rgba(0,0,0,0.10);
  box-shadow:0 2px 7px rgba(154,48,9,0.34);
}
.mg-buy-btn:hover,
.post-content-wrap a.mg-buy-btn:hover {
  box-shadow:0 6px 16px rgba(154,48,9,0.46);
}

/* ─── Action accents in orange ───────────── */
.hero-eyebrow { background:rgba(var(--cta-rgb),0.13); border-color:rgba(var(--cta-rgb),0.30); color:var(--cta); }
[data-theme="light"] .hero-eyebrow { color:#9A3412; }
.trust-icon { background:rgba(var(--cta-rgb),0.11); border:1px solid rgba(var(--cta-rgb),0.26); color:var(--cta); }
[data-theme="light"] .trust-icon { background:rgba(var(--cta-rgb),0.10); border-color:rgba(var(--cta-rgb),0.24); color:#9A3412; }
.newsletter button { background:var(--cta); }
.newsletter button:hover { background:var(--cta-dk); }

/* ─── Active category row ─── */
.cat-list-item.active a { border-color:rgba(var(--accent-rgb),0.35); }
.cat-list-item.active .cat-list-count { background:rgba(var(--accent-rgb),0.16); color:var(--accent-lt); }
[data-theme="light"] .cat-list-item.active .cat-list-count { color:var(--accent); }

/* ─── Affiliate disclosure: amber, so it reads as a notice ─── */
.footer-affiliate { background:rgba(90,169,230,0.09); border-color:rgba(90,169,230,0.26); }
[data-theme="light"] .footer-affiliate { background:#EDF3F9; border-color:rgba(27,94,158,0.26); }

/* ─── Squarer, more editorial card corners ─── */
.card, .widget, .cat-card { border-radius:var(--radius); }


/* Dark-mode top bar: the shared --accent is too light behind white text. */
[data-theme="dark"] .topbar { background:#17496F; }

/* ─── Brand logo ─────────────────────────────
   The bundled logo is a wide lockup (~4.35:1) that already contains the
   wordmark and tagline, so no separate text element is rendered. It is wider
   than the theme it was forked from, so the header heights are pulled back a
   little to keep the same visual weight. */
.site-logo .logo-mark { height:44px; width:auto; display:block; flex-shrink:0; }
.footer-brand .site-logo .logo-mark { height:40px; }
@media (max-width:1100px) { .site-logo .logo-mark { height:38px; } }
@media (max-width:600px)  { .site-logo .logo-mark { height:32px; } }

/* ═══════════════════════════════════════════
   EDITORIAL TEAM + CONTACT BLOCKS
   Rendered by the [genuinewelding_team] / [genuinewelding_contact] shortcodes, so these
   sit inside .post-content-wrap and have to override its generic img/p rules.
   ═══════════════════════════════════════════ */
.team-grid { display:flex; flex-direction:column; gap:20px; margin:28px 0 8px; }
.team-card {
  display:flex; gap:22px; align-items:flex-start;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:20px;
}
.post-content-wrap .team-card .team-photo {
  width:132px; height:165px; flex-shrink:0; margin:0;
  object-fit:cover; border-radius:var(--radius); border:1px solid var(--border);
  display:block;
}
.team-body { min-width:0; }
.team-name {
  font-family:var(--font-head); font-size:19px; font-weight:700;
  color:var(--post-heading); line-height:1.25;
}
.team-role {
  font-family:var(--font-body); font-size:12px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--accent); margin:4px 0 10px;
}
.post-content-wrap .team-bio {
  font-size:15px; line-height:1.65; color:var(--post-text); margin:0;
}

.contact-block {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px 26px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:22px 24px; margin:24px 0;
}
.contact-item { min-width:0; }
.contact-label {
  display:block; font-family:var(--font-body); font-size:11px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--post-meta); margin-bottom:5px;
}
.contact-item a { font-size:15px; font-weight:600; color:var(--post-link); text-decoration:none; overflow-wrap:anywhere; }
.contact-item a:hover { color:var(--post-link-h); text-decoration:underline; }
.contact-item address { font-style:normal; font-size:15px; line-height:1.6; color:var(--post-text); }

@media (max-width:600px) {
  .team-card { flex-direction:column; gap:16px; }
  .post-content-wrap .team-card .team-photo { width:140px; height:175px; }
}

/* ═══════════════════════════════════════════
   AUTHOR ARCHIVE (/author/<name>/)
   ═══════════════════════════════════════════ */
.author-archive-header { background:var(--surface); border-bottom:1px solid var(--border); padding:48px 24px; }
.author-archive-inner {
  max-width:900px; margin:0 auto; display:flex; gap:32px; align-items:flex-start;
}
.author-archive-avatar { flex-shrink:0; }
.author-archive-avatar img {
  width:150px; height:188px; object-fit:cover; display:block;
  border-radius:var(--radius); border:1px solid var(--border);
}
.author-archive-info { min-width:0; }
.author-archive-eyebrow {
  display:inline-block; font-family:var(--font-body); font-size:11px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--post-meta); margin-bottom:8px;
}
.author-archive-header h1 {
  font-family:var(--font-head); font-size:38px; font-weight:800; line-height:1.15;
  letter-spacing:-0.02em; color:var(--text); margin:0;
}
.author-archive-role {
  font-family:var(--font-body); font-size:13px; font-weight:700;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--accent); margin:8px 0 14px;
}
.author-archive-bio { font-size:16px; line-height:1.7; color:var(--text-2); margin:0 0 14px; max-width:62ch; }
.author-archive-count { font-size:13px; font-weight:600; color:var(--text-3); }

/* Team card additions: linked name/photo + article count */
.team-photo-link { display:block; flex-shrink:0; }
.team-name a { color:inherit; text-decoration:none; }
.team-name a:hover { color:var(--accent); }
.post-content-wrap .team-link {
  display:inline-block; margin-top:10px; font-size:12px; font-weight:700;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--accent); text-decoration:none;
}
.post-content-wrap .team-link:hover { color:var(--accent-lt); text-decoration:underline; }

/* Author box on a single post */
.author-box .author-role {
  font-family:var(--font-body); font-size:11px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); margin:3px 0 8px;
}
.author-box .author-name a { color:inherit; text-decoration:none; }
.author-box .author-name a:hover { color:var(--accent); }

@media (max-width:700px) {
  .author-archive-inner { flex-direction:column; gap:20px; }
  .author-archive-header { padding:36px 20px; }
  .author-archive-header h1 { font-size:30px; }
  .author-archive-avatar img { width:128px; height:160px; }
}

/* ═══════════════════════════════════════════
   AUTHOR BOX — end of a single post
   Replaces the old 72px circular-avatar strip. The portraits are 4:5, so a
   circular crop cut faces badly; a rounded rectangle keeps them intact.
   The markup uses .author-portrait (not .author-avatar) so none of the older
   circle rules apply.
   ═══════════════════════════════════════════ */
.post-content-wrap .author-box {
  display:flex; gap:24px; align-items:stretch;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); border-top:3px solid var(--cta);
  padding:26px 28px; margin:48px 0 0;
  box-shadow:0 1px 4px rgba(15,23,42,0.05);
}
[data-theme="dark"] .post-content-wrap .author-box { box-shadow:none; }

.author-portrait { flex-shrink:0; display:block; width:104px; line-height:0; }
.post-content-wrap .author-portrait img {
  width:104px !important; height:130px !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover; display:block; margin:0 !important; padding:0;
  border-radius:var(--radius) !important;
  border:1px solid var(--border) !important;
  transition:transform .18s ease;
}
.author-portrait:hover img { transform:translateY(-2px); }

.author-box-body { min-width:0; display:flex; flex-direction:column; }
.author-eyebrow {
  font-family:var(--font-body); font-size:10px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--post-meta);
}
.post-content-wrap .author-box .author-name {
  font-family:var(--font-head); font-size:21px; font-weight:800;
  letter-spacing:-0.01em; text-transform:none;
  color:var(--post-heading); margin:5px 0 0; line-height:1.2;
}
.post-content-wrap .author-box .author-role {
  font-size:11px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--accent); margin:6px 0 10px;
}
.post-content-wrap .author-box .author-bio {
  font-size:14.5px; line-height:1.65; color:var(--text-2); margin:0 0 14px; max-width:62ch;
}
.post-content-wrap .author-more {
  align-self:flex-start; margin-top:auto;
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-body); font-size:12px; font-weight:700;
  letter-spacing:0.05em; text-transform:uppercase;
  color:var(--accent); text-decoration:none;
  padding:8px 15px; border:1px solid rgba(var(--accent-rgb),0.30);
  border-radius:100px; transition:background .15s, color .15s, border-color .15s;
}
.post-content-wrap .author-more:hover {
  background:var(--accent); border-color:var(--accent); color:#FFFFFF; text-decoration:none;
}
.post-content-wrap .author-more span { transition:transform .15s; }
.post-content-wrap .author-more:hover span { transform:translateX(3px); }

@media (max-width:600px) {
  .post-content-wrap .author-box { flex-direction:column; align-items:flex-start; text-align:left; gap:18px; padding:22px; }
  .author-portrait, .post-content-wrap .author-portrait img { width:96px !important; }
  .post-content-wrap .author-portrait img { height:120px !important; }
}

/* ═══════════════════════════════════════════
   FOOTER — refreshed
   The base footer was four equal-ish columns of small grey links with a lot of
   dead space. This gives the brand column real width, adds the contact block,
   and makes the columns read as a deliberate structure.
   ═══════════════════════════════════════════ */
.site-footer {
  background:var(--surface); border-top:1px solid var(--border);
  padding:0 0 28px; position:relative;
}
/* Brand rule across the very top of the footer */
.site-footer::before {
  content:""; display:block; height:3px;
  background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 55%,var(--cta) 55%,var(--cta) 100%);
}
.footer-inner { max-width:1280px; margin:0 auto; padding:0 24px; }

.footer-affiliate {
  font-size:12px; line-height:1.65; border-radius:var(--radius);
  padding:14px 18px; margin:32px 0 40px;
}

.footer-grid {
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr;
  gap:44px 40px; margin-bottom:44px; align-items:start;
}

.footer-desc { font-size:13.5px; line-height:1.75; color:var(--text-2); max-width:340px; margin-bottom:20px; }

/* Contact list under the brand blurb — fills what used to be empty space */
.footer-contact { list-style:none; display:flex; flex-direction:column; gap:11px; margin:0; padding:0; }
.footer-contact li { display:flex; align-items:flex-start; gap:11px; font-size:13px; line-height:1.55; }
.footer-contact-icon {
  flex-shrink:0; width:26px; height:26px; border-radius:7px;
  display:flex; align-items:center; justify-content:center; font-size:12px;
  background:rgba(var(--accent-rgb),0.10); color:var(--accent);
  border:1px solid rgba(var(--accent-rgb),0.20);
}
.footer-contact a { color:var(--text-2); text-decoration:none; transition:color .15s; overflow-wrap:anywhere; }
.footer-contact a:hover { color:var(--accent); }
.footer-contact address { font-style:normal; color:var(--text-2); }

/* Column headings get a short accent rule instead of sitting bare */
.footer-col-title {
  font-family:var(--font-head); font-size:13px; font-weight:700;
  letter-spacing:0.09em; text-transform:uppercase; color:var(--text);
  margin-bottom:18px; padding-bottom:10px; position:relative;
}
.footer-col-title::after {
  content:""; position:absolute; left:0; bottom:0;
  width:26px; height:2px; background:var(--cta); border-radius:2px;
}

.footer-links { list-style:none; display:flex; flex-direction:column; gap:11px; margin:0; padding:0; }
.footer-links a {
  font-size:13.5px; color:var(--text-2); text-decoration:none;
  display:inline-block; transition:color .15s, transform .15s;
}
.footer-links a:hover { color:var(--accent); transform:translateX(3px); }

.footer-bottom {
  border-top:1px solid var(--border); padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
  font-size:12.5px; color:var(--text-3); flex-wrap:wrap; gap:12px;
}
.footer-tagline { font-weight:600; color:var(--text-2); }

@media (max-width:1000px) {
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px 32px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-desc { max-width:520px; }
}
@media (max-width:560px) {
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; text-align:center; }
}
