/* VecasaHome JCarousel compatibility - LTR */

.nop-jcarousel,
.jcarousel-wrapper,
.jcarousel-skin {
  background: rgba(255, 249, 240, 0.78);
  border: 1px solid rgba(107, 74, 51, 0.16);
  border-radius: 34px;
  box-shadow: 0 18px 46px rgba(23, 20, 18, 0.08);
  overflow: hidden;
  padding: 22px;
}

.nop-jcarousel .carousel-title,
.jcarousel-wrapper .title,
.jcarousel-skin .title {
  color: #171412;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 20px;
}

.nop-jcarousel .item-box,
.jcarousel-wrapper .item-box {
  background: #fff9f0;
  border: 1px solid rgba(107, 74, 51, 0.14);
  border-radius: 24px;
  box-shadow: 0 18px 46px rgba(23, 20, 18, 0.08);
  overflow: hidden;
}

.nop-jcarousel .jcarousel-prev,
.nop-jcarousel .jcarousel-next,
.jcarousel-wrapper .slick-prev,
.jcarousel-wrapper .slick-next {
  background: #171412;
  border-radius: 999px;
  color: #fff9f0;
}

/* === VecasaHome sovereign carousel layer v20260509-3 START === */
.nop-jcarousel,
.jCarouselMainWrapper {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 42px);
  padding-right: clamp(16px, 3vw, 42px);
  box-sizing: border-box;
}
.jCarouselMainWrapper .slick-list,
.nop-jcarousel .slick-list {
  overflow: hidden;
  margin-inline: calc(clamp(8px, .9vw, 12px) * -1);
  padding-top: 10px !important;
  padding-bottom: 34px !important;
}
.jCarouselMainWrapper .slick-track,
.nop-jcarousel .slick-track {
  display: flex !important;
  align-items: stretch;
}
.jCarouselMainWrapper .slick-slide,
.nop-jcarousel .slick-slide {
  height: auto !important;
  min-height: 1px;
  padding-inline: clamp(8px, .9vw, 12px);
  box-sizing: border-box;
  float: none !important;
}
.jCarouselMainWrapper .slick-slide > div,
.nop-jcarousel .slick-slide > div { height: 100%; }
.jCarouselMainWrapper .slick-slide .item-box,
.nop-jcarousel .slick-slide .item-box { width: 100% !important; height: 100%; margin: 0 !important; float: none !important; }
.jCarouselMainWrapper .item-box,
.nop-jcarousel .item-box { width: auto !important; margin: 0 !important; float: none !important; }
.jCarouselMainWrapper .carousel-item:not(.slick-slide),
.nop-jcarousel .carousel-item:not(.slick-slide) {
  width: clamp(230px, 22vw, 330px) !important;
  min-width: clamp(230px, 22vw, 330px) !important;
  height: auto !important;
  margin: 0 !important;
  float: none !important;
}
.jCarouselMainWrapper .picture a,
.nop-jcarousel .picture a { display: block; aspect-ratio: 4 / 5; min-height: clamp(250px, 27vw, 430px); }
.jCarouselMainWrapper .picture img,
.nop-jcarousel .picture img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
@media (max-width: 980px) {
  .jCarouselMainWrapper .slick-list,
  .nop-jcarousel .slick-list { margin-inline: -8px; }
  .jCarouselMainWrapper .slick-slide,
  .nop-jcarousel .slick-slide { padding-inline: 8px; }
  .jCarouselMainWrapper .carousel-item:not(.slick-slide),
  .nop-jcarousel .carousel-item:not(.slick-slide) { width: clamp(218px, 68vw, 310px) !important; min-width: clamp(218px, 68vw, 310px) !important; }
  .jCarouselMainWrapper .picture a,
  .nop-jcarousel .picture a { min-height: clamp(255px, 80vw, 410px); }
}
/* === VecasaHome sovereign carousel layer v20260509-3 END === */
/* === VecasaHome luxury8 JCarousel hardening START === */
.nop-jcarousel,
.jCarouselMainWrapper { overflow: visible !important; }
.jCarouselMainWrapper .slick-carousel.item-grid,
.nop-jcarousel .slick-carousel.item-grid,
.jCarouselMainWrapper .slick-initialized,
.nop-jcarousel .slick-initialized { display: block !important; width: 100% !important; max-width: 100% !important; overflow: visible !important; }
.jCarouselMainWrapper .slick-list,
.nop-jcarousel .slick-list { width: auto !important; margin-inline: 0 !important; padding: 10px 0 30px !important; overflow: hidden !important; }
.jCarouselMainWrapper .slick-track,
.nop-jcarousel .slick-track { display: flex !important; align-items: stretch !important; }
.jCarouselMainWrapper .slick-slide,
.nop-jcarousel .slick-slide { height: auto !important; padding-inline: clamp(7px, .75vw, 11px) !important; box-sizing: border-box !important; float: none !important; }
.jCarouselMainWrapper .picture a,
.nop-jcarousel .picture a { aspect-ratio: 4 / 5 !important; min-height: 0 !important; height: auto !important; }
.jCarouselMainWrapper .picture img,
.nop-jcarousel .picture img { position: static !important; display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 5 !important; object-fit: cover !important; object-position: center !important; }
@media (max-width: 980px) {
  .jCarouselMainWrapper .slick-slide,
  .nop-jcarousel .slick-slide { padding-inline: 7px !important; }
  .jCarouselMainWrapper .carousel-item:not(.slick-slide),
  .nop-jcarousel .carousel-item:not(.slick-slide) { width: min(82vw, 330px) !important; min-width: min(82vw, 330px) !important; }
}
/* === VecasaHome luxury8 JCarousel hardening END === */

/* === VecasaHome luxury8b uninitialized carousel fallback START === */
.jCarouselMainWrapper .slick-carousel.item-grid:not(.slick-initialized),
.nop-jcarousel .slick-carousel.item-grid:not(.slick-initialized) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  gap: clamp(14px, 1.6vw, 24px) !important;
  width: 100% !important;
  max-width: 100% !important;
}
.jCarouselMainWrapper .slick-carousel.item-grid:not(.slick-initialized) .carousel-item,
.nop-jcarousel .slick-carousel.item-grid:not(.slick-initialized) .carousel-item,
.jCarouselMainWrapper .slick-carousel.item-grid:not(.slick-initialized) .item-box,
.nop-jcarousel .slick-carousel.item-grid:not(.slick-initialized) .item-box {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
@media (max-width: 640px) {
  .jCarouselMainWrapper .slick-carousel.item-grid:not(.slick-initialized),
  .nop-jcarousel .slick-carousel.item-grid:not(.slick-initialized) { grid-template-columns: 1fr 1fr !important; }
}
/* === VecasaHome luxury8b uninitialized carousel fallback END === */

/* === VecasaHome luxury8c JCarousel image-anchor position fix START === */
.jCarouselMainWrapper .picture,
.nop-jcarousel .picture {
  position: relative !important;
  overflow: hidden !important;
}
.jCarouselMainWrapper .picture a,
.nop-jcarousel .picture a {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 0 !important;
}
.jCarouselMainWrapper .picture a img,
.nop-jcarousel .picture a img,
.jCarouselMainWrapper .picture > img,
.nop-jcarousel .picture > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}
/* === VecasaHome luxury8c JCarousel image-anchor position fix END === */

/* === VecasaHome luxury8k mobile carousel slide/card tuning START === */
@media (max-width: 640px) {
  .jCarouselMainWrapper .slick-track,
  .nop-jcarousel .slick-track {
    display: flex !important;
    align-items: stretch !important;
  }
  .jCarouselMainWrapper .slick-slide,
  .nop-jcarousel .slick-slide {
    width: min(276px, calc(100vw - 99px)) !important;
    min-width: min(276px, calc(100vw - 99px)) !important;
    max-width: min(276px, calc(100vw - 99px)) !important;
    height: auto !important;
    padding-inline: 8px !important;
  }
  .jCarouselMainWrapper .slick-slide > div,
  .nop-jcarousel .slick-slide > div,
  .jCarouselMainWrapper .slick-slide .item-box,
  .nop-jcarousel .slick-slide .item-box,
  .jCarouselMainWrapper .slick-slide .product-item,
  .nop-jcarousel .slick-slide .product-item {
    width: 100% !important;
    max-width: 100% !important;
  }
  .home-page .jCarouselMainWrapper .product-item .picture a,
  .home-page .nop-jcarousel .product-item .picture a,
  .home-page .jCarouselMainWrapper .item-box .picture a,
  .home-page .nop-jcarousel .item-box .picture a {
    aspect-ratio: auto !important;
    height: clamp(218px, 63vw, 260px) !important;
    min-height: 0 !important;
  }
  .home-page .jCarouselMainWrapper .product-item .picture a::before,
  .home-page .nop-jcarousel .product-item .picture a::before,
  .home-page .jCarouselMainWrapper .item-box .picture a::before,
  .home-page .nop-jcarousel .item-box .picture a::before {
    display: none !important;
    content: none !important;
  }
  .home-page .jCarouselMainWrapper .product-item .picture img,
  .home-page .nop-jcarousel .product-item .picture img,
  .home-page .jCarouselMainWrapper .item-box .picture img,
  .home-page .nop-jcarousel .item-box .picture img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}
/* === VecasaHome luxury8k mobile carousel slide/card tuning END === */

/* luxury9a SevenSpikes path mirror: this file must also exist under /Plugins/SevenSpikes.Nop.Plugins.JCarousel because staging currently links that public plugin path. */

/* VecasaHome luxury9b visual stabilization: compact desktop nav, bounded carousel, readable cards */
@media (min-width: 1025px) {
    body.vecasa-home-page .master-wrapper-page,
    body:has(.home-page) .master-wrapper-page {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    body.vecasa-home-page .master-wrapper-content,
    body.vecasa-home-page .center-1,
    body.vecasa-home-page .page-body,
    body:has(.home-page) .master-wrapper-content,
    body:has(.home-page) .center-1,
    body:has(.home-page) .page-body,
    body.vecasa-home-page .header,
    body.vecasa-home-page .header-menu,
    body:has(.home-page) .header,
    body:has(.home-page) .header-menu {
        width: min(1180px, calc(100vw - 48px)) !important;
        max-width: min(1180px, calc(100vw - 48px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .header,
    body:has(.home-page) .header {
        height: auto !important;
        min-height: 0 !important;
        margin-bottom: 0 !important;
    }

    body.vecasa-home-page .header-menu,
    body:has(.home-page) .header-menu {
        height: auto !important;
        min-height: 0 !important;
        max-height: 72px !important;
        overflow: hidden !important;
        margin-top: 0 !important;
        margin-bottom: 30px !important;
        padding: 8px 0 12px !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile,
    body.vecasa-home-page ul.top-menu.notmobile,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile,
    body:has(.home-page) ul.top-menu.notmobile {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 52px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        padding: 8px 10px 10px !important;
        margin: 0 !important;
        scrollbar-width: thin !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile > li,
    body.vecasa-home-page ul.top-menu.notmobile > li,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile > li,
    body:has(.home-page) ul.top-menu.notmobile > li {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile > li > a,
    body.vecasa-home-page ul.top-menu.notmobile > li > a,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile > li > a,
    body:has(.home-page) ul.top-menu.notmobile > li > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 36px !important;
        padding: 9px 13px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        letter-spacing: .05em !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }

    body.vecasa-home-page .home-page .jCarouselMainWrapper,
    body:has(.home-page) .home-page .jCarouselMainWrapper,
    body.vecasa-home-page .jCarouselMainWrapper,
    body:has(.home-page) .jCarouselMainWrapper {
        width: min(1120px, 100%) !important;
        max-width: min(1120px, 100%) !important;
        margin: 42px auto 58px !important;
        padding: 0 26px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel,
    body:has(.home-page) .nop-jcarousel {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 20px 30px 26px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-list,
    body.vecasa-home-page .jCarouselMainWrapper .slick-list,
    body:has(.home-page) .nop-jcarousel .slick-list,
    body:has(.home-page) .jCarouselMainWrapper .slick-list {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 8px 0 18px !important;
        margin: 0 auto !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-track,
    body.vecasa-home-page .jCarouselMainWrapper .slick-track,
    body:has(.home-page) .nop-jcarousel .slick-track,
    body:has(.home-page) .jCarouselMainWrapper .slick-track {
        display: flex !important;
        align-items: stretch !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-slide,
    body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
    body:has(.home-page) .nop-jcarousel .slick-slide,
    body:has(.home-page) .jCarouselMainWrapper .slick-slide {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-slide > div,
    body.vecasa-home-page .jCarouselMainWrapper .slick-slide > div,
    body:has(.home-page) .nop-jcarousel .slick-slide > div,
    body:has(.home-page) .jCarouselMainWrapper .slick-slide > div {
        height: 100% !important;
    }

    body.vecasa-home-page .nop-jcarousel .item-box,
    body.vecasa-home-page .nop-jcarousel .product-item,
    body.vecasa-home-page .jCarouselMainWrapper .item-box,
    body.vecasa-home-page .jCarouselMainWrapper .product-item,
    body:has(.home-page) .nop-jcarousel .item-box,
    body:has(.home-page) .nop-jcarousel .product-item,
    body:has(.home-page) .jCarouselMainWrapper .item-box,
    body:has(.home-page) .jCarouselMainWrapper .product-item {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 470px !important;
        max-height: 560px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture,
    body:has(.home-page) .nop-jcarousel .product-item .picture,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture {
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
        flex: 0 0 250px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture a,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture a,
    body:has(.home-page) .nop-jcarousel .product-item .picture a,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture a {
        height: 100% !important;
        min-height: 0 !important;
        display: block !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture a:before,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture a:before,
    body:has(.home-page) .nop-jcarousel .product-item .picture a:before,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture a:before {
        display: none !important;
        padding-top: 0 !important;
        content: none !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture img,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture img,
    body:has(.home-page) .nop-jcarousel .product-item .picture img,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture img {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .details,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .details,
    body:has(.home-page) .nop-jcarousel .product-item .details,
    body:has(.home-page) .jCarouselMainWrapper .product-item .details {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 190px !important;
        max-height: 285px !important;
        flex: 1 1 auto !important;
        padding: 14px 16px 16px !important;
        overflow: hidden !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-title,
    body.vecasa-home-page .jCarouselMainWrapper .product-title,
    body:has(.home-page) .nop-jcarousel .product-title,
    body:has(.home-page) .jCarouselMainWrapper .product-title {
        min-height: 42px !important;
        margin-bottom: 8px !important;
        line-height: 1.25 !important;
    }

    body.vecasa-home-page .nop-jcarousel .description,
    body.vecasa-home-page .jCarouselMainWrapper .description,
    body:has(.home-page) .nop-jcarousel .description,
    body:has(.home-page) .jCarouselMainWrapper .description {
        max-height: 42px !important;
        overflow: hidden !important;
        margin-bottom: 8px !important;
        line-height: 1.35 !important;
    }

    body.vecasa-home-page .nop-jcarousel .buttons,
    body.vecasa-home-page .jCarouselMainWrapper .buttons,
    body:has(.home-page) .nop-jcarousel .buttons,
    body:has(.home-page) .jCarouselMainWrapper .buttons {
        margin-top: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    body.vecasa-home-page .nop-jcarousel .buttons button,
    body.vecasa-home-page .jCarouselMainWrapper .buttons button,
    body:has(.home-page) .nop-jcarousel .buttons button,
    body:has(.home-page) .jCarouselMainWrapper .buttons button {
        min-height: 34px !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 1024px) {
    body.vecasa-home-page,
    body:has(.home-page) {
        overflow-x: hidden !important;
    }

    body.vecasa-home-page .header,
    body:has(.home-page) .header {
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 8px !important;
    }

    body.vecasa-home-page .header-menu,
    body:has(.home-page) .header-menu {
        height: auto !important;
        min-height: 0 !important;
        max-height: 66px !important;
        overflow: hidden !important;
        margin-bottom: 18px !important;
        padding: 7px 0 10px !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile,
    body.vecasa-home-page ul.top-menu.notmobile,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile,
    body:has(.home-page) ul.top-menu.notmobile {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 7px !important;
        height: auto !important;
        max-height: 48px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        padding: 7px 10px !important;
        margin: 0 !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile > li,
    body.vecasa-home-page ul.top-menu.notmobile > li,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile > li,
    body:has(.home-page) ul.top-menu.notmobile > li {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.vecasa-home-page .header-menu > ul.top-menu.notmobile > li > a,
    body.vecasa-home-page ul.top-menu.notmobile > li > a,
    body:has(.home-page) .header-menu > ul.top-menu.notmobile > li > a,
    body:has(.home-page) ul.top-menu.notmobile > li > a {
        display: inline-flex !important;
        white-space: nowrap !important;
        min-height: 34px !important;
        padding: 8px 12px !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    body.vecasa-home-page .home-page .jCarouselMainWrapper,
    body:has(.home-page) .home-page .jCarouselMainWrapper,
    body.vecasa-home-page .jCarouselMainWrapper,
    body:has(.home-page) .jCarouselMainWrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin: 28px auto 42px !important;
        padding: 0 12px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel,
    body:has(.home-page) .nop-jcarousel {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 16px 12px 20px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-list,
    body.vecasa-home-page .jCarouselMainWrapper .slick-list,
    body:has(.home-page) .nop-jcarousel .slick-list,
    body:has(.home-page) .jCarouselMainWrapper .slick-list {
        width: 100% !important;
        overflow: hidden !important;
        height: auto !important;
        padding: 6px 0 14px !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-track,
    body.vecasa-home-page .jCarouselMainWrapper .slick-track,
    body:has(.home-page) .nop-jcarousel .slick-track,
    body:has(.home-page) .jCarouselMainWrapper .slick-track {
        display: flex !important;
        align-items: stretch !important;
        height: auto !important;
    }

    body.vecasa-home-page .nop-jcarousel .slick-slide,
    body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
    body:has(.home-page) .nop-jcarousel .slick-slide,
    body:has(.home-page) .jCarouselMainWrapper .slick-slide {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 7px !important;
        box-sizing: border-box !important;
    }

    body.vecasa-home-page .nop-jcarousel .item-box,
    body.vecasa-home-page .nop-jcarousel .product-item,
    body.vecasa-home-page .jCarouselMainWrapper .item-box,
    body.vecasa-home-page .jCarouselMainWrapper .product-item,
    body:has(.home-page) .nop-jcarousel .item-box,
    body:has(.home-page) .nop-jcarousel .product-item,
    body:has(.home-page) .jCarouselMainWrapper .item-box,
    body:has(.home-page) .jCarouselMainWrapper .product-item {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 390px !important;
        max-height: 520px !important;
        overflow: hidden !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture,
    body:has(.home-page) .nop-jcarousel .product-item .picture,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture {
        height: 190px !important;
        min-height: 190px !important;
        max-height: 190px !important;
        flex: 0 0 190px !important;
        overflow: hidden !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture a:before,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture a:before,
    body:has(.home-page) .nop-jcarousel .product-item .picture a:before,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture a:before {
        display: none !important;
        content: none !important;
        padding-top: 0 !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .picture img,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .picture img,
    body:has(.home-page) .nop-jcarousel .product-item .picture img,
    body:has(.home-page) .jCarouselMainWrapper .product-item .picture img {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.vecasa-home-page .nop-jcarousel .product-item .details,
    body.vecasa-home-page .jCarouselMainWrapper .product-item .details,
    body:has(.home-page) .nop-jcarousel .product-item .details,
    body:has(.home-page) .jCarouselMainWrapper .product-item .details {
        height: auto !important;
        min-height: 170px !important;
        max-height: 280px !important;
        flex: 1 1 auto !important;
        padding: 12px 13px 14px !important;
        overflow: hidden !important;
    }

    body.vecasa-home-page .nop-jcarousel .buttons,
    body.vecasa-home-page .jCarouselMainWrapper .buttons,
    body:has(.home-page) .nop-jcarousel .buttons,
    body:has(.home-page) .jCarouselMainWrapper .buttons {
        margin-top: auto !important;
        display: grid !important;
        gap: 6px !important;
    }

    body.vecasa-home-page .nop-jcarousel .buttons button,
    body.vecasa-home-page .jCarouselMainWrapper .buttons button,
    body:has(.home-page) .nop-jcarousel .buttons button,
    body:has(.home-page) .jCarouselMainWrapper .buttons button {
        min-height: 32px !important;
        padding: 7px 9px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }
}

/* VecasaHome luxury9h: keep Slick geometry LTR even when the page inherits RTL direction.
   The staging page currently computes direction: rtl on html/body while Slick is initialized as rtl:false.
   Without this isolation, Slick translates the track in the opposite direction and product cards appear
   outside the visible carousel frame. Limit the override to Slick internals and restore readable card text. */
body.vecasa-home-page .nop-jcarousel .slick-slider,
body.vecasa-home-page .nop-jcarousel .slick-list,
body.vecasa-home-page .nop-jcarousel .slick-track,
body.vecasa-home-page .nop-jcarousel .slick-slide,
body.vecasa-home-page .jCarouselMainWrapper .slick-slider,
body.vecasa-home-page .jCarouselMainWrapper .slick-list,
body.vecasa-home-page .jCarouselMainWrapper .slick-track,
body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
body:has(.home-page) .nop-jcarousel .slick-slider,
body:has(.home-page) .nop-jcarousel .slick-list,
body:has(.home-page) .nop-jcarousel .slick-track,
body:has(.home-page) .nop-jcarousel .slick-slide,
body:has(.home-page) .jCarouselMainWrapper .slick-slider,
body:has(.home-page) .jCarouselMainWrapper .slick-list,
body:has(.home-page) .jCarouselMainWrapper .slick-track,
body:has(.home-page) .jCarouselMainWrapper .slick-slide {
    direction: ltr !important;
    unicode-bidi: isolate !important;
}

body.vecasa-home-page .nop-jcarousel .product-item,
body.vecasa-home-page .jCarouselMainWrapper .product-item,
body:has(.home-page) .nop-jcarousel .product-item,
body:has(.home-page) .jCarouselMainWrapper .product-item {
    direction: ltr !important;
    text-align: left !important;
}

body.vecasa-home-page .nop-jcarousel .slick-track,
body.vecasa-home-page .jCarouselMainWrapper .slick-track,
body:has(.home-page) .nop-jcarousel .slick-track,
body:has(.home-page) .jCarouselMainWrapper .slick-track {
    left: 0 !important;
    right: auto !important;
}

/* VecasaHome luxury9h: root direction and carousel polish.
   Staging can serve the English home page while html/body inherit RTL from legacy assets.
   Force LTR only for English pages, keep Slick geometry clipped and readable, and prevent
   desktop navigation/carousel cards from spilling outside their visual frames. Arabic pages
   remain controlled by lang="ar" and RTL styles. */
html[lang^="en"],
html[lang^="en"] body {
    direction: ltr !important;
    unicode-bidi: isolate !important;
}

html[lang^="en"] .header,
html[lang^="en"] .header-upper,
html[lang^="en"] .header-lower,
html[lang^="en"] .header-menu,
html[lang^="en"] .top-menu,
html[lang^="en"] .top-menu.mobile,
html[lang^="en"] .search-box,
html[lang^="en"] .master-wrapper-page,
html[lang^="en"] .master-wrapper-content,
html[lang^="en"] .page,
html[lang^="en"] .page-body {
    direction: ltr !important;
}

@media (min-width: 1001px) {
    html[lang^="en"] .header-menu {
        overflow: hidden !important;
    }

    html[lang^="en"] .header-menu > ul,
    html[lang^="en"] .top-menu.notmobile {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: thin !important;
    }

    html[lang^="en"] .header-menu > ul > li,
    html[lang^="en"] .top-menu.notmobile > li {
        flex: 0 0 auto !important;
        float: none !important;
    }

    html[lang^="en"] .header-menu > ul > li > a,
    html[lang^="en"] .top-menu.notmobile > li > a {
        white-space: nowrap !important;
        font-size: 11px !important;
        letter-spacing: .08em !important;
        padding: 12px 15px !important;
    }
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper,
html[lang^="en"] body:has(.home-page) .nop-jcarousel,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper {
    overflow: hidden !important;
    max-width: min(1120px, calc(100vw - 32px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-slider,
html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-list,
html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-track,
html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-slide,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-slider,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-list,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-track,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-slider,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-list,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-track,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-slide,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-slider,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-list,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-track,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-slide {
    direction: ltr !important;
    unicode-bidi: isolate !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-list,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-list,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-list,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-list {
    overflow: hidden !important;
    margin: 0 auto !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-track,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-track,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-track,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-track {
    left: 0 !important;
    right: auto !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-slide,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-slide,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-slide {
    overflow: hidden !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .product-item,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .product-item,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .product-item,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .product-item {
    direction: ltr !important;
    text-align: left !important;
    max-width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-prev,
html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-next,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-prev,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-next,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-prev,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-next,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-prev,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-next {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    background: #2b241d !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: 0 14px 28px rgba(43, 36, 29, .18) !important;
    z-index: 5 !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-prev:before,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-prev:before,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-prev:before,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-prev:before {
    content: '‹' !important;
    font-size: 28px !important;
    color: #fff !important;
    opacity: 1 !important;
}

html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-next:before,
html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-next:before,
html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-next:before,
html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-next:before {
    content: '›' !important;
    font-size: 28px !important;
    color: #fff !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    html[lang^="en"] body.vecasa-home-page .nop-jcarousel,
    html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper,
    html[lang^="en"] body:has(.home-page) .nop-jcarousel,
    html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper {
        max-width: calc(100vw - 18px) !important;
        border-radius: 22px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    html[lang^="en"] body.vecasa-home-page .nop-jcarousel .slick-slide,
    html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .slick-slide,
    html[lang^="en"] body:has(.home-page) .nop-jcarousel .slick-slide,
    html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .slick-slide {
        min-width: 0 !important;
        max-width: none !important;
    }

    html[lang^="en"] body.vecasa-home-page .nop-jcarousel .product-item,
    html[lang^="en"] body.vecasa-home-page .jCarouselMainWrapper .product-item,
    html[lang^="en"] body:has(.home-page) .nop-jcarousel .product-item,
    html[lang^="en"] body:has(.home-page) .jCarouselMainWrapper .product-item {
        width: min(310px, calc(100vw - 54px)) !important;
        max-width: min(310px, calc(100vw - 54px)) !important;
    }
}

