/* PUULP AI Site Manager - formato articoli.
   Tutto è limitato a .puulp-article (e ai componenti puulp-*) per non toccare il tema.
   Il colore principale arriva da --puulp-accent (impostabile dal plugin). */

.puulp-article {
	--puulp-a: var(--puulp-accent, #2563eb);
	--puulp-border: rgba(127, 127, 127, 0.3);
	--puulp-soft: rgba(127, 127, 127, 0.09);
	--puulp-radius: 12px;
	font-size: 1.0625rem;
	line-height: 1.75;
	overflow-wrap: break-word;
}
.puulp-article > :first-child { margin-top: 0; }

/* Tempo di lettura */
.puulp-meta {
	display: inline-block;
	margin: 0 0 1.25em;
	padding: 0.2em 0.8em;
	border: 1px solid var(--puulp-border);
	border-radius: 999px;
	font-size: 0.82em;
	line-height: 1.6;
	opacity: 0.8;
}

/* Titoli dei riquadri */
.puulp-box-title {
	margin: 0 0 0.6em !important;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--puulp-a);
}

/* Riquadro "In breve" */
.puulp-summary {
	margin: 1.5em 0;
	padding: 1.1em 1.5em;
	border: 1px solid var(--puulp-border);
	border-left: 5px solid var(--puulp-a);
	border-radius: var(--puulp-radius);
	background: var(--puulp-soft);
}
.puulp-summary ul { margin: 0; padding-left: 1.2em; }
.puulp-summary li { margin: 0.35em 0; }
.puulp-summary > :last-child { margin-bottom: 0; }

/* Indice */
.puulp-toc {
	margin: 1.75em 0 2em;
	padding: 1.1em 1.5em;
	border: 1px solid var(--puulp-border);
	border-radius: var(--puulp-radius);
}
.puulp-toc ol {
	margin: 0;
	padding-left: 1.4em;
	columns: 2 260px;
	column-gap: 2em;
}
.puulp-toc li { margin: 0.3em 0; break-inside: avoid; }
.puulp-toc a { text-decoration: none; }
.puulp-toc a:hover { text-decoration: underline; }
.puulp-toc li::marker { color: var(--puulp-a); font-weight: 700; }

/* Titoli */
.puulp-article h2 {
	margin: 2.2em 0 0.7em;
	padding-bottom: 0.35em;
	border-bottom: 2px solid var(--puulp-a);
	line-height: 1.25;
	scroll-margin-top: 90px;
}
.puulp-article h3 {
	margin: 1.7em 0 0.5em;
	line-height: 1.3;
	scroll-margin-top: 90px;
}
.puulp-article p { margin: 0 0 1.1em; }
.puulp-article ul,
.puulp-article ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.puulp-article li { margin: 0.35em 0; }
.puulp-article li::marker { color: var(--puulp-a); }

/* Box di approfondimento */
.puulp-callout,
.puulp-box {
	--puulp-c: var(--puulp-a);
	margin: 1.75em 0;
	padding: 1em 1.4em;
	border: 1px solid var(--puulp-border);
	border-left: 5px solid var(--puulp-c);
	border-radius: var(--puulp-radius);
	background: var(--puulp-soft);
}
.puulp-callout .puulp-box-title { color: var(--puulp-c); }
.puulp-callout--tip { --puulp-c: #16a34a; }
.puulp-callout--warning { --puulp-c: #d97706; }
.puulp-callout--info { --puulp-c: var(--puulp-a); }
.puulp-callout > :last-child,
.puulp-box > :last-child { margin-bottom: 0; }

/* Tabelle */
.puulp-table-wrap {
	margin: 1.75em 0;
	overflow-x: auto;
	border: 1px solid var(--puulp-border);
	border-radius: var(--puulp-radius);
	-webkit-overflow-scrolling: touch;
}
.puulp-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.95em;
	line-height: 1.5;
}
.puulp-table th,
.puulp-table td {
	padding: 0.7em 1em;
	border: 0;
	border-bottom: 1px solid var(--puulp-border);
	text-align: left;
	vertical-align: top;
}
.puulp-table thead th {
	background: var(--puulp-a);
	color: #fff;
	font-weight: 600;
	white-space: nowrap;
}
.puulp-table tbody tr:nth-child(even) td { background: var(--puulp-soft); }
.puulp-table tbody tr:last-child td { border-bottom: 0; }

/* FAQ */
.puulp-faq { margin: 2.2em 0; }
.puulp-faq h3 {
	margin: 1.4em 0 0.3em;
	padding-left: 0.2em;
	font-size: 1.08em;
}
.puulp-faq h3::before {
	content: "D. ";
	font-weight: 800;
	color: var(--puulp-a);
}
.puulp-faq h3 + p {
	margin-left: 0.2em;
	padding-left: 1em;
	border-left: 3px solid var(--puulp-border);
}

/* Conclusione */
.puulp-conclusion {
	margin: 2.5em 0 1em;
	padding: 0.4em 1.5em 0.6em;
	border-top: 4px solid var(--puulp-a);
	border-radius: 0 0 var(--puulp-radius) var(--puulp-radius);
	background: var(--puulp-soft);
}
.puulp-conclusion h2 { border-bottom: 0; margin-top: 0.9em; padding-bottom: 0; }
.puulp-conclusion > :last-child { margin-bottom: 0; }

/* Pulsante Amazon (shortcode [puulp_amazon]) */
a.puulp-cta {
	display: inline-block;
	padding: 0.65em 1.4em;
	border-radius: 8px;
	background: #ff9900;
	color: #111 !important;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
a.puulp-cta:hover { background: #e88a00; }

/* Nota affiliazione */
.puulp-disclosure {
	margin-top: 2em;
	padding-top: 0.8em;
	border-top: 1px solid var(--puulp-border);
	opacity: 0.75;
}

@media (max-width: 600px) {
	.puulp-article { font-size: 1rem; }
	.puulp-summary,
	.puulp-toc,
	.puulp-callout,
	.puulp-box,
	.puulp-conclusion { padding-left: 1.05em; padding-right: 1.05em; }
	.puulp-toc ol { columns: 1; }
	.puulp-table th,
	.puulp-table td { padding: 0.55em 0.7em; }
}
