/*
 * Front-page inline styles, lifted from the original demosite/index.php
 * (which had a 400-line <style> block in the head). Keeping them here
 * verbatim preserves the layout exactly while making them cacheable
 * and version-controlled.
 *
 * Loaded only on the front page via inc/enqueue.php so other pages
 * don't pay for these rules.
 */

/* ----------------------------------------------------------------- */
/* Project preview modal                                             */
/* ----------------------------------------------------------------- */
.project-modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.project-modal-content {
	background-color: #ffffff;
	margin: 2% auto;
	padding: 30px;
	border-radius: 8px;
	max-width: 80vw;
	position: relative;
	animation: slideIn 0.3s ease-in-out;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
	max-height: 90vh;
	overflow-y: auto;
}

@keyframes slideIn {
	from { transform: translateY(-50px); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}

.project-modal-close {
	position: absolute;
	right: 30px;
	top: 30px;
	font-size: 32px;
	font-weight: bold;
	cursor: pointer;
	color: #fff;
	background: none;
	border: none;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
	z-index: 1001;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.project-modal-close:hover,
.project-modal-close:focus {
	color: #fff;
	transform: scale(1.15);
	text-shadow: 0 0 12px rgba(0, 0, 0, 0.7);
}

.project-modal-prev,
.project-modal-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	color: #fff;
	border: none;
	font-size: 24px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
	z-index: 1001;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.project-modal-prev:hover,
.project-modal-next:hover,
.project-modal-prev:focus,
.project-modal-next:focus {
	background: none;
	transform: translateY(-50%) scale(1.15);
	text-shadow: 0 0 12px rgba(0, 0, 0, 0.7);
}

.project-modal-prev { left: 20px; }
.project-modal-next { right: 20px; }

.project-modal-body {
	display: flex;
	gap: 30px;
	align-items: center;
}

.project-modal-image {
	flex: 1;
	margin: 0;
	border-radius: 6px;
	overflow: hidden;
}

.project-modal-image img {
	width: 100%;
	height: auto;
	display: block;
}

.project-modal-info { flex: 1; }

.project-modal-info h3 {
	font-size: 24px;
	margin-bottom: 20px;
	color: #333;
	font-weight: 600;
}

.project-modal-info .theme-btn { display: inline-block; }

@media (max-width: 768px) {
	.project-modal-body { flex-direction: column; gap: 20px; }
	.project-modal-content { padding: 20px; max-height: 90vh; overflow-y: auto; }
	.project-modal-info h3 { font-size: 20px; }
	.project-modal-prev, .project-modal-next { width: 40px; height: 40px; font-size: 18px; }
	.project-modal-prev { left: 0px; }
	.project-modal-next { right: 0px; }
	.project-modal-close { width: 40px; height: 40px; font-size: 28px; right: 0px; top: 20px; }
}

/* ----------------------------------------------------------------- */
/* FAQ section info-box overrides                                    */
/* ----------------------------------------------------------------- */
.faqs-section .info-box {
	min-height: auto !important;
	max-height: none !important;
	padding: 15px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.faqs-section .info-box .inner {
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 20px;
	width: 100%;
	flex-direction: row-reverse !important;
}

.faqs-section .info-box .icon {
	font-size: 50px !important;
	flex-shrink: 0;
	min-width: 50px;
	text-align: center;
}

.faqs-section .info-box .title {
	font-size: 20px !important;
	line-height: 1.4;
	margin: 0;
	flex: 1;
}

.faqs-section.style-two .image-column .info-box .icon {
	height: 120px;
	width: 120px;
	position: relative;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.faqs-section.style-two .image-column .info-box .inner { padding-right: 0px; }

@media (max-width: 1024px) {
	.faqs-section .info-box { min-height: auto !important; max-height: none !important; }
	.faqs-section .info-box .icon { font-size: 50px !important; min-width: 50px; }
	.faqs-section .info-box .title { font-size: 18px !important; }
	.faqs-section.style-two .image-column .info-box .icon { height: 100px; width: 100px; }
}

@media (max-width: 768px) {
	.faqs-section .info-box { min-height: auto !important; max-height: none !important; padding: 12px !important; }
	.faqs-section .info-box .inner { gap: 15px; }
	.faqs-section .info-box .icon { font-size: 35px !important; min-width: 35px; }
	.faqs-section .info-box .title { font-size: 20px !important; line-height: 1.3; }
	.faqs-section.style-two .image-column .info-box .icon { height: 80px; width: 80px; }
}

@media (max-width: 480px) {
	.faqs-section .info-box { min-height: auto !important; max-height: none !important; padding: 10px !important; }
	.faqs-section .info-box .inner { gap: 12px; flex-wrap: wrap; }
	.faqs-section .info-box .icon { font-size: 33px !important; min-width: 33px; }
	.faqs-section .info-box .title { font-size: 20px !important; line-height: 1.2; padding: 0px !important; }
	.faqs-section.style-two .image-column .info-box .icon { height: 70px; width: 70px; }
}

/* ----------------------------------------------------------------- */
/* Hero banner responsive overrides                                  */
/* ----------------------------------------------------------------- */
@media (max-width: 1024px) {
	.hero-banner__heading { font-size: 40px !important; }
	.hero-banner__desc { font-size: 16px !important; }
	.hero-banner__stats {
		position: absolute !important;
		bottom: -200px !important;
		left: 0 !important;
		right: 0 !important;
		margin-top: 0 !important;
		width: 100%;
	}
	.hero-banner { padding-bottom: 200px !important; }
}

@media (max-width: 768px) {
	.hero-banner__heading { font-size: 32px !important; line-height: 1.3 !important; }
	.hero-banner__desc { font-size: 14px !important; margin-bottom: 20px !important; }
	.hero-banner__cta { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px !important; }
	.hero-banner__cta a { width: 100% !important; margin-left: 0 !important; }
	.hero-banner__content { padding: 20px !important; }
	.hero-banner__tag { font-size: 12px !important; }
	.hero-banner__floaters { display: none !important; }
	.hero-banner__rings { display: none !important; }
	.hero-banner__stats {
		position: absolute !important;
		bottom: -250px !important;
		left: 0 !important;
		right: 0 !important;
		width: 100%;
	}
	.hero-banner { padding-bottom: 250px !important; }
}

@media (max-width: 480px) {
	.hero-banner__heading { font-size: 24px !important; }
	.hero-banner__desc { font-size: 13px !important; }
	.hero-banner__content { padding: 15px !important; }
	.hero-banner__stats { position: absolute !important; bottom: -280px !important; }
	.hero-banner { padding-bottom: 280px !important; }
}
