*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --container-width:1210px;
    --background:#EEE9E2;
    --about-background:#E6DFD4;
    --primary:#171717;
    --placeholder:#d8d2ca;
    --section-gap:50px;
    --card-gap:15px;
}

body{
    background:var(--background);
    font-family:'Plus Jakarta Sans',sans-serif;
    color:#171717;
}

.container{
    width:var(--container-width);
    margin:0 auto;
}

/* ─── Focus styles ─── */
a:focus-visible,
button:focus-visible{
    outline:2px solid var(--primary);
    outline-offset:2px;
}

/* ─── Announcement ─── */
.announcement-bar{
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:400;
    line-height:1;
    border-bottom:1px solid rgba(0,0,0,.08);
    letter-spacing:5%;
}

/* ─── Navbar ─── */
.navbar{
    height:100px;
    position:relative;
}

.navbar .container{
    height:100%;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;

}

.nav-left{
    display:flex;
    gap:24px;
    justify-self:start;
}

.nav-left a{
    text-decoration:none;
    color:#171717;
    font-size:14px;
    font-weight:400;
    transition:opacity .2s;
}

.nav-left a:hover{
    opacity:.55;
}

.nav-left a.active{
    font-weight:700;
}

.logo{
    width:129px;
    height:47px;
    justify-self:center;
}

.logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.nav-right{
    display:flex;
    gap:20px;
    justify-self:end;
    align-items:center;
}

.icon{
    width:23px;
    height:23px;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    transition:opacity .2s;
}

.icon:hover{
    opacity:.55;
}

.icon img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

/* Cart badge */
.cart-wrapper{
    position:relative;
    display:inline-flex;
}

.cart-badge{
    position:absolute;
    top:-6px;
    right:-6px;
    width:16px;
    height:16px;
    background:var(--primary);
    color:white;
    font-size:10px;
    font-weight:700;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
}

/* Mobile hamburger */
.hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    padding:4px;
    background:none;
    border:none;
}

.hamburger span{
    display:block;
    width:22px;
    height:2px;
    background:var(--primary);
    transition:transform .25s, opacity .25s;
}

.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile drawer */
.mobile-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--background);
    border-top:1px solid rgba(0,0,0,.08);
    border-bottom:1px solid rgba(0,0,0,.08);
    z-index:100;
    padding:20px 24px;
    flex-direction:column;
    gap:16px;
}

.mobile-menu.open{
    display:flex;
}

.mobile-menu a{
    text-decoration:none;
    color:#171717;
    font-size:16px;
    font-weight:400;
}

/* ─── HERO ─── */
.hero{
    height:580px;
    margin-bottom:50px;
}

.hero-wrapper{
    height:100%;
    display:grid;
    grid-template-columns:45% 55%;
    align-items:start;
    padding-top:70px;
}

.hero-caption{
    font-size:18px;
    font-weight:400;
    letter-spacing:0.02em;
    margin-bottom:20px;
}

.hero-title{
    font-size:76px;
    font-weight:800;
    line-height:100%;
    margin-bottom:20px;
}

.hero-description{
    font-size:18px;
    font-weight:400;
    margin-bottom:30px;
}

.hero-content{
    max-width:580px;
}

.shop-now{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 20px;
    height:50px;

    background:var(--primary);
    color:white;

    border:none;

    font-size:18px;
    font-weight:700;

    cursor:pointer;
}

.shop-now:hover{
    opacity:1;
}

.hero-image{
    width:100%;
    height:460px;

    display:flex;
    justify-content:center;
    align-items:flex-end;

    overflow:hidden;
}

.hero-image img{
    width:100%;
    height:100%;

    object-fit:contain;
    object-position:center bottom;

    display:block;
}

/* ─── Section shared ─── */
.featured-section{
    margin-top:0;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.section-title{
    font-size:24px;
    font-weight:700;
}

.view-all{
    text-decoration:none;
    color:#171717;
    font-size:14px;
    transition:opacity .2s;
}

.view-all:hover{
    opacity:.55;
}

/* ─── Product grid ─── */
.product-grid{
    display:grid;
    grid-template-columns:291px 291px 291px 291px;
    gap:var(--card-gap);
}

.product-card{
    width:291px;
    cursor:pointer;
    text-decoration:none;
    color:inherit;
    display:block;
}

.product-card:hover .product-image{
    opacity:.85;
}

.product-image{
    width:291px;
    height:280px;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;
}

.product-image.placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    color:#999;
    font-size:12px;
    text-align:center;
    padding:16px;
}

.product-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:contain;

    object-position:center;

}

.product-name{
    margin-top:16px;
    font-size:18px;
    font-weight:700;
    line-height:120%;
}

.product-price{
    margin-top:6px;
    font-size:18px;
    font-weight:400;
}

/* ─── Browse Collections ─── */
.browse-section{
    margin-top:var(--section-gap);
}

.browse-grid{
    display:grid;
    grid-template-columns:597.5px 597.5px;
    gap:var(--card-gap);
}

.browse-card{

    position:relative;

    width:597.5px;
    height:315px;

    overflow:hidden;

    display:block;

    text-decoration:none;

}

.browse-card:hover img{

    transform:scale(1.05);

}

.browse-card img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.35s;

}

.browse-card-label{

    position:absolute;

    left:30px;
    bottom:30px;

    color:white;

    font-size:32px;
    font-weight:800;

    z-index:2;

}
.browse-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.45),
        rgba(0,0,0,0)
    );

}


/* ─── Bundles ─── */
/* BUNDLES */

.bundles-section{
    margin-top:var(--section-gap);
    
}

.collections-bundles-section{
    margin-bottom:80px;
}

.bundles-sectioncollections-bundles-section{
        padding-bottom:50px;
}

.bundles-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:var(--card-gap);

}

.bundle-card{

    display:flex;

    flex-direction:column;

    text-decoration:none;

    color:var(--primary);

}

.bundle-image{

    width:100%;

    height:315px;

    overflow:hidden;

}

.bundle-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.35s;

    display:block;

}

.bundle-card:hover .bundle-image img{

    transform:scale(1.05);

}

.bundle-content{

    padding:20px 0 0;

}

.bundle-title{

    font-size:20px;

    font-weight:700;

    margin-bottom:8px;

}

.bundle-price{

    font-size:18px;

    margin-bottom:20px;

}

.bundle-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:183px;

    height:50px;

    background:var(--primary);

    color:white;

    font-size:18px;

    font-weight:700;

}

/* ─── About section ─── */
.about-section{
    margin-top:var(--section-gap);
    background:var(--about-background);
}

.about-wrapper{
    display:flex;
    align-items:center;
    padding:70px 0;
}

.about-icon{
    width:120px;
    display:flex;
    justify-content:center;
    margin-right:60px;
    flex-shrink:0;
}

.about-icon img{

    width: 200px;
    height:200px;

    display:block;

    object-fit:contain;

}

.about-content{
    max-width:600px;
}

.about-text{
    margin:20px 0 30px;
    font-size:18px;
    line-height:170%;
}

.about-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  padding:0 20px;
    height:50px;
    background:var(--primary);
    color:white;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
    transition:opacity .2s;
    font-family:'Plus Jakarta Sans',sans-serif;
    text-align:center;
}

.about-button:hover{
    opacity:1;
}

@media (min-width:769px) and (hover:hover){
    .shop-now,
    .about-button,
    .bundle-button{
        background-color:transparent;
        background-image:linear-gradient(var(--primary),var(--primary));
        background-position:left;
        background-repeat:no-repeat;
        background-size:0% 100%;
        border:2px solid var(--primary);
        color:var(--primary);
        overflow:hidden;
        position:relative;
        z-index:1;
        transition:background-size .4s ease,color .4s ease;
    }

    .shop-now:hover,
    .about-button:hover,
    .bundle-button:hover,
    .bundle-card:hover .bundle-button{
        background-size:100% 100%;
        color:#ffffff;
    }
}

.thumbnail-btn.size-chart-thumbnail img,
#product-main-image.size-chart-active img{
    background:#ffffff;
    object-fit:contain;
}

/* ─── Footer ─── */
.footer{
    height:332px;
    background:var(--primary);
    color:#ffffff;
}

.footer-wrapper{
    height:100%;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding-top:60px;
}

.footer-logo{

    width:129px;

    margin-bottom:20px;

}

.footer-logo img{

    width:100%;

    display:block;

}

.footer-description{
    width:260px;
    font-size:14px;
    line-height:170%;
}

.footer-links{
    display:flex;
    gap:80px;
}

.footer-column{
    display:flex;
    flex-direction:column;
}

.footer-column h4{
    margin-bottom:20px;
    font-size:14px;
    font-weight:700;
}

.footer-column a{
    margin-bottom:12px;
    color:white;
    text-decoration:none;
    font-size:14px;
    font-weight:400;
    transition:opacity .2s;
}

.footer-column a:hover{
    opacity:.65;
}

/* ─── Page hero (inner pages) ─── */
.page-hero{
    padding:60px 0 40px;
    border-bottom:1px solid rgba(0,0,0,.08);
    margin-bottom:50px;
}

.page-hero-title{
    font-size:56px;
    font-weight:800;
    line-height:100%;
    margin-bottom:12px;
}

.page-hero-sub{
    font-size:18px;
    font-weight:400;
}

/* ─── Collections page ─── */
.collections-filters{
    display:flex;
    gap:10px;
    margin-bottom:30px;
    flex-wrap:wrap;
}

.filter-btn{
    height:40px;
    padding:0 20px;
    border:1px solid var(--primary);
    background:transparent;
    font-size:14px;
    font-weight:400;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    transition:background .2s, color .2s;
}

.filter-btn:hover,
.filter-btn.active{
    background:var(--primary);
    color:white;
}

.collections-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:var(--card-gap);
    margin-bottom:60px;
}

/* ─── Product Detail ─── */
.product-detail-layout{
    display:grid;
    grid-template-columns:55% 1fr;
    gap:60px;
    margin-bottom:80px;
}

.product-detail-image{
    width:100%;
    aspect-ratio:1/1;
    background:var(--placeholder);
    border:1px dashed #999;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:10px;
    color:#999;
    font-size:13px;
    text-align:center;
    position:relative;
}

.product-detail-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

#product-main-image{
    aspect-ratio:1/1;
}

#product-breadcrumb{
    margin-bottom:24px;
}

.product-detail-info{
    padding-top:10px;
}

.product-detail-caption{
    font-size:14px;
    font-weight:400;
    margin-bottom:12px;
    opacity:.6;
}

.product-detail-name{
    font-size:36px;
    font-weight:800;
    line-height:110%;
    margin-bottom:16px;
}

.product-detail-price{
    font-size:28px;
    font-weight:400;
    margin-bottom:30px;
}

.size-label{
    font-size:14px;
    font-weight:700;
    margin-bottom:10px;
}

.size-grid{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:24px;
}

.size-btn{
    width:52px;
    height:52px;
    border:1px solid var(--primary);
    background:transparent;
    font-size:14px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    transition:background .2s, color .2s;
}

.size-btn:hover,
.size-btn.selected{
    background:var(--primary);
    color:white;
}

.size-btn:focus-visible,
.qty-btn:focus-visible,
.thumbnail-btn:focus-visible,
.gallery-nav:focus-visible{
    outline:2px solid var(--primary);
    outline-offset:3px;
}

.gallery-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:1px solid var(--primary);
    background:rgba(255,255,255,.86);
    color:var(--primary);
    font-size:26px;
    line-height:1;
    cursor:pointer;
    z-index:2;
}

.gallery-nav:hover{
    background:var(--primary);
    color:white;
}

.gallery-prev{
    left:12px;
}

.gallery-next{
    right:12px;
}

.qty-row{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:24px;
}

.qty-label{
    font-size:14px;
    font-weight:700;
}

.qty-controls{
    display:flex;
    align-items:center;
    gap:0;
    border:1px solid var(--primary);
}

.qty-btn{
    width:40px;
    height:40px;
    background:transparent;
    border:none;
    font-size:20px;
    cursor:pointer;
    font-family:'Plus Jakarta Sans',sans-serif;
    transition:background .2s, color .2s;
}

.qty-btn:hover{
    background:var(--primary);
    color:white;
}

.qty-val{
    width:44px;
    height:40px;
    border-left:1px solid var(--primary);
    border-right:1px solid var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
}

.add-to-cart-btn{
    width:100%;
    height:56px;
    background:var(--primary);
    color:white;
    border:none;
    font-size:18px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    transition:opacity .2s;
    margin-bottom:14px;
}

.add-to-cart-btn:hover{
    opacity:.8;
}

.buy-now-btn{
    width:100%;
    height:56px;
    background:transparent;
    color:var(--primary);
    border:2px solid var(--primary);
    font-size:18px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    transition:background .2s, color .2s;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
}

.buy-now-btn:hover{
    background:var(--primary);
    color:white;
}

.product-detail-desc{
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(0,0,0,.1);
    font-size:16px;
    line-height:170%;
}

/* ─── Cart ─── */
.cart-layout{
    display:grid;
    grid-template-columns:1fr 380px;
    gap:40px;
    margin-bottom:80px;
}

.cart-items{
    display:flex;
    flex-direction:column;
    gap:0;
}

.cart-item{
    display:grid;
    grid-template-columns:100px 1fr auto;
    gap:20px;
    padding:24px 0;
    border-bottom:1px solid rgba(0,0,0,.1);
    align-items:center;
}

.cart-item-image{
    width:100px;
    height:120px;
    background:var(--placeholder);
    border:1px dashed #999;
    overflow:hidden;
}

.cart-item-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.cart-item-name{
    font-size:18px;
    font-weight:700;
    margin-bottom:6px;
}

.cart-item-variant{
    font-size:14px;
    font-weight:400;
    opacity:.6;
    margin-bottom:12px;
}

.cart-item-price{
    font-size:16px;
    font-weight:400;
}

.cart-item-remove{
    background:none;
    border:none;
    font-size:20px;
    cursor:pointer;
    opacity:.4;
    transition:opacity .2s;
}

.cart-item-remove:hover{
    opacity:1;
}

.cart-empty{
    text-align:center;
    padding:80px 0;
}

.cart-empty-title{
    font-size:28px;
    font-weight:700;
    margin-bottom:16px;
}

.cart-empty-sub{
    font-size:16px;
    margin-bottom:30px;
    opacity:.6;
}

.cart-summary{
    background:var(--about-background);
    padding:30px;
    height:fit-content;
    position:sticky;
    top:20px;
}

.cart-summary-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:24px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(0,0,0,.1);
}

.cart-summary-row{
    display:flex;
    justify-content:space-between;
    margin-bottom:12px;
    font-size:14px;
}

.cart-summary-total{
    display:flex;
    justify-content:space-between;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid rgba(0,0,0,.15);
    font-size:18px;
    font-weight:700;
}

.checkout-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:52px;
    background:var(--primary);
    color:white;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    margin-top:20px;
    transition:opacity .2s;
    font-family:'Plus Jakarta Sans',sans-serif;
    border:none;
    cursor:pointer;
}

.checkout-btn:hover{
    opacity:.8;
}

/* ─── Info pages (About, FAQ, Shipping, Privacy, Terms, Contact) ─── */
.info-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:60px;
    margin-bottom:80px;
}

.info-sidebar{
    position:sticky;
    top:20px;
    height:fit-content;
}

.info-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.info-sidebar-nav a{
    text-decoration:none;
    color:#171717;
    font-size:14px;
    font-weight:400;
    padding:10px 16px;
    border-left:2px solid transparent;
    transition:border-color .2s, font-weight .2s;
}

.info-sidebar-nav a:hover,
.info-sidebar-nav a.active{
    border-left-color:var(--primary);
    font-weight:700;
}

.info-content h2{
    font-size:28px;
    font-weight:800;
    margin-bottom:20px;
}

.info-content h3{
    font-size:18px;
    font-weight:700;
    margin:30px 0 12px;
}

.info-content p{
    font-size:16px;
    line-height:180%;
    margin-bottom:16px;
    opacity:.85;
}

.info-content ul{
    margin-left:20px;
    margin-bottom:16px;
}

.info-content ul li{
    font-size:16px;
    line-height:180%;
    opacity:.85;
    margin-bottom:6px;
}

/* Contact form */
.contact-layout{
    display:grid;
    grid-template-columns:1fr 400px;
    gap:60px;
    margin-bottom:80px;
}

.form-group{
    margin-bottom:20px;
}

.form-label{
    display:block;
    font-size:14px;
    font-weight:700;
    margin-bottom:8px;
}

.form-input,
.form-textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid rgba(0,0,0,.2);
    background:transparent;
    font-size:16px;
    font-family:'Plus Jakarta Sans',sans-serif;
    color:var(--primary);
    outline:none;
    transition:border-color .2s;
}

.form-input:focus,
.form-textarea:focus{
    border-color:var(--primary);
}

.form-textarea{
    min-height:160px;
    resize:vertical;
}

.form-submit{
    height:52px;
    padding:0 40px;
    background:var(--primary);
    color:white;
    border:none;
    font-size:16px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    transition:opacity .2s;
}

.form-submit:hover{
    opacity:.8;
}

.contact-sidebar-card{
    background:var(--about-background);
    padding:30px;
    margin-bottom:20px;
}

.contact-sidebar-card h3{
    font-size:16px;
    font-weight:700;
    margin-bottom:12px;
}

.contact-sidebar-card p{
    font-size:14px;
    line-height:170%;
    margin-bottom:16px;
}

.whatsapp-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    height:46px;
    padding:0 22px;
    background:#25d366;
    color:white;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    transition:opacity .2s;
}

.whatsapp-btn:hover{
    opacity:.85;
}

/* ─── FAQ ─── */
.faq-item{
    border-bottom:1px solid rgba(0,0,0,.1);
}

.faq-question{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    padding:20px 0;
    font-size:16px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}

.faq-question-icon{
    font-size:22px;
    line-height:1;
    transition:transform .25s;
    flex-shrink:0;
}

.faq-item.open .faq-question-icon{
    transform:rotate(45deg);
}

.faq-answer{
    display:none;
    padding-bottom:20px;
    font-size:15px;
    line-height:180%;
    opacity:.8;
}

.faq-item.open .faq-answer{
    display:block;
}

/* ─── Coming Soon ─── */
.coming-soon-wrapper{
    min-height:60vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:80px 20px;
}

.coming-soon-badge{
    font-size:13px;
    font-weight:700;
    letter-spacing:.1em;
    opacity:.5;
    margin-bottom:20px;
    text-transform:uppercase;
}

.coming-soon-title{
    font-size:56px;
    font-weight:800;
    line-height:100%;
    margin-bottom:20px;
}

.coming-soon-sub{
    font-size:18px;
    font-weight:400;
    max-width:480px;
    margin-bottom:40px;
    line-height:160%;
    opacity:.7;
}

/* ─── 404 ─── */
.error-wrapper{
    min-height:60vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:80px 20px;
}

.error-code{
    font-size:120px;
    font-weight:800;
    line-height:1;
    opacity:.08;
    margin-bottom:-30px;
}

.error-title{
    font-size:36px;
    font-weight:800;
    margin-bottom:16px;
}

.error-sub{
    font-size:16px;
    opacity:.6;
    margin-bottom:36px;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:50px;
    padding:0 36px;
    background:var(--primary);
    color:white;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    transition:opacity .2s;
}

.btn-primary:hover{
    opacity:.8;
}

/* ─── Toast notification ─── */
.toast{
    position:fixed;
    bottom:30px;
    right:30px;
    background:var(--primary);
    color:white;
    padding:14px 22px;
    font-size:14px;
    font-weight:700;
    z-index:1000;
    opacity:0;
    transform:translateY(10px);
    transition:opacity .3s, transform .3s;
    pointer-events:none;
}

.toast.show{
    opacity:1;
    transform:translateY(0);
}

/* ─── Placeholder hint text ─── */
.placeholder-hint{
    font-size:11px;
    line-height:150%;
    color:#999;
    text-align:center;
}

/* ═══════════════════════════════════
   RESPONSIVE
═══════════════════════════════════ */

/* 1440 */
@media(max-width:1440px){
    :root{ --container-width:1180px; }
}

/* 1280 */
@media(max-width:1280px){
    :root{ --container-width:calc(100% - 80px); }

    .product-grid{
        grid-template-columns:repeat(4,1fr);
    }

    .product-card{
        width:100%;
    }

    .product-image{
        width:100%;
    }

    .browse-grid,
    .bundles-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .browse-card,
    .bundle-card{
        width:100%;
    }

    .hero-title{
        font-size:64px;
    }
}

/* 1024 */
@media(max-width:1024px){
    :root{ --container-width:calc(100% - 48px); }

    .hero-title{
        font-size:52px;
    }

    .footer{
        height:auto;
    }

    .footer-wrapper{
        flex-direction:column;
        gap:40px;
        padding:48px 0;
    }

    .footer-links{
        gap:40px;
    }

    .info-layout{
        grid-template-columns:1fr;
    }

    .info-sidebar{
        position:static;
        display:flex;
        overflow-x:auto;
    }

    .info-sidebar-nav{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .contact-layout{
        grid-template-columns:1fr;
    }

    .product-detail-layout{
        grid-template-columns:1fr;
    }

    .cart-layout{
        grid-template-columns:1fr;
    }

    .cart-summary{
        position:static;
    }
}

/* 768 */
@media(max-width:768px){
    :root{ --container-width:calc(100% - 40px); }

    .nav-left,
    .nav-right .icon:not(.cart-wrapper){
        display:none;
    }

    .hamburger{
        display:flex;
    }

    .hero{
        height:auto;
        margin-bottom:40px;
    }

    .hero-wrapper{
        grid-template-columns:1fr;
        padding-top:40px;
        gap:30px;
    }

    .hero-title{
        font-size:44px;
    }

    .hero-image{
        height:320px;
    }

    .hero-content{
        max-width:100%;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .browse-grid,
    .bundles-grid{
        grid-template-columns:1fr;
    }

    .browse-card,
    .bundle-card{
        width:100%;
    }

    .page-hero-title{
        font-size:40px;
    }

    .collections-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .product-card{
        width:100%;
    }

    .product-image{
        width:100%;
        height:auto;
        aspect-ratio:1/1;
    }

    .footer-links{
        flex-wrap:wrap;
        gap:30px;
    }
}

/* 480 */
@media(max-width:480px){
    :root{ --container-width:calc(100% - 32px); }

    .hero-title{
        font-size:36px;
    }

    .hero-caption,
    .hero-description{
        font-size:15px;
    }

    .shop-now{
        width:100%;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .product-name{
        font-size:14px;
    }

    .product-price{
        font-size:14px;
    }

    .section-title{
        font-size:20px;
    }

    .page-hero-title{
        font-size:32px;
    }

    .coming-soon-title,
    .error-title{
        font-size:36px;
    }

    .error-code{
        font-size:80px;
    }

    .footer-links{
        flex-direction:column;
        gap:24px;
    }

    .navbar .container{
        grid-template-columns:auto 1fr auto;
    }

    .logo{
        justify-self:start;
    }

    .collections-grid{
    gap:10px;
    }

    .product-name{
        font-size:14px;
        margin-top:12px;
    }

    .product-price{
        font-size:14px;
        margin-top:4px;
    }
}

.collection-search{margin-bottom:20px;max-width:520px}.collection-count{font-size:14px;margin:-12px 0 24px;opacity:.65}.empty-state{text-align:center;padding:60px 0;margin-bottom:60px}.breadcrumb{padding:24px 0 0;font-size:13px;opacity:.65}.breadcrumb a{color:inherit;text-decoration:none}.product-gallery{min-width:0}.thumbnail-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.thumbnail-btn{border:1px solid rgba(0,0,0,.15);background:transparent;min-height:82px;cursor:pointer;padding:0;overflow:hidden}.thumbnail-btn.active{border:2px solid var(--primary)}.thumbnail-btn img{width:100%;height:100%;object-fit:cover;display:block}.gallery-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--placeholder);color:#888;padding:20px}.color-btn{width:auto;min-width:72px;padding:0 14px}.bundle-badge{display:inline-flex;height:34px;align-items:center;padding:0 14px;background:var(--about-background);font-size:13px;font-weight:700;margin-bottom:16px}.compact-title{font-size:20px;margin:26px 0 14px}.included-list{list-style:none;margin:0 0 18px 0}.included-list li{font-size:15px;line-height:180%;opacity:.85}.bundle-config-group{margin-bottom:14px}.action-row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.inline-btn{width:auto;padding:0 28px}.product-detail-image{overflow:hidden}.product-detail-image .main-product-img{width:100%;height:100%;object-fit:contain;background:var(--placeholder)}@media(max-width:480px){.thumbnail-row{grid-template-columns:repeat(3,1fr)}.filter-btn{padding:0 14px}.product-detail-name{font-size:30px}}
