@media (max-width: 1080px) {
    main#row_content {
        margin: auto;
    }

    h1,
    main .h1,
    [role='heading'][aria-level='1'] {
        font-size: 2.2em;
    }

    h2,
    main .h2,
    .content_block .block_headline,
    [role='heading'][aria-level='2'] {
        font-size: 2.2em;
    }

    .content_block .block_headline {
        margin-bottom: 0.5em;
    }

    h3,
    main .h3,
    [role='heading'][aria-level='3'] {
        font-size: 1.8em;
    }

    h4,
    main .h4,
    main [role='heading'].h4,
    [role='heading'][aria-level='4'] {
        font-size: 1.2em;
    }

    .product_box h1 {
        font-size: 2vw;
    }
}

@media (max-width: 768px) {
    :root {
        --gap: 1.5rem;
    }

    body {
        font-size: 1.5rem;
    }

    .shop_cat_link .price data {
        font-size: 1.2rem;
    }

    .product_box h1 {
        font-size: 2em;
    }
    .content-wrapper {
        flex-direction: column;
    }
    aside {
        position: sticky;
        right: 0;
        transform: none;
        bottom: 0;
        top: auto;
        width: 100vw !important;
        flex-direction: row;
        margin: 0 calc(0px - var(--padding));
        padding: 0.5em var(--padding);
        justify-content: center;
        background-color: var(--creart);
    }
    aside .toggler {
        flex-shrink: 0;
        max-width: none;
        border: 2px solid var(--white);
    }
    aside .toggler img {
        min-width: 1rem;
        width: 2rem;
    }

    aside > *:not(.toggler) {
        position: absolute;
        max-height: 80vh;
        max-width: 100vw;
        width: 100%;
        overflow: auto;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .swiper-button-prev,
    .slider .button-prev {
        right: calc(100% - 0.5rem);
        left: auto;
        /* z-index: 10; */
        transform: translate(100%, -50%);
        height: 2em;
        width: 1em;
    }

    .swiper-button-next,
    .slider .button-next {
        left: calc(100% - 0.5rem);
        right: auto;
        /* z-index: 10; */
        transform: translate(-100%, -50%);
        height: 2em;
        width: 1em;
    }

    .shopcontainer .image_wrapper img {
        width: auto;
        height: auto;
        aspect-ratio: 1;
    }

    .product_image img {
        max-height: 15rem;
        object-fit: contain;
        object-position: center;
    }

    [role='tab'] {
        padding: 1rem;
        font-size: 0.8em;
    }

    .form-steps .steps .step:not(:last-child):after {
        width: 0.75rem;
    }

    .product_box h1 strong {
        font-size: 1.3em;
        hyphens: auto;
    }

    .form-row > label {
        min-width: 10rem;
        flex-grow: 1;
    }

    #sidebar_contact {
        margin: 0;
        padding: 2rem;
        background-color: var(--custom_lightblue);
    }

    #sidebar_contact .button {
        padding: 1rem 4rem;
        text-align: center;
    }
}
@media (max-width: 450px) {
    .cart_product_box {
        flex-direction: column;
    }

    .cart_product_box > div {
        width: 100% !important;
    }

    .cart_img {
        max-height: 10rem;
    }

    #legend_payment_method + .flexbox {
        gap: 0.5em;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    #legend_payment_method + .flexbox > * {
        width: 100%;
    }

    .flexbox.checkbox label {
        width: 100%;
    }

    .price_calculation_table {
        display: block;
        width: 100%;
    }

    .price_calculation_table tbody,
    .price_calculation_table thead,
    .price_calculation_table tr,
    .price_calculation_table td {
        display: block;
        width: 100%;
        text-align: left !important;
    }

    .price_calculation_table tr:after {
        content: none;
    }

    .price_calculation_table tr:not(:last-child) td:last-child {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        border-bottom: 2px solid var(--grey);
    }

    .price_calculation_table td[aria-label] {
        display: flex;
    }

    .price_calculation_table td[aria-label]:before {
        content: attr(aria-label) ': ';
        font-weight: bold;
        width: 30%;
    }

    .price_calculation_table th {
        display: none;
    }

    .slider {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        flex-direction: row-reverse;
        gap: var(--gap);
    }

    .slider .button-next,
    .slider .button-prev {
        position: static;
        transform: none;
    }

    .product_specification,
    .product_specification tbody,
    .product_specification tr,
    .product_specification th,
    .product_specification td,
    .product_specification tr > td:last-child {
        display: block;
        text-align: left;
    }
}
