/**
 * CockpitOS Light Theme - Shop Carousel Widget Styles
 *
 * Verantwortlichkeit: Shop Carousel Styling
 * Smooth Animations, Ticker Mode, Cool Easing
 *
 * @package CockpitOS_MEC_Light_Theme
 * @version 1.0.0
 */

/* ========================================
   Shop Carousel (nutzt universelles Container-System)
   ======================================== */

/* Main Carousel */
.cockpit-shop-carousel {
    position: relative;
    width: 100%;
}

/* ========================================
   Header (Max Bonn Style)
   ======================================== */

.cockpit-shop-carousel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-6, 2rem);
    flex-wrap: wrap;
    gap: var(--spacing-4, 1.5rem);
}

/* Shop Carousel Title nutzt globale h2 Styles */
.cockpit-shop-carousel__title {
    /* Nutzt globale h2 Styles (font-size, font-weight, text-transform, letter-spacing) */
    color: var(--color-primary-dark, #343d4c);
    margin: 0;
    margin-bottom: 0; /* Überschreibt globale margin-bottom */
}

/* Automatische Textfarbe bei dunklem Hintergrund */
.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__title {
    color: var(--color-white, #ffffff);
}

.cockpit-shop-carousel__cta {
    /* Nutzt globale Button-Styles aus Branding-System */
    background-color: var(--color-primary, #343d4c);
    color: var(--color-white, #ffffff);
    padding: var(--spacing-sm, 0.75rem) var(--spacing-6, 1.5rem);
    border-radius: var(--radius-md, 0.5rem);
    font-weight: var(--font-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all var(--transition-base, 0.3s ease);
    border: none;
    cursor: pointer;
}

.cockpit-shop-carousel__cta:hover {
    background-color: var(--color-primary-hover, #3b4657);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(52, 61, 76, 0.3));
}

/* Automatische Button-Anpassung bei dunklem Hintergrund */
.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__cta {
    background-color: var(--color-white, #ffffff);
    color: var(--color-primary-dark, #343d4c);
}

.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__cta:hover {
    background-color: var(--color-primary-light, #d1d7e0);
    color: var(--color-primary-dark, #343d4c);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(255, 255, 255, 0.3));
}

.cockpit-shop-carousel__container {
    overflow: hidden;
    width: 100%;
}

.cockpit-shop-carousel__track {
    display: flex;
}

/* ========================================
   Carousel Mode
   ======================================== */

.cockpit-shop-carousel--carousel .cockpit-shop-carousel__item {
    flex: 0 0 auto;
    /* Kreisform: Höhe = Breite (Breite kommt vom JS), damit keine Ovale entstehen */
    aspect-ratio: 1;
    height: auto;
}

/* ========================================
   Ticker Mode - Continuous Scroll
   ======================================== */

.cockpit-shop-carousel--ticker .cockpit-shop-carousel__track {
    animation: ticker-scroll var(--ticker-duration, 30s) linear infinite;
    will-change: transform;
}

.cockpit-shop-carousel--ticker .cockpit-shop-carousel__item {
    flex: 0 0 auto;
    width: 200px;
    min-width: 200px;
    /* Kreisform: Höhe = Breite */
    aspect-ratio: 1;
    height: auto;
}

.cockpit-shop-carousel--ticker:hover .cockpit-shop-carousel__track.paused {
    animation-play-state: paused;
}

.cockpit-shop-carousel--ticker.ticker-reverse .cockpit-shop-carousel__track {
    animation-name: ticker-scroll-reverse;
}

@keyframes ticker-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-33.333%);
    }
}

@keyframes ticker-scroll-reverse {
    0% {
        transform: translateX(-33.333%);
    }
    100% {
        transform: translateX(0);
    }
}

/* ========================================
   Grid Mode
   ======================================== */

.cockpit-shop-carousel--grid .cockpit-shop-carousel__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

/* ========================================
   Logo Item (Max Bonn Style - Runde Kreise)
   ======================================== */

.cockpit-shop-carousel__item {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Runder Kreis - Hintergrund passt sich automatisch an */
    width: 120px;
    height: 120px;
    border-radius: 50%;
    padding: var(--spacing-6, 1.5rem);
    transition: all var(--transition-base, 0.3s ease);
    flex-shrink: 0;
}

/* Standard: Dunkler Hintergrund (für hellen Container) */
.cockpit-shop-carousel__item {
    background-color: var(--color-primary-dark, #343d4c);
}

/* Automatische Anpassung bei dunklem Container-Hintergrund */
.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__item {
    background-color: var(--color-white, #ffffff);
}

.cockpit-shop-carousel__item:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(52, 61, 76, 0.3));
}

.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__item:hover {
    box-shadow: var(--shadow-md, 0 4px 12px rgba(255, 255, 255, 0.3));
}

.cockpit-shop-carousel__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* Standard: Logo wird weiß (für dunklen Kreis) */
.cockpit-shop-carousel__logo img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1); /* Logo wird weiß */
    transition: all var(--transition-base, 0.3s ease);
}

/* Automatische Anpassung: Logo wird dunkel (für hellen Kreis bei dunklem Hintergrund) */
.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__logo img {
    filter: brightness(0) invert(0) !important; /* Logo bleibt dunkel/schwarz */
}

.cockpit-shop-carousel__logo:hover img {
    filter: brightness(0) invert(1) brightness(1.1); /* Leicht heller bei Hover */
}

.cockpit-widget__wrapper--dark-bg .cockpit-shop-carousel__logo:hover img {
    filter: brightness(0) invert(0) brightness(0.9); /* Leicht dunkler bei Hover */
}

/* ========================================
   Grayscale Effect
   ======================================== */

.cockpit-shop-carousel--grayscale .cockpit-shop-carousel__logo img {
    filter: grayscale(100%);
}

.cockpit-shop-carousel--grayscale .cockpit-shop-carousel__item:hover .cockpit-shop-carousel__logo img {
    filter: grayscale(0%);
}

/* ========================================
   Navigation
   ======================================== */

.cockpit-shop-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--spacing-10, 2.5rem);
    height: var(--spacing-10, 2.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white, #ffffff);
    border: 1px solid var(--color-neutral-light, #d9d9d9);
    border-radius: 50%;
    cursor: pointer;
    transition: all var(--transition-base, 0.3s ease);
    z-index: 10;
    color: var(--color-primary-dark, #343d4c);
}

.cockpit-shop-carousel__nav:hover {
    background-color: var(--color-primary-ultra-light, #f0f2f5);
    border-color: var(--color-primary, #343d4c);
    color: var(--color-primary, #343d4c);
    transform: translateY(-50%) scale(1.1);
}

.cockpit-shop-carousel__nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.cockpit-shop-carousel__nav--prev {
    left: -20px;
}

.cockpit-shop-carousel__nav--next {
    right: -20px;
}

/* Navigation bei Full-Width Content anpassen */
.cockpit-widget-content--fullwidth .cockpit-shop-carousel__nav--prev {
    left: 10px;
}

.cockpit-widget-content--fullwidth .cockpit-shop-carousel__nav--next {
    right: 10px;
}

.cockpit-shop-carousel__nav svg {
    width: var(--spacing-6, 1.5rem);
    height: var(--spacing-6, 1.5rem);
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 1024px) {
    .cockpit-shop-carousel__nav--prev {
        left: 0;
    }
    
    .cockpit-shop-carousel__nav--next {
        right: 0;
    }
}

@media (max-width: 768px) {
    .cockpit-shop-carousel__header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .cockpit-shop-carousel__title {
        font-size: var(--font-size-xl, 1.25rem);
    }
    
    .cockpit-shop-carousel__cta {
        width: 100%;
        text-align: center;
    }
    
    .cockpit-shop-carousel__item {
        width: 100px;
        height: 100px;
        padding: var(--spacing-5, 1.25rem);
    }
    
    .cockpit-shop-carousel__nav {
        width: var(--spacing-8, 2rem);
        height: var(--spacing-8, 2rem);
    }
    
    .cockpit-shop-carousel__nav svg {
        width: var(--spacing-5, 1.25rem);
        height: var(--spacing-5, 1.25rem);
    }
    
    .cockpit-shop-carousel--grid .cockpit-shop-carousel__grid {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    }
}

@media (max-width: 480px) {
    .cockpit-shop-carousel__header {
        margin-bottom: var(--spacing-4, 1.5rem);
    }
    
    .cockpit-shop-carousel__title {
        font-size: var(--font-size-lg, 1.125rem);
    }
    
    .cockpit-shop-carousel__cta {
        font-size: var(--font-size-sm, 0.875rem);
        padding: var(--spacing-xs, 0.625rem) var(--spacing-5, 1.25rem);
    }
    
    .cockpit-shop-carousel__item {
        width: 80px;
        height: 80px;
        padding: var(--spacing-4, 1rem);
    }
    
    .cockpit-shop-carousel--grid .cockpit-shop-carousel__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

