/* blocks-core.css — baseline comune (contract) per i blocchi
   Obiettivo: geometrie + markup stabile, colori derivati da variabili core.
   Load AFTER core.css.
*/

:root{
    /* Superfici e accenti “neutri” (derivano dal core/preset) */
    --block-surface: var(--bg);
    --block-border: var(--border);
    --block-fg: var(--fg);
    --block-muted: var(--muted);

    /* Accenti (default) */
    --block-accent: var(--link);
    --block-accent-success: #198754;
    --block-accent-warn: #b78103;
    --block-accent-danger: #dc3545;

    /* Geometry tokens */
    --block-radius: 10px;
    --block-pad-x: 14px;
    --block-pad-y: 12px;
    --block-gap: 12px;
}

/* Base wrapper */
.block{ margin: 0 0 var(--block-gap) 0; }
.block:last-child{ margin-bottom: 0; }

/* ─────────────────────────────────────────────────────────────
   NOTICE
   aside.block.notice.notice--info|success|warn|danger
   ───────────────────────────────────────────────────────────── */

.notice{
    border: 1px solid var(--block-border);
    border-radius: var(--block-radius);
    padding: var(--block-pad-y) var(--block-pad-x);
    background: var(--block-surface);
    color: var(--block-fg);
}

.notice__title{
    font-weight: 700;
    margin: 0 0 6px 0;
}

.notice__body p{ margin: 0; }

/* Accent stripe (geometry stays stable; only color changes) */
.notice--info   { border-left: 4px solid var(--block-accent); }
.notice--success{ border-left: 4px solid var(--block-accent-success); }
.notice--warn   { border-left: 4px solid var(--block-accent-warn); }
.notice--danger { border-left: 4px solid var(--block-accent-danger); }

/* ─────────────────────────────────────────────────────────────
   QUOTE
   figure.block.quote
   ───────────────────────────────────────────────────────────── */

.quote{
    border-left: 4px solid var(--block-border);
    padding: 10px var(--block-pad-x);
    background: var(--block-surface);
    color: var(--block-fg);
}

.quote__text{ margin: 0; }
.quote__text p{ margin: 0; font-style: italic; }

.quote__meta{
    margin-top: 8px;
    color: var(--block-muted);
    font-size: 0.95em;
}

/* ─────────────────────────────────────────────────────────────
   ACCORDION
   section.block.accordion > details
   ───────────────────────────────────────────────────────────── */

.accordion{
    border: 1px solid var(--block-border);
    border-radius: var(--block-radius);
    overflow: hidden;
    background: var(--block-surface);
    color: var(--block-fg);
}

.accordion__item{
    border-top: 1px solid var(--block-border);
    padding: 0;
}

.accordion__item:first-child{ border-top: 0; }

.accordion__title{
    cursor: pointer;
    padding: var(--block-pad-y) var(--block-pad-x);
    font-weight: 700;
    list-style: none;
}

.accordion__title::-webkit-details-marker{ display:none; }

.accordion__title::after{
    content: "▾";
    float: right;
    opacity: 0.75;
    transform: translateY(1px);
}

details[open] > .accordion__title::after{ content: "▴"; }

.accordion__body{
    padding: 0 var(--block-pad-x) var(--block-pad-y) var(--block-pad-x);
}

.accordion__body p{ margin: 0; }