/* Press — stili del frontend pubblico (archivio, articolo, tassonomia).
   Caricati solo nelle pagine Press. Completa gli stili .rich-text del tema. */

.press-prose {
    color: var(--slate-300, #cbd5e1);
    line-height: 1.9;
    font-size: 1.0625rem;
}
.press-prose p { margin: 1rem 0; }
.press-prose h2 { margin: 2rem 0 1rem; font-size: 1.75rem; font-weight: 700; color: #fff; line-height: 1.25; }
.press-prose h3 { margin: 1.75rem 0 0.75rem; font-size: 1.375rem; font-weight: 700; color: #fff; line-height: 1.3; }
.press-prose h4 { margin: 1.5rem 0 0.75rem; font-size: 1.125rem; font-weight: 700; color: #fff; line-height: 1.35; }
.press-prose ul, .press-prose ol { margin: 1rem 0; padding-left: 1.5rem; }
.press-prose ul { list-style: disc; }
.press-prose ol { list-style: decimal; }
.press-prose li { margin: 0.35rem 0; }
.press-prose blockquote {
    margin: 1.5rem 0;
    padding: 0.75rem 1.25rem;
    border-left: 4px solid var(--pink-300, #f9a8d4);
    color: #e2e8f0;
    font-style: italic;
}
.press-prose a { color: #f472b6; text-decoration: underline; text-underline-offset: 2px; }
.press-prose a:hover { color: #f9a8d4; }
.press-prose strong, .press-prose b { font-weight: 700; color: #fff; }
.press-prose hr { margin: 2rem 0; border: 0; border-top: 1px solid rgba(255,255,255,0.15); }
.press-prose figure { margin: 1.5rem 0; }
.press-prose figcaption { margin-top: 0.5rem; font-size: 0.875rem; color: #94a3b8; text-align: center; }
.press-prose img { max-width: 100%; height: auto; border-radius: 0.75rem; }
.press-prose img.align-center { display: block; margin-inline: auto; }
.press-prose img.align-left { float: left; margin: 0.25rem 1.5rem 1rem 0; max-width: 50%; }
.press-prose img.align-right { float: right; margin: 0.25rem 0 1rem 1.5rem; max-width: 50%; }

/* Tabelle responsive generate dall'editor. */
.press-prose .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5rem 0; }
.press-prose table { width: 100%; border-collapse: collapse; min-width: 480px; font-size: 0.9375rem; }
.press-prose caption { caption-side: top; padding: 0.5rem; color: #94a3b8; font-size: 0.875rem; text-align: left; }
.press-prose thead { background: rgba(255,255,255,0.06); }
.press-prose th, .press-prose td { padding: 0.625rem 0.75rem; border: 1px solid rgba(255,255,255,0.14); text-align: left; vertical-align: top; }
.press-prose th { font-weight: 700; color: #fff; }

@media (max-width: 639px) {
    .press-prose img.align-left, .press-prose img.align-right { float: none; display: block; margin-inline: auto; max-width: 100%; }
}
