/* Isolated integration candidate; not loaded by the live theme. */
@font-face {
    font-family: SachsenmopedKanteTeaser;
    src: url('./sachsenmoped-kante-black-oblique.otf') format('opentype');
    font-style: oblique;
    font-weight: 900;
    font-display: swap;
}
.sm-teaser-art { position: relative; display: block; aspect-ratio: 1; container-type: inline-size; overflow: hidden; isolation: isolate; background: var(--sm-colour); }
.sm-teaser-art__background { position: absolute; inset: 0; z-index: 0; background: linear-gradient(165deg, var(--sm-gray-top, #e7e7e7), var(--sm-gray-bottom, #bcbcbc)); clip-path: polygon(0 68.333%, 100% 47.5%, 100% 100%, 0 100%); }
.sm-teaser-art__title { position: absolute; z-index: 2; left: 5%; right: 5%; top: 9%; display: flex; flex-direction: column; align-items: center; font: oblique 900 1rem/.92 SachsenmopedKanteTeaser, Arial, sans-serif; letter-spacing: .04em; color: #fff; transition: transform 420ms ease; }
.sm-teaser-art__line { display: block; font-size: var(--sm-font-size); white-space: nowrap; }
.sm-teaser-art__cutout { position: absolute; z-index: 4; left: var(--sm-x); top: calc(var(--sm-y) - var(--sm-raise, 0%)); width: var(--sm-width); height: var(--sm-height); transition: transform 650ms cubic-bezier(.2,.8,.2,1), filter 650ms ease; }
.sm-teaser-art__sketch { position: absolute; z-index: 3; width: 105%; height: 47%; left: 0; top: 32%; overflow: visible; pointer-events: none; }
.sm-teaser-art__sketch path { fill: none; stroke: #fff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100 100; stroke-dashoffset: 100; }
.sm-teaser-art__sketch path:nth-child(3) { stroke-width: 2; opacity: .9; }
@keyframes sm-teaser-draw { 0% { stroke-dashoffset: 100; } 50% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -100; } }
.sm-teaser-art--rad-konfigurator { --sm-gray-top: #e7e7e7; --sm-gray-bottom: #bcbcbc; --sm-raise: 0%; }
.sm-teaser-art--rad-komplettraeder { --sm-gray-top: #eee; --sm-gray-bottom: #c9c9c9; --sm-raise: 2%; }
.sm-teaser-art--rad-speichenraeder { --sm-gray-top: #dadada; --sm-gray-bottom: #b6b6b6; --sm-raise: 4%; }
.sm-teaser-art--rad-speichenradkomponenten { --sm-gray-top: #ededed; --sm-gray-bottom: #d0d0d0; --sm-raise: 5%; }
.sm-teaser-art--rad-reifensets { --sm-gray-top: #dfdfdf; --sm-gray-bottom: #bcbcbc; --sm-raise: 1%; }
.sm-teaser-art--rad-bereifung-zubehoer { --sm-gray-top: #f0f0f0; --sm-gray-bottom: #c3c3c3; --sm-raise: 3%; }
.sm-teaser-art--rad-bremsschild-nabendeckel { --sm-gray-top: #e4e4e4; --sm-gray-bottom: #c4c4c4; --sm-raise: 4%; }
.sm-teaser-art--rad-radservice-reifenmontage { --sm-gray-top: #e9e9e9; --sm-gray-bottom: #b7b7b7; --sm-raise: 2%; }
.sm-teaser-art--rad-herstellererklaerung { --sm-gray-top: #e2e2e2; --sm-gray-bottom: #cdcdcd; --sm-raise: 4%; }
.sm-teaser-art--rad-konfigurator::after { content: ''; position: absolute; z-index: 1; left: 15%; right: 10%; bottom: 2%; height: 12%; background: radial-gradient(ellipse, #0006 0%, #0003 35%, transparent 72%); pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
    .sm-teaser-link:focus-visible .sm-teaser-art__title { transform: translateX(4%); }
    .sm-teaser-link:focus-visible .sm-teaser-art__cutout { transform: translate(-5%, -4.5%) rotate(-7deg) scale(1.07); filter: drop-shadow(20px 20px 20px #0004); }
    .sm-teaser-link:focus-visible .sm-teaser-art__sketch path { animation: sm-teaser-draw 210ms linear both; }
    .sm-teaser-link:focus-visible .sm-teaser-art__sketch path:nth-child(2) { animation-delay: 12.6ms; }
    .sm-teaser-link:focus-visible .sm-teaser-art__sketch path:nth-child(3) { animation-delay: 23.1ms; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .sm-teaser-link:hover .sm-teaser-art__title { transform: translateX(4%); }
    .sm-teaser-link:hover .sm-teaser-art__cutout { transform: translate(-5%, -4.5%) rotate(-7deg) scale(1.07); filter: drop-shadow(20px 20px 20px #0004); }
    .sm-teaser-link:hover .sm-teaser-art__sketch path { animation: sm-teaser-draw 210ms linear both; }
    .sm-teaser-link:hover .sm-teaser-art__sketch path:nth-child(2) { animation-delay: 12.6ms; }
    .sm-teaser-link:hover .sm-teaser-art__sketch path:nth-child(3) { animation-delay: 23.1ms; }
}
@media (prefers-reduced-motion: reduce) { .sm-teaser-art__title, .sm-teaser-art__cutout { transition: none; } }
/* The original, working category card remains visible until its new image loads. */
.sm-teaser-heading { display: none; margin: 0; }
.sm-teaser-shell.is-ready > .sm-teaser-shell__native { display: none; }
.sm-teaser-shell.is-ready > .sm-teaser-heading { display: block; }
.sm-teaser-heading > .sm-teaser-link,
.sm-parts-directory__category-content:has(> .sm-teaser-shell.is-ready) { display: block; }
.sm-teaser-shell.is-ready .sm-teaser-link:focus-visible,
.sm-teaser-link:has(> .sm-teaser-shell.is-ready):focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
/* Color overview: native links and text remain in place. */
.sm-color-teaser { position: relative; }
.sm-color-teaser__art { display: none; position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.sm-color-teaser.is-ready > .sm-color-teaser__art { display: block; }
.sm-color-teaser.is-ready .cms-element-teaser-inner-background { visibility: hidden; }
.cms-page .sm-color-overview-native .cms-sections .cms-element-teaser.teaser.sm-color-teaser.is-ready .cms-element-teaser-inner > .cms-element-teaser-inner-container.cms-element-teaser-inner-container-1 { position: absolute; inset: auto; width: 1px; height: 1px; padding: 0 !important; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sm-color-teaser.is-ready .link--completely { z-index: 3; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .sm-color-teaser.is-ready:hover .sm-teaser-art__title { transform: translateX(4%); }
    .sm-color-teaser.is-ready:hover .sm-teaser-art__cutout { transform: translate(-5%, -4.5%) rotate(-7deg) scale(1.07); filter: drop-shadow(20px 20px 20px #0004); }
    .sm-color-teaser.is-ready:hover .sm-teaser-art__sketch path { animation: sm-teaser-draw 210ms linear both; }
    .sm-color-teaser.is-ready:hover .sm-teaser-art__sketch path:nth-child(2) { animation-delay: 12.6ms; }
    .sm-color-teaser.is-ready:hover .sm-teaser-art__sketch path:nth-child(3) { animation-delay: 23.1ms; }
}
@media (prefers-reduced-motion: no-preference) {
    .sm-color-teaser.is-ready:has(.link--completely:focus-visible) .sm-teaser-art__title { transform: translateX(4%); }
    .sm-color-teaser.is-ready:has(.link--completely:focus-visible) .sm-teaser-art__cutout { transform: translate(-5%, -4.5%) rotate(-7deg) scale(1.07); filter: drop-shadow(20px 20px 20px #0004); }
    .sm-color-teaser.is-ready:has(.link--completely:focus-visible) .sm-teaser-art__sketch path { animation: sm-teaser-draw 210ms linear both; }
}
/* Match the smaller spacing selected for the teaser collection. */
.sm-color-overview-native:has(.sm-color-teaser.is-ready) { gap: 12px; }
@media (max-width: 767.98px) { .sm-color-overview-native:has(.sm-color-teaser.is-ready) { gap: 8px; } }
/* Scope grid changes to the enhanced parts directory; preserve child links. */
.sm-parts-directory:has(.sm-teaser-shell.is-ready) .sm-parts-directory__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sm-parts-directory:has(.sm-teaser-shell.is-ready) .sm-parts-directory__links a { overflow-wrap: anywhere; }
@media (max-width: 900px) {
    .sm-parts-directory:has(.sm-teaser-shell.is-ready) .sm-parts-directory__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}
@media (max-width: 600px) {
    .sm-parts-directory:has(.sm-teaser-shell.is-ready) .sm-parts-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
}
/* Compact, larger native category cards only when the new component is ready. */
.cms-page .cms-element-category-listing:has(.sm-teaser-shell.is-ready) > .row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 900px) {
    .cms-page .cms-element-category-listing:has(.sm-teaser-shell.is-ready) > .row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}
@media (max-width: 600px) {
    .cms-page .cms-element-category-listing:has(.sm-teaser-shell.is-ready) > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
}
.sm-teaser-description-details > summary { cursor: pointer; }
.sm-teaser-description-details > summary:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Native disclosure styled to match the product-detail accordion. */
.sm-teaser-description-details { border-bottom: 1px solid #292929; }
.sm-teaser-description-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; color: #f2f2f2; font-size: 13px; line-height: 1.5; font-weight: 600; list-style: none; }
.sm-teaser-description-details > summary::-webkit-details-marker { display: none; }
.sm-teaser-description-details > summary::after { content: ''; flex: 0 0 9px; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
.sm-teaser-description-details[open] > summary::after { transform: rotate(225deg); }
.sm-teaser-description-content { padding-bottom: 20px; }
