﻿.kmsm-seo-shortcode-wrapper {
    width: 100%;
    margin: 0 auto;
}

.kmsm-seo-shortcode-wrapper #kmsm-seo-tool {
    margin-left: auto;
    margin-right: auto;
}

#kmsm-seo-tool .km-seo-domain-next-wrap {
    display: flex;
    align-items: flex-end;
    padding-bottom: 19px;
}
/* =========================================================
   KOSTIMEDIA SEO CHECK TOOL
   Scope: #kmsm-seo-tool
   ========================================================= */

#kmsm-seo-tool {
    --km-orange: #ff9418;
    --km-orange-dark: #e97d00;
    --km-orange-soft: #fff5e9;
    --km-dark: #303033;
    --km-text: #303033;
    --km-muted: #6b7280;
    --km-border: #e3e7ec;
    --km-bg: #f7f9fb;
    --km-green: #259b58;
    --km-green-soft: #edf9f1;
    --km-red: #c43d3d;
    --km-red-soft: #fff0f0;
    --km-yellow: #b97800;
    --km-yellow-soft: #fff8e8;
    --km-blue: #2676c7;
    --km-blue-soft: #eef6ff;

    width: 100%;
    max-width: 1260px;
    margin: 0 auto;
    padding: 54px 22px 80px;
    color: var(--km-text);
    font-family: inherit;
    box-sizing: border-box;
}

#kmsm-seo-tool *,
#kmsm-seo-tool *::before,
#kmsm-seo-tool *::after {
    box-sizing: border-box;
}

#kmsm-seo-tool [hidden] {
    display: none !important;
}

/* ---------- HERO ---------- */

#kmsm-seo-tool .km-seo-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: var(--km-orange-dark);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-eyebrow::before {
    content: "";
    width: 26px;
    height: 3px;
    border-radius: 3px;
    background: var(--km-orange);
}

/* ---------- GENERAL CARDS ---------- */

#kmsm-seo-tool .km-seo-card {
    background: #fff;
    border: 1px solid var(--km-border);
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(20, 30, 45, .07);
}

#kmsm-seo-tool .km-seo-start-card {
    max-width: 920px;
    margin: 0 auto;
    padding: 32px;
    position: relative;
    overflow: hidden;
}

#kmsm-seo-tool .km-seo-start-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: var(--km-orange);
}

#kmsm-seo-tool .km-seo-step-label {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--km-orange-dark);
    text-transform: uppercase;
    letter-spacing: .06em;
}

#kmsm-seo-tool .km-seo-step-number {
    width: 28px;
    height: 28px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 28px;
    border-radius: 50%;
    background: var(--km-orange);
    color: #fff;
    font-size: 13px;
}

#kmsm-seo-tool .km-seo-start-card h2 {
    margin: 0 0 7px;
    font-family: Outfit, inherit;
    color: var(--km-dark);
    font-size: 26px;
    line-height: 1.25;
}

#kmsm-seo-tool .km-seo-help {
    margin: 0 0 20px;
    color: var(--km-muted);
    font-size: 15px;
}

/* ---------- FORM ---------- */

#kmsm-seo-tool .km-seo-field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: stretch;
}

#kmsm-seo-tool .km-seo-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 15px;
}

#kmsm-seo-tool .km-seo-field {
    min-width: 0;
}

#kmsm-seo-tool .km-seo-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--km-dark);
    font-size: 14px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-optional {
    font-weight: 400;
    color: var(--km-muted);
}

#kmsm-seo-tool .km-seo-input {
    width: 100%;
    min-height: 56px;
    border: 1px solid #ccd4dc;
    border-radius: 9px;
    background: #fff;
    color: var(--km-text);
    font: inherit;
    font-size: 16px;
    padding: 13px 16px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#kmsm-seo-tool .km-seo-input:focus {
    border-color: var(--km-orange);
    box-shadow: 0 0 0 4px rgba(255, 148, 24, .13);
}

#kmsm-seo-tool .km-seo-input[aria-invalid="true"] {
    border-color: var(--km-red);
    box-shadow: 0 0 0 4px rgba(196, 61, 61, .08);
}

#kmsm-seo-tool .km-seo-button {
    appearance: none;
    border: 0;
    border-radius: 9px;
    min-height: 56px;
    padding: 14px 25px;
    background: var(--km-orange);
    color: #fff;
    font-family: Outfit, inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .15s ease, background .2s ease,
                opacity .2s ease;
}

#kmsm-seo-tool .km-seo-button:hover {
    background: var(--km-orange-dark);
    transform: translateY(-1px);
}

#kmsm-seo-tool .km-seo-button:disabled {
    cursor: default;
    opacity: .55;
    transform: none;
}

#kmsm-seo-tool .km-seo-button--dark {
    background: var(--km-dark);
}

#kmsm-seo-tool .km-seo-button--dark:hover {
    background: #18181a;
}

#kmsm-seo-tool .km-seo-validation {
    min-height: 19px;
    margin-top: 6px;
    color: var(--km-red);
    font-size: 13px;
}

#kmsm-seo-tool .km-seo-domain-confirmed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
    padding: 13px 15px;
    border-radius: 9px;
    background: var(--km-green-soft);
    border: 1px solid #cbead6;
}

#kmsm-seo-tool .km-seo-domain-confirmed strong {
    color: var(--km-green);
}

#kmsm-seo-tool .km-seo-domain-change {
    border: 0;
    background: transparent;
    color: var(--km-dark);
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
}

#kmsm-seo-tool .km-seo-contact-step {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid var(--km-border);
    animation: kmSeoReveal .35s ease both;
}

#kmsm-seo-tool .km-seo-submit-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
}

#kmsm-seo-tool .km-seo-privacy {
    max-width: 570px;
    color: var(--km-muted);
    font-size: 12px;
    line-height: 1.5;
}

@keyframes kmSeoReveal {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* ---------- MESSAGE / ERROR ---------- */

#kmsm-seo-tool .km-seo-message {
    max-width: 920px;
    margin: 18px auto 0;
    padding: 14px 18px;
    border-radius: 9px;
    font-size: 14px;
}

#kmsm-seo-tool .km-seo-message--error {
    color: #8f2020;
    background: var(--km-red-soft);
    border: 1px solid #efc8c8;
}

#kmsm-seo-tool .km-seo-message--info {
    color: #25567f;
    background: var(--km-blue-soft);
    border: 1px solid #c9def1;
}

/* ---------- PROGRESS ---------- */

#kmsm-seo-tool .km-seo-progress {
    max-width: 920px;
    margin: 24px auto 0;
    padding: 27px 30px;
    animation: kmSeoReveal .35s ease both;
}

#kmsm-seo-tool .km-seo-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

#kmsm-seo-tool .km-seo-progress-title {
    display: flex;
    align-items: center;
    gap: 13px;
}

#kmsm-seo-tool .km-seo-spinner {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    border: 3px solid #f0d5b5;
    border-top-color: var(--km-orange);
    animation: kmSeoSpin .8s linear infinite;
}

@keyframes kmSeoSpin {
    to { transform: rotate(360deg); }
}

#kmsm-seo-tool .km-seo-progress h3 {
    margin: 0;
    font-family: Outfit, inherit;
    font-size: 21px;
}

#kmsm-seo-tool .km-seo-progress-percent {
    font-size: 18px;
    font-weight: 700;
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-progress-domain {
    margin: 7px 0 17px 41px;
    color: var(--km-muted);
    font-size: 14px;
}

#kmsm-seo-tool .km-seo-progress-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf0f3;
}

#kmsm-seo-tool .km-seo-progress-bar {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--km-orange), #ffb04f);
    border-radius: inherit;
    transition: width .45s ease;
}

#kmsm-seo-tool .km-seo-progress-bar--indeterminate {
    width: 100% !important;
    background: linear-gradient(90deg, rgba(255, 148, 24, .18) 0%, rgba(255, 148, 24, .55) 45%, rgba(255, 148, 24, .18) 100%);
    background-size: 220% 100%;
    animation: kmSeoProgressIndeterminate 1.45s ease-in-out infinite;
}

@keyframes kmSeoProgressIndeterminate {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

#kmsm-seo-tool .km-seo-progress-stage {
    margin-top: 11px;
    color: var(--km-muted);
    font-size: 13px;
}

/* ---------- RESULTS ---------- */

#kmsm-seo-tool .km-seo-results {
    margin-top: 38px;
    animation: kmSeoReveal .45s ease both;
}

#kmsm-seo-tool .km-seo-result-head {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 24px;
    padding: 28px;
    margin-bottom: 28px;
}

#kmsm-seo-tool .km-seo-score {
    min-height: 158px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 13px;
    background: var(--km-orange-soft);
    border: 1px solid #ffd7a7;
}

#kmsm-seo-tool .km-seo-score-value {
    color: var(--km-orange-dark);
    font-family: Outfit, inherit;
    font-size: 52px;
    line-height: 1;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-score-label {
    margin-top: 7px;
    color: var(--km-muted);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

#kmsm-seo-tool .km-seo-summary h2 {
    margin: 0 0 8px;
    font-family: Outfit, inherit;
    font-size: 30px;
}

#kmsm-seo-tool .km-seo-summary-domain {
    color: var(--km-orange-dark);
    font-size: 17px;
    font-weight: 700;
    word-break: break-word;
}

#kmsm-seo-tool .km-seo-summary-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

#kmsm-seo-tool .km-seo-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f3f5f7;
    color: #4e5864;
    font-size: 12px;
    font-weight: 600;
}

/* ---------- SECTION HEAD ---------- */

#kmsm-seo-tool .km-seo-section {
    margin-top: 37px;
}

#kmsm-seo-tool .km-seo-section-heading {
    margin-bottom: 18px;
}

#kmsm-seo-tool .km-seo-section-kicker {
    color: var(--km-orange-dark);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}

#kmsm-seo-tool .km-seo-section-heading h2 {
    margin: 5px 0 5px;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: clamp(26px, 3vw, 36px);
}

#kmsm-seo-tool .km-seo-section-heading p {
    margin: 0;
    color: var(--km-muted);
    font-size: 15px;
}

/* ---------- AI ---------- */

#kmsm-seo-tool .km-seo-ai-shell {
    padding: 8px 0;
}

#kmsm-seo-tool .km-seo-ai-card {
    position: relative;
    margin-bottom: 16px;
    padding: 25px 27px 25px 31px;
    background: #fff;
    border: 1px solid var(--km-border);
    border-radius: 13px;
    box-shadow: 0 4px 18px rgba(20, 30, 45, .05);
    overflow: hidden;
}

#kmsm-seo-tool .km-seo-ai-card--overflow {
    transition: opacity .16s ease;
}

#kmsm-seo-tool .km-seo-ai-card--hidden {
    display: none;
}

#kmsm-seo-tool .km-seo-ai-toggle-wrap {
    display: flex;
    justify-content: center;
    margin: 6px 0 14px;
}

#kmsm-seo-tool .km-seo-ai-toggle {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid #f0c089;
    border-radius: 999px;
    background: #fffaf4;
    color: #7a4a14;
    font-family: Outfit, inherit;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .005em;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

#kmsm-seo-tool .km-seo-ai-toggle:hover {
    border-color: #e79c42;
    background: #fff5ea;
}

#kmsm-seo-tool .km-seo-ai-toggle:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(255, 148, 24, .17);
}

#kmsm-seo-tool .km-seo-ai-toggle-label {
    display: inline-block;
}

#kmsm-seo-tool .km-seo-ai-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-ai-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--km-orange);
}

#kmsm-seo-tool .km-seo-ai-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 14px;
}

#kmsm-seo-tool .km-seo-ai-number {
    display: inline-block;
    margin-bottom: 5px;
    color: var(--km-orange-dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-ai-card h3 {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 20px;
    line-height: 1.35;
}

#kmsm-seo-tool .km-seo-ai-confidence {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--km-orange-soft);
    color: var(--km-orange-dark);
    font-size: 11px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-ai-text {
    min-height: 1em;
    color: #414851;
    line-height: 1.68;
}

#kmsm-seo-tool .km-seo-ai-block {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf0f2;
}

#kmsm-seo-tool .km-seo-ai-block strong {
    display: block;
    margin-bottom: 5px;
    color: var(--km-dark);
    font-size: 13px;
}

#kmsm-seo-tool .km-seo-typing-cursor::after {
    content: "▋";
    margin-left: 2px;
    color: var(--km-orange);
    animation: kmSeoBlink .8s infinite;
}

@keyframes kmSeoBlink {
    50% { opacity: 0; }
}

/* ---------- CATEGORY SCORES ---------- */

#kmsm-seo-tool .km-seo-category-scores {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

#kmsm-seo-tool .km-seo-category-score {
    padding: 16px;
    border-radius: 10px;
    border: 1px solid var(--km-border);
    background: #fff;
}

#kmsm-seo-tool .km-seo-category-score-name {
    color: var(--km-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

#kmsm-seo-tool .km-seo-category-score-value {
    margin-top: 4px;
    font-family: Outfit, inherit;
    font-size: 25px;
    font-weight: 700;
}

/* ---------- CATEGORY ---------- */

#kmsm-seo-tool .km-seo-category {
    margin: 0 0 27px;
}

#kmsm-seo-tool .km-seo-category-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0 0 12px;
    padding: 0 3px;
}

#kmsm-seo-tool .km-seo-category-title h3 {
    margin: 0;
    font-family: Outfit, inherit;
    font-size: 24px;
}

#kmsm-seo-tool .km-seo-category-count {
    color: var(--km-muted);
    font-size: 13px;
}

/* ---------- FINDING CARD ---------- */

#kmsm-seo-tool .km-seo-finding {
    position: relative;
    margin-bottom: 13px;
    background: #fff;
    border: 1px solid var(--km-border);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(20, 30, 45, .035);
    overflow: hidden;
}

#kmsm-seo-tool .km-seo-finding::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #a8b0b8;
}

#kmsm-seo-tool .km-seo-finding[data-status="pass"]::before {
    background: var(--km-green);
}

#kmsm-seo-tool .km-seo-finding[data-status="warning"]::before {
    background: #e9a21b;
}

#kmsm-seo-tool .km-seo-finding[data-status="error"]::before,
#kmsm-seo-tool .km-seo-finding[data-severity="high"]::before,
#kmsm-seo-tool .km-seo-finding[data-severity="critical"]::before {
    background: var(--km-red);
}

#kmsm-seo-tool .km-seo-finding[data-status="info"]::before {
    background: var(--km-blue);
}

#kmsm-seo-tool .km-seo-finding-main {
    padding: 19px 20px 18px 22px;
}

#kmsm-seo-tool .km-seo-finding-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: start;
}

#kmsm-seo-tool .km-seo-finding h4 {
    margin: 0;
    font-family: Outfit, inherit;
    font-size: 17px;
    line-height: 1.4;
}

#kmsm-seo-tool .km-seo-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    color: var(--km-muted);
    font-size: 12px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #9ca3af;
}

#kmsm-seo-tool .km-seo-status--pass .km-seo-status-dot {
    background: var(--km-green);
}

#kmsm-seo-tool .km-seo-status--warning .km-seo-status-dot {
    background: #e9a21b;
}

#kmsm-seo-tool .km-seo-status--error .km-seo-status-dot {
    background: var(--km-red);
}

#kmsm-seo-tool .km-seo-status--info .km-seo-status-dot {
    background: var(--km-blue);
}

#kmsm-seo-tool .km-seo-finding-message {
    margin-top: 10px;
    color: #4f5862;
    font-size: 14px;
    line-height: 1.55;
}

#kmsm-seo-tool .km-seo-finding-rec {
    margin-top: 11px;
    padding: 11px 13px;
    border-radius: 6px;
    background: #f8fafb;
    color: #36404a;
    font-size: 13px;
    line-height: 1.5;
}

#kmsm-seo-tool .km-seo-finding-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 13px;
}

#kmsm-seo-tool .km-seo-finding-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

#kmsm-seo-tool .km-seo-mini-chip {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f2f4f6;
    color: #69727d;
    font-size: 11px;
}

#kmsm-seo-tool .km-seo-more {
    appearance: none;
    border: 1px solid #ccd4dc;
    border-radius: 5px;
    background: #fff;
    padding: 7px 11px;
    color: var(--km-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

#kmsm-seo-tool .km-seo-more:hover {
    border-color: var(--km-orange);
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-more-panel {
    padding: 15px 20px 17px 22px;
    background: #fafbfc;
    border-top: 1px solid var(--km-border);
    color: var(--km-muted);
    font-size: 13px;
    line-height: 1.6;
}

/* ---------- EMPTY / RETRY ---------- */

#kmsm-seo-tool .km-seo-empty {
    padding: 22px;
    border: 1px dashed #ccd4dc;
    border-radius: 10px;
    color: var(--km-muted);
    text-align: center;
}

/* ---------- MOBILE ---------- */

@media (max-width: 860px) {
    #kmsm-seo-tool {
        padding: 38px 16px 60px;
    }

    #kmsm-seo-tool .km-seo-start-card {
        padding: 25px 20px;
    }

    #kmsm-seo-tool .km-seo-contact-grid,
    #kmsm-seo-tool .km-seo-result-head {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-category-scores {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #kmsm-seo-tool .km-seo-submit-wrap {
        align-items: stretch;
        flex-direction: column;
    }

    #kmsm-seo-tool .km-seo-button {
        width: 100%;
    }
}

@media (max-width: 600px) {
#kmsm-seo-tool .km-seo-field-row {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-contact-grid,
    #kmsm-seo-tool .km-seo-category-scores {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-finding-head {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #kmsm-seo-tool .km-seo-ai-head {
        flex-direction: column;
        gap: 8px;
    }

    #kmsm-seo-tool .km-seo-result-head {
        padding: 20px;
    }

    #kmsm-seo-tool .km-seo-ai-toggle-wrap {
        justify-content: stretch;
    }

    #kmsm-seo-tool .km-seo-ai-toggle {
        width: 100%;
        border-radius: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #kmsm-seo-tool *,
    #kmsm-seo-tool *::before,
    #kmsm-seo-tool *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    #kmsm-seo-tool .km-seo-progress-bar--indeterminate {
        animation: none !important;
        background-position: 0 0;
    }

    #kmsm-seo-tool .km-seo-ai-card--overflow,
    #kmsm-seo-tool .km-seo-ai-toggle {
        transition: none !important;
    }
}


/* =========================================================
   PHASE 18C – PREMIUM RESULT UI EXTENSIONS
   ========================================================= */

/* ---------- SUMMARY PREMIUM GRID ---------- */

#kmsm-seo-tool .km-seo-score-overview {
    display: block;
    padding: 24px;
    border: 1px solid #e7ecf2;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    box-shadow: 0 14px 34px rgba(22, 32, 45, .05);
}

#kmsm-seo-tool .km-seo-score-top {
    display: grid;
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}

#kmsm-seo-tool .km-seo-score-top--with-effort {
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
}

#kmsm-seo-tool .km-seo-score-top--without-effort {
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
}

#kmsm-seo-tool .km-seo-score-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 14px 12px;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    background: linear-gradient(180deg, #fffefb 0%, #ffffff 100%);
}

#kmsm-seo-tool .km-seo-score-hero-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
}

#kmsm-seo-tool .km-seo-score-donut {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

#kmsm-seo-tool .km-seo-score-donut-ring {
    display: block;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

#kmsm-seo-tool .km-seo-score-donut-track {
    fill: none;
    stroke: #f1f4f7;
    stroke-width: 12;
}

#kmsm-seo-tool .km-seo-score-donut--small .km-seo-score-donut-track {
    stroke-width: 8;
}

#kmsm-seo-tool .km-seo-score-donut-progress {
    fill: none;
    stroke-width: 12;
    stroke-linecap: round;
}

#kmsm-seo-tool .km-seo-score-donut--small .km-seo-score-donut-progress {
    stroke-width: 8;
}

#kmsm-seo-tool .km-seo-score-donut--high .km-seo-score-donut-progress {
    stroke: var(--km-green);
}

#kmsm-seo-tool .km-seo-score-donut--mid .km-seo-score-donut-progress {
    stroke: var(--km-orange);
}

#kmsm-seo-tool .km-seo-score-donut--low .km-seo-score-donut-progress {
    stroke: #e78c2f;
}

#kmsm-seo-tool .km-seo-score-donut--hero {
    width: 216px;
    height: 216px;
}

#kmsm-seo-tool .km-seo-score-donut--time {
    width: 160px;
    height: 160px;
}

#kmsm-seo-tool .km-seo-score-donut--small {
    width: 110px;
    height: 110px;
    margin: 2px auto 0;
}

#kmsm-seo-tool .km-seo-score-donut--time .km-seo-score-donut-track,
#kmsm-seo-tool .km-seo-score-donut--time .km-seo-score-donut-progress {
    stroke-width: 8;
}

#kmsm-seo-tool .km-seo-score-donut--time .km-seo-score-donut-value {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    font-size: 20px;
    letter-spacing: .01em;
}

#kmsm-seo-tool .km-seo-score-donut--time .km-seo-score-donut-max {
    font-size: 10px;
    margin-top: 4px;
    letter-spacing: .02em;
    color: #738196;
}

#kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-center {
    width: 100%;
    max-width: 100%;
    padding: 0 11px;
}

#kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-value {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    max-width: 100%;
    white-space: nowrap;
    flex-wrap: nowrap;
    font-size: clamp(13px, 1.16vw, 20px);
    line-height: 1;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

#kmsm-seo-tool .km-seo-score-donut--small.km-seo-score-donut--time {
    width: 110px;
    height: 110px;
}

#kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-track {
    stroke: #eef2f7;
}

#kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-progress {
    stroke: #9aa8bb;
}

#kmsm-seo-tool .km-seo-effort-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px 10px;
    border: 1px solid var(--km-border);
    border-radius: 12px;
    background: #fff;
}

#kmsm-seo-tool .km-seo-effort-hero-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
}

#kmsm-seo-tool .km-seo-effort-hero-subtitle {
    margin: 0;
    color: var(--km-muted);
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

#kmsm-seo-tool .km-seo-score-donut-center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

#kmsm-seo-tool .km-seo-score-donut-value {
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 46px;
    line-height: 1;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-score-donut--small .km-seo-score-donut-value {
    font-size: 24px;
}

#kmsm-seo-tool .km-seo-score-donut-max {
    margin-top: 2px;
    color: var(--km-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .03em;
}

#kmsm-seo-tool .km-seo-category-donuts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

#kmsm-seo-tool .km-seo-score-categories {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #edf2f8;
}

#kmsm-seo-tool .km-seo-score-categories-title {
    margin: 0 0 10px;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .01em;
}

#kmsm-seo-tool .km-seo-category-donut-card {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    padding: 12px 10px 10px;
    border: 1px solid #edf2f8;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    text-align: center;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 5px;
    box-shadow: 0 4px 10px rgba(16, 24, 40, .03);
}

#kmsm-seo-tool .km-seo-category-donut-label {
    margin: 0;
    color: var(--km-dark);
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .01em;
}

#kmsm-seo-tool .km-seo-category-donut-label--effort {
    font-size: 12px;
    letter-spacing: .015em;
}

#kmsm-seo-tool .km-seo-category-donut-note {
    margin: 0;
    color: #64748a;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
}

#kmsm-seo-tool .km-seo-category-donut-value {
    margin: 0;
    color: #414a54;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-effort-hours-value {
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 1em;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

#kmsm-seo-tool .km-seo-effort-hours-unit {
    color: #6f7f93;
    font-size: .72em;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;
}

#kmsm-seo-tool .km-seo-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#kmsm-seo-tool .km-seo-summary-card {
    padding: 16px 15px;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

#kmsm-seo-tool .km-seo-summary-domain-block {
    margin-bottom: 8px;
}

#kmsm-seo-tool .km-seo-summary-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 0 0 10px;
}

#kmsm-seo-tool .km-seo-summary-field {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #edf2f8;
    border-radius: 10px;
    background: #ffffff;
}

#kmsm-seo-tool .km-seo-summary-field-label {
    display: block;
    margin-bottom: 3px;
    color: var(--km-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-summary-field-value {
    display: block;
    color: var(--km-dark);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
    overflow-wrap: anywhere;
}

#kmsm-seo-tool .km-seo-summary-field--domain .km-seo-summary-field-value {
    font-family: Outfit, inherit;
    font-size: 19px;
    line-height: 1.25;
}

#kmsm-seo-tool .km-seo-summary-stats .km-seo-summary-field-value {
    font-family: Outfit, inherit;
    font-size: 22px;
    line-height: 1.1;
}

#kmsm-seo-tool .km-seo-summary-field--status,
#kmsm-seo-tool .km-seo-summary-field--scope {
    margin-top: 9px;
}

#kmsm-seo-tool .km-seo-summary-field--status .km-seo-summary-field-value::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--km-green);
    vertical-align: middle;
}

#kmsm-seo-tool .km-seo-summary-scope-detail {
    display: block;
    margin-top: 4px;
    color: var(--km-muted);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 600;
}

#kmsm-seo-tool .km-seo-result-actions {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #edf2f8;
    display: flex;
    justify-content: flex-start;
}

#kmsm-seo-tool .km-seo-restart {
    appearance: none;
    border: 1px solid #d9e3ef;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: #2e3d4f;
    font-family: Outfit, inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .01em;
    min-height: 38px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .16s ease, color .2s ease;
}

#kmsm-seo-tool .km-seo-restart:hover {
    border-color: #c9d8e8;
    color: #223244;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(24, 43, 68, .08);
}

#kmsm-seo-tool .km-seo-restart:focus-visible {
    outline: none;
    border-color: #bfcfe2;
    box-shadow: 0 0 0 3px rgba(148, 174, 205, .28);
}

#kmsm-seo-tool .km-seo-restart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ecf3fb;
    color: #425c78;
    font-size: 12px;
    line-height: 1;
}

#kmsm-seo-tool .km-seo-restart-label {
    line-height: 1;
}

#kmsm-seo-tool[data-km-seo-mode="result"] .km-seo-start-card {
    display: none !important;
}

/* ---------- ERKANNTES WEBSITE-SYSTEM ---------- */

#kmsm-seo-tool .km-seo-site-system-panel {
    margin-top: 12px;
    margin-bottom: 14px;
    padding: 16px 18px;
    border: 1px solid #f0dcc5;
    border-left: 4px solid #e58b1e;
    border-radius: 11px;
    background: linear-gradient(180deg, #fffdf9 0%, #fff7ee 100%);
}

#kmsm-seo-tool .km-seo-site-system-layout {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

#kmsm-seo-tool .km-seo-site-system-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1px solid #f3d5b2;
    background: #fff2e2;
    color: #d67e11;
}

#kmsm-seo-tool .km-seo-site-system-panel[data-platform-family="cms"] .km-seo-site-system-icon {
    background: #fff4e8;
    color: #d87808;
}

#kmsm-seo-tool .km-seo-site-system-panel[data-platform-family="commerce"] .km-seo-site-system-icon {
    background: #edf5ff;
    color: #3f72a8;
}

#kmsm-seo-tool .km-seo-site-system-panel[data-platform-family="builder"] .km-seo-site-system-icon {
    background: #eff8f2;
    color: #2f7d57;
}

#kmsm-seo-tool .km-seo-site-system-panel[data-platform-family="framework"] .km-seo-site-system-icon {
    background: #f3f2fb;
    color: #5a5f9d;
}

#kmsm-seo-tool .km-seo-site-system-icon-svg {
    width: 30px;
    height: 30px;
}

#kmsm-seo-tool .km-seo-site-system-content {
    min-width: 0;
}

#kmsm-seo-tool .km-seo-site-system-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 5px;
    color: #2c7650;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-site-system-success-icon {
    width: 14px;
    height: 14px;
    color: #2c7a52;
    flex: 0 0 auto;
}

#kmsm-seo-tool .km-seo-site-system-status-label {
    line-height: 1.05;
}

#kmsm-seo-tool .km-seo-site-system-eyebrow {
    margin: 0;
    color: #8a7d6e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-site-system-name {
    margin: 5px 0 0;
    color: #1f2a36;
    font-family: Outfit, inherit;
    font-size: 24px;
    line-height: 1.12;
    font-weight: 760;
}

#kmsm-seo-tool .km-seo-site-system-competence {
    margin: 9px 0 0;
    color: #4e5c6b;
    font-size: 12px;
    line-height: 1.56;
}

#kmsm-seo-tool .km-seo-site-system-takeover {
    margin: 8px 0 0;
    padding-left: 10px;
    border-left: 2px solid #f2b66d;
    color: #354555;
    font-size: 12px;
    line-height: 1.58;
    font-weight: 680;
}

/* ---------- BESTANDSKUNDEN-HINWEIS ---------- */

#kmsm-seo-tool .km-seo-existing-customer-panel {
    margin-top: 12px;
    margin-bottom: 14px;
    padding: 16px 18px;
    border: 1px solid #d6e8dd;
    border-left: 4px solid #6aa87f;
    border-radius: 11px;
    background: linear-gradient(180deg, #f8fdf9 0%, #f4fbf6 100%);
}

#kmsm-seo-tool .km-seo-existing-customer-title {
    margin: 0;
    color: #1f2f2a;
    font-family: Outfit, inherit;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-existing-customer-text {
    margin: 9px 0 0;
    color: #41564c;
    font-size: 13px;
    line-height: 1.52;
}

/* ---------- TECHNISCHE WEBSITE-GRUNDLAGEN ---------- */

#kmsm-seo-tool .km-seo-tech-foundations-panel {
    --km-tech-status-width: 156px;
    margin-top: 8px;
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid #e7ecf3;
    border-radius: 11px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

#kmsm-seo-tool .km-seo-tech-foundations-title {
    margin: 0 0 9px;
    color: #1f2b39;
    font-family: Outfit, inherit;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-tech-foundations-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 10px;
}

#kmsm-seo-tool .km-seo-tech-foundations-item {
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--km-tech-status-width);
    align-items: center;
    gap: 8px;
}

#kmsm-seo-tool .km-seo-tech-foundations-label {
    color: #4a596b;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 650;
    overflow-wrap: anywhere;
}

#kmsm-seo-tool .km-seo-tech-foundations-value {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: var(--km-tech-status-width);
    min-width: var(--km-tech-status-width);
    justify-self: end;
    justify-content: flex-start;
    padding: 3px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: #5e6d7e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

#kmsm-seo-tool .km-seo-tech-foundations-marker {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 1px solid #d7dfe8;
    background: #f6f9fc;
    color: #7a8797;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
}

#kmsm-seo-tool .km-seo-tech-foundations-item[data-tech-tone="positive"] .km-seo-tech-foundations-marker {
    border-color: #cde5d6;
    background: #edf8f1;
    color: #2f7a52;
}

#kmsm-seo-tool .km-seo-tech-foundations-item[data-tech-tone="negative"] .km-seo-tech-foundations-marker {
    border-color: #efcdcd;
    background: #fff1f1;
    color: #b54444;
}

#kmsm-seo-tool .km-seo-tech-foundations-item[data-tech-tone="neutral"] .km-seo-tech-foundations-marker {
    border-color: #d7dfe8;
    background: #f6f9fc;
    color: #7a8797;
}

#kmsm-seo-tool .km-seo-tech-foundations-item[data-tech-tone="positive"] .km-seo-tech-foundations-value {
    color: #2f6f4d;
}

#kmsm-seo-tool .km-seo-tech-foundations-item[data-tech-tone="negative"] .km-seo-tech-foundations-value {
    color: #9e3f3f;
}

#kmsm-seo-tool .km-seo-tech-foundations-text {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* ---------- ANALYSIERTE SEITEN ---------- */

#kmsm-seo-tool .km-seo-pages-panel {
    --km-seo-pages-col-check: 24px;
    --km-seo-pages-col-status: 72px;
    --km-seo-pages-col-measurement: 92px;
    margin-top: 10px;
    padding: 17px 18px;
    border: 1px solid #e8edf3;
    border-radius: 11px;
    background: #fbfcfe;
}

#kmsm-seo-tool .km-seo-pages-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 16px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-pages-count {
    margin-top: 3px;
    color: var(--km-muted);
    font-size: 12px;
}

#kmsm-seo-tool .km-seo-pages-table {
    width: 100%;
    margin-top: 10px;
    border-collapse: separate;
    border-spacing: 0 6px;
    table-layout: fixed;
    border: 0;
    background: transparent;
}

#kmsm-seo-tool .km-seo-pages-table,
#kmsm-seo-tool .km-seo-pages-table th,
#kmsm-seo-tool .km-seo-pages-table td {
    border: 0;
}

#kmsm-seo-tool .km-seo-pages-colgroup-check {
    width: var(--km-seo-pages-col-check);
}

#kmsm-seo-tool .km-seo-pages-colgroup-status {
    width: var(--km-seo-pages-col-status);
}

#kmsm-seo-tool .km-seo-pages-colgroup-measurement {
    width: var(--km-seo-pages-col-measurement);
}

#kmsm-seo-tool .km-seo-pages-columns,
#kmsm-seo-tool .km-seo-pages-header {
    display: table-header-group;
}

#kmsm-seo-tool .km-seo-pages-header-row {
    display: table-row;
}

#kmsm-seo-tool .km-seo-pages-col {
    padding: 0 10px 2px;
    color: #728193;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-align: left;
}

#kmsm-seo-tool .km-seo-pages-col--check {
    width: var(--km-seo-pages-col-check);
    padding-left: 0;
    padding-right: 0;
}

#kmsm-seo-tool .km-seo-pages-col--status,
#kmsm-seo-tool .km-seo-pages-col--measurement {
    text-align: center;
}

#kmsm-seo-tool .km-seo-pages-col--measurement {
    padding-right: 0;
}

#kmsm-seo-tool .km-seo-pages-list {
    display: table-row-group;
}

#kmsm-seo-tool .km-seo-pages-item,
#kmsm-seo-tool .km-seo-page-row {
    display: table-row;
}

#kmsm-seo-tool .km-seo-pages-cell {
    padding: 8px 10px;
    background: #fdfefe;
    color: #405061;
    vertical-align: middle;
}

#kmsm-seo-tool .km-seo-pages-cell--check {
    width: var(--km-seo-pages-col-check);
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

#kmsm-seo-tool .km-seo-pages-cell--url {
    text-align: left;
}

#kmsm-seo-tool .km-seo-pages-cell--status,
#kmsm-seo-tool .km-seo-pages-cell--measurement {
    text-align: center;
}

#kmsm-seo-tool .km-seo-pages-cell--measurement {
    padding-right: 0;
}

#kmsm-seo-tool .km-seo-pages-item .km-seo-pages-cell:first-child {
    border: 1px solid #e8edf3;
    border-right: 0;
    border-radius: 7px 0 0 7px;
}

#kmsm-seo-tool .km-seo-pages-item .km-seo-pages-cell:last-child {
    border: 1px solid #e8edf3;
    border-left: 0;
    border-radius: 0 7px 7px 0;
}

#kmsm-seo-tool .km-seo-pages-item .km-seo-pages-cell:not(:first-child):not(:last-child) {
    border-top: 1px solid #e8edf3;
    border-bottom: 1px solid #e8edf3;
}

#kmsm-seo-tool .km-seo-pages-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border-radius: 50%;
    background: #edf8f1;
    color: var(--km-green);
    font-size: 12px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-pages-url {
    display: block;
    color: #425160;
    font-size: 12px;
    line-height: 1.47;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#kmsm-seo-tool .km-seo-pages-status,
#kmsm-seo-tool .km-seo-pages-measurement {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 64px;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f3f6fa;
    color: #58687a;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

#kmsm-seo-tool .km-seo-pages-status[data-status-tone="success"] {
    background: #eef8f1;
    color: #2e744f;
}

#kmsm-seo-tool .km-seo-pages-status[data-status-tone="info"] {
    background: #edf4fb;
    color: #2c6297;
}

#kmsm-seo-tool .km-seo-pages-status[data-status-tone="warning"] {
    background: #fff7eb;
    color: #9d6508;
}

#kmsm-seo-tool .km-seo-pages-status[data-status-tone="error"] {
    background: #fff0f0;
    color: #aa3e3e;
}

#kmsm-seo-tool .km-seo-pages-toggle {
    appearance: none;
    margin-top: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--km-orange-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

#kmsm-seo-tool .km-seo-pages-toggle:hover {
    text-decoration: underline;
}

/* ---------- SEO SERVICE BLOCK ---------- */

#kmsm-seo-tool .km-seo-service-block {
    margin-top: 14px;
    padding: 16px 17px;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #fbfdff;
}

#kmsm-seo-tool .km-seo-service-kicker {
    margin: 0;
    color: #c46c00;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-service-heading {
    margin: 6px 0 0;
    color: #1f2b39;
    font-family: Outfit, inherit;
    font-size: 22px;
    line-height: 1.12;
    font-weight: 740;
}

#kmsm-seo-tool .km-seo-service-subline {
    margin: 8px 0 0;
    color: #556476;
    font-size: 13px;
    line-height: 1.5;
}

#kmsm-seo-tool .km-seo-service-cards {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

#kmsm-seo-tool .km-seo-service-card {
    padding: 12px 12px 11px;
    border: 1px solid #e4ebf3;
    border-radius: 10px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 6px;
}

#kmsm-seo-tool .km-seo-service-card[data-service-kind="social"] {
    background: linear-gradient(180deg, #fcfeff 0%, #f7fbff 100%);
}

#kmsm-seo-tool .km-seo-service-card[data-service-kind="fullservice"] {
    border-color: #f1cfaa;
    background: linear-gradient(180deg, #fffdf9 0%, #fff8ef 100%);
}

#kmsm-seo-tool .km-seo-service-header {
    display: grid;
    gap: 4px;
    min-width: 0;
}

#kmsm-seo-tool .km-seo-service-highlight,
#kmsm-seo-tool .km-seo-service-type {
    margin: 0;
    color: #bf6900;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-service-card[data-service-kind="fullservice"] .km-seo-service-type {
    color: #b25f00;
}

#kmsm-seo-tool .km-seo-service-head {
    display: block;
}

#kmsm-seo-tool .km-seo-service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    border: 1px solid #f3dcc1;
    background: #fff5e9;
    color: #c8730c;
}

#kmsm-seo-tool .km-seo-service-icon-svg {
    width: 22px;
    height: 22px;
}

#kmsm-seo-tool .km-seo-service-title {
    margin: 1px 0 0;
    color: #1f2b39;
    font-family: Outfit, inherit;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 710;
    white-space: normal;
    overflow-wrap: anywhere;
}

#kmsm-seo-tool .km-seo-service-description {
    margin: 1px 0 0;
    color: #556475;
    font-size: 12px;
    line-height: 1.48;
}

#kmsm-seo-tool .km-seo-service-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 3px;
}

#kmsm-seo-tool .km-seo-service-list-item {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    align-items: start;
    gap: 6px;
}

#kmsm-seo-tool .km-seo-service-list-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: #2e7a52;
}

#kmsm-seo-tool .km-seo-service-check-icon {
    width: 12px;
    height: 12px;
}

#kmsm-seo-tool .km-seo-service-list-text {
    color: #354658;
    font-size: 12px;
    line-height: 1.38;
}

#kmsm-seo-tool .km-seo-service-footer {
    margin: 1px 0 0;
    color: #647384;
    font-size: 11px;
    line-height: 1.42;
}

#kmsm-seo-tool .km-seo-service-footer--primary {
    color: #4f6073;
    font-weight: 650;
}

#kmsm-seo-tool .km-seo-service-footer--secondary,
#kmsm-seo-tool .km-seo-service-footer--optional {
    font-size: 11px;
}

#kmsm-seo-tool .km-seo-service-cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #f2b975;
    border-radius: 8px;
    background: #fff6ea;
    color: #9f5600;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

#kmsm-seo-tool .km-seo-service-cta:hover {
    border-color: #eaa65e;
    background: #fff2e3;
}

#kmsm-seo-tool .km-seo-service-cta:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(247, 164, 74, .24);
}

/* ---------- CATEGORY SCORE CARDS ---------- */

#kmsm-seo-tool #km-seo-category-scores {
    display: none;
}

#kmsm-seo-tool .km-seo-score-card {
    display: none;
}

#kmsm-seo-tool .km-seo-score-card-name {
    display: none;
}

#kmsm-seo-tool .km-seo-score-card-value {
    display: none;
}

/* ---------- AI PREMIUM STRUCTURE ---------- */

#kmsm-seo-tool .km-seo-ai-finding-card {
    position: relative;
    margin-bottom: 16px;
    padding: 24px 24px 22px 28px;
    border: 1px solid #e5ebf2;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    box-shadow: 0 10px 24px rgba(20, 30, 45, .045);
    overflow: hidden;
}

#kmsm-seo-tool .km-seo-ai-finding-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--km-orange);
}

#kmsm-seo-tool .km-seo-ai-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -.01em;
}

#kmsm-seo-tool .km-seo-ai-body {
    margin-top: 13px;
}

#kmsm-seo-tool .km-seo-ai-body--premium {
    display: grid;
    gap: 12px;
}

#kmsm-seo-tool .km-seo-ai-group {
    display: grid;
    gap: 10px;
}

#kmsm-seo-tool .km-seo-ai-group + .km-seo-ai-group,
#kmsm-seo-tool .km-seo-ai-group + .km-seo-ai-dual,
#kmsm-seo-tool .km-seo-ai-dual + .km-seo-ai-meta,
#kmsm-seo-tool .km-seo-ai-meta + .km-seo-ai-group {
    margin-top: 12px;
}

#kmsm-seo-tool .km-seo-ai-group + .km-seo-ai-dual--consulting {
    margin-top: 8px;
}

#kmsm-seo-tool .km-seo-ai-field {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid #edf1f5;
}

#kmsm-seo-tool .km-seo-ai-group .km-seo-ai-field:first-child,
#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

#kmsm-seo-tool .km-seo-ai-field-label {
    display: block;
    margin-bottom: 5px;
    color: #6f7b89;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-ai-field-value {
    color: #414851;
    font-size: 14px;
    line-height: 1.62;
    margin: 0;
}

#kmsm-seo-tool .km-seo-ai-field--primary .km-seo-ai-field-label {
    color: var(--km-dark);
    font-size: 12px;
}

#kmsm-seo-tool .km-seo-ai-field--primary .km-seo-ai-field-value {
    color: #39434d;
    font-size: 15px;
    line-height: 1.68;
}

#kmsm-seo-tool .km-seo-ai-field--secondary .km-seo-ai-field-value,
#kmsm-seo-tool .km-seo-ai-field--tertiary .km-seo-ai-field-value {
    font-size: 13px;
    line-height: 1.58;
}

#kmsm-seo-tool .km-seo-ai-dual {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

#kmsm-seo-tool .km-seo-ai-dual--consulting {
    align-items: stretch;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field {
    margin: 0;
    padding: 12px 12px 11px;
    border: 1px solid #e6ecf3;
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
    box-shadow: 0 2px 7px rgba(20, 30, 45, .03);
    height: 100%;
    display: grid;
    align-content: start;
    gap: 4px;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field:first-child,
#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field:last-child {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid transparent;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field[data-ai-label="why-kostimedia"] {
    border-color: #f0cda4;
    background: linear-gradient(180deg, #fffaf3 0%, #fffdf9 100%);
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field[data-ai-label="why-kostimedia"] .km-seo-ai-field-label {
    color: #b05d00;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field[data-ai-label="why-support"] .km-seo-ai-field-label {
    color: #c26a00;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field .km-seo-ai-field-value {
    color: #3d4853;
    font-size: 13px;
    line-height: 1.64;
    font-weight: 500;
    letter-spacing: .002em;
}

#kmsm-seo-tool .km-seo-ai-dual .km-seo-ai-field .km-seo-ai-field-label {
    letter-spacing: .07em;
}

#kmsm-seo-tool .km-seo-ai-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

#kmsm-seo-tool .km-seo-ai-meta--premium {
    align-items: stretch;
}

#kmsm-seo-tool .km-seo-ai-meta-item {
    min-width: 0;
    position: relative;
    padding: 11px 12px 10px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

#kmsm-seo-tool .km-seo-ai-meta-item::before {
    content: "";
    display: block;
    width: 18px;
    height: 3px;
    border-radius: 999px;
    margin-bottom: 8px;
    background: #d1dbe8;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="effort"]::before {
    background: #f0b16a;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="timeframe"]::before {
    background: #9db7d8;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="confidence"]::before {
    background: #8cb8a0;
}

#kmsm-seo-tool .km-seo-ai-meta-label {
    display: block;
    margin-bottom: 4px;
    color: #718094;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-ai-meta-top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 4px;
}

#kmsm-seo-tool .km-seo-ai-meta-top .km-seo-ai-meta-label {
    margin-bottom: 0;
}

#kmsm-seo-tool .km-seo-ai-meta-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-ai-meta-icon path,
#kmsm-seo-tool .km-seo-ai-meta-icon circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="effort"] .km-seo-ai-meta-icon {
    color: #d97c11;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="timeframe"] .km-seo-ai-meta-icon {
    color: #3d6e9f;
}

#kmsm-seo-tool .km-seo-ai-meta-item[data-ai-meta-kind="confidence"] .km-seo-ai-meta-icon {
    color: #2f7a52;
}

#kmsm-seo-tool .km-seo-ai-meta-value {
    display: block;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-ai-meta-hint {
    display: block;
    margin-top: 5px;
    color: #677587;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 600;
}

#kmsm-seo-tool .km-seo-ai-group--reasoning {
    gap: 9px;
}

/* ---------- TECHNISCHE BEFUNDE ---------- */

#kmsm-seo-tool .km-seo-findings-title {
    margin: 24px 0 12px;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 22px;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-findings-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 7px;
    width: min(100%, 388px);
    margin: 20px auto 14px;
    padding: 6px;
    border: 1px solid #e0e6ee;
    border-radius: 13px;
    background: linear-gradient(180deg, #fcfdff 0%, #f7fafe 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
}

#kmsm-seo-tool .km-seo-findings-tab {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100%;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #5b6777;
    font-family: Outfit, inherit;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .01em;
    padding: 10px 14px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}

#kmsm-seo-tool .km-seo-findings-tab:first-child {
    background: #fff4f4;
    border-color: #f3dddd;
    color: #8f4343;
}

#kmsm-seo-tool .km-seo-findings-tab:last-child {
    background: #f2faf4;
    border-color: #d5e8d9;
    color: #2f6f49;
}

#kmsm-seo-tool .km-seo-findings-tab:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

#kmsm-seo-tool .km-seo-findings-tab:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 148, 24, .2);
}

#kmsm-seo-tool .km-seo-findings-tab--active {
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(26, 38, 53, .08);
}

#kmsm-seo-tool .km-seo-findings-tab:first-child.km-seo-findings-tab--active {
    background: #ffe9e9;
    border-color: #efc7c7;
    color: #853737;
}

#kmsm-seo-tool .km-seo-findings-tab:last-child.km-seo-findings-tab--active {
    background: #eaf7ee;
    border-color: #c7e0cd;
    color: #255f3d;
}

#kmsm-seo-tool .km-seo-category-group {
    margin: 0 0 16px;
}

#kmsm-seo-tool .km-seo-category-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin: 0 0 11px;
    padding: 2px 3px 10px;
    border-bottom: 1px solid #ecf1f7;
}

#kmsm-seo-tool .km-seo-category-title {
    margin: 0;
    color: #26374a;
    font-family: Outfit, inherit;
    font-size: 22px;
    line-height: 1.24;
    font-weight: 700;
    letter-spacing: -.01em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#kmsm-seo-tool .km-seo-category-title::before {
    content: "";
    width: 22px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff9c2f 0%, #ffd19a 100%);
}

#kmsm-seo-tool .km-seo-category-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#kmsm-seo-tool .km-seo-category-count,
#kmsm-seo-tool .km-seo-category-score-inline {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid #e4e8ee;
    background: #fff;
    color: #5e6873;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

#kmsm-seo-tool .km-seo-category-score-inline {
    background: #fff7ed;
    border-color: #ffd8ad;
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-finding {
    margin-bottom: 10px;
    border-radius: 11px;
    border-color: #e4eaf1;
    box-shadow: 0 6px 18px rgba(20, 30, 45, .04);
}

#kmsm-seo-tool .km-seo-finding-main {
    padding: 15px 16px 14px 18px;
}

#kmsm-seo-tool .km-seo-finding-top {
    margin-bottom: 10px;
}

#kmsm-seo-tool .km-seo-finding-head {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

#kmsm-seo-tool .km-seo-finding-category,
#kmsm-seo-tool .km-seo-finding-kicker {
    display: block;
    margin-bottom: 2px;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-finding-category {
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-finding-kicker {
    color: var(--km-muted);
}

#kmsm-seo-tool .km-seo-finding-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 18px;
    line-height: 1.36;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-finding-head-meta {
    display: grid;
    justify-items: end;
    gap: 8px;
}

#kmsm-seo-tool .km-seo-finding-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
}

#kmsm-seo-tool .km-seo-finding-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #e4e9f0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color: #516072;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: none;
}

#kmsm-seo-tool .km-seo-finding-badge-icon {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
}

#kmsm-seo-tool .km-seo-finding-badge-icon path,
#kmsm-seo-tool .km-seo-finding-badge-icon circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#kmsm-seo-tool .km-seo-finding-badge-text {
    line-height: 1;
}

#kmsm-seo-tool .km-seo-finding-badge[data-badge-tone="success"] {
    border-color: #d4ead9;
    background: linear-gradient(180deg, #f8fcf9 0%, #f1f8f3 100%);
    color: #2f7a52;
}

#kmsm-seo-tool .km-seo-finding-badge[data-badge-tone="warning"] {
    border-color: #f3ddbf;
    background: linear-gradient(180deg, #fffaf2 0%, #fff6e8 100%);
    color: #a66a05;
}

#kmsm-seo-tool .km-seo-finding-badge[data-badge-tone="error"] {
    border-color: #f0d1d1;
    background: linear-gradient(180deg, #fff7f7 0%, #fff0f0 100%);
    color: #b13f3f;
}

#kmsm-seo-tool .km-seo-finding-badge[data-badge-tone="info"] {
    border-color: #cfe1f3;
    background: linear-gradient(180deg, #f6faff 0%, #eef5fd 100%);
    color: #2d679f;
}

#kmsm-seo-tool .km-seo-finding--warning .km-seo-finding-badge {
    background: var(--km-yellow-soft);
    color: var(--km-yellow);
}

#kmsm-seo-tool .km-seo-finding--info .km-seo-finding-badge {
    background: var(--km-blue-soft);
    color: var(--km-blue);
}

#kmsm-seo-tool .km-seo-finding--error .km-seo-finding-badge,
#kmsm-seo-tool .km-seo-severity--high .km-seo-finding-badge {
    background: var(--km-red-soft);
    color: var(--km-red);
}

#kmsm-seo-tool .km-seo-finding--success .km-seo-finding-badge {
    background: var(--km-green-soft);
    color: var(--km-green);
}

#kmsm-seo-tool .km-seo-finding-priority {
    min-width: 92px;
    padding: 8px 10px 8px;
    border-radius: 10px;
    border: 1px solid #e6edf4;
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
    text-align: right;
}

#kmsm-seo-tool .km-seo-finding-priority-top {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

#kmsm-seo-tool .km-seo-finding-priority-icon {
    width: 14px;
    height: 14px;
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-finding-priority-icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#kmsm-seo-tool .km-seo-finding-priority-label {
    display: block;
    color: #6e7d90;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-finding-priority-value {
    display: block;
    margin-top: 3px;
    color: #26384b;
    font-family: Outfit, inherit;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-finding-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap: 11px;
    margin-top: 10px;
}

#kmsm-seo-tool .km-seo-finding-section {
    margin-top: 8px;
}

#kmsm-seo-tool .km-seo-finding-section-label {
    display: block;
    margin: 0 0 5px;
    color: var(--km-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-finding-section-value {
    color: #46505b;
    font-size: 13px;
    line-height: 1.56;
    margin: 0;
}

#kmsm-seo-tool .km-seo-finding-stat {
    margin-top: 0;
    padding: 8px 10px;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #fcfdff;
}

#kmsm-seo-tool .km-seo-finding-stat--affected {
    text-align: right;
}

#kmsm-seo-tool .km-seo-finding-message .km-seo-finding-section-value {
    color: #434d57;
}

#kmsm-seo-tool .km-seo-finding-recommendation {
    margin-top: 9px;
    padding: 8px 11px;
    border-radius: 8px;
    border: 1px solid #ffe1bf;
    background: #fff9f1;
}

#kmsm-seo-tool .km-seo-finding-recommendation .km-seo-finding-section-label {
    color: var(--km-orange-dark);
}

#kmsm-seo-tool .km-seo-finding-recommendation .km-seo-finding-section-value {
    color: #3f4a55;
}

#kmsm-seo-tool .km-seo-url-disclosure {
    margin-top: 11px;
    padding: 10px 11px;
    border: 1px solid #e7edf4;
    border-radius: 8px;
    background: #fbfdff;
}

#kmsm-seo-tool .km-seo-url-disclosure-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#kmsm-seo-tool .km-seo-url-disclosure-title {
    margin: 0;
    color: #5f6b79;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#kmsm-seo-tool .km-seo-url-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--km-orange-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

#kmsm-seo-tool .km-seo-url-toggle:hover {
    color: #d36f00;
}

#kmsm-seo-tool .km-seo-url-toggle:focus-visible {
    outline: 2px solid rgba(255, 148, 24, .33);
    outline-offset: 2px;
    border-radius: 4px;
}

#kmsm-seo-tool .km-seo-url-toggle-chevron {
    display: inline-block;
    font-size: 11px;
    transform: translateY(-1px);
    transition: transform .2s ease;
}

#kmsm-seo-tool .km-seo-url-toggle--open .km-seo-url-toggle-chevron {
    transform: rotate(180deg);
}

#kmsm-seo-tool .km-seo-url-panel {
    margin-top: 9px;
    padding: 8px 9px;
    border-radius: 7px;
    background: #fff;
    border: 1px solid #e8edf3;
}

#kmsm-seo-tool .km-seo-url-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

#kmsm-seo-tool .km-seo-url-item {
    margin: 0;
}

#kmsm-seo-tool .km-seo-url-link {
    display: block;
    margin: 0;
    color: #2b5f96;
    font-size: 12px;
    line-height: 1.5;
    text-decoration: none;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#kmsm-seo-tool .km-seo-url-link:hover {
    color: #1f4a76;
    text-decoration: underline;
}

#kmsm-seo-tool .km-seo-url-truncated-note {
    margin: 8px 0 0;
    color: #667385;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 600;
}

#kmsm-seo-tool .km-seo-positive-panel {
    margin-top: 0;
}

#kmsm-seo-tool .km-seo-findings-title--positive {
    margin-top: 0;
}

#kmsm-seo-tool .km-seo-positive-empty {
    padding: 14px 15px;
    border: 1px solid #e5ecf3;
    border-radius: 10px;
    background: #fbfdff;
    color: #5f6d7d;
    font-size: 13px;
    line-height: 1.55;
}

#kmsm-seo-tool .km-seo-positive-group {
    margin: 0 0 15px;
}

#kmsm-seo-tool .km-seo-positive-group-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    margin: 0 0 8px;
    padding: 1px 2px;
}

#kmsm-seo-tool .km-seo-positive-group-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-positive-group-count {
    margin: 0;
    color: #5f6c7b;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid #dce8df;
    background: #f6fbf7;
    white-space: nowrap;
}

#kmsm-seo-tool .km-seo-positive-card {
    position: relative;
    margin-bottom: 10px;
    padding: 13px 14px;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 11px rgba(17, 30, 45, .035);
}

#kmsm-seo-tool .km-seo-positive-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #7db88e;
}

#kmsm-seo-tool .km-seo-positive-title {
    margin: 0;
    color: var(--km-dark);
    font-family: Outfit, inherit;
    font-size: 17px;
    line-height: 1.34;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-positive-summary {
    margin: 7px 0 0;
    color: #316a45;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
}

#kmsm-seo-tool .km-seo-positive-message {
    margin: 7px 0 0;
    color: #455363;
    font-size: 13px;
    line-height: 1.55;
}

#kmsm-seo-tool .km-seo-ai-finding-card .km-seo-url-disclosure {
    margin-top: 10px;
}

#kmsm-seo-tool .km-seo-finding-footer {
    margin-top: 11px;
}

#kmsm-seo-tool .km-seo-more {
    border: 1px solid #ffd9af;
    border-radius: 999px;
    background: #fff;
    padding: 6px 11px;
    color: var(--km-orange-dark);
    font-size: 12px;
    font-weight: 700;
    transition: color .2s ease, border-color .2s ease, transform .2s ease, background .2s ease;
}

#kmsm-seo-tool .km-seo-more:hover {
    border-color: var(--km-orange);
    background: #fff9f1;
    color: #d26f00;
    transform: translateX(1px);
}

#kmsm-seo-tool .km-seo-more:focus-visible {
    outline: 2px solid rgba(255, 148, 24, .33);
    outline-offset: 2px;
}

#kmsm-seo-tool .km-seo-more-panel {
    padding: 11px 16px 13px 18px;
    background: #fafbfc;
    border-top: 1px solid var(--km-border);
    color: #5e6873;
    font-size: 12px;
    line-height: 1.55;
    animation: kmSeoReveal .22s ease both;
}

/* ---------- MOBILE / TABLET ---------- */

@media (max-width: 980px) {
    #kmsm-seo-tool .km-seo-score-overview {
        padding: 20px;
    }

    #kmsm-seo-tool .km-seo-score-top {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-score-top--with-effort,
    #kmsm-seo-tool .km-seo-score-top--without-effort {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-category-donuts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #kmsm-seo-tool .km-seo-score-donut--hero {
        width: 198px;
        height: 198px;
    }

    #kmsm-seo-tool .km-seo-score-donut-value {
        font-size: 40px;
    }

    #kmsm-seo-tool .km-seo-summary-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #kmsm-seo-tool .km-seo-findings-tabs {
        width: min(100%, 420px);
        margin-left: auto;
        margin-right: auto;
    }

    #kmsm-seo-tool .km-seo-findings-tab {
        text-align: center;
    }

    #kmsm-seo-tool .km-seo-service-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {
    #kmsm-seo-tool .km-seo-score-overview {
        padding: 17px;
    }

#kmsm-seo-tool .km-seo-score-donut--hero {
        width: 174px;
        height: 174px;
    }

    #kmsm-seo-tool .km-seo-score-donut--time {
        width: 136px;
        height: 136px;
    }

    #kmsm-seo-tool .km-seo-score-donut-value {
        font-size: 34px;
    }

    #kmsm-seo-tool .km-seo-score-donut--time .km-seo-score-donut-value {
        font-size: 17px;
        gap: 2px;
    }

    #kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-center {
        padding: 0 10px;
    }

    #kmsm-seo-tool .km-seo-score-donut--time.km-seo-score-donut--effort .km-seo-score-donut-value {
        font-size: 15px;
    }

    #kmsm-seo-tool .km-seo-category-donuts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #kmsm-seo-tool .km-seo-score-categories-title {
        font-size: 15px;
    }

    #kmsm-seo-tool .km-seo-summary-stats {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-findings-tabs {
        width: 100%;
        max-width: 100%;
    }

    #kmsm-seo-tool .km-seo-findings-tab {
        min-height: 42px;
        font-size: 13px;
    }

    #kmsm-seo-tool .km-seo-site-system-panel {
        margin-top: 10px;
        margin-bottom: 13px;
        padding: 13px 14px;
        border-left-width: 3px;
    }

    #kmsm-seo-tool .km-seo-site-system-layout {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    #kmsm-seo-tool .km-seo-site-system-icon {
        width: 30px;
        height: 30px;
    }

    #kmsm-seo-tool .km-seo-site-system-icon-svg {
        width: 28px;
        height: 28px;
    }

    #kmsm-seo-tool .km-seo-site-system-status {
        font-size: 10px;
        letter-spacing: .045em;
        white-space: nowrap;
    }

    #kmsm-seo-tool .km-seo-site-system-name {
        font-size: 21px;
    }

    #kmsm-seo-tool .km-seo-site-system-competence,
    #kmsm-seo-tool .km-seo-site-system-takeover {
        font-size: 12px;
        line-height: 1.56;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    #kmsm-seo-tool .km-seo-site-system-takeover {
        padding-left: 9px;
    }

    #kmsm-seo-tool .km-seo-existing-customer-panel {
        margin-top: 10px;
        margin-bottom: 13px;
        padding: 13px 14px;
        border-left-width: 3px;
    }

    #kmsm-seo-tool .km-seo-existing-customer-title {
        font-size: 19px;
    }

    #kmsm-seo-tool .km-seo-existing-customer-text {
        font-size: 12px;
        line-height: 1.5;
    }

    #kmsm-seo-tool .km-seo-tech-foundations-panel {
        --km-tech-status-width: 148px;
        margin-top: 7px;
        margin-bottom: 11px;
        padding: 12px 13px;
    }

    #kmsm-seo-tool .km-seo-tech-foundations-title {
        margin-bottom: 8px;
        font-size: 15px;
    }

    #kmsm-seo-tool .km-seo-tech-foundations-grid {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    #kmsm-seo-tool .km-seo-tech-foundations-item {
        padding: 8px 9px;
    }

    #kmsm-seo-tool .km-seo-tech-foundations-value {
        width: var(--km-tech-status-width);
        min-width: var(--km-tech-status-width);
        max-width: 100%;
    }

    #kmsm-seo-tool .km-seo-service-block {
        margin-top: 12px;
        padding: 14px;
    }

    #kmsm-seo-tool .km-seo-service-heading {
        font-size: 19px;
    }

    #kmsm-seo-tool .km-seo-service-subline {
        font-size: 12px;
        line-height: 1.48;
    }

    #kmsm-seo-tool .km-seo-service-cards {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    #kmsm-seo-tool .km-seo-service-card {
        padding: 11px 11px 10px;
        gap: 6px;
    }

    #kmsm-seo-tool .km-seo-service-header {
        gap: 3px;
    }

    #kmsm-seo-tool .km-seo-service-head {
        display: block;
    }

    #kmsm-seo-tool .km-seo-service-icon {
        width: 34px;
        height: 34px;
    }

    #kmsm-seo-tool .km-seo-service-icon-svg {
        width: 20px;
        height: 20px;
    }

    #kmsm-seo-tool .km-seo-service-type {
        font-size: 10px;
        letter-spacing: .055em;
    }

    #kmsm-seo-tool .km-seo-service-title {
        font-size: 15px;
        line-height: 1.29;
    }

    #kmsm-seo-tool .km-seo-service-description,
    #kmsm-seo-tool .km-seo-service-list-text,
    #kmsm-seo-tool .km-seo-service-footer {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    #kmsm-seo-tool .km-seo-service-cta {
        width: 100%;
    }

    #kmsm-seo-tool .km-seo-pages-panel {
        padding: 15px 14px;
    }

    #kmsm-seo-tool .km-seo-pages-table {
        display: block;
        width: 100%;
        border-spacing: 0;
        table-layout: auto;
    }

    #kmsm-seo-tool .km-seo-pages-columns,
    #kmsm-seo-tool .km-seo-pages-header {
        display: none;
    }

    #kmsm-seo-tool .km-seo-pages-list {
        display: grid;
        gap: 9px;
        margin: 0;
        width: 100%;
    }

    #kmsm-seo-tool .km-seo-pages-item {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            'check url url'
            'check status measurement';
        column-gap: 8px;
        row-gap: 7px;
        align-items: start;
        min-height: 96px;
        padding: 10px 11px;
        border: 1px solid #e8edf3;
        border-radius: 7px;
        background: #fdfefe;
    }

    #kmsm-seo-tool .km-seo-page-row {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            'check url url'
            'check status measurement';
        column-gap: 8px;
        row-gap: 7px;
        align-items: start;
        min-height: 96px;
        padding: 10px 11px;
        border: 1px solid #e8edf3;
        border-radius: 7px;
        background: #fdfefe;
    }

    #kmsm-seo-tool .km-seo-pages-cell {
        display: block;
        padding: 0;
        border: 0;
        background: transparent;
    }

    #kmsm-seo-tool .km-seo-pages-cell--check {
        grid-area: check;
        align-self: start;
        text-align: center;
    }

    #kmsm-seo-tool .km-seo-pages-cell--url {
        grid-area: url;
        min-width: 0;
    }

    #kmsm-seo-tool .km-seo-pages-cell--status {
        grid-area: status;
        text-align: left;
        min-width: 0;
    }

    #kmsm-seo-tool .km-seo-pages-cell--measurement {
        grid-area: measurement;
        text-align: left;
        min-width: 0;
    }

    #kmsm-seo-tool .km-seo-pages-status,
    #kmsm-seo-tool .km-seo-pages-measurement {
        justify-content: flex-start;
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    #kmsm-seo-tool .km-seo-pages-url {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    #kmsm-seo-tool .km-seo-pages-status::before,
    #kmsm-seo-tool .km-seo-pages-measurement::before {
        content: attr(data-label) ': ';
        margin-right: 4px;
        color: #6a7a8c;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    #kmsm-seo-tool .km-seo-result-actions {
        margin-top: 11px;
        padding-top: 9px;
    }

    #kmsm-seo-tool .km-seo-restart {
        width: 100%;
        justify-content: center;
    }

    #kmsm-seo-tool .km-seo-summary-field--domain .km-seo-summary-field-value {
        font-size: 16px;
    }

    #kmsm-seo-tool .km-seo-ai-finding-card {
        padding: 23px 20px 23px 24px;
    }

    #kmsm-seo-tool .km-seo-ai-dual {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #kmsm-seo-tool .km-seo-ai-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #kmsm-seo-tool .km-seo-url-disclosure-top,
    #kmsm-seo-tool .km-seo-positive-group-top {
        grid-template-columns: 1fr;
        display: grid;
        justify-items: start;
        gap: 7px;
    }

    #kmsm-seo-tool .km-seo-positive-group-count {
        white-space: normal;
    }

    #kmsm-seo-tool .km-seo-url-panel {
        padding: 8px;
    }

    #kmsm-seo-tool .km-seo-url-link {
        font-size: 11px;
    }

    #kmsm-seo-tool .km-seo-ai-meta-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    #kmsm-seo-tool .km-seo-ai-field--primary .km-seo-ai-field-value {
        font-size: 14px;
    }

    #kmsm-seo-tool .km-seo-score-card-value {
        font-size: 24px;
    }

    #kmsm-seo-tool .km-seo-category-top {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    #kmsm-seo-tool .km-seo-category-meta {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    #kmsm-seo-tool .km-seo-finding-head {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #kmsm-seo-tool .km-seo-finding-head-meta {
        justify-items: start;
    }

    #kmsm-seo-tool .km-seo-finding-badges {
        justify-content: flex-start;
    }

    #kmsm-seo-tool .km-seo-finding-priority {
        min-width: 0;
        text-align: left;
    }

    #kmsm-seo-tool .km-seo-finding-grid {
        grid-template-columns: 1fr;
    }

    #kmsm-seo-tool .km-seo-finding-stat--affected {
        text-align: left;
    }
}



