/* Grundlegende Stile für den Body */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-overflow-scrolling: touch;
}

header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 0;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Logo */
header .logo {
    width: 100%;
    max-width: 1600px;
}

header .logo img {
    width: 100%;
    max-width: 1600px;
    height: auto;
    object-fit: contain;
}

/* Mobile-Banner */
.mobile-only-banner {
    display: none;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin: 1rem 0;
}

.mobile-banner-img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.container {
    display: flex;
    max-width: 1600px;
    margin: 0.25rem auto;
    padding: 0;
}

/* Titel und Beschreibung */
.listing-title h2 {
    color: #1C3F8B;
    font-size: 2rem;
}

/* Wrapper: Karussell + Beschreibung nebeneinander */
.product-display {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.item-description {
    flex: 1;
    max-width: 100%;
}

.item-technical-data {
    max-width: 100%;
}

.highlight2 h2 {
    color: #1C3F8B;
}

.font1-2 {
    font-size: 1.25em;
}

.highlight5 h2 {
    color: #1C3F8B;
}

/* Sidebar */
.sidebar {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.sidebar img {
    width: 90%;
    display: flex;
    justify-content: center;
}

/* Hauptinhalt */
.main-content {
    flex: 1;
    background-color: white;
    padding: 1.875rem;
    border-radius: 0.5rem;
    box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}

.main-content h1 {
    margin-bottom: 1.25rem;
    font-size: 2rem;
}

.main-content p {
    margin-bottom: 0.9375rem;
}

/* Shipping Info */
.shipping-info {
    margin-top: 2.5rem;
}

.shipping-info h2 {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
}

/* Länderliste */
.countries {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.625rem;
    padding: 0;
}

.countries li {
    display: flex;
    align-items: center;
    padding: 5px;
}

.countries li img {
    width: 1.875rem;
    height: auto;
    margin-right: 0.625rem;
}

/* Footer */
.footer {
    background-color: #0C3D65;
    max-width: 1600px;
    margin: 0 auto;
    color: white;
}

.footer-links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-item {
    flex: 1;
    min-width: 150px;
    padding: 1rem;
    text-align: center;
    box-sizing: border-box;
}

.footer-item a {
    color: #fff;
    text-decoration: none;
    font-size: 1.1rem;
    transition: color 0.3s;
    will-change: color;
}

.footer-item a:hover {
    text-decoration: underline;
}

.footer-text p {
    text-align: center;
    font-size: 12px;
}

/* Tabelle */
.verwendliste {
    border: 1px solid #686868;
    border-collapse: collapse;
    min-width: 100%;
    padding: 5px;
    font-size: 0.9em;
}

.verwendliste thead {
    text-align: left;
    background-color: #1C3F8B;
    color: #FFFFFF;
}

.verwendliste td,
.verwendliste th {
    border-bottom: 1px solid #686868;
    border-right: 1px solid #686868;
    padding: 5px;
}

.verwendliste tr:hover {
    background-color: #0C3D65;
    color: #FFFFFF;
}

/* Responsive Anpassungen */
@media (max-width: 768px) {

    .font1-2 {
        font-size: 0.9rem;
    }

    .verwendliste {
        font-size: 0.64rem;
    }

    .listing-title h2 {
        font-size: 1rem;
    }

    .container {
        flex-direction: column;
    }

    .sidebar {
        display: none;
    }

    .main-content {
        padding: 1rem;
    }

    .item-description,
    .carousel {
        flex: 1 1 100%;
    }

    .mobile-only-banner {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 1rem 0;
    }

    .mobile-banner-img {
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }

    .logo img:first-child {
        display: none !important;
    }

    .footer-item a {
        font-size: 1rem;
    }
}

/* WebKit-spezifische Stile */
@supports (-webkit-appearance: none) {
    body {
        -webkit-overflow-scrolling: touch;
    }

    .carousel-images {
        -webkit-backface-visibility: hidden;
    }

    .carousel-item img {
        will-change: transform;
    }
}

/* ===================== */
/* --- Carousel Styles --- */
/* ===================== */

.carousel {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    max-width: 600px;
    width: 100%;
    overflow: hidden;
}

.carousel-images {
    display: flex;
    transition: transform 1s ease-in-out;
}

.carousel-item {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.carousel-item img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* --- Slide Animation Keyframes mit sanftem Rückspulen und gleichmäßiger Dauer --- */

@keyframes slide-rewind-2 {

    0%,
    45% {
        transform: translateX(0);
    }

    55%,
    95% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slide-rewind-3 {

    0%,
    30% {
        transform: translateX(0);
    }

    35%,
    65% {
        transform: translateX(-100%);
    }

    70%,
    95% {
        transform: translateX(-200%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slide-rewind-4 {

    0%,
    22% {
        transform: translateX(0);
    }

    27%,
    50% {
        transform: translateX(-100%);
    }

    55%,
    77% {
        transform: translateX(-200%);
    }

    82%,
    95% {
        transform: translateX(-300%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slide-rewind-5 {

    0%,
    18% {
        transform: translateX(0);
    }

    23%,
    40% {
        transform: translateX(-100%);
    }

    45%,
    62% {
        transform: translateX(-200%);
    }

    67%,
    82% {
        transform: translateX(-300%);
    }

    87%,
    95% {
        transform: translateX(-400%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slide-rewind-6 {

    0%,
    15% {
        transform: translateX(0);
    }

    20%,
    33% {
        transform: translateX(-100%);
    }

    38%,
    52% {
        transform: translateX(-200%);
    }

    57%,
    70% {
        transform: translateX(-300%);
    }

    75%,
    87% {
        transform: translateX(-400%);
    }

    92%,
    95% {
        transform: translateX(-500%);
    }

    100% {
        transform: translateX(0);
    }
}

/* Animation pro Anzahl der Bilder */
.carousel-1 .carousel-images {
    animation: none !important;
}

.carousel-2 .carousel-images {
    animation: slide-rewind-2 8s infinite ease-in-out;
}

.carousel-3 .carousel-images {
    animation: slide-rewind-3 12s infinite ease-in-out;
}

.carousel-4 .carousel-images {
    animation: slide-rewind-4 16s infinite ease-in-out;
}

.carousel-5 .carousel-images {
    animation: slide-rewind-5 20s infinite ease-in-out;
}

.carousel-6 .carousel-images {
    animation: slide-rewind-6 24s infinite ease-in-out;
}

/* Hover: Animation pausieren */
.carousel:hover .carousel-images {
    animation-play-state: paused;
}