.services-section {
    background: #f4f4f1;
}

.services-list {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3vw, 2rem);
}

.service-card {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: clamp(30rem, 54vw, 42rem);
    overflow: hidden;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    background-color: var(--brand-black);
    background-position: center;
    background-size: cover;
}

.service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72)), linear-gradient(110deg, rgba(255,212,0,.18), rgba(0,0,0,.18));
}

.service-card--abschleppdienst {
    background-image: url("../img/services/kfz5.jpg");
}

.service-card--pannendienst {
    background-image: url("../img/services/kfz25.jpg");
}

.service-card--bergedienst {
    background-image: url("../img/services/kfz10.jpg");
}

.service-card--havariedienst {
    background-image: url("../img/services/kfz15.jpg");
}

.service-card--umweltservice {
    background-image: url("../img/services/kfz1.jpg");
}

.service-card--oelspur {
    background-image: url("../img/services/kfz20.jpg");
}

.service-card-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 31rem);
    padding: clamp(1.2rem, 3vw, 1.75rem);
    color: var(--brand-black);
    background: linear-gradient(135deg, rgba(255,231,106,.97), rgba(255,212,0,.94));
    border: 3px solid var(--brand-black);
    border-radius: calc(var(--radius) + .35rem);
    box-shadow: 9px 9px 0 rgba(0,0,0,.92);
    transform: rotate(-1deg);
}

.service-card:nth-child(even) .service-card-panel {
    margin-left: auto;
    transform: rotate(1deg);
}

.service-card:nth-child(odd) .service-card-panel {
    margin-right: auto;
}

.service-card-kicker {
    display: inline-flex;
    margin: 0 0 .85rem;
    padding: .32rem .6rem;
    color: var(--brand-yellow);
    background: var(--brand-black);
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1.2;
    text-transform: uppercase;
}

.service-card h2 {
    font-size: clamp(1.55rem, 3vw, 2.3rem);
}

.service-card p:not(.service-card-kicker),
.service-card ul {
    color: #1f1f1f;
}

.service-card ul {
    padding-left: 1.15rem;
    margin-bottom: 0;
}

.service-card li::marker {
    color: var(--brand-black);
}

.service-area-section {
    position: relative;
    margin-top: clamp(2rem, 5vw, 4rem);
    padding: clamp(2rem, 5vw, 3.25rem);
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255,231,106,.97), rgba(255,212,0,.94));
    border: 3px solid var(--brand-black);
    border-radius: calc(var(--radius) + .9rem);
    box-shadow: var(--shadow-hard);
}

.service-area-head {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.service-area-section .area-list {
    position: relative;
    z-index: 1;
    gap: .85rem;
    margin-bottom: 0;
}

.service-area-section .area-list li {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: rgba(255,255,255,.86);
    box-shadow: 5px 5px 0 rgba(17,17,17,.92);
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.service-area-section .area-list li::before {
    content: "";
    width: .45rem;
    height: .45rem;
    background: var(--brand-yellow);
    border: 2px solid var(--brand-black);
    border-radius: 50%;
}

.service-area-section .area-list li:hover {
    background: var(--brand-yellow);
    box-shadow: 3px 3px 0 rgba(17,17,17,.92);
    transform: translate(2px, 2px);
}

.services-cta {
    position: relative;
    overflow: hidden;
    margin-top: clamp(2rem, 5vw, 3.5rem);
    padding: clamp(1.5rem, 4vw, 2.6rem);
    background: linear-gradient(135deg, rgba(255,231,106,.97), rgba(255,212,0,.94));
    border-radius: calc(var(--radius) + .9rem);
}

.services-cta h2,
.services-cta p,
.services-cta .eyebrow {
    position: relative;
    z-index: 1;
    color: var(--brand-black);
}

.services-cta .eyebrow {
    color: var(--brand-black);
}

.services-cta .btn {
    position: relative;
    z-index: 1;
    box-shadow: 7px 7px 0 rgba(17,17,17,.18);
}

@media (max-width: 620px) {
    .service-card {
        min-height: 28rem;
        padding: .85rem;
        cursor: pointer;
    }

    .service-card:focus-visible {
        outline: 3px solid var(--brand-black);
        outline-offset: 5px;
        box-shadow: 0 0 0 3px var(--brand-yellow);
    }

    .service-card--abschleppdienst {
        background-image: url("../img/services/mobile/kfz5.jpg");
        background-position: 48% center;
    }

    .service-card--pannendienst {
        background-image: url("../img/services/mobile/kfz25.jpg");
        background-position: 58% center;
    }

    .service-card--bergedienst {
        background-image: url("../img/services/mobile/kfz10.jpg");
        background-position: 48% center;
    }

    .service-card--havariedienst {
        background-image: url("../img/services/mobile/kfz15.jpg");
        background-position: 54% center;
    }

    .service-card--umweltservice {
        background-image: url("../img/services/mobile/kfz1.jpg");
        background-position: 50% center;
    }

    .service-card--oelspur {
        background-image: url("../img/services/mobile/kfz20.jpg");
        background-position: 52% center;
    }

    .service-card-panel,
    .service-card:nth-child(even) .service-card-panel {
        width: 100%;
        max-height: 9.4rem;
        overflow: hidden;
        box-shadow: 6px 6px 0 rgba(0,0,0,.92);
        transform: none;
        transition: max-height .28s ease, transform .18s ease;
    }

    .service-card-panel > p:not(.service-card-kicker),
    .service-card-panel > ul {
        opacity: 0;
        visibility: hidden;
        transform: translateY(.35rem);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    .service-card-panel::after {
        content: "Antippen für Details";
        display: inline-flex;
        margin-top: .25rem;
        color: var(--brand-black);
        font-size: .74rem;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .service-card:hover .service-card-panel,
    .service-card:focus .service-card-panel,
    .service-card:active .service-card-panel {
        max-height: 30rem;
    }

    .service-card:hover .service-card-panel > p:not(.service-card-kicker),
    .service-card:hover .service-card-panel > ul,
    .service-card:focus .service-card-panel > p:not(.service-card-kicker),
    .service-card:focus .service-card-panel > ul,
    .service-card:active .service-card-panel > p:not(.service-card-kicker),
    .service-card:active .service-card-panel > ul {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .service-card:hover .service-card-panel::after,
    .service-card:focus .service-card-panel::after,
    .service-card:active .service-card-panel::after {
        content: "";
        margin: 0;
    }

    .service-card h2 {
        margin-bottom: .35rem;
    }

    .service-card p:not(.service-card-kicker) {
        margin-top: .9rem;
    }

    .service-area-section {
        width: min(100% - 24px, var(--container));
        padding: 1.35rem;
        box-shadow: 6px 6px 0 var(--brand-black);
    }

    .service-area-section .area-list li {
        width: 100%;
        border-radius: .75rem;
        box-shadow: 4px 4px 0 rgba(17,17,17,.92);
    }

    .services-cta {
        box-shadow: 6px 6px 0 var(--brand-black);
    }
}
