.y4m-kg-related {
    --y4m-kg-gap: 1rem;
    --y4m-kg-border: rgba(0, 0, 0, 0.14);
    --y4m-kg-muted: rgba(0, 0, 0, 0.65);
}

.y4m-kg-related__heading {
    margin: 0 0 1rem;
}

.y4m-kg-related__items {
    display: grid;
    gap: var(--y4m-kg-gap);
}

.y4m-kg-related--columns-2 .y4m-kg-related__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.y4m-kg-related--columns-3 .y4m-kg-related__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.y4m-kg-related--columns-4 .y4m-kg-related__items {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.y4m-kg-related__item {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--y4m-kg-border);
    border-radius: 0.5rem;
    background: inherit;
}

.y4m-kg-related__image-link,
.y4m-kg-related__image {
    display: block;
    width: 100%;
}

.y4m-kg-related__image {
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.y4m-kg-related__content {
    padding: 1rem;
}

.y4m-kg-related__type,
.y4m-kg-related__score {
    color: var(--y4m-kg-muted);
    font-size: 0.875em;
}

.y4m-kg-related__title {
    margin: 0.25rem 0 0;
    font-size: 1.125em;
    line-height: 1.3;
}

.y4m-kg-related__title a {
    color: inherit;
    text-decoration: none;
}

.y4m-kg-related__title a:hover,
.y4m-kg-related__title a:focus {
    text-decoration: underline;
}

.y4m-kg-related__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.y4m-kg-related__topics li {
    padding: 0.2rem 0.5rem;
    border: 1px solid var(--y4m-kg-border);
    border-radius: 999px;
    font-size: 0.825em;
    line-height: 1.3;
}

.y4m-kg-related__score {
    margin-top: 0.75rem;
}

.y4m-kg-related--list .y4m-kg-related__items {
    display: block;
}

.y4m-kg-related--list .y4m-kg-related__item {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
    margin-bottom: var(--y4m-kg-gap);
}

.y4m-kg-related--list .y4m-kg-related__image {
    height: 100%;
    aspect-ratio: auto;
}

.y4m-kg-related__empty {
    margin: 0;
}

@media (max-width: 900px) {
    .y4m-kg-related--columns-3 .y4m-kg-related__items,
    .y4m-kg-related--columns-4 .y4m-kg-related__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .y4m-kg-related__items,
    .y4m-kg-related--columns-2 .y4m-kg-related__items,
    .y4m-kg-related--columns-3 .y4m-kg-related__items,
    .y4m-kg-related--columns-4 .y4m-kg-related__items {
        grid-template-columns: minmax(0, 1fr);
    }

    .y4m-kg-related--list .y4m-kg-related__item {
        grid-template-columns: minmax(0, 1fr);
    }
}
.y4m-kg-related__relations{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem}.y4m-kg-related__relation{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#eef4ff;font-size:.78rem;font-weight:600;line-height:1.3}

.y4m-kg-related__topic-relations {
    margin: 0 0 0.55rem;
    padding-left: 1.15rem;
    color: var(--y4m-kg-muted);
    font-size: 0.8em;
    line-height: 1.4;
}

.y4m-kg-related__topic-relations li + li {
    margin-top: 0.2rem;
}


/* M6.4: direct topic relations */
.y4m-kg-topic-relations {
    --y4m-kg-topic-relations-gap: 0.55rem;
    --y4m-kg-topic-relations-border: rgba(0, 0, 0, 0.14);
    --y4m-kg-topic-relations-muted: rgba(0, 0, 0, 0.65);
}

.y4m-kg-topic-relations__heading {
    margin: 0 0 1rem;
}

.y4m-kg-topic-relations__items {
    margin: 0;
    padding: 0;
    list-style: none;
}

.y4m-kg-topic-relations--chips .y4m-kg-topic-relations__items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--y4m-kg-topic-relations-gap);
}

.y4m-kg-topic-relations--chips .y4m-kg-topic-relations__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--y4m-kg-topic-relations-border);
    border-radius: 999px;
    line-height: 1.3;
}

.y4m-kg-topic-relations__label {
    color: var(--y4m-kg-topic-relations-muted);
    font-size: 0.8em;
}

.y4m-kg-topic-relations__link {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

.y4m-kg-topic-relations__link:hover,
.y4m-kg-topic-relations__link:focus {
    text-decoration: underline;
}

.y4m-kg-topic-relations--list .y4m-kg-topic-relations__item {
    display: grid;
    grid-template-columns: minmax(9rem, 0.45fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--y4m-kg-topic-relations-border);
}

.y4m-kg-topic-relations__empty {
    margin: 0;
}

@media (max-width: 600px) {
    .y4m-kg-topic-relations--list .y4m-kg-topic-relations__item {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.15rem;
    }
}

/* M6.5: objects assigned to the current topic */
.y4m-kg-topic-objects {
    --y4m-kg-topic-objects-gap: 1rem;
    --y4m-kg-topic-objects-border: rgba(0, 0, 0, 0.14);
    --y4m-kg-topic-objects-muted: rgba(0, 0, 0, 0.65);
}
.y4m-kg-topic-objects__heading { margin: 0 0 1rem; }
.y4m-kg-topic-objects__items { display: grid; gap: var(--y4m-kg-topic-objects-gap); }
.y4m-kg-topic-objects--columns-2 .y4m-kg-topic-objects__items { grid-template-columns: repeat(2,minmax(0,1fr)); }
.y4m-kg-topic-objects--columns-3 .y4m-kg-topic-objects__items { grid-template-columns: repeat(3,minmax(0,1fr)); }
.y4m-kg-topic-objects--columns-4 .y4m-kg-topic-objects__items { grid-template-columns: repeat(4,minmax(0,1fr)); }
.y4m-kg-topic-objects__item { min-width: 0; overflow: hidden; border: 1px solid var(--y4m-kg-topic-objects-border); border-radius: .5rem; background: inherit; }
.y4m-kg-topic-objects__image-link,.y4m-kg-topic-objects__image { display:block; width:100%; }
.y4m-kg-topic-objects__image { height:auto; aspect-ratio:16/9; object-fit:cover; }
.y4m-kg-topic-objects__content { padding:1rem; }
.y4m-kg-topic-objects__title { margin:0; font-size:1.125em; line-height:1.3; }
.y4m-kg-topic-objects__title a { color:inherit; text-decoration:none; }
.y4m-kg-topic-objects__title a:hover,.y4m-kg-topic-objects__title a:focus { text-decoration:underline; }
.y4m-kg-topic-objects__excerpt { margin:.65rem 0 0; color:var(--y4m-kg-topic-objects-muted); }
.y4m-kg-topic-objects__score { margin-top:.65rem; color:var(--y4m-kg-topic-objects-muted); font-size:.875em; }
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__items { display:block; }
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__item { display:grid; grid-template-columns:minmax(8rem,12rem) minmax(0,1fr); margin-bottom:var(--y4m-kg-topic-objects-gap); }
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__image { height:100%; aspect-ratio:auto; }
.y4m-kg-topic-objects__empty { margin:0; }
@media (max-width:900px) {
    .y4m-kg-topic-objects--columns-3 .y4m-kg-topic-objects__items,
    .y4m-kg-topic-objects--columns-4 .y4m-kg-topic-objects__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    .y4m-kg-topic-objects__items,
    .y4m-kg-topic-objects--columns-2 .y4m-kg-topic-objects__items,
    .y4m-kg-topic-objects--columns-3 .y4m-kg-topic-objects__items,
    .y4m-kg-topic-objects--columns-4 .y4m-kg-topic-objects__items { grid-template-columns:minmax(0,1fr); }
    .y4m-kg-topic-objects--list .y4m-kg-topic-objects__item { grid-template-columns:minmax(0,1fr); }
}

/* M6.5: advisor logos use their natural aspect ratio and are never cropped. */
.y4m-kg-topic-advisors .y4m-kg-topic-objects__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    padding: 0.5rem;
    box-sizing: border-box;
}

.y4m-kg-topic-advisors .y4m-kg-topic-objects__image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
}

.y4m-kg-topic-advisors.y4m-kg-topic-objects--list .y4m-kg-topic-objects__image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
}




/* M6.8.3 – Topic FAQ */
.y4m-kg-topic-faq__items{display:grid;gap:12px}
.y4m-kg-topic-faq__item{border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff}
.y4m-kg-topic-faq--accordion .y4m-kg-topic-faq__question{cursor:pointer;padding:16px 18px;font-weight:600}
.y4m-kg-topic-faq--accordion .y4m-kg-topic-faq__answer{padding:0 18px 16px}
.y4m-kg-topic-faq--list .y4m-kg-topic-faq__item{padding:16px 18px}
.y4m-kg-topic-faq--list .y4m-kg-topic-faq__question{margin-top:0}
.y4m-kg-topic-faq__answer>:last-child{margin-bottom:0}
.y4m-kg-topic-faq__source{font-size:.9em;opacity:.75;margin-top:12px}


/* beta.44: list items without an image must not keep an empty image column. */
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__item--no-image {
    grid-template-columns: minmax(0, 1fr);
}

.y4m-kg-topic-objects--list .y4m-kg-topic-objects__item--no-image .y4m-kg-topic-objects__content {
    grid-column: 1 / -1;
    width: 100%;
}


/* M6.9.1 – semantic relation presentation */
.y4m-kg-topic-relations__strength {
    display: inline-flex;
    align-items: center;
    font-size: .78em;
    line-height: 1;
    padding: .28em .48em;
    border: 1px solid currentColor;
    border-radius: 999px;
    opacity: .65;
}
.y4m-kg-topic-relations__item--strong .y4m-kg-topic-relations__link {
    font-weight: 700;
}
.y4m-kg-topic-relations__item--medium .y4m-kg-topic-relations__link {
    font-weight: 600;
}
.y4m-kg-topic-relations__item--supporting {
    opacity: .86;
}


/* M6.9.2 – administrator-only semantic diagnostics */
.y4m-kg-semantic-diagnostics{margin:24px 0;padding:18px;border:2px dashed currentColor;border-radius:8px}
.y4m-kg-semantic-diagnostics__notice{font-size:.9em;opacity:.8}
.y4m-kg-semantic-diagnostics__table-wrap{overflow-x:auto}
.y4m-kg-semantic-diagnostics__table{width:100%;border-collapse:collapse}
.y4m-kg-semantic-diagnostics__table th,
.y4m-kg-semantic-diagnostics__table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;vertical-align:top}
.y4m-kg-semantic-diagnostics__table th{white-space:nowrap}

/* M6.9.4 – separate public semantic additions */
.y4m-kg-topic-objects__semantic-path{margin-top:8px;font-size:.85em;opacity:.7}


/* M6.10.1 – Elementor controls the available text width.
   The Knowledge Graph must not impose a reading-width limit here. */
.y4m-kg-topic-description,
.y4m-kg-topic-description p {
    max-width: none;
    width: 100%;
}


/* M6.10.1 fix: Yoo4me globally limits .site-content p to a reading width.
   Topic descriptions are layout-controlled by Elementor and therefore override
   that global paragraph rule only inside the KG description block. */
.site-content .y4m-kg-topic-description p,
.elementor .y4m-kg-topic-description p {
    max-width: none;
    width: 100%;
}


/* M6.11.1 – preserve complete source images in topic object cards/lists.
   Images in Yoo4me use mixed aspect ratios, so KG must not crop them to fill
   a predefined box. */
.y4m-kg-topic-objects--cards .y4m-kg-topic-objects__image-link {
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.y4m-kg-topic-objects--cards .y4m-kg-topic-objects__image {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__image-link {
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.y4m-kg-topic-objects--list .y4m-kg-topic-objects__image {
    width:100%;
    height:auto;
    max-height:100%;
    object-fit:contain;
    object-position:center;
}


/* M7.6.1: visitor-facing recommendation mode */
.y4m-kg-related--recommendations {
    margin-block: 1.5rem;
}

/* M7.6.2 – preserve complete source images in related/recommendation cards/lists.
   Mirrors the proven M6.11.1 topic-object behavior: portrait and landscape
   logos are always shown completely; unused image area is accepted. */
.y4m-kg-related--cards .y4m-kg-related__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.y4m-kg-related--cards .y4m-kg-related__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.y4m-kg-related--list .y4m-kg-related__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.y4m-kg-related--list .y4m-kg-related__image {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

/* M8.1 – visible topic navigation on detail pages */
.y4m-kg-topic-chips {
    margin-block: 1rem;
}
.y4m-kg-topic-chips__title {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}
.y4m-kg-topic-chips__items {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.y4m-kg-topic-chips__chip {
    display: inline-flex;
    align-items: center;
    padding: .4rem .75rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    text-decoration: none;
    line-height: 1.2;
}
.y4m-kg-topic-chips__chip:hover,
.y4m-kg-topic-chips__chip:focus-visible {
    text-decoration: underline;
}

/* M8.2.2 – public grouped topic directory */
.y4m-kg-topic-directory__group { margin-block: 2rem 3rem; }
.y4m-kg-topic-directory__group-header { margin-bottom: 1rem; }
.y4m-kg-topic-directory__group-title { margin-bottom: .35rem; }
.y4m-kg-topic-directory__group-description { margin: 0; max-width: 70ch; }
.y4m-kg-topic-directory__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1rem;
}
.y4m-kg-topic-directory__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 14px;
    background: #fff;
}
.y4m-kg-topic-directory__topic-title { margin: 0 0 .55rem; font-size: 1.15em; }
.y4m-kg-topic-directory__topic-title a { text-decoration: none; }
.y4m-kg-topic-directory__topic-description { margin: 0 0 .85rem; }
.y4m-kg-topic-directory__counts {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    margin: auto 0 .85rem;
    padding: .75rem 0 0;
    list-style: none;
    border-top: 1px solid rgba(0,0,0,.08);
    font-size: .9em;
}
.y4m-kg-topic-directory__action { margin: 0; font-weight: 600; }
.y4m-kg-topic-directory__action a { text-decoration: none; }
.y4m-kg-topic-directory__action a:hover,
.y4m-kg-topic-directory__action a:focus-visible,
.y4m-kg-topic-directory__topic-title a:hover,
.y4m-kg-topic-directory__topic-title a:focus-visible { text-decoration: underline; }
@media (max-width: 900px) {
    .y4m-kg-topic-directory__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .y4m-kg-topic-directory__grid { grid-template-columns: 1fr; }
}



/* M13.2 – topic discovery on the public topic directory */
.y4m-kg-topic-directory__search { margin: 0 0 2rem; }
.y4m-kg-topic-directory__search-label { display:block; margin-bottom:.5rem; font-weight:600; }
.y4m-kg-topic-directory__search-input { width:100%; max-width:720px; padding:.75rem .9rem; border:1px solid rgba(0,0,0,.25); border-radius:10px; font:inherit; }
.y4m-kg-topic-directory__search-results { margin-top:1rem; }
.y4m-kg-topic-directory__result-group { margin:1rem 0 1.5rem; }
.y4m-kg-topic-directory__result-group h3 { margin:0 0 .65rem; font-size:1.05em; }
.y4m-kg-topic-directory__result-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.y4m-kg-topic-directory__result-chip { display:inline-flex; align-items:center; padding:.5rem .8rem; border:1px solid currentColor; border-radius:999px; text-decoration:none; }
.y4m-kg-topic-directory__result-chip:hover,.y4m-kg-topic-directory__result-chip:focus-visible { text-decoration:underline; }
.y4m-kg-topic-directory__search-status { margin:.75rem 0; }
