/**
 * Elegant Najnovije - Carousel Styles
 * Version: 2.0.0
 * Author: Darko Ivanec
 * Company: Digitalni Svemir
 * Mobile-first design with Slick Carousel - drag, swipe & infinite loop
 */

/* ==========================================================================
   Reset & Base
   ========================================================================== */

.elegant-najnovije-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 60px 0px 0px 0 !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
}

/* ==========================================================================
   Section Heading (NAJNOVIJE)
   ========================================================================== */

.enj-section-heading {
    color: #000 !important;
    text-align: center !important;
    font-family: "Reddit Sans", sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 20px !important; /* 100% */
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    margin: 0 0 40px 0 !important;
    padding: 0 20px !important;
}

/* ==========================================================================
   Carousel Container
   ========================================================================== */

.elegant-najnovije-carousel {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
}

/* Carousel Track - Slick Carousel */
.enj-carousel-track {
    /* Slick handles all the layout */
}

/* Slick list - centerMode handles overflow */
.enj-carousel-track.slick-slider .slick-list {
    overflow: hidden !important;
    margin: 0 !important;
}

/* Slick track */
.enj-carousel-track .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

/* Slick slide */
.enj-carousel-track .slick-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.enj-carousel-track .slick-slide > div {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: 100% !important;
    height: 100% !important;
}

/* ==========================================================================
   Carousel Slide
   ========================================================================== */

.enj-carousel-slide {
    /* Slick handles width automatically based on slidesToShow */
    padding: 0 11px !important;  /* Gap između slajdova - Mobile 22px (11px + 11px) */
    transition: transform 0.3s ease, opacity 0.3s ease !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

/* Slide Link */
.enj-slide-link {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    width: 100% !important;
}

/* ==========================================================================
   Slide Image Link
   ========================================================================== */

.enj-slide-image-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.enj-slide-image {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    background-color: #f5f5f5 !important;
    margin-bottom: 16px !important;
}

/* Mobile: Vertical Image (show on mobile) */
.enj-image-mobile {
    display: block !important;
    width: 100% !important;
    height: 419px !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    margin: 0 !important; /* Override theme's .row .col img margin */
}

/* Desktop: Horizontal Image (hide on mobile) */
.enj-image-desktop {
    display: none !important;
    margin: 0 !important; /* Override theme's .row .col img margin */
}

/* Image hover effect */
.enj-slide-image-link:hover .enj-image-mobile,
.enj-slide-image-link:hover .enj-image-desktop {
    transform: scale(1.05) !important;
}

/* Extra specificity override for theme's .row .col img margin */
.elegant-najnovije-wrapper .enj-slide-image .enj-image-mobile,
.elegant-najnovije-wrapper .enj-slide-image .enj-image-desktop,
.elegant-najnovije-carousel .enj-slide-image .enj-image-mobile,
.elegant-najnovije-carousel .enj-slide-image .enj-image-desktop {
    margin: 0 !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   Slide Content
   ========================================================================== */

.enj-slide-content {
    padding: 0 !important;
}

/* Category */
.enj-slide-category {
    margin-bottom: 8px !important;
}

.enj-category-link {
    color: #000 !important;
    font-feature-settings: 'liga' off !important;
    font-family: Gilroy, "Reddit Sans", sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 15px !important; /* 100% */
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    display: inline-block !important;
}

@media (hover: hover) {
    .enj-category-link:hover {
        opacity: 0.7 !important;
    }
}

/* Post Title */
.enj-slide-title {
    margin: 0 !important;
    padding: 0 0 10px 0 !important;
}

.enj-title-link {
    color: var(--Naslov-box, #4D4D4D) !important;
    font-family: "DM Serif Text", serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important; /* 100% */
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
    display: block !important;
}

@media (hover: hover) {
    .enj-title-link:hover {
        opacity: 0.8 !important;
    }
}

/* ==========================================================================
   Navigation Dots (Slick Dots)
   ========================================================================== */

.enj-carousel-dots {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 40px 0 0 0 !important;
    list-style: none !important;
}

.enj-carousel-dots li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.enj-carousel-dots li button {
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background-color: #7E7E7E !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    font-size: 0 !important; /* Sakrij tekst */
}

.enj-carousel-dots li button:before {
    display: none !important;
}

.enj-carousel-dots li.slick-active button {
    background-color: #000000 !important;
}

/* ==========================================================================
   Tablet Styles (768px to 999px)
   ========================================================================== */

@media (min-width: 768px) and (max-width: 999px) {

    /* Category - Tablet */
    .enj-category-link {
        font-size: 16px !important;
        line-height: 16px !important;
        letter-spacing: 3.2px !important;
    }

    /* Post Title - Tablet */
    .enj-title-link {
        font-size: 22px !important;
        line-height: 22px !important;
    }
}

/* ==========================================================================
   Desktop Styles (1000px and up)
   ========================================================================== */

@media (min-width: 1000px) {

    /* Wrapper - Desktop padding */
    .elegant-najnovije-wrapper {
        padding: 80px 0 20px 0 !important;
    }

    /* Section Heading */
    .enj-section-heading {
        font-size: 25px !important;
        line-height: 20px !important;
        letter-spacing: 6px !important;
        margin-bottom: 60px !important;
        padding: 0 40px !important;
    }

    /* Slick handles carousel layout on desktop */

    /* Desktop: Viewport-based margins za konzistentnost na svim rezolucijama */
    /* Za 4.5: 1 item = 100vw / 4.5 = 22.22vw, 0.25 itema = 5.56vw */
    /* Korištenje vw units osigurava isti rezultat na svim rezolucijama! */
    .elegant-najnovije-carousel .enj-carousel-track.slick-slider .slick-list {
        overflow: hidden !important;  /* Hidden da clip-a prvi/zadnji item na 75% */
        --item-width: calc(100vw / 4.5);  /* Širina jednog itema u viewport units */
        --peek-offset: calc(var(--item-width) * 0.25);  /* 25% itema = peek offset */
        margin-left: calc(-1 * var(--peek-offset)) !important;  /* Prvi item 25% van */
        margin-right: calc(-1 * var(--peek-offset)) !important;  /* Zadnji item 25% van */
    }

    /* Gap između slajdova - Desktop 32px (16px + 16px) - OVERRIDE mobile padding! */
    .enj-carousel-slide {
        padding: 0 16px !important;  /* Desktop mora imati 32px gap (16px + 16px) */
    }

    /* Slide Image */
    .enj-slide-image {
        margin-bottom: 20px !important;
    }

    /* Show mobile vertical image on desktop (ISTA SLIKA KAO MOBILE) */
    .enj-image-mobile {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 4 !important; /* Vertikalni format 3:4 - skalira se proporcionalno */
        object-fit: cover !important;
        object-position: center !important;
        transition: transform 0.4s ease !important;
        margin: 0 !important; /* Override theme's .row .col img margin */
    }

    /* Hide desktop horizontal image (NE KORISTI SE VIŠE) */
    .enj-image-desktop {
        display: none !important;
        margin: 0 !important; /* Override theme's .row .col img margin */
    }

    /* Category - Desktop Base (1000-1400px: manji ekrani) */
    .enj-category-link {
        color: #000 !important;
        font-feature-settings: 'liga' off !important;
        font-family: Gilroy, "Reddit Sans", sans-serif !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 13px !important;
        letter-spacing: 2.8px !important;
        text-transform: uppercase !important;
    }

    /* Post Title - Desktop Base (1000-1400px: manji ekrani) */
    .enj-title-link {
        color: var(--Naslov-box, #4D4D4D) !important;
        font-family: "DM Serif Text", serif !important;
        font-size: 28px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 28px !important;
        letter-spacing: -0.56px !important;
    }

    .enj-slide-title {
        padding-bottom: 20px !important;
    }
}

/* ==========================================================================
   Desktop Medium (1401px - 1500px)
   ========================================================================== */

@media (min-width: 1401px) and (max-width: 1500px) {

    /* Category - Desktop Medium */
    .enj-category-link {
        font-size: 15.5px !important;
        line-height: 14px !important;
        letter-spacing: 3.1px !important;
    }

    /* Post Title - Desktop Medium */
    .enj-title-link {
        font-size: 34px !important;
        line-height: 34px !important;
        letter-spacing: -0.68px !important;
    }
}

/* ==========================================================================
   Desktop Large (1501px+)
   ========================================================================== */

@media (min-width: 1501px) {

    /* Category - Desktop Large (Figma specs za velike ekrane) */
    .enj-category-link {
        font-size: 17px !important;
        line-height: 15px !important;
        letter-spacing: 3.4px !important;
    }

    /* Post Title - Desktop Large (Figma specs za velike ekrane) */
    .enj-title-link {
        font-size: 40px !important;
        line-height: 40px !important;
        letter-spacing: -0.8px !important;
    }
}

/* ==========================================================================
   Slick Carousel Overrides
   ========================================================================== */

/* Slick overrides - already defined above */

/* Hide default Slick arrows if any */
.enj-carousel-track .slick-arrow {
    display: none !important;
}

/* ==========================================================================
   Accessibility & Focus States
   ========================================================================== */

.enj-slide-image-link:focus-visible,
.enj-category-link:focus-visible,
.enj-title-link:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 4px !important;
}

.enj-carousel-dot:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

/* Slick Carousel handles all animations */
