: root {
	--text: #2d1f1a;
	--muted: #8f8b87;
	--border: #e7e3e1;
	--primary: #b0715c;
	--bg: #f6f4f3;
}

/* HEADER PUTIH */
.program-header {
	background: #ffffff;
	border-bottom: 1px solid #e7e3e1;
}

/* CONTENT ABU */
.program-content-container {
	background: #f6f4f3;
	padding-left: 115px;
	padding-right: 115px;
	padding-top: 10px;
	padding-bottom: 100px;
}

.program-container {
	margin-top: 40px;
	margin-left: 95px;
	margin-right: 95px;
	padding: 0 20px;
}

/* HEADER */
.program-breadcrumb {
	font-size: 13px;
	color: #888;
	margin-bottom: 12px;
}

h1 {
	font-size: 34px;
	font-weight: 700;
}

.program-subtitle {
	margin-top: 5px;
	font-size: 14px;
	color: #7a7a7a;
}

.program-divider {
	margin: 20px 0;
	border-bottom: 1px solid var(--border);
}

/* TABS */
.program-tabs {
	display: flex;
	gap: 32px;
	border-bottom: 1px solid #e7e3e1;
}

.program-tab {
	position: relative;
	padding: 12px 0;
	font-size: 14px;
	color: #9c9793;
	cursor: pointer;
}

.program-tab.active {
	color: #2d1f1a;
	font-weight: 600;
}

.program-tab.active: : after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	height: 2px;
	width: 100%;
	background: #b0715c; /* warna underline */
}

.program-tab.program-active {
	color: var(--text);
	font-weight: 600;
}

.program-tab.program-active: : after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 2px;
	width: 100%;
	background: var(--primary);
}

.program-count {
	background: #3a2a25;
	color: #fff;
	font-size: 11px;
	padding: 2px 6px;
	border-radius: 10px;
	margin-left: 6px;
}

/* TOP BAR */
.program-topbar {
	margin: 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.program-info {
	font-size: 13px;
	color: var(--muted);
}

.program-select {
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid var(--border);
	font-size: 13px;
	background: #fff;
}

/* GRID */
.program-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	background: #f6f4f3;
}

/* CARD */
.program-card {
	background: #fff;
	border-radius: 14px;
	border: 1px solid var(--border);
	overflow: hidden;
}

.program-thumb {
	height: 200px;
	position: relative;
	overflow: hidden;
}

.program-thumb .image {
    width: 100%;
    height: 300px; /* tentukan tinggi agar bisa efek crop */
    background: #e6d6cf;
    overflow: hidden;
}

.program-thumb .image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* ini kunci crop otomatis */
    display: block;
	object-position: center; /* bisa: center, top, bottom, left, right */
}

/* pattern kiri */
.program-pattern1 {
	background: 
	repeating-linear-gradient(45deg,#e9dad3 0 10px,#f2e6e1 10px 20px);
}

/* pattern kanan */
.program-pattern2 {
	background: 
	linear-gradient(#e6d6b8 1px, transparent 1px),
	linear-gradient(90deg,#e6d6b8 1px, transparent 1px);
	background-size: 30px 30px;
	background-color: #f3e7cd;
}

.program-thumb span {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	letter-spacing: 1px;
	color: #7a6a63;
}

/* CONTENT */
.program-content {
	padding: 18px;
}

.program-badges {
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
}

.program-badge {
	font-size: 11px;
	padding: 4px 8px;
	border-radius: 10px;
	background: #f1efee;
}

.program-badge.program-purple {
	background: #eee7ff;
	color: #6b5bd6;
}

.program-badge.program-green {
	background: #e7f4ea;
	color: #3c8c5d;
}

.program-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.program-4;
	margin-bottom: 10px;
}

.program-meta {
  font-size: 13px;
  color: #7f7a75;
  margin-bottom: 6px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.program-meta svg {
	width: 14px;
	height: 14px;
}

.program-desc {
	font-size: 14px;
	color: #6f6a66;
	line-height: 1.program-6;
	margin: 10px 0 16px;
}

/* FOOTER */
.program-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.program-link {
	font-size: 14px;
	color: var(--primary);
	cursor: pointer;
}

.program-btn {
	background: #b0715c;
	color: #fff;
	border: none;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 13px;
	cursor: pointer;
}

@media(max-width: 768px) {
	.program-content-container {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 60px;
    }
	
	.program-container {
        margin-left: 20px;
        margin-right: 20px;
        padding: 0;
    }
	
	.program-grid {
        grid-template-columns: 1fr; /* jadi 1 kolom */
        gap: 16px;
    }
	
	.program-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
	
	.program-tabs {
        overflow-x: auto;
        gap: 20px;
        white-space: nowrap;
    }
	
	.program-tab {
        flex: 0 0 auto;
    }
	
	.program-thumb {
        height: 180px;
    }
	
    .program-thumb .image {
        height: 180px;
    }
	
	.program-title {
        font-size: 16px;
    }
	
    .program-desc {
        font-size: 13px;
    }
	
    .program-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
	
    .program-btn {
        width: 100%;
        text-align: center;
    }
}