/* ============================================================
   1A CARWORLD
   MASTER STYLESHEET
   Responsive Desktop / Tablet / Smartphone
============================================================ */


/* ============================================================
   01 — GRUNDLAGEN
============================================================ */

:root {

    --red: #c90000;
    --red-dark: #a80000;
    --red-light: #f9e9e9;

    --black: #111111;
    --black-soft: #1b1b1b;

    --white: #ffffff;
    --off-white: #f8f8f8;
    --grey-light: #eeeeee;
    --grey: #777777;
    --grey-dark: #444444;

    --border: #e5e5e5;

    --shadow-small:
        0 8px 25px rgba(0, 0, 0, .06);

    --shadow:
        0 20px 60px rgba(0, 0, 0, .09);

    --shadow-red:
        0 18px 40px rgba(201, 0, 0, .18);

    --radius-small: 10px;
    --radius: 18px;
    --radius-large: 28px;

    --container: 1440px;

    --transition:
        all .25s cubic-bezier(.2, .7, .2, 1);

}


/* ============================================================
   RESET
============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    margin: 0;
    padding: 0;

    width: 100%;

    scroll-behavior: smooth;

    overflow-x: hidden;
}


body {
    margin: 0;
    padding: 0;

    width: 100%;
    max-width: 100%;

    min-height: 100vh;

    font-family:
        "Inter",
        Arial,
        Helvetica,
        sans-serif;

    color: var(--black);

    background: var(--white);

    overflow-x: hidden;

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;
}


img {
    max-width: 100%;
    height: auto;

    display: block;
}


button,
input,
select,
textarea {
    font: inherit;
}


button {
    cursor: pointer;
}


a {
    color: inherit;
    text-decoration: none;
}


ul,
ol {
    margin: 0;
    padding: 0;

    list-style: none;
}


h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}


::selection {
    background: var(--red);
    color: #fff;
}


/* ============================================================
   CONTAINER
============================================================ */

.container,
.header-inner,
.footer-inner,
.ankauf-container {
    width: 100%;
    max-width: var(--container);

    margin-left: auto;
    margin-right: auto;

    padding-left: 32px;
    padding-right: 32px;
}


/* ============================================================
   HEADER
============================================================ */

.site-header {
    position: relative;

    width: 100%;

    background: rgba(255, 255, 255, .96);

    border-bottom: 1px solid rgba(0, 0, 0, .07);

    z-index: 1000;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}


.header-inner {

    min-height: 94px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 35px;

}


/* ============================================================
   LOGO
============================================================ */

.brand {
    display: flex;

    align-items: center;

    flex-shrink: 0;

    max-width: 235px;
}


.brand-logo {

    width: 205px;

    max-height: 72px;

    object-fit: contain;

    object-position: center;

}


/* ============================================================
   DESKTOP NAVIGATION
============================================================ */

.desktop-nav {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 8px;

    margin-left: auto;
}


.desktop-nav a {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    padding: 0 17px;

    color: #222;

    font-size: 14px;

    font-weight: 700;

    white-space: nowrap;

    border-radius: 10px;

    transition: var(--transition);

}


.desktop-nav a::after {

    content: "";

    position: absolute;

    left: 17px;
    right: 17px;

    bottom: 5px;

    height: 2px;

    background: var(--red);

    transform: scaleX(0);

    transform-origin: center;

    transition: transform .25s ease;

}


.desktop-nav a:hover {

    color: var(--red);

}


.desktop-nav a:hover::after,
.desktop-nav a.nav-active::after {

    transform: scaleX(1);

}


.desktop-nav a.nav-active {

    color: var(--red);

}


/* ============================================================
   MOBILE MENU BUTTON
============================================================ */

.menu-toggle {

    display: none;

    width: 48px;
    height: 48px;

    padding: 0;

    border: 0;

    border-radius: 10px;

    background: var(--red);

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 5px;

    box-shadow: var(--shadow-red);

    transition: var(--transition);
}


.menu-toggle:hover {
    background: var(--red-dark);
}


.menu-toggle span {

    display: block;

    width: 21px;
    height: 2px;

    background: #fff;

    border-radius: 10px;

    transition: .25s ease;

}


.menu-toggle.active span:nth-child(1) {

    transform:
        translateY(7px)
        rotate(45deg);

}


.menu-toggle.active span:nth-child(2) {

    opacity: 0;

}


.menu-toggle.active span:nth-child(3) {

    transform:
        translateY(-7px)
        rotate(-45deg);

}


/* ============================================================
   MOBILE NAVIGATION
============================================================ */

.mobile-nav {

    display: none;

    width: 100%;

    background: #fff;

    border-top: 1px solid var(--border);

    box-shadow:
        0 20px 40px rgba(0, 0, 0, .10);

}


.mobile-nav a {

    display: flex;

    align-items: center;

    min-height: 58px;

    padding:
        0 24px;

    border-bottom: 1px solid #eeeeee;

    font-size: 16px;

    font-weight: 700;

    color: #222;

}


.mobile-nav a:hover,
.mobile-nav a.mobile-active {

    color: var(--red);

    background: #fafafa;

}


body.menu-open {
    overflow: hidden;
}


/* ============================================================
   ANKAUF HERO
============================================================ */

.ankauf-hero {

    position: relative;

    width: 100%;

    min-height: 570px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:

        linear-gradient(
            100deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.92) 42%,
            rgba(255,255,255,.45) 75%,
            rgba(255,255,255,.12) 100%
        ),

        url("https://i.ibb.co/zVhMcrxx/5c01b998-6f55-428c-837b-7f36002aef2f.jpg");

    background-size: cover;

    background-position: center;

}


.ankauf-hero::after {

    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -170px;
    bottom: -230px;

    border-radius: 50%;

    background:
        rgba(201, 0, 0, .08);

    filter: blur(2px);

}


.ankauf-hero-content {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 850px;

    padding:
        90px max(32px, calc((100vw - 1376px) / 2));

}


.eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 22px;

    color: var(--red);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2.4px;

}


.ankauf-hero h1 {

    margin: 0;

    max-width: 820px;

    color: #111;

    font-family:
        "Montserrat",
        "Inter",
        Arial,
        sans-serif;

    font-size:
        clamp(42px, 6vw, 82px);

    line-height: .98;

    letter-spacing: -4px;

}


.ankauf-hero h1 span {

    display: block;

    color: var(--red);

}


.ankauf-hero p {

    max-width: 690px;

    margin:
        28px 0 0;

    color: #555;

    font-size: 18px;

    line-height: 1.75;

}


.hero-points {

    display: flex;

    flex-wrap: wrap;

    gap: 10px 25px;

    margin-top: 30px;

}


.hero-points span {

    color: #333;

    font-size: 14px;

    font-weight: 700;

}


/* ============================================================
   ANKAUF SECTION
============================================================ */

.ankauf-section {

    width: 100%;

    padding:
        100px 0 120px;

    background: #fff;

}


.ankauf-intro {

    max-width: 800px;

    margin-bottom: 60px;

}


.section-label {

    display: inline-block;

    margin-bottom: 15px;

    color: var(--red);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;

}


.ankauf-intro h2 {

    margin-bottom: 18px;

    font-family:
        "Montserrat",
        "Inter",
        Arial,
        sans-serif;

    font-size:
        clamp(34px, 5vw, 58px);

    line-height: 1.05;

    letter-spacing: -2.5px;

}


.ankauf-intro p {

    max-width: 680px;

    margin: 0;

    color: #666;

    font-size: 17px;

    line-height: 1.8;

}


/* ============================================================
   FORM
============================================================ */

.ankauf-form {

    width: 100%;

    background: #fff;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-large);

    box-shadow:
        var(--shadow);

    overflow: hidden;

}


/* ============================================================
   FORM SECTION
============================================================ */

.form-section {

    padding:
        50px;

    border-bottom:
        1px solid var(--border);

}


.form-section:last-of-type {

    border-bottom: 0;

}


.form-section-heading {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    margin-bottom: 35px;

}


.form-number {

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: var(--red);

    color: #fff;

    font-size: 13px;

    font-weight: 800;

    box-shadow:
        0 12px 25px rgba(201,0,0,.15);

}


.form-section-heading h3 {

    margin: 0 0 5px;

    color: #111;

    font-size: 24px;

    font-weight: 800;

}


.form-section-heading p {

    margin: 0;

    color: #888;

    font-size: 14px;

}


/* ============================================================
   FORM GRID
============================================================ */

.form-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        24px;

}


.form-group {

    min-width: 0;

}


.form-group-full {

    grid-column:
        1 / -1;

}


.form-group label {

    display: block;

    margin-bottom: 9px;

    color: #292929;

    font-size: 13px;

    font-weight: 700;

}


.form-group label > span {

    color: var(--red);

}


/* ============================================================
   INPUTS
============================================================ */

.form-group input,
.form-group select,
.form-group textarea {

    display: block;

    width: 100%;

    max-width: 100%;

    min-height: 53px;

    padding:
        0 16px;

    border:
        1px solid #dddddd;

    border-radius:
        11px;

    outline: none;

    background: #fff;

    color: #222;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;

}


.form-group textarea {

    min-height: 125px;

    padding:
        15px 16px;

    resize: vertical;

    line-height: 1.6;

}


.form-group input::placeholder,
.form-group textarea::placeholder {

    color: #aaa;

}


.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover {

    border-color: #c8c8c8;

}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color:
        var(--red);

    box-shadow:
        0 0 0 4px rgba(201,0,0,.08);

}


.form-group input.input-error,
.form-group select.input-error,
.form-group textarea.input-error {

    border-color:
        #c90000;

    background:
        #fff9f9;

}


.field-error {

    margin-top: 7px;

    color: #c90000;

    font-size: 12px;

    font-weight: 600;

}


/* ============================================================
   INPUT MIT EINHEIT
============================================================ */

.input-with-unit {

    position: relative;

}


.input-with-unit input {

    padding-right: 65px;

}


.input-with-unit > span {

    position: absolute;

    top: 50%;

    right: 16px;

    transform:
        translateY(-50%);

    color: #777;

    font-size: 13px;

    font-weight: 700;

    pointer-events: none;

}


/* ============================================================
   SELECT
============================================================ */

.form-group select {

    appearance: none;

    -webkit-appearance: none;

    padding-right: 45px;

    background-image:

        linear-gradient(
            45deg,
            transparent 50%,
            #777 50%
        ),

        linear-gradient(
            135deg,
            #777 50%,
            transparent 50%
        );

    background-position:

        calc(100% - 20px) 22px,
        calc(100% - 15px) 22px;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;

}


/* ============================================================
   UPLOAD
============================================================ */

.upload-area {

    width: 100%;

    padding: 30px;

    border:
        1.5px dashed #d4d4d4;

    border-radius:
        18px;

    background:
        #fafafa;

    transition:
        border-color .2s ease,
        background .2s ease;

}


.upload-area:hover {

    border-color:
        var(--red);

    background:
        #fffafa;

}


.upload-area > input[type="file"] {

    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;

    pointer-events: none;

}


.upload-label {

    min-height: 150px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 9px;

    text-align: center;

    cursor: pointer;

}


.upload-icon {

    width: 54px;
    height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--red);

    color: #fff;

    font-size: 28px;

    font-weight: 300;

    box-shadow:
        0 12px 25px rgba(201,0,0,.16);

}


.upload-label strong {

    margin-top: 8px;

    color: #222;

    font-size: 15px;

}


.upload-label span {

    color: #999;

    font-size: 12px;

}


/* ============================================================
   PHOTO PREVIEW
============================================================ */

.photo-preview {

    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 10px;

    margin-top: 20px;

}


.photo-preview-item {

    position: relative;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    border-radius: 12px;

    background: #eee;

}


.photo-preview-item img {

    width: 100%;
    height: 100%;

    object-fit: cover;

}


.photo-number {

    position: absolute;

    top: 7px;
    left: 7px;

    min-width: 24px;
    height: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0 6px;

    border-radius: 7px;

    background: rgba(0,0,0,.75);

    color: #fff;

    font-size: 11px;

    font-weight: 800;

}


.photo-info {

    margin-top: 13px;

    color: #777;

    font-size: 12px;

}


/* ============================================================
   HONEYPOT
============================================================ */

.form-honeypot {

    position: absolute;

    left: -9999px;

    top: auto;

    width: 1px;

    height: 1px;

    overflow: hidden;
}


/* ============================================================
   DATENSCHUTZ
============================================================ */

.privacy-box {

    padding:
        28px 50px;

    background:
        #fafafa;

    border-top:
        1px solid var(--border);

}


.checkbox-label {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    cursor: pointer;

}


.checkbox-label input {

    position: absolute;

    opacity: 0;

    pointer-events: none;

}


.custom-checkbox {

    width: 21px;
    height: 21px;

    flex: 0 0 21px;

    margin-top: 2px;

    border:
        1.5px solid #c8c8c8;

    border-radius: 6px;

    background: #fff;

    position: relative;

    transition: var(--transition);

}


.checkbox-label input:checked
+ .custom-checkbox {

    background:
        var(--red);

    border-color:
        var(--red);

}


.checkbox-label input:checked
+ .custom-checkbox::after {

    content: "";

    position: absolute;

    left: 6px;
    top: 2px;

    width: 6px;
    height: 11px;

    border:
        solid #fff;

    border-width:
        0 2px 2px 0;

    transform:
        rotate(45deg);

}


.checkbox-text {

    color: #666;

    font-size: 13px;

    line-height: 1.7;

}


.checkbox-text a {

    color:
        var(--red);

    font-weight: 700;

    text-decoration:
        underline;

}


.checkbox-text strong {

    color:
        var(--red);

}


/* ============================================================
   SUBMIT
============================================================ */

.submit-area {

    padding:
        35px 50px 50px;

}


.submit-button {

    position: relative;

    width: 100%;

    min-height: 62px;

    border: 0;

    border-radius: 13px;

    background:
        var(--red);

    color: #fff;

    font-size: 16px;

    font-weight: 800;

    box-shadow:
        var(--shadow-red);

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;

}


.submit-button:hover:not(:disabled) {

    background:
        var(--red-dark);

    transform:
        translateY(-2px);

    box-shadow:
        0 22px 45px rgba(201,0,0,.24);

}


.submit-button:active:not(:disabled) {

    transform:
        translateY(0);

}


.submit-button:disabled {

    cursor:
        not-allowed;

    opacity:
        .8;

}


.button-arrow {

    display:
        inline-block;

    margin-left:
        10px;

    font-size:
        20px;

    transition:
        transform .2s ease;

}


.submit-button:hover
.button-arrow {

    transform:
        translateX(4px);

}


.submit-loading {

    display:
        none;

}


.submit-button.loading
.submit-normal {

    display:
        none;

}


.submit-button.loading
.submit-loading {

    display:
        inline;

}


.submit-note {

    margin:
        16px 0 0;

    color:
        #999;

    font-size:
        11px;

    line-height:
        1.6;

    text-align:
        center;

}


/* ============================================================
   KONTAKT CTA
============================================================ */

.ankauf-contact {

    width: 100%;

    padding:
        80px 0;

    background:
        #111;

    color:
        #fff;

}


.ankauf-contact-inner {

    width: 100%;

    max-width:
        var(--container);

    margin:
        0 auto;

    padding:
        0 32px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        40px;

}


.ankauf-contact .section-label {

    color:
        #e60000;

}


.ankauf-contact h2 {

    margin:
        0 0 10px;

    font-family:
        "Montserrat",
        "Inter",
        Arial,
        sans-serif;

    font-size:
        clamp(32px, 5vw, 55px);

    line-height:
        1;

    letter-spacing:
        -2px;

}


.ankauf-contact p {

    margin:
        0;

    color:
        #aaa;

    font-size:
        15px;

}


.contact-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        58px;

    padding:
        0 28px;

    border:
        1px solid rgba(255,255,255,.18);

    border-radius:
        12px;

    background:
        #fff;

    color:
        #111;

    font-size:
        15px;

    font-weight:
        800;

    white-space:
        nowrap;

    transition:
        var(--transition);

}


.contact-button:hover {

    background:
        var(--red);

    color:
        #fff;

    border-color:
        var(--red);

    transform:
        translateY(-2px);

}


/* ============================================================
   FOOTER
============================================================ */

.site-footer {

    width:
        100%;

    background:
        #f6f6f6;

    border-top:
        1px solid #e8e8e8;

}


.footer-inner {

    display:
        grid;

    grid-template-columns:
        1.3fr 1fr 1fr;

    gap:
        50px;

    padding-top:
        55px;

    padding-bottom:
        45px;

}


.footer-logo {

    width:
        180px;

    max-height:
        70px;

    object-fit:
        contain;

    margin-bottom:
        12px;

}


.footer-inner p {

    margin:
        3px 0;

    color:
        #777;

    font-size:
        13px;

}


.footer-inner a {

    display:
        block;

    width:
        fit-content;

    margin:
        4px 0;

    color:
        #444;

    font-size:
        13px;

    font-weight:
        600;

}


.footer-inner a:hover {

    color:
        var(--red);

}


.footer-bottom {

    width:
        100%;

    padding:
        20px 32px;

    border-top:
        1px solid #e4e4e4;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        20px;

    color:
        #999;

    font-size:
        11px;

}


.footer-bottom span:last-child {

    display:
        flex;

    gap:
        20px;

}


.footer-bottom a:hover {

    color:
        var(--red);

}


/* ============================================================
   ALLGEMEINE BUTTONS
============================================================ */

.btn,
.button-primary,
.button-secondary {

    transition:
        var(--transition);

}


.btn:hover {

    transform:
        translateY(-2px);

}


/* ============================================================
   SCROLL ANIMATION
============================================================ */

.reveal,
.fade-up {

    opacity:
        0;

    transform:
        translateY(20px);

    transition:
        opacity .7s ease,
        transform .7s ease;

}


.reveal.visible,
.fade-up.visible {

    opacity:
        1;

    transform:
        translateY(0);

}


/* ============================================================
   FOCUS
============================================================ */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {

    outline:
        3px solid rgba(201,0,0,.25);

    outline-offset:
        3px;

}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1100px) {


    .header-inner {

        gap:
            15px;

    }


    .brand {

        max-width:
            190px;

    }


    .brand-logo {

        width:
            175px;

    }


    .desktop-nav {

        gap:
            0;

    }


    .desktop-nav a {

        padding:
            0 11px;

        font-size:
            13px;

    }


    .desktop-nav a::after {

        left:
            11px;

        right:
            11px;

    }


    .ankauf-hero {

        min-height:
            520px;

    }


    .form-section {

        padding:
            40px;

    }


    .privacy-box,
    .submit-area {

        padding-left:
            40px;

        padding-right:
            40px;

    }


    .photo-preview {

        grid-template-columns:
            repeat(4, minmax(0, 1fr));

    }

}


/* ============================================================
   MOBILE NAV
============================================================ */

@media (max-width: 850px) {


    .header-inner {

        min-height:
            78px;

        padding-left:
            20px;

        padding-right:
            20px;

    }


    .desktop-nav {

        display:
            none;

    }


    .menu-toggle {

        display:
            flex;

    }


    .mobile-nav.open {

        display:
            block;

    }


    .brand {

        max-width:
            185px;

    }


    .brand-logo {

        width:
            170px;

        max-height:
            62px;

    }


    .ankauf-contact-inner {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .footer-inner {

        grid-template-columns:
            1fr 1fr;

    }


}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 700px) {


    html,
    body {

        width:
            100%;

        max-width:
            100%;

        overflow-x:
            hidden;

    }


    .container,
    .header-inner,
    .footer-inner,
    .ankauf-container {

        width:
            100%;

        max-width:
            100%;

        padding-left:
            18px;

        padding-right:
            18px;

    }


    /* --------------------------------------------
       HEADER
    -------------------------------------------- */

    .header-inner {

        min-height:
            72px;

    }


    .brand-logo {

        width:
            145px;

        max-height:
            54px;

    }


    .menu-toggle {

        width:
            45px;

        height:
            45px;

    }


    /* --------------------------------------------
       HERO
    -------------------------------------------- */

    .ankauf-hero {

        min-height:
            620px;

        align-items:
            flex-end;

        background:

            linear-gradient(
                180deg,
                rgba(255,255,255,.22) 0%,
                rgba(255,255,255,.82) 42%,
                rgba(255,255,255,.98) 72%,
                #fff 100%
            ),

            url("https://i.ibb.co/zVhMcrxx/5c01b998-6f55-428c-837b-7f36002aef2f.jpg");

        background-position:
            center top;

    }


    .ankauf-hero-content {

        width:
            100%;

        padding:
            45px 18px 50px;

    }


    .ankauf-hero h1 {

        font-size:
            clamp(39px, 12vw, 60px);

        letter-spacing:
            -2.5px;

    }


    .ankauf-hero p {

        margin-top:
            20px;

        font-size:
            15px;

        line-height:
            1.65;

    }


    .hero-points {

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            8px;

        margin-top:
            22px;

    }


    .hero-points span {

        font-size:
            13px;

    }


    /* --------------------------------------------
       ANKAUF
    -------------------------------------------- */

    .ankauf-section {

        padding:
            65px 0 75px;

    }


    .ankauf-intro {

        margin-bottom:
            35px;

    }


    .ankauf-intro h2 {

        font-size:
            clamp(32px, 10vw, 46px);

        letter-spacing:
            -1.8px;

    }


    .ankauf-intro p {

        font-size:
            15px;

        line-height:
            1.7;

    }


    /* --------------------------------------------
       FORM
    -------------------------------------------- */

    .ankauf-form {

        border-radius:
            20px;

    }


    .form-section {

        padding:
            30px 20px;

    }


    .form-section-heading {

        gap:
            13px;

        margin-bottom:
            25px;

    }


    .form-number {

        width:
            40px;

        height:
            40px;

        border-radius:
            10px;

        font-size:
            11px;

    }


    .form-section-heading h3 {

        font-size:
            20px;

    }


    .form-section-heading p {

        font-size:
            12px;

    }


    .form-grid {

        grid-template-columns:
            1fr;

        gap:
            18px;

    }


    .form-group-full {

        grid-column:
            auto;

    }


    .form-group input,
    .form-group select {

        min-height:
            51px;

        font-size:
            16px;

    }


    .form-group textarea {

        font-size:
            16px;

    }


    /* --------------------------------------------
       UPLOAD
    -------------------------------------------- */

    .upload-area {

        padding:
            18px;

        border-radius:
            14px;

    }


    .upload-label {

        min-height:
            145px;

    }


    .photo-preview {

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            7px;

    }


    /* --------------------------------------------
       PRIVACY
    -------------------------------------------- */

    .privacy-box {

        padding:
            22px 20px;

    }


    .checkbox-text {

        font-size:
            12px;

    }


    /* --------------------------------------------
       SUBMIT
    -------------------------------------------- */

    .submit-area {

        padding:
            25px 20px 30px;

    }


    .submit-button {

        min-height:
            58px;

        font-size:
            15px;

    }


    /* --------------------------------------------
       CONTACT
    -------------------------------------------- */

    .ankauf-contact {

        padding:
            60px 0;

    }


    .ankauf-contact-inner {

        padding:
            0 20px;

        gap:
            28px;

    }


    .ankauf-contact h2 {

        font-size:
            39px;

        letter-spacing:
            -1.5px;

    }


    .contact-button {

        width:
            100%;

    }


    /* --------------------------------------------
       FOOTER
    -------------------------------------------- */

    .footer-inner {

        grid-template-columns:
            1fr;

        gap:
            28px;

        padding:
            40px 20px;

    }


    .footer-bottom {

        padding:
            18px 20px;

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .footer-bottom span:last-child {

        flex-wrap:
            wrap;

        gap:
            12px 18px;

    }

}


/* ============================================================
   SMALL SMARTPHONES
============================================================ */

@media (max-width: 420px) {


    .header-inner {

        padding-left:
            15px;

        padding-right:
            15px;

    }


    .brand-logo {

        width:
            132px;

    }


    .menu-toggle {

        width:
            43px;

        height:
            43px;

    }


    .ankauf-hero {

        min-height:
            590px;

    }


    .ankauf-hero-content {

        padding:
            35px 15px 42px;

    }


    .ankauf-hero h1 {

        font-size:
            39px;

    }


    .ankauf-section {

        padding:
            55px 0 60px;

    }


    .ankauf-container {

        padding-left:
            15px;

        padding-right:
            15px;

    }


    .form-section {

        padding:
            26px 16px;

    }


    .privacy-box {

        padding:
            20px 16px;

    }


    .submit-area {

        padding:
            22px 16px 26px;

    }


    .photo-preview {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

    }


}


/* ============================================================
   SEHR KLEINE GERÄTE
============================================================ */

@media (max-width: 350px) {


    .brand-logo {

        width:
            120px;

    }


    .menu-toggle {

        width:
            41px;

        height:
            41px;

    }


    .ankauf-hero h1 {

        font-size:
            35px;

    }


    .form-section-heading h3 {

        font-size:
            18px;

    }


}


/* ============================================================
   REDUZIERTE BEWEGUNG
============================================================ */

@media (prefers-reduced-motion: reduce) {

    html {

        scroll-behavior:
            auto;

    }


    *,
    *::before,
    *::after {

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .01ms !important;

    }

}


/* ============================================================
   DESKTOP — VOLLE BREITE
============================================================ */

@media (min-width: 1400px) {

    .ankauf-hero-content {

        padding-left:
            max(
                32px,
                calc((100vw - 1376px) / 2)
            );

        padding-right:
            max(
                32px,
                calc((100vw - 1376px) / 2)
            );

    }

}


/* ============================================================
   SICHERHEIT GEGEN HORIZONTALES ÜBERLAUFEN
============================================================ */

.site-header,
main,
section,
footer,
.ankauf-hero,
.ankauf-section,
.ankauf-contact {

    max-width:
        100%;

}


/* ============================================================
   KEIN ELEMENT DARF DIE VIEWPORT-BREITE SPRengen
============================================================ */

@media (max-width: 850px) {

    body * {

        max-width:
            100%;

    }


    .form-group,
    .form-grid,
    .ankauf-form,
    .ankauf-container,
    .header-inner,
    .mobile-nav {

        min-width:
            0;

    }

}