/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}


/* BODY */

body{
background:#111;
color:#eee;
line-height:1.6;
}


/* HEADER */

header{
background:linear-gradient(90deg,#000,#b30000,#ff6600);
padding:20px;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}


/* LOGO */

.logo{
font-size:24px;
font-weight:bold;
color:#fff;
letter-spacing:2px;
}


/* MENU */

nav a{
color:#fff;
margin:0 10px;
text-decoration:none;
font-weight:bold;
transition:0.3s;
}

nav a:hover{
color:#00aaff;
}


/* CONTAINER */

.container{
max-width:1100px;
margin:auto;
padding:40px 20px;
}


/* HERO */

.hero{
background:linear-gradient(120deg,#b30000,#ff6600);
color:white;
padding:60px 20px;
text-align:center;
border-radius:10px;
}

.hero h1{
font-size:36px;
margin-bottom:10px;
}

.hero p{
font-size:18px;
}


/* BUTTON */

.btn{
display:inline-block;
background:linear-gradient(45deg,#ff6600,#b30000);
color:white;
padding:12px 25px;
margin-top:20px;
text-decoration:none;
border-radius:6px;
font-weight:bold;
transition:0.3s;
}

.btn:hover{
background:linear-gradient(45deg,#0066ff,#7a00ff);
}


/* GRID */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin-top:30px;
}


/* CARD */

.card{
background:#1b1b1b;
padding:20px;
border-radius:10px;
text-align:center;
box-shadow:0 0 10px rgba(0,0,0,0.5);
transition:0.3s;
border:1px solid #333;
}

.card:hover{
transform:translateY(-5px);
border-color:#0066ff;
}


/* IMAGE */

.card img{
width:100%;
border-radius:6px;
margin-bottom:10px;
}


/* TABLE */

table{
width:100%;
border-collapse:collapse;
margin-top:20px;
background:#1b1b1b;
}

table th{
background:#b30000;
color:white;
padding:12px;
}

table td{
padding:12px;
border-bottom:1px solid #333;
text-align:center;
}


/* LIST */

ul{
margin-top:10px;
margin-left:20px;
}


/* FOOTER */

footer{
background:#000;
color:#aaa;
text-align:center;
padding:20px;
margin-top:40px;
border-top:2px solid #ff6600;
}


/* LINK */

a{
color:#00aaff;
}

a:hover{
color:#7a00ff;
}


/* RESPONSIVE */

@media(max-width:768px){

header{
flex-direction:column;
text-align:center;
}

nav{
margin-top:10px;
}

.hero h1{
font-size:28px;
}

}

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;
margin-top:30px;
}

.service-card{
background:white;
padding:18px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
text-align:center;
transition:0.3s;
}

.service-card:hover{
transform:translateY(-5px);
}

.stempel-image-wrap{
position:relative;
}

.stempel-image-wrap img{
width:100%;
border-radius:8px;
}

.harga{
font-size:20px;
font-weight:bold;
color:#ff6600;
margin:10px 0;
}

/* KARTU PRODUK */

.service-card{
background:#ffffff;
color:#222;
padding:18px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
text-align:center;
}

/* JUDUL */

.service-card h3{
color:#111;
margin:10px 0;
}

/* TEXT INFO */

.service-card p{
color:#444;
font-size:14px;
}

/* HARGA */

.service-card .harga{
font-size:20px;
font-weight:bold;
color:#ff6600;
margin:10px 0;
}

/* GAMBAR */

.stempel-image-wrap img{
width:100%;
border-radius:8px;
}

/* BADGE */

.product-badge{
font-size:12px;
padding:4px 8px;
border-radius:5px;
color:white;
margin:2px;
display:inline-block;
}

.product-badge.popular{
background:#ff6600;
}

.product-badge.instansi{
background:#0066ff;
}

.product-badge.standar{
background:#7a00ff;
}

/* FILTER WRAP */

.filter-wrap{
display:flex;
flex-wrap:wrap;
gap:12px;
margin:30px 0;
}

/* FILTER BUTTON */

.filter-btn{
padding:10px 18px;
border:none;
border-radius:30px;
background:#f3f3f3;
color:#333;
font-size:14px;
font-weight:500;
cursor:pointer;
transition:all 0.3s ease;
}

/* HOVER */

.filter-btn:hover{
background:#ff7a00;
color:white;
transform:translateY(-2px);
box-shadow:0 6px 12px rgba(0,0,0,0.15);
}

/* ACTIVE */

.filter-btn.active{
background:#ff7a00;
color:white;
box-shadow:0 4px 10px rgba(0,0,0,0.15);
}

/* MOBILE */

@media(max-width:768px){

.filter-wrap{
justify-content:center;
}

.filter-btn{
font-size:13px;
padding:9px 14px;
}

}

.hero{
min-height:650px;
background-image:linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)), url(images/hero-stempel.jpg);
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
padding:40px 20px;
}

.hero-content{
max-width:720px;
margin:auto;
}

.hero h1{
font-size:42px;
margin-bottom:18px;
line-height:1.2;
}

.hero p{
font-size:18px;
margin-bottom:28px;
line-height:1.6;
opacity:0.95;
}

.btn{
display:inline-block;
background:#ff6a00;
color:white;
padding:14px 30px;
text-decoration:none;
border-radius:8px;
font-weight:600;
transition:all .25s ease;
}

.btn:hover{
background:#e85e00;
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,0.25);
}

@media(max-width:768px){

.hero{
min-height:420px;
padding:30px 20px;
}

.hero h1{
font-size:28px;
}

.hero p{
font-size:16px;
}

}