/* Ndovu 2.0: v2-tools. The free SEO tools: /tools/, /tools/category/<slug>/ and each tool page.
   Design source: redesign-demo/views/tools.html + css/tools.css. Ruled tool cards with a category glyph and a pill saying
   where the tool runs, category chips, a pill search, and the tool UI in one clean panel. The free tools plugin's markup
   (ndt-*) and its --ndt-* variables come from its own tools.css; this sheet maps them onto the 2.0 tokens. */
:root,:root[data-theme=dark]{
  --ndt-ink:var(--nd-ink);--ndt-muted:var(--nd-muted);--ndt-line:var(--nd-line);--ndt-paper:var(--nd2-sunk);--ndt-card:var(--nd2-surface);
  --ndt-accent:#f39c12;--ndt-radius:12px;
}
:root{
  --ndt-accent-ink:#a95a05;--ndt-good:#15803d;--ndt-good-bg:#e3f4e8;--ndt-warn:#b45309;--ndt-warn-bg:#fdf0dc;--ndt-bad:#c2261d;--ndt-bad-bg:#fbe5e3;
  --ndtx-info:#1d5fd0;--ndtx-info-soft:#e5eefc;--ndtx-focus:#1d5fd0;
  --ndtx-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}
:root[data-theme=dark]{
  --ndt-accent-ink:#f6b04a;--ndt-good:#4ade80;--ndt-good-bg:#10261a;--ndt-warn:#f6b04a;--ndt-warn-bg:#2c2113;--ndt-bad:#f87171;--ndt-bad-bg:#2d1513;
  --ndtx-info:#7aa7f5;--ndtx-info-soft:#14203a;--ndtx-focus:#7aa7f5;
}

/* ---------- Hero search: a dark pill on the night hero ---------- */
.ndt-search{position:relative;max-width:600px;margin:28px 0 0}
.ndt-search::before{content:"";position:absolute;left:20px;top:50%;z-index:1;width:18px;height:18px;transform:translateY(-50%);background:var(--nd-night-muted);-webkit-mask:var(--ndtx-search) center/contain no-repeat;mask:var(--ndtx-search) center/contain no-repeat;pointer-events:none}
.ndt-search input{min-height:54px;padding:0 22px 0 50px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:var(--nd-night-card);color:var(--nd-night-text);font:400 16px/1.2 var(--nd-font);box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.ndt-search input::placeholder{color:var(--nd-night-muted);opacity:1}
.ndt-search input:hover{border-color:rgba(255,255,255,.28)}
.ndt-search input:focus-visible{outline:2px solid #f6b04a;outline-offset:2px;border-color:transparent}
.ndt-search input::-webkit-search-cancel-button{filter:invert(1)}
.ndt-search-count{font:500 12px/1.4 var(--nd-mono);letter-spacing:.02em}

/* ---------- Category chips ---------- */
.ndt-category-nav{gap:8px;margin:-8px 0 36px}
.ndt-category-nav a{height:34px;padding:0 13px;gap:7px;border:1px solid var(--nd-line);border-radius:999px;background:var(--nd2-surface);color:var(--nd-muted);font:500 13.5px/1 var(--nd-font);white-space:nowrap;transition:border-color .15s,color .15s,background-color .15s}
.ndt-category-nav a:hover{border-color:var(--nd2-line-2);color:var(--nd-ink);background:var(--nd2-surface)}
.ndt-category-nav a:focus-visible{outline:2px solid var(--ndtx-focus);outline-offset:2px}
.ndt-category-nav [class*="nd-ic-"]::before{width:15px;height:15px;background:var(--ndt-accent-ink)}
.ndt-category-nav small{font:400 11.5px/1 var(--nd-mono);color:var(--nd2-ink-3)}
@media(max-width:760px){
  .ndt-category-nav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:2px 16px 4px;scroll-padding-inline:16px}
  .ndt-category-nav::-webkit-scrollbar{display:none}
  .ndt-category-nav a{flex:none}
}

/* ---------- Tool cards: /tools/, category pages and related tools ---------- */
.ndt-main .nd-cards .nd-grid:has(.ndt-card),.ndt-main #tools .nd-grid,.ndt-main .nd-related .nd-grid{gap:12px}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card,html:root .ndt-main #tools .nd-grid .nd-card,html:root .ndt-main .nd-related .nd-grid .nd-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px!important;margin:0!important;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd2-surface);box-shadow:none;transform:none;transition:border-color .15s,box-shadow .15s,transform .15s}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card:hover,html:root .ndt-main #tools .nd-grid .nd-card:hover,html:root .ndt-main .nd-related .nd-grid .nd-card:hover{border-color:var(--nd2-line-2);box-shadow:var(--nd2-shadow);transform:translateY(-2px)}
html:root .ndt-main .nd-grid .nd-card:is(.ndt-card,#tools .nd-card,.nd-related .nd-card):has(a:focus-visible){outline:2px solid var(--ndtx-focus);outline-offset:2px}
html:root .ndt-main .nd-grid .nd-card:is(.ndt-card,#tools .nd-card,.nd-related .nd-card) .nd-card-icon{display:inline-flex;align-items:center;gap:7px;width:auto;min-width:0;height:auto;margin:0 0 4px;padding:0;border-radius:0!important;background:none;box-shadow:none;color:var(--nd2-ink-3);font:500 11px/1.3 var(--nd-mono);font-size:11px!important;letter-spacing:.07em;text-transform:uppercase}
html:root .ndt-main .nd-grid .nd-card:is(.ndt-card,#tools .nd-card,.nd-related .nd-card) .nd-card-icon::before{width:15px;height:15px;background:var(--ndt-accent-ink)}
html:root .ndt-main .nd-grid .nd-card:is(.ndt-card,#tools .nd-card,.nd-related .nd-card) h3{margin:0;font:500 1.1rem/1.3 var(--nd-display);letter-spacing:-.015em;color:var(--nd-ink)}
html:root .ndt-main .nd-grid .nd-card:is(.ndt-card,#tools .nd-card,.nd-related .nd-card) p:not(.nd-card-icon):not(.ndt-card-engine){margin:0!important;font-size:14px;line-height:1.55;color:var(--nd-muted)}
/* Where the tool runs: a pill with a status dot */
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card p.ndt-card-engine{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:22px;margin:auto 0 0;padding:0 9px;border-radius:999px;background:var(--ndt-good-bg);color:var(--ndt-good);font:500 12px/1 var(--nd-font)}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card p.ndt-card-engine::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card p.ndt-card-engine.is-fetch{background:var(--ndtx-info-soft);color:var(--ndtx-info)}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card p.ndt-card-engine.is-crawl{background:var(--ndt-warn-bg);color:var(--ndt-warn)}
html:root .ndt-main .nd-cards .nd-grid .nd-card.ndt-card h3+p{margin-bottom:8px!important}
/* Category and related cards open from anywhere on the card */
html:root .ndt-main .nd-grid .nd-card:is(#tools .nd-card,.nd-related .nd-card):not(.ndt-card) .wp-block-buttons{margin:auto 0 0;padding-top:8px}
html:root .ndt-main .nd-grid .nd-card:is(#tools .nd-card,.nd-related .nd-card):not(.ndt-card) .wp-block-button__link{display:inline-block;min-height:0;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none;color:var(--nd-ink)!important;font:500 14px/1.4 var(--nd-font);text-decoration:underline!important;text-decoration-color:var(--nd2-line-2)!important;text-underline-offset:4px}
html:root .ndt-main .nd-grid .nd-card:is(#tools .nd-card,.nd-related .nd-card):not(.ndt-card) .wp-block-button__link::before{content:"";position:absolute;inset:0;border-radius:12px}
html:root .ndt-main .nd-grid .nd-card:is(#tools .nd-card,.nd-related .nd-card):not(.ndt-card):hover .wp-block-button__link{text-decoration-color:var(--ndt-accent)!important}
.ndt-group-link{margin-top:20px}
.ndt-main .ndt-empty{padding:32px 20px;border:1px dashed var(--nd2-line-2);border-radius:12px;text-align:center;color:var(--nd-muted)}
@media(max-width:1000px){html:root .ndt-main .nd-cards .nd-grid-3:is(:has(.ndt-card),#tools .nd-grid-3,.nd-related .nd-grid-3){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){html:root .ndt-main .nd-cards .nd-grid-3:is(:has(.ndt-card),#tools .nd-grid-3,.nd-related .nd-grid-3){grid-template-columns:minmax(0,1fr)}}

/* ---------- The tool panel ---------- */
.ndt-app{padding:clamp(18px,3vw,28px);border:1px solid var(--nd-line);border-radius:14px;background:var(--nd2-surface);box-shadow:var(--nd2-shadow);font-family:var(--nd-font)}
.ndt-loading{font:500 12px/1.4 var(--nd-mono);color:var(--nd2-ink-3)}
.ndt-field label,.ndt-options legend{font-size:14px;font-weight:600;color:var(--nd-ink)}
.ndt-help{font-size:13px;color:var(--nd2-ink-3)}
:root .ndt-app input[type="text"],:root .ndt-app input[type="url"],:root .ndt-app input[type="number"],:root .ndt-app input[type="search"],:root .ndt-app input:not([type]),:root .ndt-app textarea,:root .ndt-app select{min-height:44px;padding:10px 14px;border:1px solid var(--nd2-line-2);border-radius:10px;background:var(--nd2-surface);color:var(--nd-ink);font-size:15px;transition:border-color .15s}
:root .ndt-app textarea{font:400 13.5px/1.6 var(--nd-mono)}
:root .ndt-app input:hover,:root .ndt-app textarea:hover,:root .ndt-app select:hover{border-color:var(--nd2-ink-3)}
.ndt-app input::placeholder,.ndt-app textarea::placeholder{color:var(--nd2-ink-3);opacity:1}
:root .ndt-app input:focus-visible,:root .ndt-app textarea:focus-visible,:root .ndt-app select:focus-visible{outline:2px solid var(--ndtx-focus);outline-offset:0;border-color:transparent}
:root .ndt-app select{-webkit-appearance:none;appearance:none;padding-right:40px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--nd-muted) 50%),linear-gradient(135deg,var(--nd-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
:root[data-theme=dark] .ndt-app select{color-scheme:dark}
.ndt-app input[type="checkbox"],.ndt-app input[type="radio"]{accent-color:#f39c12}
.ndt-options{border-color:var(--nd-line);border-radius:10px}
.ndt-button{height:42px;min-height:42px;padding:0 18px;border-radius:999px;background:var(--ndt-accent);color:#171717;font:500 14px/1 var(--nd-font);transition:background-color .15s,border-color .15s}
.ndt-button:hover{background:#f7ae3a}
.ndt-button:active{transform:translateY(1px)}
.ndt-button.is-secondary,.ndt-button.is-ghost{background:transparent;border-color:var(--nd2-line-2);color:var(--nd-ink)}
.ndt-button.is-secondary:hover,.ndt-button.is-ghost:hover{background:transparent;border-color:var(--nd-ink)}
.ndt-button:focus-visible{outline:2px solid var(--ndtx-focus);outline-offset:2px;border-color:transparent}
.ndt-button:disabled,.ndt-button[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

/* Results */
.ndt-results{gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--nd-line)}
.ndt-summary span{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;font:500 12.5px/1 var(--nd-font)}
.ndt-summary span::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ndt-checks{gap:0;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;background:var(--nd2-surface)}
.ndt-check{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:14px 16px;border:0;border-top:1px solid var(--nd-line);border-radius:0;background:transparent}
.ndt-check:first-child{border-top:0}
.ndt-check strong{font-weight:600;color:var(--nd-ink)}
.ndt-check p{font-size:14px;line-height:1.55;color:var(--nd-muted)}
.ndt-check .ndt-fix{color:var(--nd-ink)}
.ndt-verdict{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;font:500 12px/1 var(--nd-font);white-space:nowrap}
.ndt-verdict::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ndt-stats{gap:1px;background:var(--nd-line);border:1px solid var(--nd-line);border-radius:12px;overflow:hidden}
.ndt-stats div{padding:14px 16px;border:0;border-radius:0;background:var(--nd2-surface)}
.ndt-stats dt{font:500 11px/1.3 var(--nd-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nd2-ink-3)}
.ndt-stats dd{margin-top:6px;font:500 1.5rem/1.1 var(--nd-display);letter-spacing:-.02em;color:var(--nd-ink)}
.ndt-table-wrap{border-color:var(--nd-line);border-radius:12px;background:var(--nd2-surface);-webkit-overflow-scrolling:touch}
.ndt-table th{padding:10px 14px;background:var(--nd2-sunk);border-bottom:1px solid var(--nd-line);font:500 11px/1.3 var(--nd-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nd2-ink-3)}
.ndt-table td{border-top-color:var(--nd-line);color:var(--nd-ink)}
.ndt-table tr:first-child td{border-top:0}
.ndt-table caption{font:500 12px/1.4 var(--nd-mono);color:var(--nd2-ink-3)}
.ndt-notice{border-color:var(--nd-line);border-radius:10px;background:var(--nd2-sunk);color:var(--nd-ink)}
.ndt-notice.is-warn{border:1px solid var(--nd-line);border-left:3px solid var(--ndt-warn);border-radius:0 10px 10px 0;background:var(--ndt-warn-bg)}
.ndt-notice.is-error{border:1px solid var(--nd-line);border-left:3px solid var(--ndt-bad);border-radius:0 10px 10px 0;background:var(--ndt-bad-bg)}
.ndt-callout{border-color:var(--nd-line);border-radius:12px;background:var(--nd2-sunk)}
.ndt-code-inline{border-color:var(--nd-line);background:var(--nd2-surface);font-family:var(--nd-mono)}
.ndt-code{border:1px solid var(--nd-night-line);border-radius:10px;background:var(--nd-night);color:#f6b04a;font:400 13px/1.65 var(--nd-mono)}
.ndt-meter{font:500 12px/1.4 var(--nd-mono);color:var(--nd2-ink-3)}
.ndt-meter-track{height:8px;border:0;background:var(--nd2-sunk);box-shadow:inset 0 0 0 1px var(--nd-line)}
.ndt-serp{border-color:var(--nd-line);border-radius:12px}
.ndt-outline{border-color:var(--nd-line);border-radius:12px;background:var(--nd2-surface)}
.ndt-outline-level{font-family:var(--nd-mono);font-weight:500}
.ndt-section-label{font:500 1.05rem/1.3 var(--nd-display);letter-spacing:-.01em}
.ndt-social{border-color:var(--nd-line)}
@media(max-width:600px){.ndt-app{padding:16px;border-radius:12px}.ndt-check{grid-template-columns:minmax(0,1fr);gap:8px}.ndt-verdict{justify-self:start}}

@media(prefers-reduced-motion:reduce){
  .ndt-category-nav a,.ndt-button,.ndt-app input,.ndt-app textarea,.ndt-app select,html:root .ndt-main .nd-grid .nd-card{transition:none}
  html:root .ndt-main .nd-grid .nd-card:hover{transform:none}
  .ndt-button:active{transform:none}
}

/* =====================================================================
   2.0 frame for pages rendered by plugins and the docs templates
   (glossary, free tools, directory blocks, help articles, guides, legal).
   Their sections use the 1.x markup (a full-width section with an
   .nd-section-inner), so the same frame is drawn around them: dotted
   margins, dashed rails, square corner markers, ruled card grids and
   dashed section labels. Uses the 2.0 tokens (--bg, --line-2 ...).
   ===================================================================== */
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav){
  --frame-bg:var(--bg);background-color:var(--frame-bg)!important;padding-block:0!important;border-top:1px dashed var(--line-2)!important;
  background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1.2px)!important;background-size:12px 12px!important}
:where(.nd-main) :is(div,section).nd-tint:has(> .nd-section-inner):not(.nd2 *):not(.nd-docs *),:where(.nd-main) :is(div,section).nd-mint:has(> .nd-section-inner):not(.nd2 *):not(.nd-docs *){--frame-bg:var(--bg-sunk)}
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav)>.nd-section-inner{
  position:relative;width:min(1202px,calc(100% - 32px));background:var(--frame-bg);border-inline:1px dashed var(--line-2);padding:clamp(56px,7vw,96px) clamp(20px,4vw,56px)}
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav)>.nd-section-inner::before,
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav)>.nd-section-inner::after{
  content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--line-2);background:var(--frame-bg);border-radius:1px;z-index:2}
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav)>.nd-section-inner::before{left:-5px}
:where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *):not(.nd2):not(.nd-docs *):not(.nd-feature-hero):not(.nd-stats):not(.nd-jump-nav)>.nd-section-inner::after{right:-5px}

/* Night hero and its stats: the same rails on the night ground. */
.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *){background-color:var(--night)!important;background-image:radial-gradient(rgba(237,237,237,.08) 1px,transparent 1.2px)!important;background-size:12px 12px!important;padding-block:0!important}
.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *)::before,.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *)::after{display:none!important}
.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *)>.nd-section-inner{position:relative;width:min(1202px,calc(100% - 32px));background:var(--night);border-inline:1px dashed #333333;padding:clamp(24px,2.5vw,32px) clamp(20px,4vw,56px) clamp(40px,6vw,80px)}
.nd-main .nd-stats:not(.nd2 *){background-color:var(--night)!important;background-image:radial-gradient(rgba(237,237,237,.08) 1px,transparent 1.2px)!important;background-size:12px 12px!important;padding:0!important}
.nd-main .nd-stats:not(.nd2 *)>.nd-section-inner{width:min(1202px,calc(100% - 32px));background:var(--night);border-inline:1px dashed #333333;border-top:1px solid #262626}

/* Card grids: square cells that share hairlines, with a marker where lines meet. */
.nd-main .nd-grid:not(.nd2 *){gap:0!important;background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-left:1px solid var(--line)!important}
.nd-main .nd-grid:not(.nd2 *)>*{position:relative;border:0!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:var(--frame-bg,var(--bg))!important;margin:0!important}
.nd-main .nd-grid:not(.nd2 *)>*::after{content:"";position:absolute;top:-6px;left:-6px;width:9px;height:9px;border:1px solid var(--line-2);background:var(--frame-bg,var(--bg));border-radius:1px;z-index:1}
.nd-main .nd-grid:not(.nd2 *)>.nd-card:hover{transform:none!important;background:var(--bg-sunk)!important}

/* Section labels: dashed product label, as everywhere else. */
.nd-main :not(.nd2 *)>.nd-section-heading .nd-eyebrow,.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *) .nd-eyebrow{display:inline-flex!important;align-items:center;gap:8px;width:max-content;max-width:100%;padding:6px 10px!important;border:1px dashed color-mix(in srgb,var(--amber) 70%,transparent)!important;border-radius:4px!important;background:color-mix(in srgb,var(--amber) 8%,transparent)!important;font:500 12px/1 var(--f-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-ink)!important}

/* Docs shell (guides, help articles, glossary terms, release notes, legal): the same frame. */
.nd-docs-main{overflow-x:clip;background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1.2px);background-size:12px 12px}
.nd-docs-main>.nd-docs{max-width:1360px;margin-inline:auto;background:var(--bg);border-inline:1px dashed var(--line-2);position:relative}
.nd-docs-main>.nd-docs::before,.nd-docs-main>.nd-docs::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--line-2);background:var(--bg);border-radius:1px;z-index:2}
.nd-docs-main>.nd-docs::before{left:-5px}.nd-docs-main>.nd-docs::after{right:-5px}

@media(max-width:640px){
  :where(.nd-main) :is(div,section):has(> .nd-section-inner):not(.nd2 *),.nd-main .nd-feature-hero:not(.nd2 *):not(.nd-docs *),.nd-main .nd-stats:not(.nd2 *),.nd-docs-main{background-image:none!important}
}

/* Glossary plugin: ruled square cells instead of tinted rounded cards, like every other grid. */
.ndg-essentials,.ndg-paths,.ndg-list ul,.ndg-related{gap:0!important;background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-left:1px solid var(--line)!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.ndg-essentials>li>*{border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--frame-bg,var(--bg))!important;margin:0!important}
.ndg-essentials>li,.ndg-path-card,.ndg-list .ndg-row,.ndg-related>*{position:relative;border-radius:0!important;border:0!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;background:var(--frame-bg,var(--bg))!important;margin:0!important}
.ndg-essentials>li>*::before,.ndg-essentials>li>*::after,.ndg-path-card::after{display:none!important}
.ndg-essentials>li::after,.ndg-path-card::before{content:"";position:absolute;top:-6px;left:-6px;width:9px;height:9px;border:1px solid var(--line-2);background:var(--frame-bg,var(--bg));border-radius:1px;z-index:1}
.ndg-essentials>li:hover>*,.ndg-list .ndg-row:hover{background:var(--bg-sunk)!important}
.ndg-letter>h2,.ndg-letter>h3{font-family:var(--f-display)!important;font-weight:500!important}
.ndg-az a{border-radius:4px!important;border:1px solid var(--line)!important;background:var(--bg)!important;color:var(--ink)!important}
.ndg-az a:hover{border-color:var(--amber)!important}
.ndg-search input[type="search"]{border-radius:999px!important;border:1px solid var(--line-2)!important;background:var(--surface,#fff)!important;color:var(--ink)!important}
.ndg-chip,.ndg-label,.ndg-pills>*{border-radius:999px!important}
.ndg-definition,.ndg-note,.ndg-fact{border-radius:0 8px 8px 0!important}

/* Glossary term "In the NdovuSEOLabs platform" panel: a square night panel in either theme,
   light text, and outlined links that brighten on hover (the docs article's link colours never apply). */
.nd-docs .nd-docs-article .ndg-platform{position:relative;margin-top:28px;padding:28px 30px 30px;border-radius:0;background:#0a0a0a;border:1px solid #262626}
.nd-docs .nd-docs-article .ndg-platform::before,.nd-docs .nd-docs-article .ndg-platform::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px}
.nd-docs .nd-docs-article .ndg-platform::before{left:-5px}
.nd-docs .nd-docs-article .ndg-platform::after{right:-5px}
.nd-docs .nd-docs-article .ndg-platform .ndg-label{display:inline-flex;align-items:center;gap:8px;margin:0!important;padding:0!important;border:0!important;background:none!important;border-radius:0!important;color:#f6b04a!important;font:500 11.5px/1 var(--nd-mono)!important;letter-spacing:.08em;text-transform:uppercase}
.nd-docs .nd-docs-article .ndg-platform .ndg-label::before{content:"";width:6px;height:6px;background:#f39c12;border-radius:1px}
.nd-docs .nd-docs-article .ndg-platform .ndg-platform-lead{margin:12px 0 20px;max-width:none;color:#ededed!important;background:none!important;font:400 17px/1.5 var(--nd-font)}
.nd-docs .nd-docs-article .ndg-platform .ndg-pills{display:flex;flex-wrap:wrap;gap:10px}
.nd-docs .nd-docs-article .ndg-platform .ndg-pills a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1px solid #333333!important;border-radius:999px!important;background:transparent!important;color:#ededed!important;font:500 14.5px/1 var(--nd-font)!important;text-decoration:none!important;box-shadow:none!important;transition:border-color .15s,background-color .15s}
.nd-docs .nd-docs-article .ndg-platform .ndg-pills a:hover,.nd-docs .nd-docs-article .ndg-platform .ndg-pills a:focus-visible{border-color:#ededed!important;background:rgba(237,237,237,.06)!important;color:#fff!important}
.nd-docs .nd-docs-article .ndg-platform .ndg-pills a svg,.nd-docs .nd-docs-article .ndg-platform .ndg-pills a::after{color:#a3a3a3}
:root[data-theme=dark] .nd-docs .nd-docs-article .ndg-platform{background:#000000;border-color:#262626}
:root[data-theme=dark] .nd-docs .nd-docs-article .ndg-platform::before,:root[data-theme=dark] .nd-docs .nd-docs-article .ndg-platform::after{background:var(--nd-white)}
@media(max-width:560px){.nd-docs .nd-docs-article .ndg-platform{padding:22px 20px 24px}}

/* Glossary term cards and learning path in the 2.0 language: ruled square cells with corner markers,
   an ember bar on hover, square icon tiles, and a neutral learning-path panel (no blue tint). */
.nd-docs .nd-docs-article .ndg-tools{gap:0!important;border-top:1px solid var(--nd-line);border-left:1px solid var(--nd-line)}
.nd-docs .nd-docs-article .ndg-tools>li{position:relative;margin:0!important;border-right:1px solid var(--nd-line);border-bottom:1px solid var(--nd-line)}
.nd-docs .nd-docs-article .ndg-tools>li::before{content:"";position:absolute;top:-5px;left:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px;z-index:1}
.nd-docs .nd-docs-article .ndg-tools .ndg-card-link{height:100%;border:0!important;border-radius:0!important;box-shadow:none!important}
.nd-docs .nd-docs-article .ndg-card-link{position:relative;border-radius:0!important;box-shadow:none!important;background:var(--nd-white)!important;transition:background-color .15s,box-shadow .15s}
.nd-docs .nd-docs-article .ndg-card-link:hover,.nd-docs .nd-docs-article .ndg-card-link:focus-visible{background:var(--nd2-sunk)!important;box-shadow:inset 2px 0 0 #ee6b12!important;transform:none!important}
.nd-docs .nd-docs-article .ndg-section>.ndg-card-link,.nd-docs .nd-docs-article .ndg-card-link.ndg-guide{border:1px solid var(--nd-line)!important}
.nd-docs .nd-docs-article .ndg-card-link.ndg-guide::before,.nd-docs .nd-docs-article .ndg-card-link.ndg-guide::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px}
.nd-docs .nd-docs-article .ndg-card-link.ndg-guide::before{left:-5px}
.nd-docs .nd-docs-article .ndg-card-link.ndg-guide::after{right:-5px}
.nd-docs .nd-docs-article .ndg-card-link strong{font-weight:600;color:var(--nd-ink)}
.nd-docs .nd-docs-article .ndg-more{color:var(--nd-ink)!important;font-weight:500}
.nd-docs .nd-docs-article .ndg-card-link:hover .ndg-more{color:#ee6b12!important}
.nd-docs .nd-docs-article .ndg-tile{border-radius:4px!important;border:1px solid var(--nd-line)!important;background:var(--nd-white)!important;box-shadow:none!important}
.nd-docs .nd-docs-article .ndg-chip:not(.ndg-chip-free){border:1px solid var(--nd-line)!important;background:var(--nd2-sunk)!important;color:var(--nd-muted)!important}
/* Learning path */
.nd-docs .nd-docs-article .ndg-path{position:relative;border-radius:0!important;border:1px solid var(--nd-line)!important;background:var(--nd2-sunk)!important;box-shadow:none!important;color:var(--nd-ink)}
.nd-docs .nd-docs-article .ndg-path::before,.nd-docs .nd-docs-article .ndg-path::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px}
.nd-docs .nd-docs-article .ndg-path::before{left:-5px}
.nd-docs .nd-docs-article .ndg-path::after{right:-5px}
.nd-docs .nd-docs-article .ndg-path-kicker{font:500 11.5px/1 var(--nd-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--nd-muted)!important}
.nd-docs .nd-docs-article .ndg-path-progress span{border-radius:0!important;background:var(--nd2-line-2)!important}
.nd-docs .nd-docs-article .ndg-path-progress span.is-done{background:#f39c12!important}
.nd-docs .nd-docs-article .ndg-path ol li[aria-current]{color:var(--nd-ink);font-weight:600}
.nd-docs .nd-docs-article .ndg-path a{color:var(--nd-ink)!important;text-decoration-color:var(--nd2-line-2)!important}
.nd-docs .nd-docs-article .ndg-path a:hover{color:#ee6b12!important;text-decoration-color:currentColor!important}
:root[data-theme=dark] .nd-docs .nd-docs-article .ndg-card-link{background:var(--nd-white)!important}
:root[data-theme=dark] .nd-docs .nd-docs-article .ndg-card-link:hover{background:var(--nd2-sunk)!important}
.nd-docs .nd-docs-article .ndg-path ol{border-radius:0!important;border:1px solid var(--nd-line)!important;background:var(--nd-white)!important;box-shadow:none!important;padding:0!important}
.nd-docs .nd-docs-article .ndg-path ol li{border-radius:0!important;margin:0!important;border-top:1px solid var(--nd-line)}
.nd-docs .nd-docs-article .ndg-path ol li:first-child{border-top:0}
.nd-docs .nd-docs-article .ndg-path ol li::before{border-radius:4px!important}
.nd-docs .nd-docs-article .ndg-path ol li[aria-current]{background:var(--nd2-sunk)!important;box-shadow:inset 2px 0 0 #ee6b12}
.nd-docs .nd-docs-article .ndg-path ol li[aria-current]::after{font-family:var(--nd-mono)!important;color:var(--nd-muted)!important}
.nd-docs .nd-docs-article .ndg-path ol a,.nd-docs .nd-docs-article .ndg-path-nav a{text-decoration:none!important;font-weight:500!important}
.nd-docs .nd-docs-article .ndg-path ol a:hover,.nd-docs .nd-docs-article .ndg-path-nav a:hover{text-decoration:underline!important;text-underline-offset:4px}

/* =====================================================================
   App look on the site (matches app.ndovuseolabs.com): neutral fields with
   4px corners and a blue focus ring, one ruled FAQ, square product panels
   with compact status pills, and step numbers without stray connectors.
   ===================================================================== */
/* Fields */
main :is(input:is([type=text],[type=email],[type=url],[type=search],[type=tel],[type=number],[type=password],:not([type])),select,textarea):not(.nd-start-form input):not([data-nd-search-input]){
  min-height:42px;padding:0 12px;border:1px solid var(--nd2-line-2)!important;border-radius:4px!important;background:var(--nd2-surface)!important;color:var(--nd-ink)!important;
  font:400 15px/1.4 var(--nd-font)!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
main textarea:not([data-nd-search-input]){min-height:110px;padding:10px 12px!important;line-height:1.55!important}
main select{padding-right:34px!important}
main :is(input,select,textarea)::placeholder{color:var(--nd2-ink-3)!important;opacity:1}
main :is(input,select,textarea):not(.nd-start-form input):hover{border-color:var(--nd-muted)!important}
main :is(input,select,textarea):not(.nd-start-form input):focus,main :is(input,select,textarea):not(.nd-start-form input):focus-visible{outline:none!important;border-color:#0254e3!important;box-shadow:0 0 0 3px rgba(2,84,227,.18)!important}
:root[data-theme=dark] main :is(input,select,textarea):not(.nd-start-form input):focus{border-color:#2f6df6!important;box-shadow:0 0 0 3px rgba(47,109,246,.28)!important}
main label:not(.screen-reader-text):not(.nd-docs-filter label){font-weight:500}
main :is(input[type=checkbox],input[type=radio]){accent-color:#0254e3}
.nd-docs-filter input{border-radius:4px!important}

/* FAQ: one ruled list everywhere (the 1.x Q/A cards take the 2.0 look) */
.nd-faq-section .nd-faq{max-width:880px;margin:0 auto!important;padding:0!important;background:none!important;border:0!important;border-top:1px solid var(--nd-line)!important;border-radius:0!important}
.nd-faq-section .nd-faq:last-of-type{border-bottom:1px solid var(--nd-line)!important}
.nd-faq-section .nd-faq summary{display:grid!important;grid-template-columns:1fr 24px;gap:16px;padding:20px 2px!important;font:500 17px/1.4 var(--nd-display)!important;letter-spacing:-.01em;color:var(--nd-ink)!important}
.nd-faq-section .nd-faq summary::before{display:none!important}
.nd-faq-section .nd-faq summary::after{content:"+"!important;position:static!important;width:auto!important;height:auto!important;border:0!important;transform:none!important;font:400 22px/1 var(--nd-font);color:var(--nd2-ink-3);text-align:right;transition:rotate .2s}
.nd-faq-section .nd-faq[open] summary::after{rotate:45deg}
.nd-faq-section .nd-faq p{margin:0!important;padding:0 40px 22px 2px!important;max-width:72ch;color:var(--nd-muted)!important;font-size:16px;line-height:1.65}
.nd-faq-section .nd-faq p::before{display:none!important}
.nd-faq-section .nd-faq summary:hover{color:var(--nd-ink)!important}
.nd-faq-section .nd-faq summary:hover::after{color:var(--nd-ink)}

/* Product panels (1.x feature visual): square, hairlines, compact status pills */
.nd-fv{border-radius:0!important;box-shadow:none!important;border-color:var(--nd-line)!important;position:relative;overflow:visible!important}
.nd-fv::before,.nd-fv::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px;z-index:2}
.nd-fv::before{left:-5px}.nd-fv::after{right:-5px}
.nd-feature-hero .nd-fv::before,.nd-feature-hero .nd-fv::after{background:var(--nd-night,#0a0a0a);border-color:#333}
.nd-fv-bar{background:var(--nd2-sunk)}
.nd-fv-dots i{border-radius:1px!important;width:8px!important;height:8px!important}
.nd-fv-list li,.nd-fv-bars li{border-radius:0!important;border-top:1px solid var(--nd-line)}
.nd-fv-list li:first-child,.nd-fv-bars li:first-child{border-top:0}
.nd-fv-badge{min-width:0!important;padding:3px 9px!important;font:500 11.5px/1.2 var(--nd-font)!important}
.nd-fv-kpis div{border-radius:0!important}
.nd-fv-chart,.nd-fv-tip{border-radius:0!important}
.nd-fv-note{border-radius:4px!important}

/* Steps (1.x cards): numbers as outlined squares, no connector dashes between ruled cells */
.nd-steps .nd-card::after{display:none!important}
.nd-steps .nd-card .nd-card-icon{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;display:inline-grid!important;place-items:center;border-radius:4px!important;border:1px dashed var(--amber,#f39c12)!important;background:transparent!important;color:var(--nd-ink)!important;font:500 13px/1 var(--nd-mono)!important;box-shadow:none!important}

/* FAQ: one layout sitewide, the feature-page one. Eyebrow and title on the left, the ruled list on the right, on the sunken band. */
.nd-main .nd-faq-section:has(> .nd-section-inner){--frame-bg:var(--bg-sunk)!important}
.nd-faq-section>.nd-section-inner{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);column-gap:clamp(32px,5vw,56px);align-items:start}
.nd-faq-section .nd-section-heading{grid-column:1;grid-row:1/span 99;margin:0!important;max-width:none!important;text-align:left!important;display:grid;gap:14px;justify-items:start}
.nd-faq-section .nd-section-heading .nd-eyebrow{justify-content:flex-start!important;margin:0!important}
.nd-faq-section .nd-section-heading h2{margin:0!important;font-size:var(--t-h2,clamp(1.9rem,3.4vw,2.85rem))!important;text-align:left!important}
.nd-faq-section .nd-section-heading>p:not(.nd-eyebrow){display:none!important}
.nd-faq-section .nd-faq{grid-column:2;max-width:none!important;margin:0!important}
.nd-faq-section .nd-faq:first-of-type{border-top:1px solid var(--nd-line)!important}
@media(max-width:900px){.nd-faq-section>.nd-section-inner{grid-template-columns:minmax(0,1fr)}.nd-faq-section .nd-section-heading{grid-row:auto;margin-bottom:24px!important}.nd-faq-section .nd-faq{grid-column:1}}

/* Stat cells under 1.x heroes keep their padding inside the frame. */
.nd-main .nd-stats .nd-stat{padding:24px clamp(20px,2.4vw,32px)!important}
/* Legacy CTA bands follow the square ember cards. */
.nd-cta-band{border-radius:0!important}

/* Sticky bars sit under the sticky header (and under the WordPress admin bar when it shows). */
.nd2 .subnav{top:var(--nd2-header-h,64px)!important}
.admin-bar .nd2 .subnav{top:calc(var(--nd2-header-h,64px) + 32px)!important}
@media(max-width:782px){.admin-bar .nd2 .subnav{top:calc(var(--nd2-header-h,64px) + 46px)!important}}
@media(max-width:600px){.admin-bar .nd2 .subnav{top:var(--nd2-header-h,58px)!important}}
.nd-cl-month h3{top:var(--nd2-header-h,64px)!important}
.admin-bar .nd-cl-month h3{top:calc(var(--nd2-header-h,64px) + 32px)!important}
/* One "Start free trial" at a time: section bars never repeat the header's button. */
.nd2 .subnav .btn,.nd2 .subnav .co-subnav-cta{display:none!important}

/* Button hovers keep their colours in dark mode too. */
.nd2 .btn.btn--primary:hover,.nd-button-primary:hover,.nd-header-actions .nd-button-primary:hover,.nd-foot2-btn.is-primary:hover{background:#f7ae3a!important;border-color:#f7ae3a!important;color:#171717!important}
:root[data-theme=dark] .nd2 .btn.btn--ghost:hover,:root[data-theme=dark] .nd-signin:hover,:root[data-theme=dark] .nd-foot2-btn:not(.is-primary):hover{background:rgba(255,255,255,.06)!important;border-color:#ededed!important;color:#fff!important}
:root[data-theme=dark] .nd2 .btn.btn--ink:hover{background:#fff!important;color:#000!important;opacity:1}

/* Signed in to the app (theme.js): "Dashboard" replaces "Sign in", and the trial buttons step aside. */
.nd-signed-in [data-nd-account="trial"]{display:none!important}
/* Sticky section bar: the page title stays on one line, and phones show just the section links. */
.nd2 .subnav b{white-space:nowrap}
@media(max-width:700px){.nd2 .subnav b{display:none}}
