
.otolux-storefront{
    width:min(1480px,calc(100% - 40px));
    margin:0 auto;
    padding:34px 0 70px;
}
.otolux-shop-head{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
    gap:28px;
    align-items:end;
    padding:28px 0 22px;
    border-bottom:1px solid rgba(120,120,120,.2);
}
.otolux-kicker{
    margin:0 0 7px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    opacity:.62;
}
.otolux-shop-head h1{
    margin:0 0 10px;
    font-size:clamp(32px,4.2vw,60px);
    line-height:1.02;
    letter-spacing:-.035em;
}
.otolux-shop-head p{
    max-width:720px;
    margin:0;
    font-size:16px;
    line-height:1.65;
    opacity:.72;
}
.otolux-product-search{
    display:flex;
    gap:9px;
    padding:8px;
    border:1px solid rgba(120,120,120,.28);
    border-radius:14px;
    background:var(--wp--preset--color--base,#fff);
}
.otolux-product-search input[type="search"]{
    min-width:0;
    width:100%;
    border:0;
    background:transparent;
    padding:10px 12px;
    outline:none;
}
.otolux-product-search button{
    border:0;
    border-radius:10px;
    padding:10px 17px;
    cursor:pointer;
    background:#111;
    color:#fff;
    font-weight:700;
}
.otolux-category-strip{
    display:flex;
    gap:9px;
    overflow:auto;
    padding:18px 0 8px;
    scrollbar-width:thin;
}
.otolux-category-strip a{
    flex:0 0 auto;
    text-decoration:none;
    border:1px solid rgba(120,120,120,.25);
    border-radius:999px;
    padding:9px 14px;
    font-size:13px;
    font-weight:700;
}
.otolux-products-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin:36px 0 20px;
}
.otolux-products-head h2{
    margin:0;
    font-size:28px;
    letter-spacing:-.02em;
}
.otolux-products-head a{
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}
.otolux-storefront ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
    margin:0 !important;
}
.otolux-storefront ul.products::before,
.otolux-storefront ul.products::after{display:none!important;}
.otolux-storefront ul.products li.product{
    width:auto !important;
    float:none !important;
    margin:0 !important;
    padding:0 0 16px !important;
    border:1px solid rgba(120,120,120,.16);
    border-radius:16px;
    overflow:hidden;
    background:var(--wp--preset--color--base,#fff);
    transition:transform .18s ease,box-shadow .18s ease;
}
.otolux-storefront ul.products li.product:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(0,0,0,.07);
}
.otolux-storefront ul.products li.product img{
    aspect-ratio:1/1;
    object-fit:cover;
    margin:0 0 14px !important;
    background:#f7f7f7;
}
.otolux-storefront ul.products li.product .woocommerce-loop-product__title,
.otolux-storefront ul.products li.product .price,
.otolux-storefront ul.products li.product .button,
.otolux-storefront ul.products li.product .added_to_cart{
    margin-left:15px !important;
    margin-right:15px !important;
}
.otolux-storefront ul.products li.product .woocommerce-loop-product__title{
    font-size:15px !important;
    line-height:1.35;
}
.otolux-storefront ul.products li.product .price{
    font-weight:800;
}
.otolux-storefront ul.products li.product .button{
    border-radius:9px;
}
.otolux-storefront .woocommerce-pagination{
    margin-top:28px;
}
.otolux-auto-note{
    padding:18px;
    border:1px dashed rgba(120,120,120,.35);
    border-radius:12px;
}
@media(max-width:1050px){
    .otolux-storefront ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:780px){
    .otolux-storefront{width:min(100% - 24px,1480px);padding-top:12px;}
    .otolux-shop-head{grid-template-columns:1fr;align-items:start;}
    .otolux-storefront ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
}
@media(max-width:480px){
    .otolux-storefront ul.products{grid-template-columns:1fr !important;}
}
