/**
 * NIA Single Content Pages
 * Usato da: single-post, single-disturbo, single-psicoterapia, single-glossario
 * Dipende da: nia-base.css (token --nia-*)
 */

/* ── Layout 2 colonne ── */
.nia-single-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3rem;
    padding: 2rem 0;
}

@media (max-width: 1024px) {
    .nia-single-layout { grid-template-columns: 1fr; }
    .nia-sidebar { position: static; }
}

/* ── Meta top ── */
.nia-single-meta-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: var(--nia-text-muted, #999);
    margin-bottom: 1rem;
}

.nia-single-category {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.6875rem;
    color: var(--nia-teal, #347064);
    text-decoration: none;
}

.nia-single-updated { color: var(--nia-text-muted, #999); }

/* ── Title ── */
.nia-single-title {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1.5rem;
    color: var(--nia-text-primary, #2c2c2c);
}

/* ── TOC (accordion chiuso) ── */
.nia-toc {
    background: var(--nia-bg, #f5f0eb);
    border: 1px solid var(--nia-border, #e8e3de);
    border-radius: 12px;
    margin-bottom: 2rem;
    overflow: hidden;
}

.nia-toc:empty,
.nia-toc[data-empty="true"] { display: none; }

.nia-toc .nia-accordion-trigger {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem 1.25rem;
    background: var(--nia-bg, #f5f0eb);
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    text-align: left;
    gap: 0.75rem;
    transition: background 0.2s ease;
}

.nia-toc .nia-accordion-trigger:hover {
    background: var(--nia-border, #e8e3de);
}

.nia-toc .nia-accordion-title {
    flex: 1;
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-weight: 700;
    color: var(--nia-text-primary, #2c2c2c);
}

.nia-toc .nia-accordion-icon {
    font-size: 0.875rem;
    transition: transform 0.2s ease;
    color: var(--nia-text-muted, #999);
}

.nia-toc .nia-accordion-trigger[aria-expanded="true"] .nia-accordion-icon {
    transform: rotate(180deg);
}

.nia-toc .nia-accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 1.25rem;
}

.nia-toc .nia-accordion-panel[aria-hidden="false"] {
    max-height: 600px;
    padding: 0 1.25rem 1rem;
}

.nia-toc-list ul { margin: 0; padding-left: 1.25rem; list-style-type: disc; }
.nia-toc-list ul ul { margin-top: 0.5rem; list-style-type: circle; }
.nia-toc-list li { margin-bottom: 0.5rem; font-size: 0.9375rem; }
.nia-toc-list ul ul li { font-size: 0.875rem; }
.nia-toc-list a { color: var(--nia-text-primary, #2c2c2c); text-decoration: none; }
.nia-toc-list a:hover { color: var(--nia-teal, #347064); }

/* ── Article body ── */
.nia-single-body {
    line-height: 1.8;
    font-size: 1.0625rem;
}

.nia-single-body h2 {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--nia-border, #e8e3de);
}

.nia-single-body h3 {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.nia-single-body p { margin-bottom: 1.25rem; }

.nia-single-body blockquote {
    border-left: 4px solid var(--nia-teal, #347064);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: var(--nia-bg, #f5f0eb);
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: var(--nia-text-secondary, #6b6b6b);
}

.nia-single-body ul,
.nia-single-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
}

.nia-single-body li { margin-bottom: 0.5rem; }

.nia-single-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
}

.nia-single-body th,
.nia-single-body td {
    padding: 0.75rem 1rem;
    border: 1px solid var(--nia-border, #e8e3de);
    text-align: left;
}

.nia-single-body th {
    background: var(--nia-bg, #f5f0eb);
    font-weight: 600;
}

.nia-single-body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* ── Disclaimer ── */
.nia-disclaimer {
    background: var(--nia-bg, #f5f0eb);
    border: 1px solid var(--nia-border, #e8e3de);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-top: 2.5rem;
    font-size: 0.875rem;
    color: var(--nia-text-secondary, #6b6b6b);
}

.nia-disclaimer strong { color: var(--nia-text-primary, #2c2c2c); }

/* ── Author box ── */
.nia-author-box {
    display: flex;
    gap: 1.25rem;
    padding: 1.5rem;
    margin-top: 3rem;
    background: var(--nia-bg, #f5f0eb);
    border-radius: 12px;
}

.nia-author-avatar img { border-radius: 50%; }

.nia-author-label {
    font-size: 0.75rem;
    color: var(--nia-text-muted, #999);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}

.nia-author-name {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.nia-author-name a { color: var(--nia-text-primary, #2c2c2c); text-decoration: none; }
.nia-author-name a:hover { color: var(--nia-teal, #347064); }

.nia-author-bio {
    font-size: 0.875rem;
    color: var(--nia-text-secondary, #6b6b6b);
    line-height: 1.6;
}

/* ── Sidebar ── */
.nia-sidebar {
    align-self: start;
}

.nia-widget {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    background: var(--nia-surface, #fff);
    border: 1px solid var(--nia-border, #e8e3de);
    border-radius: 12px;
}

.nia-widget--highlighted {
    background: var(--nia-accent-xlight, #f2f9f6);
    border-color: var(--nia-accent-light, #e8f0ed);
}

.nia-widget--newsletter {
    background: var(--nia-accent-xlight, #f2f9f6);
    border-color: var(--nia-accent-light, #e8f0ed);
}

.nia-widget-title {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 0.9375rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.nia-widget-title--teal {
    color: #fff;
    background: var(--nia-teal, #347064);
    margin: -1.25rem -1.25rem 1rem;
    padding: 0.75rem 1.25rem;
    border-radius: 12px 12px 0 0;
}

.nia-widget-desc {
    font-size: 0.8125rem;
    color: var(--nia-text-secondary, #6b6b6b);
    margin-bottom: 0.75rem;
}

.nia-widget-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nia-widget-links li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--nia-border-light, #f0ece7);
}

.nia-widget-links li:last-child { border-bottom: none; }
.nia-widget-links a { color: var(--nia-text-primary, #2c2c2c); text-decoration: none; font-size: 0.875rem; }
.nia-widget-links a:hover { color: var(--nia-teal, #347064); }

.nia-sidebar-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--nia-border, #e8e3de);
    border-radius: 8px;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
    background: #fff;
    font-family: inherit;
}

.nia-sidebar-input:focus {
    outline: none;
    border-color: var(--nia-teal, #347064);
}

/* Card compact (sidebar related) */
.nia-card-compact {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--nia-border-light, #f0ece7);
    text-decoration: none;
    color: var(--nia-text-primary, #2c2c2c);
}

.nia-card-compact:hover { color: var(--nia-teal, #347064); }

.nia-card-compact-thumb img {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
}

.nia-card-compact-title {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
}

/* ── Related section (full width, 4 colonne) ── */
.nia-related-section {
    padding: 3rem 0;
    border-top: 1px solid var(--nia-border, #e8e3de);
}

.nia-card-grid--4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.nia-related-section .nia-card-body { padding: 1rem; }
.nia-related-section .nia-card-title { font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif); font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; }
.nia-related-section .nia-card-title a { color: var(--nia-text-primary, #2c2c2c); text-decoration: none; }
.nia-related-section .nia-card-title a:hover { color: var(--nia-teal, #347064); }
.nia-related-section .nia-card-excerpt { font-size: 0.8125rem; color: var(--nia-text-muted, #999); line-height: 1.5; }

@media (max-width: 900px) {
    .nia-card-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .nia-card-grid--4 { grid-template-columns: 1fr; }
}

.nia-section-title {
    font-family: var(--nia-font-heading, 'Source Serif 4', Georgia, serif);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* ── Buttons ── */
.nia-btn {
    display: inline-block;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
    text-decoration: none;
    text-align: center;
    line-height: 1;
    font-family: inherit;
}

.nia-btn--cta {
    background: var(--nia-cta, #F0D351);
    color: var(--nia-cta-text, #2c2c2c);
}

.nia-btn--cta:hover { background: var(--nia-cta-hover, #D4B83E); }

.nia-btn--outline {
    background: transparent;
    border: 2px solid var(--nia-teal, #347064);
    color: var(--nia-teal, #347064);
}

.nia-btn--outline:hover {
    background: var(--nia-teal, #347064);
    color: #fff;
}

.nia-btn--newsletter {
    background: var(--nia-cta, #F0D351);
    color: var(--nia-cta-text, #2c2c2c);
}

.nia-btn--small {
    padding: 0.5rem 1.25rem;
    font-size: 0.8125rem;
}

.nia-btn--block { width: 100%; }
