/* ================================================================
   FAQ Accordion Widget — faqAccordion.css
   ================================================================ */

.faq-wrapper {
	width: 100%;
}

/* ── List ── */
.faq-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.faq-item {
	border-bottom: 1px solid #e0e0e0;
}

/* ── Trigger (button) ── */
.faq-trigger {
	width: 100%;
	display: flex;
	align-items: flex-start;
	padding: 20px 0;
	cursor: pointer;
	user-select: none;
}

.faq-trigger:focus-visible {
	box-shadow: 0 0 0 2px rgba(61, 124, 201, 0.4);
	border-radius: 3px;
	outline: none;
}

/* "Toate deschise": fără toggle, fără cursor de click. */
.faq-all-open .faq-trigger {
	cursor: default;
	user-select: auto;
}

/* "Toate deschise": fără borduri orizontale; linie verticală sub număr. */
.faq-all-open .faq-list {
	border-top: none;
}

.faq-all-open .faq-list > li.faq-item:last-of-type {
    border-bottom: none;
}

.faq-all-open .faq-item {
	position: relative;
}

.faq-all-open .faq-answer {
	/*position: relative;*/
}

/* Linia pleacă din dreptul răspunsului (sub număr) până la baza item-ului. */
.faq-all-open .faq-answer::before {
	content: '';
	position: absolute;
	left: 8px;
	bottom: 0;
	width: 1px;
	background: #e0e0e0;
	height: 50%;
	top: 50px;
}

/* ── Number ── */
.faq-number {
	flex-shrink: 0;
	min-width: 44px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #3d7cc9;
	line-height: 1;
	padding-top: 2px;
	margin-top: 5px;
}

/* ── Question text ── */
.faq-question {
	flex: 1;
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.35;
}

/* ── Icon ── */
.faq-icon {
	flex-shrink: 0;
	margin-left: 20px;
	color: #888;
	display: flex;
	align-items: center;
}

.faq-icon svg {
	width: 24px;
	height: 24px;
	display: block;
}

/* Default: show plus, hide minus */
.faq-icon .faq-icon-minus { display: none !important; }
.faq-icon .faq-icon-plus  { display: block !important; }

/* Open: show minus, hide plus */
.faq-item.is-open .faq-icon .faq-icon-minus { display: block !important; }
.faq-item.is-open .faq-icon .faq-icon-plus  { display: none !important; }

/* ── Answer — max-height setat dinamic din JS ── */
.faq-answer {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.28s ease;
}

/* Initial open state (set server-side via .is-open, before any JS interaction).
   Inline max-height from JS overrides this once the item is toggled. */
.faq-item.is-open .faq-answer {
	max-height: none;
}

.faq-answer-inner {
	padding: 0 0 0 44px;
	/* Fallback-uri pe CONTAINER, ca p/li să le moștenească — altfel valorile puse
	   direct pe `.faq-answer-inner p` băteau tipografia/culoarea din Elementor
	   (care se aplică pe container). Controalele Elementor suprascriu de aici. */
	font-size: 15px;
	line-height: 1.7;
	color: #555;
}

/* Padding-ul (inclusiv bottom) vine din controlul „Padding răspuns". Nu-l mai
   forțăm pe .is-open (avea specificitate egală cu a controlului și-l bătea prin
   ordinea de încărcare); în stare colapsată e oricum ascuns de max-height:0. */

/* p/li NU primesc font-size/line-height/color proprii — le moștenesc din
   .faq-answer-inner, ca „Typography răspuns" și „Culoare" din Elementor să se aplice. */
.faq-answer-inner p {
	margin: 0 0 12px;
}

.faq-answer-inner p:last-child {
	margin-bottom: 0;
}

.faq-answer-inner ul,
.faq-answer-inner ol {
	padding-left: 20px;
	margin: 0 0 12px;
}

/* ================================================================
   Responsive
   ================================================================ */
/* Fără hardcodări responsive aici: padding-ul trigger-ului/răspunsului,
   min-width-ul și tipografia numărului/întrebării și mărimea iconiței vin
   toate din controalele Elementor (care sunt responsive, per breakpoint).
   Setează valorile pentru Tabletă/Mobil direct în widget. */
