/* ========================================
   RESPONSIVE BREAKPOINTS
======================================== */
@media (max-width: 1280px) {
  .ribo-featured-slider__slide,
  .ribo-featured-slider--archive .ribo-featured-slider__slide {
    flex-basis: calc((100% - 54px) / 4);
  }
}

@media (max-width: 1024px) {
  :root {
    --ribo-page-gutter: 20px;
  }

  .page-id-67 .hp-page__sidebar,
  body.post-type-archive-hp_listing .hp-page__sidebar,
  body.tax-hp_listing_category .hp-page__sidebar {
    flex-basis: 30%;
    max-width: 30%;
    padding-right: 16px;
  }

  .page-id-67 .hp-page__content,
  body.post-type-archive-hp_listing .hp-page__content,
  body.tax-hp_listing_category .hp-page__content {
    flex-basis: 70%;
    max-width: 70%;
    padding-left: 20px;
  }

  .page-id-67 .hp-col-sm-6,
  body.post-type-archive-hp_listing .hp-col-sm-6 {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
  }

  .ribo-featured-slider__slide,
  .ribo-featured-slider--archive .ribo-featured-slider__slide {
    flex-basis: calc((100% - 36px) / 3);
  }

  .single-hp_listing .hp-page__content,
  .single-hp_listing .hp-page__sidebar {
    padding-inline: 14px;
  }

  body:has(.hp-menu--user-account) .hp-page__sidebar {
    padding-right: 18px;
  }

  body:has(.hp-menu--user-account) .hp-page__content {
    padding-left: 18px;
  }
}

@media (max-width: 768px) {
  :root {
    --ribo-page-gutter: 14px;
  }

  body.page-id-67 .site-content > .container,
  body.post-type-archive-hp_listing .site-content > .container,
  body.tax-hp_listing_category .site-content > .container {
    padding-inline: var(--ribo-page-gutter);
  }

/* Mobilni grid oglasa – razmak od rubova i između kartica */
.page-id-67 .hp-listings,
body.post-type-archive-hp_listing .hp-listings,
body.tax-hp_listing_category .hp-listings {
    padding-right: 8px;
    padding-left: 8px;
}

.page-id-67 .hp-listings > .hp-row,
body.post-type-archive-hp_listing .hp-listings > .hp-row,
body.tax-hp_listing_category .hp-listings > .hp-row {
    margin-right: -8px !important;
    margin-left: -8px !important;
}

.page-id-67 .hp-listings .hp-grid__item,
body.post-type-archive-hp_listing .hp-listings .hp-grid__item,
body.tax-hp_listing_category .hp-listings .hp-grid__item {
    padding-right: 6px !important;
    padding-left: 6px !important;
}

  /* Početna na mobitelu: puna širina samo horizontalno. */
  body.home #content,
  body.home #content > .container,
  body.home .elementor-65,
  body.home .elementor-65 > .e-con,
  body.home .elementor-65 > .elementor-section {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.home #content > .container {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.home .ribo-full-bleed,
  body.home .elementor-element.ribo-full-bleed {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .hp-page__title,
  .entry-title,
  h1 {
    font-size: 30px;
    line-height: 1.2;
  }

  h2 {
    font-size: 26px;
    line-height: 1.25;
  }

  .hp-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
  .hp-form textarea,
  .hp-form select,
  .hp-form .select2-container {
    width: 100%;
  }

  .page-id-67 .hp-page__body,
  body.post-type-archive-hp_listing .hp-page__body,
  body.tax-hp_listing_category .hp-page__body {
    display: block;
  }

  .page-id-67 .hp-page__sidebar,
  .page-id-67 .hp-page__content,
  body.post-type-archive-hp_listing .hp-page__sidebar,
  body.post-type-archive-hp_listing .hp-page__content,
  body.tax-hp_listing_category .hp-page__sidebar,
  body.tax-hp_listing_category .hp-page__content {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
  }

  .page-id-67 .hp-page__sidebar,
  body.post-type-archive-hp_listing .hp-page__sidebar,
  body.tax-hp_listing_category .hp-page__sidebar {
    margin-bottom: 24px;
  }

  .page-id-67 .hp-form--listing-search,
  body.post-type-archive-hp_listing .hp-form--listing-search {
    display: flex;
    gap: 8px;
    width: 100%;
  }

  .page-id-67 .hp-form--listing-search .hp-form__fields,
  body.post-type-archive-hp_listing .hp-form--listing-search .hp-form__fields {
    flex: 1;
    min-width: 0;
  }

  .page-id-67 .hp-form--listing-search button,
  body.post-type-archive-hp_listing .hp-form--listing-search button {
    flex: 0 0 auto;
  }

  .page-id-67 .hp-listings .hp-grid__item.hp-col-sm-6,
  body.post-type-archive-hp_listing .hp-listings .hp-grid__item.hp-col-sm-6,
  body.tax-hp_listing_category .hp-listings .hp-grid__item.hp-col-sm-6 {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
  }

  .page-id-67 .hp-listings__header,
  body.post-type-archive-hp_listing .hp-listings__header {
    align-items: stretch;
    flex-direction: column;
  }

  .page-id-67 .hp-listings__sort,
  body.post-type-archive-hp_listing .hp-listings__sort {
    justify-content: space-between;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .page-id-67 .hp-listings__sort select,
  body.post-type-archive-hp_listing .hp-listings__sort select {
    flex: 1;
    width: 100%;
    max-width: none;
  }

  .ribo-featured-slider {
    margin: 26px 0 38px;
  }

  .ribo-featured-slider__header {
    justify-content: flex-start;
    padding-right: 92px;
  }

  .ribo-featured-slider__title {
    font-size: 28px;
    text-align: left;
  }

  .ribo-featured-slider__slide,
  .ribo-featured-slider--archive .ribo-featured-slider__slide {
    flex-basis: calc((100% - 12px) / 2);
  }

  .ribo-featured-slider__track {
    gap: 12px;
  }

  /* Broj oglasa na početnoj — potpuno centriranje na mobitelu */
  body.home .elementor-element-993b4e9 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    text-align: center !important;
  }

  body.home .elementor-element-993b4e9 .stat-broj-oglasa,
  body.home .elementor-element-993b4e9 .elementor-widget-container,
  body.home .elementor-element-993b4e9 .elementor-shortcode {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body.home .elementor-element-993b4e9 .ribo-stat-broj {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 52px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    opacity: 1 !important;
  }

  body.home .elementor-element-993b4e9 > h5 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .ribo-featured-slider.has-one-slide .ribo-featured-slider__slide {
    flex-basis: min(300px, 86vw);
  }

  .hp-listing--view-block .hp-listing__content {
    min-height: 164px;
    padding: 14px 12px 9px;
  }

  .hp-listing--view-block .hp-listing__title a {
    font-size: 17px;
  }
  
  .hp-listing--view-block .hp-listing__details--primary {
  display: block !important;
  width: 100%;
  margin: 0 0 10px;
  text-align: center;
  opacity: 1 !important;
}

.hp-listing--view-block .hp-listing__created-date {
  display: block !important;
  color: rgba(255, 255, 255, .68) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .68) !important;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
  opacity: 1 !important;
}

  .hp-listing--view-block .hp-listing__attribute--cijena {
    font-size: 25px;
  }

  .hp-message + .hp-link,
  .hp-page a[href*="moj-racun"] {
    width: 100%;
  }
}

@media (max-width: 480px) {
  :root {
    --ribo-page-gutter: 12px;
  }

  .page-id-67 .hp-form--listing-search,
  body.post-type-archive-hp_listing .hp-form--listing-search {
    align-items: stretch;
    flex-direction: column;
  }

  .page-id-67 .hp-form--listing-search button,
  body.post-type-archive-hp_listing .hp-form--listing-search button {
    width: 100%;
  }

  .ribo-featured-slider__slide,
  .ribo-featured-slider--archive .ribo-featured-slider__slide {
    flex-basis: 82vw;
    max-width: 300px;
  }

  .ribo-featured-slider__controls {
    right: 0;
  }

  .ribo-featured-slider__arrow {
    width: 39px;
    height: 39px;
  }

  body:has(.hp-form--listing-update) .hp-form__field:has(
    input[name*="whatsapp" i],
    input[id*="whatsapp" i],
    input[name*="viber" i],
    input[id*="viber" i]
  ) label {
    width: 100%;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================
   HOME HERO — TABLET POZADINA LIJEVO
======================================== */

@media (min-width: 768px) and (max-width: 1199px) {
  body.home .home-hero-layout {
    background-position: left center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}

/* ========================================
   HOME HERO — 600–767 px FULL WIDTH
======================================== */

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

  body.home .home-hero-layout {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
  }

  body.home .home-hero-layout > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   RIBOLOVNO.HR — FINAL RESPONSIVE HEADER 2026-08-29

   0–1023 px    = burger (mobile.css)
   1024–1298 px = compact desktop header
   1299+ px     = originalni desktop teme

   Ovaj blok je jedini desktop/tablet override za header.
========================================================= */


/* ---------------------------------------------------------
   ELEMENTOR HOME — ukloni 75% tablet širinu / prazan desni stupac
   Dira samo TOP-LEVEL containere početne stranice.
--------------------------------------------------------- */
@media (min-width: 769px) and (max-width: 1198px) {

  body.home #content,
  body.home #content > .container,
  body.home .elementor-65 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.home .elementor-65 > .e-con,
  body.home .elementor-65 > .elementor-section,
  body.home .elementor-65 > .elementor-element.e-con,
  body.home .home-hero-layout {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.home .elementor-65 > .e-con > .e-con-inner,
  body.home .home-hero-layout > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}


/* ---------------------------------------------------------
   COMPACT DESKTOP HEADER — 1024–1298
--------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1300px) {

  .site-header .header-navbar {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

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

    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  /* LOGO */
  .site-header .header-navbar__start {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    margin: 0 !important;
  }

  .site-header .header-logo,
  .site-header .header-logo__image {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 140px !important;
  }

  /* DESNI DIO */
  .site-header .header-navbar__end {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

  /* Burger je u ovom rasponu potpuno ugašen. */
  .site-header .header-navbar__burger {
    display: none !important;
  }

  /* Prava desktop kopija menija. */
  .site-header .header-navbar__menu {
    display: flex !important;
    align-items: center !important;

    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

  .site-header #menu-glavni-izbornik-1 {
    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

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

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

    white-space: nowrap !important;

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

  .site-header #menu-glavni-izbornik-1::before {
    display: none !important;
    content: none !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;
    width: auto !important;

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

  /* ListingHive ispisuje Prijavu/Korisnika dvaput.
     U desktop kopiji ostaje samo zadnja kopija. */
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-account:not(:last-child),
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-login:not(:last-child) {
    display: none !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item--user-account:last-child,
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-login:last-child {
    display: flex !important;
  }

  /* Tekstualni Dodaj oglas je duplikat zelenog CTA gumba. */
  .site-header #menu-glavni-izbornik-1 > .menu-item-1263 {
    display: none !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    display: flex !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 10px 6px !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;
  }

  /* CTA */
  .site-header .header-navbar__actions {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 0 0 6px !important;
    padding: 0 !important;

    white-space: nowrap !important;
  }

  .site-header .header-navbar__actions .button,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .site-header .hp-menu__item--listing-submit {
    width: auto !important;
    min-width: 0 !important;

    padding: 8px 10px !important;

    font-size: 12px !important;
    line-height: 1.1 !important;

    white-space: nowrap !important;
  }
}


/* Najkritičniji dio — 1024–1099 */
@media (min-width: 1024px) and (max-width: 1099px) {

  .site-header .header-navbar {
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  .site-header .header-navbar__start {
    flex-basis: 130px !important;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    max-width: 120px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    padding-right: 4px !important;
    padding-left: 4px !important;
    font-size: 10.5px !important;
  }

  .site-header .header-navbar__actions {
    margin-left: 3px !important;
  }

  .site-header .header-navbar__actions .button,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .site-header .hp-menu__item--listing-submit {
    padding: 7px 8px !important;
    font-size: 10.5px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item-5011 > a::before {
    margin-left: 3px !important;
    font-size: 9px !important;
  }
}


/* 1199–1298: dovoljno prostora, samo zadrži jedan red */
@media (min-width: 1199px) and (max-width: 1300px) {

  .site-header .header-navbar__start {
    flex-basis: 180px !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    max-width: 170px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    padding-right: 7px !important;
    padding-left: 7px !important;
    font-size: 12.5px !important;
  }
}


/* =========================================================
   RIBOLOVNO.HR — TARGETED TABLET WIDTH + BURGER FIX
   900–1198 px problem: wrapper ostaje uži od viewporta.
   100% nije dovoljan jer je roditelj već sužen, zato koristimo 100vw.
========================================================= */

@media (min-width: 769px) and (max-width: 1198px) {
  html,
  body.home {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  body.home .site-container,
  body.home .site-header,
  body.home .site-content,
  body.home #content {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.home .site-header .header-navbar,
  body.home #content > .container,
  body.home .elementor-65 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Burger mora biti stvarno vidljiv sve do 1023 px. */
@media (max-width: 1023px) {
  .site-header .header-navbar__burger {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
  }

  .site-header .header-navbar__burger > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 40px !important;
    height: 40px !important;
  }

  .site-header .header-navbar__burger > a > i,
  .site-header .header-navbar__burger .fa-bars {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* =========================================================
   RIBOLOVNO.HR — FINAL HEADER AUTHORITY v3
   Zadnji i jedini završni override za header.

   <= 1023.99 px = burger
   1024–1299 px  = veći compact desktop
   1300 px       = poseban compact desktop da ostane 1 red
   >= 1301 px    = originalni desktop teme
========================================================= */


/* ---------------------------------------------------------
   DO 1023 px — BURGER
--------------------------------------------------------- */
@media (max-width: 1023.99px) {

  .site-header .header-navbar__burger {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .site-header .header-navbar__burger > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .site-header .header-navbar__menu {
    display: none !important;
  }
}


/* ---------------------------------------------------------
   1024–1300 px — ZAJEDNIČKA STRUKTURA, UVIJEK 1 RED
--------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1300px) {

  .site-header .header-navbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

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

    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .site-header .header-navbar__end {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

  .site-header .header-navbar__burger {
    display: none !important;
  }

  .site-header .header-navbar__menu {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

  .site-header #menu-glavni-izbornik-1 {
    position: static !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

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

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

    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .site-header #menu-glavni-izbornik-1::before {
    display: none !important;
    content: none !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;
    float: none !important;
    clear: none !important;
    position: relative !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

  /* Dupla Prijava/Korisnik: prva kopija se skriva. */
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-account:not(:last-child),
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-login:not(:last-child) {
    display: none !important;
  }

  /* Zadnja Prijava/Korisnik mora ostati u ISTOM redu. */
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-account:last-child,
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-login:last-child {
    display: flex !important;
    flex: 0 0 auto !important;
    float: none !important;
    clear: none !important;
    position: relative !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* Tekstualni Dodaj oglas ne treba jer postoji zeleni CTA. */
  .site-header #menu-glavni-izbornik-1 > .menu-item-1263 {
    display: none !important;
  }

  .site-header .header-navbar__actions {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 0 0 7px !important;
    padding: 0 !important;

    white-space: nowrap !important;
  }
}


/* ---------------------------------------------------------
   1024–1120 px — veće nego prije, ali dovoljno kompaktno
--------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1120px) {

  .site-header .header-navbar__start {
    flex: 0 0 175px !important;
    width: 175px !important;
    min-width: 175px !important;
    max-width: 175px !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    max-width: 165px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    padding: 10px 7px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .site-header .header-navbar__actions .button,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .site-header .hp-menu__item--listing-submit {
    padding: 8px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}


/* ---------------------------------------------------------
   1121–1299 px — vidljivo veći logo i menu
--------------------------------------------------------- */
@media (min-width: 1121px) and (max-width: 1299px) {

  .site-header .header-navbar__start {
    flex: 0 0 205px !important;
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    max-width: 195px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    padding: 11px 9px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .site-header .header-navbar__actions .button,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .site-header .hp-menu__item--listing-submit {
    padding: 9px 12px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}


/* ---------------------------------------------------------
   TOČNO 1300 px — poseban prijelazni layout.
   Malo kompaktniji samo na tom pikselu da NIKAD ne ode u 2 reda.
--------------------------------------------------------- */
@media (min-width: 1300px) and (max-width: 1300.99px) {

  .site-header .header-navbar {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .site-header .header-navbar__start {
    flex: 0 0 180px !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }

  .site-header .header-logo img,
  .site-header .header-logo__image img,
  .site-header .custom-logo {
    max-width: 170px !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item > a {
    padding: 10px 6px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .site-header .header-navbar__actions {
    margin-left: 5px !important;
  }

  .site-header .header-navbar__actions .button,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .site-header .hp-menu__item--listing-submit {
    padding: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .site-header #menu-glavni-izbornik-1 > .menu-item--user-account:last-child,
  .site-header #menu-glavni-izbornik-1 > .menu-item--user-login:last-child {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   RIBOLOVNO.HR — PRE-LAUNCH QA FIX 01
   TABLET / MANJI DESKTOP: 769–1198 px

   Cilj:
   - spriječiti horizontalni overflow na unutarnjim stranicama
   - zadržati postojeći desktop/tablet raspored
   - ne dirati početnu stranicu ni mobilni layout <= 768 px
========================================================= */
@media (min-width: 769px) and (max-width: 1198px) {

  /* Unutarnje stranice moraju pratiti stvarnu širinu viewporta. */
  body:not(.home),
  body:not(.home) .site,
  body:not(.home) .site-container,
  body:not(.home) .site-content,
  body:not(.home) #content,
  body:not(.home) .content-area {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Glavni wrapper teme — uklanja fiksnu/preširoku širinu u međurasponu. */
  body:not(.home) .site-content > .container,
  body:not(.home) #content > .container,
  body:not(.home) .content-area > .container,
  body:not(.home) .site-footer > .container,
  body:not(.home) .site-footer .footer-widgets > .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: clamp(18px, 2.5vw, 30px) !important;
    padding-left: clamp(18px, 2.5vw, 30px) !important;
  }

  /* Flex/Grid djeca smiju se stvarno stisnuti unutar roditelja. */
  body:not(.home) :is(
    .hp-page,
    .hp-page__body,
    .hp-page__content,
    .hp-page__sidebar,
    .hp-row,
    .hp-grid,
    .hp-grid__item,
    .hp-form,
    .hp-form__fields,
    .hp-form__field,
    .hp-listings,
    .hp-listings__header,
    .hp-listing,
    .hp-vendor,
    .widget,
    .entry-content,
    .elementor,
    .e-con,
    .elementor-element,
    .elementor-widget,
    .elementor-widget-container
  ) {
    min-width: 0 !important;
    max-width: 100%;
  }

  /* Forme i kontrole ne smiju širiti layout. */
  body:not(.home) .hp-form :is(
    input:not([type="checkbox"]):not([type="radio"]),
    textarea,
    select,
    .select2-container
  ) {
    max-width: 100% !important;
  }

  /* Dugi tekst/URL ne smije gurati cijelu stranicu iz viewporta. */
  body:not(.home) :is(
    .entry-content,
    .hp-page__content,
    .hp-listing,
    .hp-vendor,
    .widget
  ) {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  /* Footer ostaje 3 stupca, ali svaki stupac smije suziti sadržaj. */
  .site-footer .footer-widgets .row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .site-footer .footer-widgets .row > div {
    flex: 1 1 33.333% !important;
    width: 33.333% !important;
    max-width: 33.333% !important;
    min-width: 0 !important;
  }

  .site-footer .widget {
    min-width: 0 !important;
    padding-right: clamp(10px, 2vw, 24px) !important;
    padding-left: clamp(10px, 2vw, 24px) !important;
  }
}

/* =========================================================
   QA FIX 2026-08-31 — 576–768 px
   Cilj: u ovom rasponu koristiti isti mobilni raspored kao
   na užim telefonima, bez diranja desktop/tablet layouta iznad.
========================================================= */
@media (min-width: 576px) and (max-width: 768px) {

  /* -------------------------------------------------------
     OGLASI / ARHIVA — mobilni filter umjesto desktop sidebara
  ------------------------------------------------------- */
  .page-id-67 .hp-page__body,
  body.post-type-archive-hp_listing .hp-page__body,
  body.tax-hp_listing_category .hp-page__body {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .page-id-67 .hp-page__sidebar,
  body.post-type-archive-hp_listing .hp-page__sidebar,
  body.tax-hp_listing_category .hp-page__sidebar {
    display: none !important;
  }

  .page-id-67 .hp-page__content,
  body.post-type-archive-hp_listing .hp-page__content,
  body.tax-hp_listing_category .hp-page__content {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page-id-67 .hp-button--listing-filter,
  body.post-type-archive-hp_listing .hp-button--listing-filter,
  body.tax-hp_listing_category .hp-button--listing-filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* -------------------------------------------------------
     SINGLE OGLAS — sidebar mora pasti ispod sadržaja
     već od 768 px naniže, kao na mobitelu.
  ------------------------------------------------------- */
  .single-hp_listing .hp-page,
  .single-hp_listing .hp-page__body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .single-hp_listing .hp-page__body {
    display: block !important;
  }

  .single-hp_listing .hp-page__content,
  .single-hp_listing .hp-page__sidebar {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .single-hp_listing .hp-page__sidebar {
    position: static !important;
    top: auto !important;
    margin-top: 14px !important;
  }

  .single-hp_listing .hp-page__content > *,
  .single-hp_listing .hp-page__sidebar > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   LANDSCAPE MOBILE — PROMO + FEATURED SLIDER + 3-COL GRID
   2026-10-05 pre-launch fix v3
   Scope: touch/coarse-pointer devices in landscape with short viewport.
   IMPORTANT: slider rules are intentionally NOT limited to body.home,
   because the featured slider also appears on /oglasi/ and category pages.
========================================================= */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {

  /* -------------------------------------------------------
     POČETNA — centriraj Elementor grupu koja sadrži PROMO blokove.
  ------------------------------------------------------- */
  body.home .e-con:has(.ribo-partner-tjedna-1):has(.ribo-partner-tjedna-2),
  body.home .elementor-section:has(.ribo-partner-tjedna-1):has(.ribo-partner-tjedna-2) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    justify-content: center !important;
  }

  body.home .ribo-partner-tjedna-1,
  body.home .ribo-partner-tjedna-2,
  body.home .ribo-partner-mjeseca {
    box-sizing: border-box !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* -------------------------------------------------------
     ISTAKNUTI OGLASI — 3 kartice preko cijele širine viewporta.
     Vrijedi na početnoj, /oglasi/ i kategorijskim arhivama.
  ------------------------------------------------------- */
  .ribo-featured-slider {
    margin-top: 18px !important;
    margin-bottom: 24px !important;
  }

  .ribo-featured-slider__header {
    margin-bottom: 12px !important;
  }

  .ribo-featured-slider__heading {
    padding-top: 10px !important;
  }

  .ribo-featured-slider__title {
    font-size: 26px !important;
  }

  .ribo-featured-slider__subtitle {
    margin-top: 4px !important;
    font-size: 12px !important;
  }

  .ribo-featured-slider__viewport {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .ribo-featured-slider__track {
    gap: 10px !important;
  }

  .ribo-featured-slider__slide,
  .ribo-featured-slider--archive .ribo-featured-slider__slide {
    flex: 0 0 calc((var(--ribo-slider-width, 100vw) - 20px) / 3) !important;
    width: calc((var(--ribo-slider-width, 100vw) - 20px) / 3) !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__image {
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__content {
    min-height: 88px !important;
    padding: 7px 9px 5px !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__categories,
  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__category {
    margin-bottom: 4px !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__title {
    min-height: 32px !important;
    margin-bottom: 3px !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__title a {
    display: -webkit-box !important;
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__footer {
    min-height: 38px !important;
    padding: 5px 9px !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__attribute--cijena {
    font-size: 18px !important;
  }

  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__created-date,
  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__attribute--zupanija,
  .ribo-featured-slider__slide .hp-listing--view-block .hp-listing__attribute--lokacija {
    font-size: 9px !important;
  }

  .ribo-featured-slider__slide > .ribo-featured-badge {
    top: 10px !important;
    left: 8px !important;
    min-height: 22px !important;
    padding: 5px 8px !important;
  }

  .ribo-featured-slider__dots {
    margin-top: 4px !important;
  }

  .ribo-featured-slider__footer {
    margin-top: 6px !important;
  }

  /* -------------------------------------------------------
     GRID OGLASA — 3 kartice u jednom redu na landscape mobitelu.
  ------------------------------------------------------- */
  body.home .hp-listings .hp-grid__item.hp-col-sm-6,
  .page-id-67 .hp-listings .hp-grid__item.hp-col-sm-6,
  body.post-type-archive-hp_listing .hp-listings .hp-grid__item.hp-col-sm-6,
  body.tax-hp_listing_category .hp-listings .hp-grid__item.hp-col-sm-6 {
    box-sizing: border-box !important;
    flex: 0 0 33.333% !important;
    width: 33.333% !important;
    max-width: 33.333% !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
}

/* =========================================================
   LANDSCAPE MOBILE — PROMO PRECISE CENTERING v4
   Centriraj baš zajednički Elementor red koji neposredno sadrži
   dvije promo kartice. Ne dira portrait ni desktop.
========================================================= */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
  body.home .e-con-inner:has(> .ribo-partner-tjedna-1),
  body.home .e-con:has(> .ribo-partner-tjedna-1),
  body.home .elementor-container:has(> .ribo-partner-tjedna-1),
  body.home .elementor-row:has(> .ribo-partner-tjedna-1) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 16px !important;
    justify-content: center !important;
    align-items: stretch !important;
  }

  body.home .ribo-partner-tjedna-1,
  body.home .ribo-partner-tjedna-2 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

/* =========================================================
   LANDSCAPE MOBILE — HOMEPAGE PROMO PAIR CENTERING v6
   2026-10-05 pre-launch.
   Scope: only the common Elementor row that directly contains BOTH
   homepage promo cards. Forces a true 2-column centered grid so
   inherited Elementor flex widths/margins cannot push the pair right.
========================================================= */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
  body.home .e-con-inner:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2),
  body.home .e-con:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2),
  body.home .elementor-container:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2),
  body.home .elementor-row:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: center !important;
    align-items: stretch !important;
  }

  body.home .e-con-inner:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-1,
  body.home .e-con-inner:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-2,
  body.home .e-con:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-1,
  body.home .e-con:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-2,
  body.home .elementor-container:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-1,
  body.home .elementor-container:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-2,
  body.home .elementor-row:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-1,
  body.home .elementor-row:has(> .ribo-partner-tjedna-1):has(> .ribo-partner-tjedna-2) > .ribo-partner-tjedna-2 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    inset: auto !important;
    transform: none !important;
    justify-self: stretch !important;
  }
}
