/* wpglory.css — shared mockup stylesheet. Every value comes from the WPGlory design system (tokens.json).
   Kadence free only. Section 2 (bottom) maps the brand onto Kadence markup and core blocks. No jQuery, no frameworks. */

@font-face { font-family: "Plus Jakarta Sans"; font-weight: 700; font-display: swap; src: url("../fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-weight: 800; font-display: swap; src: url("../fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-display: swap; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-display: swap; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-weight: 400; font-display: swap; src: url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-weight: 600; font-display: swap; src: url("../fonts/jetbrains-mono-latin-600-normal.woff2") format("woff2"); }

:root {
  /* Kadence global palette 1–9 */
  --emerald: #047857; --emerald-deep: #065F46; --ink: #0F172A; --slate-800: #1E293B; --slate-600: #475569;
  --slate-500: #64748B; --line: #E2E8F0; --mist: #F8FAFC; --white: #FFFFFF;
  /* child theme only */
  --emerald-soft: #ECFDF5; --glory: #00C890;
  --ink-raised: #1B263B; --line-dark: #2B3A55; --slate-400: #94A3B8;
  --gold: #F59E0B; --gold-hover: #D97706; --gold-soft: #FEF3C7;
  --pass: #15803D; --pass-soft: #DCFCE7; --fail: #B91C1C; --fail-soft: #FEE2E2; --code: #0B1324;
  --focus-ring: #047857;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.08);
  --shadow-md: 0 8px 24px rgba(15,23,42,.10);
  --shadow-frame: 0 20px 48px rgba(15,23,42,.22);
  --gutter: 32px; --section: 96px;
}
@media (max-width: 767px) { :root { --gutter: 16px; --section: 64px; } }

/* ---------- base ---------- */
.wg { font: 400 17px/1.65 var(--font-sans); color: var(--slate-800); min-width: 0; }
.wg *, .wg *::before, .wg *::after { box-sizing: border-box; }
.wg h1, .wg h2, .wg h3, .wg h4, .wg h5, .wg h6 { font-family: var(--font-display); color: var(--ink); margin: 0; font-weight: 700; }
.wg h1 { font-weight: 800; }
.wg p { margin: 0; }
.wg a { color: var(--emerald); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wg a:hover { color: var(--emerald-deep); }
.wg :focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.wg .on-dark :focus-visible, .wg-dark :focus-visible { outline-color: var(--glory); }
.wg img { max-width: 100%; height: auto; }
.wg code { font: 400 .9em var(--font-mono); background: var(--mist); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 1px 6px; color: var(--ink); }
.wg svg.i { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.wg .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wg .mono { font-family: var(--font-mono); }
.wg .ph { font-family: var(--font-mono); font-weight: 600; color: var(--emerald); }
.wg-dark .ph, .on-dark .ph { color: var(--glory); }

.wg-container { width: 100%; max-width: calc(1240px + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.wg-section { padding: var(--section) 0; }
.wg-section--mist { background: var(--mist); }
.wg-dark { background: var(--ink); color: var(--slate-400); }
.wg-dark h1, .wg-dark h2, .wg-dark h3, .wg-dark h4 { color: var(--white); }
.wg-eyebrow { font: 600 14px/20px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--emerald); }
.wg-dark .wg-eyebrow { color: var(--glory); }
.wg-h2 { font-size: 32px; line-height: 40px; letter-spacing: -.01em; }
.wg-lead { font-size: 19px; line-height: 31px; color: var(--slate-600); }
.wg-dark .wg-lead { color: var(--slate-400); }
.wg-sechead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 48px; }
.wg-sechead > div { display: grid; gap: 8px; max-width: 680px; }
.wg-link { display: inline-flex; align-items: center; gap: 6px; font: 600 15px/20px var(--font-sans); text-decoration: none; }
.wg-link svg.i { width: 18px; height: 18px; }
@media (max-width: 767px) {
  .wg-h2 { font-size: 26px; line-height: 32px; }
  .wg-lead { font-size: 17px; line-height: 28px; }
  .wg-sechead { margin-bottom: 32px; }
}

/* ---------- buttons & badges (from the design system) ---------- */
.wg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; font: 600 15px/20px var(--font-sans); padding: 12px 20px; border-radius: var(--radius-md); border: 1px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.wg-btn svg.i { width: 18px; height: 18px; }
.wg .wg-btn--primary { background: var(--emerald); color: var(--white); }
.wg .wg-btn--primary:hover { background: var(--emerald-deep); color: var(--white); }
.wg .wg-btn--secondary { background: var(--white); color: var(--emerald); border-color: var(--emerald); }
.wg .wg-btn--secondary:hover { background: var(--emerald-soft); color: var(--emerald-deep); }
.wg .wg-btn--cta { background: var(--gold); color: var(--ink); box-shadow: var(--shadow-sm); }
.wg .wg-btn--cta:hover { background: var(--gold-hover); color: var(--ink); }
.wg .wg-btn--ghost-dark { background: transparent; color: var(--white); border-color: var(--line-dark); }
.wg .wg-btn--ghost-dark:hover { border-color: var(--slate-400); background: var(--ink-raised); color: var(--white); }
.wg-btn--sm { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.wg-btn--block { width: 100%; }

.wg-badge { display: inline-flex; align-items: center; gap: 4px; font: 600 13px/18px var(--font-sans); padding: 4px 10px; border-radius: var(--radius-pill); white-space: nowrap; text-decoration: none; }
.wg-badge svg.i { width: 14px; height: 14px; }
.wg .wg-badge--cat { background: var(--emerald-soft); color: var(--emerald); }
.wg-badge--tested { background: var(--white); color: var(--emerald); border: 1px solid var(--line); }
.wg-badge--deal { background: var(--gold-soft); color: var(--ink); }
.wg-badge--pass { background: var(--pass-soft); color: var(--pass); }
.wg-badge--fail { background: var(--fail-soft); color: var(--fail); }
.wg-score { display: inline-flex; align-items: baseline; gap: 2px; font: 700 15px/1 var(--font-mono); padding: 6px 10px; border-radius: var(--radius-pill); background: var(--ink); color: var(--white); white-space: nowrap; }
.wg-score small { font: 400 11px/1 var(--font-mono); color: var(--slate-400); }

.wg-input { width: 100%; min-height: 48px; font: 400 16px/24px var(--font-sans); color: var(--ink); padding: 11px 14px; background: var(--white); border: 1px solid var(--slate-500); border-radius: var(--radius-md); }
.wg-input::placeholder { color: var(--slate-500); }
.wg-search { position: relative; }
.wg-search svg.i { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--slate-500); }
.wg-search .wg-input { padding-left: 42px; }

/* ---------- deal bar + header ---------- */
.wg-dealbar { background: var(--gold-soft); color: var(--ink); font: 500 14px/20px var(--font-sans); }
.wg-dealbar .wg-container { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; text-align: center; }
.wg-dealbar a { color: var(--ink); font-weight: 600; }
.wg-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.wg-header__in { display: flex; align-items: center; gap: 24px; height: 72px; }
.wg-logo { display: block; flex: none; }
.wg-logo img { height: 34px; width: auto; }
.wg-nav { flex: 1; min-width: 0; }
.wg-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.wg-nav li { position: relative; }
.wg-nav__a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 12px; border-radius: var(--radius-md); font: 600 15px/20px var(--font-sans); color: var(--slate-800); text-decoration: none; background: none; border: 0; cursor: pointer; }
.wg .wg-nav__a { color: var(--slate-800); }
.wg .wg-nav__a:hover { color: var(--emerald); background: var(--mist); }
.wg-nav__a svg.i { width: 16px; height: 16px; }
.wg-dd { position: absolute; top: calc(100% + 8px); left: 0; min-width: 300px; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); display: none; list-style: none; margin: 0; }
.wg-nav li:hover > .wg-dd, .wg-nav li:focus-within > .wg-dd { display: grid; }
.wg-dd a { display: grid; grid-template-columns: 20px 1fr; gap: 2px 12px; padding: 10px 12px; border-radius: var(--radius-md); text-decoration: none; }
.wg-dd a:hover { background: var(--mist); }
.wg-dd svg.i { color: var(--emerald); grid-row: span 2; margin-top: 2px; }
.wg-dd b { font: 600 15px/20px var(--font-sans); color: var(--ink); }
.wg-dd span { font: 400 13px/18px var(--font-sans); color: var(--slate-600); }
.wg-header__end { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.wg-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: none; border: 1px solid transparent; color: var(--slate-800); cursor: pointer; }
.wg-iconbtn:hover { background: var(--mist); color: var(--emerald); }
.wg-burger { display: none; }
.wg-burger > summary { list-style: none; }
.wg-burger > summary::-webkit-details-marker { display: none; }
.wg-drawer { position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-top: 1px solid var(--line); box-shadow: var(--shadow-md); padding: 8px var(--gutter) 24px; display: grid; gap: 4px; }
.wg-drawer a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 4px; border-bottom: 1px solid var(--line); font: 600 16px/24px var(--font-sans); color: var(--ink); text-decoration: none; }
.wg-drawer small { font: 600 12px/16px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--slate-600); padding: 16px 4px 4px; }
.wg-drawer .wg-btn { margin-top: 16px; }
@media (max-width: 1100px) {
  .wg-nav, .wg-header__cta { display: none; }
  .wg-burger { display: block; }
  .wg-header__in { height: 60px; }
  .wg-logo img { height: 30px; }
}

/* ---------- footer ---------- */
.wg-footer { background: var(--ink); color: var(--slate-400); font-size: 15px; line-height: 24px; }
.wg-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding: 80px 0 48px; }
.wg-footer h2 { font: 600 14px/20px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--white); margin-bottom: 16px; }
.wg-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wg .wg-footer a { color: var(--slate-400); text-decoration: none; }
.wg .wg-footer a:hover { color: var(--white); text-decoration: underline; }
.wg-footer__about img { height: 34px; width: auto; margin-bottom: 16px; }
.wg-sister { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: var(--ink-raised); }
.wg-sister p { color: var(--white); font-weight: 500; }
.wg .wg-sister a.wg-btn { color: var(--white); text-decoration: none; }
.wg-footer__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 24px 0 32px; margin-top: 32px; border-top: 1px solid var(--line-dark); font-size: 13px; line-height: 20px; }
@media (max-width: 1023px) { .wg-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .wg-footer__grid { grid-template-columns: 1fr; gap: 32px; padding-top: 64px; } }

/* ---------- hero ---------- */
.wg-hero { position: relative; overflow: hidden; background-color: var(--ink); background-image: url("../img/blockgrid.svg"); background-size: 48px 48px; }
.wg-hero__fade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink) 30%, rgba(15,23,42,0) 75%); pointer-events: none; }
.wg-hero__in { position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; padding: 96px 0 104px; }
.wg-hero h1 { font-size: 56px; line-height: 62px; letter-spacing: -.025em; font-weight: 800; }
.wg-hero h1 em { font-style: normal; color: var(--glory); }
.wg-hero__copy { display: grid; gap: 24px; justify-items: start; }
.wg-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.wg-hero__proof { display: flex; flex-wrap: wrap; gap: 8px 20px; font: 500 14px/20px var(--font-sans); color: var(--slate-400); }
.wg-hero__proof span { display: inline-flex; align-items: center; gap: 6px; }
.wg-hero__proof svg.i { width: 16px; height: 16px; color: var(--glory); }
@media (max-width: 1023px) { .wg-hero__in { grid-template-columns: 1fr; gap: 48px; padding: 72px 0 80px; } }
@media (max-width: 599px) { .wg-hero h1 { font-size: 36px; line-height: 40px; } .wg-hero__in { padding: 56px 0 64px; } .wg-hero__btns .wg-btn { flex: 1 1 100%; } }

/* ---------- terminal + frames ---------- */
.wg-term { border-radius: var(--radius-lg); background: var(--code); overflow: hidden; border: 1px solid var(--line-dark); }
.wg-term--hero { box-shadow: var(--shadow-frame); }
.wg-term__bar { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line-dark); font: 400 13px/20px var(--font-mono); color: var(--slate-400); }
.wg-term__dots { display: flex; gap: 6px; }
.wg-term__dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--line-dark); display: block; }
.wg-term__title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-term__copy { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; cursor: pointer; font: 600 12px/16px var(--font-sans); color: var(--line); background: var(--ink-raised); border: 1px solid var(--line-dark); border-radius: var(--radius-sm); padding: 4px 10px; }
.wg-term__copy svg.i { width: 14px; height: 14px; }
.wg-term pre { margin: 0; padding: 18px 20px; overflow-x: auto; font: 400 15px/26px var(--font-mono); color: var(--line); white-space: pre; }
.wg-term .p { color: var(--glory); user-select: none; }
.wg-term .c { color: var(--slate-400); }
.wg-term .ok { color: var(--gold); }
.wg-term .v { color: var(--glory); font-weight: 600; }
@media (max-width: 599px) { .wg-term pre { font-size: 13px; line-height: 22px; padding: 14px; } }

.wg-frame { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-sm); }
.wg-frame__bar { display: flex; align-items: center; gap: 10px; padding: 9px 14px; background: var(--mist); border-bottom: 1px solid var(--line); }
.wg-frame__bar .wg-term__dots i { background: var(--line); width: 10px; height: 10px; }
.wg-frame__url { flex: 1; min-width: 0; font: 400 12px/18px var(--font-mono); color: var(--slate-600); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 3px 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wg-shot { display: grid; place-items: center; text-align: center; padding: 24px; aspect-ratio: 16 / 9; background-color: var(--mist); background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(91,107,129,.07) 14px 15px); font: 600 14px/20px var(--font-mono); color: var(--slate-600); }
.wg-shot--dark { background-color: var(--ink-raised); background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(148,163,184,.08) 14px 15px); color: var(--slate-400); }
.wg-figure { margin: 0; display: grid; gap: 10px; }
.wg-figure figcaption { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }

/* ---------- trust strip ---------- */
.wg-trust { border-bottom: 1px solid var(--line); background: var(--white); }
.wg-trust ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wg-trust li { display: flex; gap: 14px; align-items: center; padding: 28px 24px; border-left: 1px solid var(--line); }
.wg-trust li:first-child { border-left: 0; padding-left: 0; }
.wg-trust .ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--emerald-soft); color: var(--emerald); flex: none; }
.wg-trust b { display: block; font: 700 18px/24px var(--font-display); color: var(--ink); }
.wg-trust span { font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
@media (max-width: 1023px) { .wg-trust ul { grid-template-columns: 1fr 1fr; } .wg-trust li:nth-child(3) { border-left: 0; padding-left: 0; } .wg-trust li { border-top: 1px solid var(--line); } .wg-trust li:nth-child(-n+2) { border-top: 0; } }
@media (max-width: 599px) { .wg-trust ul { grid-template-columns: 1fr; } .wg-trust li { border-left: 0; padding: 18px 0; } .wg-trust li:nth-child(2) { border-top: 1px solid var(--line); } }

/* ---------- tabs / pills ---------- */
.wg-pills { display: flex; gap: 8px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.wg-pill { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--white); font: 600 14px/20px var(--font-sans); color: var(--slate-800); text-decoration: none; cursor: pointer; white-space: nowrap; }
.wg .wg-pill { color: var(--slate-800); }
.wg .wg-pill:hover { border-color: var(--emerald); color: var(--emerald); }
.wg .wg-pill[aria-current], .wg .wg-pill[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
@media (max-width: 767px) { .wg-pills--scroll { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; scrollbar-width: none; } }

/* ---------- top picks table ---------- */
.wg-picks { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); overflow: hidden; box-shadow: var(--shadow-sm); }
.wg-picks__head, .wg-pick { display: grid; grid-template-columns: 44px minmax(180px, 1.5fr) minmax(120px, 1fr) minmax(150px, 1.2fr) 90px 196px; gap: 20px; align-items: center; padding: 0 24px; }
.wg-picks__head { min-height: 48px; background: var(--mist); border-bottom: 1px solid var(--line); font: 600 13px/18px var(--font-sans); color: var(--slate-600); }
.wg-pick { padding-top: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.wg-pick:last-child { border-bottom: 0; }
.wg-pick__rank { font: 700 20px/1 var(--font-display); color: var(--slate-500); }
.wg-pick__prov { display: flex; align-items: center; gap: 14px; min-width: 0; }
.wg-logo-ph { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: var(--radius-md); border: 1px dashed var(--slate-500); background: var(--mist); font: 600 10px/12px var(--font-mono); color: var(--slate-600); text-align: center; }
.wg-pick__name { display: grid; gap: 4px; min-width: 0; }
.wg-pick__name b { font: 600 18px/24px var(--font-display); color: var(--ink); }
.wg-pick__price { display: grid; gap: 2px; }
.wg-pick__price b { font: 600 16px/22px var(--font-mono); color: var(--ink); }
.wg-pick__price span, .wg-pick__spec span { font: 400 13px/18px var(--font-sans); color: var(--slate-600); }
.wg-pick__spec { display: grid; gap: 2px; }
.wg-pick__spec b { font: 600 14px/20px var(--font-mono); color: var(--slate-800); }
.wg-pick__act { display: grid; gap: 6px; justify-items: stretch; text-align: center; }
.wg-pick__act a.wg-link { justify-content: center; font-size: 14px; }
.wg-mlabel { display: none; }
.wg-picks--top .wg-pick:first-of-type { background: linear-gradient(var(--emerald-soft), var(--emerald-soft)) left / 4px 100% no-repeat; }
@media (max-width: 1023px) {
  .wg-picks { border: 0; background: none; box-shadow: none; overflow: visible; display: grid; gap: 16px; }
  .wg-picks__head { display: none; }
  .wg-pick { grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
  .wg-pick:last-child { border-bottom: 1px solid var(--line); }
  .wg-pick__rank { display: none; }
  .wg-pick__prov { grid-column: 1 / -1; }
  .wg-pick__score { justify-self: start; }
  .wg-pick__act { grid-column: 1 / -1; }
  .wg-mlabel { display: block; font: 600 12px/16px var(--font-display); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); }
}

/* ---------- cards ---------- */
.wg-grid { display: grid; gap: 24px; }
.wg-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wg-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wg-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1023px) { .wg-grid--4, .wg-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .wg-grid--4, .wg-grid--3, .wg-grid--2 { grid-template-columns: 1fr; } }

.wg-topic { display: grid; gap: 12px; align-content: start; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); text-decoration: none; transition: box-shadow .15s, border-color .15s; }
.wg .wg-topic:hover { box-shadow: var(--shadow-md); border-color: var(--emerald); }
.wg-topic .ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--ink); color: var(--glory); }
.wg-topic h3 { font: 600 20px/28px var(--font-display); color: var(--ink); }
.wg-topic p { font: 400 15px/24px var(--font-sans); color: var(--slate-600); }
.wg-topic .more { font: 600 14px/20px var(--font-sans); color: var(--emerald); display: inline-flex; align-items: center; gap: 6px; }
.wg-topic .more svg.i { width: 16px; height: 16px; }

.wg-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); overflow: hidden; transition: box-shadow .15s; }
.wg-card:hover { box-shadow: var(--shadow-md); }
.wg-card__thumb { position: relative; display: block; }
.wg-card__thumb .wg-shot { aspect-ratio: 16 / 9; font-size: 12px; }
.wg-card__thumb .wg-score { position: absolute; top: 12px; right: 12px; }
.wg-card__body { display: grid; gap: 10px; align-content: start; padding: 20px 22px 22px; }
.wg-card__body h3 { font: 600 20px/28px var(--font-display); }
.wg .wg-card__body h3 a { color: var(--ink); text-decoration: none; }
.wg .wg-card__body h3 a:hover { color: var(--emerald); text-decoration: underline; }
.wg-card__ex { font: 400 15px/24px var(--font-sans); color: var(--slate-600); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font: 400 13px/20px var(--font-sans); color: var(--slate-500); }
.wg-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--slate-500); }
.wg-author-mini { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--slate-800); }
.wg-avatar { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--white); font: 600 11px/1 var(--font-display); flex: none; }
.wg-avatar--lg { width: 88px; height: 88px; font-size: 26px; }
.wg-avatar--md { width: 40px; height: 40px; font-size: 14px; }

/* ---------- benchmarks ---------- */
.wg-bench { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; background: var(--white); box-shadow: var(--shadow-sm); }
.wg-bench h3, .wg-bench h4 { font: 600 18px/26px var(--font-display); color: var(--ink); }
.wg-bench__meta { margin: 4px 0 18px; font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-bench__row { display: grid; grid-template-columns: 140px 1fr; gap: 14px; align-items: center; margin-top: 12px; }
.wg-bench__name { font: 600 14px/20px var(--font-sans); color: var(--slate-800); }
.wg-bench__track { height: 30px; background: var(--mist); border-radius: var(--radius-sm); }
.wg-bench__bar { height: 100%; border-radius: var(--radius-sm); background: var(--slate-400); background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(255,255,255,.22) 6px 8px); display: flex; align-items: center; justify-content: flex-end; min-width: 150px; }
.wg-bench__row--hero .wg-bench__bar { background-color: var(--emerald); }
.wg-bench__row--hero .wg-bench__val { color: var(--white); }
.wg-bench__row--hero .wg-bench__name { color: var(--ink); }
.wg-bench__val { font: 600 12px/1 var(--font-mono); color: var(--ink); padding: 0 10px; white-space: nowrap; }
.wg-bench__note { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
@media (max-width: 599px) { .wg-bench { padding: 20px; } .wg-bench__row { grid-template-columns: 1fr; gap: 4px; } }

.wg-split { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: center; }
.wg-split__copy { display: grid; gap: 20px; justify-items: start; }
.wg-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wg-checks li { display: flex; gap: 10px; align-items: flex-start; font: 400 16px/26px var(--font-sans); }
.wg-checks svg.i { color: var(--pass); margin-top: 3px; }
@media (max-width: 1023px) { .wg-split { grid-template-columns: 1fr; gap: 40px; } }

/* ---------- versus card ---------- */
.wg-vs { display: grid; grid-template-columns: 1fr 1.3fr; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-md); }
.wg-vs__intro { position: relative; display: grid; gap: 18px; align-content: center; justify-items: start; padding: 48px; background-color: var(--ink); background-image: url("../img/blockgrid.svg"); background-size: 48px 48px; color: var(--slate-400); }
.wg-vs__intro h3 { font: 700 32px/40px var(--font-display); color: var(--white); }
.wg-vs__faces { display: flex; align-items: center; gap: 14px; }
.wg-vs__faces .wg-logo-ph { background: var(--ink-raised); border-color: var(--slate-400); color: var(--slate-400); width: 60px; height: 60px; }
.wg-vs__x { font: 700 16px/1 var(--font-mono); color: var(--glory); }
.wg-vs__table { padding: 32px 36px; display: grid; gap: 20px; align-content: center; }
.wg-mtable { width: 100%; border-collapse: collapse; font: 400 15px/22px var(--font-sans); }
.wg-mtable th, .wg-mtable td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.wg-mtable thead th { font: 600 13px/18px var(--font-sans); color: var(--slate-600); background: var(--mist); }
.wg-mtable tbody th { font-weight: 600; color: var(--ink); }
.wg-mtable td { font-family: var(--font-mono); font-size: 14px; color: var(--slate-800); }
.wg-win { display: inline-flex; align-items: center; gap: 4px; font: 600 12px/16px var(--font-sans); color: var(--pass); }
.wg-win svg.i { width: 14px; height: 14px; }
@media (max-width: 1023px) { .wg-vs { grid-template-columns: 1fr; } .wg-vs__intro { padding: 32px 24px; } .wg-vs__table { padding: 24px 20px; } }
@media (max-width: 599px) { .wg-vs__intro h3 { font-size: 26px; line-height: 32px; } }

/* ---------- how we test ---------- */
.wg-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: s; }
.wg-step { position: relative; display: grid; gap: 12px; align-content: start; padding: 28px 24px; border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: var(--ink-raised); }
.wg-step__n { font: 600 13px/18px var(--font-mono); color: var(--glory); }
.wg-step .ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--ink); color: var(--glory); border: 1px solid var(--line-dark); }
.wg-step h3 { font: 600 20px/28px var(--font-display); }
.wg-step p { font: 400 15px/24px var(--font-sans); color: var(--slate-400); }
@media (max-width: 1023px) { .wg-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .wg-steps { grid-template-columns: 1fr; } }

/* ---------- newsletter ---------- */
.wg-news { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; padding: 48px; border-radius: var(--radius-lg); background: var(--emerald-soft); border: 1px solid var(--line); }
.wg-news__copy { display: grid; gap: 12px; }
.wg-news form { display: grid; gap: 10px; }
.wg-news__row { display: flex; gap: 8px; }
.wg-news__row .wg-input { flex: 1; min-width: 0; }
.wg-news small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-news label { font: 600 14px/20px var(--font-sans); color: var(--ink); }
@media (max-width: 1023px) { .wg-news { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px; } }
@media (max-width: 479px) { .wg-news__row { flex-direction: column; } }

/* ---------- blog archive ---------- */
.wg-pagehead { padding: 64px 0 40px; background: var(--mist); border-bottom: 1px solid var(--line); }
.wg-pagehead__in { display: grid; gap: 16px; max-width: 760px; }
.wg-pagehead h1 { font-size: 44px; line-height: 50px; letter-spacing: -.02em; }
.wg-pagehead .wg-search { margin-top: 8px; max-width: 560px; }
@media (max-width: 599px) { .wg-pagehead { padding: 40px 0 32px; } .wg-pagehead h1 { font-size: 32px; line-height: 38px; } }
.wg-filters { position: sticky; top: 72px; z-index: 10; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); padding: 14px 0; }
@media (max-width: 1100px) { .wg-filters { top: 60px; } }
.wg-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.wg-layout--full { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1023px) { .wg-layout { grid-template-columns: minmax(0, 1fr); } .wg-sidebar { display: none; } }
.wg-feat { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-sm); margin-bottom: 40px; }
.wg-feat .wg-shot { height: 100%; aspect-ratio: auto; min-height: 300px; }
.wg-feat__body { display: grid; gap: 14px; align-content: center; padding: 36px; }
.wg-feat__body h2 { font: 700 28px/36px var(--font-display); }
.wg .wg-feat__body h2 a { color: var(--ink); text-decoration: none; }
.wg-feat__body p { color: var(--slate-600); }
@media (max-width: 767px) { .wg-feat { grid-template-columns: 1fr; } .wg-feat .wg-shot { min-height: 0; aspect-ratio: 16 / 9; } .wg-feat__body { padding: 22px; } .wg-feat__body h2 { font-size: 22px; line-height: 30px; } }
.wg-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wg-layout:not(.wg-layout--full) .wg-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1023px) { .wg-posts, .wg-layout:not(.wg-layout--full) .wg-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .wg-posts, .wg-layout:not(.wg-layout--full) .wg-posts { grid-template-columns: 1fr; } }
.wg-sidebar { display: grid; gap: 24px; position: sticky; top: 150px; }
.wg-box { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); display: grid; gap: 14px; }
.wg-box--mist { background: var(--mist); }
.wg-box--dark { background: var(--ink); border-color: var(--ink); color: var(--slate-400); }
.wg-box--dark h2, .wg-box--dark b { color: var(--white); }
.wg-box h2 { font: 600 14px/20px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.wg-box ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; counter-reset: pp; }
.wg-box ol li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; counter-increment: pp; font: 600 15px/22px var(--font-sans); }
.wg-box ol li::before { content: counter(pp, decimal-leading-zero); font: 600 13px/22px var(--font-mono); color: var(--slate-500); }
.wg .wg-box ol a { color: var(--ink); text-decoration: none; }
.wg .wg-box ol a:hover { color: var(--emerald); text-decoration: underline; }
.wg-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 56px; list-style: none; padding: 0; }
.wg-pager a, .wg-pager span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: var(--radius-md); border: 1px solid var(--line); font: 600 15px/1 var(--font-mono); color: var(--slate-800); text-decoration: none; background: var(--white); }
.wg .wg-pager a { color: var(--slate-800); }
.wg .wg-pager a:hover { border-color: var(--emerald); color: var(--emerald); }
.wg .wg-pager [aria-current] { background: var(--emerald); border-color: var(--emerald); color: var(--white); }
.wg-pager span.gap { border: 0; background: none; }

/* ---------- single post ---------- */
.wg-crumbs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font: 400 14px/20px var(--font-sans); color: var(--slate-600); list-style: none; margin: 0; padding: 0; }
.wg .wg-crumbs a { color: var(--slate-600); text-decoration: none; }
.wg .wg-crumbs a:hover { color: var(--emerald); text-decoration: underline; }
.wg-crumbs svg.i { width: 14px; height: 14px; color: var(--slate-500); }
.wg-posthead { padding: 40px 0 36px; background: var(--mist); border-bottom: 1px solid var(--line); }
.wg-posthead__in { display: grid; gap: 18px; max-width: 880px; }
.wg-posthead h1 { font-size: 44px; line-height: 50px; letter-spacing: -.02em; }
.wg-posthead .sub { font: 400 19px/31px var(--font-sans); color: var(--slate-600); }
.wg-postmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-postmeta > span { display: inline-flex; align-items: center; gap: 8px; }
.wg-postmeta svg.i { width: 16px; height: 16px; color: var(--slate-500); }
.wg-postmeta b { color: var(--ink); font-weight: 600; }
@media (max-width: 599px) { .wg-posthead { padding: 24px 0 28px; } .wg-posthead h1 { font-size: 32px; line-height: 38px; } .wg-posthead .sub { font-size: 17px; line-height: 28px; } }

.wg-article-wrap { display: grid; grid-template-columns: minmax(0, 760px) 300px; justify-content: space-between; gap: 64px; padding: 48px 0 var(--section); }
@media (max-width: 1100px) { .wg-article-wrap { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 24px; } .wg-toc-side { display: none; } }
.wg-toc-side { position: sticky; top: 100px; align-self: start; display: grid; gap: 20px; }
.wg-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border-left: 2px solid var(--line); }
.wg-toc a { display: block; padding: 7px 14px; margin-left: -2px; border-left: 2px solid transparent; font: 500 14px/20px var(--font-sans); color: var(--slate-600); text-decoration: none; }
.wg .wg-toc a { color: var(--slate-600); }
.wg .wg-toc a:hover { color: var(--emerald); }
.wg .wg-toc a[aria-current] { border-left-color: var(--emerald); color: var(--emerald); font-weight: 600; }
.wg-toc-m { display: none; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--mist); margin-bottom: 28px; }
.wg-toc-m > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 16px; cursor: pointer; font: 600 15px/20px var(--font-sans); color: var(--ink); list-style: none; }
.wg-toc-m > summary::-webkit-details-marker { display: none; }
.wg-toc-m .wg-toc { padding: 0 16px 16px; }
@media (max-width: 1100px) { .wg-toc-m { display: block; } }

.wg-article { font-size: 18px; line-height: 30px; color: var(--slate-800); display: grid; gap: 24px; min-width: 0; }
.wg-article > h2 { font-size: 32px; line-height: 40px; letter-spacing: -.01em; margin-top: 24px; scroll-margin-top: 96px; }
.wg-article > h3 { font-size: 24px; line-height: 32px; margin-top: 8px; }
.wg-article ul.ul { margin: 0; padding-left: 24px; display: grid; gap: 8px; }
.wg-article ul.ul li::marker { color: var(--emerald); }
.wg-article blockquote { margin: 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--glory); font: 500 20px/32px var(--font-sans); color: var(--ink); }
.wg-article blockquote cite { display: block; margin-top: 8px; font: 400 14px/20px var(--font-sans); font-style: normal; color: var(--slate-600); }
@media (max-width: 599px) { .wg-article { font-size: 17px; line-height: 28px; } .wg-article > h2 { font-size: 26px; line-height: 32px; } .wg-article > h3 { font-size: 21px; line-height: 28px; } }

.wg-disclosure { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
.wg-disclosure svg.i { width: 18px; height: 18px; color: var(--slate-500); margin-top: 2px; }

.wg-verdict { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); overflow: hidden; }
.wg-verdict__top { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: 24px 28px; background: var(--ink); color: var(--slate-400); }
.wg-verdict__score { display: grid; place-items: center; width: 96px; height: 96px; border-radius: var(--radius-lg); background: var(--ink-raised); border: 1px solid var(--line-dark); }
.wg-verdict__score b { font: 700 28px/1 var(--font-mono); color: var(--white); }
.wg-verdict__score span { font: 400 12px/1 var(--font-mono); color: var(--slate-400); }
.wg-verdict__top h2 { font: 600 14px/20px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--glory); }
.wg-verdict__top p { color: var(--white); font: 600 20px/28px var(--font-display); margin-top: 4px; }
.wg-verdict__facts { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 8px; font: 400 14px/20px var(--font-sans); }
.wg-verdict__facts b { color: var(--white); font-family: var(--font-mono); font-weight: 600; }
.wg-verdict__body { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; padding: 24px 28px; }
.wg-verdict__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 20px 28px; border-top: 1px solid var(--line); background: var(--mist); }
.wg-verdict__foot small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
@media (max-width: 767px) {
  .wg-verdict__top { grid-template-columns: auto 1fr; padding: 20px; gap: 16px; }
  .wg-verdict__top .wg-verdict__cta { grid-column: 1 / -1; }
  .wg-verdict__score { width: 76px; height: 76px; }
  .wg-verdict__body { grid-template-columns: 1fr; padding: 20px; }
  .wg-verdict__foot { padding: 18px 20px; }
  .wg-verdict__foot .wg-btn { width: 100%; }
}
.wg-pc h3 { display: flex; align-items: center; gap: 8px; font: 600 15px/22px var(--font-sans); margin-bottom: 10px; }
.wg-pc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wg-pc li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; font: 400 15px/24px var(--font-sans); color: var(--slate-800); }
.wg-pc--pro h3, .wg-pc--pro li svg.i { color: var(--pass); }
.wg-pc--con h3, .wg-pc--con li svg.i { color: var(--fail); }
.wg-pc li svg.i { margin-top: 2px; }

.wg-proscons { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.wg-proscons > div { padding: 0 0 20px; }
.wg-proscons > div + div { border-left: 1px solid var(--line); }
.wg-proscons h3 { padding: 12px 20px; margin: 0 0 16px; }
.wg-proscons ul { padding: 0 20px; }
.wg-pc--pro h3.hd { background: var(--pass-soft); }
.wg-pc--con h3.hd { background: var(--fail-soft); }
@media (max-width: 599px) { .wg-proscons { grid-template-columns: 1fr; } .wg-proscons > div + div { border-left: 0; border-top: 1px solid var(--line); } }

.wg-callout { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 16px 20px; border-radius: var(--radius-md); font: 400 16px/26px var(--font-sans); color: var(--slate-800); border: 1px solid var(--line); background: var(--mist); }
.wg-callout svg.i { width: 22px; height: 22px; margin-top: 2px; }
.wg-callout strong { display: block; font-weight: 600; color: var(--ink); }
.wg-callout--tip { background: var(--white); } .wg-callout--tip svg.i { color: var(--pass); }
.wg-callout--warning { background: var(--fail-soft); border-color: transparent; } .wg-callout--warning svg.i { color: var(--fail); }
.wg-callout--note { background: var(--emerald-soft); border-color: transparent; } .wg-callout--note svg.i { color: var(--emerald); }

.wg-tablebox { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); -webkit-overflow-scrolling: touch; }
.wg-table { width: 100%; border-collapse: collapse; font: 400 15px/22px var(--font-sans); }
.wg-table caption { text-align: left; padding: 14px 18px; font: 600 15px/22px var(--font-display); color: var(--ink); border-bottom: 1px solid var(--line); }
.wg-table th, .wg-table td { padding: 13px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.wg-table tr:last-child th, .wg-table tr:last-child td { border-bottom: 0; }
.wg-table thead th { background: var(--mist); font: 600 13px/18px var(--font-sans); color: var(--slate-600); }
.wg-table tbody th { font-weight: 600; color: var(--ink); width: 34%; }
.wg-table td.mono { font: 600 14px/22px var(--font-mono); color: var(--slate-800); }
.wg-table--cmp { min-width: 680px; }
.wg-table--cmp thead th { text-align: center; }
.wg-table--cmp thead th:first-child { text-align: left; }
.wg-table--cmp td { text-align: center; }
.wg-table--cmp thead .prov { display: grid; justify-items: center; gap: 8px; font: 600 16px/22px var(--font-display); color: var(--ink); }
.wg-table--cmp .hl { background: var(--emerald-soft); }
.wg-yes, .wg-no { display: inline-flex; align-items: center; gap: 6px; font: 600 14px/20px var(--font-sans); }
.wg-yes { color: var(--pass); } .wg-no { color: var(--fail); }
.wg-yes svg.i, .wg-no svg.i { width: 18px; height: 18px; }
.wg-scrollhint { display: none; font: 400 13px/20px var(--font-sans); color: var(--slate-600); margin-top: -12px; }
@media (max-width: 767px) { .wg-scrollhint { display: flex; align-items: center; gap: 6px; } }

.wg-prodcard { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--mist); }
.wg-prodcard__txt { display: grid; gap: 4px; min-width: 0; }
.wg-prodcard__txt b { font: 600 18px/24px var(--font-display); color: var(--ink); }
.wg-prodcard__txt span { font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
.wg-prodcard__act { display: grid; gap: 6px; justify-items: center; }
.wg-prodcard__act small { font: 400 12px/16px var(--font-sans); color: var(--slate-600); }
@media (max-width: 599px) { .wg-prodcard { grid-template-columns: auto 1fr; padding: 18px; } .wg-prodcard__act { grid-column: 1 / -1; justify-items: stretch; text-align: center; } }

.wg-faq { display: grid; gap: 10px; }
.wg-faq details { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.wg-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 20px; cursor: pointer; font: 600 17px/24px var(--font-sans); color: var(--ink); list-style: none; }
.wg-faq summary::-webkit-details-marker { display: none; }
.wg-faq summary svg.i { color: var(--emerald); transition: transform .15s; }
.wg-faq details[open] summary svg.i { transform: rotate(45deg); }
.wg-faq details > div { padding: 0 20px 18px; font: 400 16px/26px var(--font-sans); color: var(--slate-800); }

.wg-final { display: grid; gap: 18px; padding: 32px; border-radius: var(--radius-lg); background: var(--ink); color: var(--slate-400); background-image: url("../img/blockgrid.svg"); background-size: 48px 48px; }
.wg-final h2 { font: 700 28px/36px var(--font-display); color: var(--white); }
.wg-final__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.wg .wg-final a.wg-link { color: var(--glory); }
@media (max-width: 599px) { .wg-final { padding: 24px 20px; } .wg-final h2 { font-size: 24px; line-height: 32px; } .wg-final .wg-btn--cta { width: 100%; } }

.wg-authorbox { display: grid; grid-template-columns: auto 1fr; gap: 24px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--mist); }
.wg-authorbox__txt { display: grid; gap: 10px; }
.wg-authorbox h2 { font: 600 20px/28px var(--font-display); }
.wg-authorbox .role { font: 500 14px/20px var(--font-sans); color: var(--emerald); }
.wg-authorbox .cred { font: 500 15px/24px var(--font-mono); color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 10px 14px; }
.wg-authorbox__links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
@media (max-width: 599px) { .wg-authorbox { grid-template-columns: 1fr; padding: 22px; } }

.wg-comments { display: grid; gap: 20px; }
.wg-comment { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.wg-comment__head { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; font: 600 15px/22px var(--font-sans); color: var(--ink); }
.wg-comment__head span { font: 400 13px/20px var(--font-sans); color: var(--slate-500); }
.wg-comment p { font: 400 16px/26px var(--font-sans); margin-top: 4px; }
.wg-comment--reply { margin-left: 56px; }
@media (max-width: 599px) { .wg-comment--reply { margin-left: 20px; } }
.wg-cform { display: grid; gap: 14px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wg-cform label { font: 600 14px/20px var(--font-sans); color: var(--ink); display: grid; gap: 6px; }
.wg-cform textarea.wg-input { min-height: 132px; resize: vertical; }
.wg-cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wg-cform small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
@media (max-width: 599px) { .wg-cform__row { grid-template-columns: 1fr; } .wg-cform .wg-btn { width: 100%; } }

/* ---------- buildability board ---------- */
.wg-bt { width: 100%; border-collapse: collapse; font: 400 14px/21px var(--font-sans); }
.wg-bt th, .wg-bt td { padding: 10px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.wg-bt thead th { background: var(--ink); color: var(--white); font: 600 13px/18px var(--font-sans); }
.wg-bt tbody th { width: 26%; font-weight: 600; color: var(--ink); }
.wg-bt td:nth-child(2) { width: 22%; }
.wg-tag { display: inline-block; padding: 2px 8px; border-radius: var(--radius-pill); font: 600 12px/18px var(--font-sans); margin: 0 4px 4px 0; white-space: nowrap; }
.wg-tag--cust { background: var(--mist); color: var(--slate-800); border: 1px solid var(--line); }
.wg-tag--block { background: var(--emerald-soft); color: var(--emerald); }
.wg-tag--pat { background: var(--pass-soft); color: var(--pass); }
.wg-tag--code { background: var(--ink); color: var(--white); }
.wg-tag--plug { background: var(--gold-soft); color: var(--ink); }
.wg-flag { color: var(--fail); font-weight: 600; }

/* ---------- deals & coupons (WPGlory additions) ---------- */
.wg-bfband { background: var(--ink); color: var(--slate-400); background-image: url("../img/blockgrid.svg"); background-size: 48px 48px; }
.wg-bfband .wg-sechead h2 { color: var(--white); }
.wg-badge--bf { background: var(--ink); color: var(--gold); font-weight: 700; letter-spacing: .02em; border: 1px solid var(--gold); }
.wg-dark .wg-badge--bf, .wg-bfband .wg-badge--bf { background: var(--ink-raised); }
.wg-deal { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.wg-deal__head { display: flex; align-items: center; gap: 12px; }
.wg-deal__head .wg-logo-ph { width: 48px; height: 48px; }
.wg-deal__name { display: grid; gap: 2px; min-width: 0; }
.wg-deal__name b { font: 700 18px/24px var(--font-display); color: var(--ink); }
.wg-deal__name span { font: 400 13px/18px var(--font-sans); color: var(--slate-600); }
.wg-deal__off { font: 800 28px/32px var(--font-display); color: var(--ink); }
.wg-deal__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font: 600 15px/22px var(--font-mono); color: var(--ink); }
.wg-deal__price s { color: var(--slate-500); font-weight: 400; }
.wg-deal__renew { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-deal__renew b { font-family: var(--font-mono); color: var(--ink); }
.wg-deal__foot { display: grid; gap: 8px; }
.wg-deal__foot .wg-link { justify-content: center; font-size: 14px; }
.wg-deal--ended { background: var(--mist); box-shadow: none; }
.wg-deal--ended .wg-deal__off, .wg-deal--ended .wg-deal__price { color: var(--slate-500); text-decoration: line-through; }

.wg-coupon { display: grid; gap: 12px; padding: 18px 20px; border-radius: var(--radius-md); background: var(--gold-soft); border: 1px solid var(--gold); }
.wg-coupon__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.wg-coupon__title { font: 700 17px/24px var(--font-display); color: var(--ink); }
.wg-coupon__code { display: flex; align-items: stretch; border: 2px dashed var(--ink); border-radius: var(--radius-md); background: var(--white); overflow: hidden; }
.wg-coupon__code code { flex: 1; min-width: 0; display: flex; align-items: center; padding: 0 16px; border: 0; background: none; font: 600 17px/24px var(--font-mono); color: var(--ink); letter-spacing: .06em; }
.wg-coupon__code button { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border: 0; border-left: 2px dashed var(--ink); background: var(--white); font: 600 14px/20px var(--font-sans); color: var(--ink); cursor: pointer; }
.wg-coupon__code button svg.i { width: 16px; height: 16px; }
.wg-coupon__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font: 400 13px/20px var(--font-sans); color: var(--slate-800); }
.wg-coupon__meta b { font: 600 13px/20px var(--font-mono); color: var(--ink); }
.wg-coupon--sm { padding: 12px 14px; gap: 8px; }
.wg-coupon--sm .wg-coupon__code code { font-size: 15px; padding: 0 12px; }

.wg-dealrow { display: grid; grid-template-columns: minmax(220px, 1.3fr) minmax(200px, 1.4fr) minmax(170px, 1fr) 200px; gap: 24px; align-items: center; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.wg-dealrow + .wg-dealrow { margin-top: 14px; }
.wg-dealrow__prod { display: flex; gap: 14px; align-items: center; min-width: 0; }
.wg-dealrow__prod .wg-logo-ph { width: 52px; height: 52px; }
.wg-dealrow__what { font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
.wg-dealrow__what b { display: block; font: 700 18px/24px var(--font-display); color: var(--ink); }
.wg-dealrow__act { display: grid; gap: 6px; text-align: center; }
.wg-dealrow__act .wg-link { justify-content: center; font-size: 14px; }
.wg-dealrow__ends { font: 400 12px/18px var(--font-sans); color: var(--slate-600); }
.wg-dealrow--ended { background: var(--mist); box-shadow: none; }
.wg-dealrow--ended .wg-coupon { background: var(--white); border-color: var(--line); }
.wg-dealrow--ended .wg-coupon__code { border-color: var(--slate-500); }
.wg-dealrow--ended .wg-coupon__code code { color: var(--slate-500); text-decoration: line-through; }
@media (max-width: 1023px) { .wg-dealrow { grid-template-columns: 1fr 1fr; } .wg-dealrow__prod { grid-column: 1 / -1; } .wg-dealrow__act { grid-column: 1 / -1; } }
@media (max-width: 599px) { .wg-dealrow { grid-template-columns: 1fr; padding: 18px; gap: 16px; } }

.wg-checked { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--radius-pill); background: var(--ink-raised); border: 1px solid var(--line-dark); font: 500 14px/20px var(--font-sans); color: var(--white); }
.wg-checked .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--glory); }
.wg-jump { position: sticky; top: 72px; z-index: 10; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); padding: 12px 0; }
@media (max-width: 1100px) { .wg-jump { top: 60px; } }

.wg-plugininfo td.mono { white-space: nowrap; }
.wg-pricing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wg-plan { display: grid; gap: 10px; align-content: start; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wg-plan--pick { border: 2px solid var(--emerald); box-shadow: var(--shadow-md); }
.wg-plan h3 { font: 700 18px/24px var(--font-display); }
.wg-plan__price { font: 700 26px/32px var(--font-mono); color: var(--ink); }
.wg-plan__price small { font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-plan__renew { padding: 8px 12px; border-radius: var(--radius-md); background: var(--gold-soft); font: 500 13px/20px var(--font-sans); color: var(--ink); }
.wg-plan__renew b { font-family: var(--font-mono); }
.wg-plan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font: 400 14px/22px var(--font-sans); }
.wg-plan li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; }
.wg-plan li svg.i { width: 18px; height: 18px; color: var(--pass); margin-top: 2px; }
@media (max-width: 767px) { .wg-pricing { grid-template-columns: 1fr; } }

/* ---------- round 2 templates: comparison, best-of, category, method, about ---------- */
.wg-vshero { display: grid; grid-template-columns: 1fr auto 1fr; gap: 32px; align-items: center; margin-top: 8px; }
.wg-vshero__side { display: grid; justify-items: center; gap: 12px; text-align: center; padding: 28px; border-radius: var(--radius-lg); background: var(--ink-raised); border: 1px solid var(--line-dark); }
.wg-vshero__side .wg-logo-ph { width: 72px; height: 72px; background: var(--ink); border-color: var(--slate-400); color: var(--slate-400); }
.wg-vshero__side b { font: 800 24px/30px var(--font-display); color: var(--white); }
.wg-vshero__side span { font: 400 14px/20px var(--font-sans); color: var(--slate-400); }
.wg-vshero__x { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--line-dark); font: 700 18px/1 var(--font-mono); color: var(--glory); }
@media (max-width: 767px) { .wg-vshero { grid-template-columns: 1fr; gap: 14px; } .wg-vshero__x { justify-self: center; width: 48px; height: 48px; } }

.wg-winners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wg-winner { display: grid; gap: 8px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wg-winner small { font: 800 12px/16px var(--font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--slate-600); }
.wg-winner b { font: 700 18px/24px var(--font-display); color: var(--ink); }
.wg-winner p { font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
@media (max-width: 1023px) { .wg-winners { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .wg-winners { grid-template-columns: 1fr; } }

.wg-pickhead { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--mist); }
.wg-pickhead__n { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--ink); color: var(--white); font: 800 20px/1 var(--font-display); }
.wg-pickhead__n.top { background: var(--emerald); }
.wg-pickhead__name { display: grid; gap: 4px; }
.wg-pickhead__name h2 { font: 800 26px/32px var(--font-display); }
@media (max-width: 599px) { .wg-pickhead { grid-template-columns: auto 1fr; padding: 18px; } .wg-pickhead > :last-child { grid-column: 1 / -1; } .wg-pickhead__name h2 { font-size: 21px; line-height: 28px; } }
.wg-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.wg-mini div { padding: 12px 16px; border-right: 1px solid var(--line); }
.wg-mini div:last-child { border-right: 0; }
.wg-mini dt { font: 400 12px/16px var(--font-sans); color: var(--slate-600); }
.wg-mini dd { margin: 4px 0 0; font: 600 14px/20px var(--font-mono); color: var(--ink); }
@media (max-width: 599px) { .wg-mini { grid-template-columns: 1fr; } .wg-mini div { border-right: 0; border-bottom: 1px solid var(--line); } .wg-mini div:last-child { border-bottom: 0; } }

.wg-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: st; }
.wg-tl { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding-bottom: 40px; position: relative; }
.wg-tl::before { content: ""; position: absolute; left: 31px; top: 64px; bottom: 0; width: 2px; background: var(--line); }
.wg-tl:last-child::before { display: none; }
.wg-tl__n { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--radius-lg); background: var(--ink); color: var(--glory); font: 700 18px/1 var(--font-mono); }
.wg-tl__body { display: grid; gap: 12px; padding-top: 6px; }
.wg-tl__body h3 { font: 700 24px/32px var(--font-display); }
@media (max-width: 599px) { .wg-tl { grid-template-columns: 48px 1fr; gap: 16px; } .wg-tl__n { width: 48px; height: 48px; font-size: 15px; } .wg-tl::before { left: 23px; top: 48px; } }

.wg-stack-tbl td:first-child { font-weight: 600; color: var(--ink); }
.wg-about { display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px; align-items: center; }
.wg-about__photo { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); }
@media (max-width: 1023px) { .wg-about { grid-template-columns: 1fr; gap: 32px; } .wg-about__photo { aspect-ratio: 16 / 10; } }
.wg-contact { display: grid; grid-template-columns: 1fr 1.3fr; gap: 40px; align-items: start; }
.wg-contact__ways { display: grid; gap: 14px; }
.wg-way { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wg-way .ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--emerald-soft); color: var(--emerald); }
.wg-way b { display: block; font: 700 17px/24px var(--font-display); color: var(--ink); }
.wg-way span { font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
@media (max-width: 1023px) { .wg-contact { grid-template-columns: 1fr; } }
.wg-catintro { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 1023px) { .wg-catintro { grid-template-columns: 1fr; gap: 24px; } }
.wg-subcats { display: flex; flex-wrap: wrap; gap: 8px; }
.wg-checks--no svg.i { color: var(--fail); }

/* =====================================================================
   SECTION 2 — Brand on Kadence (free) + core blocks
   ===================================================================== */

/* Kadence global palette + fonts (also set them in Customizer so the editor matches) */
:root {
  --global-palette1: #047857; --global-palette2: #065F46; --global-palette3: #0F172A;
  --global-palette4: #1E293B; --global-palette5: #475569; --global-palette6: #64748B;
  --global-palette7: #E2E8F0; --global-palette8: #F8FAFC; --global-palette9: #FFFFFF;
  --global-palette-highlight: #047857; --global-palette-highlight-alt: #065F46;
  --global-palette-btn-bg: #047857; --global-palette-btn-bg-hover: #065F46;
  --global-palette-btn: #FFFFFF; --global-palette-btn-hover: #FFFFFF;
  --global-body-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --global-heading-font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  --global-content-width: 1240px;
}
body { font-family: var(--font-sans); font-size: 17px; line-height: 1.65; color: var(--slate-800); }
h1, h2, h3, h4, h5, h6, .entry-title { font-family: var(--font-display); color: var(--ink); letter-spacing: -.01em; }
h1, .entry-title { font-weight: 800; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* ---------- Deal bar (Customizer → WPGlory) ---------- */
.wg-dealbar { background: var(--gold-soft); color: var(--ink); font: 500 14px/20px var(--font-sans); }
.wg-dealbar .wg-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; min-height: 40px; padding-top: 6px; padding-bottom: 6px; text-align: center; }
.wg-dealbar a { color: var(--ink); font-weight: 600; }

/* ---------- Kadence header ---------- */
#masthead { box-shadow: var(--shadow-sm); }
.site-main-header-wrap .site-header-row-container-inner { background: var(--white); border-bottom: 1px solid var(--line); }
.site-branding .custom-logo { max-height: 34px; width: auto; }
.header-navigation .header-menu-container > ul > li.menu-item > a { font: 600 15px/20px var(--font-sans); color: var(--slate-800); border-radius: var(--radius-md); }
.header-navigation .header-menu-container > ul > li.menu-item > a:hover,
.header-navigation .header-menu-container > ul > li.current-menu-item > a { color: var(--emerald); }
.header-navigation .sub-menu { padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.header-navigation .sub-menu li.menu-item > a { border-radius: var(--radius-md); font: 500 15px/20px var(--font-sans); color: var(--ink); }
.header-navigation .sub-menu li.menu-item > a:hover { background: var(--mist); color: var(--emerald); }
.header-navigation .sub-menu .menu-item-description, .header-navigation .sub-menu .description { display: block; font: 400 13px/18px var(--font-sans); color: var(--slate-600); }
/* Add the CSS class "wg-menu-2col" to a top-level menu item for a 2-column dropdown */
@media (min-width: 1025px) {
  .header-navigation li.wg-menu-2col > .sub-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 560px; left: 50%; margin-left: -280px; }
  .header-navigation li.wg-menu-2col:hover > .sub-menu, .header-navigation li.wg-menu-2col:focus-within > .sub-menu, .header-navigation li.wg-menu-2col.menu-item--toggled-on > .sub-menu { display: grid; }
}
/* Add the CSS class "wg-menu-bf" to the Deals menu item for the Black Friday tag */
.menu-item.wg-menu-bf > a::after { content: "BF"; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--ink); color: var(--gold); border: 1px solid var(--gold); font: 700 11px/16px var(--font-sans); }
.header-button, .header-button.button-style-filled { background: var(--emerald); color: var(--white); border-radius: var(--radius-md); font: 600 14px/20px var(--font-sans); }
.header-button:hover { background: var(--emerald-deep); color: var(--white); }
.mobile-navigation ul li > a, .drawer-content .menu-item > a { font: 600 16px/24px var(--font-sans); color: var(--ink); }
#mobile-drawer .drawer-inner { background: var(--white); }

/* ---------- Kadence footer (dark, block grid) ---------- */
.site-footer .site-footer-row-container-inner { background-color: var(--ink); color: var(--slate-400); }
.site-footer .site-middle-footer-wrap .site-footer-row-container-inner { background-image: url("../img/blockgrid.svg"); background-size: 48px 48px; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid var(--line-dark); font-size: 13px; line-height: 20px; }
.site-footer a { color: var(--slate-400); text-decoration: none; }
.site-footer a:hover { color: var(--white); text-decoration: underline; }
.site-footer .widget-title, .site-footer h2, .site-footer h3 { font: 800 13px/20px var(--font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--white); }
.site-footer p, .site-footer li { color: var(--slate-400); }
.site-footer :focus-visible { outline-color: var(--glory); }

/* ---------- Archive cards (Kadence loop) ---------- */
.loop-entry { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); overflow: hidden; transition: box-shadow .15s; }
.loop-entry:hover { box-shadow: var(--shadow-md); }
.loop-entry .entry-content-wrap { padding: 20px 22px 22px; }
.loop-entry .entry-title { font: 700 20px/28px var(--font-display); }
.loop-entry .entry-title a { color: var(--ink); text-decoration: none; }
.loop-entry .entry-title a:hover { color: var(--emerald); text-decoration: underline; }
.loop-entry .entry-summary { font-size: 15px; line-height: 24px; color: var(--slate-600); }
.loop-entry .entry-taxonomies a, .entry-header .entry-taxonomies a { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--emerald-soft); color: var(--emerald); font: 600 12px/18px var(--font-sans); text-transform: none; letter-spacing: 0; text-decoration: none; }
.entry-meta, .loop-entry .entry-meta { font: 400 13px/20px var(--font-sans); color: var(--slate-500); }
.wg-thumb-wrap { position: relative; display: block; }
.wg-score--card { position: absolute; top: 12px; right: 12px; z-index: 2; }
.pagination .page-numbers { min-width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: var(--radius-md); border: 1px solid var(--line); font: 600 15px/1 var(--font-mono); color: var(--slate-800); }
.pagination .page-numbers.current { background: var(--emerald); border-color: var(--emerald); color: var(--white); }
.archive .page-header, .blog .page-header, .search .page-header { background: var(--mist); border-bottom: 1px solid var(--line); }

/* ---------- Single post ---------- */
.single-post .entry-hero-container-inner, .single-post .entry-header { background: var(--mist); }
.single-post .entry-content { font-size: 18px; line-height: 30px; }
.single-post .entry-content > h2 { font: 700 32px/40px var(--font-display); margin-top: 48px; scroll-margin-top: 96px; }
.single-post .entry-content > h3 { font: 700 24px/32px var(--font-display); margin-top: 32px; }
.single-post .entry-content > * + * { margin-top: 24px; }
@media (max-width: 599px) { .single-post .entry-content { font-size: 17px; line-height: 28px; } .single-post .entry-content > h2 { font-size: 26px; line-height: 32px; } }
.wg-disclosure-wrap { display: grid; gap: 10px; justify-items: start; margin-bottom: 28px; }
.wg-authorbox { margin-top: 48px; }
.wg-authorbox__avatar { border-radius: 50%; width: 88px; height: 88px; }
.wg-authorbox h2 { margin: 0; }
.entry-related { background: var(--mist); }
.comment-respond, .comments-area .comment-body { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px; background: var(--white); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { border: 1px solid var(--slate-500); border-radius: var(--radius-md); font-size: 16px; }
.wg-admin-note { padding: 10px 14px; border: 1px dashed var(--fail); border-radius: var(--radius-md); color: var(--fail); font-size: 14px; }

/* Auto table of contents (assets/js/wpglory.js) */
.wg-toc-auto { margin: 0 0 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--mist); }
.wg-toc-auto > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 16px; cursor: pointer; font: 600 15px/20px var(--font-sans); color: var(--ink); list-style: none; }
.wg-toc-auto > summary::-webkit-details-marker { display: none; }
.wg-toc-auto ol { list-style: none; margin: 0; padding: 0 16px 16px; display: grid; gap: 2px; }
.wg-toc-auto a { display: block; padding: 6px 12px; border-left: 2px solid var(--line); font: 500 14px/20px var(--font-sans); color: var(--slate-600); text-decoration: none; }
.wg-toc-auto a:hover, .wg-toc-auto a[aria-current="true"] { color: var(--emerald); border-left-color: var(--emerald); }
@media (min-width: 1360px) {
  .single-post .wg-toc-auto.is-floating { position: fixed; top: 120px; left: calc(50% + 440px); width: 240px; max-height: calc(100vh - 160px); overflow: auto; margin: 0; background: var(--white); }
}

/* ---------- Core block styles (Styles panel) ---------- */
.wp-block-button .wp-block-button__link { border-radius: var(--radius-md); font: 600 15px/20px var(--font-sans); padding: 12px 20px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; background: var(--emerald); color: var(--white); }
.wp-block-button .wp-block-button__link:hover { background: var(--emerald-deep); color: var(--white); }
.wp-block-button.is-style-wg-cta .wp-block-button__link { background: var(--gold); color: var(--ink); box-shadow: var(--shadow-sm); }
.wp-block-button.is-style-wg-cta .wp-block-button__link:hover { background: var(--gold-hover); color: var(--ink); }
.wp-block-button.is-style-wg-secondary .wp-block-button__link { background: var(--white); color: var(--emerald); border: 1px solid var(--emerald); }
.wp-block-button.is-style-wg-secondary .wp-block-button__link:hover { background: var(--emerald-soft); color: var(--emerald-deep); }
.wp-block-button.is-style-wg-ghost-dark .wp-block-button__link { background: transparent; color: var(--white); border: 1px solid var(--line-dark); }
.wp-block-button.is-style-wg-ghost-dark .wp-block-button__link:hover { background: var(--ink-raised); border-color: var(--slate-400); }
.wp-block-buttons.wg-stack { flex-direction: column; align-items: stretch; }
.wp-block-buttons.wg-stack .wp-block-button__link { width: 100%; justify-content: center; }

.wp-block-table.is-style-wg-table, .wp-block-table.wg-table-box { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wp-block-table.is-style-wg-table table, .wp-block-table.wg-table-box table { width: 100%; border-collapse: collapse; font: 400 15px/22px var(--font-sans); }
.wp-block-table.is-style-wg-table th, .wp-block-table.is-style-wg-table td, .wp-block-table.wg-table-box th, .wp-block-table.wg-table-box td { padding: 13px 18px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.wp-block-table.is-style-wg-table thead th, .wp-block-table.wg-table-box thead th { background: var(--mist); font: 600 13px/18px var(--font-sans); color: var(--slate-600); border-bottom: 1px solid var(--line); }
.wp-block-table.is-style-wg-table tbody tr:last-child td, .wp-block-table.wg-table-box tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-wg-table td:first-child { font-weight: 600; color: var(--ink); }
.wp-block-table.wg-cmp table { min-width: 640px; }
.wp-block-table.wg-cmp td:not(:first-child), .wp-block-table.wg-cmp th:not(:first-child) { text-align: center; }
.wp-block-table figcaption, .wp-block-table .wp-element-caption { text-align: left; font: 400 13px/20px var(--font-sans); color: var(--slate-600); padding: 10px 18px; margin: 0; }
.wp-block-table td.mono, .wp-block-table .mono { font-family: var(--font-mono); font-weight: 600; font-size: 14px; }

.wp-block-details.is-style-wg-faq, .wg-faq .wp-block-details { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); padding: 0; }
.wp-block-details.is-style-wg-faq + .wp-block-details.is-style-wg-faq { margin-top: 10px; }
.wp-block-details.is-style-wg-faq > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 20px; cursor: pointer; font: 600 17px/24px var(--font-sans); color: var(--ink); list-style: none; }
.wp-block-details.is-style-wg-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-wg-faq > summary::after { content: "+"; font: 400 24px/1 var(--font-sans); color: var(--emerald); transition: transform .15s; }
.wp-block-details.is-style-wg-faq[open] > summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-wg-faq > :not(summary) { padding: 0 20px 18px; margin: 0; font-size: 16px; line-height: 26px; }

.wp-block-list.is-style-wg-checks, .wp-block-list.is-style-wg-crosses { list-style: none; padding-left: 0; display: grid; gap: 10px; }
.wp-block-list.is-style-wg-checks > li, .wp-block-list.is-style-wg-crosses > li { position: relative; padding-left: 30px; }
.wp-block-list.is-style-wg-checks > li::before, .wp-block-list.is-style-wg-crosses > li::before { position: absolute; left: 0; top: 0; font: 700 16px/inherit var(--font-sans); }
.wp-block-list.is-style-wg-checks > li::before { content: "✓"; color: var(--pass); }
.wp-block-list.is-style-wg-crosses > li::before { content: "✕"; color: var(--fail); }

.wp-block-code.is-style-wg-terminal, .wp-block-code { position: relative; background: var(--code); color: var(--line); border: 1px solid var(--line-dark); border-radius: var(--radius-md); padding: 44px 20px 18px; font: 400 15px/24px var(--font-mono); overflow-x: auto; }
.wp-block-code code { font: inherit; background: none; border: 0; padding: 0; color: inherit; white-space: pre; }
.wg-copy { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 10px; font: 600 12px/16px var(--font-sans); color: var(--line); background: var(--ink-raised); border: 1px solid var(--line-dark); border-radius: var(--radius-sm); cursor: pointer; }
.wg-copy:focus-visible { outline: 2px solid var(--glory); }

.wp-block-quote.is-style-wg-quote { border-left: 3px solid var(--glory); padding: 4px 0 4px 22px; margin-left: 0; }
.wp-block-quote.is-style-wg-quote p { font: 500 20px/32px var(--font-sans); color: var(--ink); }
.wp-block-quote.is-style-wg-quote cite { font: 400 14px/20px var(--font-sans); font-style: normal; color: var(--slate-600); }

/* Group-based components: patterns use groups with these class names */
.wp-block-group.wg-verdict__body, .wp-block-group.wg-verdict__top { margin: 0; }
.wg-callout > .wg-callout__icon { font: 700 18px/26px var(--font-sans); }
.wg-callout.wp-block-group { display: grid; grid-template-columns: 1fr; gap: 4px; }
.wg-callout.wp-block-group > * { margin: 0; }
.wg-callout.wp-block-group > p:first-child { font-weight: 600; color: var(--ink); }
.wg-pc .wp-block-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.wg-proscons .wg-pc .wp-block-list { padding: 0 20px; }
.wg-pc .wp-block-list li { position: relative; padding-left: 28px; font: 400 15px/24px var(--font-sans); }
.wg-pc .wp-block-list li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.wg-pc--pro .wp-block-list li::before { content: "✓"; color: var(--pass); }
.wg-pc--con .wp-block-list li::before { content: "✕"; color: var(--fail); }
.wg-pc h3 { margin-top: 0; }
.wg-pickhead .wp-block-buttons { justify-content: stretch; }

/* Ended deals (inc/deals.php adds .is-ended after the wg-ends-YYYY-MM-DD date) */
.is-ended { position: relative; opacity: .72; filter: grayscale(.4); }
.is-ended::before { content: attr(data-ended-label); position: absolute; top: 12px; right: 12px; z-index: 3; padding: 4px 10px; border-radius: 999px; background: var(--fail-soft); color: var(--fail); font: 600 13px/18px var(--font-sans); }
.is-ended .is-style-wg-cta, .is-ended .wg-btn--cta { display: none; }
.is-ended .wg-coupon__code code { text-decoration: line-through; }

/* Newsletter shortcode form */
.wg-nl-form { display: grid; gap: 10px; }
.wg-nl-form label { font: 600 14px/20px var(--font-sans); color: var(--ink); }
.wg-nl-form small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }

/* Query-loop cards (home "latest", related) */
.wp-block-post-template .wg-card { height: 100%; }
.wg-card .wp-block-post-featured-image { margin: 0; }
.wg-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.wg-card .wp-block-post-title { font: 700 20px/28px var(--font-display); margin: 0; }
.wg-card .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.wg-card .wp-block-post-title a:hover { color: var(--emerald); text-decoration: underline; }
.wg-card .wp-block-post-terms a { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--emerald-soft); color: var(--emerald); font: 600 12px/18px var(--font-sans); text-decoration: none; }
.wg-card .wp-block-post-date { font: 400 13px/20px var(--font-sans); color: var(--slate-500); }
.wg-card .wp-block-post-excerpt { font-size: 15px; line-height: 24px; color: var(--slate-600); margin: 0; }

/* Full-width dark sections inside page content */
.wg-section.alignfull, .wg-hero.alignfull, .wg-bfband.alignfull { margin-top: 0; margin-bottom: 0; }
.entry-content > .wg-section:first-child, .entry-content > .wg-hero:first-child { margin-top: 0; }
.wg-dark h1, .wg-dark h2, .wg-dark h3, .wg-bfband h2, .wg-bfband h3 { color: var(--white); }
.wg-dark p, .wg-bfband p { color: var(--slate-400); }
.wg-hero .wg-hero__copy > * { margin: 0; }

/* Editor: show patterns roughly like the front end */
.editor-styles-wrapper .wg-hero, .editor-styles-wrapper .wg-dark { color: var(--slate-400); }

/* =====================================================================
   SECTION 3 — Block-pattern adaptations (patterns/*.php use core blocks)
   ===================================================================== */
.wg-small, p.wg-small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-short { border-left: 4px solid var(--emerald); }
.wg-short .wg-short__lead { font: 500 18px/29px var(--font-sans); color: var(--ink); }
.wg-short .wg-short__meta { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-verdict .wg-verdict__score { margin: 0; }
.wg-verdict__top > .wp-block-group > * { margin: 0 0 6px; }
.wg-verdict__top p { color: var(--slate-400); }
.wg-verdict__top .wg-verdict__cta { margin: 0; }
.wg-verdict__facts span { display: inline-block; margin-right: 14px; font-size: 14px; }
.wg-verdict__facts b { color: var(--white); }
.wg-verdict__body { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px 28px; }
@media (max-width: 767px) { .wg-verdict__top { grid-template-columns: 1fr; } .wg-verdict__body { grid-template-columns: 1fr; } }
.wg-pc .wp-block-list li { display: block; }
.wg-proscons .wg-pc { margin: 0; background: var(--white); }
.wg-proscons .wg-pc--pro h3 { background: var(--pass-soft); }
.wg-proscons .wg-pc--con h3 { background: var(--fail-soft); }
.wg-verdict__body .wg-pc h3 { padding: 0; background: none; }
.wg-pc--pro h3 { color: var(--pass); }
.wg-pc--con h3 { color: var(--fail); }
@media (max-width: 599px) { .wg-proscons { grid-template-columns: 1fr; } }
.wg-pricing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wg-plan > * { margin: 0; }
.wg-plan .wp-block-list { list-style: none; padding: 0; }
.wg-plan .wp-block-list li { display: block; position: relative; padding-left: 26px; }
.wg-plan .wp-block-list li::before { content: "✓"; position: absolute; left: 0; color: var(--pass); font-weight: 700; }
@media (max-width: 767px) { .wg-pricing { grid-template-columns: 1fr; } }
.wg-prodcard.wp-block-group { grid-template-columns: 1fr auto; }
.wg-prodcard__txt { display: grid; gap: 2px; margin: 0; }
.wg-prodcard__txt b { font: 700 18px/24px var(--font-display); color: var(--ink); }
.wg-prodcard__txt span { font: 400 15px/22px var(--font-sans); color: var(--slate-600); }
.wg-prodcard__act { display: grid; gap: 4px; justify-items: center; }
.wg-prodcard__act > * { margin: 0; }
@media (max-width: 599px) { .wg-prodcard.wp-block-group { grid-template-columns: 1fr; } }
.wg-coupon > * { margin: 0; }
.wg-coupon__code .wg-copy { position: static; min-height: 44px; border: 0; border-left: 2px dashed var(--ink); border-radius: 0; background: var(--white); color: var(--ink); font-size: 14px; }
.wg-coupon__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.wg-coupon__meta span { margin-right: 16px; }
.wg-callout.wp-block-group { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 16px 20px; background: var(--mist); }
.wg-callout--tip.wp-block-group { border-left: 4px solid var(--emerald); }
.wg-callout--warning.wp-block-group { border-left: 4px solid var(--gold); background: var(--gold-soft); }
.wg-callout--note.wp-block-group { border-left: 4px solid var(--slate-500); }
.wg-frame .wp-block-image { margin: 0; }
.wg-frame .wp-block-image img { display: block; width: 100%; height: auto; }
.wg-frame__bar { margin: 0; }
.wg-final.wp-block-group { padding: 32px; border-radius: var(--radius-lg); }
.wg-final__row > * { margin: 0; }
.wg-final__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.wg-picks .wg-pick.wp-block-group { grid-template-columns: 44px 1fr 90px 196px; }
.wg-pick > * { margin: 0; }
.wg-pick__name { display: grid; gap: 2px; }
.wg-pick__name span { font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-pick__act .wp-block-button, .wg-pick__act .wp-block-button__link { width: 100%; justify-content: center; }
@media (max-width: 767px) { .wg-picks .wg-pick.wp-block-group { grid-template-columns: 1fr auto; } .wg-pick__name { grid-column: 1; } .wg-pick__act { grid-column: 1 / -1; } }
.wg-pickhead.wp-block-group { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 24px; }
.wg-pickhead.wp-block-group > * { margin: 0; }
.wg-box.wp-block-group { height: 100%; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
ol.wg-steps-list { list-style: none; counter-reset: s; padding: 0; display: grid; gap: 14px; }
ol.wg-steps-list > li { counter-increment: s; position: relative; padding: 16px 18px 16px 64px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
ol.wg-steps-list > li::before { content: counter(s, decimal-leading-zero); position: absolute; left: 18px; top: 16px; font: 600 15px/26px var(--font-mono); color: var(--emerald); }
.wg-deal > * { margin: 0; }
.wg-deal__off { font: 700 28px/34px var(--font-display); color: var(--ink); }
.wg-dealrow > * { margin: 0; }
.wg-dealrow__prod span { display: block; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-results td:nth-child(2) { font-family: var(--font-mono); font-weight: 600; white-space: nowrap; }
.wg-results td:nth-child(3) { font-size: 14px; color: var(--slate-600); }
.wg-diff-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 500 14px/20px var(--font-sans); color: var(--slate-800); cursor: pointer; }
.wg-diff-toggle input { width: 18px; height: 18px; accent-color: var(--emerald); }
/* Hero / sections built from groups */
.wg-hero.wp-block-group { padding: 96px var(--gutter, 24px) 104px; }
.wg-hero .wg-hero__copy { max-width: 760px; margin-left: auto; margin-right: auto; }
.wg-hero .wg-hero__copy > * { margin: 0; }
.wg-hero h1 { color: var(--white); }
.wg-hero__proof span { margin-right: 18px; }
@media (max-width: 767px) { .wg-hero.wp-block-group { padding: 56px 20px 64px; } }
.wg-section.wp-block-group { padding-left: var(--gutter, 24px); padding-right: var(--gutter, 24px); }
.wg-sechead.wp-block-group { display: grid; gap: 8px; }
.wg-sechead > * { margin: 0; }
.wg-trust.wp-block-group { padding-left: var(--gutter, 24px); padding-right: var(--gutter, 24px); }
.wg-trust .wp-block-list { max-width: 1200px; margin: 0 auto; }
.wg-topic > * { margin: 0; }
.wg-topic h3 a { color: var(--ink); text-decoration: none; }
.wg-topic h3 a::after { content: ""; position: absolute; inset: 0; }
.wg-topic { position: relative; }
.wg-latest .wp-block-post-template { gap: 24px; }
.wg-card.wp-block-group { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); overflow: hidden; }
.wg-card__body.wp-block-group { display: grid; gap: 8px; padding: 18px 20px 20px; }
.wg-card__body > * { margin: 0; }
.wg-news.wp-block-group > * { margin: 0; }
.wg-bfband.wp-block-group { text-align: center; padding-top: 64px; padding-bottom: 64px; }
.wg-bfband .wp-block-buttons { justify-content: center; }
/* Mobile safety: nothing wider than the screen */
.wg-disclosure-wrap .wg-badge { white-space: normal; max-width: 100%; }
.wg-article, .wg-article .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.wg-article > *, .entry-content > * { min-width: 0; max-width: 100%; }
.wp-block-table { max-width: 100%; }
.wp-block-post-template { list-style: none; padding-left: 0; }
/* Classic-theme groups wrap their children in an inner container; let WPGlory grids see the real children */
.wp-block-group[class*="wg-"] > .wp-block-group__inner-container { display: contents; }
.wg-proscons .wg-pc + .wg-pc { border-left: 1px solid var(--line); }
@media (max-width: 599px) { .wg-proscons .wg-pc + .wg-pc { border-left: 0; border-top: 1px solid var(--line); } }
.wg-card .wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 6px; }
.wg-card .wp-block-post-terms__separator { display: none; }

/* Live-site fixes (22 Oct 2026) */
.site-branding.branding-layout-standard .site-title-wrap, .site-branding .has-logo-image .site-title { display: none; }
.site-branding .custom-logo { max-height: 38px; width: auto; }
.wg-trust li { flex-direction: column; align-items: flex-start; gap: 4px; }
.wg-trust b { white-space: nowrap; }

/* Live-site fixes 2 (22 Oct 2026) */
p.wg-disclosure:not(:has(> svg)) { display: block; }
.wg-note { font: 400 14px/22px var(--font-sans); color: var(--slate-600); margin-top: 16px; }

/* =====================================================================
   Section 4 — shared blog layout (same structure as the Hostnado child theme)
   Unboxed single posts with a sticky TOC, "Keep reading" band, custom archive.
   ===================================================================== */
.wg-wrap { width: 100%; max-width: 1304px; margin-left: auto; margin-right: auto; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
.wg-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wg-badge--cat { background: var(--emerald-soft); color: var(--emerald); }
.wg a.wg-badge--cat:hover { background: var(--emerald); color: var(--white); }
.wg-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
.wg-sec-head > * { margin: 0; }
.wg .wg-sec-head .wg-link { color: var(--emerald); }

/* archive */
.wg-arch-head { background: var(--mist); border-bottom: 1px solid var(--line); padding: 48px 0; }
.wg-arch-head .rank-math-breadcrumb { margin-bottom: 16px; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-arch-head .rank-math-breadcrumb p { margin: 0; }
.wg .wg-arch-head .rank-math-breadcrumb a { color: var(--slate-600); text-decoration: none; }
.wg-arch-head__in { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.wg-arch-head h1 { font: 800 44px/50px var(--font-display); letter-spacing: -.02em; color: var(--ink); margin: 0 0 12px; }
.wg-arch-head .wg-lead { max-width: 680px; margin: 0; }
.wg-arch-head__search .search-form { position: relative; margin: 0; }
.wg-arch-head__search .search-field { width: 100%; min-height: 48px; padding: 0 48px 0 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); font: 400 16px/24px var(--font-sans); }
.wg-arch-head__search .search-submit { position: absolute; right: 0; top: 0; width: 48px; height: 48px; opacity: 0; cursor: pointer; }
.wg-arch-head__search .kadence-search-icon-wrap { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--slate-500); }
.wg-cat-pills { display: flex; gap: 8px; overflow-x: auto; padding: 24px 0; scrollbar-width: thin; }
.wg-cpill { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--white); font: 600 14px/20px var(--font-sans); text-decoration: none; }
.wg .wg-cpill { color: var(--slate-800); text-decoration: none; }
.wg .wg-cpill:hover { border-color: var(--emerald); color: var(--emerald); }
.wg .wg-cpill[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.wg-cpill .count { font: 400 12px/1 var(--font-mono); margin-left: 6px; }
.wg-lead-post { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-sm); margin-bottom: 48px; }
.wg-lead-post .wg-cthumb { aspect-ratio: auto; min-height: 340px; }
.wg-lead-post__body { display: grid; gap: 16px; align-content: center; padding: 48px; }
.wg-lead-post__body p { margin: 0; color: var(--slate-600); }
.wg-lead-post__title { font: 700 32px/40px var(--font-display); margin: 0; }
.wg .wg-lead-post__title a { color: var(--ink); text-decoration: none; }
.wg .wg-lead-post__title a:hover { color: var(--emerald); }
.wg-arch-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; padding-bottom: 64px; }
.wg-arch-layout__main { min-width: 0; }
.wg-arch-layout .wg-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wg-arch-side { display: grid; gap: 24px; }
.wg-arch-side .wg-box p { margin: 0; }
.wg-arch-side .wg-box--dark .wg-eyebrow { color: var(--glory); }
.wg-empty { padding: 48px 0 96px; display: grid; gap: 16px; }
.wg-arch-pager { margin-top: 48px; }
.wg-arch-pager .nav-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; }
.wg-arch-pager .page-numbers { min-width: 44px; height: 44px; padding: 0 12px; box-sizing: border-box; display: inline-grid; place-items: center; border-radius: var(--radius-md); border: 1px solid var(--line); font: 600 15px/1 var(--font-mono); text-decoration: none; }
.wg .wg-arch-pager .page-numbers { color: var(--slate-800); }
.wg .wg-arch-pager a.page-numbers:hover { border-color: var(--emerald); color: var(--emerald); }
.wg .wg-arch-pager .page-numbers.current { background: var(--ink); border-color: var(--ink); color: var(--white); }
.wg-arch-pager .page-numbers.dots { border: 0; min-width: 20px; }

/* cards */
.wg-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wg-pcard { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); transition: box-shadow .15s; }
.wg-pcard:hover { box-shadow: var(--shadow-md); }
.wg-cthumb { position: relative; display: block; aspect-ratio: 16 / 9; background-color: var(--ink-raised); background-image: radial-gradient(var(--line-dark) 1px, transparent 1.2px); background-size: 16px 16px; overflow: hidden; }
.wg-cthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wg-cthumb .wg-score { position: absolute; top: 12px; right: 12px; }
.wg-ph { position: absolute; inset: 0; display: grid; place-items: center; }
.wg-ph__ui { width: 60%; border-radius: var(--radius-sm); background: var(--code); border: 1px solid var(--line-dark); padding: 10px; display: grid; gap: 6px; }
.wg-ph__ui i { display: block; height: 6px; border-radius: 3px; background: var(--line-dark); }
.wg-ph__ui i.a { background: var(--glory); width: 70%; }
.wg-ph__ui i.b { background: var(--gold); width: 45%; }
.wg-pcard__body { display: grid; gap: 12px; align-content: start; padding: 20px 24px 24px; flex: 1 1 0%; }
.wg-pcard__title { font: 600 20px/28px var(--font-display); margin: 0; }
.wg .wg-pcard__title a { color: var(--ink); text-decoration: none; }
.wg .wg-pcard__title a:hover { color: var(--emerald); }
.wg-pcard__ex { margin: 0; font: 400 15px/24px var(--font-sans); color: var(--slate-600); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wg-pcard__foot { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); font: 500 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-pcard__time { margin-left: auto; color: var(--slate-500); }

/* single post: unboxed, wide, title header like Hostnado */
.wg-chrome.single-post .entry-header { max-width: 1000px; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.wg-chrome.single-post .entry-header .entry-title { font: 800 48px/54px var(--font-display); letter-spacing: -.02em; color: var(--ink); margin: 0; }
.wg-chrome.single-post .entry-header .entry-taxonomies { margin: 0 0 16px; }
.wg-chrome.single-post .entry-header .entry-taxonomies a { font: 600 13px/20px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--emerald); text-decoration: none; }
.wg-chrome.single-post .entry-header .entry-meta { margin-top: 16px; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-chrome.single-post .entry-header .entry-meta a { color: var(--ink); font-weight: 600; text-decoration: none; }
.wg-chrome.single-post .content-container.site-container { max-width: 1304px; }
.wg-chrome.single-post .single-content { font-size: 17px; line-height: 1.7; }
.wg-article-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.wg-toc-col { position: sticky; top: 96px; display: grid; gap: 16px; }
.admin-bar .wg-toc-col { top: 128px; }
.wg-toc--side { border-left: 2px solid var(--line); padding-left: 16px; }
.wg-toc--side ol { border-left: 0; }
.wg-toc__title { margin: 0 0 12px; font: 600 13px/20px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate-600); }
.wg .wg-toc--side a { padding: 6px 0; margin: 0; border: 0; position: relative; }
.wg .wg-toc--side a[aria-current] { border-left: 0; color: var(--emerald); font-weight: 600; }
.wg .wg-toc--side a[aria-current]::before { content: ""; position: absolute; left: -18px; top: 6px; bottom: 6px; width: 2px; background: var(--emerald); }
.wg-tocbox { padding: 16px; border-radius: var(--radius-lg); background: var(--ink); color: var(--slate-400); font: 400 13px/20px var(--font-sans); display: grid; gap: 8px; }
.wg-tocbox p { margin: 0; }
.wg-tocbox__title { color: var(--white); font: 600 16px/22px var(--font-display); }
.wg-tocbox .wg-btn { display: flex; width: 100%; margin-top: 4px; }
.wg-article-col { min-width: 0; max-width: 860px; }
.wg-article-col > h2 { font: 700 32px/40px var(--font-display); letter-spacing: -.01em; margin: 48px 0 16px; scroll-margin-top: 96px; }
.wg-article-col > h3 { font: 600 24px/32px var(--font-display); margin: 32px 0 12px; }
.wg-article-col > :first-child { margin-top: 0; }
.wg-review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 32px; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg-meta-item { display: inline-flex; align-items: center; gap: 6px; }
.wg-meta-item svg.i { width: 16px; height: 16px; color: var(--slate-500); }
.wg-article-col .wg-disclosure-wrap { margin-bottom: 16px; }
.wg-article-col .wg-toc-m { margin-bottom: 32px; }
.wg-related { margin: 64px calc(50% - 50vw) 0; padding: 64px 0; background: var(--mist); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.wg-chrome.single-post .entry-content-wrap { padding: 0; }

@media (max-width: 1100px) {
  .wg-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wg-arch-head__in { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .wg-lead-post { grid-template-columns: minmax(0, 1fr); }
  .wg-lead-post .wg-cthumb { min-height: 0; aspect-ratio: 16 / 9; }
  .wg-arch-layout { grid-template-columns: minmax(0, 1fr); }
  .wg-article-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .wg-toc-col { display: none; }
  .wg-chrome.single-post .entry-header .entry-title { font-size: 40px; line-height: 46px; }
}
@media (max-width: 640px) {
  .wg-wrap { padding-left: 16px; padding-right: 16px; }
  .wg-grid3, .wg-arch-layout .wg-grid3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .wg-arch-head { padding: 32px 0; }
  .wg-arch-head h1 { font-size: 32px; line-height: 38px; }
  .wg-lead-post__body { padding: 24px; }
  .wg-lead-post__title { font-size: 24px; line-height: 30px; }
  .wg-related { margin-top: 48px; padding: 48px 0; }
  .wg-chrome.single-post .entry-header .entry-title { font-size: 32px; line-height: 38px; }
  .wg-article-col > h2 { font-size: 26px; line-height: 32px; margin-top: 32px; }
  .wg-article-col > h3 { font-size: 21px; line-height: 28px; }
}

/* Section 4 fixes */
.wg-lead-post .wg-cthumb img { object-fit: contain; }
.wg-chrome.single-post .entry-header { background: transparent; }

/* Home v2 (mockup layout, 22 Oct 2026) */
.wg-hero__fig { margin: 0; position: relative; display: grid; gap: 16px; }
.wg-hero__frame { box-shadow: var(--shadow-frame); border-color: var(--line-dark); }
.wg-hero__results { padding: 24px 28px 100px; background: var(--white); }
.wg .wg-hero__rtitle { margin: 0 0 8px; font: 600 12px/18px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate-600); }
.wg-hero__results ul { list-style: none; margin: 0; padding: 0; display: grid; }
.wg-hero__results li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); font: 500 15px/22px var(--font-sans); color: var(--ink); }
.wg-hero__results li:last-child { border-bottom: 0; }
.wg-hero__results b { font: 600 15px/22px var(--font-mono); color: var(--slate-800); }
.wg-hero__results b.ok { color: var(--emerald); }
.wg-hero__results b.bad { color: var(--fail); }
.wg-hero__card { position: absolute; left: -28px; bottom: 52px; z-index: 1; display: grid; gap: 2px; padding: 16px 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); min-width: 220px; }
.wg-hero__card-k { font: 800 12px/18px var(--font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--slate-600); }
.wg-hero__card b { font: 800 34px/40px var(--font-display); color: var(--ink); }
.wg-hero__card span:last-child { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
.wg-hero__fig figcaption { margin-top: 44px; font: 400 13px/20px var(--font-sans); color: var(--slate-400); }
.wg .wg-hero__fig figcaption a { color: var(--glory); }
.wg-logo-ph--txt { border: 0; background: var(--ink); color: var(--glory); font: 700 15px/1 var(--font-display); letter-spacing: .02em; }
.wg-vs__faces .wg-logo-ph--txt { border: 1px solid var(--line-dark); color: var(--glory); }
.wg-picks[hidden], [role="tabpanel"][hidden] { display: none !important; }
@media (min-width: 1101px) { .wg-picks__head, .wg-pick { grid-template-columns: 44px minmax(200px, 1.6fr) minmax(120px, 1fr) minmax(130px, 1fr) 90px 196px; } }
.wg-pick__name .wg-badge { justify-self: start; }
.wg-pick__act .wg-btn { justify-content: center; }
.wg-vs__table .wg-note { margin: 0; }
#picks .wg-note { margin-top: 16px; }
@media (max-width: 1023px) { .wg-hero__card { position: static; justify-self: start; } .wg-hero__results { padding-bottom: 20px; } .wg-hero__fig figcaption { margin-top: 0; } }
@media (max-width: 1100px) and (min-width: 1024px) { .wg-picks__head, .wg-pick { grid-template-columns: 36px minmax(160px, 1.4fr) minmax(100px, 1fr) minmax(110px, 1fr) 80px 170px; gap: 14px; } }
.wg-container.wg-hero__in { padding-left: var(--gutter); padding-right: var(--gutter); }

/* Header like the mockup (icons + sub-labels in the 2-column dropdown) */
.header-navigation .sub-menu li.menu-item > a { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; white-space: normal; }
.wg-mi { display: grid; gap: 2px; }
.wg-mi b { font: 600 15px/20px var(--font-sans); color: var(--ink); }
.wg-mi__d { font: 400 13px/18px var(--font-sans); color: var(--slate-600); }
.header-navigation .sub-menu svg.wg-mi__ic { flex: none; width: 36px; height: 36px; padding: 9px; box-sizing: border-box; border-radius: var(--radius-md); background: var(--emerald-soft); color: var(--emerald); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.header-navigation .sub-menu li.menu-item > a:hover .wg-mi b { color: var(--emerald); }
.mobile-navigation .wg-mi__ic, .mobile-navigation .wg-mi__d { display: none; }
.mobile-navigation .wg-mi b { font: inherit; color: inherit; }
.site-header-item .search-toggle-open { color: var(--ink); }
.site-header-item .search-toggle-open:hover { color: var(--emerald); }
.wg-bench--real .wg-bench__bar { background-image: none; min-width: 64px; } .wg-bench--real .wg-bench__row:not(.wg-bench__row--hero) .wg-bench__bar { background-color: #CBD5E1; }

/* v1.2: white mockup-style dropdowns (override Kadence's dark dropdown colours) */
@media (min-width: 1025px) {
  .header-navigation .header-menu-container ul ul.sub-menu { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 8px; }
  .header-navigation .header-menu-container ul ul li.menu-item { border: 0; }
  .header-navigation .header-menu-container ul ul li.menu-item > a { width: auto; min-width: 220px; background: transparent; color: var(--ink); padding: 10px 12px; border-radius: var(--radius-md); display: flex; align-items: flex-start; gap: 12px; white-space: normal; }
  .header-navigation .header-menu-container ul ul li.menu-item > a:hover, .header-navigation .header-menu-container ul ul li.menu-item > a:focus { background: var(--mist); color: var(--emerald); }
  .header-navigation .header-menu-container ul ul li.current-menu-item > a { background: var(--emerald-soft); }
  .header-navigation li.wg-menu-2col > .sub-menu > li > a { min-width: 0; }
  .header-navigation li.wg-menu-2col > .sub-menu { width: 600px; margin-left: -300px; }
}
.header-navigation .sub-menu .wg-mi b { color: var(--ink); }
/* header search + button */
.site-header-item .search-toggle-open { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-md); }
.site-header-item .search-toggle-open:hover { background: var(--mist); }
.header-button-wrap .header-button { padding: 10px 18px; }
/* end-of-post disclosure */
.wg-endnote { display: flex; gap: 10px; align-items: flex-start; margin: 48px 0 0; padding: 16px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--mist); font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
.wg-endnote svg.i { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--slate-500); }
.wg .wg-endnote a { color: var(--emerald); font-weight: 600; }
/* footer */
.wg-footer { margin-top: 0; }
.wg-footer__about p { margin: 0; max-width: 340px; }
.wg-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wg-pick__prov img.wg-plogo, .wg-vs__faces img.wg-plogo { flex: none; width: 52px; height: 52px; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--white); object-fit: contain; }
.wg-vs__faces img.wg-plogo { width: 60px; height: 60px; border-color: var(--line-dark); }
.wg-hero__results li span { display: inline-flex; align-items: center; gap: 10px; }
.wg-hero__results img.wg-plogo { width: 24px; height: 24px; border-radius: 6px; }
.wg-article-col > .wg-endnote { margin-top: 32px; }

/* v1.2.1: comment form (stacked labels instead of Kadence float labels, brand button, article-column width) */
.comment-respond { padding: 28px 32px; }
.comment-respond .comment-reply-title { margin: 0 0 6px; font: 700 24px/32px var(--font-display); color: var(--ink); }
.comment-respond .comment-reply-title small { margin-left: 8px; font: 500 14px/20px var(--font-sans); }
.comment-form .comment-notes, .comment-form .logged-in-as { margin: 0 0 20px; font: 400 14px/22px var(--font-sans); font-style: normal; color: var(--slate-600); }
.comment-form > p { margin: 0 0 16px; }
.comment-form .comment-form-float-label { display: flex !important; flex-direction: column; margin: 0 0 16px !important; position: static; }
.comment-form .comment-form-float-label .float-label { order: -1; position: static !important; transform: none !important; margin: 0 0 6px; padding: 0; font: 600 14px/20px var(--font-sans); color: var(--ink); opacity: 1 !important; pointer-events: auto; background: none; }
.comment-form .comment-form-float-label textarea, .comment-form .comment-form-float-label input { width: 100%; padding: 12px 14px; }
.comment-form textarea { min-height: 160px; }
.comment-form input:focus, .comment-form textarea:focus { outline: 2px solid var(--focus-ring); outline-offset: 1px; border-color: var(--emerald); }
.comment-form .comment-input-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.comment-form .comment-input-wrap > p { margin: 0 !important; }
.comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; font: 400 14px/22px var(--font-sans); color: var(--slate-600); }
.comment-form .comment-form-cookies-consent input { margin-top: 4px; flex: none; }
.comment-form .form-submit { margin: 4px 0 0; }
.comment-form input[type="submit"], .comment-form #submit { background: var(--emerald); color: var(--white); border: 0; border-radius: var(--radius-md); padding: 12px 24px; font: 600 16px/22px var(--font-sans); cursor: pointer; box-shadow: none; }
.comment-form input[type="submit"]:hover, .comment-form #submit:hover { background: var(--emerald-deep); }
.comment-form .cf-turnstile, .comment-form .sct-turnstile { margin: 0 0 16px; }
@media (min-width: 1101px) { .wg-chrome.single-post .comments-area, .wg-chrome.single-post .comment-respond-wrap { max-width: 860px; margin-left: 288px; } }
@media (max-width: 767px) { .comment-form .comment-input-wrap { grid-template-columns: 1fr; } .comment-respond { padding: 20px; } }
.comment-form p.comment-form-float-label, .comment-form .comment-input-wrap p { flex-direction: column !important; align-items: stretch !important; margin-top: 0 !important; }
.comment-form p.comment-form-float-label label, .comment-form .comment-input-wrap p label { order: -1; position: static !important; transform: none !important; margin: 0 0 6px !important; padding: 0 !important; font: 600 14px/20px var(--font-sans) !important; color: var(--ink) !important; opacity: 1 !important; background: none !important; }
.comment-form .comment-input-wrap { margin-bottom: 16px !important; }

/* v1.3: shared page design */
.wg-pagehead.alignfull { margin: 0; }
.wg-pagehead__in { max-width: 820px; }
.wg-pagehead .wg-crumbs, .wg-pagehead .wg-crumbs p { margin: 0; font: 400 14px/20px var(--font-sans); color: var(--slate-600); }
.wg .wg-pagehead .wg-crumbs a { color: var(--slate-600); text-decoration: none; }
.wg .wg-pagehead .wg-crumbs a:hover { color: var(--emerald); }
.wg-pagehead h1 { margin: 0; color: var(--ink); }
.wg-pagehead .wg-lead { margin: 0; }
.wg-pagehead__meta { margin: 0; font: 500 13px/20px var(--font-mono); color: var(--slate-500); }
.wg-page-body { padding: 56px var(--gutter) 96px; }
.wg-prose { max-width: 760px; margin: 0 auto; font: 400 17px/28px var(--font-sans); color: var(--slate-800); }
.wg-prose > * { margin-top: 0; margin-bottom: 20px; }
.wg-prose > .wp-block-group.wg-article { display: block; padding: 0; max-width: none; }
.wg-prose > .wp-block-group.wg-article > * { margin-bottom: 20px; }
.wg-prose h2 { font: 700 28px/36px var(--font-display); letter-spacing: -.01em; color: var(--ink); margin: 40px 0 14px; }
.wg-prose h3 { font: 600 21px/28px var(--font-display); color: var(--ink); margin: 28px 0 10px; }
.wg-prose ul, .wg-prose ol { padding-left: 22px; }
.wg-prose li { margin-bottom: 6px; }
.wg-prose li::marker { color: var(--emerald); }
.wg .wg-prose a { color: var(--emerald); text-decoration: underline; text-underline-offset: 2px; }
.wg-prose .wp-block-columns:empty { display: none; }
.wg-prose .wg-callout, .wg-prose .wg-box { margin: 28px 0; }
.wg-prose .wg-mailto { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
@media (max-width: 599px) { .wg-page-body { padding: 40px var(--gutter) 64px; } .wg-prose { font-size: 16px; line-height: 26px; } .wg-prose h2 { font-size: 24px; line-height: 30px; } }

/* About + contact */
.wg-about__photo { overflow: hidden; background: var(--mist); }
.wg-about__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wg-avatar-img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.wg-cform .kb-form, .wg-cform .wp-block-kadence-form { margin: 0; }
.wg-cform .kadence-blocks-form-field label { font: 600 14px/20px var(--font-sans); color: var(--ink); }
.wg-cform .kadence-blocks-form-field input, .wg-cform .kadence-blocks-form-field textarea, .wg-cform .kadence-blocks-form-field select { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--slate-500); border-radius: var(--radius-md); background: var(--white); font: 400 16px/24px var(--font-sans); color: var(--ink); }
.wg-cform .kadence-blocks-form-field textarea { min-height: 140px; }
.wg-cform .kb-forms-submit, .wg-cform .kb-submit-field .kb-button { background: var(--emerald); color: var(--white); border: 0; border-radius: var(--radius-md); padding: 12px 24px; font: 600 16px/22px var(--font-sans); }
.wg-cform .kb-forms-submit:hover, .wg-cform .kb-submit-field .kb-button:hover { background: var(--emerald-deep); }

/* Newsletter (Brevo embed) */
.wg-nl-embed { display: grid; gap: 8px; }
.wg-nl-embed__frame { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.wg-nl-embed iframe { display: block; width: 100%; height: 360px; border: 0; }
.wg-nl-embed small { font: 400 13px/20px var(--font-sans); color: var(--slate-600); }
@media (max-width: 599px) { .wg-nl-embed iframe { height: 420px; } }

/* v1.3 pages: about / contact helpers */
.wg-about-sec { padding: 72px 0; }
.wg-about__copy { display: grid; gap: 18px; justify-items: start; }
.wg-about__copy > * { margin: 0; }
.wg-about__copy h1 { font-size: 44px; line-height: 52px; letter-spacing: -.02em; color: var(--ink); }
.wg-about__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.wg-stack { display: grid; gap: 24px; }
.wg-stack > .wg-sechead { margin-bottom: 0; }
.wg-grid--top { align-items: start; }
.wg-authorbox--white { background: var(--white); }
.wg-authorbox h3 { margin: 0; font: 700 22px/30px var(--font-display); color: var(--ink); }
.wg-authorbox__txt p, .wg-box p { margin: 0; }
.wg-cta-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 40px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--emerald-soft); }
.wg-cta-band > div { display: grid; gap: 10px; max-width: 680px; }
.wg-cta-band h2, .wg-cta-band p { margin: 0; }
.wg-contact-sec { padding: 56px 0 96px; }
.wg-way a { color: var(--emerald); }
.wg-pagehead .wg-eyebrow { justify-self: start; }
@media (max-width: 599px) { .wg-about-sec { padding: 40px 0; } .wg-about__copy h1 { font-size: 32px; line-height: 38px; } .wg-cta-band { padding: 24px; } }
.wg-about__photo { padding: 0; aspect-ratio: auto; background: none; display: block; }
.wg-about__photo img { height: auto; border-radius: var(--radius-lg); }
/* Kadence forms in the WPGlory style (override per-form colours) */
.wg .kb-form .kadence-blocks-form-field { margin-bottom: 14px !important; }
.wg .kb-form .kadence-blocks-form-field label { color: var(--ink) !important; font: 600 14px/20px var(--font-sans) !important; margin-bottom: 6px !important; display: block; }
.wg .kb-form .kadence-blocks-form-field .required { color: var(--fail) !important; }
.wg .kb-form .kb-field { width: 100% !important; min-height: 46px; padding: 10px 14px !important; border: 1px solid var(--slate-500) !important; border-radius: var(--radius-md) !important; background: var(--white) !important; color: var(--ink) !important; font: 400 16px/24px var(--font-sans) !important; box-shadow: none !important; }
.wg .kb-form textarea.kb-field { min-height: 140px; }
.wg .kb-form .kb-field:focus { outline: 2px solid var(--focus-ring) !important; outline-offset: 1px; border-color: var(--emerald) !important; }
.wg .kb-form .kb-field::placeholder { color: var(--slate-500) !important; }
.wg .kb-form .kb-submit-field .kb-button, .wg .kb-form .kb-forms-submit { background: var(--emerald) !important; color: var(--white) !important; border: 0 !important; border-radius: var(--radius-md) !important; padding: 12px 26px !important; font: 600 16px/22px var(--font-sans) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; width: auto !important; }
.wg .kb-form .kb-submit-field .kb-button:hover, .wg .kb-form .kb-forms-submit:hover { background: var(--emerald-deep) !important; }
.wg-prose .wp-block-kadence-form { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.wg .kb-form .kb-submit-field { justify-content: flex-start !important; text-align: left !important; }
.wg-page-body { max-width: calc(1240px + 2 * var(--gutter)); margin: 0 auto; }
.wg-page-body .wg-prose { margin: 0; }
.wg-prose:has(.wg-dealrow) { max-width: 1040px; }
.wg .wg-prose a.wg-btn, .wg .wg-prose .wp-block-button__link, .wg .wg-prose .wg-dealrow a.wp-block-button__link { text-decoration: none; }
.wg .wg-prose .is-style-wg-cta .wp-block-button__link { color: var(--ink); }
/* v1.3.1: spacing in reviews (pros/cons bottom padding, paragraph rhythm) */
.wg-proscons .wg-pc { padding-bottom: 20px; }
.wg-article-col > p { margin: 0 0 20px; }
.wg-article-col > p:has(+ .wg-proscons), .wg-article-col > p:has(+ .wp-block-table), .wg-article-col > p:has(+ figure) { margin-bottom: 24px; }
.wg-article-col > .wg-proscons { margin: 0 0 24px; }
.wg-article-col > .wp-block-buttons { margin: 0 0 32px; }
