/* ===================================
   RESET DASAR
=================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


body{

    font-family:
    'Segoe UI',
    Arial,
    sans-serif;

    background:#fff8f0;

    color:#333;

}


/* ===================================
   HEADER
=================================== */


header{

    background:white;

    padding:20px 50px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:
    0 3px 10px rgba(0,0,0,0.08);

}


/* Logo */

.logo{

    display:flex;

    align-items:center;

    gap:15px;

}


.logo img{

    width:70px;

    height:70px;

    object-fit:contain;

}



.logo h1{

    color:#ff7200;

    font-size:28px;

}


.logo p{

    color:#777;

}




/* ===================================
   SEARCH
=================================== */


.search input{

    width:350px;

    padding:15px 20px;

    border-radius:30px;

    border:

    1px solid #ddd;

    outline:none;

}


.search input:focus{

    border-color:#ff7200;

}



/* ===================================
   MENU NAVIGASI
=================================== */


.menu a{

    text-decoration:none;

    color:#333;

    margin-left:20px;

    font-weight:500;

}


.menu a:hover{

    color:#ff7200;

}



/* ===================================
   HERO / BANNER
=================================== */


.hero{

    margin:30px 50px;

    height:300px;

    padding:50px;


    background:

    linear-gradient(
    rgba(255,255,255,.75),
    rgba(255,255,255,.75)
    ),

    url('../images/banner.jpg');


    background-size:cover;

    background-position:center;

    border-radius:25px;


}



.hero h2{

    font-size:45px;

    color:#572900;

}


.hero p{

    margin-top:15px;

    font-size:18px;

}



.hero button{


    margin-top:25px;

    padding:15px 35px;

    background:#ff7200;

    color:white;

    border:none;

    border-radius:30px;

    cursor:pointer;


}


.hero button:hover{

    background:#d85f00;

}



/* ===================================
   CONTAINER UTAMA
=================================== */


.container{

    display:grid;

    grid-template-columns:

    250px

    1fr

    280px;


    gap:25px;

    padding:20px 50px;


}



/* ===================================
   CARD
=================================== */


.card{


    background:white;

    padding:25px;

    border-radius:20px;

    box-shadow:

    0 5px 15px rgba(0,0,0,.08);


}




/* ===================================
   KATEGORI
=================================== */


.category{

    list-style:none;

    margin-top:20px;

}


.category li{

    padding:15px;

    border-bottom:

    1px solid #eee;

    cursor:pointer;

}


.category li:hover{

    background:#fff0df;

    color:#ff7200;

}



/* ===================================
   PRODUK
=================================== */


.products{


    display:grid;


    grid-template-columns:

    repeat(4,1fr);


    gap:20px;


}



.product{


    background:white;


    border-radius:20px;


    overflow:hidden;


    box-shadow:

    0 5px 15px rgba(0,0,0,.08);


}



.product img{


    width:100%;


    height:150px;


    object-fit:cover;


}



.product h3{


    padding:15px 15px 5px;


}



.product p{


    padding:5px 15px;


}



.price{


    color:#ff7200;


    font-size:20px;


    font-weight:bold;


}



.btn{


    margin:15px;


    background:#ff7200;


    color:white;


    padding:12px;


    text-align:center;


    border-radius:10px;


    cursor:pointer;


}


.btn:hover{


    background:#d85f00;


}



/* ===================================
   PROFILE AHMAD FEBRIYANTO
=================================== */


.profile{


    text-align:center;

}



.profile img{


    width:120px;


    height:120px;


    border-radius:50%;


    object-fit:cover;


    border:

    5px solid #ff7200;


}


.profile h2{


    margin-top:15px;


    color:#572900;


}



.profile p{


    margin-top:10px;


}



/* ===================================
   FOOTER
=================================== */


footer{


    margin-top:40px;


    background:#572900;


    color:white;


    padding:25px;


    text-align:center;


}



/* ===================================
   RESPONSIVE
=================================== */


@media(max-width:900px){


    .container{


        grid-template-columns:1fr;


    }


    .products{


        grid-template-columns:

        repeat(2,1fr);

    }


}



@media(max-width:600px){


    header{
        flex-direction:column;
        gap:20px;
    }

    .products{
        grid-template-columns:1fr;
    }
}

/* Storefront layout */
:root{
    color-scheme:light;
    --ink:#202632;
    --muted:#737b87;
    --line:#e9ebee;
    --orange:#f26a0a;
    --orange-dark:#d95000;
    --orange-pale:#fff1e4;
    --green:#22a45a;
    --canvas:#f4f5f6;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:20px;
}

body{
    background:var(--canvas);
    color:var(--ink);
    font-family:'DM Sans','Segoe UI',sans-serif;
    font-size:13px;
    line-height:1.45;
}

button,
input,
a{
    font:inherit;
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

button{
    cursor:pointer;
}

[hidden]{
    display:none !important;
}

.storefront{
    width:min(100%,1440px);
    min-height:100vh;
    margin:0 auto;
    background:#fff;
    box-shadow:0 8px 30px rgba(31,39,49,.08);
}

.visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.topbar{
    min-height:70px;
    display:grid;
    grid-template-columns:220px minmax(180px,1fr) auto;
    align-items:center;
    gap:24px;
    padding:10px 28px;
    background:#fff;
    border-bottom:1px solid #f0f0f0;
}

.brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    color:inherit;
    text-decoration:none;
}

.brand-mark,
.store-sign-mark{
    width:38px;
    height:38px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--orange);
    color:#fff;
    font-size:24px;
    line-height:1;
}

.brand-copy{
    min-width:0;
    display:grid;
}

.brand-copy strong{
    color:#4d260e;
    font-size:20px;
    font-weight:800;
    line-height:1.05;
}

.brand-copy small{
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
}

.search-form{
    height:38px;
    display:flex;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}

.search-form:focus-within{
    border-color:#f6a36e;
    box-shadow:0 0 0 3px rgba(242,106,10,.1);
}

.search-form input{
    width:100%;
    min-width:0;
    padding:0 14px;
    border:0;
    outline:0;
    color:var(--ink);
    font-size:12px;
}

.search-form input::placeholder{
    color:#9aa0a8;
}

.search-form button{
    width:42px;
    flex:0 0 42px;
    border:0;
    background:var(--orange);
    color:white;
    font-size:23px;
    line-height:1;
    transition:background .18s ease;
}

.search-form button:hover,
.add-button:hover,
.primary-button:hover{
    background:var(--orange-dark);
}

.header-actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.header-action{
    position:relative;
    display:flex;
    align-items:center;
    gap:6px;
    color:#535b66;
    font-size:11px;
    text-decoration:none;
    white-space:nowrap;
}

.header-action > span:first-child{
    color:var(--ink);
    font-size:19px;
    line-height:1;
}

.count-badge{
    position:absolute;
    top:-8px;
    left:10px;
    min-width:16px;
    height:16px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border:2px solid white;
    border-radius:10px;
    background:#ed3847;
    color:white;
    font-size:9px;
    font-weight:700;
}

.main-nav{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 28px;
    border-bottom:1px solid #f0f0f0;
    overflow-x:auto;
    scrollbar-width:none;
}

.main-nav::-webkit-scrollbar{
    display:none;
}

.main-nav a{
    min-height:32px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 14px;
    border-radius:6px;
    color:#4b515a;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
    transition:color .18s ease,background .18s ease;
}

.main-nav a:hover{
    color:var(--orange-dark);
    background:var(--orange-pale);
}

.main-nav .nav-home{
    background:var(--orange);
    color:#fff;
}

.nav-home span{
    font-size:17px;
}

.nav-chevron{
    color:#8c929a;
}

.hero-banner{
    position:relative;
    min-height:250px;
    display:flex;
    align-items:center;
    margin:10px 28px 16px;
    overflow:hidden;
    border-radius:8px;
    background:#f7dfc8;
    isolation:isolate;
}

.hero-image{
    position:absolute;
    z-index:-2;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 53%;
    opacity:0;
    pointer-events:none;
    transition:opacity .7s ease;
}

.hero-image.is-active{
    opacity:1;
}

.hero-banner::before{
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg,#fff0df 0%,rgba(255,240,223,.97) 31%,rgba(255,240,223,.58) 48%,rgba(255,240,223,0) 72%);
    content:'';
}

.hero-copy{
    width:min(54%,470px);
    padding:24px 28px;
    animation:hero-enter .55s ease-out both;
}

.hero-kicker{
    margin-bottom:1px;
    color:var(--orange);
    font-size:18px;
    font-style:italic;
    font-weight:800;
}

.hero-copy h1{
    color:#54290f;
    font-size:44px;
    font-weight:800;
    line-height:1.05;
}

.hero-copy > p:not(.hero-kicker){
    max-width:355px;
    margin-top:7px;
    color:#51463d;
    font-size:13px;
}

.primary-button{
    width:max-content;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:16px;
    margin-top:12px;
    padding:0 16px;
    border-radius:20px;
    background:var(--orange);
    color:#fff;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    transition:background .18s ease,transform .18s ease;
}

.primary-button:hover{
    transform:translateY(-1px);
}

.hero-dots{
    position:absolute;
    bottom:14px;
    left:42%;
    display:flex;
    gap:8px;
}

.hero-dots button{
    width:9px;
    height:9px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(72,68,64,.3);
    cursor:pointer;
}

.hero-dots .is-current{
    background:var(--orange);
}

.hero-stamp{
    position:absolute;
    right:22px;
    top:50%;
    width:128px;
    display:grid;
    justify-items:center;
    padding:14px 10px;
    transform:translateY(-50%) rotate(-8deg);
    border-radius:7px;
    background:var(--orange);
    box-shadow:0 8px 20px rgba(126,55,8,.2);
    color:#fff;
    text-align:center;
}

.hero-stamp span,
.hero-stamp strong{
    font-size:16px;
    font-style:italic;
    line-height:1.2;
}

.hero-stamp i{
    margin-top:4px;
    font-size:22px;
    font-style:normal;
}

.store-layout{
    display:grid;
    grid-template-columns:170px minmax(0,1fr) 205px;
    align-items:start;
    gap:18px;
    padding:0 28px 26px;
}

.category-panel,
.cart-panel{
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}

.category-panel{
    padding:10px 8px 8px;
}

.category-panel h2,
.cart-panel > h2{
    min-height:26px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 5px 8px;
    color:var(--ink);
    font-size:14px;
    font-weight:800;
}

.heading-symbol{
    color:var(--orange);
    font-size:16px;
    line-height:1;
}

.category-list{
    display:grid;
    gap:2px;
}

.category-link{
    min-height:40px;
    display:grid;
    grid-template-columns:20px minmax(0,1fr) 12px;
    align-items:center;
    gap:6px;
    padding:0 7px;
    border:0;
    border-radius:5px;
    background:transparent;
    color:#515965;
    text-align:left;
    font-size:12px;
    transition:background .18s ease,color .18s ease;
}

.category-link:hover,
.category-link.is-active{
    background:var(--orange-pale);
    color:var(--orange-dark);
}

.category-icon{
    color:var(--orange);
    font-size:15px;
    text-align:center;
}

.category-arrow{
    color:#8d96a2;
    font-size:17px;
    text-align:right;
}

.catalog{
    min-width:0;
    display:grid;
    gap:17px;
}

.catalog-section{
    min-width:0;
}

.section-heading{
    min-height:25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:7px;
}

.section-heading h2{
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--ink);
    font-size:16px;
    font-weight:800;
}

.section-heading a{
    color:var(--orange-dark);
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.section-heading a span{
    margin-left:4px;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}

.product-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #ebedf0;
    border-radius:7px;
    background:#fff;
    box-shadow:0 2px 7px rgba(28,35,43,.035);
    transition:transform .18s ease,box-shadow .18s ease;
}

.product-card:hover{
    transform:translateY(-2px);
    box-shadow:0 7px 16px rgba(28,35,43,.1);
}

.product-image{
    width:100%;
    height:clamp(92px,8vw,124px);
    display:block;
    object-fit:cover;
    background:#f4e6d8;
}

.product-info{
    padding:9px 10px 10px;
}

.product-info h3{
    min-height:32px;
    overflow:hidden;
    color:#343b45;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
}

.product-price{
    margin:3px 0 8px;
    color:var(--orange-dark);
    font-size:12px;
    font-weight:800;
}

.add-button{
    width:100%;
    min-height:33px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0;
    border-radius:5px;
    background:var(--orange);
    color:#fff;
    font-size:11px;
    font-weight:800;
    transition:background .18s ease;
}

.add-button span{
    font-size:10px;
}

.no-results{
    padding:20px 8px;
    color:var(--muted);
    text-align:center;
}

.side-column{
    min-width:0;
    display:grid;
    gap:10px;
}

.cart-panel{
    padding:10px 9px 9px;
}

.cart-panel > h2{
    padding:0 2px 8px;
    border-bottom:1px solid #f0f1f2;
}

.cart-items{
    display:grid;
}

.cart-line{
    min-width:0;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 14px;
    align-items:start;
    gap:7px;
    padding:9px 0;
    border-bottom:1px solid #f0f1f2;
}

.cart-line > img{
    width:40px;
    height:40px;
    border-radius:5px;
    object-fit:cover;
    background:#f4e6d8;
}

.cart-line-info{
    min-width:0;
}

.cart-line-info h3{
    overflow:hidden;
    color:#414852;
    font-size:10px;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.cart-line-info p{
    margin-top:2px;
    color:var(--muted);
    font-size:9px;
}

.quantity-control{
    width:max-content;
    display:flex;
    align-items:center;
    margin-top:4px;
    overflow:hidden;
    border:1px solid #e5e7e9;
    border-radius:4px;
}

.quantity-control button{
    width:18px;
    height:17px;
    border:0;
    background:#fff;
    color:#505862;
    font-size:11px;
}

.quantity-control button:hover{
    background:var(--orange-pale);
}

.quantity-control span{
    min-width:19px;
    color:var(--ink);
    font-size:8px;
    text-align:center;
}

.remove-item{
    border:0;
    background:transparent;
    color:#69717b;
    font-size:15px;
    line-height:1;
}

.remove-item:hover{
    color:#d83c3c;
}

.empty-cart{
    padding:16px 4px;
    color:var(--muted);
    font-size:11px;
    text-align:center;
}

.cart-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 1px 7px;
    color:#4d535c;
    font-size:12px;
    font-weight:700;
}

.cart-summary strong{
    color:var(--ink);
    font-size:13px;
}

.checkout-button{
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:5px;
    background:var(--green);
    color:#fff;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    transition:background .18s ease;
}

.checkout-button:hover{
    background:#168447;
}

.checkout-button:disabled{
    cursor:not-allowed;
    opacity:.55;
}

.checkout-form{
    display:grid;
    gap:6px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #e8e9eb;
}

.checkout-form[hidden]{
    display:none;
}

.checkout-form label{
    margin-top:3px;
    color:var(--ink);
    font-size:10px;
    font-weight:700;
}

.checkout-form input,
.checkout-form textarea{
    width:100%;
    min-height:34px;
    padding:7px 8px;
    border:1px solid #d9dde1;
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:11px;
}

.checkout-form textarea{
    min-height:60px;
    resize:vertical;
}

.checkout-form input:focus,
.checkout-form textarea:focus{
    border-color:var(--green);
    outline:2px solid rgb(38 157 92 / 15%);
}

.checkout-optional{
    color:var(--muted);
    font-weight:400;
}

.checkout-submit{
    min-height:36px;
    margin-top:5px;
    border:0;
    border-radius:4px;
    background:var(--orange);
    color:#fff;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.checkout-submit:hover{
    background:#da5c00;
}

.checkout-error,
.checkout-success{
    margin:7px 0;
    padding:8px;
    border-radius:4px;
    font-size:11px;
}

.checkout-error{
    background:#fff0ed;
    color:#a53a2b;
}

.checkout-success{
    background:#eaf6ee;
    color:#176e3c;
}

.promo-card{
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px;
    border:1px solid #f3e4d3;
    border-radius:7px;
    background:#fff6e9;
}

.promo-card h2{
    color:#613718;
    font-size:13px;
    font-weight:800;
}

.promo-card p{
    max-width:140px;
    margin-top:3px;
    color:#65584c;
    font-size:9px;
    line-height:1.4;
}

.promo-icon{
    width:32px;
    height:32px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ffdfb8;
    color:var(--orange-dark);
    font-size:21px;
}

.store-sign{
    min-height:54px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 11px;
    border-radius:7px;
    background:linear-gradient(110deg,#ef5c00,#ff8118);
    color:#fff;
    text-decoration:none;
}

.store-sign-mark{
    width:30px;
    height:30px;
    background:rgba(255,255,255,.2);
    font-size:19px;
}

.store-sign > span:last-child{
    display:grid;
}

.store-sign strong{
    font-size:14px;
    line-height:1.2;
}

.store-sign small{
    margin-top:2px;
    color:rgba(255,255,255,.86);
    font-size:9px;
}

.site-footer{
    padding:15px 28px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:11px;
    text-align:center;
}

.mobile-tabbar{
    display:none;
}

.payment-options{
    display:grid;
    gap:7px;
    margin:6px 0 2px;
    padding:9px;
    border:1px solid #e8e9eb;
    border-radius:5px;
}

.payment-options legend{
    padding:0 4px;
    color:var(--ink);
    font-size:10px;
    font-weight:800;
}

.checkout-form .payment-options label{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
}

.checkout-form .payment-options input[type=radio]{
    width:14px;
    min-height:14px;
    margin:0;
    accent-color:var(--orange);
}

.payment-options small,.checkout-qr p{
    margin:0;
    color:var(--muted);
    font-size:9px;
    line-height:1.5;
}

.checkout-qr{
    display:grid;
    justify-items:center;
    gap:6px;
    padding:9px;
    border:1px solid var(--line);
    border-radius:5px;
    text-align:center;
}

.checkout-qr[hidden]{display:none}
.demo-qr-warning{color:#a53a2b;font-size:10px;font-weight:800;text-align:center}

.checkout-qr img{
    width:min(100%,190px);
    aspect-ratio:1;
    object-fit:contain;
}

.order-tracking{
    min-width:0;
    padding:12px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#fff;
}

.order-tracking>h2{
    margin:0 0 9px;
    color:var(--ink);
    font-size:13px;
}

.order-tracking-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.order-tracking-heading h2{margin:0;color:var(--ink);font-size:13px}
.order-tracking-heading>a{color:var(--orange-dark);font-size:9px;font-weight:700;text-decoration:none}
.order-tracking-heading>a:hover{text-decoration:underline}

.tracked-order{
    padding:10px 0;
    border-top:1px solid var(--line);
}

.tracked-order header{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:var(--ink);
    font-size:10px;
}

.tracked-order header span{color:var(--orange-dark);font-weight:700;text-align:right}
.order-progress{display:grid;gap:4px;margin:8px 0;padding-left:18px;color:var(--muted);font-size:9px}
.order-progress li.is-complete{color:#26844f;font-weight:700}
.tracked-order>p,.tracked-order ul{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.tracked-order ul{padding-left:17px}

@keyframes hero-enter{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
}

@media(max-width:1100px){
    .topbar{
        grid-template-columns:190px minmax(130px,1fr) auto;
        gap:14px;
        padding-right:20px;
        padding-left:20px;
    }

    .header-actions{
        gap:12px;
    }

    .store-layout{
        grid-template-columns:150px minmax(0,1fr) 190px;
        gap:12px;
        padding-right:20px;
        padding-left:20px;
    }

    .hero-banner{
        margin-right:20px;
        margin-left:20px;
    }

    .main-nav{
        padding-right:20px;
        padding-left:20px;
    }

    .product-grid{
        gap:7px;
    }
}

@media(max-width:850px){
    .topbar{
        grid-template-columns:minmax(170px,1fr) auto;
    }

    .search-form{
        grid-column:1/-1;
        grid-row:2;
    }

    .header-action > span:last-child{
        display:none;
    }

    .store-layout{
        grid-template-columns:155px minmax(0,1fr);
    }

    .side-column{
        grid-column:1/-1;
        grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr);
        align-items:start;
    }

    .store-sign{
        grid-column:1/-1;
    }

    .product-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .hero-banner{
        min-height:205px;
    }
}

@media(max-width:600px){
    .topbar{
        grid-template-columns:minmax(0,1fr) auto;
        gap:10px;
        padding:11px 14px 10px;
        border-bottom:0;
        background:linear-gradient(110deg,#f3680a,#ff8117);
    }

    .brand-copy strong,
    .brand-copy small,
    .header-action,
    .header-action > span:first-child{
        color:#fff;
    }

    .search-form{
        height:34px;
        border:0;
        border-radius:18px;
    }

    .search-form input{
        font-size:11px;
    }

    .search-form button{
        width:36px;
        flex-basis:36px;
        border-radius:0 18px 18px 0;
        background:#fff;
        color:var(--orange-dark);
    }

    .brand-mark{
        width:34px;
        height:34px;
    }

    .brand-copy strong{
        font-size:18px;
    }

    .header-actions{
        gap:11px;
    }

    .header-action > span:first-child{
        font-size:18px;
    }

    .main-nav{
        display:none;
    }

    .hero-banner{
        min-height:150px;
        margin:10px 12px 12px;
        align-items:center;
    }

    .hero-image{
        object-position:64% center;
    }

    .hero-banner::before{
        background:linear-gradient(90deg,rgba(255,240,223,.98),rgba(255,240,223,.94) 34%,rgba(255,240,223,.5) 58%,rgba(255,240,223,.05));
    }

    .hero-copy{
        width:70%;
        padding:14px 12px;
    }

    .hero-kicker{
        font-size:11px;
    }

    .hero-copy h1{
        font-size:24px;
    }

    .hero-copy > p:not(.hero-kicker){
        max-width:190px;
        margin-top:4px;
        font-size:8px;
        line-height:1.4;
    }

    .primary-button{
        min-height:27px;
        gap:9px;
        margin-top:7px;
        padding:0 11px;
        font-size:9px;
    }

    .hero-stamp{
        top:10px;
        right:9px;
        width:78px;
        padding:7px 5px;
        transform:rotate(-8deg);
    }

    .hero-stamp span,
    .hero-stamp strong{
        font-size:8px;
    }

    .hero-stamp i{
        margin-top:2px;
        font-size:13px;
    }

    .hero-dots{
        bottom:7px;
        left:50%;
        gap:5px;
        transform:translateX(-50%);
    }

    .hero-dots button{
        width:6px;
        height:6px;
    }

    .store-layout{
        grid-template-columns:minmax(0,1fr);
        gap:10px;
        padding:0 12px 90px;
    }

    .category-panel{
        padding:0;
        overflow:hidden;
        border:0;
        background:transparent;
    }

    .category-panel h2{
        display:none;
    }

    .category-list{
        display:flex;
        gap:8px;
        overflow-x:auto;
        padding:1px 0 5px;
        scrollbar-width:none;
    }

    .category-list::-webkit-scrollbar{
        display:none;
    }

    .category-link{
        min-width:58px;
        min-height:68px;
        display:flex;
        flex:1 0 58px;
        flex-direction:column;
        justify-content:flex-start;
        gap:4px;
        padding:0 2px;
        border-radius:6px;
        background:transparent;
        color:#424a54;
        font-size:8px;
        text-align:center;
    }

    .category-link:hover,
    .category-link.is-active{
        background:transparent;
        color:#424a54;
    }

    .category-icon{
        width:37px;
        height:37px;
        display:grid;
        flex:0 0 auto;
        place-items:center;
        border-radius:50%;
        background:#f26a0a;
        color:#fff;
        font-size:18px;
    }

    .category-link:nth-child(2) .category-icon{
        background:#ffc853;
    }

    .category-link:nth-child(3) .category-icon{
        background:#61b84b;
    }

    .category-link:nth-child(4) .category-icon{
        background:#55b9e8;
    }

    .category-link:nth-child(5) .category-icon{
        background:#f07784;
    }

    .category-arrow{
        display:none;
    }

    .product-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
    }

    .product-image{
        height:clamp(64px,22vw,94px);
    }

    .product-info{
        padding:5px 5px 6px;
    }

    .product-info h3{
        min-height:24px;
        font-size:8px;
    }

    .product-price{
        margin:2px 0 5px;
        font-size:9px;
    }

    .add-button{
        min-height:25px;
        gap:3px;
        font-size:8px;
    }

    .side-column{
        grid-column:auto;
        grid-template-columns:minmax(0,1fr);
        gap:8px;
    }

    .promo-card,
    .store-sign{
        display:none;
    }

    .cart-line{
        grid-template-columns:40px minmax(0,1fr) 20px;
    }

    .cart-line > img{
        width:40px;
        height:40px;
    }

    .cart-line-info h3{
        font-size:9px;
    }

    .cart-line-info p{
        font-size:8px;
    }

    .site-footer{
        padding:14px 12px 78px;
    }

    .mobile-tabbar{
        position:fixed;
        z-index:20;
        right:0;
        bottom:0;
        left:0;
        min-height:58px;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        padding:5px 12px calc(5px + env(safe-area-inset-bottom));
        border-top:1px solid #e9ebee;
        background:rgba(255,255,255,.97);
        box-shadow:0 -4px 16px rgba(31,39,49,.08);
        backdrop-filter:blur(12px);
    }

    .mobile-tab{
        position:relative;
        display:grid;
        align-content:center;
        justify-items:center;
        gap:1px;
        color:#68717d;
        text-decoration:none;
    }

    .mobile-tab > span{
        font-size:20px;
        line-height:1.05;
    }

    .mobile-tab small{
        font-size:8px;
        font-weight:700;
    }

    .mobile-tab.is-active{
        color:var(--orange);
    }

    .mobile-cart-icon i{
        position:absolute;
        top:3px;
        left:calc(50% + 5px);
        min-width:13px;
        height:13px;
        display:grid;
        place-items:center;
        padding:0 3px;
        border-radius:8px;
        background:#ed3847;
        color:#fff;
        font-size:8px;
        font-style:normal;
    }
}