/* Custom Styles untuk Yezona Computer Service */

/* ============ ANIMATIONS ============ */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes pulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
}

@keyframes float {
	0%,
	100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
}

/* ============ GENERAL CLASSES ============ */
.smooth-scroll,
html {
	scroll-behavior: smooth;
}
.fade-in {
	animation: fadeIn 0.8s ease-out;
}

.slide-in-left {
	animation: slideInLeft 0.6s ease-out;
}

.slide-in-right {
	animation: slideInRight 0.6s ease-out;
}

.slide-in-up {
	animation: slideInUp 0.6s ease-out;
}

.floating {
	animation: float 3s ease-in-out infinite;
}

/* ============ HERO SECTION ============ */
.hero-diagonal {
	position: relative;
	overflow: hidden;
}

.hero-diagonal::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 60px;
	background: linear-gradient(
		135deg,
		transparent 0%,
		transparent 48%,
		#f3f4f6 48%,
		#f3f4f6 52%,
		transparent 52%,
		transparent 100%
	);
	pointer-events: none;
}

/* ============ HOVER EFFECTS ============ */
.hover-lift {
	transition: all 0.3s ease-out;
}

.hover-lift:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important;
}

.hover-scale {
	transition: transform 0.3s ease-out;
}

.hover-scale:hover {
	transform: scale(1.05);
}

.hover-glow {
	transition: all 0.3s ease-out;
}

.hover-glow:hover {
	box-shadow: 0 0 20px rgba(198, 0, 1, 0.3);
}

/* ============ BUTTONS ============ */
.btn-primary {
	background-color: #c60001;
	color: white;
	padding: 12px 24px;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.btn-primary:hover {
	background-color: #a00000;
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(198, 0, 1, 0.2);
}

.btn-secondary {
	border: 2px solid #d1d5db;
	color: #1f2937;
	padding: 12px 24px;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.btn-secondary:hover {
	border-color: #c60001;
	color: #c60001;
}

/* ============ CARDS ============ */
.card {
	background: white;
	border-radius: 12px;
	padding: 24px;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.card:hover {
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.card-icon {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, #269fd8, #1e88e5);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	font-size: 28px;
	color: white;
}

/* ============ CAROUSEL ============ */
.carousel-wrapper {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding: 16px 0;
}

.carousel-wrapper::-webkit-scrollbar {
	height: 6px;
}

.carousel-wrapper::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 10px;
}

.carousel-wrapper::-webkit-scrollbar-thumb {
	background: #c60001;
	border-radius: 10px;
}

.carousel-wrapper::-webkit-scrollbar-thumb:hover {
	background: #a00000;
}

.carousel-sertifikat-wrapper {
	animation: fadeIn 0.5s ease-out;
	display: block;
}

.carousel-sertifikat-wrapper.hidden {
	display: none;
}

.carousel-sertifikat-wrapper.visible {
	display: block;
}

/* ============ CAROUSEL DOTS ============ */
.carousel-dots-container {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
}

.carousel-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #d1d5db;
	cursor: pointer;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.carousel-dot.active {
	background-color: #c60001;
	transform: scale(1.2);
}

.carousel-dot:hover {
	border-color: #c60001;
}

/* ============ SECTIONS ============ */
section {
	scroll-margin-top: 80px;
}

.section-title {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 12px;
	color: #1f2937;
}

.section-subtitle {
	font-size: 16px;
	color: #6b7280;
	margin-bottom: 32px;
	max-width: 600px;
}

html {
	scroll-padding-top: 96px;
}

.service-content {
	line-height: 1.42;
}
.service-content h1 {
	font-size: 2em;
	margin: 0;
}
.service-content h2 {
	font-size: 1.5em;
	margin: 0;
}
.service-content h3 {
	font-size: 1.17em;
	margin: 0;
}
.service-content h4 {
	font-size: 1em;
	margin: 0;
}
.service-content h5 {
	font-size: 0.83em;
	margin: 0;
}
.service-content h6 {
	font-size: 0.67em;
	margin: 0;
}
.service-content p {
	margin: 0 0 1em;
}
.service-content ul {
	padding-left: 1.5em;
	margin: 0 0 0 1.5em;
	list-style: disc;
}
.service-content ol {
	padding-left: 1.5em;
	margin: 0 0 0 1.5em;
	list-style: none;
}
.service-content li {
	margin: 0;
	position: relative;
}
.service-content p.ql-indent-1 {
	margin-left: 1.5em;
}
.service-content p.ql-indent-2 {
	margin-left: 3em;
}
.service-content p.ql-indent-3 {
	margin-left: 4.5em;
}
.service-content p.ql-indent-4 {
	margin-left: 6em;
}
.service-content p.ql-indent-5 {
	margin-left: 7.5em;
}
.service-content p.ql-indent-6 {
	margin-left: 9em;
}
.service-content p.ql-indent-7 {
	margin-left: 10.5em;
}
.service-content p.ql-indent-8 {
	margin-left: 12em;
}
.service-content p.ql-indent-9 {
	margin-left: 13.5em;
}
.service-content ol {
	counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8
		list-9;
}
.service-content li[data-indent="0"] {
	counter-increment: list-0;
	counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.service-content ol li[data-indent="0"]::before {
	content: counter(list-0, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="1"] {
	counter-increment: list-1;
	counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 1.5em;
}
.service-content ol li[data-indent="1"]::before {
	content: counter(list-1, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="2"] {
	counter-increment: list-2;
	counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 3em;
}
.service-content ol li[data-indent="2"]::before {
	content: counter(list-2, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="3"] {
	counter-increment: list-3;
	counter-set: list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 4.5em;
}
.service-content ol li[data-indent="3"]::before {
	content: counter(list-3, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="4"] {
	counter-increment: list-4;
	counter-set: list-5 list-6 list-7 list-8 list-9;
	margin-left: 6em;
}
.service-content ol li[data-indent="4"]::before {
	content: counter(list-4, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="5"] {
	counter-increment: list-5;
	counter-set: list-6 list-7 list-8 list-9;
	margin-left: 7.5em;
}
.service-content ol li[data-indent="5"]::before {
	content: counter(list-5, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="6"] {
	counter-increment: list-6;
	counter-set: list-7 list-8 list-9;
	margin-left: 9em;
}
.service-content ol li[data-indent="6"]::before {
	content: counter(list-6, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="7"] {
	counter-increment: list-7;
	counter-set: list-8 list-9;
	margin-left: 10.5em;
}
.service-content ol li[data-indent="7"]::before {
	content: counter(list-7, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="8"] {
	counter-increment: list-8;
	counter-set: list-9;
	margin-left: 12em;
}
.service-content ol li[data-indent="8"]::before {
	content: counter(list-8, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content li[data-indent="9"] {
	counter-increment: list-9;
	margin-left: 13.5em;
}
.service-content ol li[data-indent="9"]::before {
	content: counter(list-9, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.service-content ul li[data-indent="1"] {
	margin-left: 1.5em;
}
.service-content ul li[data-indent="2"] {
	margin-left: 3em;
}
.service-content ul li[data-indent="3"] {
	margin-left: 4.5em;
}
.service-content ul li[data-indent="4"] {
	margin-left: 6em;
}
.service-content ul li[data-indent="5"] {
	margin-left: 7.5em;
}
.service-content ul li[data-indent="6"] {
	margin-left: 9em;
}
.service-content ul li[data-indent="7"] {
	margin-left: 10.5em;
}
.service-content ul li[data-indent="8"] {
	margin-left: 12em;
}
.service-content ul li[data-indent="9"] {
	margin-left: 13.5em;
}
.service-content blockquote {
	border-left: 4px solid #ccc;
	margin: 5px 0;
	padding-left: 16px;
}
.service-content .ql-code-block-container {
	background: #23241f;
	color: #f8f8f2;
	margin: 5px 0;
	padding: 5px 10px;
	overflow-x: auto;
	border-radius: 3px;
}
.service-content .ql-code-block {
	font-family: Monaco, "Courier New", monospace;
	white-space: pre-wrap;
}
.service-content code {
	background: #f0f0f0;
	border-radius: 3px;
	font-size: 85%;
	padding: 2px 4px;
}
.service-content img {
	max-width: 100%;
}
.service-content a {
	text-decoration: underline;
	color: #2563eb;
}
.service-content hr {
	border: none;
	border-top: 1px solid #ccc;
	margin: 5px 0;
}
.service-content .ql-align-center {
	text-align: center;
}
.service-content .ql-align-right {
	text-align: right;
}
.service-content .ql-align-justify {
	text-align: justify;
}
.service-content .ql-size-small {
	font-size: 0.75em;
}
.service-content .ql-size-large {
	font-size: 1.5em;
}
.service-content .ql-size-huge {
	font-size: 2.5em;
}

.blog-content {
	line-height: 1.42;
}
.blog-content p.ql-indent-1 {
	margin-left: 1.5em;
}
.blog-content p.ql-indent-2 {
	margin-left: 3em;
}
.blog-content p.ql-indent-3 {
	margin-left: 4.5em;
}
.blog-content p.ql-indent-4 {
	margin-left: 6em;
}
.blog-content p.ql-indent-5 {
	margin-left: 7.5em;
}
.blog-content p.ql-indent-6 {
	margin-left: 9em;
}
.blog-content p.ql-indent-7 {
	margin-left: 10.5em;
}
.blog-content p.ql-indent-8 {
	margin-left: 12em;
}
.blog-content p.ql-indent-9 {
	margin-left: 13.5em;
}
.blog-content h1 {
	font-size: 2em;
	margin: 0;
}
.blog-content h2 {
	font-size: 1.5em;
	margin: 0;
}
.blog-content h3 {
	font-size: 1.17em;
	margin: 0;
}
.blog-content h4 {
	font-size: 1em;
	margin: 0;
}
.blog-content h5 {
	font-size: 0.83em;
	margin: 0;
}
.blog-content h6 {
	font-size: 0.67em;
	margin: 0;
}
.blog-content p {
	margin: 0 0 1em;
}
.blog-content ul {
	padding-left: 1.5em;
	margin: 0 0 0 1.5em;
	list-style: disc;
}
.blog-content ol {
	padding-left: 1.5em;
	margin: 0 0 0 1.5em;
	list-style: none;
}
.blog-content li {
	margin: 0;
	position: relative;
}
.blog-content ol {
	counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8
		list-9;
}
.blog-content li[data-indent="0"] {
	counter-increment: list-0;
	counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.blog-content ol li[data-indent="0"]::before {
	content: counter(list-0, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="1"] {
	counter-increment: list-1;
	counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 1.5em;
}
.blog-content ol li[data-indent="1"]::before {
	content: counter(list-1, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="2"] {
	counter-increment: list-2;
	counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 3em;
}
.blog-content ol li[data-indent="2"]::before {
	content: counter(list-2, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="3"] {
	counter-increment: list-3;
	counter-set: list-4 list-5 list-6 list-7 list-8 list-9;
	margin-left: 4.5em;
}
.blog-content ol li[data-indent="3"]::before {
	content: counter(list-3, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="4"] {
	counter-increment: list-4;
	counter-set: list-5 list-6 list-7 list-8 list-9;
	margin-left: 6em;
}
.blog-content ol li[data-indent="4"]::before {
	content: counter(list-4, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="5"] {
	counter-increment: list-5;
	counter-set: list-6 list-7 list-8 list-9;
	margin-left: 7.5em;
}
.blog-content ol li[data-indent="5"]::before {
	content: counter(list-5, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="6"] {
	counter-increment: list-6;
	counter-set: list-7 list-8 list-9;
	margin-left: 9em;
}
.blog-content ol li[data-indent="6"]::before {
	content: counter(list-6, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="7"] {
	counter-increment: list-7;
	counter-set: list-8 list-9;
	margin-left: 10.5em;
}
.blog-content ol li[data-indent="7"]::before {
	content: counter(list-7, lower-alpha) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="8"] {
	counter-increment: list-8;
	counter-set: list-9;
	margin-left: 12em;
}
.blog-content ol li[data-indent="8"]::before {
	content: counter(list-8, lower-roman) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content li[data-indent="9"] {
	counter-increment: list-9;
	margin-left: 13.5em;
}
.blog-content ol li[data-indent="9"]::before {
	content: counter(list-9, decimal) ". ";
	margin-left: -1.5em;
	margin-right: 0.3em;
	display: inline-block;
	width: 1.2em;
	text-align: right;
}
.blog-content ul li[data-indent="1"] {
	margin-left: 1.5em;
}
.blog-content ul li[data-indent="2"] {
	margin-left: 3em;
}
.blog-content ul li[data-indent="3"] {
	margin-left: 4.5em;
}
.blog-content ul li[data-indent="4"] {
	margin-left: 6em;
}
.blog-content ul li[data-indent="5"] {
	margin-left: 7.5em;
}
.blog-content ul li[data-indent="6"] {
	margin-left: 9em;
}
.blog-content ul li[data-indent="7"] {
	margin-left: 10.5em;
}
.blog-content ul li[data-indent="8"] {
	margin-left: 12em;
}
.blog-content ul li[data-indent="9"] {
	margin-left: 13.5em;
}
.blog-content blockquote {
	border-left: 4px solid #ccc;
	margin: 5px 0;
	padding-left: 16px;
}
.blog-content .ql-code-block-container {
	background: #23241f;
	color: #f8f8f2;
	margin: 5px 0;
	padding: 5px 10px;
	overflow-x: auto;
	border-radius: 3px;
}
.blog-content .ql-code-block {
	font-family: Monaco, "Courier New", monospace;
	white-space: pre-wrap;
}
.blog-content code {
	background: #f0f0f0;
	border-radius: 3px;
	font-size: 85%;
	padding: 2px 4px;
}
.blog-content img {
	max-width: 100%;
}
.blog-content a {
	text-decoration: underline;
	color: #2563eb;
}
.blog-content hr {
	border: none;
	border-top: 1px solid #ccc;
	margin: 5px 0;
}
.blog-content .ql-align-center {
	text-align: center;
}
.blog-content .ql-align-right {
	text-align: right;
}
.blog-content .ql-align-justify {
	text-align: justify;
}
.blog-content .ql-size-small {
	font-size: 0.75em;
}
.blog-content .ql-size-large {
	font-size: 1.5em;
}
.blog-content .ql-size-huge {
	font-size: 2.5em;
}

.highlight {
	color: #c60001;
}

.highlight-blue {
	color: #269fd8;
}

.primary-red {
	background-color: #c60001;
}
.primary-blue {
	background-color: #269fd8;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 768px) {
	.hero-diagonal::after {
		height: 40px;
	}

	.section-title {
		font-size: 28px;
	}

	.carousel-wrapper {
		gap: 12px;
	}

	.card {
		padding: 16px;
	}
}

/* ============ UTILITIES ============ */
.shadow-custom {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.shadow-custom-lg {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.gradient-primary {
	background: linear-gradient(135deg, #c60001 0%, #a00000 100%);
}

.gradient-blue {
	background: linear-gradient(135deg, #269fd8 0%, #1e88e5 100%);
}

.text-gradient {
	background: linear-gradient(135deg, #c60001 0%, #269fd8 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.bg-gradient-primary {
	background: linear-gradient(
		282deg,
		#c10007 2.28%,
		#715273 51.81%,
		#269fd8 97.8%
	);
}

/* ============ STATES ============ */
.hidden {
	display: none;
}

.visible {
	display: block;
}

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
	background: #c60001;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #a00000;
}

/* ============ FOCUS STATES ============ */
/* a:focus,
button:focus {
  outline: 2px solid #c60001;
  outline-offset: 2px;
} */

/* ============ PRINT STYLES ============ */
@media print {
	.no-print {
		display: none;
	}
}
