/* =====================================================================
   FAQ HOME SECTION — Premium Dark Theme
   Al Rahma Theme · faq-home.css
   ===================================================================== */

/* ----- CSS Custom Properties ----- */
:root {
	--faq-bg:                #02435b;
	--faq-bg-light:          rgba(255, 255, 255, 0.06);
	--faq-bg-lighter:        rgba(255, 255, 255, 0.10);
	--faq-primary:           #ff2714;
	--faq-text:              #ffffff;
	--faq-text-muted:        rgba(255, 255, 255, 0.7);
	--faq-border:            rgba(255, 255, 255, 0.12);
	--faq-accent-glow:       rgba(255, 39, 20, 0.25);
	--faq-transition:        0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--faq-radius:            12px;
}

/* =====================================================================
   SECTION WRAPPER
   ===================================================================== */
.alrahma-faq-section {
	position: relative;
	padding: 80px 0 90px;
	background-color: var(--faq-bg);
	color: var(--faq-text);
	overflow: hidden;
}

/* Subtle dot pattern overlay */
.alrahma-faq-bg-pattern {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.04) 1px, transparent 0);
	background-size: 40px 40px;
	pointer-events: none;
	z-index: 0;
}

/* Decorative gradient orbs */
.alrahma-faq-section::before,
.alrahma-faq-section::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

.alrahma-faq-section::before {
	width: 400px;
	height: 400px;
	top: -100px;
	right: -100px;
	background: radial-gradient(circle, rgba(255, 39, 20, 0.08) 0%, transparent 70%);
}

.alrahma-faq-section::after {
	width: 300px;
	height: 300px;
	bottom: -80px;
	left: -80px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.03) 0%, transparent 70%);
}

/* =====================================================================
   SECTION HEADER
   ===================================================================== */
.alrahma-faq-header {
	margin-bottom: 50px;
}

.alrahma-faq-subtitle {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--faq-primary);
	margin-bottom: 12px;
	position: relative;
	padding: 6px 20px;
	background: rgba(255, 39, 20, 0.15);
	border-radius: 30px;
}

.alrahma-faq-title {
	font-size: clamp(1.6rem, 4vw, 2.5rem);
	font-weight: 800;
	color: var(--faq-text);
	margin-bottom: 20px;
	line-height: 1.3;
}

/* Divider with icon */
.alrahma-faq-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-top: 5px;
}

.alrahma-faq-divider::before,
.alrahma-faq-divider::after {
	content: '';
	width: 60px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--faq-primary));
}

.alrahma-faq-divider::after {
	background: linear-gradient(90deg, var(--faq-primary), transparent);
}

.alrahma-faq-divider-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--faq-primary);
	color: #fff;
	font-size: 1rem;
	margin: 0 12px;
	box-shadow: 0 4px 15px var(--faq-accent-glow);
}

/* =====================================================================
   ACCORDION OVERRIDES
   ===================================================================== */
.alrahma-faq-accordion {
	--bs-accordion-bg: transparent;
	--bs-accordion-color: var(--faq-text-muted);
	--bs-accordion-border-color: var(--faq-border);
	--bs-accordion-btn-color: var(--faq-text);
	--bs-accordion-btn-bg: transparent;
	--bs-accordion-btn-focus-box-shadow: none;
	--bs-accordion-active-color: var(--faq-primary);
	--bs-accordion-active-bg: var(--faq-bg-lighter);
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ff2714' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.alrahma-faq-item {
	background-color: var(--faq-bg-light) !important;
	border: 1px solid var(--faq-border) !important;
	border-radius: var(--faq-radius) !important;
	margin-bottom: 14px;
	overflow: hidden;
	color: var(--faq-text);
	transition: border-color var(--faq-transition), box-shadow var(--faq-transition);
}

.alrahma-faq-item:last-child {
	margin-bottom: 0;
}

/* Active state — red accent border + glow */
.alrahma-faq-item:has(.accordion-button:not(.collapsed)) {
	border-color: var(--faq-primary) !important;
	box-shadow: 0 0 0 3px var(--faq-accent-glow), 0 8px 30px rgba(0, 0, 0, 0.2);
}

/* ----- Accordion Button (Question) ----- */
.alrahma-faq-item .accordion-button {
	background-color: transparent !important;
	color: var(--faq-text) !important;
	font-weight: 600;
	font-size: 1rem;
	padding: 18px 20px;
	border: none;
	box-shadow: none !important;
	gap: 12px;
	transition: background-color var(--faq-transition), color var(--faq-transition);
}

.alrahma-faq-item .accordion-button:not(.collapsed) {
	background-color: var(--faq-bg-lighter) !important;
	color: var(--faq-primary) !important;
	box-shadow: none !important;
}

.alrahma-faq-item .accordion-button:focus {
	box-shadow: none !important;
	border-color: transparent;
}

.alrahma-faq-item .accordion-button:hover {
	background-color: var(--faq-bg-lighter) !important;
}

/* Question number badge */
.alrahma-faq-q-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-width: 30px;
	border-radius: 50%;
	background: var(--faq-primary);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
	flex-shrink: 0;
}

/* Custom chevron icon */
.alrahma-faq-item .accordion-button::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
	transition: transform 0.3s ease;
	filter: none;
}

.alrahma-faq-item .accordion-button:not(.collapsed)::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ff2714' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

/* ----- Accordion Body (Answer) ----- */
.alrahma-faq-item .accordion-body {
	padding: 0 20px 20px 62px;
	color: var(--faq-text-muted) !important;
	font-size: 0.95rem;
	line-height: 1.7;
}

.alrahma-faq-item .accordion-body p {
	margin-bottom: 0;
}

[dir="rtl"] .alrahma-faq-item .accordion-body {
	padding: 0 62px 20px 20px;
}

/* =====================================================================
   SCROLL-REVEAL ANIMATIONS
   ===================================================================== */
.alrahma-faq-section .alrahma-faq-header {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.alrahma-faq-section.is-visible .alrahma-faq-header {
	opacity: 1;
	transform: translateY(0);
}

.alrahma-faq-item {
	opacity: 0;
	transform: translateY(25px);
}

.alrahma-faq-section.is-visible .alrahma-faq-item {
	opacity: 1;
	transform: translateY(0);
}

/* Staggered reveal */
.alrahma-faq-section.is-visible .alrahma-faq-item:nth-child(1) { transition: opacity 0.5s ease 0.15s, transform 0.5s ease 0.15s, border-color 0.4s, box-shadow 0.4s; }
.alrahma-faq-section.is-visible .alrahma-faq-item:nth-child(2) { transition: opacity 0.5s ease 0.25s, transform 0.5s ease 0.25s, border-color 0.4s, box-shadow 0.4s; }
.alrahma-faq-section.is-visible .alrahma-faq-item:nth-child(3) { transition: opacity 0.5s ease 0.35s, transform 0.5s ease 0.35s, border-color 0.4s, box-shadow 0.4s; }
.alrahma-faq-section.is-visible .alrahma-faq-item:nth-child(4) { transition: opacity 0.5s ease 0.45s, transform 0.5s ease 0.45s, border-color 0.4s, box-shadow 0.4s; }

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

/* Tablet */
@media (max-width: 991.98px) {
	.alrahma-faq-section {
		padding: 60px 0 70px;
	}

	.alrahma-faq-header {
		margin-bottom: 35px;
	}

	.alrahma-faq-item .accordion-button {
		font-size: 0.95rem;
		padding: 16px 18px;
	}

	.alrahma-faq-item .accordion-body {
		padding: 0 18px 18px 54px;
	}

	[dir="rtl"] .alrahma-faq-item .accordion-body {
		padding: 0 54px 18px 18px;
	}
}

/* Mobile */
@media (max-width: 767.98px) {
	.alrahma-faq-section {
		padding: 50px 0 60px;
	}

	.alrahma-faq-header {
		margin-bottom: 30px;
	}

	.alrahma-faq-title {
		font-size: 1.5rem;
	}

	.alrahma-faq-divider::before,
	.alrahma-faq-divider::after {
		width: 40px;
	}

	.alrahma-faq-divider-icon {
		width: 38px;
		height: 38px;
		font-size: 0.9rem;
	}

	.alrahma-faq-item .accordion-button {
		font-size: 0.9rem;
		padding: 14px 15px;
		gap: 10px;
	}

	.alrahma-faq-q-number {
		width: 26px;
		height: 26px;
		min-width: 26px;
		font-size: 0.75rem;
	}

	.alrahma-faq-item .accordion-body {
		padding: 0 15px 15px 48px;
		font-size: 0.88rem;
	}

	[dir="rtl"] .alrahma-faq-item .accordion-body {
		padding: 0 48px 15px 15px;
	}
}

/* Small mobile */
@media (max-width: 575.98px) {
	.alrahma-faq-section {
		padding: 40px 0 50px;
	}

	.alrahma-faq-section::before {
		display: none;
	}
}

/* =====================================================================
   REDUCED MOTION
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
	.alrahma-faq-item,
	.alrahma-faq-section .alrahma-faq-header,
	.alrahma-faq-item .accordion-button,
	.alrahma-faq-item .accordion-button::after {
		transition-duration: 0.01ms !important;
	}
}

/* =====================================================================
   PRINT
   ===================================================================== */
@media print {
	.alrahma-faq-section {
		padding: 20px 0;
		background: #fff;
		color: #000;
	}

	.alrahma-faq-bg-pattern,
	.alrahma-faq-section::before,
	.alrahma-faq-section::after {
		display: none;
	}

	.alrahma-faq-title {
		color: #000;
	}

	.alrahma-faq-item {
		background: #fff;
		border-color: #ddd !important;
		opacity: 1;
		transform: none;
	}

	.alrahma-faq-item .accordion-button {
		color: #000;
	}

	.alrahma-faq-item .accordion-body {
		color: #333;
	}

	/* Show all FAQ answers when printing */
	.alrahma-faq-item .accordion-collapse {
		display: block !important;
		height: auto !important;
	}
}
