/* ==========================================================================
   Content: breadcrumbs, titles, article typography, news loops and cards,
   home widgets, sidebars, buttons, forms, players, search results.
   ========================================================================== */

/* ---------- Breadcrumbs ---------- */

.wm-theme .mh-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .5rem;
    margin: 0 0 1.25rem;
    padding: 0;
    font-size: var(--wm-step--1);
    color: var(--wm-text-muted);
    border: 0;
}
.wm-theme .mh-breadcrumb a {
    font-weight: 600;
    text-transform: none;
    color: var(--wm-text-muted);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: .2em;
    transition: text-decoration-color .2s, color .2s;
}
.wm-theme .mh-breadcrumb a:hover { color: var(--wm-red-ink); text-decoration-color: currentColor; }
.wm-theme .mh-breadcrumb-delimiter { margin: 0; color: var(--wm-red); font-size: .9em; }

/* ---------- Titles ---------- */

.wm-theme .page-header,
.wm-theme .entry-header { margin: 0 0 clamp(1.25rem, 2.5vw, 2rem); }
.wm-theme .page-title,
.wm-theme .entry-header .entry-title {
    position: relative;
    margin: 0;
    padding: 0 0 .35em;
    font-size: var(--wm-step-4);
    font-weight: 900;
    line-height: .98;
    text-transform: uppercase;
    letter-spacing: .005em;
}
.wm-theme .page-title::after,
.wm-theme .entry-header .entry-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 4.5rem;
    height: 5px;
    background: var(--wm-red);
    clip-path: polygon(0 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}
.wm-theme .page-title span { color: var(--wm-red-ink); }

.wm-theme .mh-subheading {
    display: inline-block;
    margin: 0 0 .75rem;
    font-family: var(--wm-font-display);
    font-weight: 800;
    letter-spacing: .08em;
    background: var(--wm-red);
}

/* Post meta as quiet chips */
.wm-theme .mh-meta { font-size: var(--wm-step--1); color: var(--wm-text-muted); }
.wm-theme .mh-meta a { color: inherit; }
.wm-theme .mh-meta a:hover { color: var(--wm-red-ink); }
.wm-theme .entry-meta-comments, .wm-theme .mh-comment-count-link { display: none; }
.wm-theme .entry-header .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1rem;
    padding: 0;
    border: 0;
}
.wm-theme .entry-header .entry-meta > span:not(.entry-meta-comments) {
    display: inline-flex;
    align-items: center;
    gap: .45em;
    margin: 0;
    padding: .3rem .8rem;
    background: var(--wm-surface-2);
    border: 1px solid var(--wm-line);
    border-radius: 99px;
}
.wm-theme .entry-header .entry-meta .fa,
.wm-theme .entry-header .entry-meta .far { margin: 0; color: var(--wm-red); }

/* ---------- Article body ---------- */

.wm-theme .mh-content > article,
.wm-theme .mh-wrapper > article {
    padding: clamp(1.25rem, 3.5vw, 3rem);
    background: var(--wm-surface);
    border-radius: var(--wm-radius);
    box-shadow: var(--wm-shadow);
}
.wm-theme .mh-wrapper > .mh-breadcrumb + article,
.wm-theme .mh-wrapper > article { max-width: 1320px; margin-inline: auto; }
.wm-theme .mh-wrapper > .mh-breadcrumb { max-width: 1320px; margin-inline: auto; margin-bottom: 1.25rem; }

.wm-theme .entry-content {
    font-size: var(--wm-step-0);
    line-height: 1.7;
    color: var(--wm-text);
}
/* Readable measure for text; wide blocks (tables, columns, galleries, embeds) use the full width. */
.wm-theme .entry-content > :is(p, ul, ol, h2, h3, h4, h5, h6, blockquote, dl, address, pre, .wp-block-quote, .wp-block-pullquote) {
    max-width: var(--wm-measure);
}
.wm-theme .mh-wrapper > article .entry-content > :is(p, ul, ol, h2, h3, h4, h5, h6, blockquote, dl, address, pre, .wp-block-quote) { margin-inline: auto; }
.wm-theme .mh-wrapper > article .entry-content .wp-block-group__inner-container > :is(p, ul, ol, h2, h3, h4) { max-width: var(--wm-measure); margin-inline: auto; }
.wm-theme .mh-content article .entry-content .wp-block-group__inner-container > :is(p, ul, ol, h2, h3, h4) { max-width: var(--wm-measure); }

.wm-theme .entry-content :is(p, ul, ol, dl, blockquote, figure, table, pre, .wp-block-table, .wp-block-columns, .wp-block-gallery, .wp-block-embed) { margin-top: 0; margin-bottom: 1.25em; }
/* Button rows: space below (e.g. before an image) and an even gap when the buttons wrap */
.wm-theme .entry-content .wp-block-buttons { gap: .75rem; margin: 1.5em 0 2em; }
.wm-theme .entry-content .wp-block-buttons:last-child { margin-bottom: 0; }
.wm-theme .entry-content > :last-child { margin-bottom: 0; }
.wm-theme .entry-content :is(h2, h3, h4, h5) { margin: 1.6em 0 .6em; text-transform: none; }
.wm-theme .entry-content h2 {
    position: relative;
    padding: 0 0 .3em;
    font-size: var(--wm-step-3);
    text-transform: uppercase;
    border: 0;
}
.wm-theme .entry-content h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2.5rem;
    height: 3px;
    background: var(--wm-red);
}
.wm-theme .entry-content h2.has-text-align-center::after { left: calc(50% - 1.25rem); }
.wm-theme .entry-content h3 { font-size: var(--wm-step-2); }
.wm-theme .entry-content h4 { font-size: var(--wm-step-1); }
.wm-theme .entry-content > :is(h2, h3, h4):first-child { margin-top: 0; }

.wm-theme .entry-content a:not(.wp-block-button__link, .wp-element-button) {
    font-weight: 600;
    color: var(--wm-link);
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
    text-underline-offset: .18em;
    transition: text-decoration-color .2s, color .2s;
}
.wm-theme .entry-content a:not(.wp-block-button__link, .wp-element-button):hover { color: var(--wm-link); text-decoration-color: currentColor; }

.wm-theme .entry-content :is(ul, ol) { padding-left: 1.4em; margin-left: 0; }
.wm-theme .entry-content ul { list-style: none; }
.wm-theme .entry-content ul > li { position: relative; }
.wm-theme .entry-content ul > li::before {
    content: "";
    position: absolute;
    top: .68em;
    left: -1.05em;
    width: .45em;
    height: .45em;
    background: var(--wm-red);
    clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
}
.wm-theme .entry-content ol { list-style: decimal; }
.wm-theme .entry-content ol > li::marker { font-family: var(--wm-font-display); font-weight: 800; color: var(--wm-red-ink); }
.wm-theme .entry-content li + li { margin-top: .35em; }
.wm-theme .entry-content li > :is(ul, ol) { margin: .35em 0 0; }

.wm-theme .entry-content :is(blockquote, .wp-block-quote) {
    position: relative;
    margin-block: 1.75em;
    padding: .5em 0 .5em 1.4em;
    font-size: var(--wm-step-1);
    font-style: normal;
    line-height: 1.45;
    color: var(--wm-text);
    border-left: 4px solid var(--wm-red);
}
.wm-theme .entry-content :is(blockquote, .wp-block-quote) cite { display: block; margin-top: .6em; font-size: var(--wm-step--1); font-style: normal; font-weight: 700; color: var(--wm-text-muted); }

.wm-theme .entry-content figure { max-width: 100%; }
.wm-theme .entry-content img { border-radius: var(--wm-radius-sm); }
.wm-theme .entry-content :is(figcaption, .wp-element-caption, .wp-caption-text) {
    margin-top: .6em;
    font-size: var(--wm-step--1);
    font-weight: 400;
    line-height: 1.45;
    color: var(--wm-text-muted);
    text-align: center;
}
/* Never wider than the text column (the image size is only 678px wide, so stretching it further blurs it). */
.wm-theme .entry-thumbnail { margin: 0 0 1.75rem; }
.wm-theme :is(.entry-content, article) > .entry-thumbnail { max-width: min(var(--wm-measure), 678px); }
.wm-theme .mh-wrapper > article .entry-thumbnail { margin-inline: auto; }
.wm-theme .entry-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--wm-radius); }
.wm-theme .entry-content .wp-block-columns { gap: clamp(1rem, 2.5vw, 2.5rem); }
.wm-theme .entry-content .wp-block-gallery { gap: .5rem; }
/* Galleries saved before WP 5.9 are <ul> lists: no list markers or indent there */
.wm-theme .entry-content ul.blocks-gallery-grid { padding-left: 0; }
.wm-theme .entry-content ul.blocks-gallery-grid > li::before { content: none; }
.wm-theme .entry-content ul.blocks-gallery-grid > li + li { margin-top: 0; }
.wm-theme .entry-content :is(iframe, video, .wp-block-embed__wrapper) { max-width: 100%; border-radius: var(--wm-radius-sm); }
.wm-theme .entry-content .alignleft { float: left; margin: .3em 1.5em 1em 0; }
.wm-theme .entry-content .alignright { float: right; margin: .3em 0 1em 1.5em; }
.wm-theme .entry-content .aligncenter { margin-inline: auto; }
@media (max-width: 47.99em) {
    .wm-theme .entry-content :is(.alignleft, .alignright) { float: none; margin: 0 auto 1em; }
}
.wm-theme .entry-content hr, .wm-theme .entry-content .wp-block-separator { border: 0; border-top: 2px solid var(--wm-line); }
.wm-theme .entry-content :is(code, kbd) { padding: .1em .35em; font-size: .9em; background: var(--wm-surface-2); border-radius: 4px; }
.wm-theme .entry-content pre { padding: 1rem; overflow-x: auto; background: var(--wm-surface-2); border: 1px solid var(--wm-line); border-radius: var(--wm-radius-sm); }

/* Editor colors that would vanish in dark mode */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .wm-theme .entry-content :is(.has-black-color, [style*="color:#000"], [style*="color: #000"]) { color: var(--wm-text) !important; }
}
:root[data-theme="dark"] .wm-theme .entry-content :is(.has-black-color, [style*="color:#000"], [style*="color: #000"]) { color: var(--wm-text) !important; }

/* Tags */
.wm-theme .entry-tags { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.5rem 0 0; }
.wm-theme .entry-tags > .fa { display: none; }
.wm-theme .entry-tags ul { display: contents; }
.wm-theme .entry-tags li { float: none; margin: 0; background: none; }
.wm-theme .entry-tags a,
.wm-theme .tagcloud a {
    display: inline-block;
    margin: 0;
    padding: .3rem .8rem;
    font-size: var(--wm-step--1) !important;
    font-weight: 700;
    color: var(--wm-text);
    background: var(--wm-surface-2);
    border: 1px solid var(--wm-line);
    border-radius: 99px;
}
.wm-theme .entry-tags a:hover,
.wm-theme .tagcloud a:hover { color: #fff; background: var(--wm-red); border-color: var(--wm-red); }
.wm-theme .tagcloud { display: flex; flex-wrap: wrap; gap: .4rem; }

/* Share buttons */
.wm-theme .mh-social-bottom, .wm-theme .mh-social-top { margin: 2rem 0 0; }
.wm-theme .mh-share-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.wm-theme .mh-share-buttons a { flex: 1 1 44px; }
.wm-theme .mh-share-button {
    display: grid;
    place-items: center;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0;
    font-size: 1.1rem;
    color: var(--wm-text);
    background: var(--wm-surface-2);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
    transition: transform .2s var(--wm-ease), color .2s, background-color .2s;
}
.wm-theme .mh-share-buttons a:hover .mh-share-button { color: #fff; background: var(--wm-red); border-color: var(--wm-red); transform: translateY(-2px); }
.wm-theme .mh-whatsapp:hover .mh-share-button { background: #128c4b; border-color: #128c4b; }

/* Author box, post navigation, related */
.wm-theme .mh-author-box { margin-top: 2rem; padding: 1.5rem; background: var(--wm-surface-2); border: 0; border-radius: var(--wm-radius); }
.wm-theme .mh-author-box-avatar { border-color: var(--wm-line); border-radius: 50%; overflow: hidden; }
.wm-theme .mh-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; padding: 0; border: 0; }
.wm-theme .mh-post-nav-item { float: none; width: auto; }
.wm-theme .mh-post-nav a { display: block; height: 100%; padding: 1rem; background: var(--wm-surface); border: 1px solid var(--wm-line); border-radius: var(--wm-radius-sm); }
.wm-theme .mh-post-nav a:hover { border-color: var(--wm-red); }

/* ---------- Cards: shared look of news teasers ---------- */

.wm-theme :is(.mh-posts-list-thumb, .mh-posts-grid-thumb, .mh-posts-horizontal-thumb, .mh-custom-posts-thumb, .mh-custom-posts-thumb-xl) {
    position: relative;
    float: none;
    max-width: none;
    margin: 0;
    overflow: hidden;
    border-radius: var(--wm-radius-sm);
    background: var(--wm-surface-3);
}
.wm-theme :is(.mh-posts-list-thumb, .mh-posts-grid-thumb, .mh-posts-horizontal-thumb) img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .6s var(--wm-ease), filter .4s;
}
.wm-theme :is(article, .mh-posts-grid-item):hover :is(.mh-posts-list-thumb, .mh-posts-grid-thumb, .mh-posts-horizontal-thumb) img { transform: scale(1.05); }
.wm-theme .mh-image-caption {
    position: absolute;
    top: .6rem;
    left: .6rem;
    padding: .25em .6em .2em;
    font-family: var(--wm-font-display);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    background: var(--wm-red);
    clip-path: polygon(0 0, 100% 0, calc(100% - .35em) 100%, 0 100%);
}
.wm-theme :is(.mh-posts-list-title, .mh-posts-grid-title, .mh-posts-horizontal-title, .mh-custom-posts-xl-title, .mh-custom-posts-small-title) {
    margin: 0;
    font-family: var(--wm-font-body);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    border: 0;
}
.wm-theme :is(.mh-posts-list-title, .mh-posts-grid-title) { font-size: var(--wm-step-1); }
.wm-theme :is(.mh-posts-list-title, .mh-posts-grid-title, .mh-posts-horizontal-title) a {
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
    transition: background-size .35s var(--wm-ease), color .2s;
}
.wm-theme :is(article, .mh-posts-grid-item):hover :is(.mh-posts-list-title, .mh-posts-grid-title, .mh-posts-horizontal-title) a { color: var(--wm-red-ink); background-size: 100% 2px; }
.wm-theme .mh-excerpt, .wm-theme .mh-posts-list-excerpt { color: var(--wm-text-muted); font-size: var(--wm-step--1); line-height: 1.55; }
.wm-theme .mh-excerpt-more { font-weight: 700; color: var(--wm-red-ink); }

/* Archive loops: compact list on phones, a fluid card grid from 40em */
.wm-theme .mh-loop:not(.wq-page) .mh-posts-list-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0 0 1rem;
    border-bottom: 1px solid var(--wm-line);
}
.wm-theme .mh-loop:not(.wq-page) .mh-posts-list-item .mh-posts-list-caption { display: none; }
.wm-theme .mh-loop:not(.wq-page) .mh-posts-list-header { margin: 0 0 .4rem; }
.wm-theme .mh-loop:not(.wq-page) .mh-posts-list-excerpt { display: none; }
.wm-theme .mh-loop:not(.wq-page) :is(.entry-meta-author) { display: none; }
.wm-theme .mh-loop:not(.wq-page) { display: grid; gap: 1rem; }
.wm-theme .mh-loop:not(.wq-page) > :not(.mh-posts-list-item) { grid-column: 1 / -1; }
.wm-theme .mh-loop .mh-posts-list-title { font-size: var(--wm-step-0); }

@media (min-width: 40em) {
    .wm-theme .mh-loop:not(.wq-page) {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
        gap: clamp(1rem, 2vw, 1.75rem);
    }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-item {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        gap: 0;
        padding: 0;
        overflow: hidden;
        background: var(--wm-surface);
        border: 0;
        border-radius: var(--wm-radius);
        box-shadow: var(--wm-shadow);
        transition: transform .35s var(--wm-ease), box-shadow .35s var(--wm-ease);
    }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-item:hover { transform: translateY(-4px); box-shadow: var(--wm-shadow-lg); }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-thumb { border-radius: 0; }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-thumb img { aspect-ratio: 16 / 10; }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-caption { display: block; }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-content { display: flex; flex-direction: column; padding: 1rem 1.15rem 1.25rem; }
    .wm-theme .mh-loop:not(.wq-page) .mh-posts-list-excerpt { display: block; }
    .wm-theme .mh-loop .mh-posts-list-title { font-size: var(--wm-step-1); }
}
.wm-theme .mh-loop-description { max-width: var(--wm-measure); margin-top: .75rem; color: var(--wm-text-muted); }

/* A–Z letter navigation: the plugin template pimcore-gegnerliste-nach-buchstabe.php (.wormatia-letter-nav) and
   the legacy markup stored in page content (e.g. the Twig template of /archiv/spieler-datenbank/alphabetische-uebersicht/:
   a <ul> of inline-styled <li>, the current letter in <strong>). !important beats those inline styles. */
.wm-theme .wormatia-letter-nav { margin: 0 0 1.5rem; }
.wm-theme .entry-content :is(.wormatia-letter-nav ul, ul:has(> li[style*="display: inline"])) {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    max-width: none;
    margin: 0 0 1.5rem !important;
    padding: 0 !important;
}
.wm-theme .wormatia-letter-nav ul { margin-bottom: 0 !important; }
.wm-theme .entry-content :is(.wormatia-letter-nav, ul:has(> li[style*="display: inline"])) li { width: auto !important; margin: 0; padding: 0 !important; }
.wm-theme .entry-content :is(.wormatia-letter-nav, ul:has(> li[style*="display: inline"])) li::before { content: none; }
.wm-theme .entry-content :is(.wormatia-letter-nav, ul:has(> li[style*="display: inline"])) li > :is(a, span, strong) {
    display: inline-grid;
    place-items: center;
    min-width: 2.4rem;
    height: 2.4rem;
    font-family: var(--wm-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--wm-text);
    text-decoration: none;
    background: var(--wm-surface);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
    transition: color .2s, background-color .2s, border-color .2s;
}
.wm-theme .entry-content :is(.wormatia-letter-nav, ul:has(> li[style*="display: inline"])) li > a:hover,
.wm-theme .entry-content :is(.wormatia-letter-nav, ul:has(> li[style*="display: inline"])) li > :is([aria-current], strong) {
    color: #fff;
    background: var(--wm-red);
    border-color: var(--wm-red);
}

/* Head-to-head record (plugin template pimcore-spiele-nach-paarung-statistik.php) */
.wm-theme .wormatia-h2h {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    margin: 0 0 1.5rem;
    padding: 1rem 1.25rem;
    background: var(--wm-surface-2);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
}
.wm-theme .entry-content a.wormatia-h2h__club {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    font-family: var(--wm-font-display);
    font-size: var(--wm-step-2);
    font-weight: 800;
    line-height: 1.05;
    color: var(--wm-text);
    text-decoration: none;
}
.wm-theme .entry-content a.wormatia-h2h__club:hover { color: var(--wm-red-ink); }
.wm-theme .wormatia-h2h__logo { flex: none; display: grid; place-items: center; width: 56px; height: 56px; padding: 6px; background: #fff; border-radius: 50%; box-shadow: var(--wm-shadow); }
.wm-theme .wormatia-h2h__logo img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.wm-theme .wormatia-h2h__stats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.wm-theme .wormatia-h2h__stat {
    display: grid;
    flex: 1 0 auto;
    min-width: 4.75rem;
    padding: .45rem .75rem;
    text-align: center;
    background: var(--wm-surface);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
}
.wm-theme .wormatia-h2h__stat :is(dt, dd) { display: block; list-style: none; }
.wm-theme .wormatia-h2h__stat dt { order: 2; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--wm-text-muted); }
.wm-theme .wormatia-h2h__stat dd { order: 1; margin: 0; font-family: var(--wm-font-display); font-size: 1.6rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }

/* Club info (plugin template pimcore-verein-stammdaten.php) */
.wm-theme .wormatia-club { display: grid; gap: 1.5rem; }
.wm-theme .wormatia-club__head {
    display: flex;
    align-items: center;
    gap: 1rem 1.5rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    background: var(--wm-surface-2);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
}
.wm-theme .wormatia-club__logo { flex: none; display: grid; place-items: center; width: clamp(64px, 8vw, 96px); aspect-ratio: 1; padding: 8px; box-sizing: border-box; background: #fff; border-radius: 50%; box-shadow: var(--wm-shadow); }
.wm-theme .wormatia-club__logo img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.wm-theme .wormatia-club__title { min-width: 0; }
.wm-theme .entry-content .wormatia-club__name { margin: 0; padding: 0; font-size: var(--wm-step-3); hyphens: manual; -webkit-hyphens: manual; }
.wm-theme .entry-content .wormatia-club__name::after { content: none; }
.wm-theme .entry-content .wormatia-club__title p { margin: .3rem 0 0; color: var(--wm-text-muted); }
.wm-theme .wormatia-club__address { font-style: normal; color: var(--wm-text-muted); }
.wm-theme .entry-content .wormatia-club__details { margin: 0; }
/* Key/value table: wraps text instead of scrolling sideways on phones */
.wm-theme .entry-content figure.wormatia-club__details table { min-width: 0; } /* tables.css loads later */
.wm-theme .entry-content .wormatia-club__details th { width: clamp(5.5rem, 15vw, 9rem); }
.wm-theme .entry-content .wormatia-club__details td > :last-child { margin-bottom: 0; }
.wm-theme .entry-content .wormatia-club__details td p { max-width: var(--wm-measure); }
.wm-theme .entry-content .wormatia-club__more { margin: .5rem 0 0; }
.wm-theme .wormatia-club__links { display: flex; flex-wrap: wrap; gap: .75rem; }
/* Must outrank the shared button rule further down (its :is() list contains input[type="submit"]:not(.search-submit)) */
.wm-theme .wormatia-club__links a.wm-button.wm-button--ghost { color: var(--wm-red-ink) !important; background: transparent !important; box-shadow: none !important; }
.wm-theme .wormatia-club__links a.wm-button.wm-button--ghost:is(:hover, :focus-visible) { color: #fff !important; background: var(--wm-red) !important; }
@media (max-width: 29.99em) {
    .wm-theme .wormatia-club__links .wm-button { justify-content: center; width: 100%; box-sizing: border-box; }
}

/* Pagination */
.wm-theme .mh-loop-pagination, .wm-theme .pagination { margin: 2rem 0 0; text-align: center; }
.wm-theme .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.wm-theme .page-numbers {
    display: grid;
    place-items: center;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 .75rem;
    font-family: var(--wm-font-display);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--wm-text);
    background: var(--wm-surface);
    border: 1px solid var(--wm-line);
    border-radius: 99px;
}
.wm-theme a.page-numbers:hover { color: #fff; background: var(--wm-red); border-color: var(--wm-red); }
.wm-theme .page-numbers.current { color: #fff; background: var(--wm-red); border-color: var(--wm-red); }
.wm-theme .page-numbers.dots { background: none; border: 0; }

/* ---------- Home ---------- */

.wm-theme .mh-home .mh-widget { margin: 0 0 clamp(1.5rem, 3vw, 2.5rem); }
.wm-theme .mh-home-columns { display: grid; gap: clamp(1.5rem, 3vw, 3rem); }
@media (min-width: 64em) {
    .wm-theme .mh-home-columns { grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 380px); align-items: start; }
}
.wm-theme .mh-home-content > .clearfix { display: grid; gap: clamp(1.5rem, 3vw, 3rem); }
@media (min-width: 48em) {
    .wm-theme .mh-home-content > .clearfix { grid-template-columns: 1fr 1fr; }
}
.wm-theme .mh-home-content > .clearfix::after { display: none; }
.wm-theme :is(.mh-home-area-3, .mh-home-area-4, .mh-home-area-6) { float: none; width: auto; margin: 0; }
.wm-theme .mh-home-area-6 { display: grid; gap: 1.5rem; align-content: start; }
.wm-theme .mh-home-area-6 .mh-widget { margin: 0; }

/* Stacked hero: one lead story and four smaller ones */
.wm-theme .mh-posts-stacked-widget {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    overflow: hidden;
    border-radius: var(--wm-radius);
}
.wm-theme .mh-posts-stacked-widget::after { display: none; }
.wm-theme .mh-posts-stacked-wrap { float: none !important; width: auto !important; overflow: hidden; }
.wm-theme .mh-posts-stacked-large { grid-column: 1 / -1; }
.wm-theme .mh-posts-stacked-columns { display: contents; }
.wm-theme :is(.mh-posts-stacked-large, .mh-posts-stacked-small)::after { display: none; }
.wm-theme .mh-posts-stacked-large { aspect-ratio: 4 / 3; }
.wm-theme .mh-posts-stacked-small { aspect-ratio: 1; }
@media (min-width: 48em) {
    .wm-theme .mh-posts-stacked-widget { grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: minmax(0, 1fr); }
    .wm-theme .mh-posts-stacked-large { grid-column: 1; grid-row: 1 / span 2; aspect-ratio: auto; min-height: clamp(340px, min(30vw, 100svh - 380px), 600px); }
    .wm-theme .mh-posts-stacked-small { aspect-ratio: auto; }
}
.wm-theme .mh-posts-stacked-content { position: relative; width: 100%; height: 100%; }
.wm-theme .mh-posts-stacked-thumb { position: absolute; inset: 0; }
.wm-theme .mh-posts-stacked-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--wm-ease); }
.wm-theme .mh-posts-stacked-content:hover img { transform: scale(1.05); }
.wm-theme .mh-posts-stacked-overlay {
    z-index: 1;
    border: 0 !important;
    background: linear-gradient(0deg, rgb(12 8 10 / 88%) 0%, rgb(12 8 10 / 35%) 45%, rgb(12 8 10 / 0%) 70%);
}
.wm-theme .mh-posts-stacked-content:hover .mh-posts-stacked-overlay { background: linear-gradient(0deg, rgb(120 0 14 / 85%) 0%, rgb(12 8 10 / 25%) 55%, rgb(12 8 10 / 0%) 80%); }
.wm-theme .mh-posts-stacked-item { z-index: 2; inset: auto 0 0 0; padding: clamp(.75rem, 2vw, 1.75rem); pointer-events: none; }
.wm-theme .mh-posts-stacked-item a { pointer-events: auto; }
.wm-theme .mh-posts-stacked-title { padding: 0 !important; color: #fff; background: none; text-shadow: 0 2px 12px rgb(0 0 0 / 50%); }
.wm-theme .mh-posts-stacked-item :is(a, a:hover, .mh-meta, .mh-meta a) { color: #fff; }
.wm-theme .mh-posts-stacked-title-large { font-size: var(--wm-step-3); font-weight: 900; line-height: 1; text-transform: uppercase; }
.wm-theme .mh-posts-stacked-title-small { font-family: var(--wm-font-body); font-size: clamp(.95rem, .85rem + .35vw, 1.2rem) !important; font-weight: 700; line-height: 1.2; }
.wm-theme .mh-posts-stacked-item .mh-meta { margin-top: .6rem; padding: .2em .55em; font-size: .72rem; letter-spacing: .06em; background: var(--wm-red); }
@media (max-width: 29.99em) {
    .wm-theme .mh-posts-stacked-small .mh-meta { display: none; }
}

/* Grid widget */
.wm-theme .mh-posts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: clamp(1rem, 2vw, 1.75rem); padding: 0; border: 0; }
.wm-theme .mh-posts-grid::after { display: none; }
.wm-theme .mh-posts-grid .mh-posts-grid-col { float: none; width: auto; margin: 0; padding: 0; border: 0; }
.wm-theme .mh-posts-grid-item { height: 100%; }
.wm-theme .mh-posts-grid-thumb { margin: 0 0 .85rem; }
.wm-theme .mh-posts-grid-thumb img { aspect-ratio: 16 / 10; }
.wm-theme .mh-posts-grid .mh-meta { display: block; margin-top: .5rem; }
@media (max-width: 29.99em) {
    .wm-theme .mh-posts-grid-item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 0 1rem; }
    .wm-theme .mh-posts-grid-thumb { grid-row: span 3; margin: 0; }
    .wm-theme .mh-posts-grid-thumb img { aspect-ratio: 1; }
    .wm-theme .mh-posts-grid-title { font-size: var(--wm-step-0); }
}

/* Horizontal widget (compact list) */
.wm-theme .mh-posts-horizontal-widget { display: grid; gap: .85rem; padding: 0; background: none; }
.wm-theme .mh-posts-horizontal-widget::after { display: none; }
.wm-theme .mh-posts-horizontal-item { display: grid !important; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 1rem; float: none !important; width: auto !important; margin: 0 !important; }
.wm-theme .mh-posts-horizontal-thumb { margin: 0 !important; }
.wm-theme .mh-posts-horizontal-thumb img { aspect-ratio: 1; }
.wm-theme .mh-posts-horizontal-title { font-size: var(--wm-step-0) !important; }

/* ---------- Widgets & sidebars ---------- */

.wm-theme .mh-widget { margin: 0; }
.wm-theme .mh-widget-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--wm-font-display);
    font-size: var(--wm-step-1);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--wm-text);
    background: none;
    border: 0;
}
.wm-theme .mh-widget-title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--wm-red) 0 2.5rem, var(--wm-line) 2.5rem); }
.wm-theme .mh-widget-title-inner,
.wm-theme .mh-widget-title a { padding: 0; color: inherit; background: none; }

.wm-theme :is(.mh-sidebar, .mh-home-area-6) > .mh-widget {
    padding: 1.25rem;
    background: var(--wm-surface);
    border-radius: var(--wm-radius);
    box-shadow: var(--wm-shadow);
}
/* Spacer widgets from the old layout (only <br> inside) and commented-out widgets are not needed any more.
   (:has() cannot be nested, so "only <br>" is: has a <br> child and no non-<br> child.) */
.wm-theme .mh-widget:has(> .custom-html-widget > br):not(:has(> .custom-html-widget > :not(br))),
.wm-theme .mh-widget:has(> .custom-html-widget:empty) { display: none; }
.wm-theme .mh-widget :is(.textwidget, .custom-html-widget) img { border-radius: var(--wm-radius-sm); }
.wm-theme .mh-widget .textwidget > div:has(> a > img) { text-align: center; }
.wm-theme .mh-widget ul:not(.mh-share-buttons) { margin: 0; padding: 0; list-style: none; }
.wm-theme :is(.widget_recent_entries, .widget_archive, .widget_categories, .widget_nav_menu, .widget_pages) li {
    display: grid;
    gap: .1rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--wm-line);
}
.wm-theme :is(.widget_recent_entries, .widget_archive, .widget_categories, .widget_nav_menu, .widget_pages) li:last-child { border: 0; padding-bottom: 0; }
.wm-theme .widget_recent_entries a { font-weight: 700; line-height: 1.3; }
.wm-theme .widget_recent_entries a[aria-current] { color: var(--wm-red-ink); }
.wm-theme .post-date { font-size: var(--wm-step--1); color: var(--wm-text-muted); }

.wm-theme .widget_calendar table { width: 100%; text-align: center; }
.wm-theme .widget_calendar caption { margin-bottom: .5rem; font-family: var(--wm-font-display); font-weight: 800; text-transform: uppercase; }
.wm-theme .widget_calendar :is(th, td) { padding: .3rem 0; border: 0; }
.wm-theme .widget_calendar td a { display: block; font-weight: 800; color: #fff; background: var(--wm-red); border-radius: 50%; }
.wm-theme .wp-calendar-nav { display: flex; justify-content: space-between; margin-top: .5rem; font-weight: 700; }

/* Match cards ("Nächstes/Letztes Spiel", Pimcore templates of the wormatia plugin). The templates
   carry inline light colors and a monospace score, so these overrides need !important. */
.wm-theme .mh-widget .textwidget > div[style*="border"] {
    margin-bottom: 0 !important;
    overflow: hidden;
    border: 1px solid var(--wm-line) !important;
    border-radius: var(--wm-radius-sm);
}
.wm-theme .mh-widget .textwidget figcaption { margin-top: .4rem; font-size: var(--wm-step--1); font-weight: 700; line-height: 1.25; color: var(--wm-text); }
.wm-theme .mh-widget .textwidget span[style*="monospace"] {
    font-family: var(--wm-font-display) !important;
    font-size: 2.6rem !important;
    font-weight: 900;
    line-height: 1 !important;
    letter-spacing: .04em;
    color: var(--wm-text);
}
.wm-theme .mh-widget .textwidget table[style*="background"] { width: 100%; background: var(--wm-surface-2) !important; border-radius: var(--wm-radius-sm); }
.wm-theme .mh-widget .textwidget table[style*="background"] a { color: var(--wm-red-ink); }

/* Tables in widgets (match info, press list): compact rows, no grid lines in either scheme */
.wm-theme .mh-widget table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-variant-numeric: tabular-nums lining-nums; }
.wm-theme .mh-widget .wp-block-table { margin: 0; }
.wm-theme .mh-widget :is(td, th) { padding: .55rem .5rem; color: var(--wm-text); vertical-align: top; border: 0; border-bottom: 1px solid var(--wm-line); }
.wm-theme .mh-widget tr:last-child > :is(td, th) { border-bottom: 0; }
.wm-theme .mh-widget .is-style-stripes tbody tr:nth-child(odd) { background: transparent; }
.wm-theme .mh-widget .wp-block-table td:first-child:not(:only-child) { width: 1%; padding-left: 0; font-size: var(--wm-step--1); white-space: nowrap; color: var(--wm-text-muted); }
.wm-theme .mh-widget td a { font-weight: 700; }
.wm-theme .mh-widget td a:hover { color: var(--wm-red-ink); }

/* Liveticker badge (custom HTML widget on the home page) */
.wm-theme #liveticker a { display: block; padding: .9rem 1rem; font-family: var(--wm-font-display); font-size: 1.2rem; font-weight: 900; letter-spacing: .06em; text-align: center; text-transform: uppercase; color: #fff; background: var(--wm-red); border-radius: var(--wm-radius-sm); }

/* ---------- Buttons: Gutenberg buttons and Bit Form share one look ---------- */

:root {
    --wormatia-cta-bg: var(--wm-red);
    --wormatia-cta-bg-hover: var(--wm-red-deep);
}
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn, .wm-button, input[type="submit"]:not(.search-submit), .comment-reply-link) {
    display: inline-flex;
    align-items: center;
    gap: .55em;
    padding: .8em 1.6em !important;
    font-family: var(--wm-font-display) !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
    line-height: 1.1;
    text-transform: uppercase;
    text-decoration: none !important;
    color: #fff !important;
    cursor: pointer;
    background-color: var(--wormatia-cta-bg) !important;
    border: 2px solid var(--wormatia-cta-bg) !important;
    border-radius: 99px !important;
    box-shadow: 0 8px 18px -10px rgb(160 0 16 / 70%) !important;
    transition: background-color .2s, border-color .2s, transform .2s var(--wm-ease), box-shadow .2s;
}
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn, .wm-button)::after {
    content: "\2192";
    transition: transform .2s var(--wm-ease);
}
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn, .wm-button, input[type="submit"]:not(.search-submit)):is(:hover, :focus-visible) {
    background-color: var(--wormatia-cta-bg-hover) !important;
    border-color: var(--wormatia-cta-bg-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 22px -10px rgb(160 0 16 / 80%) !important;
}
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn, .wm-button):is(:hover, :focus-visible)::after { transform: translateX(4px); }
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn, .wm-button):active { transform: translateY(1px) !important; }
.wm-theme :is(.wp-block-button__link, .bf-btn, .bf-button, button.prev-step-btn, button.next-step-btn):focus-visible { outline: 3px solid var(--wm-focus) !important; outline-offset: 3px; }
.wm-theme .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wm-red-ink) !important; background: transparent !important; box-shadow: none !important; }
.wm-theme .wp-block-button.is-style-outline .wp-block-button__link:is(:hover, :focus-visible) { color: #fff !important; background: var(--wm-red) !important; }

/* ---------- Forms ---------- */

.wm-theme :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], select, textarea):not(.search-field) {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: .6rem .85rem;
    font: inherit;
    color: var(--wm-text);
    background: var(--wm-surface);
    border: 1px solid var(--wm-line-strong);
    border-radius: var(--wm-radius-sm);
    transition: border-color .2s, box-shadow .2s;
}
.wm-theme :is(input, select, textarea):not(.search-field):focus { outline: none; border-color: var(--wm-red); box-shadow: 0 0 0 4px rgb(226 0 26 / 18%); }
.wm-theme form label { font-weight: 700; }
.wm-theme .grecaptcha-badge { opacity: 0; }

/* Bit Form: token and honeypot inputs must stay hidden even if the generated form stylesheet is missing. */
.wm-theme .bf-form .d-none { display: none !important; }

/* Bit Form ships a hard-coded blue accent; use the club red for progress, choices and focus. */
.wm-theme .bf-form ._frm-b-stp-progress-fill { color: #fff !important; background: #e2001a !important; }
.wm-theme .bf-form .bf-ci:checked ~ [data-cl] [data-bx] { background: #e2001a !important; border-color: #e2001a !important; }
.wm-theme .bf-form .bf-ci:hover ~ [data-cl] [data-bx] { border-color: #e2001a !important; }
.wm-theme .bf-form .bf-ci:focus-visible ~ [data-cl] [data-bx] { outline: 2px solid #e2001a !important; box-shadow: 0 0 0 3px rgb(226 0 26 / 30%) !important; }
.wm-theme .bf-form .bf-fld:focus { border-color: #e2001a !important; box-shadow: 0 0 0 4px rgb(226 0 26 / 18%) !important; }
.wm-theme .bf-form button.prev-step-btn::after { content: none; }
.wm-theme .bf-form button.prev-step-btn::before { content: "\2190"; transition: transform .2s var(--wm-ease); }
.wm-theme .bf-form button.prev-step-btn:is(:hover, :focus-visible)::before { transform: translateX(-4px); }

/* Bit Form validation: an alert tied to its field, not a pale box that reads like any other block. */
.wm-theme .bf-form :is(input, select, textarea)[aria-invalid="true"] {
    border-color: #c10016 !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 4px rgb(226 0 26 / 14%) !important;
}
.wm-theme .bf-form .bf-err-msg {
    display: flex !important;
    align-items: flex-start;
    gap: .5em;
    margin: .4rem 0 0 !important;
    padding: .55rem .8rem !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #c10016 !important;
    background: #fff1f2 !important;
    border: 0 !important;
    border-left: 4px solid #e2001a !important;
    border-radius: 0 var(--wm-radius-sm) var(--wm-radius-sm) 0 !important;
}
.wm-theme .bf-form .bf-err-msg::before {
    content: "!";
    flex: none;
    display: grid;
    place-items: center;
    width: 1.25em;
    height: 1.25em;
    font-size: .85em;
    font-weight: 900;
    color: #fff;
    background: #e2001a;
    border-radius: 50%;
    transform: translateY(.1em);
}
.wm-theme .bf-form .bf-err-msg:empty { display: none !important; }

/* Third-party embeds and forms that are designed for light pages stay light in dark mode. */
.wm-theme :is(.fussballde_widget, [class*="bit-form"], [class*="_frm"], .wc-placeholder, .wp-block-embed.is-type-rich) { color-scheme: light; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .wm-theme :is(.fussballde_widget, form[class*="_frm"]) { padding: 1rem; color: #1b1719; background: #fff; border-radius: var(--wm-radius-sm); }
}
:root[data-theme="dark"] .wm-theme :is(.fussballde_widget, form[class*="_frm"]) { padding: 1rem; color: #1b1719; background: #fff; border-radius: var(--wm-radius-sm); }

/* Ticket Regional event list (iframe; its content and grey background come from ticket-regional.de).
   The embed's height="70%" collapses to ~200px on phones, so the height is set here. */
.wm-theme .entry-content iframe[src*="ticket-regional.de"] {
    display: block;
    width: 100%;
    height: clamp(30rem, 75vh, 42rem);
    background: #d9d9d9;
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
    box-shadow: var(--wm-shadow);
}
/* Consent placeholders sit in the same spots as the embeds: same card shape as tables and embeds */
.wm-theme .wc-placeholder { border-color: var(--wm-line); border-radius: var(--wm-radius-sm); }

/* Accordion blocks plugin: titles look like toggle bars (red accent, chevron button, "Aufklappen" hint) */
.wm-theme .c-accordion__item { margin-bottom: .5rem; background: var(--wm-surface-2); border: 1px solid var(--wm-line); border-left: 4px solid var(--wm-red); border-radius: var(--wm-radius-sm); overflow: hidden; }
.wm-theme .entry-content .c-accordion__title { margin: 0 !important; padding: .9rem 3.75rem .9rem 1rem !important; font-family: var(--wm-font-display); font-size: var(--wm-step-1); line-height: 1.2; text-transform: uppercase; background: var(--wm-surface); cursor: pointer; user-select: none; transition: background-color .2s, color .2s; }
.wm-theme .c-accordion__title:hover { color: var(--wm-red-ink); background: var(--wm-surface-3); }
.wm-theme .c-accordion__title:focus-visible { outline: 3px solid var(--wm-focus); outline-offset: -3px; }
.wm-theme .is-open > .c-accordion__title { color: var(--wm-red-ink); border-bottom: 1px solid var(--wm-line); }
.wm-theme .c-accordion__content { padding: 1rem 1rem 1rem; }
/* The plugin draws its toggle with ::after, which an h2 title would otherwise style as the red heading underline. */
.wm-theme .entry-content .c-accordion__title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    bottom: auto;
    left: auto;
    width: 2rem;
    height: 2rem;
    background: var(--wm-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 1.1rem no-repeat;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: transform .2s, background-color .2s;
}
.wm-theme .entry-content .c-accordion__title:hover::after { background-color: var(--wm-red-deep); }
.wm-theme .entry-content .is-open > .c-accordion__title::after { transform: translateY(-50%) rotate(180deg); }
.wm-theme .entry-content .no-js > .c-accordion__title::after { display: none; }
/* Text hint next to the chevron; the alt text after "/" keeps it out of the button's accessible name */
@media (min-width: 48em) {
    .wm-theme .entry-content .c-accordion__title { padding-right: 10rem !important; }
    .wm-theme .entry-content .c-accordion__title::before {
        content: "Aufklappen" / "";
        position: absolute;
        top: 50%;
        right: 3.75rem;
        font-family: var(--wm-font-body);
        font-size: var(--wm-step--1);
        font-weight: 700;
        text-transform: none;
        color: var(--wm-text-muted);
        transform: translateY(-50%);
    }
    .wm-theme .entry-content .is-open > .c-accordion__title::before { content: "Zuklappen" / ""; }
    .wm-theme .entry-content .no-js > .c-accordion__title::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .wm-theme .entry-content .c-accordion__title::after { transition: none; }
}

/* ---------- Sub website header (template-sub-website.php content) ---------- */

.wm-theme .sub-website-header { background: var(--wm-red); border-radius: var(--wm-radius-sm); border-bottom: 0; }
.wm-theme .sub-website-title { display: block; padding: .6rem 1rem; font-family: var(--wm-font-display); font-size: var(--wm-step-3); font-weight: 900; text-transform: uppercase; color: #fff; }

/* ---------- Player profile (Spieler-Steckbrief) ---------- */

.wm-theme .spieler-steckbrief { margin-bottom: 2rem; }
.wm-theme .spieler-steckbrief .wp-block-columns { align-items: flex-start; margin-bottom: 2rem; }
.wm-theme .spieler-steckbrief .spieler-foto { flex-shrink: 0; }
.wm-theme .spieler-steckbrief .spieler-foto img { object-fit: cover; border-radius: var(--wm-radius); box-shadow: var(--wm-shadow-lg); }
.wm-theme .spieler-steckbrief .spieler-daten { min-width: 0; }
.wm-theme .spieler-steckbrief .wp-block-table th { width: 30%; min-width: 120px; white-space: normal; }
@media (max-width: 47.99em) {
    .wm-theme .spieler-steckbrief .wp-block-columns { flex-direction: column; gap: 1.5rem !important; }
    .wm-theme .spieler-steckbrief .spieler-foto { width: 60%; margin: 0 auto; }
}

/* ---------- Search results page ---------- */

.wm-theme .wq-page { display: grid; gap: 1rem; }
.wm-theme .wq-page .wq-item { margin: 0; padding: 1rem 1rem 1rem 1.15rem; background: var(--wm-surface); border-radius: var(--wm-radius-sm); box-shadow: var(--wm-shadow); }
.wm-theme .wq-page .wq-item .mh-posts-list-thumb img { aspect-ratio: auto; border-radius: 6px; }

/* ---------- 404 / no results ---------- */

.wm-theme .mh-wrapper > .entry-content,
.wm-theme .mh-content > .entry-content { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--wm-surface); border-radius: var(--wm-radius); }

/* ---------- Back to top ---------- */

.wm-theme .mh-back-to-top {
    right: 25px;
    bottom: max(25px, env(safe-area-inset-bottom));
    z-index: 800;
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #fff;
    background: var(--wm-red);
    border-radius: 50%;
    /* White ring keeps the button visible on red surfaces (navbar, footer legal bar);
       drawn as a shadow so the 44px size the consent launcher is positioned around stays the same. */
    box-shadow: 0 0 0 2.5px #fff, 0 10px 22px -8px rgb(120 0 14 / 70%);
    transition: transform .2s var(--wm-ease), background-color .2s;
}
.wm-theme .mh-back-to-top .fa { display: grid; place-items: center; height: 100%; font-size: 16px; line-height: 1; }
.wm-theme .mh-back-to-top:hover { color: #fff; background: var(--wm-red-deep); transform: translateY(-3px); }
@media (max-width: 47.99em) {
    .wm-theme .mh-back-to-top { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
}

/* The parent's .clearfix::after would become an empty extra cell in the grids above. */
.wm-theme :is(.mh-wrapper, .mh-main, .mh-home-columns, .mh-home-content > .clearfix, .mh-loop, .mh-posts-list-item, .mh-posts-list-content,
    .mh-posts-grid, .mh-posts-grid-col, .mh-posts-grid-item, .mh-posts-horizontal-widget, .mh-posts-horizontal-item,
    .mh-posts-stacked-widget, .mh-posts-stacked-columns, .mh-post-nav)::after { display: none; }
