
:root{

--orange:#ff6b00;
--orange2:#ff8f3a;
--dark:#0b1220;
--dark2:#151d30;
--white:#ffffff;
--gray:#f4f5f7;
--text:#2b2b2b;
--green:#1fcf63;
--shadow:0 15px 35px rgba(255,107,0,.18);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
scroll-behavior:smooth;
}

body{
background:#fffaf5;
color:var(--text);
overflow-x:hidden;
line-height:1.6;
}

/* ================= HEADER ================= */

.header{

position:sticky;
top:0;
z-index:999;
background:white;
box-shadow:0 5px 20px rgba(0,0,0,.05);

display:flex;
justify-content:space-between;
align-items:center;

padding:18px 7%;

}

.logo-area{
display:flex;
align-items:center;
gap:12px;
}

.logo-area img{
width:48px;
height:48px;
object-fit:contain;
}

.logo-area h2{
font-size:28px;
font-weight:800;
color:var(--orange);
}

.header nav{
display:flex;
gap:28px;
}

.header nav a{
text-decoration:none;
color:#333;
font-weight:600;
transition:.3s;
}

.header nav a:hover{
color:var(--orange);
}

/* ================= HERO ================= */

.hero{

padding:70px 7%;
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:60px;

background:
radial-gradient(circle at top right,#fff2e7 0%,transparent 45%),
radial-gradient(circle at bottom left,#ffe4cb 0%,transparent 35%);

}

.badge{

display:inline-block;
background:#ffe2c7;
color:#d84b00;
font-weight:700;
padding:8px 16px;
border-radius:999px;
margin-bottom:18px;
font-size:14px;

}

.hero h1{

font-size:56px;
font-weight:900;
line-height:1.1;
color:#111827;
margin-bottom:20px;

}

.hero p{

font-size:18px;
color:#555;
margin-bottom:25px;

}

/* Rating */

.rating{
font-size:18px;
color:#ffb400;
font-weight:700;
margin-bottom:20px;
}

.rating span{
color:#666;
margin-left:10px;
}

/* Harga */

.price-box{

margin:20px 0;

}

.old{

text-decoration:line-through;
font-size:20px;
color:#888;

}

.price-box h2{

font-size:52px;
font-weight:900;
color:var(--orange);
margin-top:5px;

}

/* CTA */

.cta-group{
display:flex;
gap:18px;
flex-wrap:wrap;
margin-top:25px;
}

.btn-buy{

background:linear-gradient(90deg,var(--orange),var(--orange2));
color:white;
padding:18px 34px;
border-radius:16px;
text-decoration:none;
font-weight:800;
box-shadow:var(--shadow);
transition:.3s;

}

.btn-buy:hover{
transform:translateY(-4px);
}

.btn-wa{

background:#25D366;
color:white;
padding:18px 30px;
border-radius:16px;
text-decoration:none;
font-weight:800;
transition:.3s;

}

.btn-wa:hover{
transform:translateY(-4px);
background:#1db954;
}

/* Gambar Hero */

.hero-right{
display:flex;
justify-content:center;
align-items:center;
}

/* ================= HERO VIDEO ================= */

.hero-right{
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-video{

    width:100%;
    max-width:430px;
    height:auto;

    border-radius:28px;

    object-fit:cover;

    box-shadow:0 25px 45px rgba(255,107,0,.25);

    animation:float 4s ease-in-out infinite;

}

.hero-video{
    width:100%;
    max-width:430px;
    border-radius:30px;
    border:4px solid rgba(255,255,255,.6);
    box-shadow:
        0 0 35px rgba(255,107,0,.35),
        0 25px 45px rgba(0,0,0,.2);
}

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-12px);
}

100%{
transform:translateY(0px);
}

}

/* ================= GALLERY ================= */

.gallery{

padding:80px 7%;

}

.gallery h2{

text-align:center;
font-size:34px;
font-weight:800;
margin-bottom:40px;
color:#111827;

}

.gallery-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:20px;

}

.gallery-grid img{

width:100%;
height:220px;
object-fit:cover;
border-radius:22px;
transition:.35s;
cursor:pointer;
box-shadow:0 8px 25px rgba(0,0,0,.06);

}

.gallery-grid img:hover{

transform:scale(1.05);
box-shadow:0 18px 35px rgba(255,107,0,.2);

}

/* ================= FITUR ================= */

.features{

padding:90px 7%;
background:#fff4ea;

}

.features h2{

text-align:center;
font-size:36px;
margin-bottom:45px;
font-weight:800;

}

.feature-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:28px;

}

.feature-card{

background:white;
padding:28px;
border-radius:24px;
box-shadow:0 12px 25px rgba(0,0,0,.06);
transition:.35s;

}

.feature-card:hover{

transform:translateY(-8px);
box-shadow:0 18px 30px rgba(255,107,0,.18);

}

.feature-card h3{

font-size:20px;
margin-bottom:12px;
color:var(--orange);

}

.feature-card p{
color:#555;
font-size:15px;
}

/* ================= SPESIFIKASI ================= */

.specs{

padding:90px 7%;

}

.specs h2{

text-align:center;
font-size:34px;
margin-bottom:35px;
font-weight:800;

}

.specs table{

width:100%;
border-collapse:collapse;
background:white;
overflow:hidden;
border-radius:24px;
box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.specs td{

padding:20px;
border-bottom:1px solid #eee;

}

.specs tr td:first-child{

font-weight:700;
width:220px;
background:#fff8f2;
color:var(--orange);

}

.specs tr:last-child td{
border:none;
}

/* ================= REVIEW ================= */

.reviews{

padding:90px 7%;
background:#fff4ea;

}

.reviews h2{

text-align:center;
font-size:34px;
margin-bottom:45px;
font-weight:800;

}

.review-card{

background:white;
padding:25px;
border-radius:20px;
margin-bottom:20px;
box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.review-card h3{

margin-top:10px;
color:var(--orange);

}

.review-card p{

margin-top:10px;
color:#555;

}

/* ================= CTA BAWAH ================= */

.bottom-cta{

padding:90px 7%;
text-align:center;

background:
linear-gradient(135deg,#ff6b00,#ff8f3a);

color:white;

}

.bottom-cta h2{

font-size:24px;
margin-bottom:10px;

}

.bottom-cta h1{

font-size:64px;
font-weight:900;
margin-bottom:15px;

}

.bottom-cta p{

font-size:18px;
opacity:.95;
margin-bottom:30px;

}

.btn-big{

display:inline-block;
padding:22px 40px;
background:white;
color:var(--orange);
font-weight:900;
font-size:20px;
border-radius:18px;
text-decoration:none;
transition:.3s;

}

.btn-big:hover{

transform:scale(1.05);
background:#fff3ea;

}

/* ================= FOOTER ================= */

footer{

background:#111827;
color:#bbb;
padding:40px;
text-align:center;
font-size:15px;

}

/* ================= RESPONSIVE TABLET ================= */

@media(max-width:992px){

.hero{

grid-template-columns:1fr;
text-align:center;
padding-top:50px;

}

.hero-right{
order:-1;
}

.hero h1{
font-size:42px;
}

.price-box h2{
font-size:42px;
}

.cta-group{
justify-content:center;
}

.header{

flex-direction:column;
gap:20px;

}

.header nav{
flex-wrap:wrap;
justify-content:center;
}

}

/* ================= RESPONSIVE MOBILE ================= */

@media(max-width:768px){

.header{

padding:15px 20px;

}

.logo-area h2{
font-size:22px;
}

.header nav{

gap:15px;
font-size:14px;

}

.hero{

padding:40px 20px;

}

.hero h1{
font-size:34px;
}

.hero p{
font-size:16px;
}

.price-box h2{
font-size:38px;
}

.gallery,
.features,
.specs,
.reviews{

padding:60px 20px;

}

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.feature-grid{

grid-template-columns:1fr;

}

.specs td{

padding:15px;
font-size:14px;

}

.bottom-cta{

padding:70px 20px;

}

.bottom-cta h1{
font-size:48px;
}

.btn-buy,
.btn-wa,
.btn-big{

width:100%;
text-align:center;

}

}

/* ================= SCROLLBAR PREMIUM ================= */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-thumb{

background:linear-gradient(var(--orange),var(--orange2));
border-radius:20px;

}

::-webkit-scrollbar-track{

background:#fff5ed;

}


/* ================= LIGHTBOX GALERI ================= */

#lightbox{

position:fixed;
inset:0;
background:rgba(0,0,0,.85);
display:flex;
justify-content:center;
align-items:center;
opacity:0;
visibility:hidden;
transition:.3s;
z-index:9999;

}

#lightbox.show{

opacity:1;
visibility:visible;

}

#lightbox img{

max-width:90%;
max-height:85%;
border-radius:20px;
box-shadow:0 20px 50px rgba(255,255,255,.15);

}

#closeLightbox{

position:absolute;
top:30px;
right:40px;
font-size:45px;
color:white;
cursor:pointer;
font-weight:bold;

}

/* ================= ANIMASI SCROLL ================= */

.hidden{

opacity:0;
transform:translateY(40px);
transition:1s ease;

}

.show{

opacity:1;
transform:translateY(0);

}

/* ================= TOAST ================= */

.toast{

position:fixed;
bottom:30px;
right:30px;
background:#111827;
color:white;
padding:16px 22px;
border-radius:14px;
box-shadow:0 15px 30px rgba(0,0,0,.25);
font-weight:600;
opacity:0;
transform:translateY(30px);
transition:.4s;
z-index:99999;

}

.toast.show{

opacity:1;
transform:translateY(0);

}

/* ================= WISHLIST ACTIVE ================= */

#wishlist.active{

background:#ff6b00;
color:white;
transform:scale(1.1);

}

/* ================= FLOATING BUY BUTTON ================= */

#floatingBuy{

position:fixed;
bottom:25px;
left:50%;
transform:translateX(-50%);
background:linear-gradient(90deg,#ff6b00,#ff8f3a);
color:white;
padding:18px 30px;
border-radius:50px;
font-weight:800;
text-decoration:none;
box-shadow:0 20px 35px rgba(255,107,0,.35);

opacity:0;
pointer-events:none;
transition:.35s;
z-index:999;

}

#floatingBuy.show{

opacity:1;
pointer-events:auto;

}

/* ===== PROMO BOX ===== */

.promo-box{
    margin-top:25px;
    background:#fff;
    border:2px dashed #ff6b00;
    padding:20px;
    border-radius:18px;
}

.promo-box h3{
    color:#ff6b00;
    font-size:32px;
    margin:10px 0;
    font-weight:800;
}

.promo-box strong{
    color:#16a34a;
    font-size:22px;
}

/* ===== ACTION BUTTON ===== */

.action-icons{
    display:flex;
    gap:12px;
    margin-top:20px;
    flex-wrap:wrap;
}

.action-icons button{
    border:none;
    padding:12px 18px;
    border-radius:12px;
    cursor:pointer;
    font-weight:700;
    transition:.3s;
}

#wishlist{
    background:#ffe8e8;
    color:#e11d48;
}

#shareProduct{
    background:#eef2ff;
    color:#2563eb;
}

.action-icons button:hover{
    transform:translateY(-3px);
}

/* ==========================
   VIDEO PLAYER PREMIUM
========================== */

.video-wrapper{
    position:relative;
    width:100%;
    max-width:430px;
}

.hero-video{
    width:100%;
    border-radius:28px;
    display:block;
    object-fit:cover;
}

/* Semua tombol */

.video-btn{
    position:absolute;
    width:48px;
    height:48px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.55);
    color:#fff;

    cursor:pointer;

    backdrop-filter:blur(10px);

    font-size:20px;

    transition:.3s;
}

.video-btn:hover{
    background:#ff6b00;
    transform:scale(1.08);
}

/* Play Pause */

.play-btn{
    bottom:18px;
    left:18px;
}

/* Sound */

.sound-btn{
    bottom:18px;
    right:74px;
}

/* Fullscreen */

.fullscreen-btn{
    bottom:18px;
    right:18px;
}