/* --------------------------------------------------------------
   AL QUÈRTO - INFO + FAQ
-------------------------------------------------------------- */

.aq-info-faq {
	position: relative;

	overflow: hidden;
	isolation: isolate;

	width: 100%;

	/*
	 * IMPORTANTE:
	 * non è una fascia snap e non è 100vh.
	 * L'altezza viene decisa dal contenuto.
	 */
	height: auto;
	min-height: 0;

	padding:
		clamp(84px, 9vw, 140px)
		clamp(20px, 5vw, 76px);

	color:
		var(--aq-black, #04070f);

	background:
		radial-gradient(
			circle at 86% 16%,
			rgba(5, 60, 255, .12),
			transparent 30rem
		),
		linear-gradient(
			180deg,
			#fffef9 0%,
			#fbfaf5 100%
		);
}


/* --------------------------------------------------------------
   GHOST
-------------------------------------------------------------- */

.aq-info-faq__ghost {
	position: absolute;

	right: -4vw;
	bottom: -5vw;

	z-index: 0;

	color:
		rgba(5, 60, 255, .05);

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(10rem, 24vw, 30rem);

	font-weight: 400;
	line-height: .72;
	letter-spacing: -.05em;

	text-transform: uppercase;

	pointer-events: none;
}


/* --------------------------------------------------------------
   INNER
-------------------------------------------------------------- */

.aq-info-faq__inner {
	position: relative;

	z-index: 2;

	width:
		min(1440px, 100%);

	margin: 0 auto;
}


/* --------------------------------------------------------------
   HEADING
-------------------------------------------------------------- */

.aq-info-faq__head {
	max-width: 850px;

	margin-bottom:
		clamp(38px, 5vw, 68px);
}


.aq-info-faq__kicker {
	margin:
		0
		0
		14px;

	color:
		var(--aq-blue, #053cff);

	font-family:
		var(--aq-font-body);

	font-size: .72rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .09em;

	text-transform: uppercase;
}


.aq-info-faq__head h2 {
	margin: 0;

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(3.2rem, 5.3vw, 4rem);

	font-weight: 400;
	line-height: .9;
	letter-spacing: -.04em;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   TWO COLUMNS
-------------------------------------------------------------- */

.aq-info-faq__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.05fr)
		minmax(380px, .95fr);

	gap:
		clamp(28px, 5vw, 72px);

	align-items: start;
}


/* --------------------------------------------------------------
   FAQ COLUMN
-------------------------------------------------------------- */

.aq-info-faq__faqs {
	display: grid;

	gap: 10px;
}


/* FAQ card */

.aq-info-faq-item {
	overflow: hidden;

	border:
		1px solid rgba(5, 60, 255, .24);

	background:
		rgba(255, 255, 255, .76);

	box-shadow:
		0 15px 46px
		rgba(5, 60, 255, .06);

	transition:
		border-color .28s ease,
		box-shadow .28s ease,
		background .28s ease;
}


.aq-info-faq-item:hover,
.aq-info-faq-item[open] {
	border-color:
		rgba(5, 60, 255, .40);

	background:
		rgba(255, 255, 255, .92);

	box-shadow:
		0 20px 56px
		rgba(5, 60, 255, .10);
}


/* --------------------------------------------------------------
   FAQ QUESTION
-------------------------------------------------------------- */

.aq-info-faq-item summary {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 18px;

	min-height: 74px;

	padding:
		18px
		20px
		18px
		24px;

	color:
		var(--aq-black, #04070f);

	cursor: pointer;

	list-style: none;

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(1.55rem, 2.15vw, 2.35rem);

	font-weight: 400;
	line-height: .94;
	letter-spacing: -.025em;

	text-transform: uppercase;
}


.aq-info-faq-item summary::-webkit-details-marker {
	display: none;
}


.aq-info-faq-item summary::marker {
	content: "";
}


/* Plus */

.aq-info-faq-item summary::after {
	content: "+";

	flex: 0 0 auto;

	display: grid;
	place-items: center;

	width: 34px;
	height: 34px;

	border-radius: 999px;

	color: #fff;

	background:
		var(--aq-blue, #053cff);

	font-family:
		var(--aq-font-body);

	font-size: 1rem;
	font-weight: 800;
	line-height: 1;

	transition:
		transform .28s cubic-bezier(.16, 1, .3, 1);
}


.aq-info-faq-item[open]
summary::after {

	transform: rotate(45deg);
}


/* --------------------------------------------------------------
   FAQ ANSWER
-------------------------------------------------------------- */

.aq-info-faq-item__answer {
	padding:
		0
		24px
		22px;
}


.aq-info-faq-item__answer p {
	margin: 0;

	max-width: 760px;

	color: #171e2f;

	font-family:
		var(--aq-font-body);

	font-size:
		clamp(.95rem, 1.08vw, 1.05rem);

	font-weight: 400;
	line-height: 1.52;
}


.aq-info-faq-item__answer p + p {
	margin-top: 12px;
}


.aq-info-faq-item__answer a {
	color:
		var(--aq-blue, #053cff);

	text-decoration: underline;

	text-underline-offset: 3px;
}


/* --------------------------------------------------------------
   INFO COLUMN
-------------------------------------------------------------- */

.aq-info-faq__info {
	position: relative;
}


/*
 * Su desktop rimane leggermente ancorata mentre
 * si aprono le FAQ.
 */
@media (min-width: 1024px) {

	.aq-info-faq__info {
		position: sticky;

		top: 120px;
	}

}


/* Title */

.aq-info-faq__info-title {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 20px;

	margin-bottom: 18px;
}


.aq-info-faq__info-title span {
	color:
		var(--aq-blue, #053cff);

	font-family:
		var(--aq-font-body);

	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .09em;

	text-transform: uppercase;
}


.aq-info-faq__info-title strong {
	color:
		var(--aq-black, #04070f);

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(2.1rem, 3.5vw, 3.6rem);

	font-weight: 400;
	line-height: .88;
	letter-spacing: -.03em;

	text-align: right;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   INFO TABLE
-------------------------------------------------------------- */

.aq-info-table {
	border-top:
		2px solid
		var(--aq-blue, #053cff);

	border-left:
		1px solid
		rgba(5, 60, 255, .16);

	border-right:
		1px solid
		rgba(5, 60, 255, .16);

	background:
		rgba(255, 255, 255, .78);

	box-shadow:
		0 24px 76px
		rgba(5, 60, 255, .07);
}


.aq-info-table__row {
	display: grid;

	grid-template-columns:
		minmax(135px, .42fr)
		minmax(0, 1fr);

	min-height: 74px;

	border-bottom:
		1px solid
		rgba(5, 60, 255, .15);
}


.aq-info-table__row:nth-child(odd) {
	background:
		rgba(5, 60, 255, .025);
}


/* Label */

.aq-info-table__label {
	padding:
		18px
		20px;

	color:
		var(--aq-black, #04070f);

	font-family:
		var(--aq-font-body);

	font-size: .9rem;
	font-weight: 800;
	line-height: 1.35;
}


/* Value */

.aq-info-table__value {
	padding:
		18px
		20px;

	color: #171e2f;

	font-family:
		var(--aq-font-body);

	font-size:
		clamp(.9rem, 1vw, 1rem);

	font-weight: 400;
	line-height: 1.42;
}


.aq-info-table__value p {
	margin: 0;
}


.aq-info-table__value a {
	color:
		var(--aq-blue, #053cff);

	text-decoration: none;
}


.aq-info-table__value a:hover {
	text-decoration: underline;
}


/* --------------------------------------------------------------
   REVEAL
-------------------------------------------------------------- */

.aq-info-faq [data-aq-reveal] {
	opacity: 0;

	transform:
		translateY(36px);

	transition:
		opacity .8s cubic-bezier(.16, 1, .3, 1),
		transform .8s cubic-bezier(.16, 1, .3, 1);

	transition-delay:
		var(--aq-reveal-delay, 0ms);
}


.aq-info-faq
[data-aq-reveal].is-visible {

	opacity: 1;

	transform: none;
}


.elementor-editor-active
.aq-info-faq
[data-aq-reveal] {

	opacity: 1;

	transform: none;
}


/* --------------------------------------------------------------
   TABLET
-------------------------------------------------------------- */

@media (max-width: 1023px) {

	.aq-info-faq__grid {
		grid-template-columns: 1fr;
	}


	.aq-info-faq__info {
		position: relative;
		top: auto;
	}

}


/* --------------------------------------------------------------
   MOBILE
-------------------------------------------------------------- */

@media (max-width: 767px) {

	.aq-info-faq {
		padding:
			72px
			18px;
	}


	.aq-info-faq__head h2 {
		font-size:
			clamp(3.1rem, 14vw, 5rem);
	}


	.aq-info-faq-item summary {
		min-height: 68px;

		padding:
			16px
			16px
			16px
			18px;

		font-size:
			clamp(1.45rem, 8vw, 2.25rem);
	}


	.aq-info-faq-item summary::after {
		width: 30px;
		height: 30px;

		font-size: .9rem;
	}


	.aq-info-faq-item__answer {
		padding:
			0
			18px
			18px;
	}


	.aq-info-faq__info-title {
		align-items: flex-start;

		flex-direction: column;
	}


	.aq-info-faq__info-title strong {
		text-align: left;
	}


	.aq-info-table__row {
		grid-template-columns: 1fr;
	}


	.aq-info-table__label {
		padding-bottom: 4px;

		color:
			var(--aq-blue, #053cff);

		font-size: .72rem;

		text-transform: uppercase;
	}


	.aq-info-table__value {
		padding-top: 4px;
	}

}


/* --------------------------------------------------------------
   REDUCED MOTION
-------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

	.aq-info-faq [data-aq-reveal] {
		opacity: 1;

		transform: none;

		transition: none;
	}

}