/* Vees Slides — isolated mobile experience. Prefix: vsl8- */
:root{
    --vsl8-yellow:#ffd132;
    --vsl8-bg:#0d0d0d;
    --vsl8-panel:#111;
    --vsl8-text:#fff;
    --vsl8-muted:#a4a4a4;
    --vsl8-line:rgba(255,255,255,.10);
}

.vsl8-template-main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important;background:#0d0d0d;}
.vsl8-app{display:none;}

/* Desktop: the feature is deliberately hidden. */
@media (min-width:769px){
    .vsl8-isolated-page .vsl8-template-main,
    .vsl8-app{display:none!important;}
}

@media (max-width:768px){
    html.vsl8-feed-open,
    html.vsl8-feed-open body{overflow:hidden!important;overscroll-behavior:none!important;}

    /* Reference is a self-contained mobile experience, so remove theme chrome only on this template. */
    body.vsl8-isolated-page .site-header,
    body.vsl8-isolated-page .site-footer{display:none!important;}
    body.vsl8-isolated-page #wpadminbar{display:none!important;}
    html{margin-top:0!important;}

    .vsl8-app{
        position:relative;
        display:block;
        width:100%;
        min-height:100dvh;
        overflow:hidden;
        background:
            linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
            #0e0e0e;
        background-size:54px 54px;
        color:var(--vsl8-text);
        font-family:Inter,Arial,sans-serif;
        isolation:isolate;
    }

    .vsl8-app *{box-sizing:border-box;}
    .vsl8-app button,.vsl8-app a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}

    .vsl8-browser{
        min-height:100dvh;
        padding:28px 16px 40px;
        background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.22));
    }
    .vsl8-page-back{
        position:absolute;
        z-index:4;
        top:20px;
        left:16px;
        width:44px;
        height:44px;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,255,255,.16);
        background:rgba(9,9,9,.56);
        color:#fff;
        font-size:25px;
        font-weight:300;
        cursor:pointer;
    }

    .vsl8-browser-header{
        position:relative;
        width:min(100%,360px);
        margin:32px auto 20px;
        text-align:center;
        padding:10px 0 6px;
    }
    .vsl8-brand-logo{
        display:block;
        width:auto;
        max-width:150px;
        max-height:54px;
        object-fit:contain;
        margin:0 auto 1px;
    }
    .vsl8-brand-name{
        margin:0 0 1px;
        color:#fff;
        font-size:15px;
        line-height:1;
        font-weight:900;
        letter-spacing:.5px;
        text-transform:uppercase;
    }
    .vsl8-browser-header h1,
    .vsl8-wordmark{
        margin:0;
        color:var(--vsl8-yellow);
        font-size:clamp(38px,11vw,54px);
        line-height:.95;
        font-weight:950;
        letter-spacing:-1.5px;
        text-transform:uppercase;
        text-shadow:0 5px 18px rgba(255,209,50,.08);
    }
    .vsl8-spark{position:absolute;font-size:24px;line-height:1;color:#fff;pointer-events:none;}
    .vsl8-spark-a{left:14%;top:4px;color:var(--vsl8-yellow);}
    .vsl8-spark-b{right:13%;bottom:3px;}

    .vsl8-tabs{
        width:min(100%,430px);
        height:72px;
        margin:0 auto 22px;
        padding:4px;
        display:grid;
        grid-template-columns:1fr 1fr;
        align-items:stretch;
        border:1px solid rgba(255,255,255,.13);
        border-radius:18px;
        background:rgba(5,5,5,.80);
        overflow:hidden;
    }
    .vsl8-tab{
        display:flex;
        align-items:center;
        justify-content:center;
        min-width:0;
        border-radius:14px;
        color:#787878!important;
        text-decoration:none!important;
        text-transform:uppercase;
        font-size:17px;
        font-weight:850;
        letter-spacing:.3px;
        transition:background .16s ease,color .16s ease,transform .16s ease;
    }
    .vsl8-tab.is-active{
        color:var(--vsl8-yellow)!important;
        background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
        box-shadow:inset 0 0 0 1px rgba(255,209,50,.04);
    }
    .vsl8-tab:active{transform:scale(.985);}

    .vsl8-panels{width:min(100%,760px);margin:0 auto;}
    .vsl8-gender-panel[hidden]{display:none!important;}
    .vsl8-category-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px 12px;
    }
    .vsl8-category-card{
        position:relative;
        display:block;
        min-width:0;
        aspect-ratio:.72;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.08);
        border-radius:14px;
        background:#151515;
        color:#fff!important;
        text-decoration:none!important;
        box-shadow:0 10px 28px rgba(0,0,0,.20);
    }
    .vsl8-category-card img{
        display:block;
        width:100%;
        height:100%;
        object-fit:cover;
        transform:scale(1.005);
        transition:transform .22s ease;
    }
    .vsl8-category-card:active img{transform:scale(1.025);}
    .vsl8-category-gradient{
        position:absolute;
        inset:auto 0 0;
        height:47%;
        background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.20),transparent);
        pointer-events:none;
    }
    .vsl8-category-title{
        position:absolute;
        z-index:2;
        left:14px;
        right:34px;
        bottom:15px;
        color:#fff;
        font-size:clamp(16px,4.5vw,22px);
        line-height:1.12;
        font-weight:850;
        text-shadow:0 2px 7px rgba(0,0,0,.65);
    }
    .vsl8-category-arrow{
        position:absolute;
        z-index:2;
        right:13px;
        bottom:12px;
        color:var(--vsl8-yellow);
        font-size:30px;
        line-height:1;
        font-weight:400;
    }
    .vsl8-empty-state,
    .vsl8-system-message{
        width:calc(100% - 30px);
        max-width:430px;
        margin:30px auto;
        padding:24px;
        border:1px solid var(--vsl8-line);
        border-radius:14px;
        background:rgba(8,8,8,.82);
        color:#b9b9b9;
        text-align:center;
        font-size:13px;
        line-height:1.5;
    }

    /* Entry splash */
    .vsl8-intro{
        position:fixed;
        z-index:2147483000;
        inset:0;
        display:grid;
        place-items:center;
        background:
            linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px),
            #0b0b0b;
        background-size:54px 54px;
        opacity:1;
        visibility:visible;
        transition:opacity .28s ease,visibility .28s ease;
    }
    .vsl8-intro[hidden]{display:none!important;}
    .vsl8-intro.is-leaving{opacity:0;visibility:hidden;}
    .vsl8-intro-inner{position:relative;text-align:center;padding:30px;}
    .vsl8-intro .vsl8-brand-logo{max-width:170px;max-height:62px;}
    .vsl8-intro .vsl8-wordmark{font-size:56px;}
    .vsl8-intro p{margin:34px 0 0;color:#ded7b4;font-size:27px;line-height:1.35;font-weight:400;}
    .vsl8-intro .vsl8-spark-a{left:4%;top:1%;}
    .vsl8-intro .vsl8-spark-b{right:1%;top:39%;}

    /* Category loading state */
    .vsl8-loader{
        position:fixed;
        z-index:2147483200;
        inset:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        overflow:hidden;
        background:#121212;
        color:#fff;
        text-align:center;
        padding:28px;
    }
    .vsl8-loader[hidden]{display:none!important;}
    .vsl8-loader-rings{position:relative;width:320px;height:320px;display:grid;place-items:center;margin-bottom:26px;}
    .vsl8-loader-rings>span{
        position:absolute;
        width:100%;height:100%;border:1px solid rgba(255,209,50,.18);border-radius:50%;
        animation:vsl8Pulse 2.3s ease-in-out infinite;
    }
    .vsl8-loader-rings>span:nth-child(2){width:78%;height:78%;animation-delay:.12s;}
    .vsl8-loader-rings>span:nth-child(3){width:56%;height:56%;animation-delay:.24s;}
    .vsl8-loader-rings>span:nth-child(4){width:34%;height:34%;animation-delay:.36s;}
    .vsl8-loader-diamonds{position:relative;width:105px;height:86px;transform:rotate(45deg);}
    .vsl8-loader-diamonds i{position:absolute;width:30px;height:30px;border:1px solid rgba(255,209,50,.65);border-radius:6px;background:linear-gradient(135deg,rgba(255,209,50,.18),rgba(255,209,50,.015));}
    .vsl8-loader-diamonds i:nth-child(1){left:37px;top:0}.vsl8-loader-diamonds i:nth-child(2){left:12px;top:25px}.vsl8-loader-diamonds i:nth-child(3){left:62px;top:25px}.vsl8-loader-diamonds i:nth-child(4){left:37px;top:50px}.vsl8-loader-diamonds i:nth-child(5){left:87px;top:50px}.vsl8-loader-diamonds i:nth-child(6){left:-13px;top:50px}.vsl8-loader-diamonds i:nth-child(7){left:62px;top:75px}
    .vsl8-loader>strong{color:var(--vsl8-yellow);font-size:35px;line-height:1;font-weight:500;}
    .vsl8-loader>p{margin:34px 0 0;color:#ddd9c7;font-size:15px;line-height:1.5;font-weight:400;}
    .vsl8-loader>p b{font-weight:500;color:#fff;}

    /* Full-screen vertical product reel */
    .vsl8-reels{
        position:fixed;
        z-index:2147483100;
        inset:0;
        background:#000;
        color:#fff;
        overflow:hidden;
    }
    .vsl8-reels[hidden]{display:none!important;}
    .vsl8-reels-back,
    .vsl8-reels-filter{
        position:fixed;
        z-index:2147483150;
        top:18px;
        width:46px;
        height:46px;
        border:1px solid rgba(255,255,255,.14);
        border-radius:2px;
        background:rgba(0,0,0,.28);
        color:#fff;
        -webkit-backdrop-filter:blur(10px);
        backdrop-filter:blur(10px);
        cursor:pointer;
    }
    .vsl8-reels-back{left:16px;font-size:27px;line-height:1;}
    .vsl8-reels-filter{right:16px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 11px;}
    .vsl8-reels-filter span{position:relative;display:block;width:100%;height:1.5px;background:#fff;}
    .vsl8-reels-filter span:nth-child(1)::after{content:"";position:absolute;left:7px;top:-3px;width:7px;height:7px;border:1.5px solid #fff;border-radius:50%;background:#111;}
    .vsl8-reels-filter span:nth-child(2)::after{content:"";position:absolute;right:5px;top:-3px;width:7px;height:7px;border:1.5px solid #fff;border-radius:50%;background:#111;}
    .vsl8-reels-filter span:nth-child(3)::after{content:"";position:absolute;left:13px;top:-3px;width:7px;height:7px;border:1.5px solid #fff;border-radius:50%;background:#111;}

    .vsl8-reels-feed{
        width:100%;
        height:100dvh;
        overflow-y:auto;
        overscroll-behavior:contain;
        scroll-snap-type:y mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .vsl8-reels-feed::-webkit-scrollbar{display:none;}
    .vsl8-product-slide{
        position:relative;
        width:100%;
        height:100dvh;
        min-height:100dvh;
        overflow:hidden;
        scroll-snap-align:start;
        scroll-snap-stop:always;
        background:#0a0a0a;
        isolation:isolate;
    }
    .vsl8-product-media{position:absolute;inset:0;overflow:hidden;background:#0a0a0a;touch-action:pan-y;}
    .vsl8-product-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;user-select:none;-webkit-user-drag:none;transition:opacity .14s ease;}
    .vsl8-product-image.is-changing{opacity:.42;}
    .vsl8-product-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04) 0%,rgba(0,0,0,0) 43%,rgba(0,0,0,.20) 60%,rgba(0,0,0,.94) 90%,#050505 100%);pointer-events:none;}

    .vsl8-product-dots{position:absolute;z-index:5;left:50%;bottom:195px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;}
    .vsl8-product-dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.33);}
    .vsl8-product-dot.is-active{width:8px;height:8px;background:#fff;}

    .vsl8-product-actions{position:absolute;z-index:6;right:15px;bottom:235px;display:flex;flex-direction:column;align-items:center;gap:24px;}
    .vsl8-side-action{position:relative;width:43px;height:43px;display:grid;place-items:center;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.6);}
    .vsl8-side-action.is-active{color:var(--vsl8-yellow);}
    .vsl8-gift{font-size:27px;}
    .vsl8-mini-bag{font-size:25px;}
    .vsl8-mini-count{position:absolute;right:-1px;top:-4px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:7px;background:var(--vsl8-yellow);color:#181818;font-size:10px;font-weight:900;text-shadow:none;}

    .vsl8-product-info{
        position:absolute;
        z-index:6;
        left:16px;
        right:72px;
        bottom:90px;
    }
    .vsl8-product-brand{margin-bottom:5px;color:#c8c8c8;font-size:12px;font-weight:500;}
    .vsl8-product-title{margin:0 0 9px;color:#fff;font-size:14px;line-height:1.23;font-weight:650;max-width:92%;}
    .vsl8-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
    .vsl8-price-html{color:#fff;font-size:24px;font-weight:900;line-height:1;}
    .vsl8-price-html del{color:#aaa;font-size:13px;font-weight:500;margin-left:5px;opacity:.8;}
    .vsl8-price-html ins{text-decoration:none;}
    .vsl8-discount{color:#d7ef32;font-size:16px;font-weight:700;}
    .vsl8-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
    .vsl8-badge{padding:6px 11px;border-radius:999px;background:rgba(50,50,50,.78);border:1px solid rgba(255,255,255,.09);color:#e5e5e5;font-size:10px;line-height:1;text-transform:uppercase;white-space:nowrap;}

    .vsl8-buybar{
        position:absolute;
        z-index:7;
        left:14px;
        right:14px;
        bottom:14px;
        height:58px;
    }
    .vsl8-buy-button{
        width:100%;
        height:100%;
        border:0;
        border-radius:9px;
        background:var(--vsl8-yellow);
        color:#181818;
        text-transform:uppercase;
        font-size:13px;
        font-weight:900;
        letter-spacing:.3px;
        box-shadow:0 8px 30px rgba(0,0,0,.26);
        cursor:pointer;
    }
    .vsl8-buy-button:disabled{opacity:.58;cursor:wait;}

    /* Category chooser inside reel */
    .vsl8-sheet{position:fixed;z-index:2147483400;inset:0;display:flex;align-items:flex-end;}
    .vsl8-sheet[hidden]{display:none!important;}
    .vsl8-sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.58);}
    .vsl8-sheet-panel{position:relative;z-index:2;width:100%;max-height:70dvh;overflow:auto;padding:10px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#111;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -20px 70px rgba(0,0,0,.45);}
    .vsl8-sheet-handle{width:44px;height:4px;margin:0 auto 12px;border-radius:99px;background:#4b4b4b;}
    .vsl8-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
    .vsl8-sheet-head strong{font-size:16px;}
    .vsl8-sheet-head button{width:38px;height:38px;border:0;border-radius:50%;background:#222;color:#fff;font-size:25px;}
    .vsl8-sheet-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
    .vsl8-sheet-category{min-height:48px;padding:10px 12px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:#181818;color:#fff;text-align:left;font-size:12px;font-weight:700;}
    .vsl8-sheet-category.is-active{border-color:var(--vsl8-yellow);color:var(--vsl8-yellow);}

    .vsl8-toast{position:fixed;z-index:2147483500;left:50%;bottom:92px;transform:translateX(-50%);max-width:calc(100% - 36px);padding:10px 15px;border-radius:999px;background:rgba(20,20,20,.94);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 12px 36px rgba(0,0,0,.32);}
    .vsl8-toast[hidden]{display:none!important;}

    @keyframes vsl8Pulse{0%,100%{opacity:.28;transform:scale(.96)}50%{opacity:.78;transform:scale(1.025)}}
}

@media (max-width:390px){
    .vsl8-browser{padding-left:11px;padding-right:11px;}
    .vsl8-category-grid{gap:10px 9px;}
    .vsl8-category-title{left:11px;bottom:12px;font-size:15px;}
    .vsl8-category-arrow{right:10px;bottom:10px;font-size:26px;}
    .vsl8-tabs{height:64px;border-radius:16px;}
    .vsl8-tab{font-size:15px;}
    .vsl8-product-info{left:13px;right:64px;}
    .vsl8-product-actions{right:10px;}
    .vsl8-buybar{left:10px;right:10px;}
}

@media (prefers-reduced-motion:reduce){
    .vsl8-app *, .vsl8-app *::before, .vsl8-app *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

/* V9 wishlist heart: fixed reel-social aspect ratio. */
@media(max-width:768px){
  .vsl8-product-actions .vsl8-side-action[data-vsl8-heart]{
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    max-width:44px!important;max-height:44px!important;aspect-ratio:1/1!important;flex:0 0 44px!important;
    padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
    font-size:30px!important;line-height:1!important;transform:none!important;overflow:visible!important;
  }
}
