/* ==========================================================================
   Aliquid Widgets — Split Sections
   Lo stato responsive arriva dalle custom properties impostate da Elementor:
   --aqw-cols (1|2)  --aqw-v (linea verticale 0|1)  --aqw-s (impilato 0|1)
   ========================================================================== */

.aqw-split {
	/* stato layout (default: due colonne) */
	--aqw-cols: 2;
	--aqw-v: 1;
	--aqw-s: 0;
	--aqw-top: 0;
	--aqw-sep: 0;

	/* misure */
	--aqw-inner: clamp(32px, 6vw, 110px);
	--aqw-max: 640px;
	--aqw-row-gap: clamp(36px, 8vw, 140px);
	--aqw-line-w: 1px;
	--aqw-line-color: #e4e7ea;
	--aqw-p-gap: 1em;

	/* elenchi */
	--aqw-bullet-color: #9db8c4;
	--aqw-bullet-size: 10px;
	--aqw-bullet-gap: 14px;
	--aqw-li-gap: 0.55em;

	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--aqw-cols), minmax(0, 1fr));
	column-gap: 0;
	row-gap: var(--aqw-row-gap);
	align-items: start;
	padding-top: clamp(40px, 5vw, 64px);
	border-top: calc(var(--aqw-top) * var(--aqw-top-w, var(--aqw-line-w))) var(--aqw-top-style, solid) var(--aqw-top-color, var(--aqw-line-color));
	box-sizing: border-box;
}

/* Divisore verticale centrale: copre tutta l'altezza del widget */
.aqw-split::before {
	content: "";
	position: absolute;
	top: var(--aqw-vline-top, 0);
	bottom: var(--aqw-vline-bottom, 0);
	left: 50%;
	width: 0;
	border-left: calc(var(--aqw-v) * var(--aqw-vline-w, var(--aqw-line-w))) var(--aqw-vline-style, solid) var(--aqw-vline-color, var(--aqw-line-color));
	transform: translateX(-50%);
	pointer-events: none;
}

/* Posizionamento: in "per colonna" ogni sezione ha --aqw-c/--aqw-r inline.
   In modalità impilata --aqw-place = auto e vince sull'ordine naturale. */
.aqw-split__item {
	position: relative;
	min-width: 0;
	box-sizing: border-box;
	grid-column: var(--aqw-place, var(--aqw-c, auto));
	grid-row: var(--aqw-place, var(--aqw-r, auto));
}

.aqw-split__item--left {
	padding-inline-end: calc(var(--aqw-v) * var(--aqw-inner));
}

.aqw-split__item--right {
	padding-inline-start: calc(var(--aqw-v) * var(--aqw-inner));
}

/* Impilato: linea orizzontale fra le sezioni (ordine dell'elenco) */
.aqw-split__item + .aqw-split__item {
	border-top: calc(var(--aqw-s) * var(--aqw-sep) * var(--aqw-hline-w, var(--aqw-line-w))) var(--aqw-hline-style, solid) var(--aqw-hline-color, var(--aqw-line-color));
	padding-top: calc(var(--aqw-s) * var(--aqw-sep) * var(--aqw-row-gap));
}

/* --------------------------------------------------------------------------
   Flusso "continua": multi-colonna stile giornale.
   Le sezioni scorrono una sotto l'altra; a metà altezza proseguono a destra.
   La linea centrale resta il ::before (left: 50% = centro del column-gap).
   -------------------------------------------------------------------------- */

.aqw-split--flow-auto {
	display: block;
	column-count: var(--aqw-cols);
	column-gap: calc(2 * var(--aqw-v) * var(--aqw-inner));
	column-fill: balance;
}

.aqw-split--flow-auto .aqw-split__item {
	display: block;
	padding-inline: 0;
	break-inside: auto;
}

.aqw-split--flow-auto .aqw-split__item + .aqw-split__item {
	margin-top: var(--aqw-row-gap);
}

.aqw-split--flow-auto.aqw-split--no-break .aqw-split__item {
	break-inside: avoid;
}

/* Evita titoli orfani in fondo alla colonna e righe singole spezzate */
.aqw-split--flow-auto .aqw-split__title {
	break-after: avoid;
}

.aqw-split--flow-auto .aqw-split__text p,
.aqw-split--flow-auto .aqw-split__text li {
	orphans: 3;
	widows: 3;
}

.aqw-split--flow-auto .aqw-split__text li {
	break-inside: avoid;
}

.aqw-split__inner {
	max-width: var(--aqw-max);
}

/* --------------------------------------------------------------------------
   Tipografia di base (sovrascritta dai controlli Elementor)
   -------------------------------------------------------------------------- */

.aqw-split .aqw-split__title {
	margin: 0 0 18px;
	padding: 0;
	font-size: clamp(22px, 1.1vw + 14px, 26px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: #1d2733;
}

.aqw-split .aqw-split__title--large {
	margin-bottom: 22px;
	font-size: clamp(28px, 1.6vw + 16px, 38px);
	line-height: 1.2;
}

.aqw-split__text {
	font-size: 16px;
	line-height: 1.6;
	color: #5e6870;
}

.aqw-split__text > :first-child {
	margin-top: 0;
}

.aqw-split__text > :last-child {
	margin-bottom: 0;
}

.aqw-split__text p {
	margin: 0 0 var(--aqw-p-gap);
}

.aqw-split__text a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Elenchi puntati
   -------------------------------------------------------------------------- */

.aqw-split__text ul {
	margin: calc(var(--aqw-p-gap) * 1.2) 0 var(--aqw-p-gap);
	padding: 0;
	list-style: none;
}

.aqw-split__text ul li {
	position: relative;
	margin: 0;
	padding-inline-start: calc(var(--aqw-bullet-on, 1) * (var(--aqw-bullet-size) + var(--aqw-bullet-gap)));
	color: #3d4852;
}

.aqw-split__text ul li + li {
	margin-top: var(--aqw-li-gap);
}

/* Il punto è guidato da variabili: le classi .aqw-bullet-* (sul widget o sulla
   singola sezione) cambiano solo le variabili, quindi la sezione vince sul generale. */
.aqw-split__text ul li::before {
	content: "";
	position: absolute;
	inset-inline-start: calc(var(--aqw-bullet-size) * (1 - var(--aqw-bullet-ws, 1)) / 2);
	top: 0.8em;
	top: 0.5lh;
	width: calc(var(--aqw-bullet-on, 1) * var(--aqw-bullet-size) * var(--aqw-bullet-ws, 1));
	height: calc(var(--aqw-bullet-on, 1) * var(--aqw-bullet-size) * var(--aqw-bullet-hs, 1));
	border-radius: var(--aqw-bullet-radius, 0);
	background: var(--aqw-bullet-color);
	-webkit-mask: var(--aqw-bullet-mask, none) center / contain no-repeat;
	mask: var(--aqw-bullet-mask, none) center / contain no-repeat;
	transform: translateY(-50%);
}

.aqw-bullet-asterisk {
	--aqw-bullet-on: 1; --aqw-bullet-ws: 1; --aqw-bullet-hs: 1; --aqw-bullet-radius: 0;
	--aqw-bullet-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M8 1.5v13M1.5 8h13M3.4 3.4l9.2 9.2M12.6 3.4l-9.2 9.2'/%3E%3C/g%3E%3C/svg%3E");
}

.aqw-bullet-dot {
	--aqw-bullet-on: 1; --aqw-bullet-ws: 0.6; --aqw-bullet-hs: 0.6; --aqw-bullet-radius: 50%;
	--aqw-bullet-mask: none;
}

.aqw-bullet-dash {
	--aqw-bullet-on: 1; --aqw-bullet-ws: 1; --aqw-bullet-hs: 0.14; --aqw-bullet-radius: 0;
	--aqw-bullet-mask: none;
}

.aqw-bullet-arrow {
	--aqw-bullet-on: 1; --aqw-bullet-ws: 1; --aqw-bullet-hs: 1; --aqw-bullet-radius: 0;
	--aqw-bullet-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.aqw-bullet-none {
	--aqw-bullet-on: 0;
}

/* Elenchi numerati: lasciati nativi, solo spaziatura coerente */
.aqw-split__text ol {
	margin: calc(var(--aqw-p-gap) * 1.2) 0 var(--aqw-p-gap);
	padding-inline-start: 1.3em;
}

.aqw-split__text ol li + li {
	margin-top: var(--aqw-li-gap);
}
