/* ========================================
   PARTNERI RIBOLOVNO.HR
======================================== */


/* ========================================
   PAGE LAYOUT - FULL WIDTH
======================================== */

/*
 * ListingHive / WordPress wrapperi na stranici Partneri
 * ne smiju ograničavati Elementor sadržaj.
 */
body.page-id-3781 .site-content,
body.page-id-3781 .content-area,
body.page-id-3781 .site-content > .container,
body.page-id-3781 .hp-page,
body.page-id-3781 .hp-page__content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ========================================
   ELEMENTOR OUTER CONTAINERS
======================================== */

/*
 * Samo glavni Elementor containeri smiju biti full width.
 * Unutarnje containere NE diramo globalno.
 */
body.page-id-3781 .elementor {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-3781 .elementor > .e-con {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ========================================
   INNER CONTENT WRAPPER
======================================== */

/*
 * Ovu klasu dodaj unutarnjem Elementor containeru.
 *
 * OUTER = puna širina ekrana
 * INNER = sadržaj maksimalno 1440 px
 */
body.page-id-3781 .partners-inner {
    width: calc(100% - 48px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ========================================
   BOX SIZING
======================================== */

body.page-id-3781 .elementor,
body.page-id-3781 .elementor *,
body.page-id-3781 .elementor *::before,
body.page-id-3781 .elementor *::after {
    box-sizing: border-box;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 766px) {

    body.page-id-3781 .partners-inner {
        width: calc(100% - 32px) !important;
    }

}

/* ========================================
   PARTNER MJESECA - PRODUCTS SLIDER
======================================== */

/* Desktop - normalan red */
body.page-id-3781 .partner-products-slider {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
}


/* ========================================
   MOBILE PRODUCT SLIDER
======================================== */

@media (max-width: 766px) {

    body.page-id-3781 .partner-products-slider {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        justify-content: flex-start !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        gap: 12px !important;
        padding: 0 0 10px 0 !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    body.page-id-3781 .partner-products-slider::-webkit-scrollbar {
        display: none;
    }

    /*
     * Širinu pojedine kartice određuje Elementor.
     * CSS samo sprječava flex da je stisne.
     */
    body.page-id-3781 .partner-products-slider > * {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}


/* ========================================
   PREMIUM PARTNERI - MOBILE 2 COLUMNS
======================================== */

@media (max-width: 766px) {

    /* Container svih Premium partnera */
    body.page-id-3781 .premium-partners-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;

        justify-content: center !important;
        align-items: stretch !important;

        gap: 12px !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    /* Pojedinačna Premium partner kartica */
    body.page-id-3781 .premium-partners-grid > * {
        flex: 0 0 calc(50% - 6px) !important;

        width: calc(50% - 6px) !important;
        min-width: 0 !important;
        max-width: calc(50% - 6px) !important;
    }
}

/* ========================================
   HOME PARTNERS SLIDER - FINAL
======================================== */

/*
 * Elementor struktura:
 *
 * SLIDER container: home-partners-slider
 * obična kartica:  home-partner-slide
 * Premium kartica: home-partner-slide premium-partner
 *
 * Sav raspored, dimenzije, badge, logo i responsive izgled
 * kontroliraju se ovdje. U Elementoru za kartice ostavi
 * margin/padding/gap na 0 ili default.
 */


/* ========================================
   WRAPPER - PROSTOR ZA STRELICE
======================================== */

body.home .home-partners-slider-wrap {
    position: relative !important;
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 1240px !important;

    margin: 0 auto !important;
    padding: 0 42px !important;
}


/* ========================================
   VIEWPORT - VIDLJIVI OKVIR
======================================== */

body.home .home-partners-slider-viewport {
    --partner-visible: 5;
    --partner-gap: 16px;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 1160px !important;

    margin: 0 auto !important;

    /*
     * Isti razmak od ruba do prve/zadnje kartice
     * kao i između samih kartica.
     */
    padding: var(--partner-gap) !important;

    overflow: hidden !important;

    border: 1px solid rgba(148, 163, 184, 0.34) !important;
    border-radius: 16px !important;

    background: rgba(2, 14, 9, 0.22) !important;
}


/* ========================================
   TRACK
======================================== */

body.home .home-partners-slider {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: flex-start !important;
    align-items: stretch !important;

    gap: var(--partner-gap) !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.home .home-partners-slider::-webkit-scrollbar {
    display: none;
}


/* ========================================
   STANDARDIZIRANA PARTNER KARTICA
======================================== */

body.home .home-partner-slide {
    box-sizing: border-box !important;

    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    flex: 0 0 calc(
        (100% - ((var(--partner-visible) - 1) * var(--partner-gap)))
        / var(--partner-visible)
    ) !important;

    width: calc(
        (100% - ((var(--partner-visible) - 1) * var(--partner-gap)))
        / var(--partner-visible)
    ) !important;

    min-width: calc(
        (100% - ((var(--partner-visible) - 1) * var(--partner-gap)))
        / var(--partner-visible)
    ) !important;

    max-width: calc(
        (100% - ((var(--partner-visible) - 1) * var(--partner-gap)))
        / var(--partner-visible)
    ) !important;

    min-height: 238px !important;

    margin: 0 !important;

    /*
     * SVE kartice imaju istu rezerviranu zonu gore.
     * Premium tamo prikazuje badge, obični partner ostavlja zonu praznom.
     */
    padding: 46px 12px 12px !important;

    overflow: hidden !important;

    border: 1px solid rgba(148, 163, 184, 0.42) !important;
    border-radius: 15px !important;

    background: rgba(2, 14, 9, 0.90) !important;

    box-shadow:
        0 7px 18px rgba(0, 0, 0, 0.28),
        inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;

    scroll-snap-align: start;
    scroll-snap-stop: always;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}

body.home .home-partner-slide:hover {
    transform: none !important;
    border-color: rgba(34, 197, 94, 0.62) !important;
    box-shadow:
        0 9px 22px rgba(0, 0, 0, 0.34),
        0 0 14px rgba(34, 197, 94, 0.10) !important;
}


/* Elementor unutarnji elementi kartice */
body.home .home-partner-slide > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}


/* ========================================
   NASLOV PARTNERA - UVIJEK ISTA ZONA
======================================== */

body.home .home-partner-slide .elementor-widget-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;

    margin: 0 0 10px !important;
}

body.home .home-partner-slide .elementor-heading-title,
body.home .home-partner-slide h1,
body.home .home-partner-slide h2,
body.home .home-partner-slide h3,
body.home .home-partner-slide h4,
body.home .home-partner-slide h5,
body.home .home-partner-slide h6 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;

    margin: 0 !important;

    color: #ffffff !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;

    overflow: hidden !important;
}


/* ========================================
   PARTNER LOGO - PUNA DOSTUPNA VELIČINA
======================================== */

body.home .home-partner-slide .elementor-widget-image {
    width: 100% !important;
    flex: 1 1 auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    overflow: hidden !important;
}

body.home .home-partner-slide .elementor-widget-image .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.home .home-partner-slide .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;
}

/*
 * OPCIONALNO: logo koji treba potpuno ispuniti prostor.
 * U Elementoru dodaj CSS klasu: logo-cover
 * na IMAGE widget ili na cijelu partner karticu.
 * Proporcije ostaju sačuvane; višak slike po rubovima može biti odrezan.
 */
body.home .home-partner-slide .elementor-widget-image.logo-cover img,
body.home .home-partner-slide.logo-cover .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    padding: 0 !important;
}


/* ========================================
   PREMIUM PARTNER - BEZ VIRENJA IZ KARTICE
======================================== */

body.home .home-partner-slide.premium-partner {
    border-color: #e5c400 !important;

    box-shadow:
        0 7px 18px rgba(0, 0, 0, 0.30),
        0 0 16px rgba(229, 196, 0, 0.24),
        inset 0 0 0 1px rgba(229, 196, 0, 0.10) !important;
}

/* Premium badge je cijeli UNUTAR kartice */
body.home .home-partner-slide.premium-partner::before {
    content: "◆  PREMIUM PARTNER";

    position: absolute !important;
    top: 11px !important;
    left: 12px !important;
    right: 12px !important;

    display: block !important;

    color: #e5c400 !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: .03em !important;
    text-align: left !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    pointer-events: none !important;
}

/*
 * Ako Premium predložak još sadrži ručno dodan dijamant / oznaku,
 * dodaj toj staroj ikoni/widgetu klasu: premium-partner-manual-badge
 * i CSS će je sakriti da se ne duplira.
 */
body.home .premium-partner-manual-badge {
    display: none !important;
}


/* ========================================
   STRELICE
======================================== */

body.home .home-partners-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    z-index: 20 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 46px !important;
    padding: 0 !important;

    border: 1px solid rgba(34, 197, 94, 0.42) !important;
    border-radius: 10px !important;

    background: rgba(3, 15, 10, 0.96) !important;
    color: #22c55e !important;

    font-size: 27px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;
    user-select: none !important;

    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;

    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease !important;
}

body.home .home-partners-arrow:hover {
    transform: translateY(-50%) scale(1.06) !important;
    background: rgba(6, 38, 22, 0.98) !important;
    border-color: #22c55e !important;
}

body.home .home-partners-arrow--prev {
    left: 3px !important;
}

body.home .home-partners-arrow--next {
    right: 3px !important;
}



/* ========================================
   MANJE KARTICA OD VIDLJIVOG KAPACITETA
======================================== */

/*
 * JS dodaje .is-short kada je broj kartica manji od kapaciteta
 * trenutnog breakpointa. Tada kartice sjednu u sredinu, a strelice
 * i autoplay nisu potrebni.
 */
body.home .home-partners-slider-wrap.is-short .home-partners-slider {
    justify-content: center !important;
}

body.home .home-partners-slider-wrap.is-short .home-partners-arrow {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ========================================
   TABLET - 3 KARTICE
======================================== */

@media (max-width: 1024px) {

    body.home .home-partners-slider-viewport {
        --partner-visible: 3;
        --partner-gap: 14px;

        max-width: 100% !important;
    }

    body.home .home-partners-slider-wrap {
        max-width: 100% !important;
        padding: 0 36px !important;
    }

    body.home .home-partner-slide {
        min-height: 226px !important;
        padding: 44px 10px 10px !important;
    }

    body.home .home-partner-slide .elementor-heading-title,
    body.home .home-partner-slide h1,
    body.home .home-partner-slide h2,
    body.home .home-partner-slide h3,
    body.home .home-partner-slide h4,
    body.home .home-partner-slide h5,
    body.home .home-partner-slide h6 {
        min-height: 45px !important;
        font-size: 16px !important;
    }

    body.home .home-partner-slide .elementor-widget-image img,
    body.home .home-partner-slide img {
        height: 118px !important;
    }

    body.home .home-partners-arrow {
        width: 29px !important;
        height: 42px !important;
        font-size: 24px !important;
    }
}


/* ========================================
   MOBITEL - 2 KARTICE
======================================== */

@media (max-width: 766px) {

    body.home .home-partners-slider-viewport {
        --partner-visible: 2;
        --partner-gap: 10px;

        max-width: 100% !important;

        padding: var(--partner-gap) !important;
        border-radius: 14px !important;
    }

    body.home .home-partners-slider-wrap {
        max-width: 100% !important;

        padding: 0 28px !important;
    }

    body.home .home-partner-slide {
        min-height: 210px !important;

        padding: 40px 8px 8px !important;

        border-radius: 13px !important;
    }

    body.home .home-partner-slide.premium-partner::before {
        top: 10px !important;
        left: 8px !important;
        right: 8px !important;

        font-size: 8px !important;
    }

    body.home .home-partner-slide .elementor-widget-heading {
        margin-bottom: 8px !important;
    }

    body.home .home-partner-slide .elementor-heading-title,
    body.home .home-partner-slide h1,
    body.home .home-partner-slide h2,
    body.home .home-partner-slide h3,
    body.home .home-partner-slide h4,
    body.home .home-partner-slide h5,
    body.home .home-partner-slide h6 {
        min-height: 42px !important;

        font-size: 14px !important;
        line-height: 1.18 !important;
    }

    body.home .home-partner-slide .elementor-widget-image img,
    body.home .home-partner-slide img {
        height: 108px !important;
        padding: 8px !important;

        border-radius: 10px !important;
    }

    body.home .home-partner-slide .elementor-widget-image.logo-cover img,
    body.home .home-partner-slide.logo-cover .elementor-widget-image img {
        height: 108px !important;
        padding: 0 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    body.home .home-partners-arrow {
        width: 22px !important;
        height: 38px !important;

        border-radius: 8px !important;

        font-size: 21px !important;
    }

    body.home .home-partners-arrow--prev {
        left: 2px !important;
    }

    body.home .home-partners-arrow--next {
        right: 2px !important;
    }
}


/* ========================================
   PARTNERI — 3 BENEFIT KARTICE
   FINAL: potpuno jednake 820–1122 px
======================================== */

@media (min-width: 820px) and (max-width: 1122px) {

    /*
     * U ovom rasponu koristimo GRID umjesto Elementor/Flex
     * rasporeda kako sadržaj pojedine kartice ne bi mogao
     * utjecati na širinu ili visinu ostalih kartica.
     */
    body.page-id-3781 .partners-benefits-row {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-auto-rows: 1fr !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 16px !important;

        align-items: stretch !important;
        justify-items: stretch !important;
    }

    body.page-id-3781 .partners-benefits-row > .partners-benefit-card {
        box-sizing: border-box !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: 100% !important;
        min-height: 92px !important;

        margin: 0 !important;
        padding: 14px 16px !important;

        align-self: stretch !important;
        justify-self: stretch !important;
    }

    /*
     * Elementor ponekad postavlja širine/flex na unutarnje
     * containere i widgete. U kartici ih držimo unutar 100%.
     */
    body.page-id-3781 .partners-benefits-row > .partners-benefit-card > *,
    body.page-id-3781 .partners-benefits-row > .partners-benefit-card .e-con,
    body.page-id-3781 .partners-benefits-row > .partners-benefit-card .elementor-widget {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* ========================================
   PARTNER MJESECA — TABLET SLIDER
======================================== */

@media (min-width: 767px) and (max-width: 1199px) {

    body.page-id-3781 .partner-products-slider {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        justify-content: flex-start !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        gap: 14px !important;
        padding: 0 0 10px 0 !important;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.page-id-3781 .partner-products-slider::-webkit-scrollbar {
        display: none;
    }

    body.page-id-3781 .partner-products-slider > * {
        flex: 0 0 42% !important;
        width: 42% !important;
        min-width: 42% !important;
        max-width: 42% !important;

        scroll-snap-align: start;
    }
}


/* ========================================
   PARTNER MJESECA — NASLOV PROIZVODA MAX 2 REDA
======================================== */

@media (min-width: 767px) and (max-width: 1199px) {

    body.page-id-3781 .partner-products-slider .partner-product-title {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;

        overflow: hidden !important;

        line-height: 1.35 !important;
        max-height: 2.7em !important;
    }
}
/* ========================================
   PARTNERI STRANICA — LOGO BEZ RAZVLAČENJA
======================================== */

/*
 * Vrijedi za kartice partnera na /partneri/.
 * Logo se uvijek prikazuje u svom originalnom omjeru.
 * Ne razvlači se ni po širini ni po visini.
 */
body.page-id-3781 .premium-partners-grid .elementor-widget-image,
body.page-id-3781 .premium-partners-grid .elementor-widget-image .elementor-widget-container {
    width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
}

/*
 * Ključni dio:
 * width/height su AUTO, a max dimenzije ograničavaju logo
 * unutar kartice bez promjene proporcija.
 */
body.page-id-3781 .premium-partners-grid .elementor-widget-image img {
    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 160px !important;

    object-fit: contain !important;
    object-position: center center !important;

    aspect-ratio: auto !important;

    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/*
 * Isto pravilo i za eventualne obične partner kartice na istoj stranici,
 * ako koriste standardni Elementor Image widget.
 */
body.page-id-3781 .partners-grid .elementor-widget-image,
body.page-id-3781 .partners-grid .elementor-widget-image .elementor-widget-container,
body.page-id-3781 .other-partners-grid .elementor-widget-image,
body.page-id-3781 .other-partners-grid .elementor-widget-image .elementor-widget-container {
    width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
}

body.page-id-3781 .partners-grid .elementor-widget-image img,
body.page-id-3781 .other-partners-grid .elementor-widget-image img {
    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 160px !important;

    object-fit: contain !important;
    object-position: center center !important;

    aspect-ratio: auto !important;

    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 766px) {
    body.page-id-3781 .premium-partners-grid .elementor-widget-image img,
    body.page-id-3781 .partners-grid .elementor-widget-image img,
    body.page-id-3781 .other-partners-grid .elementor-widget-image img {
        max-height: 135px !important;
    }
}

/* =========================================================
   QA FIX 2026-08-31 — PARTNER SLIDER 359–371 / 576–766 px
========================================================= */

/* Na vrlo uskom mobitelu jedna kartica izgleda urednije od dvije. */
@media (max-width: 371px) {
  body.home .home-partners-slider-viewport {
    --partner-visible: 1 !important;
  }

  body.home .home-partners-slider-wrap {
    padding-right: 26px !important;
    padding-left: 26px !important;
  }
}

/* Partner mjeseca: horizontalni slider ostaje unutar svoje kartice. */
@media (min-width: 576px) and (max-width: 766px) {
  body.page-id-3781 .partner-products-slider,
  body.page-id-3781 .partner-products-slider-viewport,
  body.page-id-3781 .partner-month-card,
  body.page-id-3781 .partner-of-month {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-3781 .partner-products-slider {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.page-id-3781 .partner-products-slider > * {
    max-width: 100% !important;
  }
}

/* =========================================================
   QA 2026-08-31 — PARTNERI PRECISE RANGE FIX v1.0.12
   Baza: v1.0.7 stable.
   - Partner tjedna: mobile stack <=1100px.
   - Partner mjeseca: vanjski mobile stack 767–949px.
   - Product kartice: precizno označene JS klasom, bez diranja <=765px.
   - Točno 766px: samo vizualno ograničenje slidera, bez promjene kartica.
========================================================= */

@media (max-width: 1100px) {
  body.page-id-3781 .ribo-week-list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-3781 .ribo-week-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Samo 767–949: vanjski Partner mjeseca prelazi u mobile stack. */
@media (min-width: 767px) and (max-width: 949px) {
  body.page-id-3781 .ribo-month-main-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-3781 .ribo-month-main-row > * {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Prava product kartica — JS je označava po .partner-product-title. */
  body.page-id-3781 .partner-products-slider .ribo-partner-product-card {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 42% !important;
    width: 42% !important;
    min-width: 42% !important;
    max-width: 42% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    align-self: stretch !important;
  }

  /* Slika ne smije pojesti tekstualni dio kartice. */
  body.page-id-3781 .partner-products-slider .ribo-partner-product-card img {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    max-height: 180px !important;
    object-fit: cover !important;
    object-position: center !important;
    flex: 0 0 180px !important;
  }

  body.page-id-3781 .partner-products-slider .ribo-partner-product-card .partner-product-title {
    position: static !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: 2.7em !important;
    max-height: 2.7em !important;
    margin-top: 8px !important;
    line-height: 1.35 !important;
    flex: 0 0 auto !important;
  }
}

/* Točno 766px: ne diraj širinu/visinu product kartica.
   Samo spriječi da se sadržaj tracka nacrta izvan vlastitog viewporta. */
@media (min-width: 766px) and (max-width: 766px) {
  body.page-id-3781 .partner-products-slider {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    clip-path: inset(0) !important;
    contain: inline-size !important;
  }
}


/* =========================================================
   PARTNERI — TABLET WIDTH SAFETY FIX 769–1198 px
   2026-09-09
   Cilj: spriječiti da Elementorov glavni wrapper na /partneri/
   ostane širi od viewporta. Namjerno je strogo ograničeno
   samo na page-id-3781 i samo na problematični raspon.
   Ne dira mobitel <=768 px niti desktop >=1199 px.
========================================================= */
@media (min-width: 769px) and (max-width: 1198px) {

    /* Sam korijen Partneri stranice mora stati u stvarni viewport. */
    body.page-id-3781 .elementor {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /*
     * Samo PRVI Elementor containeri.
     * Ne diramo širine unutarnjih kartica, slidera ni gridova.
     */
    body.page-id-3781 .elementor > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /*
     * partners-inner zadržava postojeći unutarnji razmak,
     * ali više nikad ne može prijeći širinu roditelja.
     */
    body.page-id-3781 .partners-inner {
        width: calc(100% - 48px) !important;
        max-width: min(1440px, calc(100% - 48px)) !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}
