body.car .tf-section3 {
  padding-top: 200px;
}

@media (max-width: 768px) {
  body.car .tf-section3 {
    padding-top: 150px;
  }
}

body.search-car .tf-section3 {
  padding-top: 200px;
}

@media (max-width: 768px) {
  body.search-car .tf-section3 {
    padding-top: 150px;
  }
}

body.blog .tf-section3 {
  padding-top: 200px;
}

@media (max-width: 768px) {
  body.blog .tf-section3 {
    padding-top: 150px;
  }
}

body.article .tf-section3 {
  padding-top: 200px;
  padding-bottom: 20px;
}

@media (max-width: 768px) {
  body.article .tf-section3 {
    padding-top: 150px;
    padding-bottom: 20px;
  }
}

body.contact .tf-section-contact {
  padding-top: 200px;
}

@media (max-width: 768px) {
  body.contact .tf-section-contact {
    padding-top: 150px;
  }
}

.icons {
  display: flex;
  align-items: center;
  gap: 6px; 
}

.icons i {
  line-height: 1;
}

/* scope only for car.php */
body.car .mainslider {
  position: relative;
  height: 500px;
  border-radius: 12px;
  overflow: hidden;
}

body.car .mainslider .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

body.car .mainslider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

body.car .image-list-details { 
  position: static;
}

body.car .mainslider .specs-features-wrap {
  position: absolute;
  bottom: 24px;
  left: 16px;
  right: 16px;
  display: flex;
  gap: 12px;
  z-index: 5;
}

/* mobile only on car.php */
@media (max-width: 768px) {
  body.car .mainslider { height: 260px; }
  body.car .mainslider .swiper-wrapper { height: 100%; }
  body.car .mainslider .swiper-slide { height: 100%; }

  /* ensure full-height inner wrappers */
  body.car .mainslider .image-list-details,
  body.car .mainslider .image-list-details .image {
    display: block;
    height: 100%;
  }

  body.car .mainslider .image-list-details .image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
  }

  body.car .mainslider .specs-features-wrap { bottom: 40px; }

  body.car .mainslider .swiper-button-next,
  body.car .mainslider .swiper-button-prev {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 30%;
    background: rgba(0,0,0,0.4);
    color: #fff;
    z-index: 10;
  }
}

#contact-errors, #contact-success {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .28s ease, transform .28s ease;
  min-height: 22px;
  text-align: center;
  font-size: 14px;
}
@media (max-width: 575.98px) {
  #contact-errors,
  #contact-success {
    padding-top: 10px;
    min-height: 30px;    
  }
}
#contact-errors.show, #contact-success.show {
  opacity: 1;
  transform: translateY(0);
}
#contact-errors { color: #c0392b; }
#contact-success { color: #2e7d32; }

.sub-box > * + *::before {
  content: "|";
  margin: 0 6px;
  color: #E4E4E4;
  font-size: 10px;
  line-height: 1;
}

/* Newsletter feedback */
.nl-msg{
  min-height: 28px; 
  margin-top: 10px;
  opacity: 0;
  transition: opacity .25s ease;
  font-size: 14px;
  text-align: center;
}
.nl-msg.show{ opacity: 1; }
.nl-msg.ok{ color: #1f8b24; }
.nl-msg.err{ color: #c0392b; } 

button[disabled]{ opacity:.6; cursor:not-allowed; }

.custom-footer-bottom {
  text-align: center;
  color: #fff;
  padding-bottom: 20px;
}

.custom-footer-bottom a {
  position: relative;
  color: #fff;
  text-decoration: none;
}

.custom-footer-bottom a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px; 
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: width 0.3s ease;
}

.custom-footer-bottom a:hover::after {
  width: 100%;
}

/* WHY US WIDGET */
.tf-icon-box.as-link {
  display: flex;
  color: inherit;
  text-decoration: none;
  --u-offset: 2px;
  --u-thickness: 1px;
}

.tf-icon-box {
  display: flex;
  align-items: center;
  gap: 16px;
}

.tf-icon-box .icon {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d6efd;
}

.tf-icon-box .icon i {
  font-size: 38px;
  line-height: 1;
}

.tf-icon-box .content {
  flex: 1 1 auto;
}

.tf-icon-box.style-4 .content h5 {
  margin: 0 0 8px;
}
.tf-icon-box.style-4 .content h5 a,
.tf-icon-box.as-link .content h5 span {
  display: inline-block;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  text-decoration: none;
}


.tf-icon-box.as-link .content h5 span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-1 * var(--u-offset));
  width: 100%;
  height: var(--u-thickness);
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s ease;
}

.tf-icon-box.as-link:hover .content h5 span::after,
.tf-icon-box.as-link:focus-visible .content h5 span::after {
  transform: scaleX(1);
}

.tf-icon-list i, .tf-icon-list span {
    text-transform: none;
}

@media (max-width: 575.98px) {
  .tf-icon-box .icon { width: 48px; height: 48px; }
  .tf-icon-box .icon i { font-size: 34px; }
}

.logo img {
  width: 280px;
}

.logo-footer img {
  width: 280px;
}


body.car .btn-scroll-wrap {
  display: flex;
  justify-content: center;
  gap: 12px;
}

body.car .btn-scroll-wrap .sc-button {
  flex: 1 1 0; 
  justify-content: center;
}


@media (max-width: 767px) {
  body.car .btn-scroll-wrap {
    gap: 8px;
    flex-wrap: nowrap;
    justify-content: center;
  }
  body.car .btn-scroll-wrap .sc-button .btn-text {
    display: none;
  }
  body.car .btn-scroll-wrap .sc-button {
    flex: 1 1 0;
    min-width: 0;
    padding: 0; 
    justify-content: center;
    align-items: center;
    height: 48px;
    gap: 0; 
  }
  body.car .btn-scroll-wrap .sc-button i {
    font-size: 20px;
    line-height: 1;
    margin-left: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}

body.car .prolile-info {
  justify-content: center; 
  text-align: center; 
}

body.car .sc-button i {
  margin-right: 10px;
}

/* urob celé koleso klikateľné */
.change-heart .box-icon {
  position: relative;
  width: 32px;   /* alebo tvoja .w-32 už nastavuje */
  height: 32px;  /* to isté, nech je konzistentné */
}

.change-heart .box-icon a.icon {
  position: absolute;
  inset: 0;                       /* top/right/bottom/left:0 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;                    /* anchor vyplní kruh */
  height: 100%;
  border-radius: 50%;             /* ak chceš zachovať kruh aj na <a> */
}

.change-heart .box-icon i {
  pointer-events: none;           /* klik prejde na <a> aj pri zásahu ikonky */
}


.recommended-item .image { 
  position: relative; 
  overflow: hidden; /* overlay nepretŕča */
}

/* overlay pre stmavenie */
.recommended-item .image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0); /* default bez prekrytia */
  transition: background .2s ease;
  z-index: 1; /* nad obrázkom, pod ikonou */
}

.recommended-item .image:hover::after {
  background: rgba(0,0,0,0.45); /* stmavenie pri hoveri */
}

.recommended-item .change-heart {
  position: absolute;
  left: 50%; 
  top: 50%;
  transform: translate(-50%, -50%) scale(.9);
  opacity: 0; 
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  margin: 0; padding: 0; list-style: none;
  pointer-events: none;
  z-index: 2; /* nad overlayom */
}

.recommended-item .image:hover .change-heart {
  opacity: 1; 
  visibility: visible; 
  transform: translate(-50%, -50%) scale(1);
}

.recommended-item .box-icon.w-32 .icon {
  display: inline-flex;
  width: 32px; 
  height: 32px;
  align-items: center; 
  justify-content: center;
  border-radius: 50%;
  background: #fff;                /* biely kruh */
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  text-decoration: none;
  pointer-events: auto;
}

.recommended-item .box-icon.w-32 .icon i {
  font-size: 10px;
  color: #015FC9;   /* šípka modrá (ak chceš čiernu, daj #000) */
  line-height: 1;
}

/* Mobile filter toggle */
.mobile-filter-bar{display:none;margin-bottom:12px}
.btn-mobile-filter{
  display:block;width:100%;
  padding:10px 14px;border:1px solid #ddd;border-radius:8px;background:#fff;
  font-weight:600;text-align:center
}

.btn-mobile-filter{
  display:block;
  width:100%;
  padding:10px 14px;
  border:1px solid #ddd;
  border-radius:8px;
  background:#fff;
  font-weight:600;
  text-align:center;
  transition: all .25s ease; /* smooth transition */
}
.btn-mobile-filter i{margin-right:8px}

.btn-mobile-filter:hover {
  background:#015FC9;
  color:#fff;
  border-color:#015FC9;
}


/* Sidebar behavior on mobile */
@media (max-width:991.98px){
  .mobile-filter-bar{display:block}
  .sidebar-right-listing{display:none}
  .sidebar-right-listing.is-open{display:block}
}
@media (min-width:992px){
  .mobile-filter-bar{display:none}
  .sidebar-right-listing{display:block}
}

/* Always keep arrow at the right and leave space for it */
.nice-select {
  display: block;
  width: 100%;
  padding-right: 2.25rem; /* room for the arrow */
}

/* Ensure the label never runs under the arrow */
.nice-select .current {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; /* crop long text nicely */
}

/* Arrow position stays fixed on the right */
.nice-select:after {
  right: 12px;           /* keep some breathing room from edge */
  pointer-events: none;  /* clicks go to control, not the arrow */
}

/* Optional: a bit more room on väčších obrazovkách */
@media (min-width: 992px) {
  .nice-select { padding-right: 2.5rem; }
}


/* Mobile off-canvas sidebar */
@media (max-width: 991.98px) {
  .side-bar.side-blog {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 86vw;
    max-width: 360px;
    background: #fff;
    z-index: 1050;
    transform: translateX(-100%);
    transition: transform .3s ease;
    box-shadow: 2px 0 24px rgba(0,0,0,.15);
    overflow-y: auto;
    padding: 20px;
  }
  body.sidebar-open .side-bar.side-blog { transform: translateX(0); }

  /* backdrop */
  #sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
    z-index: 1040;
  }
  body.sidebar-open #sidebar-backdrop { opacity: 1; visibility: visible; }

  /* FAB button */
  .btn-siderbar-mobie-filter {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    width: 52px; height: 52px;
    border-radius: 50%;
    background: #015FC9;
    color: #fff;
    display: grid; place-items: center;
    box-shadow: 0 8px 24px rgba(1,95,201,.35);
    cursor: pointer;
  }
  .btn-siderbar-mobie-filter i { font-size: 20px; line-height: 1; }
}

/* Desktop reset */
@media (min-width: 992px) {
  #sidebar-backdrop { display: none !important; }
  .side-bar.side-blog {
    position: static;
    height: auto;
    width: auto;
    transform: none;
    box-shadow: none;
    padding: 0;
  }
}

  /* základ: položky pod sebou */
  .related-articles .inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* odkaz v odporúčaných článkoch */
  .related-articles .related-link {
    position: relative;
    color: inherit;
    text-decoration: none;
    transition: color .3s ease; /* plynulý prechod farby */
    display: inline-block;
    line-height: 1.4;
    white-space: normal;
    word-break: break-word;
  }

  /* link hover – zmena farby na #015FC9 */
  .related-articles .related-link:hover,
  .related-articles .related-link:focus-visible {
    color: #015FC9;
  }

  /* pseudo-element na animované podčiarknutie */
  .related-articles .related-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;       /* vzdialenosť pod textom */
    width: 0;
    height: 1px;
    background-color: #015FC9;
    transition: width .3s ease;
  }

  /* pri hover sa čiara plynule roztiahne */
  .related-articles .related-link:hover::after,
  .related-articles .related-link:focus-visible::after {
    width: 100%;
  }

  /* ikonka sa mení spolu s textom */
  .related-articles .listing-feature-wrap i {
    color: currentColor;
    transition: color .3s ease;
  }

  /* reset p tag margin */
  .related-articles .listing-feature-wrap p {
    margin: 0;
  }

  /* Stack car spec rows vertically on mobile */
@media (max-width: 768px) {
  .box-car-list .icon-box {
    display: flex; 
    flex-direction: column; 
    flex-wrap: nowrap; 
    align-items: flex-start; 
    gap: 6px;
  }
  .box-car-list .icon-box .icons {
    width: 100%;
    flex: 0 0 auto;
    justify-content: flex-start;
  }
  .box-car-list .icon-box .icons i {
    margin-right: 8px;
  }
}

/* Card images: consistent height + preserved aspect ratio */
.box-car-list .image-group .img-style {
  position: relative;
  aspect-ratio: 16 / 10; /* jednotný pomer -> všetky karty rovnako vysoké v danom stĺpci */
  overflow: hidden;
}

.box-car-list .image-group .img-style img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* vyplní box, drží pomer, bez deformácie */
  display: block;
}

/* Voliteľné: iné "vizuálne" ratio na mobile, ak chceš o čosi vyššie karty */
@media (max-width: 768px) {
  .box-car-list .image-group .img-style { aspect-ratio: 4 / 3; }
}

.box-car-list .content .link-style-1 {
  line-height: 1.3;
  min-height: calc(2 * 1.3em);
}

/* clickable image area only */
.box-car-list .image-group .image-link {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}

/* DETAIL AUTA – väčší slider s contain obrázkom */

/* slider nech vie roztiahnuť obrázok viac do priestoru */
body.car .mainslider .swiper-slide {
    display: flex;
    justify-content: center;
}

/* obal obrázka – centrovaný, širší a vyšší */
body.car .image-list-details .image {
    width: 100%;
    max-width: 1000px;          /* ako široké môže auto byť na desktope */
    height: min(70vh, 650px);   /* väčšia výška, ale max 650px */
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    border-radius: 24px;
}

/* samotný obrázok – zachová pomer strán */
body.car .image-list-details .image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {
    body.car .image-list-details .image {
        height: 320px;
        max-width: 100%;
        border-radius: 16px;
    }
}

/* GLOBALNE PRE DETAIL AUTA – nech má vždy contain */
body.car .image-list-details .image img {
    object-fit: contain !important;
}

@media (max-width: 767.98px) {
    body.car .mainslider .swiper-slide {
        display: flex;
        justify-content: center;
    }

    body.car .image-list-details .image {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 70vh;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000;
        border-radius: 16px;
    }

    body.car .image-list-details .image img {
        width: 100%;
        height: auto !important;
        max-height: 70vh;
        object-fit: contain !important;
    }
}

/* LEN DESKTOP & TABLET */
@media (min-width: 768px) {

    /* DETAIL AUTA – nech slider nemá skrytú výšku */
    body.car .mainslider,
    body.car .mainslider .swiper-wrapper,
    body.car .mainslider .swiper-slide,
    body.car .image-list-details {
        height: auto !important;
    }

    /* samotný obal obrázka – definuje max výšku, nie pevný box */
    body.car .image-list-details .image {
        width: 100%;
        max-width: 1000px;
        max-height: min(70vh, 650px);
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #ffffff;
        border-radius: 24px;
    }

    /* obrázok – pomer strán + žiadne orezanie */
    body.car .image-list-details .image img {
        width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain !important;
    }

    /* DETAIL AUTA – obrázky bez zaoblených rohov */
    body.car .image-list-details .image,
    body.car .image-list-details .image img {
        border-radius: 0 !important;
    }

    /* Car detail slider – no rounded corners on wrapper */
    body.car .mainslider .image-list-details {
        border-radius: 0 !important;
        overflow: visible !important;
    }

    /* pre istotu aj vnútri */
    body.car .mainslider .image-list-details .image,
    body.car .mainslider .image-list-details .image img {
        border-radius: 0 !important;
    }

    /* DETAIL AUTA – odstránenie zaoblenia všade v slideri */
    body.car .mainslider,
    body.car .mainslider * {
        border-radius: 0 !important;
    }

    /* slider nech neskryva nič */
    body.car .mainslider .image-list-details {
        overflow: visible !important;
    }

    /* --- VÝNIMKY (sipky) --- */

    /* obnoviť border-radius pre šípky */
    body.car .mainslider .swiper-button-next.style-3,
    body.car .mainslider .swiper-button-prev.style-3 {
        border-radius: 16px !important;
    }   

}

/* CAR DETAIL – mobile slider bez zaoblených rohov */
@media (max-width: 767.98px) {

    /* vonkajší swiper kontajner */
    body.car .mainslider,
    body.car .mainslider.swiper,
    body.car .mainslider .swiper-wrapper,
    body.car .mainslider .swiper-slide,
    body.car .mainslider .image-list-details {
        border-radius: 0 !important;
        overflow: visible !important;
    }

    /* vnútorný obrázkový blok */
    body.car .image-list-details .image,
    body.car .image-list-details .image a,
    body.car .image-list-details .image img {
        border-radius: 0 !important;
    }

    /* nech je obrázok stále contain aj na mobile */
    body.car .image-list-details .image {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 70vh;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #ffffff;
    }

    body.car .image-list-details .image img {
        width: 100%;
        height: auto !important;
        max-height: 70vh;
        object-fit: contain !important;
    }
}

/* hover ikonka nesmie blokovať kliknutie */
.listing-recommended .change-heart,
.listing-recommended .change-heart *,
.listing-recommended .change-heart .box-icon,
.listing-recommended .change-heart .icon {
    pointer-events: none; /* dont block clicks */
}
