/* SoftX FAQ — front-end v1.1. Compact, 2-column on desktop. Inherits Woodmart's primary colour. */
.softx-faq{
	--sx-accent:var(--wd-primary-color,#0d9488);
	--sx-title:var(--wd-title-color,#111827);
	--sx-text:var(--wd-text-color,#4b5563);
	--sx-line:rgba(120,130,140,.20);
	--sx-card:#fff;
	--sx-tint:rgba(13,148,136,.09);
	--sx-tint-strong:rgba(13,148,136,.30);
	--sx-ease:cubic-bezier(.4,0,.2,1);
	width:100%;max-width:none;margin:0;box-sizing:border-box;
}
@supports (color:color-mix(in srgb,red 10%,transparent)){
	.softx-faq{
		--sx-tint:color-mix(in srgb,var(--sx-accent) 10%,transparent);
		--sx-tint-strong:color-mix(in srgb,var(--sx-accent) 34%,transparent);
	}
}
.softx-faq *,.softx-faq *::before,.softx-faq *::after{box-sizing:border-box}

.softx-faq .softx-faq__title{
	margin:0 0 14px;font-size:clamp(18px,2vw,22px);line-height:1.3;font-weight:700;color:var(--sx-title);
}

/* list: 1 column on mobile, 2 columns on desktop (DOM order kept: 1,2 / 3,4 / …) */
.softx-faq .softx-faq__list{
	display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;
}
@media (min-width:768px){
	.softx-faq .softx-faq__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
}

/* card */
.softx-faq .softx-faq__item{
	position:relative;overflow:hidden;background:var(--sx-card);
	border:1px solid var(--sx-line);border-radius:10px;
	transition:border-color .25s,box-shadow .3s,background .3s;
}
/* accent bar that grows in when open */
.softx-faq .softx-faq__item::before{
	content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sx-accent);
	transform:scaleY(0);transform-origin:top;transition:transform .35s var(--sx-ease);
}
.softx-faq .softx-faq__item:hover{border-color:var(--sx-tint-strong)}
.softx-faq .softx-faq__item.is-open{
	border-color:var(--sx-tint-strong);
	background:linear-gradient(180deg,var(--sx-tint) 0,var(--sx-card) 56px);
	box-shadow:0 10px 24px -16px var(--sx-tint-strong);
}
.softx-faq .softx-faq__item.is-open::before{transform:scaleY(1)}

.softx-faq .softx-faq__q{margin:0;padding:0;font-size:inherit;line-height:inherit;text-transform:none;letter-spacing:0}

/* strong reset: themes love to style <button> */
.softx-faq .softx-faq__btn{
	all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;
	width:100%;padding:12px 14px 12px 16px;cursor:pointer;
	font-size:14.5px;font-weight:600;line-height:1.45;color:var(--sx-title);text-align:left;
	-webkit-tap-highlight-color:transparent;transition:color .2s;
}
.softx-faq .softx-faq__btn:hover,
.softx-faq .softx-faq__item.is-open .softx-faq__btn{color:var(--sx-accent)}
.softx-faq .softx-faq__btn:focus-visible{outline:2px solid var(--sx-accent);outline-offset:-2px;border-radius:10px}
.softx-faq .softx-faq__text{flex:1;min-width:0}

/* plus → minus in a small rounded square */
.softx-faq .softx-faq__icon{
	position:relative;flex:0 0 auto;width:24px;height:24px;border-radius:8px;
	background:var(--sx-tint);color:var(--sx-accent);
	transition:background .25s,color .25s;
}
.softx-faq .softx-faq__icon::before,
.softx-faq .softx-faq__icon::after{
	content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;margin:-1px 0 0 -5px;
	background:currentColor;border-radius:2px;transition:transform .3s var(--sx-ease);
}
.softx-faq .softx-faq__icon::after{transform:rotate(90deg)}
.softx-faq .softx-faq__item.is-open .softx-faq__icon{background:var(--sx-accent);color:#fff}
.softx-faq .softx-faq__item.is-open .softx-faq__icon::after{transform:rotate(0)}

/* smooth height without JS measuring */
.softx-faq .softx-faq__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--sx-ease)}
.softx-faq .softx-faq__item.is-open .softx-faq__panel{grid-template-rows:1fr}
.softx-faq .softx-faq__inner{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .35s}
.softx-faq .softx-faq__item.is-open .softx-faq__inner{visibility:visible;transition-delay:0s}

.softx-faq .softx-faq__a{
	margin:0 16px;padding:10px 0 14px;border-top:1px solid var(--sx-line);
	font-size:14px;line-height:1.7;color:var(--sx-text);
}
.softx-faq .softx-faq__a>:first-child{margin-top:0}
.softx-faq .softx-faq__a>:last-child{margin-bottom:0}
.softx-faq .softx-faq__a p{margin:0 0 8px}
.softx-faq .softx-faq__a a{color:var(--sx-accent);text-decoration:underline;text-underline-offset:3px}
.softx-faq .softx-faq__a ul,.softx-faq .softx-faq__a ol{margin:0 0 8px 1.2em}

@media (max-width:767px){
	.softx-faq .softx-faq__btn{padding:11px 12px 11px 14px;font-size:14px}
	.softx-faq .softx-faq__a{margin:0 14px;font-size:13.5px}
}

@media (prefers-reduced-motion:reduce){
	.softx-faq *,.softx-faq *::before,.softx-faq *::after{transition-duration:.01ms !important}
}
