/* Add here all your CSS customizations */

/* ===== Pagination modern (config/pagination.php + MY_Pagination) ===== */
.pagination-wrap {
	display: flex;
	justify-content: center;
	margin-top: 1rem;
}
.pagination.pagination-modern {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	float: none;
}
.pagination.pagination-modern > li > .page-link,
.pagination.pagination-modern > li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #e6e0d4;
	border-radius: 10px !important;
	background: #fff;
	color: #4a4a4a;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1;
	transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s, transform .2s;
}
.pagination.pagination-modern > li > a.page-link:hover,
.pagination.pagination-modern > li > a.page-link:focus {
	background: #faf5ec;
	border-color: #CFA968;
	color: #a9823f;
	box-shadow: none;
	transform: translateY(-1px);
}
.pagination.pagination-modern > li > a.page-link:focus-visible {
	outline: 2px solid #CFA968;
	outline-offset: 2px;
}
.pagination.pagination-modern .page-item.active .page-link {
	background-color: #CFA968 !important;
	border-color: #CFA968;
	color: #fff;
	box-shadow: 0 6px 14px -6px rgba(169, 130, 63, .7);
	cursor: default;
}
.pagination.pagination-modern .page-prev .page-link,
.pagination.pagination-modern .page-next .page-link {
	font-size: 0.8rem;
}
.pagination.pagination-modern .page-gap > span {
	min-width: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #9a9a9a;
}

@media (max-width: 575px) {
	.pagination.pagination-modern {
		gap: 3px;
	}
	.pagination.pagination-modern > li > .page-link,
	.pagination.pagination-modern > li > span {
		min-width: 32px;
		height: 34px;
		padding: 0 7px;
		border-radius: 8px !important;
		font-size: 0.85rem;
	}
	.pagination.pagination-modern .page-gap > span {
		min-width: 16px;
	}
	/* Mobile: hanya halaman aktif ± 1, plus halaman pertama/terakhir */
	.pagination.pagination-modern .page-num {
		display: none;
	}
	.pagination.pagination-modern .page-num:first-of-type,
	.pagination.pagination-modern .page-prev + .page-num,
	.pagination.pagination-modern .page-num:has(+ .page-next),
	.pagination.pagination-modern .page-num:last-of-type,
	.pagination.pagination-modern .page-num:has(+ .active),
	.pagination.pagination-modern .active + .page-num {
		display: list-item;
	}
}
@media (max-width: 359px) {
	.pagination.pagination-modern {
		gap: 2px;
	}
	.pagination.pagination-modern > li > .page-link,
	.pagination.pagination-modern > li > span {
		min-width: 28px;
		padding: 0 5px;
		font-size: 0.8rem;
	}
	.pagination.pagination-modern .page-gap > span {
		min-width: 12px;
	}
}

/* ===== Share modern (views/front/share_v.php) ===== */
.share-modern {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid #ece6da;
	border-radius: 14px;
	background: #fcfaf6;
}
.share-modern__label {
	color: #222;
	font-weight: 600;
	font-size: 0.95rem;
	white-space: nowrap;
}
.share-modern__label i {
	color: #CFA968;
	margin-right: 6px;
}
.share-modern__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.share-btn {
	--brand: #555;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px 0 6px;
	border: 1px solid #e6e0d4;
	border-radius: 999px;
	background: #fff;
	color: #333;
	font: inherit;
	font-size: 0.85rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.share-btn[hidden] {
	display: none;
}
.share-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--brand);
	color: #fff;
	font-size: 0.85rem;
	transition: background-color .2s, color .2s;
}
.share-btn__icon svg {
	width: 13px;
	height: 13px;
}
.share-btn:hover,
.share-btn:focus-visible {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px -10px var(--brand);
	outline: none;
}
.share-btn:hover .share-btn__icon,
.share-btn:focus-visible .share-btn__icon {
	background: rgba(255, 255, 255, .2);
}
.share-btn--wa { --brand: #25D366; }
.share-btn--fb { --brand: #1877F2; }
.share-btn--x { --brand: #000; }
.share-btn--in { --brand: #0A66C2; }
.share-btn--tg { --brand: #229ED9; }
.share-btn--copy,
.share-btn--native { --brand: #CFA968; }
.share-btn--copy.is-copied {
	background: #2e7d32;
	border-color: #2e7d32;
	color: #fff;
}
.share-btn--copy.is-copied .share-btn__icon {
	background: rgba(255, 255, 255, .2);
}

/* Kotak sempit (kolom detail produk/project/desain, mobile): tombol ikon bulat saja */
.share-modern {
	container-type: inline-size;
}
@container (max-width: 780px) {
	.share-btn {
		width: 40px;
		height: 40px;
		padding: 0;
		justify-content: center;
	}
	.share-btn__text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
	.share-btn__icon {
		width: 100%;
		height: 100%;
		font-size: 1rem;
	}
	.share-btn__icon svg {
		width: 15px;
		height: 15px;
	}
}
@media (max-width: 767px) {
	.share-modern {
		padding: 16px;
	}
	.share-modern__buttons {
		gap: 6px;
	}
	.share-btn {
		width: 38px;
		height: 38px;
	}
}
