/* Storefront product detail and listing */

.store-filter{
    display:grid;
    grid-template-columns:1fr 260px 120px;
    gap:12px;
    margin-bottom:24px;
    background:#ffffff;
    border:1px solid #dbe3ed;
    border-radius:16px;
    padding:16px;
}

.store-filter input,
.store-filter select{
    border:1px solid #dbe3ed;
    border-radius:10px;
    padding:12px 14px;
    font-size:14px;
}

.store-filter button{
    border:0;
    border-radius:10px;
    background:#0078d7;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.store-product-card h3 a{
    color:#0f172a;
    text-decoration:none;
}

.store-product-card h3 a:hover{
    color:#0078d7;
}

.store-product-image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:170px;
    border:0;
    border-radius:0;
    background:transparent;
    margin-bottom:12px;
    overflow:hidden;
}

.store-product-image img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:170px;
    object-fit:contain;
    padding:0;
    border:0;
    background:transparent;
}

.stock-line{
    margin:10px 0;
    font-size:13px;
    font-weight:800;
}

.stock-line.in-stock{
    color:#047857;
}

.stock-line.out-stock{
    color:#b91c1c;
}

.product-detail-card{
    display:grid;
    grid-template-columns:minmax(320px, 520px) 1fr;
    gap:30px;
    background:#fff;
    border:1px solid #dbe3ed;
    border-radius:20px;
    padding:24px;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.main-product-image{
    height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#f8fafc;
}

.main-product-image img{
    max-width:100%;
    max-height:390px;
    object-fit:contain;
}

.thumb-list{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

.thumb-list button{
    width:76px;
    height:76px;
    border:1px solid #dbe3ed;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    padding:5px;
}

.thumb-list button:hover{
    border-color:#0078d7;
}

.thumb-list img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.detail-category{
    display:inline-block;
    background:#e0f2fe;
    color:#075985;
    padding:7px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
}

.product-detail-info h1{
    font-size:36px;
    margin:18px 0 12px;
    color:#0f172a;
}

.detail-short{
    color:#475569;
    line-height:1.7;
    font-size:16px;
}

.detail-meta{
    display:grid;
    gap:8px;
    margin:18px 0;
    color:#334155;
}

.detail-price{
    font-size:34px;
    font-weight:900;
    color:#003366;
    margin:22px 0;
}

.detail-cart-form{
    display:flex;
    gap:12px;
}

.detail-cart-form input{
    width:90px;
    border:1px solid #dbe3ed;
    border-radius:10px;
    padding:12px;
}

.detail-cart-form button{
    border:0;
    border-radius:10px;
    background:#ffb300;
    color:#003366;
    font-weight:900;
    padding:0 22px;
    cursor:pointer;
}

.detail-tabs{
    display:grid;
    gap:18px;
    margin-top:24px;
}

.technical-specs{
    white-space:pre-wrap;
    font-family:inherit;
    color:#334155;
    line-height:1.8;
}

.related-grid{
    margin-bottom:30px;
}

@media(max-width:900px){
    .product-detail-card{
        grid-template-columns:1fr;
    }

    .store-filter{
        grid-template-columns:1fr;
    }
}
