/* =========================================================
   Shopoint Why Shopoint v1.2
   Exact reference-style desktop row + mobile 2-per-screen
========================================================= */

.elementor-widget-shopoint_why_shopoint,
.elementor-widget-shopoint_why_shopoint > .elementor-widget-container{
    width:100%;
    max-width:none;
}

.sws-wrap,
.sws-wrap *{
    box-sizing:border-box;
}

.sws-wrap{
    width:100%;
    max-width:none;
}

/* True full browser width even inside boxed Elementor/Woodmart container */
.sws-wrap.sws-full-bleed{
    width:100vw;
    max-width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    margin-right:-50vw;
}

.sws-full-width-inner{
    width:100%;
    max-width:none;
}

/* Heading */
.sws-heading-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 0 10px;
}

.sws-heading{
    margin:0;
    font-family:Georgia, "Times New Roman", serif;
    font-weight:700;
    line-height:1.05;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.1px;
}

.sws-heading-line{
    width:38px;
    height:1px;
    display:block;
    position:relative;
    flex:0 0 auto;
}

.sws-heading-line:first-child::after{
    content:"";
    width:4px;
    height:4px;
    border-radius:50%;
    position:absolute;
    right:-1px;
    top:50%;
    transform:translateY(-50%);
    background:inherit;
}

/* Reference-like rounded white box */
.sws-box{
    width:100%;
    max-width:none;
    border:1px solid;
    overflow:hidden;
    background:#fff;
}

/* Exactly 7 equal desktop columns */
.sws-track{
    width:100%;
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    align-items:stretch;
}

/* IMPORTANT: vertical card layout, matching reference */
.sws-item{
    min-width:0;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    padding:0 18px;
    min-height:126px;
}

.sws-item:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:1px;
}

/* Icon above title */
.sws-icon-wrap{
    width:44px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin:0 0 5px;
    flex:0 0 auto;
}

.sws-preset-icon{
    display:inline-flex;
    color:#D7A33D;
    line-height:0;
}

.sws-preset-icon svg{
    display:block;
    fill:none !important;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    overflow:visible;
}

.sws-custom-icon{
    display:inline-flex;
    color:#D7A33D;
    line-height:1;
}

.sws-custom-icon i,
.sws-custom-icon svg{
    color:inherit !important;
    fill:currentColor !important;
}

.sws-item-title{
    width:100%;
    margin:0 0 7px;
    font-weight:700;
    line-height:1.13;
    text-align:left;
}

.sws-item-desc{
    width:100%;
    margin:0;
    line-height:1.35;
    text-align:left;
}

/* Desktop width tuning */
@media (min-width:1025px){
    .sws-item{
        padding-left:18px;
        padding-right:18px;
    }
}

/* Tablet */
@media (max-width:1024px){
    .sws-box{
        overflow:hidden;
    }

    .sws-track{
        display:flex;
        width:100%;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .sws-track::-webkit-scrollbar{
        display:none;
    }

    .sws-item{
        flex:0 0 33.333333%;
        min-width:33.333333%;
        scroll-snap-align:start;
    }
}

/* Mobile: exactly 2 benefits visible, auto-scroll JS */
@media (max-width:767px){
    .sws-wrap.sws-full-bleed{
        width:100vw;
        max-width:100vw;
        left:50%;
        margin-left:-50vw;
        margin-right:-50vw;
    }

    .sws-heading-row{
        gap:8px;
        margin-bottom:8px;
    }

    .sws-heading-line{
        width:27px;
    }

    .sws-track{
        scroll-behavior:smooth;
    }

    .sws-item{
        flex:0 0 50%;
        min-width:50%;
        min-height:118px;
        padding:0 14px;
    }

    .sws-icon-wrap{
        width:38px;
        height:36px;
        margin-bottom:4px;
    }

    .sws-item-title{
        margin-bottom:5px;
    }
}


/* v1.3 icon refinement: outline icons like reference */
.sws-preset-icon{
    color:#D7A33D !important;
}
.sws-preset-icon svg{
    fill:none !important;
    stroke:currentColor !important;
}
.sws-preset-icon svg *{
    fill:none !important;
    stroke:currentColor !important;
}


/* v1.4 exact reference icon artwork */
.sws-preset-icon{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    line-height:0;
}
.sws-preset-icon img{
    display:block !important;
    width:36px;
    height:36px;
    object-fit:contain;
    max-width:none !important;
    filter:none !important;
}
@media (max-width:767px){
    .sws-preset-icon img{
        width:30px;
        height:30px;
    }
}


/* v1.5 custom image option */
.sws-custom-image{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    line-height:0;
}
.sws-custom-image img{
    display:block !important;
    width:36px;
    height:36px;
    object-fit:contain !important;
    max-width:none !important;
}
@media (max-width:767px){
    .sws-custom-image img{
        width:30px;
        height:30px;
    }
}


/* v1.6: Elementor image-size controls */
.sws-custom-image img{
    max-width:80px !important;
}
