.gc-header-locations__menu {
    border-color: rgba(8, 39, 32, 0.16);
    grid-template-columns: minmax(250px, 270px) minmax(580px, 620px);
    width: min(900px, calc(100vw - 32px));
    box-shadow: 0 22px 56px rgba(8, 39, 32, 0.16);
}

.gc-header-location-states {
    background: linear-gradient(160deg, #f6f8f7 0%, #e6efe6 100%);
    gap: 8px;
    padding: 14px;
}

.gc-header-state {
    border: 1px solid transparent;
    border-radius: 14px;
    gap: 12px;
    padding: 9px;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.gc-header-state b {
    background-color: #fff;
    border: 1px solid rgba(8, 39, 32, 0.1);
    border-radius: 12px;
    box-shadow: 0 5px 13px rgba(8, 39, 32, 0.08);
}

.gc-header-state b img {
    width: 32px;
    height: 32px;
}

.gc-header-state span {
    letter-spacing: -0.01em;
}

.gc-header-state:hover,
.gc-header-state:focus-visible {
    border-color: rgba(126, 190, 0, 0.45);
    background-color: #dff48e;
    transform: translateX(3px);
}

.gc-header-state.is-active {
    color: #fff;
    background-color: #0c3a30;
    border-color: #0c3a30;
    box-shadow: 0 8px 18px rgba(8, 39, 32, 0.17);
}

.gc-header-state.is-active b {
    background-color: #9edd05;
    border-color: #9edd05;
}

.gc-header-location-panels {
    background: #fff;
    padding: 26px;
}

.gc-header-state-panel > strong {
    letter-spacing: -0.03em;
    margin-bottom: 20px;
    font-size: 25px;
}

.gc-header-state-panel > strong::after {
    content: "Webdesign-Standorte";
    color: #5d6d68;
    letter-spacing: 0.04em;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 800;
    display: block;
}

.gc-header-state-panel > div {
    gap: 11px;
}

.gc-header-state-panel a.gc-header-city-link {
    color: #082720;
    background-color: #f6f8f7;
    border: 1px solid rgba(8, 39, 32, 0.1);
    border-radius: 14px;
    grid-template-columns: 24px minmax(0, 1fr) 18px;
    align-items: center;
    column-gap: 10px;
    min-height: 80px;
    padding: 12px;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    display: grid;
}

.gc-header-city-link__icon {
    color: #4f8400;
    background-color: #d3f751;
    border-radius: 9px;
    place-items: center;
    width: 24px;
    height: 24px;
    font-size: 15px;
    display: grid;
}

.gc-header-city-link__content {
    min-width: 0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.gc-header-city-link__description {
    color: #60716c;
    margin-top: 4px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
    white-space: normal;
    display: block;
}

.gc-header-city-link__arrow {
    color: #4f8400;
    justify-self: end;
    font-size: 17px;
    transition: transform 180ms ease;
}

.gc-header-state-panel a.gc-header-city-link:hover,
.gc-header-state-panel a.gc-header-city-link:focus-visible {
    color: #082720;
    background-color: #d3f751;
    border-color: #9edd05;
    box-shadow: 0 9px 18px rgba(84, 126, 0, 0.13);
    transform: translateY(-2px);
}

.gc-header-state-panel a.gc-header-city-link:hover .gc-header-city-link__description,
.gc-header-state-panel a.gc-header-city-link:focus-visible .gc-header-city-link__description {
    color: #274b24;
}

.gc-header-state-panel a.gc-header-city-link:hover .gc-header-city-link__arrow,
.gc-header-state-panel a.gc-header-city-link:focus-visible .gc-header-city-link__arrow {
    transform: translate(2px, -2px);
}

@media (max-width: 991px) {
    .gc-mobile-locations .gc-header-location-states {
        padding: 12px;
    }

    .gc-mobile-locations .gc-header-location-states > .gc-mobile-state-submenu {
        border-left: 0;
        margin: -2px 0 8px;
        padding: 0 0 0 52px;
    }

    .gc-mobile-locations .gc-header-location-states > .gc-mobile-state-submenu a.gc-header-city-link {
        border-radius: 12px;
        grid-template-columns: 22px minmax(0, 1fr) 16px;
        column-gap: 9px;
        min-height: 67px;
        padding: 10px;
    }

    .gc-mobile-locations .gc-header-city-link__description {
        font-size: 9px;
    }
}
