@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

body{
background:#f4f7fb;
font-family:'Plus Jakarta Sans',sans-serif;
}

/* =========================
   WRAPPER
========================= */

.detail-produk-wrapper{
padding:60px 0 90px;
}

/* =========================
   CARD UTAMA
========================= */

.detail-card{
background:#ffffff;
border-radius:32px;
padding:42px;
border:1px solid #e2e8f0;
box-shadow:
0 20px 50px rgba(15,23,42,.06);
overflow:hidden;
}

/* =========================
   HEADER
========================= */


.detail-badge{
background:
linear-gradient(
135deg,
#f59e0b 0%,
#ea580c 35%,
#2563eb 100%
);

padding:34px 26px;
border-radius:24px;
text-align:center;
margin-bottom:38px;
position:relative;
overflow:hidden;
min-height:auto;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}


.detail-badge::before{
content:'';
position:absolute;
inset:0;
background:
radial-gradient(circle at top right,
rgba(255,255,255,.18),
transparent 40%);
}


.halbar-logo-detail{
width:74px;
height:74px;
object-fit:contain;
margin:0 auto 16px;
display:block;
position:relative;
z-index:2;
}






.detail-title{
font-size:15px;
font-weight:800;
line-height:1.5;
color:#ffffff;

max-width:1000px;
margin:0 auto;

text-align:center;
position:relative;
z-index:2;

white-space:normal;
overflow:visible;
text-overflow:unset;

word-break:break-word;
overflow-wrap:break-word;

padding:0 12px;

letter-spacing:.3px;
}





/* =========================
   META GRID
========================= */

.meta-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));
gap:22px;
margin-bottom:50px;
}

.meta-card{
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:24px;
padding:18px;
text-align:center;
transition:.3s ease;
box-shadow:
0 6px 18px rgba(15,23,42,.04);
}

.meta-card:hover{
transform:translateY(-4px);
box-shadow:
0 16px 32px rgba(15,23,42,.08);
}

.meta-icon{
width:62px;
height:62px;
margin:0 auto 14px;
border-radius:18px;
display:flex;
align-items:center;
justify-content:center;
background:#eff6ff;
font-size:28px;
}

.meta-label{
font-size:13px;
font-weight:800;
letter-spacing:.5px;
text-transform:uppercase;
color:#64748b;
margin-bottom:10px;
}

.meta-value{
font-size:15px;
font-weight:700;
line-height:1.8;
color:#0f172a;
word-break:break-word;
}

/* =========================
   MAP
========================= */

.lokasi-card{
position:relative;
}

.lokasi-map-link{
display:inline-flex;
align-items:center;
gap:10px;
font-size:15px;
font-weight:800;
color:#2563eb;
text-decoration:none;
}

.lokasi-map-link i{
font-size:15px;
}

.map-preview-card{
display:none;
margin-top:18px;
border-radius:20px;
overflow:hidden;
border:1px solid #dbeafe;
box-shadow:
0 10px 24px rgba(15,23,42,.08);
}

.map-preview-card iframe{
width:100%;
height:260px;
border:none;
display:block;
}

.lokasi-card:hover .map-preview-card{
display:block;
}

/* =========================
   ABSTRAK
========================= */

.detail-section-title{
font-size:28px;
font-weight:900;
margin-bottom:20px;
text-align:center;
color:#0f172a;
}

.detail-abstrak{
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:24px;
padding:34px;
font-size:20px;
line-height:2.2;
color:#1e293b;
text-align:justify;
font-family:
Georgia,
'Times New Roman',
serif;

box-shadow:
0 8px 22px rgba(15,23,42,.05);

margin-bottom:50px;
}

/* =========================
   PDF
========================= */

.pdf-wrapper{
border-radius:24px;
overflow:hidden;
border:1px solid #e2e8f0;
box-shadow:
0 14px 32px rgba(15,23,42,.08);
margin-bottom:34px;
}

.pdf-wrapper iframe{
width:100%;
height:820px;
border:none;
}

/* =========================
   BUTTON
========================= */

.detail-action{
display:flex;
gap:16px;
flex-wrap:wrap;
}

.btn-detail-dark{
display:inline-flex;
align-items:center;
gap:10px;
padding:16px 28px;
border-radius:18px;
background:
linear-gradient(135deg,#dc2626,#b91c1c);
color:#fff;
font-weight:800;
font-size:17px;
text-decoration:none;
transition:.3s;
}

.btn-detail-dark:hover{
transform:translateY(-3px);
color:#fff;
}

.btn-detail-light{
display:inline-flex;
align-items:center;
justify-content:center;
padding:16px 28px;
border-radius:18px;
background:#ffffff;
border:1px solid #cbd5e1;
color:#2563eb;
font-weight:800;
font-size:17px;
text-decoration:none;
transition:.3s;
}

.btn-detail-light:hover{
background:#eff6ff;
transform:translateY(-3px);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

.detail-card{
padding:18px;
}





.detail-title{
font-size:14px;
font-weight:800;
line-height:1.9;
color:#ffffff;

max-width:900px;
margin:0 auto;

text-align:center;
position:relative;
z-index:2;

white-space:normal;
overflow:visible;
text-overflow:unset;

word-break:break-word;
overflow-wrap:break-word;

padding:0 12px;

letter-spacing:.3px;
}





.meta-grid{
grid-template-columns:1fr;
}

.detail-abstrak{
font-size:17px;
padding:18px;
}

.pdf-wrapper iframe{
height:560px;
}

.btn-detail-dark,
.btn-detail-light{
width:100%;
justify-content:center;
}

}

/* =========================
   PREMIUM ABSTRACT TYPOGRAPHY
========================= */

.detail-abstrak{
font-family:
'Georgia',
'Times New Roman',
serif !important;

font-size:20px !important;
line-height:2.25 !important;

letter-spacing:.2px;
word-spacing:1.5px;

text-rendering:optimizeLegibility;
-webkit-font-smoothing:antialiased;
}

.detail-abstrak::first-letter{
font-size:58px;
font-weight:900;
line-height:1;
float:left;
padding-right:10px;
padding-top:8px;
margin-top:4px;

color:#dc2626;

font-family:
'Times New Roman',
serif;
}

@media(max-width:768px){

.detail-abstrak{
font-size:18px !important;
line-height:2.1 !important;
}

.detail-abstrak::first-letter{
font-size:44px;
padding-right:8px;
}

}



/* =========================
   BADGE PERDA
========================= */



.kategori-label i{
font-size:28px;
color:#ffffff;
}



/* =========================
   CLEAN HEADER LABEL
========================= */

.kategori-label{
display:flex;
align-items:center;
justify-content:center;

font-size:25px;
font-weight:900;
color:#ffffff;

margin-bottom:18px;

position:relative;
z-index:2;

letter-spacing:.6px;
text-transform:uppercase;
}



.detail-card{
max-width:1400px;
margin:auto;
}

.meta-grid{
gap:16px;
}

.detail-section-title{
font-size:24px;
margin-bottom:14px;
}

.detail-abstrak{
font-size:16px;
line-height:1.8;
}

@media(max-width:768px){

.detail-title{
font-size:16px!important;
}

.meta-value{
font-size:14px!important;
}

.meta-grid{
grid-template-columns:1fr;
}

}

/* =====================================
JUDUL BESAR KHUSUS DETAIL PERBUP
===================================== */

.gradient-title-wrapper{

font-size:42px;

font-weight:900;

color:#ffffff;

text-align:center;

margin-bottom:18px;

letter-spacing:.8px;

text-transform:uppercase;

line-height:1.3;

text-shadow:
0 4px 18px rgba(0,0,0,.35);

position:relative;

z-index:5;
}

/* MOBILE */

@media(max-width:768px){

.gradient-title-wrapper{

font-size:28px;

line-height:1.4;

}

}


/* =====================================
ANIMASI JUDUL PERBUP
===================================== */

.gradient-title-wrapper{

animation:
titleFloat 4s ease-in-out infinite,
titleGlow 3s ease-in-out infinite;

}

/* FLOAT */

@keyframes titleFloat{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-6px);
}

100%{
transform:translateY(0px);
}

}

/* GLOW */

@keyframes titleGlow{

0%{

text-shadow:
0 0 10px rgba(255,255,255,.15),
0 0 20px rgba(255,255,255,.10);

}

50%{

text-shadow:
0 0 22px rgba(255,255,255,.55),
0 0 42px rgba(255,255,255,.35);

}

100%{

text-shadow:
0 0 10px rgba(255,255,255,.15),
0 0 20px rgba(255,255,255,.10);

}

}


/* =====================================
DETAIL TITLE KHUSUS SK
===================================== */

.detail-produk-wrapper .detail-title{

font-size:34px !important;

font-weight:900;

color:#ffffff;

line-height:1.5;

text-align:center;

max-width:1100px;

margin:18px auto 0;

position:relative;

z-index:5;

text-shadow:
0 4px 18px rgba(0,0,0,.35);

}

/* MOBILE */

@media(max-width:768px){

.detail-produk-wrapper .detail-title{

font-size:24px !important;

line-height:1.4;

}

}

