.wpcp-carousel-wrapper * {
    word-break: break-word;
    word-wrap: break-word;
    box-sizing: border-box;
}
.wpcp-carousel-section.wpcp-standard:not(.wpcp-preloader) {
    display: none;
}
.wpcp-carousel-section.wpcp-standard.swiper-initialized:not(.wpcp-preloader) {
    display: block;
}
.wpcp-carousel-wrapper,
.wpcp-carousel-wrapper .wpcp-carousel-content-wrapper {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
}
.wpcp-carousel-section.wpcp-preloader {
    opacity: 0;
}
.wpcp-carousel-preloader {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sp-wpcp-wrapper {
    margin-bottom: 0;
}
.wpcp-carousel-section.wpcp-standard {
    overflow: hidden;
}
.wpcp-carousel-section .swiper-wrapper {
    align-items: center;
}
.wpcp-carousel-section .wpcp-single-item {
    overflow: hidden;
    vertical-align: middle;
    float: none;
    max-width: 100%;
    position: relative;
}
.wpcp-single-item.wcp-video-item i {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
    z-index: 5;
    font-family: fontawesome;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
}
.wpcp-single-item.wcp-video-item .wpcp-all-captions {
    padding: 10px 20px 15px;
}
.wpcp-all-captions li {
    list-style: none;
    margin: 0;
}
.wpcp-carousel-section p,
.wpcp-carousel-section ul,
.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions h2 {
    margin: 0;
}
.wpcp-carousel-section.wpcp-video-carousel .wpcp-single-item .wpcp-slide-image {
    position: relative;
}
.wpcp-carousel-section.wpcp-content-carousel .wpcp-single-item {
    padding-left: 15px;
    padding-right: 15px;
}
.wpcp-carousel-section .wpcp-single-item figure {
    margin: 0;
    line-height: 0;
    overflow: hidden;
}
.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item figure {
    text-align: center;
}
.wpcp-carousel-section .wpcp-single-item img[data-lazy] {
    width: 32px;
}
.wpcp-carousel-section .wpcp-single-item img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    box-shadow: none;
}
.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions {
    padding: 10px 20px 15px;
}
.wpcp-carousel-section .wpcp-single-item .wpcp-all-captions .wpcp-image-description {
    margin: 6px 0 0;
}
.wpcp-carousel-section .wpcp-single-item .wpcp-slide-image a:focus {
    outline: 0;
}
.wpcp-carousel-section .wpcp-all-captions a,
.wpcp-carousel-section a,
.wpcp-carousel-section a:hover {
    text-decoration: none;
}
.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions {
    padding: 15px 20px 0;
    overflow: hidden;
}
#poststuff h2,
.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions h2 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px;
}
.wpcp-single-item h2 a {
    color: #444;
    text-decoration: none;
}
.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions .post-categories {
    margin: 0 0 7px;
    padding: 0;
    display: block;
}
.wpcp-post-carousel .wpcp-all-captions p {
    margin-bottom: 15px;
}
.wpcp_readmore {
    border: 1px solid;
    display: inline-block;
    background: #22afba;
    margin: 0 0 14px;
    line-height: 32px;
    padding: 5px 14px;
    font-weight: 600;
}
.wpcp_readmore,
.wpcp_readmore:focus,
.wpcp_readmore:hover {
    color: #fff;
}
.wpcp-single-item .wpcp-all-captions .wpcp-post-meta {
    margin: 0 0 6px;
    padding: 0;
}
.wpcp-post-carousel .wpcp-post-meta li {
    display: inline-block;
    margin-right: 5px;
}
.wpcp-post-carousel .wpcp-post-meta li:last-child {
    margin-right: 0;
}
.wpcp-post-meta li,
.wpcp-post-meta li a {
    color: #999;
}
.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-all-captions,
.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-slide-image {
    float: left;
    width: 50%;
    box-sizing: border-box;
}
.wpcp-carousel-section.detail-with-overlay .wpcp-all-captions {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.wpcp-carousel-section.detail-with-overlay.overlay-lower .wpcp-all-captions {
    top: auto;
    display: block;
    height: auto;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.55);
}
.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-all-captions {
    visibility: hidden;
    opacity: 0;
    transition:
        visibility 0.3s linear,
        opacity 0.3s linear;
}
.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-single-item:hover .wpcp-all-captions {
    visibility: visible;
    opacity: 1;
}
.wpcp-carousel-section.detail-with-overlay .wpcp-single-item {
    position: relative;
}
.wpcp-carousel-section .wpcp-single-item:focus {
    outline: 0;
}
.wpcp-product-carousel .wpcp-single-item .wpcp-all-captions {
    padding: 15px 20px 0;
    overflow: hidden;
    text-align: center;
}
.wpcp-product-carousel .wpcp-single-item .wpcp-product-title {
    margin: 0;
    font-size: 16px;
    line-height: 23px;
    font-weight: 600;
}
.wpcp-product-price {
    margin-top: 5px;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button {
    margin-top: 12px;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button {
    background: #ebebeb;
    color: #545454;
    border: 1px solid #d1d1d1;
    font-weight: 500;
    padding: 8px 20px;
    line-height: 22px;
    display: inline-block;
    font-size: 14px;
}
#sp-wpcf-preview-box .wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button {
    height: auto;
    margin-bottom: 5px;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.add_to_cart_button.added {
    display: none;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .added_to_cart {
    font-size: 100%;
    margin: 0;
    line-height: 38px;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: 0 20px;
    font-weight: 600;
    border-radius: 3px;
    left: auto;
    color: #515151;
    background-color: #ebe9eb;
    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;
    border: 1px solid;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.button:hover {
    background: #3f3f3f;
    border-color: #d1d1d1;
    color: #fff;
}
.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .wc-forward::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -0.125em;
    font: normal normal normal 14px/1 FontAwesome;
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f178";
    margin-left: 0.5407911001em;
}
.wpcp-carousel-section .woocommerce-product-rating .star-rating {
    margin: 4px auto;
    float: none;
}
.wpcp-product-price span {
    font-weight: 700;
    font-size: 14px;
}
.theme-storefront .wpcp-carousel-wrapper .star-rating {
    width: 5.7em;
}
.wpcp-carousel-section .swiper-button-next:after,
.wpcp-carousel-section .swiper-button-next:before,
.wpcp-carousel-section .swiper-button-prev:after,
.wpcp-carousel-section .swiper-button-prev:before {
    display: none;
}
.wpcp-carousel-section .swiper-button-prev {
    left: 0;
    right: auto;
}
.wpcp-carousel-section .swiper-button-next {
    right: 0;
    left: auto;
}
.wpcp-carousel-section .swiper-button-next,
.wpcp-carousel-section .swiper-button-prev {
    width: 80px;
    height: 80px;
    line-height: 80px;
    position: absolute;
    z-index: 22;
    left: auto;
    top: auto;
    font-size: 80px;
    transition: ease all 0.3s;
    margin-top: 0;
    cursor: pointer;
}
.wpcp-carousel-section.nav-vertical-center {
    margin: 0 25px;
}
.wpcp-carousel-section .swiper-button-next,
.wpcp-carousel-section .swiper-button-next i,
.wpcp-carousel-section .swiper-button-prev,
.wpcp-carousel-section .swiper-button-prev i {
    line-height: 28px;
    font-family: fontawesome;
    color: #000;
}
.wpcp-carousel-section.nav-vertical-center .swiper-button-next,
.wpcp-carousel-section.nav-vertical-center .swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
}
.wpcp-carousel-section.nav-vertical-center .swiper-button-prev {
    left: -60px;
    right: auto;
    text-align: left;
}
.wpcp-carousel-section.nav-vertical-center .swiper-button-next {
    right: -60px;
    text-align: right;
    left: auto;
}
.wpcp-carousel-content-wrapper:has(.wpcp-swiper-dots) {
    margin-bottom: 60px;
}
.wpcp-carousel-section.nav-top-right .wpcp-next-button,
.wpcp-carousel-section.nav-top-right .wpcp-prev-button {
    top: 15px;
}
.wpcp-carousel-section.nav-top-right {
    padding-top: 50px;
}
.wpcp-carousel-section.nav-top-right .wpcp-next-button {
    right: 0;
}
.wpcp-carousel-section.nav-top-right .wpcp-prev-button {
    right: 36px;
}
.wpcp-carousel-section .swiper-pagination-bullets.swiper-pagination-horizontal,
.wpcp-carousel-section .wpcp-swiper-dots {
    position: absolute;
    bottom: unset;
}
.wpcp-carousel-section .wpcp-swiper-dots .swiper-pagination-bullet {
    background-color: #ccc;
    border: 0 solid;
    border-radius: 50%;
    font-size: 0;
    margin: 3px;
    overflow: hidden;
    padding: 0;
    text-indent: -999px;
    width: 12px;
    height: 12px;
    cursor: pointer;
    opacity: 1;
}
.wpcpro-row.no-gutters > [class*="wpcpro-col-"] {
    padding-right: 0;
    padding-left: 0;
}
.wpcpro-row > [class*="wpcpro-col-"] {
    padding: 0 10px;
    padding-bottom: 20px;
}
.wpcpro-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}
.wpcpro-post-pagination .ajax-page-numbers,
.wpcpro-post-pagination .page-numbers {
    background: #fff;
    color: #5e5e5e;
    border: 2px solid #bbb;
    width: 38px;
    height: 38px;
    line-height: 38px;
    font-size: 16px;
    text-align: center;
    display: inline-block;
    margin-right: 4px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 3px;
    -webkit-transition: all 0.33s;
    transition: all 0.33s;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
.wpcpro-post-pagination .ajax-page-numbers.current,
.wpcpro-post-pagination .page-numbers.current {
    cursor: auto;
    color: #fff;
    background: #178087;
    border-color: #178087;
}
.wpcpro-post-pagination-number {
    margin-top: 20px;
}
.wpcpro-post-pagination a.page-numbers:hover,
.wpcpro-post-pagination span.current,
.wpcpro-post-pagination span:hover {
    color: #fff;
    background: #178087;
    border-color: #178087;
}
.wpcp-single-item {
    direction: ltr;
}
html[dir="rtl"] .wpcp-single-item {
    direction: rtl;
}
.wpcp-carousel-section .wpcp-slide-image {
    line-height: 0;
    text-align: center;
    overflow: hidden;
}
.wpcp-carousel-section i.fa {
    font-style: normal;
}
.block-editor-page a.sp_wp_carousel_block_edit_button,
a.sp_wp_carousel_block_edit_button {
    display: inline-block;
    text-decoration: underline;
    font-size: 16px;
    margin: 10px 0;
}
.wpcf-fancybox-wrapper .fancybox-thumbs {
    top: auto;
    width: auto;
    left: 0;
    right: 0;
    padding: 3px 10px 5px 10px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.3);
    margin: 0 auto;
}
.wpcf-fancybox-wrapper .fancybox-thumbs-x .fancybox-thumbs__list {
    margin: auto;
}
.wpcf-fancybox-wrapper .fancybox-inner {
    right: 0 !important;
    bottom: 0;
}
body.admin-bar .wpcf-fancybox-wrapper.fancybox-container .fancybox-infobar,
body.admin-bar .wpcf-fancybox-wrapper.fancybox-container .fancybox-toolbar {
    top: 0;
}
.wpcf-fancybox-wrapper .fancybox-slide--image .fancybox-content {
    margin-top: 0;
    margin-bottom: 0;
}
.wpcf-fancybox-wrapper.fancybox-show-thumbs .fancybox-inner {
    bottom: 95px;
}
.fancybox-container,
.wpcf-fancybox-wrapper {
    z-index: 9999929 !important;
    backdrop-filter: blur(5px);
}
.wpcf-fancybox-wrapper .fancybox-thumbs__list a:before {
    border-width: 4px;
}
.wpcf-fancybox-wrapper .fancybox-navigation .fancybox-button .wpcp-fancybox-nav-arrow i {
    font-size: 30px;
}
.wpcf-fancybox-wrapper .fancybox-navigation .fancybox-button {
    background-clip: border-box;
    width: 50px;
}
.wpcf-fancybox-wrapper .fancybox-navigation .fancybox-button.fancybox-button--arrow_right .wpcp-fancybox-nav-arrow {
    margin-left: -15px;
}
.wpcf-fancybox-wrapper ~ .elementor-lightbox {
    display: none !important;
}
.elementor-default .wpcp-carousel-wrapper .swiper-container:not(.swiper-container-initialized) .swiper-wrapper {
    overflow: initial;
}
.wpcp-carousel-wrapper .wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item img,
.wpcp-carousel-wrapper .wpcp-carousel-section.wpcp-post-carousel .wpcp-single-item img,
.wpcp-carousel-wrapper .wpcp-carousel-section.wpcp-product-carousel .wpcp-single-item img {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.wpcp-center.wpcp-carousel-section .swiper-slide.swiper-slide-active .wpcp-single-item {
    transform: scale(1);
    opacity: 1;
}
.wpcp-center .swiper-slide.swiper-slide-active {
    transform: scale(1);
}
.wpcp-center.wpcp-carousel-section .swiper-slide .wpcp-single-item {
    transition: all 0.3s;
    transform: scale(0.85);
    opacity: 0.6;
}
.wpcp-carousel-section.detail-on-top .wpcp-single-item {
    display: flex !important;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
}
.wpcp-carousel-section .wcp-video-item a.wcp-light-box img[src*="hqdefault"] {
    margin-top: -9.4%;
    margin-bottom: -9.4%;
}
.wcp-video-item a.wcp-light-box {
    display: block;
    overflow: hidden;
    font-size: 0;
}
.swiper-slide-kenburn {
    display: flex;
    width: 100%;
}
.wpcp-carousel-section.swiper-3d.swiper-flip {
    perspective: none;
}
.sp-wpcpro-section-title {
    text-align: center;
    font-size: 24px;
}

/* Desktop: place Fancybox caption to the right of the image (80% image / 20% caption)
   Keep mobile behaviour unchanged. Scoped to the plugin wrapper to avoid affecting other Fancybox uses. */
@media (min-width: 768px) {
    /* Use flex so Fancybox can keep inline slide sizing/positioning (no transform/height overrides) */
    .wpcf-fancybox-wrapper .fancybox-inner {
        display: flex;
        align-items: flex-start;
        gap: 20px;
    }

    .wpcf-fancybox-wrapper .fancybox-stage {
        order: 1;
        flex: 0 0 80%;
        width: 80% !important;
        box-sizing: border-box;
        min-width: 0;
        overflow: visible; /* allow transformed content to be visible without shifting the caption */
    }

    /* Ensure the separate caption sits in the right column and at the top
       Override Fancybox's absolute/bottom positioning so the caption doesn't sit under the image */
    .wpcf-fancybox-wrapper .fancybox-caption.fancybox-caption--separate {
        order: 2;
        align-self: flex-start;
        flex: 0 0 20%;
        width: 20% !important;
        box-sizing: border-box;
        display: block;
        padding: 20px;
        overflow: auto;
        max-height: calc(100vh - 100px);
        background: transparent;
        margin: 0 !important;
        min-width: 0;
        text-align: left;
        margin-left: 20% !important;
    }

    /* Don't override Fancybox inline transforms/height; allow content to keep its sizing and positioning */
    .wpcf-fancybox-wrapper .fancybox-stage .fancybox-slide,
    .wpcf-fancybox-wrapper .fancybox-stage .fancybox-content {
        max-width: 100% !important;
    }

    /* Ensure caption text is left aligned and readable */
    .wpcf-fancybox-wrapper .wpcp-lightbox-caption .wpcp-caption-text {
        text-align: left;
    }
}

/* Tablet: place Fancybox caption below the image (100% image / 100% caption)
   Keep mobile behaviour unchanged. Scoped to the plugin wrapper to avoid affecting other Fancybox uses. */
@media (max-width: 767px)  {
    .fancybox-caption{
            inset: revert-layer !important;
            bottom: 0 !important;
    }
}
