/* =========================================================
   EA WAVE PRODUCT SLIDER — MODEL 2
   Full-width wavy background, fixed toy pattern, finite carousel.
========================================================= */

.ea-wave-slider{
    --ea-wave-bg:#8EDFC4;
    position:relative;
    width:100vw;
    max-width:100vw;
    left:auto;
    right:auto;
    margin-left:0;
    margin-right:calc(50% - 50vw);
    transform:none;
    overflow:hidden;
    isolation:isolate;
    direction:rtl;
    background:var(--ea-wave-bg);
    color:#fff;
    padding:var(--ea-wave-pad-top,36px) 0 var(--ea-wave-pad-bottom,46px);
    font-family:inherit;
}

.ea-wave-slider *,
.ea-wave-slider *::before,
.ea-wave-slider *::after{box-sizing:border-box;}

.ea-wave-pattern{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-image:url('./wave-pattern.svg');
    background-repeat:repeat;
    background-position:center top;
    background-size:250px 188px;
    opacity:.20;
}

.ea-wave-edge{
    position:absolute;
    left:0;
    z-index:2;
    width:100%;
    height:var(--ea-wave-height,52px);
    pointer-events:none;
    overflow:hidden;
}

.ea-wave-edge-top{top:0;}
.ea-wave-edge-bottom{bottom:0;}
.ea-wave-edge-svg{display:block;width:100%;height:100%;}
.ea-wave-mobile{display:none;}

.ea-wave-inner{
    position:relative;
    z-index:3;
    width:min(1400px,calc(100% - 32px));
    margin:0 auto;
    min-width:0;
}

.ea-wave-heading{
    position:relative;
    z-index:4;
    margin:0 0 18px;
    padding:0 12px;
    color:#fff;
}

.ea-wave-heading h2{
    margin:0;
    color:#fff;
    font-size:var(--ea-wave-heading-size,22px);
    line-height:1.55;
    font-weight:900;
    text-shadow:0 2px 8px rgba(0,0,0,.08);
}

.ea-wave-heading p{
    margin:4px 0 0;
    color:rgba(255,255,255,.94);
    font-size:13px;
    line-height:1.7;
    font-weight:500;
}

.ea-wave-carousel{
    position:relative;
    width:100%;
    min-width:0;
    outline:none;
}

.ea-wave-viewport{
    position:relative;
    width:100%;
    overflow:hidden;
    touch-action:pan-y;
    user-select:none;
    -webkit-user-select:none;
    padding:3px;
}

.ea-wave-track{
    position:relative;
    top:auto;
    right:0;
    display:flex;
    flex-direction:row;
    align-items:stretch;
    gap:var(--ea-wave-gap-desktop,14px);
    width:max-content;
    will-change:transform;
    transition:transform .42s cubic-bezier(.22,.61,.36,1);
}

.ea-wave-track.ea-wave-no-transition{transition:none!important;}

.ea-wave-card,
.ea-wave-cta-card{
    flex:0 0 auto;
    min-width:0;
    text-decoration:none!important;
}

.ea-wave-product-card{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    overflow:hidden;
    padding:var(--ea-wave-card-pad-desktop,0);
    border:var(--ea-wave-card-border-width,1px) solid var(--ea-wave-card-border-color,#e9e9e9);
    border-radius:var(--ea-wave-card-radius,12px);
    background:var(--ea-wave-card-bg,#fff);
    box-shadow:var(--ea-wave-card-shadow,0 16px 40px rgba(0,0,0,.17));
    color:var(--ea-wave-title-color,#222);
    min-height:100%;
    outline:none;
    -webkit-tap-highlight-color:transparent;
}

.ea-wave-product-card:focus-visible,
.ea-wave-cta-card:focus-visible{
    outline:2px solid rgba(255,255,255,.95);
    outline-offset:3px;
}

@media (hover:hover){
    .ea-wave-product-card{transition:transform .18s ease,box-shadow .18s ease;}
    .ea-wave-product-card:hover{
        transform:translateY(-3px);
        box-shadow:0 22px 46px rgba(0,0,0,.22);
    }
}

.ea-wave-product-image{
    width:100%;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:0;
    background:#fff;
}

.ea-wave-product-image img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain;
    object-position:center;
    margin:0!important;
    padding:0!important;
    border:0!important;
    user-select:none;
    -webkit-user-drag:none;
}

.ea-wave-product-content{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    justify-content:flex-start;
    min-width:0;
    padding:9px 10px 11px;
}

.ea-wave-product-title{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:43px;
    margin:0;
    color:var(--ea-wave-title-color,#222)!important;
    font-size:12px;
    line-height:1.8;
    font-weight:500;
    text-align:right;
}

.ea-wave-product-price{
    display:flex;
    align-items:baseline;
    justify-content:flex-start;
    gap:4px;
    margin-top:auto;
    padding-top:9px;
    color:var(--ea-wave-price-color,#ef394e);
    font-size:15px;
    line-height:1.45;
    font-weight:900;
}

.ea-wave-product-price small{font-size:10px;font-weight:700;}

.ea-wave-product-price-sale{
    flex-wrap:wrap;
    align-items:baseline;
    row-gap:2px;
    column-gap:6px;
}

.ea-wave-product-regular-price{
    color:#ef394e !important;
    font-size:11px;
    line-height:1.35;
    font-weight:700;
    text-decoration-thickness:1.5px;
    text-decoration-color:currentColor;
    opacity:.82;
}

.ea-wave-product-regular-price small{
    font-size:8px;
    margin-right:2px;
}

.ea-wave-product-sale-price{
    color:var(--ea-wave-price-color,#ef394e);
    font-size:15px;
    line-height:1.35;
    font-weight:900;
}

.ea-wave-product-sale-price small{
    font-size:9px;
    margin-right:2px;
}

.ea-wave-cta-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:100%;
    padding:24px 18px;
    border-radius:var(--ea-wave-card-radius,18px);
    border:1px solid rgba(255,255,255,.62);
    background:rgba(255,255,255,.94);
    color:var(--ea-wave-title-color,#222);
    box-shadow:var(--ea-wave-card-shadow,0 6px 24px rgba(0,0,0,.055));
    text-align:center;
    transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}

@media (hover:hover){
    .ea-wave-cta-card:hover{
        transform:translateY(-3px);
        background:#fff;
        box-shadow:0 10px 28px rgba(0,0,0,.10);
    }
}

.ea-wave-cta-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--ea-wave-bg,#8EDFC4);
    color:#fff;
    font-size:22px;
    line-height:1;
    font-weight:700;
}

.ea-wave-cta-card strong{font-size:15px;font-weight:900;color:var(--ea-wave-title-color,#222);}
.ea-wave-cta-card small{font-size:10px;line-height:1.6;color:#727b82;max-width:95%;}

.ea-wave-arrow{
    position:absolute;
    top:50%;
    z-index:12;
    width:38px;
    height:38px;
    margin-top:-19px;
    padding:0;
    display:none;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#333!important;
    box-shadow:0 6px 18px rgba(0,0,0,.14);
    cursor:pointer;
    line-height:1!important;
    outline:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}

.ea-wave-arrow span{display:block;}
.ea-wave-chevron{width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;}
.ea-wave-chevron-right{transform:rotate(45deg);margin-right:-2px;}
.ea-wave-chevron-left{transform:rotate(-135deg);margin-left:-2px;}
.ea-wave-prev{right:-2px;}
.ea-wave-next{left:-2px;}

.ea-wave-arrow[disabled]{opacity:.42;cursor:default;}

@media (hover:hover){
    .ea-wave-arrow:not([disabled]):hover{transform:scale(1.04);}
}

.ea-wave-dots{
    position:relative;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    margin:12px 0 0;
    padding:0 12px;
}

.ea-wave-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.44);
    cursor:pointer;
}

.ea-wave-dot.is-active{width:18px;border-radius:99px;background:#fff;}

@media (max-width:1100px) and (min-width:768px){
    .ea-wave-inner{width:100%;padding-right:14px;padding-left:14px;}
    .ea-wave-arrow{display:flex;}
    .ea-wave-product-title{font-size:12px;}
    .ea-wave-track{gap:var(--ea-wave-gap-tablet,12px);}
}

@media (min-width:1101px){
    .ea-wave-arrow{display:flex;}
}

@media (max-width:767px){
    .ea-wave-desktop{display:none;}
    .ea-wave-mobile{display:block;}
    .ea-wave-inner{width:100%;padding-right:6px;padding-left:6px;}
    .ea-wave-slider{padding-top:var(--ea-wave-pad-top,28px);padding-bottom:var(--ea-wave-pad-bottom,36px);}
    .ea-wave-pattern{background-size:190px 142px;opacity:.18;}
    .ea-wave-heading{margin-bottom:13px;padding:0 6px;}
    .ea-wave-heading h2{font-size:18px;line-height:1.55;}
    .ea-wave-heading p{font-size:11px;}
    .ea-wave-viewport{padding:2px;}
    .ea-wave-track{gap:var(--ea-wave-gap-mobile,9px);}
    .ea-wave-arrow{width:34px;height:34px;margin-top:-17px;}
    .ea-wave-prev{right:0;}
    .ea-wave-next{left:0;}
    .ea-wave-product-card{padding:var(--ea-wave-card-pad-mobile,10px);border-radius:min(16px,var(--ea-wave-card-radius,18px));}
    .ea-wave-product-image{border-radius:0;}
    .ea-wave-product-content{padding:7px 7px 9px;gap:5px;}
    .ea-wave-product-title{font-size:9.5px;line-height:1.72;min-height:65px;-webkit-line-clamp:4;}
    .ea-wave-product-price{padding-top:7px;font-size:10.5px;gap:3px;}
    .ea-wave-product-price small{font-size:7.5px;}
    .ea-wave-product-regular-price{font-size:8px;}
    .ea-wave-product-regular-price small{font-size:6.5px;}
    .ea-wave-product-sale-price{font-size:10.5px;}
    .ea-wave-product-sale-price small{font-size:7px;}
    .ea-wave-cta-card{padding:17px 10px;border-radius:min(15px,var(--ea-wave-card-radius,18px));gap:6px;}
    .ea-wave-cta-icon{width:32px;height:32px;font-size:18px;}
    .ea-wave-cta-card strong{font-size:12px;}
    .ea-wave-cta-card small{font-size:8px;}
}

/* Safeguard against WordPress/Woodmart image rules leaking into the tool. */
.ea-wave-slider img{vertical-align:middle;}

/* 5.3.6 — RTL full-bleed guard */
.ea-wave-slider { margin-top: 0; }

/* =========================================================
   5.3.11 — FIRST-PAINT MASK / POLISHED LOADING REVEAL
   Hide the unmeasured RTL track on first paint so users never see the
   brief wrong-position snap. A lightweight shimmer + spinner occupies the
   same carousel area until the first exact position is applied.
========================================================= */
.ea-wave-slider.ea-wave-initializing .ea-wave-track,
.ea-wave-slider:not(.ea-wave-ready) .ea-wave-track{
    opacity:0;
}

.ea-wave-slider.ea-wave-initializing .ea-wave-arrow{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
}

.ea-wave-slider.ea-wave-initializing .ea-wave-carousel::after,
.ea-wave-slider:not(.ea-wave-ready) .ea-wave-carousel::after{
    content:"";
    position:absolute;
    inset:2px;
    z-index:10;
    border-radius:var(--ea-wave-card-radius,18px);
    pointer-events:none;
    background:
        linear-gradient(100deg,
            rgba(255,255,255,.10) 0%,
            rgba(255,255,255,.30) 42%,
            rgba(255,255,255,.11) 60%,
            rgba(255,255,255,.10) 100%);
    background-size:220% 100%;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
    animation:ea-wave-loading-sheen 1.15s ease-in-out infinite;
}

.ea-wave-slider.ea-wave-initializing .ea-wave-carousel::before,
.ea-wave-slider:not(.ea-wave-ready) .ea-wave-carousel::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    z-index:11;
    width:34px;
    height:34px;
    margin:-17px 0 0 -17px;
    border:3px solid rgba(255,255,255,.34);
    border-top-color:#fff;
    border-radius:50%;
    pointer-events:none;
    box-shadow:0 6px 18px rgba(0,0,0,.10);
    animation:ea-wave-loading-spin .72s linear infinite;
}

.ea-wave-slider.ea-wave-ready .ea-wave-carousel::before,
.ea-wave-slider.ea-wave-ready .ea-wave-carousel::after{
    content:none;
    animation:none;
}

.ea-wave-slider .ea-wave-track{
    transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .16s ease;
}

.ea-wave-slider.ea-wave-initializing .ea-wave-track{
    transition:none!important;
}

@keyframes ea-wave-loading-sheen{
    0%{background-position:180% 0;opacity:.56;}
    50%{opacity:.92;}
    100%{background-position:-20% 0;opacity:.56;}
}

@keyframes ea-wave-loading-spin{
    to{transform:rotate(360deg);}
}

@media (prefers-reduced-motion:reduce){
    .ea-wave-slider.ea-wave-initializing .ea-wave-carousel::after,
    .ea-wave-slider:not(.ea-wave-ready) .ea-wave-carousel::after{
        animation:none;
        background:rgba(255,255,255,.15);
    }
    .ea-wave-slider.ea-wave-initializing .ea-wave-carousel::before,
    .ea-wave-slider:not(.ea-wave-ready) .ea-wave-carousel::before{
        animation:none;
    }
}


/* Product-page price amounts are +6px; currency labels remain legible without overpowering the number. */
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-price,
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-sale-price { font-size: 21px !important; }
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-regular-price { font-size: 17px !important; }
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-price small,
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-sale-price small { font-size: 11px !important; }
.ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-regular-price small { font-size: 8px !important; }
@media (max-width: 767px) {
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-price,
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-sale-price { font-size: 16.5px !important; }
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-regular-price { font-size: 14px !important; }
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-price small,
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-sale-price small { font-size: 9.5px !important; }
    .ea-wave-slider[data-ea-product-page="1"] .ea-wave-product-regular-price small { font-size: 6.5px !important; }
}
