/* ==========================================================================
   Advanced FAQ Schema Pro — Frontend v3
   RTL-first · Persian · Theme font · Full color control
   ========================================================================== */

.advanced-faq-section {
	--afaq-hdr-bg:      #1B4332;
	--afaq-hdr-icon-bg: #2D6A4F;
	--afaq-hdr-color:   #ffffff;
	--afaq-body-bg:     #f8f8f8;
	--afaq-body-color:  #333333;
	--afaq-border:      rgba(0,0,0,.1);
	--afaq-radius:      10px;
	--afaq-max-width:   900px;
	--afaq-speed:       280ms;
	--afaq-q-size:      15px;
	--afaq-a-size:      14px;
	--afaq-ease:        cubic-bezier(.4,0,.2,1);
	font-family: inherit;
	font-size:   inherit;
	line-height: inherit;
}

.advanced-faq-section {
	width:     100%;
	max-width: var(--afaq-max-width);
	margin:    2rem auto;
	contain:   layout style;
}

/* RTL */
.advanced-faq-section,
[dir="rtl"] .advanced-faq-section,
html[dir="rtl"] .advanced-faq-section,
:lang(fa) .advanced-faq-section,
:lang(ar) .advanced-faq-section {
	direction:  rtl;
	text-align: right;
}

html[dir="ltr"] .advanced-faq-section,
body[dir="ltr"] .advanced-faq-section,
.advanced-faq-section[dir="ltr"] {
	direction:  ltr;
	text-align: left;
}

/* Section title */
.afaq-section-title {
	font-size:   1.35rem;
	font-weight: 700;
	line-height: 1.3;
	margin:      0 0 1rem;
	color:       inherit;
}

/* Accordion list */
.afaq-accordion {
	display:        flex;
	flex-direction: column;
	gap:            6px;
}

/* ================================================================
   ITEM
   ================================================================ */
.afaq-item {
	border-radius: var(--afaq-radius);
	overflow:      hidden;
	border:        1px solid var(--afaq-border);
}

/* ---- HEADER ---- */
.afaq-question {
	margin: 0;
}

.afaq-question__btn {
	display:      flex;
	align-items:  stretch;
	width:        100%;
	min-height:   52px;
	background:   var(--afaq-hdr-bg);
	border:       none;
	cursor:       pointer;
	padding:      0;
	font-family:  inherit;
	text-align:   right;
	direction:    rtl;
}

html[dir="ltr"] .afaq-question__btn,
.advanced-faq-section[dir="ltr"] .afaq-question__btn {
	direction: ltr;
	text-align: left;
}

.afaq-question__btn:focus-visible {
	outline:        2px solid var(--afaq-hdr-color);
	outline-offset: -3px;
}

.afaq-question__btn:hover {
	filter: brightness(1.08);
}

/* Left icon box */
.afaq-question__left-icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           52px;
	min-height:      52px;
	flex-shrink:     0;
	background:      var(--afaq-hdr-icon-bg);
	color:           var(--afaq-hdr-color);
	font-size:       18px;
	order:           3;
}

html[dir="ltr"] .afaq-question__left-icon,
.advanced-faq-section[dir="ltr"] .afaq-question__left-icon {
	order: 1;
}

/* Question text */
.afaq-question__text {
	flex:        1;
	padding:     14px 16px;
	font-size:   var(--afaq-q-size);
	font-weight: 700;
	color:       var(--afaq-hdr-color);
	line-height: 1.45;
	order:       2;
	align-self:  center;
	min-width:   0;
}

/* Right toggle icon */
.afaq-question__icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           48px;
	min-height:      52px;
	flex-shrink:     0;
	color:           var(--afaq-hdr-color);
	opacity:         .75;
	font-size:       20px;
	order:           1;
	transition:      transform var(--afaq-speed) var(--afaq-ease),
	                 opacity   var(--afaq-speed) var(--afaq-ease);
}

html[dir="ltr"] .afaq-question__icon,
.advanced-faq-section[dir="ltr"] .afaq-question__icon {
	order: 3;
}

.afaq-item.is-open .afaq-question__icon {
	opacity:   1;
	transform: rotate(45deg);
}

/* chevron style */
.afaq-question__icon.icon-chevron { transition: transform var(--afaq-speed) var(--afaq-ease); }
.afaq-item.is-open .afaq-question__icon.icon-chevron { transform: rotate(180deg); }
.afaq-item.is-open .afaq-question__icon.icon-arrow   { transform: rotate(180deg); }

/* ---- ANSWER ---- */
.afaq-answer {
	display:            grid;
	grid-template-rows: 0fr;
	transition:         grid-template-rows var(--afaq-speed) var(--afaq-ease);
	will-change:        grid-template-rows;
}

.afaq-answer[hidden] { display: grid !important; }

.afaq-item.is-open .afaq-answer { grid-template-rows: 1fr; }

.afaq-answer__inner {
	overflow: hidden;
}

.afaq-answer__content {
	padding:     18px 20px 22px;
	font-size:   var(--afaq-a-size);
	line-height: 2;
	color:       var(--afaq-body-color);
	background:  var(--afaq-body-bg);
	text-align:  right;
	border-top:  1px solid rgba(0,0,0,.08);
	direction:   rtl;
}

html[dir="ltr"] .afaq-answer__content,
.advanced-faq-section[dir="ltr"] .afaq-answer__content {
	text-align: left;
	direction:  ltr;
}

.afaq-answer__content p           { margin: 0 0 .65em; }
.afaq-answer__content p:last-child { margin: 0; }
.afaq-answer__content a            { color: var(--afaq-hdr-bg); text-decoration: underline; }
.afaq-answer__content ul,
.afaq-answer__content ol           { padding-inline-start: 1.4em; margin: .5em 0; }
.afaq-answer__content li           { margin-bottom: .35em; }
.afaq-answer__content strong       { font-weight: 700; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 640px) {
	.afaq-question__left-icon { width: 44px; }
	.afaq-question__icon      { width: 40px; font-size: 18px; }
	.afaq-question__text      { font-size: 14px; padding: 12px 14px; }
	.afaq-answer__content     { padding: 14px 16px 18px; font-size: 13px; }
}

/* ================================================================
   PRINT
   ================================================================ */
@media print {
	.afaq-answer            { display: block !important; }
	.afaq-question__icon    { display: none; }
	.afaq-answer__content   { border-top: 1px solid #ddd; }
}

/* ================================================================
   REDUCED MOTION
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
	.afaq-answer,
	.afaq-question__icon { transition: none !important; }
}
