/* Siren7 Suite — a narrow compatibility layer; the full original layout is in
 * the frozen home.css stored under uploads/siren7-suite after capturing.
 * Do not restyle the design here: keep the original Elementor selectors intact.
 */
.s7s-home {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    clear: both;
    isolation: isolate;
    overflow: clip;
    font-family: 'Inter Tight', Inter, sans-serif;
}
.s7s-home, .s7s-home * {box-sizing: border-box}
.s7s-home > .elementor {width:100%; max-width:none}
.s7s-home img {max-width:100%; height:auto}
.s7s-home .e-con.e-parent {--s7s-lazy-loaded: 1}
/* Keep the exact Elementor carousel markup, but move slides without Swiper. */
.s7s-home .elementor-widget-n-carousel .e-n-carousel.swiper {
    overflow: hidden;
    position: relative;
    width: 100%;
    min-width: 0;
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    height: auto;
    max-width: none;
    will-change: transform;
    transition: transform 500ms ease;
    transform: translate3d(0,0,0);
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper > .swiper-slide {
    flex-shrink: 0;
    height: auto;
    min-width: 0;
    display: flex;
    box-sizing: border-box;
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper > .swiper-slide > .e-con {
    width: 100%;
    min-width: 0;
}
.s7s-home .elementor-widget-n-carousel .elementor-swiper-button {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    z-index: 5;
}
.s7s-home .elementor-widget-n-carousel .elementor-swiper-button:focus-visible,
.s7s-home .e-n-accordion-item > summary:focus-visible {
    outline: 2px solid #00ef98;
    outline-offset: 3px;
}
.s7s-home [data-s7s-carousel-ready] {touch-action: pan-y}
.s7s-home .swiper-wrapper {cursor: auto}
.s7s-home .swiper-wrapper.s7s-dragging {transition: none!important; cursor: grabbing}
.s7s-home .e-n-accordion-item > summary {cursor: pointer}
.s7s-notice {padding:20px;background:#fff8d3;border:1px solid #e2ad32;color:#222}
@media (max-width: 767px) {
   .s7s-home {overflow-x: clip}
}
@media (prefers-reduced-motion: reduce) {
    .s7s-home .elementor-widget-n-carousel .swiper-wrapper {transition-duration: 0ms !important}
}

/* 1.0.1: critical content images must not be hidden by unrelated lazy loaders. */
.s7s-home img[data-s7s-priority="1"] {
    opacity: 1 !important;
    visibility: visible !important;
}
/* Review stars are now inline SVG instead of a lazily fetched tiny PNG. */
.s7s-home .s7s-rating-stars {
    display: inline-block;
    width: 80px;
    height: 12px;
    max-width: none;
    vertical-align: -1px;
    margin-right: 3px;
    flex: none;
}
/* Elementor nested templates contain multiple height:auto wrappers, which
   otherwise leave neighbouring testimonial slides at different heights. */
.s7s-home .elementor-element-ae4a43b .swiper-slide,
.s7s-home .elementor-element-f57510c .swiper-slide {
    display: flex !important;
    align-items: stretch !important;
    height: auto !important;
}
.s7s-home .elementor-element-ae4a43b .swiper-slide > .e-con,
.s7s-home .elementor-element-f57510c .swiper-slide > .e-con {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    flex: 1 1 auto;
    min-width: 0;
    height: auto;
}
.s7s-home .elementor-element-ae4a43b .swiper-slide .elementor-widget-template,
.s7s-home .elementor-element-f57510c .swiper-slide .elementor-widget-template,
.s7s-home .elementor-element-ae4a43b .swiper-slide .elementor-widget-template > .elementor-widget-container,
.s7s-home .elementor-element-f57510c .swiper-slide .elementor-widget-template > .elementor-widget-container,
.s7s-home .elementor-element-ae4a43b .swiper-slide .elementor-template,
.s7s-home .elementor-element-f57510c .swiper-slide .elementor-template,
.s7s-home .elementor-element-ae4a43b .swiper-slide .elementor-template > .elementor,
.s7s-home .elementor-element-f57510c .swiper-slide .elementor-template > .elementor {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}
.s7s-home .elementor-element-ae4a43b .swiper-slide .elementor-template > .elementor > .e-con.e-parent,
.s7s-home .elementor-element-f57510c .swiper-slide .elementor-template > .elementor > .e-con.e-parent {
    flex: 1 1 auto;
    width: 100%;
}


/* 1.1.1: original PNG icons in nested Elementor carousels. The standalone
   widget does not run Elementor/WP Rocket's lazy image observer. */
.s7s-home .elementor-widget-n-carousel .swiper-slide img[data-s7s-carousel-asset="1"] {
    opacity: 1 !important;
    visibility: visible !important;
}
/* A duplicated slide is never tabbable or exposed as new content to assistive
   tech, but it must be painted normally to avoid flashes at loop boundaries. */
.s7s-home .elementor-widget-n-carousel .swiper-slide[data-s7s-clone] {
    opacity: 1;
    visibility: visible;
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper > .swiper-slide {
    margin-right: 0 !important;
}

/* 1.1.2: finite slider boundary buttons; preserve all card and icon styling. */
.s7s-home .elementor-widget-n-carousel .elementor-swiper-button[aria-disabled="true"] {
    opacity: .4;
    cursor: default;
}

/* 1.1.5: deterministic finite animated rail. Unlike native scrolling,
   a transform works even if frozen Elementor CSS constrains scrollWidth. */
.s7s-home .elementor-widget-n-carousel .e-n-carousel.s7s-motion-port {
    position: relative !important;
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    scroll-snap-type: none !important;
    touch-action: pan-y !important;
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper.s7s-motion-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: var(--s7s-item-gap, 10px) !important;
    height: auto !important;
    overflow: visible !important;
    animation: none !important;
    will-change: transform;
    scroll-snap-type: none !important;
}
.s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper.s7s-motion-track > .swiper-slide {
    display: flex !important;
    flex: 0 0 var(--s7s-item-width, 100%) !important;
    width: var(--s7s-item-width, 100%) !important;
    max-width: var(--s7s-item-width, 100%) !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    scroll-snap-align: none !important;
}
.s7s-home .elementor-widget-n-carousel .elementor-swiper-button {
    pointer-events: auto !important;
    z-index: 10;
}
@media (prefers-reduced-motion: reduce) {
    .s7s-home .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper.s7s-motion-track {
        transition-duration: 0ms !important;
    }
}
