﻿/* ===== Global ===== */
html,
body{
    width:100%;
    overflow-x:hidden;
    touch-action:pan-x pan-y;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
}
body{
    font-family: Arial, sans-serif;
    background:#ffffff;
    margin:0;
    padding:0 0 56px;
}
.hidden{
    display:none;
}

.home-wide-box{
    width:100%;
    height:auto;
    margin:0 0 12px;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border:none;
    overflow:visible;
    position:relative;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.home-wide-box.hidden{
    display:none !important;
}

.home-promo-card{
    width:100%;
    position:relative;
    border-radius:16px;
    overflow:hidden;
    background:transparent;
}

.home-promo-card img{
    width:100%;
    height:auto;
    display:block;
    border-radius:16px;
}

.home-promo-card.has-light-sweep::after{
    content:"";
    position:absolute;
    inset:-35% auto -35% -45%;
    width:34%;
    background:linear-gradient(
        115deg,
        transparent 0%,
        rgba(255,255,255,.08) 28%,
        rgba(255,255,255,.62) 50%,
        rgba(255,255,255,.08) 72%,
        transparent 100%
    );
    transform:skewX(-18deg);
    animation:homeLightSweep 3.2s ease-in-out infinite;
    pointer-events:none;
}

@keyframes homeLightSweep{
    0%{
        left:-45%;
        opacity:0;
    }
    16%{
        opacity:1;
    }
    52%{
        opacity:1;
    }
    70%, 100%{
        left:120%;
        opacity:0;
    }
}

/* ===== Banner ===== */
.banner{
    height:110px;
    width:100%;
    background:#000000;
    position:relative;
    overflow:hidden;
    transition:opacity .18s ease, transform .18s ease;
}

body.page-scrolled .banner{
    opacity:0;
    transform:translateY(-12px);
    pointer-events:none;
}

.banner-track{
    height:110px;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -ms-overflow-style:none;
    touch-action:pan-x;
}

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

.banner-slide{
    flex:0 0 100%;
    width:100%;
    height:110px;
    scroll-snap-align:start;
    background:#000000;
}

.banner-slide img{
    width:100%;
    height:110px;
    object-fit:contain;
    object-position:center;
    background:#000000;
    display:block;
}

.banner-arrow{
    display:none !important;
    position:absolute;
    top:50%;
    z-index:2;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:rgba(0,0,0,.45);
    color:#fff;
    font-size:32px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}

.banner-arrow-left{
    left:14px;
    transform:translateY(-50%);
}

.banner-arrow-right{
    right:14px;
    transform:translateY(-50%);
}

.banner-arrow:hover{
    background:rgba(0,0,0,.7);
}
/* ===== Logo ===== */
.logo{
    font-size:28px;
    font-weight:bold;
    color:#22c55e;
}

.logo-eye{
    display:inline-flex;
    width:.9em;
    height:.9em;
    margin:0 .02em;
    border:2px solid currentColor;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    color:transparent;
    position:relative;
    vertical-align:.24em;
    box-sizing:border-box;
}

.logo-eye::before{
    content:"";
    width:.28em;
    height:.28em;
    border-radius:50%;
    background:#22c55e;
    transform-origin:center;
    animation:logoBlink 3.2s infinite;
}

.logo-eye:nth-of-type(1)::after{
    content:"";
    position:absolute;
    left:100%;
    top:50%;
    width:.24em;
    height:2px;
    background:#22c55e;
    transform:translateY(-50%);
}

@keyframes logoBlink{
    0%, 88%, 100%{
        transform:scaleY(1);
    }
    92%, 95%{
        transform:scaleY(.08);
    }
}
/* ===== Search ===== */
.search-wrapper{
    background:#000000;
    padding:10px 12px 12px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.search-wrapper .relative{
    overflow:hidden;
    border-radius:999px;
}
.search-box{
    width:100%;
    padding:12px 12px 12px 40px;
    border:2px solid #22c55e;
    border-radius:999px;
    outline:none;
    background:#374151;
    color:#ffffff;
}
.search-box:focus{
    border-color:#16a34a;
    background:#374151;
    box-shadow:0 0 0 3px rgba(34,197,94,.18);
}
.search-box::placeholder{
    color:transparent;
}
.search-icon{
    position:absolute;
    left:14px;
    top:13px;
    color:#9ca3af;
}
.virtual-search-text{
    position:absolute;
    left:40px;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    color:#d1d5db;
    pointer-events:none;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:16px;
}

.virtual-search-text.scroll-up{
    animation:virtualSearchUp .38s ease;
}

.virtual-search-text.hidden-text{
    display:none;
}

@keyframes virtualSearchUp{
    0%{
        opacity:0;
        transform:translateY(70%);
    }
    100%{
        opacity:1;
        transform:translateY(-50%);
    }
}
/* ===== Cart ===== */
.cart-btn{
    position:relative;
    border:none;
    background:white;
    padding:10px;
    border-radius:12px;
}
.cart-btn i{
    font-size:22px;
}
#cart-count{
    position:absolute;
    top:-4px;
    right:-4px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:red;
    color:white;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:center;
}
/* ===== Category ===== */
.category-btn{
    flex-shrink:0;
}
.category-btn{
    border:none;
    background:#e5e7eb;
    padding:8px 18px;
    border-radius:999px;
    cursor:pointer;
}
.category-btn.active{
    background:#22c55e;
    color:#000000;
}
/* ===== View Buttons ===== */
.view-btn{
    width:40px;
    height:40px;
    border:none;
    background:#e5e7eb;
    border-radius:10px;
}
/* ===== Product Card ===== */
#products-container{
    --product-card-size:min(170px, calc((100vw - 20px) / 2));
    --product-image-size:calc(var(--product-card-size) - 10px);
    display:grid !important;
    grid-template-columns:repeat(auto-fill, var(--product-card-size)) !important;
    justify-content:center;
    gap:8px;
}

.product-card{
    width:var(--product-card-size);
    min-height:292px;
    background:white;
    border-radius:20px;
    overflow:hidden;
    border:2px solid #4f46e5;
    transition:.3s;
}
.product-card:hover{
    transform:translateY(-5px);
    border-color:#4f46e5;
}
.product-image-container{
    width:var(--product-image-size);
    height:var(--product-image-size);
    margin:5px auto 0;
    background:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:4px;
    overflow:hidden;
    border-radius:20px;
}
.product-image-container img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:16px;
}
.product-info{
    padding:10px 12px 14px;
}
.product-info h3{
    min-height:42px;
    margin:0 0 8px;
    font-size:18px;
    line-height:1.15;
    font-weight:700;
}
.product-info p{
    min-height:20px;
    margin:0 0 6px;
    font-size:15px;
    line-height:1.3;
}
.product-price{
    color:#4f46e5;
    font-size:22px;
    font-weight:bold;
}
.add-btn{
    width:100%;
    margin-top:10px;
    padding:10px;
    border:none;
    border-radius:12px;
    background:#4f46e5;
    color:white;
}
/* ===== Modal ===== */
.modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:20000;
    padding:18px;
}
.cart-modal,
.detail-modal{
    width:90%;
    max-width:650px;
    background:white;
    border-radius:20px;
    overflow:hidden;
}
.modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px;
    border-bottom:1px solid #e5e7eb;
}
.modal-header button{
    border:none;
    background:none;
    font-size:28px;
}
/* ===== Cart Body ===== */
.cart-body{
    max-height:400px;
    overflow:auto;
    padding:20px;
}
.cart-footer{
    padding:20px;
    border-top:1px solid #e5e7eb;
}
.total-row{
    display:flex;
    justify-content:space-between;
    font-size:20px;
    font-weight:bold;
}
/* ===== Detail Modal ===== */
#detail-image{
    height:300px;
    background:#000000;
    display:flex;
    justify-content:center;
    align-items:center;
}
#detail-image img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    background:#000000;
}
.add-cart-btn{
    width:100%;
    padding:14px;
    border:none;
    border-radius:14px;
    background:#4f46e5;
    color:white;
    font-size:16px;
    font-weight:bold;
}
/* ===== Mobile ===== */
@media(max-width:768px){
    .logo{
        font-size:22px;
    }
    #products-container{
        grid-template-columns:repeat(auto-fill, var(--product-card-size)) !important;
    }
    main{
        padding-left:5px !important;
        padding-right:5px !important;
    }
}

@media(max-width:340px){
    #products-container{
        grid-template-columns:repeat(2, var(--product-card-size)) !important;
    }
}
/* ===== Hide Horizontal Scrollbar ===== */


.overflow-x-auto{
    scrollbar-width:none;
    -ms-overflow-style:none;
}


.overflow-x-auto::-webkit-scrollbar{
    display:none;
}
header{
    position:static;
    background:#000000;
    margin-bottom:0;
}
.category-wrapper{
    position:static;
    background:#000000;
    padding-top:12px;
    padding-bottom:12px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

body.page-scrolled header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:9999;
    background:#000000;
    box-shadow:none;
}

body.page-scrolled .category-wrapper{
    position:fixed;
    top:calc(var(--header-height, 80px) - 1px);
    left:0;
    right:0;
    width:100%;
    max-width:none;
    z-index:9998;
    background:#000000;
    box-shadow:0 3px 8px rgba(0,0,0,.08);
}

body.page-scrolled .search-wrapper{
    position:fixed;
    top:calc(var(--header-height, 80px) + var(--category-height, 58px) - 1px);
    left:0;
    right:0;
    width:100%;
    z-index:9997;
    background:#000000;
}

body.page-scrolled main{
    padding-top:calc(var(--fixed-top-height, 150px) + 24px) !important;
}


.category-btn{
    flex-shrink:0;
}
.modal-overlay{
    position: fixed;
    inset: 0;
    overflow: hidden;
    touch-action: none;
    z-index:20000;
}

#product-detail-modal{
    padding:24px 14px !important;
    align-items:center !important;
}

#product-detail-modal .detail-modal{
    width:min(92vw, 420px) !important;
    max-height:92vh !important;
    border-radius:14px !important;
    overflow:hidden !important;
}

#product-detail-modal .detail-body{
    max-height:calc(92vh - 52px) !important;
    overflow-y:auto !important;
}

#product-detail-modal .modal-header{
    padding:10px 14px !important;
}

#detail-name{
    font-weight:800 !important;
    font-size:18px !important;
    line-height:1.15 !important;
}

#detail-image{
    height:280px !important;
}

#product-detail-modal .detail-body > .p-5{
    padding:10px 12px 12px !important;
}

#detail-desc{
    font-size:14px !important;
    line-height:1.25 !important;
    margin:0 !important;
}

#detail-price{
    margin-top:6px !important;
    font-size:20px !important;
    line-height:1.15 !important;
}

#product-detail-modal h4{
    font-size:14px !important;
    line-height:1.1 !important;
    margin:0 !important;
}

#product-detail-modal #detail-price + div,
#product-detail-modal #detail-price + div + div{
    margin-top:10px !important;
}

#color-options{
    gap:6px !important;
    margin-top:5px !important;
}

#color-options button{
    padding:5px 10px !important;
    font-size:13px !important;
}

#product-detail-modal .flex.items-center.gap-3{
    gap:8px !important;
    margin-top:5px !important;
}

#product-detail-modal .flex.items-center.gap-3 button{
    min-width:34px !important;
    height:34px !important;
    padding:0 !important;
    line-height:1.1 !important;
    font-size:18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.detail-action-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin-top:10px !important;
}

.detail-qty-box{
    flex:0 0 auto !important;
}

.detail-quantity-label{
    font-weight:400 !important;
    font-size:13px !important;
    line-height:1.1 !important;
}

.detail-qty-box .flex{
    margin-top:0 !important;
}

#detail-qty{
    font-size:18px !important;
    min-width:22px !important;
    text-align:center !important;
}

#product-detail-modal .add-cart-btn{
    width:auto !important;
    flex:1 !important;
    margin-top:0 !important;
    padding:10px !important;
    border-radius:10px !important;
    font-size:20px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

@media(max-width:768px){
    #product-detail-modal .detail-modal{
        width:90vw !important;
        max-height:90vh !important;
    }

    #product-detail-modal .detail-body{
        max-height:calc(90vh - 48px) !important;
    }

    #detail-image{
        height:245px !important;
    }

    #product-detail-modal .detail-body > .p-5{
        padding:8px 10px 10px !important;
    }

    #detail-price{
        font-size:19px !important;
    }

    #product-detail-modal #detail-price + div,
    #product-detail-modal #detail-price + div + div{
        margin-top:8px !important;
    }

    #product-detail-modal .add-cart-btn{
        margin-top:0 !important;
        padding:9px !important;
    }

    .detail-action-row{
        gap:6px !important;
        margin-top:8px !important;
    }
}

/* FINAL OVERRIDE - responsive product size */
main{
    width:100% !important;
    max-width:none !important;
    padding-left:8px !important;
    padding-right:8px !important;
    padding-top:16px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

#products-container{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:2px !important;
    align-items:stretch !important;
    grid-auto-rows:1fr !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    justify-content:stretch !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

.product-card{
    width:100% !important;
    min-height:unset !important;
    height:100% !important;
    aspect-ratio:auto !important;
    border:none !important;
    padding:0 !important;
    border-radius:8px !important;
    display:flex !important;
    flex-direction:column !important;
}

.product-image-container{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    border-radius:8px !important;
    background:transparent !important;
    overflow:hidden !important;
    line-height:0 !important;
}

.product-image-container img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:8px !important;
    display:block !important;
}

@media(min-width:769px){
    main{
        max-width:1280px !important;
        width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    #products-container{
        grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
        gap:2px !important;
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        overflow:visible !important;
    }
}

/* FINAL OVERRIDE - tighter top area */
header .max-w-7xl{
    padding-top:8px !important;
    padding-bottom:3px !important;
}

.logo{
    font-size:24px !important;
    line-height:1.15 !important;
}

.cart-btn{
    width:42px !important;
    height:42px !important;
}

.category-wrapper{
    padding-top:3px !important;
    padding-bottom:6px !important;
}

.category-wrapper .flex{
    gap:6px !important;
}

.category-btn{
    padding:6px 14px !important;
    line-height:1.15 !important;
}

.search-wrapper{
    padding-top:5px !important;
    padding-bottom:10px !important;
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
}

.search-box{
    padding-top:8px !important;
    padding-bottom:8px !important;
    line-height:1.15 !important;
}

.search-icon{
    top:50% !important;
    transform:translateY(-50%) !important;
}

@media(max-width:768px){
    .logo{
        font-size:21px !important;
    }

    header .max-w-7xl{
        padding-top:7px !important;
        padding-bottom:2px !important;
    }

    .category-btn{
        padding:6px 13px !important;
    }

    .search-wrapper{
        padding-top:4px !important;
        padding-bottom:10px !important;
    }

    .search-box{
        padding-top:7px !important;
        padding-bottom:7px !important;
    }

    main{
        padding-top:14px !important;
    }
}

/* FINAL OVERRIDE - glass product cards */
.product-card{
    background:rgba(0,0,0,.05) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 2px 8px rgba(15,23,42,.08) !important;
}

.product-info{
    background:rgba(0,0,0,.05) !important;
    color:#000000 !important;
    flex:1 !important;
    display:flex !important;
    flex-direction:column !important;
}

.product-info h3{
    font-size:16px !important;
    line-height:1.15 !important;
    min-height:38px !important;
    max-height:38px !important;
    margin-bottom:2px !important;
    color:#ffffff !important;
    overflow:hidden !important;
}

.product-info p{
    font-size:14px !important;
    line-height:1.2 !important;
    min-height:34px !important;
    max-height:34px !important;
    margin-bottom:3px !important;
    color:#000000 !important;
    overflow:hidden !important;
}

.product-price{
    color:#000000 !important;
    font-size:18px !important;
    line-height:1.15 !important;
    margin-top:auto !important;
}

@media(max-width:768px){
    .product-info{
        padding:7px 8px 4px !important;
    }

    .product-info h3{
        font-size:15px !important;
        min-height:35px !important;
        max-height:35px !important;
        margin-bottom:2px !important;
    }

    .product-info p{
        font-size:13px !important;
        min-height:32px !important;
        max-height:32px !important;
        margin-bottom:2px !important;
    }

    .product-price{
        font-size:17px !important;
        margin-bottom:0 !important;
    }
}

/* FINAL OVERRIDE - bottom app navigation */
.bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    height:52px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(14px) saturate(150%);
    -webkit-backdrop-filter:blur(14px) saturate(150%);
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    align-items:center;
    z-index:10000;
    box-shadow:0 -3px 14px rgba(15,23,42,.12);
    border-top:1px solid rgba(255,255,255,.45);
}

.bottom-nav-item{
    height:100%;
    border:none;
    background:transparent;
    color:#6b7280;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    font-size:11px;
    font-weight:600;
}

.bottom-nav-item span{
    font-size:0;
}

.bottom-nav-item span::after{
    content:none !important;
    font-size:0 !important;
}

.bottom-nav-item:nth-child(1) span::after{
    content:none !important;
}

.bottom-nav-item:nth-child(2) span::after{
    content:none !important;
}

.bottom-nav-item:nth-child(3) span::after{
    content:none !important;
}

.bottom-nav-item:nth-child(3) span:not(#cart-count)::after{
    content:none !important;
}

.bottom-nav-item i{
    font-size:19px;
    line-height:1;
}

.bottom-nav-item.active{
    color:#000000;
}

.bottom-nav-item:nth-child(2){
    color:#000000;
}

.bottom-nav-item:nth-child(3){
    color:#000000;
}

.bottom-nav-item:nth-child(3){
    color:#000000;
    position:relative;
}

.bottom-nav-item i{
    color:#000000 !important;
    font-weight:400 !important;
}

.bottom-cart-btn i{
    -webkit-text-stroke:0;
    color:#000000 !important;
}

.bottom-cart-icon{
    width:22px !important;
    height:22px !important;
    object-fit:contain !important;
    display:block !important;
}

.bottom-main-icon{
    width:22px !important;
    height:22px !important;
    object-fit:contain !important;
    display:block !important;
}

.bottom-fb-icon{
    width:22px !important;
    height:22px !important;
    object-fit:contain !important;
    display:block !important;
}

.coconut-drink-icon{
    width:22px;
    height:22px;
    display:block;
    position:relative;
}

.coconut-drink-icon::before{
    content:"";
    position:absolute;
    left:4px;
    right:4px;
    bottom:1px;
    height:15px;
    border:2px solid #000000;
    border-top-width:1px;
    border-radius:4px 4px 8px 8px;
    transform:skewX(-6deg);
}

.coconut-drink-icon::after{
    content:"";
    position:absolute;
    left:12px;
    top:0;
    width:8px;
    height:14px;
    border-left:2px solid #000000;
    border-top:2px solid #000000;
    transform:rotate(18deg);
    transform-origin:left top;
}

.bottom-nav-item.active .coconut-drink-icon::before,
.bottom-nav-item.active .coconut-drink-icon::after{
    border-color:#000000;
}

.bottom-nav-item #cart-count{
    position:absolute;
    top:4px;
    right:28%;
    width:18px;
    height:18px;
    border-radius:50%;
    background:red;
    color:white;
    font-size:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.bottom-nav-item #cart-count::after{
    content:none !important;
}

/* FINAL OVERRIDE - compact cart action buttons */
.cart-footer > div:last-child{
    gap:8px !important;
    margin-top:10px !important;
}

.cart-footer .add-cart-btn{
    padding:8px 10px !important;
    min-height:34px !important;
    border-radius:10px !important;
    font-size:13px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#22c55e !important;
    color:#ffffff !important;
}

/* FINAL OVERRIDE - cart as page */
.cart-page{
    width:100% !important;
    padding:12px 8px 150px !important;
    box-sizing:border-box !important;
}

.cart-page .cart-modal{
    width:100% !important;
    max-width:720px !important;
    margin:0 auto !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.9) !important;
    box-shadow:none !important;
}

.cart-page .modal-header{
    padding:10px 12px !important;
}

.cart-page .cart-body{
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
}

.cart-page .cart-footer{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:52px !important;
    padding:10px 8px !important;
    background:rgba(255,255,255,.92) !important;
    backdrop-filter:blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
    z-index:9999 !important;
    box-sizing:border-box !important;
    border-top:1px solid rgba(0,0,0,.08) !important;
}

.cart-page .cart-body{
    font-size:13px !important;
}

.cart-page .cart-body div{
    font-size:13px !important;
}

.cart-page .cart-body button,
.cart-page .cart-body span{
    font-size:12px !important;
}

.cart-page .cart-body img{
    width:52px !important;
    height:52px !important;
}

.cart-page .total-row{
    font-size:17px !important;
}

.select-all-total{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}

.select-all-btn{
    width:22px !important;
    height:22px !important;
    border-radius:50% !important;
    border:2px solid #9ca3af !important;
    background:transparent !important;
    color:#000000 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.select-all-btn i{
    font-size:12px !important;
    opacity:0 !important;
}

.select-all-btn.selected{
    border-color:#22c55e !important;
    background:#22c55e !important;
}

.select-all-btn.selected i{
    opacity:1 !important;
}

.mini-qty-control{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    margin-top:3px !important;
    color:#666 !important;
    font-size:11px !important;
}

.mini-qty-control button{
    width:20px !important;
    height:20px !important;
    border:1px solid #d1d5db !important;
    border-radius:6px !important;
    background:#ffffff !important;
    color:#111827 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1 !important;
}

.mini-qty-control strong{
    min-width:14px !important;
    text-align:center !important;
    color:#111827 !important;
    font-size:12px !important;
}

/* FINAL OVERRIDE - cart page hides storefront top */
body.cart-page-open .banner,
body.cart-page-open header,
body.cart-page-open .category-wrapper,
body.cart-page-open .search-wrapper,
body.cart-page-open main{
    display:none !important;
}

body.cart-page-open .cart-page{
    display:block !important;
    padding-top:0 !important;
}

body.cart-page-open .cart-page .cart-modal{
    border-radius:0 0 12px 12px !important;
}

body.cart-page-open .cart-page .modal-header button{
    display:none !important;
}

/* FINAL OVERRIDE - hide homepage banner */
.banner{
    display:none !important;
}

@media(max-width:768px){
    body{
        padding-bottom:56px !important;
    }

    .bottom-nav{
        height:52px;
    }
}

/* FINAL OVERRIDE - visible COCO eye blink */
.logo-eye{
    animation:logoEyeClose 3s infinite !important;
    transform-origin:center !important;
}

.logo-eye::before{
    animation:logoPupilBlink 3s infinite !important;
}

.logo-eye::after{
    content:"" !important;
    position:absolute !important;
    left:18% !important;
    right:18% !important;
    top:50% !important;
    width:auto !important;
    height:2px !important;
    background:#4f46e5 !important;
    opacity:0 !important;
    transform:translateY(-50%) !important;
    animation:logoLidBlink 3s infinite !important;
}

@keyframes logoEyeClose{
    0%, 86%, 100%{
        transform:scaleY(1);
    }
    90%, 94%{
        transform:scaleY(.32);
    }
}

@keyframes logoPupilBlink{
    0%, 86%, 100%{
        opacity:1;
        transform:scaleY(1);
    }
    90%, 94%{
        opacity:0;
        transform:scaleY(.05);
    }
}

@keyframes logoLidBlink{
    0%, 86%, 100%{
        opacity:0;
    }
    90%, 94%{
        opacity:1;
    }
}

/* FINAL OVERRIDE - JS controlled COCO blink */
.logo-eye{
    color:inherit !important;
    overflow:hidden !important;
    animation:none !important;
    transition:transform .12s ease !important;
}

.logo-eye::before,
.logo-eye::after{
    display:none !important;
    content:none !important;
}

.logo-pupil{
    width:.22em;
    height:.22em;
    border-radius:50%;
    background:#4f46e5;
    display:block;
    transition:opacity .08s ease, transform .08s ease;
}

.logo-lid{
    position:absolute;
    left:18%;
    right:18%;
    top:50%;
    height:2px;
    background:#4f46e5;
    opacity:0;
    transform:translateY(-50%);
    transition:opacity .08s ease;
}

.logo.logo-blink .logo-eye{
    transform:scaleY(.28) !important;
}

.logo.logo-blink .logo-pupil{
    opacity:0;
    transform:scaleY(.05);
}

.logo.logo-blink .logo-lid{
    opacity:1;
}

/* FINAL OVERRIDE - poster preview modal */
#poster-preview-modal{
    padding:16px !important;
    background:rgba(0,0,0,.82) !important;
    z-index:30000 !important;
}

.poster-preview-box{
    position:relative;
    width:min(94vw, 520px);
    max-height:92vh;
    display:flex;
    justify-content:center;
    align-items:center;
}

.poster-preview-box img{
    max-width:100%;
    max-height:92vh;
    object-fit:contain;
    border-radius:12px;
    box-shadow:0 18px 50px rgba(0,0,0,.65);
}

.poster-preview-close{
    position:absolute;
    top:-10px;
    right:-10px;
    width:34px;
    height:34px;
    border:none;
    border-radius:50%;
    background:#22c55e;
    color:#000000;
    font-size:24px;
    line-height:1;
    z-index:1;
}

/* FINAL OVERRIDE - printing 3D carousel */
.printing-carousel{
    grid-column:1 / -1;
    width:100%;
    min-height:420px;
    padding:18px 8px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    perspective:900px;
    overflow:hidden;
    border-radius:0;
    background:transparent;
}

.printing-carousel-ring{
    width:min(64vw, 260px);
    height:min(128vw, 520px);
    position:relative;
    transform-style:preserve-3d;
    animation:printingSpin 10s linear infinite;
}

.printing-carousel-card{
    position:absolute;
    inset:0;
    border:none;
    border-radius:16px;
    overflow:hidden;
    background:#000000;
    border:1px solid rgba(34,197,94,.35);
    box-shadow:none !important;
    aspect-ratio:1 / 2;
    transform:
        rotateY(calc(360deg / var(--total) * var(--i)))
        translateZ(min(38vw, 210px));
}

.printing-carousel-card img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#000000;
    display:block;
}

.printing-carousel-info{
    display:none !important;
}

.printing-carousel-info h3{
    margin:0 0 4px;
    font-size:18px;
    font-weight:800;
    line-height:1.2;
}

.printing-carousel-info p{
    margin:0 0 6px;
    color:#e5e7eb;
    font-size:14px;
}

.printing-carousel-info strong{
    color:#22c55e;
    font-size:18px;
}

@keyframes printingSpin{
    from{
        transform:rotateY(0deg);
    }
    to{
        transform:rotateY(360deg);
    }
}

@media(max-width:768px){
    .printing-carousel{
        min-height:380px;
        padding-top:14px;
    }

    .printing-carousel-ring{
        width:64vw;
        height:128vw;
        max-width:230px;
        max-height:460px;
    }

    .printing-carousel-card{
        transform:
            rotateY(calc(360deg / var(--total) * var(--i)))
            translateZ(min(36vw, 155px));
    }
}

/* FINAL OVERRIDE - poster preview wheel */
.printing-carousel{
    min-height:380px !important;
    padding:18px 0 16px !important;
    perspective:1100px !important;
}

.printing-carousel-ring{
    width:min(72vw, 310px) !important;
    height:min(104vw, 450px) !important;
    max-height:450px !important;
    animation:none !important;
    transform-style:preserve-3d !important;
}

.printing-carousel-card{
    inset:0 !important;
    transform:none !important;
    transition:transform .55s ease, opacity .55s ease, z-index .55s ease !important;
}

.printing-carousel-card[data-position="left"]{
    z-index:2 !important;
    transform:translateX(-44%) translateZ(-90px) rotateY(42deg) scale(.76) !important;
    opacity:.72 !important;
}

.printing-carousel-card[data-position="center"]{
    z-index:4 !important;
    transform:translateX(0) translateZ(70px) rotateY(0deg) scale(1) !important;
    opacity:1 !important;
}

.printing-carousel-card[data-position="right"]{
    z-index:1 !important;
    transform:translateX(44%) translateZ(-90px) rotateY(-42deg) scale(.76) !important;
    opacity:.72 !important;
}

@media(max-width:768px){
    .printing-carousel{
        min-height:350px !important;
    }

    .printing-carousel-ring{
        width:70vw !important;
        height:140vw !important;
        max-width:230px !important;
        max-height:460px !important;
    }

    .printing-carousel-card[data-position="left"]{
        transform:translateX(-39%) translateZ(-70px) rotateY(42deg) scale(.74) !important;
    }

    .printing-carousel-card[data-position="right"]{
        transform:translateX(39%) translateZ(-70px) rotateY(-42deg) scale(.74) !important;
    }
}

/* FINAL OVERRIDE - black and green top bar */
header,
.category-wrapper,
body.page-scrolled header,
body.page-scrolled .category-wrapper,
body.page-scrolled .search-wrapper{
    background:#000000 !important;
}

.logo,
.logo-pupil,
.logo-lid{
    color:#22c55e !important;
}

.logo-eye{
    border-color:#22c55e !important;
}

.logo-pupil,
.logo-lid{
    background:#22c55e !important;
}

.cart-btn{
    background:transparent !important;
    border:none !important;
    border-radius:12px !important;
}

.cart-btn i{
    color:#22c55e !important;
}

.category-btn.active{
    background:#22c55e !important;
    color:#000000 !important;
}

.search-box{
    border-color:#22c55e !important;
    background:#ffffff !important;
    color:#000000 !important;
}

/* FINAL OVERRIDE - product title color */
.product-info h3,
.product-card .product-info h3{
    color:#000000 !important;
}

.product-info p,
.product-card .product-info p{
    color:#000000 !important;
}

.product-price,
.product-card .product-price{
    color:#000000 !important;
}

/* FINAL OVERRIDE - category right safe space */
.category-wrapper{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

.category-wrapper > .flex,
.category-wrapper .overflow-x-auto{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding-left:12px !important;
    padding-right:58px !important;
    scroll-padding-left:12px !important;
    scroll-padding-right:58px !important;
    box-sizing:border-box !important;
    -webkit-overflow-scrolling:touch !important;
}

.category-wrapper > .flex::after,
.category-wrapper .overflow-x-auto::after{
    content:"" !important;
    display:block !important;
    flex:0 0 24px !important;
    width:24px !important;
}

.category-wrapper .category-btn{
    flex:0 0 auto !important;
}

.category-wrapper .category-btn:last-child{
    margin-right:0 !important;
}

/* FINAL OVERRIDE - category underline tabs */
.category-btn{
    background:transparent !important;
    color:#111827 !important;
    border-radius:0 !important;
    padding:8px 10px 10px !important;
    position:relative !important;
}

.category-btn.active{
    background:transparent !important;
    color:#000000 !important;
    font-weight:700 !important;
}

.category-btn.active::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:6px !important;
    width:20px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#22c55e !important;
    transform:translateX(-50%) !important;
}

/* FINAL OVERRIDE - smooth category switching */
#products-container{
    transition:opacity .18s ease, transform .18s ease !important;
}

#products-container.products-changing{
    opacity:.55 !important;
    transform:none !important;
}

#products-container.products-entering{
    animation:productsFadeIn .24s ease both;
}

@keyframes productsFadeIn{
    from{
        opacity:.55;
        transform:translateY(4px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:768px){
    #products-container{
        transition:opacity .16s ease !important;
    }

    #products-container.products-changing{
        opacity:.68 !important;
        transform:none !important;
    }

    #products-container.products-entering{
        animation:productsMobileFadeIn .22s ease both !important;
    }
}

@keyframes productsMobileFadeIn{
    from{
        opacity:.68;
    }
    to{
        opacity:1;
    }
}

/* FINAL OVERRIDE - glass search strip */
.search-wrapper,
body.page-scrolled .search-wrapper{
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
}

.virtual-search-text{
    color:#4b5563 !important;
}

/* FINAL OVERRIDE - glass header and category */
header,
.category-wrapper,
body.page-scrolled header,
body.page-scrolled .category-wrapper{
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
}

/* FINAL OVERRIDE - glass product detail modal */
#product-detail-modal .detail-modal,
#product-detail-modal .modal-header,
#product-detail-modal .detail-body,
#product-detail-modal .detail-body > .p-5{
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
}

#product-detail-modal #detail-image{
    background:#000000 !important;
}

#product-detail-modal .modal-header button{
    display:none !important;
}

#product-detail-modal #detail-name{
    font-weight:400 !important;
}

#product-detail-modal #detail-price{
    color:#000000 !important;
}

#product-detail-modal .add-cart-btn{
    background:#22c55e !important;
    color:#ffffff !important;
}

#product-detail-modal .detail-action-row button,
#product-detail-modal #color-options button{
    border-color:#000000 !important;
    background:#ffffff !important;
    color:#000000 !important;
    pointer-events:auto !important;
    position:relative !important;
}

#product-detail-modal #color-options button.selected{
    border-width:2px !important;
    box-shadow:0 0 0 1px #000000 inset !important;
    font-weight:700 !important;
}

#product-detail-modal .detail-action-row{
    align-items:flex-end !important;
}

#product-detail-modal .detail-qty-box{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
}

#product-detail-modal .detail-qty-box .flex{
    height:40px !important;
    align-items:center !important;
}

#product-detail-modal .add-cart-btn{
    height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

#product-detail-modal .detail-action-row .add-cart-btn{
    background:#22c55e !important;
    border-color:#22c55e !important;
    color:#ffffff !important;
}

/* FINAL OVERRIDE - full-width detail image */
#product-detail-modal #detail-image{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

#product-detail-modal #detail-image img{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
    border-radius:0 !important;
}

/* FINAL OVERRIDE - softer product modal entrance */
#product-detail-modal:not(.hidden){
    animation:detailOverlayFade .22s ease both;
}

#product-detail-modal:not(.hidden) .detail-modal{
    animation:detailModalPop .28s cubic-bezier(.2,.9,.22,1) both;
    transform-origin:center bottom;
}

@keyframes detailOverlayFade{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

@keyframes detailModalPop{
    from{
        opacity:0;
        transform:translateY(18px) scale(.96);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

