/**
 * mod_ua26faq - self contained styles.
 * No framework, no webfont, no CDN: everything the module needs ships with it.
 * Colours come from --ua26-primary / --ua26-primary-dark, set per instance.
 */

.ua26faq {
	--ua26-primary: #F05A28;
	--ua26-primary-dark: #d64c23;
	--ua26-surface: #ffffff;
	--ua26-surface-alt: #f9fafb;
	--ua26-border: #e5e7eb;
	--ua26-text: #374151;
	--ua26-heading: #111827;

	direction: rtl;
	text-align: right;
	max-width: 1100px;
	margin: 0 auto;
	padding: 16px;
	box-sizing: border-box;
	line-height: 1.6;
}

.ua26faq *,
.ua26faq *:before,
.ua26faq *:after {
	box-sizing: border-box;
}

/* ---------- hero ---------- */

.ua26faq-hero {
	background: linear-gradient(to left, var(--ua26-primary), #ff7e50);
	color: #fff;
	padding: 3rem 1.5rem;
	text-align: center;
	border-radius: .5rem;
	margin-bottom: 2rem;
}

.ua26faq-hero__title {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 1rem;
	color: #fff;
}

.ua26faq-hero__text {
	font-size: 1.125rem;
	line-height: 1.7;
	max-width: 48rem;
	margin: 0 auto;
	color: #fff;
}

.ua26faq-hero__text p {
	margin: 0 0 .75rem;
	color: inherit;
}

.ua26faq-hero__text p:last-child {
	margin-bottom: 0;
}

/* ---------- shared panel ---------- */

.ua26faq-panel {
	background: var(--ua26-surface);
	border-radius: .5rem;
	padding: 2rem 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
	margin-bottom: 2rem;
}

.ua26faq-panel:last-child {
	margin-bottom: 0;
}

.ua26faq-panel__title {
	font-size: 1.75rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 1.5rem;
	color: var(--ua26-heading);
}

/* ---------- button ---------- */

.ua26faq .ua26faq-btn {
	background: var(--ua26-primary);
	color: #fff;
	padding: .75rem 1.5rem;
	border-radius: .5rem;
	text-decoration: none;
	display: inline-block;
	font-weight: 600;
	margin-top: 1rem;
	transition: background-color .3s ease;
}

.ua26faq .ua26faq-btn:hover,
.ua26faq .ua26faq-btn:focus {
	background: var(--ua26-primary-dark);
	color: #fff;
	text-decoration: none;
}

/* ---------- accordion ---------- */

.ua26faq-item + .ua26faq-item {
	margin-top: .5rem;
}

/* Reset first so the template's own button rules cannot leak in. */
.ua26faq .ua26faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	width: 100%;
	margin: 0;
	padding: 1rem;
	text-align: right;
	background: var(--ua26-surface);
	border: 1px solid var(--ua26-border);
	border-radius: .5rem;
	box-shadow: none;
	color: var(--ua26-primary);
	font-family: inherit;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5;
	text-transform: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .25s ease, color .25s ease;
}

.ua26faq .ua26faq-question:hover,
.ua26faq .ua26faq-question[aria-expanded="true"] {
	background: var(--ua26-primary);
	border-color: var(--ua26-primary);
	color: #fff;
}

.ua26faq .ua26faq-question:focus-visible {
	outline: 3px solid var(--ua26-primary-dark);
	outline-offset: 2px;
}

.ua26faq-question__text {
	flex: 1 1 auto;
}

.ua26faq-question__icon {
	flex: 0 0 auto;
	display: inline-flex;
	width: 1.15em;
	height: 1.15em;
	transition: transform .3s ease;
}

.ua26faq-question__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.ua26faq .ua26faq-question[aria-expanded="true"] .ua26faq-question__icon {
	transform: rotate(180deg);
}

/*
 * grid-template-rows animates from nothing to the content's natural height,
 * so answers of any length open smoothly without a hard-coded max-height.
 */
.ua26faq-answer {
	display: grid;
	grid-template-rows: 0fr;
	margin-top: 0;
	background: var(--ua26-surface-alt);
	border: 1px solid var(--ua26-border);
	border-radius: .5rem;
	transition: grid-template-rows .3s ease, margin-top .3s ease;
}

.ua26faq-answer__clip {
	overflow: hidden;
	min-height: 0;
}

.ua26faq-answer__body {
	padding: 0 1rem;
	transition: padding .3s ease;
}

.ua26faq-answer.is-open {
	grid-template-rows: 1fr;
	margin-top: .35rem;
}

.ua26faq-answer.is-open .ua26faq-answer__body {
	padding: 1rem;
}

.ua26faq-answer__body p {
	font-size: 1.05rem;
	line-height: 1.85;
	color: var(--ua26-text);
	margin: 0 0 .75rem;
}

.ua26faq-answer__body p:last-child {
	margin-bottom: 0;
}

.ua26faq-answer__body ul,
.ua26faq-answer__body ol {
	margin: .5rem 0 .75rem;
	padding-right: 1.5rem;
	padding-left: 0;
}

.ua26faq-answer__body ul {
	list-style: disc;
}

.ua26faq-answer__body li {
	font-size: 1.05rem;
	line-height: 1.9;
	color: var(--ua26-text);
}

/*
 * Fallback when the script never runs (blocked, stripped, JS off):
 * every answer stays open so the content is still reachable.
 */
.ua26faq--no-js .ua26faq-answer {
	grid-template-rows: 1fr;
	margin-top: .35rem;
}

.ua26faq--no-js .ua26faq-answer__body {
	padding: 1rem;
}

/* ---------- stats ---------- */

.ua26faq-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.ua26faq-stats[data-cols="2"] {
	grid-template-columns: repeat(2, 1fr);
}

.ua26faq-stats[data-cols="4"] {
	grid-template-columns: repeat(4, 1fr);
}

.ua26faq-stat {
	background: var(--ua26-surface);
	padding: 1.5rem;
	border-radius: .5rem;
	text-align: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
}

.ua26faq-stat__number {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ua26-primary);
	margin-bottom: .35rem;
}

.ua26faq-stat__caption {
	display: block;
	color: var(--ua26-text);
}

/* ---------- closing call to action ---------- */

.ua26faq-cta {
	text-align: center;
}

.ua26faq-cta__title {
	font-size: 1.75rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--ua26-heading);
}

.ua26faq-cta__text {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--ua26-text);
}

.ua26faq-cta__text p {
	margin: 0 0 .75rem;
	text-align: center;
}

.ua26faq-cta__text p:last-child {
	margin-bottom: 0;
}

.ua26faq-highlight {
	background: var(--ua26-surface-alt);
	padding: 1.5rem;
	border-radius: .5rem;
	border: 1px solid var(--ua26-border);
	text-align: center;
	margin-top: 1rem;
}

.ua26faq-highlight__quote {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--ua26-heading);
	margin: 0;
}

/* ---------- responsive ---------- */

@media (max-width: 768px) {
	.ua26faq-hero {
		padding: 2rem 1rem;
	}

	.ua26faq-hero__title {
		font-size: 1.6rem;
	}

	.ua26faq-hero__text {
		font-size: 1rem;
	}

	.ua26faq .ua26faq-question {
		font-size: 1rem;
		padding: .85rem;
	}

	.ua26faq-stats,
	.ua26faq-stats[data-cols="2"],
	.ua26faq-stats[data-cols="4"] {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ua26faq-answer,
	.ua26faq-answer__body,
	.ua26faq-question__icon,
	.ua26faq .ua26faq-question,
	.ua26faq .ua26faq-btn {
		transition: none;
	}
}

/* ---------- print ---------- */

@media print {
	.ua26faq-answer {
		grid-template-rows: 1fr;
	}

	.ua26faq-answer__body {
		padding: 1rem;
	}
}
