/* =========================
   GOOGLE STYLE RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#F8F4EF;

    color:#3A2D28;

    overflow-x:hidden;

}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

/* =========================
   ROOT
========================= */

:root{

    --primary:#B87557;
    --primary-hover:#A9684C;

    --secondary:#DCC5B3;

    --bg:#F8F4EF;

    --dark:#3A2D28;

    --white:#FFFFFF;

    --border:#E6D8CD;

    --shadow:
    0 15px 40px rgba(0,0,0,.08);

}
/* =========================
   NAVBAR
========================= */

.navbar{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:999;

    background:
    rgba(248,244,239,.95);

    backdrop-filter:blur(15px);

    border-bottom:
    1px solid rgba(0,0,0,.05);

}

.navbar .container{

    height:90px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo img{

    width:48px;
    height:48px;

    object-fit:contain;

}

.logo span{

    font-size:22px;

    font-weight:600;

}

.btn-nav{

    background:var(--primary);

    color:white;

    padding:14px 28px;

    border-radius:999px;

    font-weight:500;

    transition:.3s;

}

.btn-nav:hover{

    background:
    var(--primary-hover);

}
/* =========================
   HERO
========================= */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
    180deg,
    #F8F4EF 0%,
    #F4EEE8 100%
    );

}

.hero::before{

    content:"";

    position:absolute;

    width:900px;
    height:900px;

    border-radius:50%;

    right:-350px;
    top:-250px;

    background:
    rgba(184,117,87,.06);

}
.hero-badges{

    display:flex;

    gap:12px;

    margin-bottom:25px;

    flex-wrap:wrap;

}
.hero-badges span{

    background:white;

    padding:10px 18px;

    border-radius:999px;

    box-shadow:
    0 8px 20px rgba(0,0,0,.05);

    font-size:.9rem;

}

.hero-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    align-items:center;

    gap:60px;

}

.hero-label{

    color:var(--primary);

    font-size:.85rem;

    letter-spacing:4px;

    font-weight:600;

}

.hero-content h1{

    font-family:
    'Cormorant Garamond',serif;

    font-size:5.2rem;

    line-height:1;

    margin:20px 0;

}

.hero-content p{

    font-size:1.1rem;

    line-height:1.8;

    color:#6A5C54;

    max-width:520px;

}

.hero-buttons{

    display:flex;

    gap:16px;

    margin-top:35px;

}

.btn-primary{

    background:var(--primary);

    color:white;

    padding:16px 32px;

    border-radius:999px;

    font-weight:500;

    transition:.3s;

}

.btn-primary:hover{

    background:
    var(--primary-hover);

}

.btn-secondary{

    border:
    1px solid var(--primary);

    color:var(--primary);

    padding:16px 32px;

    border-radius:999px;

    transition:.3s;

}

.btn-secondary:hover{

    background:var(--primary);

    color:white;

}
.hero-image{

    position:relative;

    height:650px;

}

.phone{

    position:absolute;

    width:230px;

    background:#181818;

    padding:4px;

    border-radius:36px;

    border: 1.5px solid #2D2A29;

    box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.25),
    inset 0 0 8px rgba(255,255,255,0.1);

}

.phone::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 50%);
    pointer-events: none;
    z-index: 3;
}

.phone img{

    border-radius:30px;

}

.phone-center{

    left:50%;

    top:40px;

    transform:
    translateX(-50%);

    z-index:5;

}

.phone-left{

    left:20px;

    top:120px;

    transform:
    rotate(-18deg);

    opacity:1;

}

.phone-right{

    right:20px;

    top:120px;

    transform:
    rotate(18deg);

    opacity:1;

}
.phone{

    transition:.4s;
}
.hero:hover .phone-left{

    transform:
    rotate(-18deg)
    translateY(-10px);

}
.hero:hover .phone-right{

    transform:
    rotate(18deg)
    translateY(-10px);

}
.hero:hover .phone-center{

    transform:
    translateX(-50%)
    translateY(-10px);

}
/* =========================
   FEATURES
========================= */

.features{

    padding:120px 0;

    background:
    linear-gradient(
        rgba(91, 59, 45, .82),
        rgba(91, 59, 45, .82)
    ),
    url("../images/assets/85d108980ca46f31672e2a5a5023499a.jpg");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

}

.features h2{

    text-align:center;

    font-family:'Cormorant Garamond', serif;

    font-size:3rem;

    margin-bottom:60px;

}
/* =========================
   SECTION HEADING
========================= */

.section-heading{

    text-align:center;

    max-width:850px;

    margin:0 auto 60px;

}

.section-label{

    display:inline-block;

    color:#DCC5B3;

    letter-spacing:3px;

    font-size:.8rem;

    font-weight:600;

    margin-bottom:15px;

}

.section-heading h2{

    font-family:
    'Cormorant Garamond', serif;

    font-size:3.5rem;

    margin-bottom:20px;

    color:white;

}

.section-description{

    font-size:1.05rem;

    line-height:1.9;

    color:rgba(255,255,255,.85);

}

.feature-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

}

.feature-card{

    background:white;

    padding:35px;

    border-radius:24px;

    text-align:center;

    box-shadow:
    var(--shadow);

    transition:.3s;

}

.feature-card:hover{

    transform:
    translateY(-8px);

}

.feature-card h3{

    margin:15px 0;

}

.feature-card p{

    color:#6D635D;

}
.stats{

    margin-top:-80px;

    position:relative;

    z-index:10;

}
.stats-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:20px;

}
.stat-card{

    background:white;

    padding:30px;

    border-radius:24px;

    text-align:center;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

}
.stat-card h3{

    color:var(--primary);

    font-size:2rem;

    margin-bottom:10px;

}
.stat-card p{

    color:#6D635D;

}
/* =========================
   CATEGORY
========================= */

.category-section{

    position:relative;

    background:
    linear-gradient(
        180deg,
        #FCF9F6 0%,
        #F5EEE8 100%
    );

    margin:0 auto;

    width:90%;

    max-width:1300px;

    padding:100px 60px 50px;

    border-radius:40px 40px 0 0;

    overflow:hidden;

}

.category-section h2{

    text-align:center;

    font-size:3rem;

    font-family:
    'Cormorant Garamond',serif;

    margin-bottom:40px;

}

.category-list{

    position:relative;

    z-index:2;

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:15px;

}

.category-btn{

    background:white;

    border:1px solid var(--border);

    color:var(--dark);

    padding:14px 28px;

    border-radius:999px;

    cursor:pointer;

    font-weight:500;

    transition:.3s;

}

.category-btn:hover{

    transform:translateY(-3px);

}

.category-btn.active{

    background:var(--primary);

    color:white;

    border-color:var(--primary);

}
/* =========================
   KATALOG
========================= */

.catalog{

    position:relative;

    background:
    linear-gradient(
        180deg,
        #F5EEE8 0%,
        #FCF9F6 100%
    );

    width:90%;

    max-width:1300px;

    margin:0 auto 120px;

    padding:50px 60px 100px;

    border-radius:0 0 40px 40px;

    overflow:hidden;

}

.catalog h2{

    text-align:center;

    font-size:3rem;

    font-family:'Cormorant Garamond',serif;

    margin-bottom:60px;

}

.catalog-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

/* CARD */

.card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.card:hover{

    transform:
    translateY(-8px);

}

.card-preview{

    height:260px;

    overflow:hidden;

    background:#f5f5f5;

}

/* FOTO SHOWCASE */

.template-image{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.card:hover .template-image{

    transform:scale(1.05);

}

/* ISI CARD */

.card-content{

    padding:24px;

}

.card-content h3{

    font-family:
    'Poppins',sans-serif;

    font-weight:600;

    font-size:1.4rem;

    margin-bottom:15px;

    color:#3A2D28;

}

.old-price{

    font-size:1rem;

    color:#999;

    text-decoration:line-through;

    margin-bottom:5px;

}

.price{

    font-size:1.8rem;

    font-weight:700;

    color:var(--primary);

    margin-bottom:20px;

}

.card-btn{

    display:block;

    position:relative;
    z-index:950;

    width:100%;

    text-align:center;

    background:var(--primary);

    color:white;

    padding:14px;

    border-radius:999px;

    transition:.3s;

}

.card-btn:hover{

    background:
    var(--primary-hover);

}
.steps{

    padding:120px 0;

    background:white;

}
.steps h2{

    text-align:center;

    margin-bottom:60px;

    font-size:3rem;

    font-family:
    'Cormorant Garamond',serif;

}
.steps-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;

}
.step-card{

    background:var(--bg);

    padding:35px;

    border-radius:24px;

    text-align:center;

}
.step-card span{

    width:60px;
    height:60px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin:auto;

    background:var(--primary);

    color:white;

    border-radius:50%;

    font-size:1.4rem;

    margin-bottom:20px;

}
/* =========================
   DIVIDER SECTION
========================= */

.divider-section{

    padding:20px 0 100px;

}

.divider-line{

    display:flex;

    align-items:center;

    justify-content:center;

    max-width:500px;

    margin:0 auto 60px;

}

.divider-line::before,
.divider-line::after{

    content:"";

    flex:1;

    height:1px;

    background:var(--border);

}

.divider-line span{

    margin:0 25px;

    color:var(--primary);

    font-size:20px;

}

.divider-stats{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

}

.divider-item{

    background:white;

    padding:35px;

    border-radius:24px;

    text-align:center;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

    transition:.3s;

}

.divider-item:hover{

    transform:
    translateY(-6px);

}

.divider-item h3{

    color:var(--primary);

    font-size:2.2rem;

    margin-bottom:10px;

}

.divider-item p{

    color:#6D635D;

}
.category-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:
    rgba(184,117,87,.08);

    filter:blur(80px);

    top:-200px;
    right:-150px;

}

.catalog::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:
    rgba(184,117,87,.08);

    filter:blur(80px);

    bottom:-250px;
    left:-150px;

}
/* =========================
   FOOTER
========================= */

footer{

    background:#B87557;

    color:white;

    padding:80px 0 40px;

}

.footer-title{

    text-align:center;

    margin-bottom:40px;

}

.footer-title h3{

    font-size:3rem;

    font-family:'Cormorant Garamond',serif;

}

/* LAYOUT */

.footer-content{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:50px;

    align-items:center;

    margin-bottom:50px;

}

/* KOLOM KIRI */

.footer-left{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:35px;

}

.footer-info{

    text-align:left;

}

.footer-info h4{

    font-size:1.25rem;

    margin-bottom:10px;

    font-weight:600;

    color:white;

}

.footer-info p{

    color:white;

    line-height:1.9;

    opacity:.95;

}

/* MAPS */

.footer-right iframe{

    width:100%;

    height:380px;

    border:none;

    border-radius:24px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.15);

}

/* SOSIAL MEDIA */

.footer-social{

    display:flex;

    justify-content:center;

    gap:40px;

    flex-wrap:wrap;

    margin-top:50px;

    margin-bottom:40px;

}

.social-link{

    display:flex;

    align-items:center;

    gap:12px;

    color:white;

    text-decoration:none;

    font-weight:500;

    transition:.3s;

}

.social-link:hover{

    transform:translateY(-3px);

    opacity:.8;

}

.social-link img{

    width:28px;

    height:28px;

    object-fit:contain;

}

.social-link span{

    color:white;

}

/* COPYRIGHT */

.footer-copy{

    text-align:center;

    font-size:.95rem;

    line-height:1.8;

    opacity:.85;

}

/* =========================
   FLOATING WA BUTTON
========================= */

.floating-wa{

    position:fixed;

    bottom:28px;
    right:20px;

    z-index:60;

    width:40px;
    height:40px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:1.6rem;

    box-shadow:
    0 6px 24px rgba(37,211,102,.45);

    transition:.3s;

    text-decoration:none;

}

.floating-wa img{

    width:35px;
    height:35px;

}

.floating-wa:hover{

    transform:scale(1.1);

    box-shadow:
    0 10px 30px rgba(37,211,102,.55);

}

/* =========================
   MOBILE — 768px
========================= */

@media (max-width:768px){

/* CONTAINER */

.container{
    width:92%;
}

/* ── NAVBAR ── */

.navbar{
    background: transparent;
    backdrop-filter: blur(10px);
    border-bottom: none;
}

.navbar .container{
    height: 70px;
}

.logo img{
    width: 36px;
    height: 36px;
}

.logo span{
    font-size: 16px;
    font-weight: 700;
    color: #3A2D28;
}

.btn-nav{
    background: #FFF0E5;
    color: #B87557;
    padding: 10px 20px;
    font-size: .85rem;
    font-weight: 600;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(184, 117, 87, 0.12);
    white-space: nowrap;
}

/* ── HERO ── */

.hero{
    min-height: auto;
    padding: 85px 0 45px;
    background: linear-gradient(180deg, #EAD7CD 0%, #F8F4EF 100%);
    position: relative;
}

/* Lengkungan Gelombang Estetik di dasar Hero */
.hero::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 70px;
    background: #F8F4EF; /* Menyatu dengan warna transisi */
    clip-path: ellipse(70% 100% at 50% 100%);
    z-index: 3;
}

.hero-grid{
    grid-template-columns: 1fr;
    gap: 0;
    text-align: left;
}

.hero-content{
    order: 1;
    padding-top: 10px;
    position: relative;
    z-index: 8;
}

.hero-image{
    order: 2;
    height: 240px;
    margin-top: 25px; /* Naikkan posisi kontainer gambar HP */
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    perspective: 900px; /* Aktifkan mode 3D Perspective */
    z-index: 6;
}

.hero-label{
    font-size: .75rem;
    letter-spacing: 2px;
    color: #B87557;
    text-transform: uppercase;
    font-weight: 600;
}

.hero-content h1{
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.15;
    margin: 8px 0 10px;
    text-align: left;
    color: #3A2D28;
}

.hero-content p,
.hero-desc{
    display: block !important;
    font-size: 1rem;
    line-height: 1.6;
    color: #6A5C54;
    margin-bottom: 20px;
    text-align: left;
}

.hero-buttons{
    justify-content: flex-start;
    margin-top: 0;
    margin-bottom: 10px;
}

.btn-primary{
    background: #FFF0E5;
    color: #B87557;
    padding: 14px 28px;
    font-size: .95rem;
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(184, 117, 87, 0.15);
}

/* ── PHONE MOCKUP (3D Clay Premium) ── */

.phone{
    position: absolute;
    width: 90px;
    padding: 3px;
    border-radius: 20px;
    box-shadow: 
        0 15px 35px rgba(58, 45, 40, 0.15),
        inset 0 0 8px rgba(0,0,0,0.06);
    transition: .4s ease-out;
    opacity: 0;
    transform-style: preserve-3d;
}

/* Ground Shadow (Bayangan Realistis 3D di permukaan) */
.phone::before {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 10%;
    width: 80%;
    height: 10px;
    background: rgba(58, 45, 40, 0.25);
    border-radius: 50%;
    filter: blur(6px);
    z-index: -1;
    display: block !important;
}

.phone img{
    border-radius: 15px;
}

/* HP Tengah (Paling Depan - Bersandar 3D) */
.phone-center{
    left: 50%;
    bottom: 25px;
    top: auto;
    z-index: 7;
    animation: drop-center-3d 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.1s;
}

/* HP Kiri (Di Belakang Kiri - Bersandar 3D Direnggangkan) */
.phone-left{
    display: block !important;
    left: calc(50% - 94px);
    bottom: 15px;
    top: auto;
    z-index: 5;
    animation: drop-left-3d 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.3s;
}

/* HP Kanan (Di Belakang Kanan - Bersandar 3D Direnggangkan) */
.phone-right{
    right: calc(50% - 94px);
    bottom: 15px;
    top: auto;
    z-index: 6;
    animation: drop-right-3d 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.5s;
}

/* Keyframes Animasi Bersandar 3D Realistis */
@keyframes drop-center-3d {
    0% {
        transform: translate(-50%, -120px) rotateY(-40deg) rotateX(25deg) scale(0.8);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, 0) rotateY(-4deg) rotateX(10deg) rotateZ(-2deg) scale(1);
        opacity: 1;
    }
}

@keyframes drop-left-3d {
    0% {
        transform: translateY(-120px) rotateY(40deg) rotateX(25deg) scale(0.8);
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotateY(18deg) rotateX(12deg) rotateZ(-15deg) scale(0.95);
        opacity: 1;
    }
}

@keyframes drop-right-3d {
    0% {
        transform: translateY(-120px) rotateY(-40deg) rotateX(25deg) scale(0.8);
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotateY(-18deg) rotateX(12deg) rotateZ(15deg) scale(0.95);
        opacity: 1;
    }
}

/* ── DIVIDER ── */

.divider-section{
    padding:10px 0 60px;
}

/* ── TENTANG / FEATURES ── */

.features{
    padding:70px 0;
}

.section-heading{
    margin:0 auto 40px;
}

.section-heading h2{
    font-size:2.2rem;
    line-height:1.2;
}

.section-description{
    font-size:.95rem;
    line-height:1.85;
}

/* ── KATEGORI ── */

.category-section{
    width:100%;
    border-radius:28px 28px 0 0;
    padding:55px 16px 36px;
}

.category-section h2{
    font-size:2.2rem;
    margin-bottom:24px;
}

.category-list{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    gap:10px;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

.category-list::-webkit-scrollbar{
    display:none;
}

.category-btn{
    padding:11px 20px;
    font-size:.85rem;
    white-space:nowrap;
    flex-shrink:0;
}

/* ── KATALOG ── */

.catalog{
    width:100%;
    border-radius:0 0 28px 28px;
    padding:36px 16px 130px;
    margin:0 auto 80px;
}

.catalog h2{
    font-size:2.2rem;
    margin-bottom:30px;
}

.catalog-grid{
    grid-template-columns:
    repeat(2,1fr);
    gap:16px;
}

.card{
    border-radius:18px;
}

.card-preview{
    height:180px;
}

.card-content{
    padding:16px;
}

.card-content h3{
    font-size:1.35rem;
    margin-bottom:10px;
}

.old-price{
    font-size:.8rem;
}

.price{
    font-size:1.3rem;
    margin-bottom:14px;
}

.card-btn{
    padding:12px;
    font-size:.85rem;
}

/* ── FOOTER ── */

footer{
    padding:60px 0 36px;
}

.footer-title{
    margin-bottom:28px;
}

.footer-title h3{
    font-size:2.2rem;
}

.footer-content{
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:36px;
}

.footer-left{
    text-align:center;
    gap:24px;
}

.footer-info{
    text-align:center;
}

.footer-info h4{
    font-size:1.1rem;
}

.footer-info p{
    font-size:.9rem;
}

.footer-right iframe{
    height:220px;
    border-radius:18px;
}

.footer-social{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    margin-top:36px;
    margin-bottom:28px;
}

.social-link{
    flex-direction:column;
    gap:6px;
    text-align:center;
}

.social-link img{
    width:34px;
    height:34px;
}

.social-link span{
    font-size:.78rem;
}

.footer-copy{
    font-size:.85rem;
    padding:0 16px;
}

}

/* =========================
   MOBILE — 480px
========================= */

@media (max-width:480px){

.hero{
    padding: 75px 0 25px;
}

.hero::after {
    height: 50px;
}

.hero-content h1{
    font-size: 1.8rem;
}

.hero-content p,
.hero-desc{
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.hero-image{
    height: 190px;
    margin-top: 10px; /* Kurangi margin untuk menaikkan HP */
}

.phone{
    width: 76px; /* Perkecil sedikit agar proporsional */
    border-radius: 16px;
    padding: 2.5px;
}

.phone img{
    border-radius: 12px;
}

.phone-center{
    left: 50%;
    bottom: 18px; /* Naikkan bottom */
}

.phone-left{
    left: calc(50% - 80px); /* Direnggangkan agar desain belakang tersingkap */
    bottom: 8px; /* Naikkan bottom */
}

.phone-right{
    right: calc(50% - 80px); /* Direnggangkan agar desain belakang tersingkap */
    bottom: 8px; /* Naikkan bottom */
}

.catalog-grid{
    grid-template-columns:
    repeat(2,1fr);
    gap:12px;
}

.card-preview{
    height:160px;
}

.card-content{
    padding:12px;
}

.card-content h3{
    font-size:1.2rem;
    margin-bottom:8px;
}

.price{
    font-size:1.15rem;
    margin-bottom:12px;
}

.card-btn{
    padding:10px;
    font-size:.8rem;
}

.category-section h2,
.catalog h2,
.footer-title h3{
    font-size:2rem;
}

.footer-social{
    gap:16px;
}

.social-link span{
    font-size:.75rem;
}

}
