:root {
    --bhseo-bg: #f6f7f9;
    --bhseo-card: #ffffff;
    --bhseo-border: #dcdcde;
    --bhseo-text: #1d2327;
    --bhseo-muted: #646970;
    --bhseo-accent: #2271b1;
    --bhseo-good: #14804a;
    --bhseo-good-bg: #edf8f2;
    --bhseo-warn: #996800;
    --bhseo-warn-bg: #fff8e5;
    --bhseo-bad: #b32d2e;
    --bhseo-bad-bg: #fff1f1;
}

#bhseo_panel .inside { margin: 0; padding: 0; }
#bhseo_panel { border: 0; background: transparent; box-shadow: none; }
#bhseo_panel .postbox-header { border: 1px solid var(--bhseo-border); border-radius: 10px 10px 0 0; background: #fff; }

.bhseo-wrap { color: var(--bhseo-text); font-size: 14px; }
.bhseo-wrap *, .bhseo-settings-page * { box-sizing: border-box; }

.bhseo-hero {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 24px;
    align-items: center;
    padding: 26px;
    background: linear-gradient(135deg, #ffffff 0%, #f3f7fb 100%);
    border: 1px solid var(--bhseo-border);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    margin-bottom: 18px;
}

.bhseo-score {
    width: 104px;
    height: 104px;
    border-radius: 50%;
    border: 8px solid var(--bhseo-border);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    transition: border-color .2s ease, background .2s ease;
}
.bhseo-score.is-good { border-color: var(--bhseo-good); background: var(--bhseo-good-bg); }
.bhseo-score.is-ok { border-color: #dba617; background: var(--bhseo-warn-bg); }
.bhseo-score.is-bad { border-color: var(--bhseo-bad); background: var(--bhseo-bad-bg); }
.bhseo-score-number { font-size: 32px; font-weight: 750; line-height: 1; }
.bhseo-score-label { font-size: 11px; color: var(--bhseo-muted); margin-top: 5px; text-transform: uppercase; letter-spacing: .04em; }
.bhseo-hero h3 { margin: 0 0 6px; font-size: 20px; }
.bhseo-hero p { color: var(--bhseo-muted); margin: 0; max-width: 820px; line-height: 1.55; }
.bhseo-summary { margin-top: 10px; }

.bhseo-grid { display: grid; gap: 18px; }
.bhseo-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.bhseo-section,
.bhseo-settings-card {
    background: var(--bhseo-card);
    border: 1px solid var(--bhseo-border);
    border-radius: 12px;
    padding: 22px;
    margin-bottom: 18px;
}
.bhseo-section h4,
.bhseo-settings-card h2 { margin: 0 0 14px; }
.bhseo-section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.bhseo-section-heading p,
.bhseo-settings-card > p { color: var(--bhseo-muted); margin-top: -6px; }

.bhseo-field { margin-bottom: 20px; }
.bhseo-field:last-child { margin-bottom: 0; }
.bhseo-field label { display: block; font-weight: 650; margin-bottom: 7px; }
.bhseo-field input[type="text"],
.bhseo-field input[type="url"],
.bhseo-field textarea,
.bhseo-field select {
    width: 100%;
    max-width: none;
    border: 1px solid #8c8f94;
    border-radius: 7px;
    min-height: 42px;
    padding: 9px 11px;
    background: #fff;
}
.bhseo-field textarea { min-height: 96px; resize: vertical; }
.bhseo-field input:focus,
.bhseo-field textarea:focus,
.bhseo-field select:focus { border-color: var(--bhseo-accent); box-shadow: 0 0 0 1px var(--bhseo-accent); }
.bhseo-field .description { color: var(--bhseo-muted); margin: 7px 0 0; }
.bhseo-label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bhseo-counter { font-size: 12px; background: #f0f0f1; color: var(--bhseo-muted); padding: 3px 8px; border-radius: 999px; }
.bhseo-counter.is-good { background: var(--bhseo-good-bg); color: var(--bhseo-good); }
.bhseo-counter.is-warning { background: var(--bhseo-warn-bg); color: var(--bhseo-warn); }

.bhseo-google-preview {
    max-width: 700px;
    padding: 18px 20px;
    border: 1px solid #dadce0;
    border-radius: 12px;
    font-family: Arial, sans-serif;
    background: #fff;
}
.bhseo-preview-origin { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.bhseo-preview-origin > div { min-width: 0; }
.bhseo-favicon { width: 28px; height: 28px; border-radius: 50%; object-fit: contain; background: #f1f3f4; }
.bhseo-favicon-placeholder { display: inline-block; }
.bhseo-site-name, .bhseo-preview-url { display: block; }
.bhseo-site-name { font-size: 14px; color: #202124; }
.bhseo-preview-url { font-size: 12px; color: #4d5156; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 610px; }
.bhseo-preview-title { color: #1a0dab; font-size: 20px; line-height: 1.3; margin: 3px 0 4px; }
.bhseo-preview-desc { color: #4d5156; font-size: 14px; line-height: 1.5; }

.bhseo-checks { display: grid; gap: 8px; }
.bhseo-check {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    gap: 9px;
    align-items: center;
    padding: 9px 10px;
    border-radius: 7px;
    background: var(--bhseo-bg);
    border: 1px solid transparent;
}
.bhseo-check strong { color: var(--bhseo-muted); font-size: 12px; }
.bhseo-dot { width: 10px; height: 10px; border-radius: 50%; background: #a7aaad; }
.bhseo-check.is-good { background: var(--bhseo-good-bg); border-color: #b8e0ca; }
.bhseo-check.is-good .bhseo-dot { background: var(--bhseo-good); }
.bhseo-check.is-bad { background: var(--bhseo-bad-bg); border-color: #f0c2c2; }
.bhseo-check.is-bad .bhseo-dot { background: var(--bhseo-bad); }
.bhseo-check.is-neutral { background: #f6f7f7; color: var(--bhseo-muted); }

.bhseo-tips { margin-top: 14px; padding: 14px; border-left: 4px solid var(--bhseo-accent); background: #f0f6fc; border-radius: 6px; }
.bhseo-tips ul { margin: 8px 0 0 18px; }
.bhseo-tips li { margin-bottom: 5px; }

.bhseo-advanced { background: #fff; border: 1px solid var(--bhseo-border); border-radius: 12px; margin-bottom: 18px; overflow: hidden; }
.bhseo-advanced summary { cursor: pointer; font-weight: 650; padding: 16px 20px; background: #f6f7f7; }
.bhseo-advanced-body { padding: 22px; }
.bhseo-checkbox-group { display: flex; flex-wrap: wrap; gap: 20px; margin: 8px 0 20px; }
.bhseo-checkbox-group label, .bhseo-toggle { display: block; margin: 10px 0; }
.bhseo-media-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }

.bhseo-list-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 12px;
    border: 1px solid transparent;
}
.bhseo-list-score--good { background: var(--bhseo-good-bg); color: var(--bhseo-good); border-color: #b8e0ca; }
.bhseo-list-score--ok { background: var(--bhseo-warn-bg); color: var(--bhseo-warn); border-color: #ead59a; }
.bhseo-list-score--bad { background: var(--bhseo-bad-bg); color: var(--bhseo-bad); border-color: #f0c2c2; }

.bhseo-settings-page { max-width: 1180px; }
.bhseo-settings-header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin: 20px 0; }
.bhseo-settings-header h1 { margin-bottom: 5px; }
.bhseo-settings-header p { margin: 0; color: var(--bhseo-muted); }
.bhseo-version { padding: 5px 9px; border-radius: 999px; background: #e8f0f8; color: #185a8d; font-weight: 650; }
.bhseo-health-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.bhseo-health-card { display: flex; gap: 11px; align-items: flex-start; background: #fff; border: 1px solid var(--bhseo-border); border-radius: 10px; padding: 15px; }
.bhseo-health-card p { margin: 4px 0 0; color: var(--bhseo-muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.bhseo-health-icon { width: 12px; height: 12px; border-radius: 50%; margin-top: 3px; flex: 0 0 12px; }
.bhseo-health-card.is-good .bhseo-health-icon { background: var(--bhseo-good); }
.bhseo-health-card.is-warning .bhseo-health-icon { background: #dba617; }

@media (max-width: 1100px) {
    .bhseo-grid-2, .bhseo-health-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
    .bhseo-hero { grid-template-columns: 1fr; }
    .bhseo-score { width: 88px; height: 88px; }
    .bhseo-grid-2, .bhseo-health-grid { grid-template-columns: 1fr; }
    .bhseo-media-row { grid-template-columns: 1fr; }
}

/* SEO Pro 3.1.1 - detailed analysis */

.bhseo-score.is-loading { border-color: #a7aaad !important; background: #f6f7f7; }
.bhseo-score.is-loading .bhseo-score-number { color: #646970 !important; }
.bhseo-score.is-loading .bhseo-score-label { color: #787c82; }

.bhseo-check-groups { display: grid; gap: 8px; }
.bhseo-check-groups > h5 { margin: 14px 0 2px; padding: 0 2px 7px; border-bottom: 1px solid #e6e7e9; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--bhseo-muted); }
.bhseo-check-groups > h5:first-child { margin-top: 0; }
.bhseo-check { display: block; padding: 0; overflow: hidden; }
.bhseo-check-toggle { appearance: none; list-style: none; width: 100%; border: 0; background: transparent; display: grid; grid-template-columns: 12px minmax(0,1fr) auto auto 16px; gap: 9px; align-items: center; padding: 10px 11px; cursor: pointer; text-align: left; color: inherit; }
.bhseo-check-toggle::-webkit-details-marker { display: none; }
.bhseo-check-toggle::marker { content: ""; }
.bhseo-check-toggle:hover { background: rgba(0,0,0,.025); }
.bhseo-check-label { font-weight: 600; }
.bhseo-check-status { padding: 2px 7px; border-radius: 999px; font-size: 10px; font-weight: 700; background: #e7e8ea; color: var(--bhseo-muted); }
.bhseo-check.is-good .bhseo-check-status { background: #d9f1e4; color: var(--bhseo-good); }
.bhseo-check.is-bad .bhseo-check-status { background: #f8dada; color: var(--bhseo-bad); }
.bhseo-check strong { min-width: 20px; text-align: center; }
.bhseo-chevron { font-size: 16px; transition: transform .18s ease; }
.bhseo-check[open] .bhseo-chevron { transform: rotate(180deg); }
.bhseo-check[open] .bhseo-check-toggle { background: rgba(0,0,0,.025); }
.bhseo-check-help { padding: 0 13px 12px 32px; border-top: 1px solid rgba(0,0,0,.05); }
.bhseo-check-help p { margin: 9px 0 0; line-height: 1.55; font-size: 12px; }
.bhseo-check-help strong { color: var(--bhseo-text); }
.bhseo-action { color: #3c434a; }

.bhseo-tips { padding: 18px; }
.bhseo-tips-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin-bottom: 12px; }
.bhseo-tips-title strong { font-size: 15px; }
.bhseo-tips-title span { color: var(--bhseo-muted); font-size: 12px; }
.bhseo-priority-list { display: grid; gap: 10px; }
.bhseo-priority { background: #fff; border: 1px solid #d9e3ed; border-radius: 8px; padding: 12px 14px; }
.bhseo-priority-head { display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; }
.bhseo-priority-head > span { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #e8f0f8; color: #185a8d; font-weight: 700; font-size: 11px; }
.bhseo-priority-head em { font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 3px 7px; border-radius: 999px; background: #f0f0f1; color: var(--bhseo-muted); }
.bhseo-priority--alta .bhseo-priority-head em { background: var(--bhseo-bad-bg); color: var(--bhseo-bad); }
.bhseo-priority--média .bhseo-priority-head em { background: var(--bhseo-warn-bg); color: var(--bhseo-warn); }
.bhseo-priority p { margin: 8px 0 0; font-size: 12px; line-height: 1.55; color: #50575e; }

.bhseo-advanced summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.bhseo-advanced summary small { font-size: 11px; font-weight: 500; color: var(--bhseo-muted); }
.bhseo-advanced[open] summary { border-bottom: 1px solid var(--bhseo-border); }

.bhseo-glossary { margin-top: 18px; }
.bhseo-glossary-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.bhseo-glossary-grid article { padding: 15px; border: 1px solid #e1e3e5; border-radius: 9px; background: #fbfbfc; }
.bhseo-glossary-grid h5 { margin: 0 0 7px; font-size: 13px; color: var(--bhseo-text); }
.bhseo-glossary-grid p { margin: 0; font-size: 12px; line-height: 1.62; color: #50575e; }
.bhseo-glossary-grid code { font-size: 11px; }

.bhseo-field input[type="number"] { width: 100%; max-width: none; border: 1px solid #8c8f94; border-radius: 7px; min-height: 42px; padding: 9px 11px; background: #fff; }
.bhseo-settings-intro { border-left: 4px solid var(--bhseo-accent); }
.bhseo-settings-intro p:last-child { margin-bottom: 0; }

/* WPBakery frontend integration */
.bhseo-builder-launch { position: fixed; top: 64px; right: 22px; bottom: auto; z-index: 2147483000; border: 0; border-radius: 999px; padding: 11px 15px; background: #1d2327; color: #fff; font: 600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow: 0 8px 30px rgba(0,0,0,.22); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.bhseo-builder-launch:hover, .bhseo-builder-launch:focus { background: #2271b1; color: #fff; }
.bhseo-builder-launch:focus-visible { outline: 3px solid rgba(34,113,177,.35); outline-offset: 2px; }
.bhseo-builder-launch span { display: inline-flex; min-width: 24px; height: 24px; align-items: center; justify-content: center; margin-left: 6px; padding: 0 5px; border-radius: 999px; background: #fff; color: #1d2327; font-size: 11px; }
.bhseo-builder-panel { position: fixed; top: 0; right: 0; z-index: 2147483001; width: min(420px, 94vw); height: 100vh; transform: translateX(105%); transition: transform .22s ease; background: #f6f7f9; box-shadow: -12px 0 45px rgba(0,0,0,.22); font: 13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #1d2327; display: grid; grid-template-rows: auto 1fr auto; }
.bhseo-builder-panel.is-open { transform: translateX(0); }
.bhseo-builder-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #dcdcde; background: #fff; }
.bhseo-builder-header strong, .bhseo-builder-header small { display: block; }
.bhseo-builder-header strong { font-size: 16px; }
.bhseo-builder-header small { margin-top: 2px; color: #646970; }
.bhseo-builder-header button { border: 0; background: transparent; font-size: 26px; line-height: 1; cursor: pointer; color: #50575e; }
.bhseo-builder-scroll { overflow: auto; padding: 18px; }
.bhseo-builder-note { padding: 11px 12px; margin: 0 0 14px; border-left: 4px solid #2271b1; border-radius: 5px; background: #f0f6fc; }
.bhseo-builder-panel label:not(.bhseo-builder-check) { display: block; margin-bottom: 14px; font-weight: 600; }
.bhseo-builder-panel input[type="text"], .bhseo-builder-panel input[type="url"], .bhseo-builder-panel textarea, .bhseo-builder-panel select { display: block; width: 100%; margin-top: 5px; padding: 9px 10px; border: 1px solid #8c8f94; border-radius: 6px; background: #fff; color: #1d2327; font: inherit; box-sizing: border-box; }
.bhseo-builder-check { display: block; margin: 10px 0; font-weight: 600; }
.bhseo-builder-panel details { margin: 16px 0; border-top: 1px solid #dcdcde; border-bottom: 1px solid #dcdcde; padding: 12px 0; }
.bhseo-builder-panel details summary { cursor: pointer; font-weight: 700; }
.bhseo-builder-panel details[open] summary { margin-bottom: 12px; }
.bhseo-builder-footer { padding: 13px 18px; border-top: 1px solid #dcdcde; background: #fff; }
.bhseo-builder-footer .button { width: 100%; min-height: 38px; }
.bhseo-builder-message { margin-top: 12px; padding: 9px 10px; border-radius: 6px; display: none; }
.bhseo-builder-message.is-success { display: block; background: var(--bhseo-good-bg); color: var(--bhseo-good); }
.bhseo-builder-message.is-error { display: block; background: var(--bhseo-bad-bg); color: var(--bhseo-bad); }

@media (max-width: 782px) {
    .bhseo-builder-launch { top: 58px; right: 12px; }
    .bhseo-glossary-grid { grid-template-columns: 1fr; }
    .bhseo-check-toggle { grid-template-columns: 12px minmax(0,1fr) auto 16px; }
    .bhseo-check-toggle strong { display: none; }
    .bhseo-check-status { font-size: 9px; }
    .bhseo-priority-head { grid-template-columns: 24px 1fr; }
    .bhseo-priority-head em { grid-column: 2; justify-self: start; }
    .bhseo-advanced summary { align-items: flex-start; flex-direction: column; }
}
.bhseo-integration-status { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.bhseo-integration-status span { padding: 5px 9px; border-radius: 999px; background: #f0f0f1; color: #646970; font-size: 11px; font-weight: 700; }
.bhseo-integration-status span.is-active { background: var(--bhseo-good-bg); color: var(--bhseo-good); }
.bhseo-builder-footer .button { border: 1px solid #2271b1; border-radius: 5px; background: #2271b1; color: #fff; font-weight: 600; cursor: pointer; }
.bhseo-builder-footer .button:disabled { opacity: .6; cursor: default; }

/* SEO Pro 3.2 - advanced schema, FAQ, direct answer and AI settings */
.bhseo-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bhseo-inline-notice { margin: 0 0 18px !important; }
.bhseo-field input[type="email"],
.bhseo-field input[type="number"] {
    width: 100%;
    max-width: none;
    border: 1px solid #8c8f94;
    border-radius: 7px;
    min-height: 42px;
    padding: 9px 11px;
    background: #fff;
}

#bhseo-faq-list { display: grid; gap: 12px; margin-bottom: 12px; }
.bhseo-faq-row {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr) auto;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border: 1px solid #dcdcde;
    border-radius: 9px;
    background: #fbfbfc;
}
.bhseo-faq-row input,
.bhseo-faq-row textarea {
    width: 100%;
    min-height: 40px;
    border: 1px solid #8c8f94;
    border-radius: 6px;
    padding: 8px 10px;
}
.bhseo-faq-row textarea { min-height: 72px; resize: vertical; }
.bhseo-remove-faq { margin-top: 1px !important; }
.bhseo-answer-editor code,
.bhseo-settings-card code { word-break: break-word; }

.bhseo-ai-checklist {
    margin-top: 16px;
    padding: 15px 17px;
    border: 1px solid #cfe0ee;
    border-radius: 9px;
    background: #f5f9fc;
}
.bhseo-ai-checklist strong { display: block; margin-bottom: 7px; }
.bhseo-ai-checklist ul { margin: 0 0 0 19px; }
.bhseo-ai-checklist li { margin: 5px 0; line-height: 1.45; }

/* Public semantic blocks. Loaded only when the current page uses them. */
.seo-pro-direct-answer,
.seo-pro-faq {
    margin: 1.5em 0;
    padding: 1.2em 1.35em;
    border: 1px solid #e1e5e9;
    border-radius: 10px;
    background: #fafbfc;
}
.seo-pro-direct-answer > :first-child,
.seo-pro-faq > :first-child { margin-top: 0; }
.seo-pro-direct-answer > :last-child,
.seo-pro-faq > :last-child { margin-bottom: 0; }
.seo-pro-direct-answer table { width: 100%; border-collapse: collapse; }
.seo-pro-direct-answer th,
.seo-pro-direct-answer td { padding: .6em .75em; border: 1px solid #e1e5e9; text-align: left; vertical-align: top; }
.seo-pro-faq-list { display: grid; gap: .6em; }
.seo-pro-faq-item { padding: 0; border: 1px solid #e1e5e9; border-radius: 8px; background: #fff; overflow: hidden; }
.seo-pro-faq-item:first-of-type { border-top: 1px solid #e1e5e9; }
.seo-pro-faq-item summary { cursor: pointer; font-weight: 650; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .95em 1em; }
.seo-pro-faq-item summary::-webkit-details-marker { display: none; }
.seo-pro-faq-item summary::marker { content: ''; }
.seo-pro-faq-toggle { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.seo-pro-faq-toggle::before,
.seo-pro-faq-toggle::after { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); transition: transform .18s ease, opacity .18s ease; }
.seo-pro-faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.seo-pro-faq-item[open] .seo-pro-faq-toggle::after { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
.seo-pro-faq-answer { padding: 0 1em 1em; border-top: 1px solid #eef1f3; }
.seo-pro-faq-answer > :first-child { margin-top: .85em; }
.seo-pro-faq-answer > :last-child { margin-bottom: 0; }

@media (max-width: 960px) {
    .bhseo-grid-3 { grid-template-columns: 1fr; }
    .bhseo-faq-row { grid-template-columns: 1fr; }
    .bhseo-remove-faq { justify-self: start; }
}

/* SEO Pro 3.3.0 - dashboard, editor organization, GEO audit and key points */
:root {
    --bhseo-blue-50: #f2f7fc;
    --bhseo-blue-100: #e5f0fa;
    --bhseo-blue-200: #c9def1;
    --bhseo-blue-500: #2271b1;
    --bhseo-blue-600: #185f97;
    --bhseo-blue-700: #124d7c;
    --bhseo-soft-shadow: 0 8px 24px rgba(20, 50, 80, .06);
}

.bhseo-settings-page { max-width: 1240px; padding-bottom: 78px; }
.bhseo-settings-header { padding: 4px 0 2px; align-items: center; }
.bhseo-settings-header h1 { font-size: 26px; line-height: 1.2; }
.bhseo-settings-header p { font-size: 13px; }
.bhseo-version { background: var(--bhseo-blue-100); color: var(--bhseo-blue-700); border: 1px solid var(--bhseo-blue-200); }

.bhseo-settings-tabs,
.bhseo-editor-tabs {
    display: flex;
    gap: 6px;
    align-items: center;
    overflow-x: auto;
    padding: 7px;
    margin: 16px 0 18px;
    border: 1px solid #d8e2ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--bhseo-soft-shadow);
    scrollbar-width: thin;
}
.bhseo-settings-tabs button,
.bhseo-editor-tabs button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 13px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #43505c;
    font-weight: 650;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.bhseo-settings-tabs button:hover,
.bhseo-editor-tabs button:hover { background: var(--bhseo-blue-50); color: var(--bhseo-blue-700); }
.bhseo-settings-tabs button.is-active,
.bhseo-editor-tabs button.is-active { background: var(--bhseo-blue-500); color: #fff; box-shadow: 0 5px 14px rgba(34,113,177,.2); }
.bhseo-settings-tabs .dashicons { width: 17px; height: 17px; font-size: 17px; }

.bhseo-tabs-ready .bhseo-settings-panel,
.bhseo-editor-tabs-ready .bhseo-editor-panel { display: none; }
.bhseo-tabs-ready .bhseo-settings-panel.is-active,
.bhseo-editor-tabs-ready .bhseo-editor-panel.is-active { display: block; animation: bhseoPanelIn .18s ease both; }
@keyframes bhseoPanelIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

.bhseo-dashboard-welcome {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: center;
    padding: 20px 22px;
    margin-bottom: 15px;
    color: #fff;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--bhseo-blue-700), var(--bhseo-blue-500));
    box-shadow: 0 10px 28px rgba(18,77,124,.18);
}
.bhseo-dashboard-welcome > div:first-child { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 11px; background: rgba(255,255,255,.14); }
.bhseo-dashboard-welcome .dashicons { font-size: 27px; width: 27px; height: 27px; }
.bhseo-dashboard-welcome h2 { color: #fff; margin: 0 0 5px; font-size: 19px; }
.bhseo-dashboard-welcome p { margin: 0; color: rgba(255,255,255,.88); line-height: 1.55; }

.bhseo-dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
.bhseo-dashboard-metrics article { display: flex; gap: 11px; align-items: center; min-height: 82px; padding: 14px 15px; background: #fff; border: 1px solid #dce4eb; border-radius: 11px; box-shadow: var(--bhseo-soft-shadow); }
.bhseo-dashboard-metrics .dashicons { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--bhseo-blue-50); color: var(--bhseo-blue-600); font-size: 19px; line-height: 34px; }
.bhseo-dashboard-metrics strong, .bhseo-dashboard-metrics small { display: block; }
.bhseo-dashboard-metrics strong { color: #1d3448; font-size: 20px; line-height: 1.1; }
.bhseo-dashboard-metrics small { margin-top: 4px; color: #65717b; line-height: 1.35; }

.bhseo-settings-card { box-shadow: var(--bhseo-soft-shadow); border-color: #dce4eb; }
.bhseo-card-heading { display: flex; gap: 12px; align-items: flex-start; margin: -22px -22px 20px; padding: 16px 20px; border-bottom: 1px solid #dce4eb; border-radius: 12px 12px 0 0; background: linear-gradient(180deg, #f8fbfe, #f2f7fb); }
.bhseo-card-heading > .dashicons { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 32px; border-radius: 8px; background: #fff; color: var(--bhseo-blue-600); border: 1px solid var(--bhseo-blue-200); font-size: 17px; line-height: 32px; }
.bhseo-card-heading h2 { margin: 0 0 3px; font-size: 16px; color: #17344d; }
.bhseo-card-heading p { margin: 0; color: #64727e; font-size: 12px; line-height: 1.45; }
.bhseo-token-help { padding: 10px 12px; border-radius: 8px; background: #f7f8fa; color: #5b6570; }
.bhseo-token-help code { margin-right: 5px; }
.bhseo-context-note { margin: 0 0 16px; padding: 11px 13px; border: 1px solid #d5e3ef; border-left: 4px solid var(--bhseo-blue-500); border-radius: 8px; background: #f6f9fc; color: #4c5b68; line-height: 1.5; }
.bhseo-audit-summary { align-self: stretch; display: flex; flex-direction: column; justify-content: center; min-height: 92px; padding: 15px; border: 1px solid #d4e2ee; border-radius: 9px; background: var(--bhseo-blue-50); }
.bhseo-audit-summary strong { font-size: 18px; color: var(--bhseo-blue-700); }
.bhseo-audit-summary span { margin-top: 4px; color: #5e6c78; }

.bhseo-save-bar { position: sticky; bottom: 12px; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 11px 14px; border: 1px solid #cbdce9; border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 10px 30px rgba(25,58,84,.14); backdrop-filter: blur(8px); }
.bhseo-save-bar span { color: #64717d; font-size: 12px; }
.bhseo-save-bar .button-primary { min-height: 38px; padding-inline: 18px; border-color: var(--bhseo-blue-600); background: var(--bhseo-blue-600); }

/* Editor organization */
.bhseo-editor-tabs { margin: 0 0 18px; position: sticky; top: 32px; z-index: 9; }
.bhseo-editor-panel { margin-bottom: 0; }
.bhseo-section--blue { border-color: #cfdeeb; box-shadow: var(--bhseo-soft-shadow); }
.bhseo-section--blue > .bhseo-section-heading,
.bhseo-section--geo > .bhseo-section-heading,
.bhseo-section--neutral > .bhseo-section-heading,
.bhseo-section--audit > .bhseo-section-heading { margin: -22px -22px 20px; padding: 15px 20px; border-bottom: 1px solid #dce4eb; border-radius: 12px 12px 0 0; }
.bhseo-section--blue > .bhseo-section-heading { background: var(--bhseo-blue-50); }
.bhseo-section--geo > .bhseo-section-heading { background: #eef6fb; }
.bhseo-section--neutral > .bhseo-section-heading { background: #f5f5f6; }
.bhseo-section--audit > .bhseo-section-heading { background: #f8f9fa; }
.bhseo-section-heading h4 { color: #20384c; }
.bhseo-grid-analysis { grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); align-items: start; }
.bhseo-preview-note { margin-top: 8px !important; }
.bhseo-subsection { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e1e6ea; }
.bhseo-subsection h5 { margin: 0 0 14px; font-size: 13px; color: #2f4d64; }
.bhseo-button-secondary { margin-bottom: 8px !important; }

.bhseo-geo-score { display: inline-flex; align-items: baseline; gap: 2px; min-width: 68px; justify-content: center; padding: 8px 10px; border-radius: 9px; background: #fff; border: 1px solid #c9ddec; color: var(--bhseo-blue-700); }
.bhseo-geo-score strong { font-size: 22px; line-height: 1; }
.bhseo-geo-score span { font-size: 10px; color: #6b7780; }
.bhseo-geo-checks { display: grid; gap: 8px; }
.bhseo-geo-check { display: grid; grid-template-columns: 12px 1fr; gap: 10px; align-items: start; padding: 10px 11px; border: 1px solid #e0e5e9; border-radius: 8px; background: #fafbfc; }
.bhseo-geo-check .bhseo-geo-icon { width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; background: #a7aaad; }
.bhseo-geo-check strong, .bhseo-geo-check small { display: block; }
.bhseo-geo-check strong { font-size: 12px; color: #334a5d; }
.bhseo-geo-check small { margin-top: 3px; color: #68747e; line-height: 1.4; }
.bhseo-geo-check.is-good { border-color: #c7e1d3; background: #f5fbf8; }
.bhseo-geo-check.is-good .bhseo-geo-icon { background: var(--bhseo-good); }
.bhseo-geo-check.is-bad { border-color: #ead8bd; background: #fffaf1; }
.bhseo-geo-check.is-bad .bhseo-geo-icon { background: #c98317; }
.bhseo-update-audit { padding: 14px; border-radius: 9px; border: 1px solid #dfe5e9; background: #fafbfc; }
.bhseo-update-audit strong, .bhseo-update-audit span { display: block; }
.bhseo-update-audit span { margin-top: 4px; color: #65717b; }
.bhseo-update-audit p { margin: 9px 0 0; color: #56636d; line-height: 1.5; }
.bhseo-update-audit.is-good { border-color: #c7e1d3; background: #f5fbf8; }
.bhseo-update-audit.is-warning { border-color: #ead8bd; background: #fffaf1; }

.bhseo-key-points-list { display: grid; gap: 8px; margin: 0 0 10px; }
.bhseo-key-point-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 8px 9px; border: 1px solid #d6e2eb; border-radius: 8px; background: #fbfdff; }
.bhseo-key-point-row .dashicons { color: var(--bhseo-blue-500); font-size: 18px; }
.bhseo-key-point-row input { width: 100%; min-height: 38px; border: 1px solid #8c8f94; border-radius: 6px; padding: 7px 9px; }

/* Neutral public FAQ: intentionally independent from brand/site colors. */
.seo-pro-faq {
    color: inherit;
    margin: 1.7em 0;
    padding: 1.25em;
    border: 1px solid #d7d9dc;
    border-radius: 12px;
    background: #f7f7f8;
    box-shadow: 0 6px 22px rgba(20,20,25,.045);
}
.seo-pro-faq > h2 { margin: 0 0 .9em; color: inherit; font-size: 1.35em; line-height: 1.3; }
.seo-pro-faq-list { gap: .65em; }
.seo-pro-faq-item { border: 1px solid #d9dbde; border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.025); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.seo-pro-faq-item:hover { border-color: #c4c7cb; box-shadow: 0 3px 10px rgba(0,0,0,.045); }
.seo-pro-faq-item[open] { background: #fcfcfc; border-color: #c8cbd0; }
.seo-pro-faq-item summary { color: #3d4146; padding: 1em 1.05em; transition: background .18s ease, color .18s ease; }
.seo-pro-faq-item summary:hover { background: #f5f5f6; }
.seo-pro-faq-item[open] summary { background: #f1f2f3; }
.seo-pro-faq-toggle { color: #696e74; transition: transform .22s ease; }
.seo-pro-faq-item[open] .seo-pro-faq-toggle { transform: rotate(180deg); }
.seo-pro-faq-answer { color: #52565b; padding: 0 1.05em 1.05em; border-top: 1px solid #e8e9eb; animation: bhseoFaqReveal .24s ease both; transform-origin: top; }
@keyframes bhseoFaqReveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .seo-pro-faq-answer, .seo-pro-faq-toggle, .seo-pro-faq-item { animation: none !important; transition: none !important; } }

/* Key points public block */
.seo-pro-key-points { margin: 1.5em 0; padding: 1.15em 1.3em; border: 1px solid #dfe3e6; border-radius: 10px; background: #f8f9fa; color: inherit; }
.seo-pro-key-points > h2 { margin: 0 0 .7em; font-size: 1.25em; color: inherit; }
.seo-pro-key-points ul { margin: 0; padding-left: 1.25em; }
.seo-pro-key-points li { margin: .42em 0; line-height: 1.5; }

@media (max-width: 1100px) {
    .bhseo-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bhseo-grid-analysis { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
    .bhseo-settings-tabs, .bhseo-editor-tabs { margin-inline: 0; }
    .bhseo-editor-tabs { top: 46px; }
    .bhseo-dashboard-welcome { grid-template-columns: 1fr; }
    .bhseo-dashboard-metrics { grid-template-columns: 1fr; }
    .bhseo-save-bar { bottom: 6px; align-items: stretch; flex-direction: column; }
    .bhseo-save-bar .button-primary { width: 100%; }
    .bhseo-key-point-row { grid-template-columns: 22px 1fr; }
    .bhseo-key-point-row .button-link-delete { grid-column: 2; justify-self: start; }
}

/* SEO Pro 3.4.0 - internal linking and technical audit */
.bhseo-dashboard-metrics { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.bhseo-section--links { border-color: #cfdeeb; box-shadow: var(--bhseo-soft-shadow); }
.bhseo-section--links > .bhseo-section-heading {
    margin: -22px -22px 18px;
    padding: 15px 20px;
    border-bottom: 1px solid #dce4eb;
    border-radius: 12px 12px 0 0;
    background: linear-gradient(180deg, #f5f9fc, #eef5fa);
}
.bhseo-section--links > .bhseo-section-heading .button { flex: 0 0 auto; margin-top: 1px; }
.bhseo-link-suggestions { display: grid; gap: 9px; transition: opacity .15s ease; }
.bhseo-link-suggestions.is-loading { opacity: .55; pointer-events: none; }
.bhseo-link-suggestion {
    padding: 11px 12px;
    border: 1px solid #dce4eb;
    border-radius: 9px;
    background: #fff;
}
.bhseo-link-suggestion-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 6px; color: #6a7680; font-size: 10px; text-transform: uppercase; letter-spacing: .035em; }
.bhseo-link-relevance { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 999px; background: var(--bhseo-blue-50); color: var(--bhseo-blue-700); font-weight: 700; text-transform: none; letter-spacing: 0; }
.bhseo-link-suggestion > strong { display: block; color: #243d52; font-size: 13px; line-height: 1.35; }
.bhseo-link-suggestion > p { margin: 5px 0 9px; color: #66737e; font-size: 11px; line-height: 1.45; }
.bhseo-link-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.bhseo-link-actions .button { min-height: 27px; line-height: 25px; }
.bhseo-empty-state { padding: 12px 13px; border: 1px dashed #ccd7df; border-radius: 8px; background: #fafcfd; color: #65727d; line-height: 1.5; }

.bhseo-technical-audit-intro { border-left: 4px solid var(--bhseo-blue-500); }
.bhseo-technical-summary { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; padding: 13px 15px; border: 1px solid #d5e3ef; border-radius: 9px; background: var(--bhseo-blue-50); }
.bhseo-technical-summary strong { color: var(--bhseo-blue-700); font-size: 17px; }
.bhseo-technical-summary span { color: #5f6d78; }
.bhseo-technical-audit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 14px 0 18px; }
.bhseo-technical-audit-item { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 15px; border: 1px solid #dce3e8; border-radius: 11px; background: #fff; box-shadow: 0 5px 16px rgba(20,50,80,.04); }
.bhseo-technical-audit-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #f1f4f6; color: #6a7680; }
.bhseo-technical-audit-icon .dashicons { width: 18px; height: 18px; font-size: 18px; line-height: 18px; }
.bhseo-technical-audit-item h3 { margin: 0 0 5px; color: #263f53; font-size: 14px; }
.bhseo-technical-audit-item p { margin: 0; color: #65717b; line-height: 1.5; }
.bhseo-audit-action { margin-top: 9px; padding-top: 8px; border-top: 1px solid #eef1f3; color: #556570; font-size: 11px; line-height: 1.45; }
.bhseo-technical-audit-item.is-good { border-color: #c9e2d5; background: #fbfefc; }
.bhseo-technical-audit-item.is-good .bhseo-technical-audit-icon { background: #eaf7f0; color: #1f8c54; }
.bhseo-technical-audit-item.is-warning { border-color: #ead8bd; background: #fffdf8; }
.bhseo-technical-audit-item.is-warning .bhseo-technical-audit-icon { background: #fff4df; color: #a86c11; }
.bhseo-technical-audit-item.is-bad { border-color: #edc7c7; background: #fffafa; }
.bhseo-technical-audit-item.is-bad .bhseo-technical-audit-icon { background: #fdecec; color: #b43535; }
.bhseo-technical-audit-item.is-info { border-color: #cddfec; background: #fbfdff; }
.bhseo-technical-audit-item.is-info .bhseo-technical-audit-icon { background: var(--bhseo-blue-50); color: var(--bhseo-blue-600); }

@media (max-width: 980px) {
    .bhseo-technical-audit-grid { grid-template-columns: 1fr; }
}

/* Sitemap XML — SEO Pro 3.5 */
.bhseo-sitemap-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.bhseo-sitemap-status-grid article {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #dfe4ea;
    border-radius: 12px;
    background: #f8fafc;
    min-width: 0;
}

.bhseo-sitemap-status-grid article > .dashicons {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #e8f2fb;
    color: #2271b1;
    font-size: 18px;
}

.bhseo-sitemap-status-grid article.is-good > .dashicons {
    background: #edf8f2;
    color: #14804a;
}

.bhseo-sitemap-status-grid article.is-warning > .dashicons {
    background: #fff8e5;
    color: #996800;
}

.bhseo-sitemap-status-grid small {
    display: block;
    margin-bottom: 5px;
    color: #646970;
    font-size: 12px;
}

.bhseo-sitemap-status-grid strong {
    display: block;
    color: #1d2327;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.bhseo-sitemap-status-grid strong a {
    color: #135e96;
    text-decoration: none;
}

.bhseo-sitemap-status-grid strong a:hover {
    text-decoration: underline;
}

.bhseo-sitemap-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 12px;
}

.bhseo-sitemap-actions .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bhseo-sitemap-actions .dashicons {
    width: 17px;
    height: 17px;
    font-size: 17px;
}

.bhseo-sitemap-error {
    border-left-color: #b32d2e !important;
    background: #fff5f5 !important;
}

.bhseo-steps {
    margin: 12px 0 0 22px;
}

.bhseo-steps li {
    margin: 0 0 9px;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .bhseo-sitemap-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .bhseo-sitemap-status-grid {
        grid-template-columns: 1fr;
    }
}


/* SEO Pro 3.5.1 - compact dashboard tabs, sitemap guidance and score context */
.bhseo-settings-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
    scrollbar-width: none;
}
.bhseo-settings-tabs::-webkit-scrollbar { display: none; }
.bhseo-settings-tabs button {
    flex: 1 1 104px;
    justify-content: center;
    min-width: 0;
    padding-inline: 10px;
    white-space: nowrap;
}
.bhseo-score-disclaimer {
    display: inline-block;
    margin: 8px 0 2px;
    padding: 8px 11px;
    border: 1px solid #d6e4ef;
    border-radius: 8px;
    background: #f5f9fc;
    color: #4c5a66;
    font-size: 12px;
    line-height: 1.45;
}
.bhseo-score-disclaimer strong { color: #1d5f8f; }
.bhseo-permission-help {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    margin: 16px 0;
    padding: 15px 16px;
    border: 1px solid #e0c889;
    border-left: 4px solid #b98a16;
    border-radius: 10px;
    background: #fffaf0;
    color: #4b4330;
}
.bhseo-permission-help__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: #f6e6b5;
    color: #775d13;
}
.bhseo-permission-help__icon .dashicons { width: 20px; height: 20px; font-size: 20px; }
.bhseo-permission-help strong { display: block; margin-bottom: 5px; color: #4b3a0a; font-size: 14px; }
.bhseo-permission-help p { margin: 0 0 9px; line-height: 1.55; }
.bhseo-permission-help ol { margin: 0 0 0 20px; }
.bhseo-permission-help li { margin: 5px 0; line-height: 1.5; }
.bhseo-permission-help code { word-break: break-all; background: rgba(255,255,255,.7); }
@media (max-width: 900px) {
    .bhseo-settings-tabs button { flex: 1 1 calc(33.333% - 8px); }
}
@media (max-width: 600px) {
    .bhseo-settings-tabs button { flex: 1 1 calc(50% - 8px); }
    .bhseo-permission-help { grid-template-columns: 1fr; }
}
