/* Shopoint Hero Slider */
.sp-hero-slider{
    --sp-desktop-ratio:16 / 6;
    --sp-mobile-ratio:4 / 5;
    position:relative;
    width:100%;
    max-width:100%;
    background:#000;
}
.sp-hero-clip{overflow:hidden;}
.sp-hero-viewport{
    width:100%;
    overflow:hidden;
    transition:height .35s ease;
}
.sp-hero-track{
    display:flex;
    width:100%;
    transform:translate3d(0,0,0);
    will-change:transform;
}
.sp-hero-slide{
    position:relative;
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    overflow:hidden;
}
.sp-hero-picture,
.sp-hero-image{
    display:block;
    width:100%;
}
.sp-hero-image{
    height:auto;
    max-width:none;
}
.sp-hero-forced-ratio .sp-hero-slide{
    aspect-ratio:var(--sp-desktop-ratio);
}
.sp-hero-forced-ratio .sp-hero-picture,
.sp-hero-forced-ratio .sp-hero-image{
    width:100%;
    height:100%;
}
.sp-hero-forced-ratio .sp-hero-image{
    object-fit:var(--sp-image-fit, cover);
}
.sp-hero-banner-link{
    position:absolute;
    inset:0;
    z-index:3;
}
.sp-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}
.sp-hero-content{
    position:absolute;
    inset:0;
    z-index:4;
    display:flex;
    pointer-events:none;
}
.sp-hero-content-inner{
    width:100%;
    pointer-events:auto;
}
.sp-h-left{justify-content:flex-start;}
.sp-h-center{justify-content:center;}
.sp-h-right{justify-content:flex-end;}
.sp-v-top{align-items:flex-start;}
.sp-v-center{align-items:center;}
.sp-v-bottom{align-items:flex-end;}
.sp-align-left{text-align:left;}
.sp-align-center{text-align:center;}
.sp-align-right{text-align:right;}
.sp-hero-eyebrow{
    margin:0 0 10px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.08em;
}
.sp-hero-title{
    margin:0;
    font-size:clamp(30px,4vw,64px);
    line-height:1.08;
}
.sp-hero-description{
    margin-top:14px;
    font-size:16px;
    line-height:1.5;
}
.sp-hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}
.sp-align-center .sp-hero-buttons{justify-content:center;}
.sp-align-right .sp-hero-buttons{justify-content:flex-end;}
.sp-hero-btn{
    position:relative;
    z-index:5;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border:1px solid transparent;
    cursor:pointer;
    transition:.25s ease;
}
.sp-hero-btn-2{border-width:1px;border-style:solid;}

.sp-hero-arrow{
    position:absolute;
    top:50%;
    z-index:8;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    transform:translateY(-50%);
    cursor:pointer;
    transition:.25s ease;
}
.sp-hero-arrow svg{
    width:50%;
    height:50%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sp-arrow-circle{border-radius:50%;}
.sp-arrow-square{border-radius:4px;}
.sp-arrow-plain{background:transparent!important;}
.sp-hero-dots{
    position:absolute;
    left:50%;
    z-index:8;
    display:flex;
    gap:8px;
    transform:translateX(-50%);
}
.sp-hero-dot{
    width:9px;
    height:9px;
    padding:0;
    border:0;
    border-radius:50%;
    opacity:.55;
    cursor:pointer;
    transition:.25s ease;
}
.sp-hero-dot.is-active{
    width:24px;
    border-radius:99px;
    opacity:1;
}
.sp-hero-empty{
    padding:40px;
    text-align:center;
    border:1px dashed #ccc;
}
@media(max-width:767px){
    .sp-hero-forced-ratio .sp-hero-slide{
        aspect-ratio:var(--sp-mobile-ratio);
    }
    .sp-hero-title{
        font-size:clamp(24px,8vw,42px);
    }
    .sp-hero-description{font-size:14px;}
    .sp-hero-buttons{gap:9px;margin-top:16px;}
}


/* v1.1.0 - edge arrows + swipe improvements */
.sp-hero-arrow-prev{
    left:12px;
}
.sp-hero-arrow-next{
    right:12px;
}
.sp-hero-arrow{
    top:50%;
    margin:0;
}
.sp-hero-swipe-enabled{
    cursor:grab;
    touch-action:pan-y;
    user-select:none;
    -webkit-user-select:none;
}
.sp-hero-swipe-enabled.is-dragging{
    cursor:grabbing;
}
.sp-hero-swipe-enabled img{
    pointer-events:none;
    -webkit-user-drag:none;
}
@media(max-width:767px){
    .sp-hero-arrow-prev{left:8px;}
    .sp-hero-arrow-next{right:8px;}
}


/* =========================================================
   v1.2.0 - Reference-style edge arrows + editable dots
========================================================= */
.sp-hero-slider{
    isolation:isolate;
}
.sp-hero-arrow{
    top:50% !important;
    z-index:30 !important;
    transform:translateY(-50%) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
}
.sp-hero-arrow-prev{
    left:16px;
    right:auto !important;
}
.sp-hero-arrow-next{
    right:16px;
    left:auto !important;
}
.sp-hero-arrow svg{
    display:block;
}
.sp-hero-dots{
    z-index:30 !important;
}
.sp-hero-dot{
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    flex:0 0 auto;
}
.sp-hero-swipe-enabled{
    touch-action:pan-y pinch-zoom;
    cursor:grab;
}
.sp-hero-swipe-enabled.is-dragging{
    cursor:grabbing;
}
@media(max-width:767px){
    .sp-hero-arrow-prev{left:10px;}
    .sp-hero-arrow-next{right:10px;}
}


/* =========================================================
   v1.3.0 - remove ghost logo / hidden neighboring slide
========================================================= */
.sp-hero-slider,
.sp-hero-viewport{
    overflow:hidden !important;
}
.sp-hero-track{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    width:100% !important;
}
.sp-hero-slide{
    flex:0 0 100% !important;
    min-width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}
.sp-hero-slide picture,
.sp-hero-slide img{
    margin:0 !important;
}
