/* ========================================
   RIBOLOVNO.HR - PARTNERI DIRECTORY GRID
   v1.2.2
======================================== */

.rib-partners-directory {
  --ribo-partner-green: var(--ribo-green, #22c55e);
  --ribo-partner-gold: #f2cf1d;
  --ribo-partner-text: #ffffff;

  box-sizing: border-box;
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 26px 18px 54px;
}

.rib-partners-directory *,
.rib-partners-directory *::before,
.rib-partners-directory *::after {
  box-sizing: border-box;
}

.rib-partners-directory-header {
  margin: 0 auto 30px;
  text-align: center;
}

.rib-partners-directory-title {
  margin: 0 !important;
  color: var(--ribo-partner-text) !important;
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.rib-partners-directory-subtitle {
  margin: 10px 0 0 !important;
  color: #f0cc1c !important;
  font-size: clamp(15px, 1.35vw, 20px);
  font-weight: 700;
  line-height: 1.45;
}

/*
 * Flex umjesto klasičnog grida:
 * - nepotpuni redovi uvijek su centrirani
 * - 1, 2 ili 3 partnera su u sredini
 * - kod 5 partnera peti je centriran u drugom redu
 */
.rib-partners-directory-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 18px;
  width: 100%;
}

.rib-partner-directory-card {
  position: relative;
  display: flex;
  flex: 0 1 280px;
  width: 280px;
  max-width: 280px;
  min-width: 0;
  min-height: 315px;
  flex-direction: column;
  align-items: stretch;
  padding: 15px;
  overflow: hidden;

  background:
    radial-gradient(circle at 50% 0%, rgba(34, 197, 94, .055), transparent 42%),
    rgba(7, 20, 14, .94);
  border: 1px solid rgba(98, 142, 117, .42);
  border-radius: 17px;

  color: var(--ribo-partner-text) !important;
  text-decoration: none !important;
  box-shadow: none;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background-color .2s ease;
}

.rib-partner-directory-card:hover,
.rib-partner-directory-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(34, 197, 94, .72);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
  color: var(--ribo-partner-text) !important;
  text-decoration: none !important;
  outline: none;
}

.rib-partner-directory-card.is-premium {
  border-color: rgba(242, 207, 29, .96);
  background:
    radial-gradient(circle at 50% 0%, rgba(242, 207, 29, .075), transparent 46%),
    rgba(7, 20, 14, .96);
  box-shadow: inset 0 0 0 1px rgba(242, 207, 29, .035);
}

.rib-partner-directory-card.is-premium:hover,
.rib-partner-directory-card.is-premium:focus-visible {
  border-color: #ffe04a;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, .28),
    0 0 22px rgba(242, 207, 29, .09);
}

.rib-partner-directory-badge-slot {
  display: flex;
  min-height: 22px;
  align-items: flex-start;
  margin-bottom: 7px;
}

.rib-partner-directory-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--ribo-partner-gold);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.rib-partner-directory-name {
  min-height: 31px;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em;
}

.rib-partner-directory-description {
  min-height: 35px;
  margin: 1px 0 10px;
  color: rgba(255, 255, 255, .62);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

/* Manji i niži logo prostor nego u v1.1.0. */
.rib-partner-directory-logo {
  display: flex;
  width: 100%;
  height: 145px;
  min-height: 145px;
  align-items: center;
  justify-content: center;
  padding: 6px;
  overflow: hidden;

  background: transparent;
  border: 1px solid rgba(255, 255, 255, .035);
  border-radius: 14px;
}

.rib-partner-directory-logo-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.rib-partner-directory-logo-placeholder {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border: 1px solid rgba(34, 197, 94, .28);
  border-radius: 50%;
  color: rgba(255, 255, 255, .4);
  font-size: 28px;
  font-weight: 800;
}

.rib-partner-directory-cta {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: 14px;
  padding: 8px 14px;

  border: 1px solid rgba(34, 197, 94, .72);
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;

  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.rib-partner-directory-card:hover .rib-partner-directory-cta,
.rib-partner-directory-card:focus-visible .rib-partner-directory-cta {
  background: var(--ribo-partner-green);
  border-color: var(--ribo-partner-green);
  color: #06130a;
}

.rib-partner-directory-card.is-premium .rib-partner-directory-cta {
  border-color: rgba(242, 207, 29, .72);
}

.rib-partner-directory-card.is-premium:hover .rib-partner-directory-cta,
.rib-partner-directory-card.is-premium:focus-visible .rib-partner-directory-cta {
  background: var(--ribo-partner-gold);
  border-color: var(--ribo-partner-gold);
  color: #111000;
}

.rib-partners-directory-empty {
  margin: 20px 0 0;
  padding: 22px;
  border: 1px solid rgba(34, 197, 94, .22);
  border-radius: 14px;
  color: rgba(255, 255, 255, .72);
  text-align: center;
}

@media (max-width: 1024px) {
  .rib-partners-directory {
    padding-inline: 16px;
  }

  .rib-partner-directory-card {
    flex-basis: 260px;
    width: 260px;
    max-width: 260px;
  }

  .rib-partner-directory-logo {
    height: 140px;
    min-height: 140px;
    padding: 6px;
  }
}

@media (max-width: 767px) {
  .rib-partners-directory {
    padding: 18px 12px 42px;
  }

  .rib-partners-directory-header {
    margin-bottom: 22px;
  }

  .rib-partners-directory-grid {
    gap: 12px;
  }

  .rib-partner-directory-card {
    flex: 0 1 calc((100% - 12px) / 2);
    width: calc((100% - 12px) / 2);
    max-width: 280px;
    min-height: 0;
    padding: 11px;
    border-radius: 14px;
  }

  .rib-partner-directory-badge-slot {
    min-height: 20px;
    margin-bottom: 4px;
  }

  .rib-partner-directory-premium-badge {
    gap: 4px;
    font-size: 8.5px;
  }

  .rib-partner-directory-name {
    min-height: 36px;
    font-size: 14px !important;
  }

  .rib-partner-directory-description {
    min-height: 34px;
    margin: 1px 0 8px;
    font-size: 10px;
    line-height: 1.35;
  }

  .rib-partner-directory-logo {
    height: 115px;
    min-height: 115px;
    padding: 5px;
    border-radius: 12px;
  }

  .rib-partner-directory-cta {
    width: 100%;
    min-height: 35px;
    margin-top: 10px;
    padding: 7px 8px;
    font-size: 10.5px;
  }
}

@media (max-width: 359px) {
  .rib-partners-directory-grid {
    justify-content: center;
  }

  .rib-partner-directory-card {
    flex-basis: min(100%, 280px);
    width: min(100%, 280px);
    max-width: 280px;
  }
}


/* ========================================
   CENTRIRAN NASLOV /PARTNERI/
   v1.3.8
======================================== */

.rib-partners-directory .rib-partners-directory-header {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.rib-partners-directory .rib-partners-directory-title,
.rib-partners-directory .rib-partners-directory-subtitle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* ========================================
   PARTNERI DIRECTORY V2 — 2 / 5 OGLASA
   v1.8.0
======================================== */

.rib-partners-directory-v2 {
  width: min(100%, 1500px);
  padding-top: 10px;
}

.rib-partners-tier + .rib-partners-tier {
  margin-top: 52px;
}

.rib-partners-tier-heading {
  margin: 0 0 18px;
  text-align: center;
}

.rib-partners-tier-kicker {
  display: inline-block;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, .62);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.rib-partners-tier-premium .rib-partners-tier-kicker {
  color: #f2cf1d;
}

.rib-partners-tier-heading h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(26px, 2.5vw, 40px) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

.rib-partner-showcase-list {
  display: grid;
  gap: 24px;
  width: 100%;
}

.rib-partner-showcase-list.is-premium-list {
  grid-template-columns: minmax(0, 1fr);
}

.rib-partner-showcase-list.is-standard-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.rib-partner-showcase-card {
  position: relative;
  min-width: 0;
  padding: 24px 24px 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(34, 197, 94, .055), transparent 35%),
    rgba(2, 10, 7, .95);
  border: 1px solid rgba(34, 197, 94, .8);
  border-radius: 24px;
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
}

.rib-partner-showcase-card.is-premium {
  background:
    radial-gradient(circle at 15% 0%, rgba(242, 207, 29, .075), transparent 38%),
    rgba(2, 8, 6, .97);
  border-color: rgba(242, 207, 29, .94);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, .30),
    0 0 20px rgba(242, 207, 29, .10),
    inset 0 0 0 1px rgba(242, 207, 29, .05);
}

.rib-partner-showcase-topline {
  display: flex;
  align-items: center;
  min-height: 24px;
}

.rib-partner-showcase-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #32e866;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-badge {
  color: #f2cf1d;
}

.rib-partner-showcase-name {
  margin: 4px 0 18px !important;
  color: #fff !important;
  font-size: clamp(25px, 2vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center;
}

.rib-partner-showcase-card.is-standard .rib-partner-showcase-name {
  font-size: clamp(21px, 1.6vw, 28px) !important;
}

.rib-partner-showcase-body {
  display: grid;
  grid-template-columns: minmax(170px, 230px) minmax(180px, 250px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.rib-partner-showcase-card.is-standard .rib-partner-showcase-body {
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  gap: 14px;
}

.rib-partner-showcase-card.is-standard .rib-partner-showcase-about {
  display: none;
}

.rib-partner-showcase-brand,
.rib-partner-showcase-about,
.rib-partner-showcase-offer {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px;
  background: rgba(0, 0, 0, .18);
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
.rib-partner-showcase-card.is-premium .rib-partner-showcase-about,
.rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
  border-color: rgba(242, 207, 29, .24);
}

.rib-partner-showcase-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px;
}

.rib-partner-showcase-logo {
  display: flex;
  width: 100%;
  min-height: 145px;
  align-items: center;
  justify-content: center;
  padding: 8px;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
}

.rib-partner-showcase-card.is-standard .rib-partner-showcase-logo {
  min-height: 135px;
}

.rib-partner-showcase-logo-image {
  display: block !important;
  width: 100% !important;
  height: 145px !important;
  max-width: 100% !important;
  max-height: 145px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.rib-partner-showcase-logo-placeholder {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid rgba(34, 197, 94, .32);
  border-radius: 50%;
  color: rgba(255, 255, 255, .45);
  font-size: 30px;
  font-weight: 900;
}

.rib-partner-showcase-contacts {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
}

.rib-partner-showcase-contacts a {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(34, 197, 94, .45);
  border-radius: 50%;
  color: #32e866 !important;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-contacts a {
  border-color: rgba(242, 207, 29, .45);
  color: #f2cf1d !important;
}

.rib-partner-showcase-contacts a:hover,
.rib-partner-showcase-contacts a:focus-visible {
  transform: translateY(-2px);
  border-color: currentColor;
  background: rgba(255, 255, 255, .06);
  outline: none;
}

.rib-partner-showcase-about {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px;
  text-align: center;
}

.rib-partner-showcase-about-title,
.rib-partner-showcase-offer-title {
  margin: 0 0 12px;
  color: #fff;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

.rib-partner-showcase-about p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.6;
}

.rib-partner-showcase-offer {
  padding: 12px;
}

.rib-partner-products {
  min-width: 0;
}

.rib-partner-products.is-premium {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.rib-partner-products.is-standard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rib-partner-product-card {
  display: flex;
  min-width: 0;
  min-height: 250px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 18px;
  background: rgba(0, 0, 0, .42);
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.rib-partner-product-card:hover,
.rib-partner-product-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(34, 197, 94, .75);
  box-shadow: 0 9px 18px rgba(0, 0, 0, .22);
  outline: none;
}

.rib-partner-showcase-card.is-premium .rib-partner-product-card:hover,
.rib-partner-showcase-card.is-premium .rib-partner-product-card:focus-visible {
  border-color: rgba(242, 207, 29, .78);
}

.rib-partner-product-image {
  display: flex;
  width: 100%;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f4f4f4;
}

.rib-partner-product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.rib-partner-product-placeholder {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 0, 0, .08);
  color: rgba(0, 0, 0, .35);
  font-size: 25px;
  font-weight: 900;
}

.rib-partner-product-title {
  display: -webkit-box;
  min-height: 50px;
  padding: 10px 9px 4px;
  overflow: hidden;
  color: #0aa5ff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.42;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rib-partner-product-price {
  display: flex;
  min-height: 46px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 7px;
  margin-top: auto;
  padding: 5px 8px 10px;
  text-align: center;
}

.rib-partner-product-price strong {
  color: #0aa5ff;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}

.rib-partner-product-price del {
  color: rgba(255, 255, 255, .48);
  font-size: 11px;
}

.rib-partner-product-price-empty {
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  font-weight: 700;
}

.rib-partner-products-empty {
  display: flex;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: rgba(255, 255, 255, .58);
  font-size: 13px;
  text-align: center;
}

.rib-partner-showcase-footer {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.rib-partner-showcase-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 22px;
  border: 1px solid #32e866;
  border-radius: 999px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-cta {
  border-color: #f2cf1d;
}

.rib-partner-showcase-cta:hover,
.rib-partner-showcase-cta:focus-visible {
  transform: translateY(-1px);
  background: #32e866;
  color: #031007 !important;
  outline: none;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-cta:hover,
.rib-partner-showcase-card.is-premium .rib-partner-showcase-cta:focus-visible {
  background: #f2cf1d;
  color: #151100 !important;
}

@media (max-width: 1250px) {
  .rib-partner-showcase-body {
    grid-template-columns: minmax(170px, 210px) minmax(0, 1fr);
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-about {
    grid-column: 1;
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .rib-partner-products.is-premium {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1050px) {
  .rib-partner-showcase-list.is-standard-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .rib-partner-showcase-card.is-standard .rib-partner-showcase-body {
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .rib-partners-tier + .rib-partners-tier {
    margin-top: 38px;
  }

  .rib-partner-showcase-card {
    padding: 18px 14px 16px;
    border-radius: 18px;
  }

  .rib-partner-showcase-name {
    margin-bottom: 14px !important;
    font-size: 24px !important;
  }

  .rib-partner-showcase-body,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-about,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    grid-column: auto;
    grid-row: auto;
  }

  .rib-partner-showcase-card.is-standard .rib-partner-showcase-about {
    display: none;
  }

  .rib-partner-showcase-brand {
    padding: 10px;
  }

  .rib-partner-showcase-logo,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo {
    min-height: 120px;
  }

  .rib-partner-showcase-logo-image {
    height: 120px !important;
    max-height: 120px !important;
  }

  .rib-partner-showcase-about {
    padding: 14px;
  }

  .rib-partner-products.is-premium {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .rib-partner-products.is-premium .rib-partner-product-card {
    flex: 0 0 min(68vw, 210px);
    scroll-snap-align: start;
  }

  .rib-partner-products.is-standard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rib-partner-product-card {
    min-height: 0;
  }

  .rib-partner-product-title {
    min-height: 46px;
    font-size: 11px;
  }

  .rib-partner-product-price strong {
    font-size: 14px;
  }
}

@media (max-width: 420px) {
  .rib-partner-products.is-standard {
    gap: 8px;
  }

  .rib-partner-product-title {
    padding-inline: 6px;
    font-size: 10.5px;
  }
}

/* ========================================
   PARTNERI CAROUSEL — RUČNI SLIDER
   v1.9.3
   Bez autoplaya: strelice + swipe/trackpad.
======================================== */

.rib-partner-carousel {
  position: relative;
  width: 100%;
}

.rib-partner-carousel-toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: -4px 0 12px;
}

.rib-partner-carousel-counter {
  min-width: 70px;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.rib-partner-carousel-arrow {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(34, 197, 94, .52);
  border-radius: 50%;
  background: rgba(3, 15, 10, .96);
  color: #32e866;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, opacity .16s ease;
}

.rib-partners-tier-premium .rib-partner-carousel-arrow {
  border-color: rgba(242, 207, 29, .58);
  color: #f2cf1d;
}

.rib-partner-carousel-arrow:hover:not(:disabled),
.rib-partner-carousel-arrow:focus-visible:not(:disabled) {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .07);
  border-color: currentColor;
  outline: none;
}

.rib-partner-carousel-arrow:disabled {
  opacity: .28;
  cursor: default;
}

.rib-partner-carousel.is-single .rib-partner-carousel-toolbar {
  display: none;
}

.rib-partner-carousel-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.rib-partner-carousel-viewport::-webkit-scrollbar {
  display: none;
}

/* V2 grid pretvaramo u horizontalni track samo unutar carousela. */
.rib-partner-carousel .rib-partner-showcase-list {
  display: flex;
  width: max-content;
  max-width: none;
  align-items: stretch;
  gap: 20px;
  padding: 2px 72px 10px 2px;
}

.rib-partner-carousel .rib-partner-showcase-card {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* Premium: jedna velika kartica + vidljivi rub sljedeće. */
.rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card {
  flex: 0 0 min(1220px, calc(100vw - 170px));
  width: min(1220px, calc(100vw - 170px));
  max-width: none;
}

/* Obični: dvije pune kartice + mali signal da sadržaj ide dalje. */
.rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
  flex: 0 0 min(660px, calc((100vw - 150px) / 2));
  width: min(660px, calc((100vw - 150px) / 2));
  max-width: none;
}

@media (min-width: 1500px) {
  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card {
    flex-basis: 1320px;
    width: 1320px;
  }

  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
    flex-basis: 650px;
    width: 650px;
  }
}

@media (max-width: 1050px) and (min-width: 768px) {
  .rib-partner-carousel .rib-partner-showcase-list {
    gap: 16px;
    padding-right: 24px;
  }

  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
    box-sizing: border-box;
    flex: 0 0 var(--rib-tablet-card-width, calc(100% - 12px));
    width: var(--rib-tablet-card-width, calc(100% - 12px));
    max-width: var(--rib-tablet-card-width, calc(100% - 12px));
  }
}

@media (max-width: 767px) {
  .rib-partner-carousel-toolbar {
    margin-bottom: 10px;
  }

  .rib-partner-carousel-arrow {
    width: 36px;
    height: 36px;
    font-size: 23px;
  }

  .rib-partner-carousel-counter {
    min-width: 64px;
    font-size: 11px;
  }

  .rib-partner-carousel .rib-partner-showcase-list {
    gap: 12px;
    padding-right: 44px;
  }

  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
    flex-basis: calc(100vw - 54px);
    width: calc(100vw - 54px);
  }
}

@media (max-width: 420px) {
  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
    flex-basis: calc(100vw - 46px);
    width: calc(100vw - 46px);
  }
}

/* ========================================
   PARTNERI CAROUSEL — SOFT FADE + PRIKAŽI SVE
   v1.9.4
======================================== */

/* Mekani rubovi umjesto tvrdog reza sljedeće kartice. */
.rib-partner-carousel::before,
.rib-partner-carousel::after {
  content: "";
  position: absolute;
  top: 48px;
  bottom: 58px;
  width: 86px;
  z-index: 8;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease;
}

.rib-partner-carousel::before {
  left: 0;
  background: linear-gradient(90deg, #03110c 0%, rgba(3, 17, 12, .92) 24%, rgba(3, 17, 12, 0) 100%);
}

.rib-partner-carousel::after {
  right: 0;
  background: linear-gradient(270deg, #03110c 0%, rgba(3, 17, 12, .92) 24%, rgba(3, 17, 12, 0) 100%);
}

.rib-partner-carousel.has-prev::before,
.rib-partner-carousel.has-next::after {
  opacity: 1;
}

/* U expanded prikazu nema fadea ni odrezivanja. */
.rib-partner-carousel.is-expanded::before,
.rib-partner-carousel.is-expanded::after {
  display: none;
}

/* Malo suptilnije "virenje" sljedeće kartice. */
.rib-partner-carousel .rib-partner-showcase-list {
  padding-right: 52px;
}

.rib-partner-carousel-all-wrap {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.rib-partner-carousel-all {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 22px;
  border: 1px solid rgba(34, 197, 94, .72);
  border-radius: 999px;
  background: rgba(3, 15, 10, .94);
  color: #fff;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}

.rib-partners-tier-premium .rib-partner-carousel-all {
  border-color: rgba(242, 207, 29, .76);
}

.rib-partner-carousel-all:hover,
.rib-partner-carousel-all:focus-visible {
  transform: translateY(-1px);
  background: #32e866;
  border-color: #32e866;
  color: #031007;
  outline: none;
}

.rib-partners-tier-premium .rib-partner-carousel-all:hover,
.rib-partners-tier-premium .rib-partner-carousel-all:focus-visible {
  background: #f2cf1d;
  border-color: #f2cf1d;
  color: #151100;
}

/* "Pogledaj sve" pretvara slider u normalan popis bez odlaska na drugu stranicu. */
.rib-partner-carousel.is-expanded .rib-partner-carousel-toolbar {
  display: none;
}

.rib-partner-carousel.is-expanded .rib-partner-carousel-viewport {
  overflow: visible;
  scroll-snap-type: none;
}

.rib-partner-carousel.is-expanded .rib-partner-showcase-list {
  display: grid;
  width: 100%;
  max-width: 100%;
  padding: 2px;
}

.rib-partner-carousel.is-expanded[data-rib-partner-carousel="premium"] .rib-partner-showcase-list {
  grid-template-columns: minmax(0, 1fr);
}

.rib-partner-carousel.is-expanded[data-rib-partner-carousel="standard"] .rib-partner-showcase-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rib-partner-carousel.is-expanded .rib-partner-showcase-card {
  width: 100% !important;
  max-width: none !important;
  flex-basis: auto !important;
  scroll-snap-align: none;
}

@media (max-width: 1050px) {
  .rib-partner-carousel::before,
  .rib-partner-carousel::after {
    width: 64px;
  }

  .rib-partner-carousel .rib-partner-showcase-list {
    padding-right: 42px;
  }

  .rib-partner-carousel.is-expanded[data-rib-partner-carousel="standard"] .rib-partner-showcase-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .rib-partner-carousel::before,
  .rib-partner-carousel::after {
    top: 46px;
    bottom: 56px;
    width: 42px;
  }

  .rib-partner-carousel::before {
    background: linear-gradient(90deg, #03110c 0%, rgba(3, 17, 12, .82) 26%, rgba(3, 17, 12, 0) 100%);
  }

  .rib-partner-carousel::after {
    background: linear-gradient(270deg, #03110c 0%, rgba(3, 17, 12, .82) 26%, rgba(3, 17, 12, 0) 100%);
  }

  .rib-partner-carousel .rib-partner-showcase-list {
    padding-right: 30px;
  }

  .rib-partner-carousel-all-wrap {
    margin-top: 12px;
  }

  .rib-partner-carousel-all {
    min-height: 42px;
    padding: 8px 18px;
    font-size: 12px;
  }
}

/* ========================================
   PARTNERI CAROUSEL — TRANSPARENTNI FADE + MOBILE FIX
   v1.9.5
   - desktop fade koristi masku pa se vidi stvarna pozadina sekcije
   - na mobitelu nema maske preko aktivne kartice
======================================== */

/* Uklanjamo obojene overlaye iz 1.9.4; oni su na Premium pozadini izgledali kao tvrdi rez. */
.rib-partner-carousel::before,
.rib-partner-carousel::after {
  display: none !important;
}

/* Fade sadržaja prema stvarnoj pozadini stranice, bez umjetne zelene plohe. */
.rib-partner-carousel-viewport {
  -webkit-mask-image: none;
  mask-image: none;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 92px), transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 92px), transparent 100%);
}

.rib-partner-carousel.has-prev:not(.is-expanded):not(.has-next) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 92px, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 92px, #000 100%);
}

.rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 92px, #000 calc(100% - 92px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 92px, #000 calc(100% - 92px), transparent 100%);
}

/* Premium ima širu i mekšu tranziciju jer je kartica tamnija/zlatna. */
.rib-partners-tier-premium .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 118px), transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 118px), transparent 100%);
}

.rib-partners-tier-premium .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 118px, #000 calc(100% - 118px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 118px, #000 calc(100% - 118px), transparent 100%);
}

.rib-partners-tier-premium .rib-partner-carousel.has-prev:not(.has-next):not(.is-expanded) .rib-partner-carousel-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 118px, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 118px, #000 100%);
}

/* Tablet portrait: nema maske preko aktivne kartice. */
@media (min-width: 768px) and (max-width: 899px) {
  .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-prev:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-prev:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

/* Tablet landscape: fade počinje tek iza cijele aktivne kartice. */
@media (min-width: 900px) and (max-width: 1050px) {
  .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 56px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 56px), transparent 100%);
  }

  .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 56px, #000 calc(100% - 56px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 56px, #000 calc(100% - 56px), transparent 100%);
  }
}

/*
 * Mobitel:
 * ne stavljamo fade/masku preko viewporta jer je prekrivala desni rub AKTIVNE kartice.
 * I dalje ostaje mali komad sljedeće kartice + swipe + strelice + brojač.
 */
@media (max-width: 767px) {
  .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-prev:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-next:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-prev:not(.is-expanded) .rib-partner-carousel-viewport,
  .rib-partners-tier-premium .rib-partner-carousel.has-prev.has-next:not(.is-expanded) .rib-partner-carousel-viewport {
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  /*
   * Mobile v1.9.6:
   * širina kartice računa se iz STVARNE širine slider viewporta (JS), a ne iz 100vw.
   * Tako bočni padding/margine stranice više ne odrežu aktivnu karticu.
   */
  .rib-partner-carousel .rib-partner-showcase-list {
    gap: 12px;
    padding-left: 2px;
    padding-right: 24px;
  }

  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card {
    flex: 0 0 var(--rib-mobile-card-width, 88vw);
    width: var(--rib-mobile-card-width, 88vw);
    max-width: var(--rib-mobile-card-width, 88vw);
  }
}


/* ========================================
   UJEDNAČENE PARTNERSKE KARTICE
   v1.9.7
   - isti partner tier ima jednaku visinu glavnih blokova
   - naziv i opis ne mogu "razvući" jednu karticu više od drugih
   - sadržaj ostaje centriran unutar rezerviranog prostora
======================================== */

/* Naziv: rezerviraj prostor za najviše 2 retka na svim karticama. */
.rib-partner-showcase-name {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: center;
  margin-top: 4px !important;
  margin-bottom: 18px !important;
  overflow: hidden;
  text-align: center;
}

.rib-partner-showcase-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Premium: tri unutarnja panela imaju stabilnu visinu. */
.rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
.rib-partner-showcase-card.is-premium .rib-partner-showcase-about,
.rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
  min-height: 318px;
}

/* Obični Partner: logo i izdvojeni oglasi ostaju ujednačeni. */
.rib-partner-showcase-card.is-standard .rib-partner-showcase-brand,
.rib-partner-showcase-card.is-standard .rib-partner-showcase-offer {
  min-height: 286px;
}

/* Opis ne smije proizvoljno povećavati karticu. Puni opis je na profilu partnera. */
.rib-partner-showcase-about p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
}

/* Prazan blok oglasa ispuni raspoloživi panel jednako kao blok s proizvodima. */
.rib-partner-showcase-offer {
  display: flex;
  flex-direction: column;
}

.rib-partner-showcase-offer .rib-partner-products,
.rib-partner-showcase-offer .rib-partner-products-empty {
  flex: 1 1 auto;
}

.rib-partner-products-empty {
  min-height: 0;
}

/* CTA uvijek ostaje u istoj zoni dna kartice. */
.rib-partner-showcase-card {
  display: flex;
  flex-direction: column;
}

.rib-partner-showcase-body {
  flex: 1 1 auto;
}

.rib-partner-showcase-footer {
  margin-top: 16px;
}

/* Tablet: i dalje rezerviramo jednake visine, ali nešto kompaktnije. */
@media (max-width: 1250px) and (min-width: 768px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-about {
    min-height: 220px;
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    min-height: 458px;
  }

  .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer {
    min-height: 286px;
  }
}


\n\n/* ========================================\n   PREMIUM SAŽETAK PONUDE\n   v1.9.8\n   - blok \"O partneru\" na Premium kartici postaje kratki, skenabilni blok \"Ponuda\"\n   - puni opis ostaje na profilu partnera\n======================================== */\n.rib-partner-showcase-card.is-premium .rib-partner-showcase-about {\n  justify-content: center;\n}\n\n.rib-partner-showcase-card.is-premium .rib-partner-showcase-about-title {\n  margin-bottom: 14px;\n}\n\n.rib-partner-showcase-card.is-premium .rib-partner-showcase-about p {\n  max-width: 220px;\n  margin-left: auto !important;\n  margin-right: auto !important;\n  color: rgba(255, 255, 255, .88) !important;\n  font-size: 14px;\n  font-weight: 700;\n  line-height: 1.65;\n  text-align: center;\n}\n
/* ========================================
   PARTNERI DIRECTORY V2.1 — bez "Ponuda" bloka
   v1.9.22
======================================== */
.rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  gap: 22px;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-brand {
  padding: 18px;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-logo {
  min-height: 220px;
  padding: 10px;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image {
  height: 220px !important;
  max-height: 220px !important;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
  min-width: 0;
  padding: 16px;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-offer-title {
  margin-bottom: 16px;
}

@media (max-width: 980px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
    grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
    gap: 16px;
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image {
    min-height: 185px;
    height: 185px !important;
    max-height: 185px !important;
  }
}

@media (max-width: 760px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
    grid-template-columns: 1fr;
  }

  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image {
    min-height: 170px;
    height: 170px !important;
    max-height: 170px !important;
  }
}

/* ========================================
   PREMIUM KARTICA: LOGO + NASLOVNA + OGLASI
   v1.9.24
======================================== */
.rib-partner-showcase-cover {
  display: flex;
  min-width: 0;
  min-height: 220px;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(242, 207, 29, .24);
  border-radius: 18px;
  background: rgba(0, 0, 0, .18);
}

.rib-partner-showcase-cover-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px;
  object-fit: cover !important;
  object-position: center !important;
}

.rib-partner-showcase-cover-image.is-fallback {
  object-fit: contain !important;
  padding: 18px;
}

.rib-partner-showcase-cover-placeholder {
  display: flex;
  width: 100%;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: rgba(255,255,255,.42);
  text-align: center;
}

@media (max-width: 1250px) and (min-width: 768px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand {
    grid-column: 1;
    grid-row: 1;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-cover {
    grid-column: 1;
    grid-row: 2;
    min-height: 170px;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-cover-image,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-cover-placeholder {
    min-height: 170px;
  }
}

@media (max-width: 767px) {
  .rib-partner-showcase-cover {
    min-height: 180px;
  }
  .rib-partner-showcase-cover-image,
  .rib-partner-showcase-cover-placeholder {
    min-height: 180px;
  }
}

/* ========================================
   PREMIUM KARTICA V1.9.25
   - lijevo samo jedan brand/logo blok
   - desno izdvojeni oglasi
   - naslovna fotografija se više ne prikazuje u directory kartici
======================================== */
.rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
  display: grid !important;
  grid-template-columns: minmax(280px, 34%) minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-logo {
  min-height: 250px !important;
  height: 250px !important;
}

.rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image {
  width: 100% !important;
  height: 100% !important;
  max-height: 250px !important;
  object-fit: contain !important;
}

/* Stari cover blok ne smije rezervirati prostor ni ako ostane iz cachea starog HTML-a. */
.rib-partner-showcase-card.is-premium .rib-partner-showcase-cover {
  display: none !important;
}

@media (max-width: 980px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
    grid-template-columns: minmax(230px, 34%) minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 760px) {
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-body {
    grid-template-columns: 1fr !important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    grid-column: 1 !important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand {
    grid-row: 1 !important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer {
    grid-row: 2 !important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo {
    min-height: 190px !important;
    height: 190px !important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image {
    max-height: 190px !important;
  }
}


/* ========================================
   CAROUSEL DESKTOP LEFT INSET
   v1.9.26
   - prvi partner više ne dodiruje/ulazi u lijevi rub viewporta
======================================== */
@media (min-width: 768px) {
  .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-list {
    padding-left: 14px;
  }
}

/* ========================================
   CAROUSEL DESKTOP LEFT EDGE FIX
   v1.9.27
   - aktivna kartica ostaje odmaknuta od lijevog ruba i nakon scroll-snap poravnanja
======================================== */
@media (min-width: 768px) {
  .rib-partner-carousel:not(.is-expanded) .rib-partner-carousel-viewport {
    scroll-padding-left: 28px !important;
  }

  .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-list {
    padding-left: 28px !important;
  }
}


/* ========================================
   V1.9.65 — KANONSKI KOMPAKTNI MOBILNI PARTNERI
   Bez fiksnih visokih zona: sadržaj određuje visinu kartice.
======================================== */
@media (max-width:767px){
  .rib-partners-directory,.rib-partners-wrap,.rib-partner-carousel{width:100%!important;max-width:none!important}
  .rib-partner-carousel-viewport{width:100%!important;padding-left:6px!important;padding-right:6px!important}
  .rib-partner-carousel .rib-partner-showcase-list{padding-left:0!important;padding-right:0!important;gap:8px!important}
  .rib-partner-carousel .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="premium"] .rib-partner-showcase-card,
  .rib-partner-carousel[data-rib-partner-carousel="standard"] .rib-partner-showcase-card{
    flex:0 0 calc(100vw - 20px)!important;width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;
    min-height:0!important;height:auto!important;padding:12px 10px!important;border-radius:18px!important;
  }
  .rib-partner-showcase-name,.rib-partner-showcase-card.is-standard .rib-partner-showcase-name{
    min-height:0!important;margin:4px 0 10px!important;font-size:24px!important;line-height:1.15!important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-body{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer{
    min-height:0!important;height:auto!important;padding:10px!important;margin:0!important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo{
    min-height:0!important;height:150px!important;padding:8px!important;
  }
  .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image,
  .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo-image{
    height:134px!important;max-height:134px!important;object-fit:contain!important;
  }
  .rib-partner-showcase-socials{margin-top:8px!important;gap:8px!important}
  .rib-partner-showcase-offer-title{margin:0 0 8px!important;font-size:20px!important}
  .rib-partner-products.is-premium{gap:8px!important;padding:0 0 4px!important}
  .rib-partner-products.is-premium .rib-partner-product-card{flex:0 0 min(58vw,190px)!important}
  .rib-partner-product-title{min-height:34px!important;padding:7px 6px!important;line-height:1.25!important}
  .rib-partner-product-price{padding:6px!important}
  .rib-partner-showcase-footer{margin-top:10px!important}
  .rib-partner-showcase-cta{padding:10px 18px!important;min-height:42px!important}
  .rib-partners-tier + .rib-partners-tier{margin-top:24px!important}
}


/* ========================================
   V1.9.66 — MOBILE CAROUSEL: ŠIRI VIEWPORT, CIJELA KARTICA
   Carousel izlazi iz uskog theme content stupca gotovo do rubova ekrana.
   Kartica je samo 10 px uža od stvarnog viewporta (JS), pa više nije odrezana.
======================================== */
@media (max-width:767px){
  .rib-partners-directory-v2 .rib-partner-carousel{
    position:relative!important;
    left:50%!important;
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    margin-left:calc(-50vw + 6px)!important;
    margin-right:0!important;
  }
  .rib-partners-directory-v2 .rib-partner-carousel-viewport{
    width:100%!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:auto!important;
  }
  .rib-partners-directory-v2 .rib-partner-carousel .rib-partner-showcase-list{
    padding-left:0!important;
    padding-right:10px!important;
    gap:10px!important;
  }
  .rib-partners-directory-v2 .rib-partner-carousel .rib-partner-showcase-card{
    max-width:var(--rib-mobile-card-width,calc(100vw - 22px))!important;
  }
  .rib-partners-directory-v2 .rib-partner-carousel-toolbar,
  .rib-partners-directory-v2 .rib-partner-carousel-all-wrap{
    width:calc(100% - 12px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .rib-partners-directory-v2 .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-brand{
    overflow:hidden!important;
  }
  .rib-partners-directory-v2 .rib-partner-products.is-premium{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
  }
}

/* ========================================
   V1.9.73 — KANONSKI MOBILE LAYOUT PARTNER KARTICE
   Zamjenjuje stare 1.9.70 / 1.9.71 / 1.9.72 blokove.
   Jednake zone za sve partnere; logo se uvijek prikazuje cijeli.
======================================== */
@media (max-width:767px){
  .rib-partners-directory-v2 .rib-partner-showcase-card,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard{
    box-sizing:border-box!important;
    height:760px!important;
    min-height:760px!important;
    max-height:760px!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-name,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-name,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-name{
    flex:0 0 56px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:2px 0 8px!important;
    overflow:hidden!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-body,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-body,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-body{
    flex:1 1 auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:218px 304px!important;
    gap:10px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand{
    box-sizing:border-box!important;
    height:218px!important;
    min-height:218px!important;
    max-height:218px!important;
    padding:10px!important;
    display:grid!important;
    grid-template-rows:150px 42px!important;
    gap:6px!important;
    overflow:hidden!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-logo,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo{
    box-sizing:border-box!important;
    width:100%!important;
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    padding:8px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:transparent!important;
  }

  /* Bitno: slika nema prisilnu širinu/visinu. Samo maksimalne granice.
     Tako svaki omjer logotipa stane u istu zonu bez cropanja. */
  .rib-partners-directory-v2 .rib-partner-showcase-logo > img.rib-partner-showcase-logo-image,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo > img.rib-partner-showcase-logo-image,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo > img.rib-partner-showcase-logo-image{
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    flex:none!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-contacts{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:4px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    overflow:visible!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer{
    box-sizing:border-box!important;
    height:304px!important;
    min-height:304px!important;
    max-height:304px!important;
    padding:9px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-offer-title{
    flex:0 0 auto!important;
    margin:0 0 7px!important;
  }

  .rib-partners-directory-v2 .rib-partner-products.is-premium,
  .rib-partners-directory-v2 .rib-partner-products.is-standard{
    flex:1 1 auto!important;
    min-height:0!important;
    align-items:stretch!important;
  }

  .rib-partners-directory-v2 .rib-partner-products.is-premium .rib-partner-product-card,
  .rib-partners-directory-v2 .rib-partner-products.is-standard .rib-partner-product-card{
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }

  .rib-partners-directory-v2 .rib-partner-products-empty{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-footer{
    flex:0 0 52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    margin-top:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}
\n\n/* ========================================
   V1.9.75 — LOGO POZADINA: GLOBALNO
   Jedno pravilo za desktop, tablet i mobitel.
   Logo zona nema vlastiti sloj boje; transparentni logo vizualno sjeda
   direktno na pozadinu brand containera bez prijelaza/pravokutnika.
======================================== */
.rib-partners-directory-v2 .rib-partner-showcase-logo,
.rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
.rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.rib-partners-directory-v2 .rib-partner-showcase-logo-image,
.rib-partners-directory-v2 .rib-partner-showcase-logo > img {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* =========================================================
   V1.9.78 — KANONSKI naslov kartice oglasa (točno 2 retka)
========================================================= */
.rib-partners-directory-v2 .rib-partner-product-title{
  box-sizing:border-box!important;
  display:-webkit-box!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:7px 7px!important;
  overflow:hidden!important;
  line-height:16px!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  white-space:normal!important;
}


/* V1.9.79 — naslov oglasa u Partneri slideru: fizički samo dva retka, bez naziranja trećeg. */
.rib-partners-directory-v2 .rib-partner-product-title{
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;
  box-sizing:border-box!important;height:46px!important;min-height:46px!important;max-height:46px!important;
  line-height:16px!important;padding:7px 7px!important;overflow:hidden!important;white-space:normal!important;
  text-overflow:clip!important;word-break:normal!important;
}
\n\n/* ========================================
   V1.9.94 — TABLET CAROUSEL CENTRIRANJE
   Premium: 1 kartica portrait + landscape.
   Partner: 1 portrait, 2 landscape.
   Kartice su cijele vidljive; fade ne prelazi preko kartice.
======================================== */
@media (min-width:768px) and (max-width:1366px){
  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-carousel-viewport{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    scroll-padding-left:28px!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-list{
    box-sizing:border-box!important;
    gap:16px!important;
    padding:2px 28px 10px!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card,
  .rib-partners-directory-v2 .rib-partner-carousel[data-rib-partner-carousel="premium"]:not(.is-expanded) .rib-partner-showcase-card,
  .rib-partners-directory-v2 .rib-partner-carousel[data-rib-partner-carousel="standard"]:not(.is-expanded) .rib-partner-showcase-card{
    box-sizing:border-box!important;
    flex:0 0 var(--rib-tablet-card-width,calc(100% - 56px))!important;
    width:var(--rib-tablet-card-width,calc(100% - 56px))!important;
    max-width:var(--rib-tablet-card-width,calc(100% - 56px))!important;
    scroll-snap-align:start!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel::before,
  .rib-partners-directory-v2 .rib-partner-carousel::after{
    display:none!important;
  }
}


/* ========================================
   V1.9.95 — KANONSKI TABLET LAYOUT
   768–1366 px samo za /partneri/ V2 carousel.
   - Premium: 1 cijela centrirana kartica
   - Partner portrait: 1 cijela centrirana kartica
   - Partner landscape: 2 cijele centrirane kartice
   - unutra ostaje logo/kontakti lijevo + oglasi desno
   - bez fade/mask efekta preko aktivnih kartica
======================================== */
@media (min-width:768px) and (max-width:1366px){
  .rib-partners-directory-v2,
  .rib-partners-directory-v2 .rib-partners-tier,
  .rib-partners-directory-v2 .rib-partner-carousel,
  .rib-partners-directory-v2 .rib-partner-carousel-viewport{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-carousel-viewport{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-padding-inline:28px!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-list{
    display:flex!important;
    width:max-content!important;
    max-width:none!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:2px 28px 10px!important;
    margin:0!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card{
    box-sizing:border-box!important;
    flex:0 0 var(--rib-tablet-card-width,calc(100% - 56px))!important;
    width:var(--rib-tablet-card-width,calc(100% - 56px))!important;
    max-width:var(--rib-tablet-card-width,calc(100% - 56px))!important;
    min-width:0!important;
    margin:0!important;
    scroll-snap-align:start!important;
  }

  /* Tablet koristi stabilan 2-stupčani unutarnji raspored.
     Premiumov "O partneru" blok se na tabletu skriva kako bi ostalo
     upravo: logo/kontakti lijevo + izdvojeni oglasi desno. */
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-about{
    display:none!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-body,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-body{
    display:grid!important;
    grid-template-columns:minmax(150px,220px) minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:14px!important;
    align-items:stretch!important;
    min-width:0!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .rib-partners-directory-v2 .rib-partner-carousel::before,
  .rib-partners-directory-v2 .rib-partner-carousel::after{
    display:none!important;
  }
}

/* U užem portrait tabletu Premium oglasi trebaju imati dovoljno širine. */
@media (min-width:768px) and (max-width:899px){
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
\n\n/* ========================================\n   V1.9.96 — SUPTILNI FADE NEAKTIVNE KARTICE\n   - aktivna / potpuno vidljiva kartica ostaje 100% nepromijenjena\n   - samo susjedna neaktivna kartica dobiva blagi fade dok ulazi u kadar\n   - bez maskiranja viewporta, pa se rub aktivne kartice ne reže\n======================================== */\n.rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card {\n  transition: opacity .28s ease, filter .28s ease, transform .28s ease;\n}\n\n.rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card.is-carousel-visible {\n  opacity: 1 !important;\n  filter: none !important;\n}\n\n.rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card.is-carousel-adjacent {\n  opacity: .72 !important;\n  filter: saturate(.92) brightness(.98);\n}\n\n@media (max-width: 767px) {\n  /* Mobilni prikaz ostavljamo kakav je bio. */\n  .rib-partner-carousel:not(.is-expanded) .rib-partner-showcase-card.is-carousel-adjacent {\n    opacity: 1 !important;\n    filter: none !important;\n  }\n}\n

/* ========================================
   V1.9.97 — KOMPAKTNI TABLET + VIDLJIV SUSJED
   - uklanja stari tablet min-height 458px koji je nepotrebno rastezao Premium kartice
   - kompaktniji naslov, logo i unutarnji paneli na tabletu
   - Premium ostavlja mali "peek" sljedeće kartice kako bi blagi fade bio vidljiv
   - desktop i mobitel ostaju netaknuti
======================================== */
@media (min-width:768px) and (max-width:1366px){
  .rib-partners-directory-v2 .rib-partner-showcase-card{
    padding:18px 18px 16px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-name,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-name,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-name{
    min-height:48px!important;
    height:auto!important;
    margin:2px 0 12px!important;
    font-size:clamp(23px,2.6vw,31px)!important;
    line-height:1.12!important;
  }

  /* Pregazi staro tablet pravilo iz equal-height bloka (Premium offer min-height:458px). */
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer{
    min-height:0!important;
    height:auto!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-brand,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-brand{
    padding:10px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo{
    min-height:180px!important;
    height:180px!important;
    padding:8px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-logo-image,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-logo-image{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:164px!important;
    object-fit:contain!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-card.is-premium .rib-partner-showcase-offer,
  .rib-partners-directory-v2 .rib-partner-showcase-card.is-standard .rib-partner-showcase-offer{
    padding:10px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-offer-title{
    margin:0 0 8px!important;
  }

  .rib-partners-directory-v2 .rib-partner-showcase-footer{
    margin-top:10px!important;
  }

  /* Premium: mali dio sljedeće kartice ostaje u kadru, pa se fade stvarno vidi. */
  .rib-partners-directory-v2 .rib-partner-carousel[data-rib-partner-carousel="premium"]:not(.is-expanded) .rib-partner-showcase-card{
    flex-basis:var(--rib-tablet-card-width,calc(100% - 96px))!important;
    width:var(--rib-tablet-card-width,calc(100% - 96px))!important;
    max-width:var(--rib-tablet-card-width,calc(100% - 96px))!important;
  }
}
