/* ======================================================
   RESET CSS
====================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#ececec;
    font-family:'Montserrat',sans-serif;
    display:flex;
    justify-content:center;
    color:#333;
}

/* ======================================================
   MOBILE WRAPPER
====================================================== */

.mobile-wrapper{
    width:390px;
    min-height:100vh;
    background:#fff;
    overflow:hidden;
    position:relative;
}

/* ======================================================
   HEADER
====================================================== */

header{
    width:100%;
    background:#FF2851;

    padding:28px 20px 30px;

    text-align:center;

    border-bottom-left-radius:35px;
    border-bottom-right-radius:35px;
}

.logo-misty{
    width:150px;
    display:block;
    margin:0 auto 18px;
}

/* ======================================================
   HEADER TEXT
====================================================== */

.header-text{
    margin-top:12px;
}

.header-text h1{
    color:#fff;
    font-size:15px;
    font-weight:400;
    line-height:1.4;
    margin:0;
}

.header-text h1 strong{
    font-weight:700;
}

.header-text p{
    color:#fff;
    font-size:15px;
    font-weight:400;
    line-height:1.5;
    margin-top:0;
}


/* ======================================================
   SOCIAL MEDIA
====================================================== */

.social-media{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    margin-top:22px;
}

.social-media img{
    width:23px;
    transition:.25s;
}

.social-media img:active{
    transform:scale(.92);
}

/* ======================================================
   SEARCH BAR
====================================================== */

.search-box{
    width:calc(100% - 32px);
    height:35px;

    background:#fff;

    border-radius:30px;

    display:flex;
    align-items:center;

    padding:0 18px;

    box-shadow:0 4px 10px rgba(0,0,0,.08);

    margin-top:24px;
    margin-left:auto;
    margin-right:auto;
}

.search-box img{
    width:17px;
    margin-right:12px;
}

.search-box input{
    flex:1;
    border:none;
    outline:none;
    font-family:'Montserrat',sans-serif;
    font-size:13px;
    background:transparent;
}

.search-box input::placeholder{
    color:#999;
}

/* ======================================================
   KATALOG PRODUK
====================================================== */

.catalog-section{
    width:100%;
    padding:35px 20px 35px;
}

.catalog-section h2{
    font-size:17px;
    font-weight:800;
    color:#4D4D4D;
    text-align:center;
    margin-bottom:25px;
}


/* ======================================================
   PRODUCT GRID
====================================================== */

.product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px 14px;
}


/* ======================================================
   PRODUCT CARD
====================================================== */

.product-card{
    background:#fff;
    cursor:pointer;
    transition:.25s;
}

.product-card:active{
    transform:scale(.97);
}


/* ======================================================
   PRODUCT IMAGE
====================================================== */

.product-image{
    width:100%;
    aspect-ratio:1/1;

    background:#fff;

    border-radius:16px;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

    overflow:hidden;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}


/* ======================================================
   PRODUCT INFO
====================================================== */

.product-info{
    padding-top:12px;
    text-align:center;
}

.product-title{
    font-size:11px;
    font-weight:700;
    color:#333;
    line-height:1.35;
}

.product-price{
    font-size:15px;
    font-weight:800;
    color:#FF2851;
    margin-top:6px;
}


/* ======================================================
   PROMO MISTY WEB INVITATION
====================================================== */

.promo-section{
    width:100%;
    background:#842979;
    padding:26px 24px;
}

/* ===================== TOP ===================== */

.promo-top{
    display:flex;
    align-items:flex-start;
transform:translateX(5px);
}

.promo-ring{
    width:72px;
    margin-top:0;
    margin-right:18px;
    flex-shrink:0;
}

.promo-description{
    color:#fff;
    font-size:14px;
    line-height:1.5;
}

.promo-description strong{
    display:block;
    margin-top:2px;
    font-weight:700;
}

/* ===================== BOTTOM ===================== */

.promo-bottom{
    margin-top:18px;
    text-align:center;
}

.promo-link-text{
    color:#FFD400;
    font-size:13px;
    font-style:italic;
    margin-bottom:10px;
}

.promo-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;

    width:245px;
    height:38px;

    background:#FFD400;

    border-radius:30px;

    color:#842979;
    text-decoration:none;

    font-size:15px;
    font-weight:800;

    white-space:nowrap;
}


/* ======================================================
   FOOTER
====================================================== */

footer{
    width:100%;
    padding-top:30px;
    padding-bottom:0;
}

footer img{
    width:100%;
    display:block;
}

/* ======================================================
   POPUP DETAIL PRODUK
====================================================== */

.product-popup{
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100vh;

    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:999;
}

.product-popup.active{
    opacity:1;
    visibility:visible;
}


/* ======================================================
   POPUP CONTENT
====================================================== */

.popup-content{
    width:360px;
    max-height:80vh;
    margin:20px;
    position:relative;
    background:#fff;

    border-radius:24px;

    overflow-y:auto;

    transform:scale(.9);
    filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
    transition:.3s;
}

/* Hilangkan scrollbar tapi tetap bisa scroll */

.popup-content::-webkit-scrollbar{
    display:none;
}

.popup-content{
    -ms-overflow-style:none;
    scrollbar-width:none;
}

.product-popup.active .popup-content{
    transform:scale(1);
}


/* ======================================================
   POPUP CLOSE
====================================================== */

.popup-close{

    position:absolute;

    top:12px;
    right:12px;

    z-index:100;
filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
}

.popup-close button{
    width:34px;
    height:34px;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;

    border:none;
    border-radius:50%;

    background:#f2f2f2;

    font-size:22px;
    font-weight:500;

    line-height:1;
    cursor:pointer;
}


/* ======================================================
   POPUP SLIDER
====================================================== */

.popup-image{
    position:relative;

    width:100%;
    padding:0;

    overflow:hidden;
}

.popup-slider{
    display:flex;
    width:100%;

    transition:.35s ease;
}

.popup-slider img{
    width:100%;
    min-width:100%;

    display:block;

    object-fit:cover;

    border-radius:0;
}

.slider-prev,
.slider-next{

    position:absolute;

    top:50%;
    transform:translateY(-50%);

    width:25px;
    height:25px;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;

    border:none;

    background:transparent;

    box-shadow:none;

    cursor:pointer;

    z-index:10;

}

.slider-prev{
    left:12px;
}

.slider-next{
    right:12px;
}

.slider-prev img,
.slider-next img{

    width:24px;
    height:24px;
filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
    display:block;

}


/* ======================================================
   POPUP SLIDER DOT
====================================================== */

.popup-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin:18px 0 5px;
}

.popup-dots span{
    width:8px;
    height:8px;

    background:#ddd;

    border-radius:50%;
}

.popup-dots span.active{
    background:#4D4D4D;
}


/* ======================================================
   POPUP INFO
====================================================== */

.popup-info{
    padding:22px 20px 70px;
}

.popup-title{
    font-size:18px;
    font-weight:600;
    color:#4D4D4D;
    line-height:1.4;
}

.popup-price{
    font-size:20px;
    font-weight:800;
    color:#FF2851;
    margin-top:10px;
}

.popup-description{
    margin-top:0;

    font-size:13px;
    line-height:1.8;

    color:#555;

    white-space:pre-line;
}


/* ======================================================
   ORDER BUTTON
====================================================== */

.order-button{

    position:sticky;

    bottom:35px;

    width:180px;
    height:42px;

    margin:24px auto 0;

    border:none;
    border-radius:30px;

    background:#25D366;

    color:#fff;

    font-size:15px;
    font-weight:650;

    display:flex;
    justify-content:center;
    align-items:center;

    cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,.18);
    z-index:20;

}


/* ======================================================
   SCROLLBAR
====================================================== */

.popup-content::-webkit-scrollbar{
    width:5px;
}

.popup-content::-webkit-scrollbar-thumb{
    background:#ddd;
    border-radius:20px;
}