.shop-page{
    width:100%;
    padding:26px 0 70px;
    background:#fff;
}

.shop-shell{
    width:100%;
    max-width:1332px;
    margin:0 auto;
    padding:0 16px;
    box-sizing:border-box;
}

.shop-filter-bar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 24px;
}

.shop-filter-chip{
    min-width:0;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border:1px solid rgba(17,24,39,.1);
    background:#fff;
    color:#111827;
    text-decoration:none;
    font:800 11px/1 "Poppins",sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:0 10px 18px rgba(17,24,39,.05);
    transition:transform .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
}

.shop-filter-chip:hover{
    transform:translateY(-1px);
    border-color:#dd111a;
    color:#dd111a;
}

.shop-filter-chip.is-active{
    border-color:#111827;
    background:linear-gradient(135deg, #111827 0%, #29364d 100%);
    color:#fff;
    box-shadow:0 14px 24px rgba(17,24,39,.14);
}

.shop-filter-chip--reset{
    border-color:rgba(221,17,26,.26);
    color:#dd111a;
}

.shop-content{
    min-width:0;
}

.shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 190px));
    gap:14px;
    justify-content:start;
}

.shop-card{
    width:190px;
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:8px;
    border:0;
    border-radius:16px;
    background:#fff;
    box-shadow:
        0 12px 20px rgba(17,24,39,.16),
        0 22px 34px rgba(17,24,39,.1),
        inset 0 1px 0 rgba(255,255,255,.28);
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.shop-card:hover{
    transform:translateY(-2px);
    box-shadow:
        0 14px 24px rgba(17,24,39,.18),
        0 26px 38px rgba(17,24,39,.12),
        inset 0 1px 0 rgba(255,255,255,.36);
}

.shop-gallery{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.shop-gallery-main{
    display:block;
    width:100%;
    height:150px;
    overflow:hidden;
    border-radius:12px;
    box-shadow:
        0 0 0 1px rgba(17,24,39,.08),
        0 8px 14px rgba(17,24,39,.12);
    background:#f1f1f1;
}

.shop-gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.shop-gallery-thumbs{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:4px;
}

.shop-gallery-thumb{
    display:block;
    width:100%;
    height:22px;
    padding:0;
    border:0;
    border-radius:6px;
    background:#fff;
    overflow:hidden;
    cursor:pointer;
}

.shop-gallery-thumb.is-active{
    box-shadow:inset 0 0 0 1px #dd111a;
}

.shop-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.shop-card-no-image{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#a6a6a6;
    font:800 20px "Poppins",sans-serif;
}

.shop-card-body{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding-top:8px;
}

.shop-stock-text{
    color:#dd111a;
    font:800 9px/1 "Poppins",sans-serif;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.shop-stock-text--in_stock{
    color:#0f7a38;
}

.shop-stock-text--low_stock{
    color:#b26a00;
}

.shop-stock-text--out_of_stock{
    color:#8b8b8b;
}

.shop-card-title{
    margin:0;
    font:800 12px/1.2 "Poppins",sans-serif;
    letter-spacing:-.02em;
}

.shop-card-title a{
    color:#111;
    text-decoration:none;
}

.shop-card-title a:hover{
    color:#dd111a;
}

.shop-brand{
    color:rgba(17,24,39,.68);
    font:500 10px/1.2 "Poppins",sans-serif;
}

.shop-price{
    color:#111;
    font:800 12px/1.1 "Poppins",sans-serif;
}

.shop-card-actions,
.shop-single-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    padding-top:2px;
}

.shop-card-actions{
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
}

.shop-link{
    min-width:58px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    text-decoration:none;
    font:800 7px/1 "Poppins",sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
    transition:transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

.shop-link:hover{
    transform:translateY(-1px);
}

.shop-link--buy{
    position:relative;
    background:linear-gradient(180deg, #141414 0%, #050505 100%);
    border:1px solid rgba(17,17,17,.96);
    color:#fff;
    border-radius:999px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        0 8px 16px rgba(0,0,0,.18);
}

.shop-link--buy:hover{
    background:linear-gradient(180deg, #dd111a 0%, #b91d22 100%);
    border-color:#b91d22;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 10px 18px rgba(185,29,34,.24);
}

.shop-link--ghost{
    background:#fff;
    border:1px solid #111;
    color:#111;
}

.shop-link--ghost:hover{
    border-color:#dd111a;
    color:#dd111a;
}

.shop-link.is-disabled{
    opacity:.45;
    pointer-events:none;
}

.shop-card-actions .shop-price{
    font-size:12px;
    white-space:nowrap;
}

.shop-card-actions .shop-link--ghost{
    display:none;
}

.shop-pagination{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:28px;
}

.shop-pagination .page-numbers{
    min-width:40px;
    height:40px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ddd;
    color:#111;
    text-decoration:none;
    font:800 12px "Poppins",sans-serif;
}

.shop-pagination .page-numbers.current,
.shop-pagination .page-numbers:hover{
    border-color:#dd111a;
    background:#dd111a;
    color:#fff;
}

.shop-empty{
    padding:38px 0;
}

.shop-empty h2{
    margin:0 0 8px;
    font:800 28px/1.1 "Poppins",sans-serif;
}

.shop-empty p{
    margin:0;
    color:#666;
    font:400 15px/1.7 "Poppins",sans-serif;
}

.shop-single{
    display:grid;
    grid-template-columns:300px minmax(0, 1fr);
    gap:28px;
    align-items:start;
}

.shop-single-media{
    width:300px;
    min-width:300px;
    background:transparent;
}

.shop-single-media .shop-gallery-main{
    position:relative;
    width:300px;
    height:300px;
    border-radius:0;
    box-shadow:none;
    background:#f3f3f3;
    cursor:zoom-in;
}

.shop-single-media .shop-gallery-main img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:#f3f3f3;
}

.shop-single-media .shop-gallery{
    gap:8px;
}

.shop-single-media .shop-gallery-thumbs{
    grid-template-columns:repeat(4, 1fr);
    gap:6px;
}

.shop-single-media .shop-gallery-thumb{
    height:48px;
    border-radius:0;
}

.shop-single-media .shop-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:#f3f3f3;
}

.shop-single-media .shop-gallery-main::after{
    content:"⌕";
    position:absolute;
    right:10px;
    bottom:10px;
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:rgba(17,17,17,.84);
    color:#fff;
    border-radius:999px;
    font:800 16px/1 "Poppins",sans-serif;
    pointer-events:none;
}

.shop-single-content{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
}

.shop-card-topline{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.shop-stock-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    font:800 10px/1 "Poppins",sans-serif;
    letter-spacing:.1em;
    text-transform:uppercase;
    border:1px solid transparent;
}

.shop-stock-badge::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:999px;
    background:currentColor;
    flex:0 0 auto;
}

.shop-stock-badge--in_stock{
    color:#0f7a38;
    background:rgba(15,122,56,.08);
    border-color:rgba(15,122,56,.18);
}

.shop-stock-badge--low_stock{
    color:#b26a00;
    background:rgba(178,106,0,.08);
    border-color:rgba(178,106,0,.18);
}

.shop-stock-badge--out_of_stock{
    color:#7a7a7a;
    background:rgba(122,122,122,.08);
    border-color:rgba(122,122,122,.18);
}

.shop-brand-badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    color:#8b2331;
    background:rgba(139,35,49,.08);
    border:1px solid rgba(139,35,49,.16);
    font:700 11px/1 "Poppins",sans-serif;
    letter-spacing:-.01em;
}

.shop-single-title{
    margin:0;
    color:#111;
    font:800 clamp(28px, 4vw, 46px)/1.02 "Poppins",sans-serif;
    letter-spacing:-.05em;
}

.shop-single-price{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    min-height:38px;
    padding:0 14px;
    color:#111;
    background:linear-gradient(180deg, #fbfbfb 0%, #f1f1f1 100%);
    border:1px solid rgba(17,24,39,.1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
    font:800 24px/1 "Poppins",sans-serif;
    letter-spacing:-.03em;
}

.shop-single-actions .shop-link--buy{
    min-width:136px;
    height:42px;
    padding:0 18px;
    font-size:10px;
    letter-spacing:.14em;
}

.shop-single-actions .shop-link--ghost{
    min-width:108px;
    height:42px;
    padding:0 16px;
    border-radius:999px;
    font-size:10px;
}

.shop-single-entry{
    color:#323645;
    font:400 15px/1.82 "Poppins",sans-serif;
}

.shop-single-entry p{
    margin:0 0 16px;
}

.shop-single-entry > p:first-child{
    color:#111827;
    font-weight:500;
}

.shop-single-entry ul,
.shop-single-entry ol{
    margin:4px 0 18px 20px;
    padding:0;
}

.shop-single-entry ul{
    list-style:disc;
}

.shop-single-entry ol{
    list-style:decimal;
}

.shop-single-entry li{
    margin:0 0 10px;
    padding-left:0;
    color:#1f2937;
}

.shop-image-zoom{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(0,0,0,.82);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease;
}

.shop-image-zoom.is-open{
    opacity:1;
    visibility:visible;
}

.shop-image-zoom__inner{
    position:relative;
    max-width:min(92vw, 760px);
    max-height:92vh;
}

.shop-image-zoom__image{
    display:block;
    max-width:100%;
    max-height:92vh;
    object-fit:contain;
    background:#111;
}

.shop-image-zoom__close{
    position:absolute;
    top:-14px;
    right:-14px;
    width:38px;
    height:38px;
    border:0;
    border-radius:999px;
    background:#fff;
    color:#111;
    font:800 16px/1 "Poppins",sans-serif;
    cursor:pointer;
}

@media (max-width:768px){
    .shop-page{
        padding:24px 0 54px;
    }

    .shop-shell{
        padding:0 12px;
    }

    .shop-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px 10px;
    }

    .shop-card{
        width:100%;
        padding:8px;
    }

    .shop-filter-bar{
        gap:8px;
        margin-bottom:18px;
    }

    .shop-filter-chip{
        height:34px;
        padding:0 12px;
        font-size:10px;
    }

    .shop-gallery-main{
        height:136px;
    }

    .shop-gallery-thumb{
        height:20px;
    }

    .shop-card-title{
        font-size:11px;
    }

    .shop-brand,
    .shop-price{
        font-size:10px;
    }

    .shop-link{
        min-width:54px;
        height:22px;
        padding:0 6px;
        font-size:7px;
    }

    .shop-single{
        grid-template-columns:1fr;
        gap:16px;
    }

    .shop-single-media{
        width:100%;
        min-width:0;
        display:flex;
        justify-content:center;
    }

    .shop-single-media .shop-gallery{
        gap:6px;
        width:100%;
        align-items:center;
    }

    .shop-single-media .shop-gallery-main{
        width:100%;
        max-width:292px;
        height:292px;
    }

    .shop-single-media .shop-gallery-thumb{
        height:34px;
    }

    .shop-single-media .shop-gallery-main::after{
        right:8px;
        bottom:8px;
    }

    .shop-single-content{
        gap:10px;
    }

    .shop-single-title{
        font-size:28px;
    }

    .shop-single-price{
        font-size:24px;
    }

    .shop-single-entry{
        font-size:14px;
        line-height:1.62;
    }

    .shop-single-entry ul,
    .shop-single-entry ol{
        margin:2px 0 14px 18px;
    }

    .shop-stock-badge{
        min-height:22px;
        padding:0 9px;
        font-size:9px;
    }

    .shop-brand-badge{
        min-height:22px;
        padding:0 9px;
        font-size:10px;
    }

    .shop-single-actions{
        gap:8px;
        padding-top:2px;
    }

    .shop-single-actions .shop-link--buy{
        min-width:118px;
        height:38px;
        padding:0 16px;
        font-size:9px;
    }

    .shop-single-actions .shop-link--ghost{
        min-width:96px;
        height:38px;
        padding:0 14px;
        font-size:9px;
    }
}
