/* ==========================================================================
   ONE — design system condiviso
   Palette e tipografia derivano dal Manifesto: nero profondo, oro/bronzo,
   avorio; titoli in serif ad alto contrasto, testi in sans geometrico.
   Nessuna risorsa esterna: i font usano pile di sistema (vedi docs).
   ========================================================================== */

:root {
    --nero: #0b0a09;
    --carbone: #12100e;
    --grafite: #1b1815;
    --fumo: #2a2621;
    --oro: #c19a66;
    --oro-chiaro: #dfc294;
    --oro-scuro: #8f6a3d;
    --avorio: #f3eee6;
    --avorio-2: #e9e1d5;
    --carta: #fbf9f5;
    --bordo: #ddd3c5;
    --bordo-scuro: rgba(223, 194, 148, .18);
    --testo-chiaro: #ece5d8;
    --testo-tenue: #a89d8d;
    --inchiostro: #1a1714;
    --inchiostro-tenue: #6d6458;

    --successo: #4f7050;
    --attesa: #a87a2c;
    --errore: #9a4636;
    --info: #4f6679;

    --font-titoli: "Cormorant Garamond", "Cormorant", Didot, "Bodoni 72", "Bodoni MT", "Hoefler Text", Baskerville, "Libre Baskerville", Garamond, "Times New Roman", serif;
    --font-testo: Jost, "Avenir Next", Avenir, "Century Gothic", Futura, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-corsivo: "Snell Roundhand", "Apple Chancery", "Segoe Script", "Brush Script MT", cursive;

    --raggio: 4px;
    --ombra: 0 1px 2px rgba(26, 23, 20, .05), 0 8px 24px rgba(26, 23, 20, .06);
    --larghezza: 1180px;
    --transizione: .25s cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-testo);
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
    color: var(--inchiostro);
    background: var(--avorio);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration-color: var(--oro); text-underline-offset: .2em; }
a:hover { color: var(--oro-scuro); }
h1, h2, h3, h4 { font-family: var(--font-titoli); font-weight: 500; line-height: 1.15; margin: 0 0 .5em; letter-spacing: .01em; }
p { margin: 0 0 1em; }
hr { border: 0; border-top: 1px solid var(--bordo); margin: 2rem 0; }
::selection { background: var(--oro); color: var(--nero); }
:focus-visible { outline: 2px solid var(--oro); outline-offset: 2px; }
[hidden] { display: none !important; }

.solo-lettori {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---- tipografia di marca ------------------------------------------------ */
.occhiello {
    font-family: var(--font-testo);
    font-size: .72rem;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--oro-scuro);
    margin: 0 0 1.1rem;
    font-weight: 500;
}
.tema-scuro .occhiello { color: var(--oro); }

.titolo-xl { font-size: clamp(2.6rem, 6.4vw, 5.4rem); letter-spacing: .14em; text-transform: uppercase; font-weight: 400; }
.titolo-l  { font-size: clamp(2rem, 4.2vw, 3.4rem); }
.titolo-m  { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.titolo-s  { font-size: 1.3rem; }
.maiuscoletto { text-transform: uppercase; letter-spacing: .16em; }
.corsivo { font-family: var(--font-titoli); font-style: italic; }
.firma { font-family: var(--font-corsivo); font-size: 1.7rem; color: var(--oro); line-height: 1.2; }
.oro { color: var(--oro); }
.tenue { color: var(--inchiostro-tenue); }
.tema-scuro .tenue { color: var(--testo-tenue); }
.centrato { text-align: center; }
.filetto { width: 56px; height: 1px; background: var(--oro); border: 0; margin: 1.6rem 0; }
.centrato .filetto, .filetto--centro { margin-left: auto; margin-right: auto; }
.piccolo { font-size: .86rem; }
.numero { font-variant-numeric: tabular-nums; }

/* ---- logo e sigillo ------------------------------------------------------ */
.logo { height: 34px; width: auto; }
.logo--grande { height: 84px; }
.sigillo { width: 100%; height: auto; }

/* ---- icone --------------------------------------------------------------- */
.icona { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; display: inline-block; }
.icona--grande { width: 1.9rem; height: 1.9rem; }

/* ---- pulsanti ------------------------------------------------------------ */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .65em;
    padding: .95em 1.7em;
    font-family: var(--font-testo); font-size: .74rem; font-weight: 500;
    letter-spacing: .2em; text-transform: uppercase; text-decoration: none; line-height: 1.2;
    border: 1px solid transparent; border-radius: 2px;
    cursor: pointer; transition: background var(--transizione), color var(--transizione), border-color var(--transizione), transform var(--transizione);
    background: none; color: inherit;
}
.btn:active { transform: translateY(1px); }
.btn[disabled], .btn.disabilitato { opacity: .45; pointer-events: none; }
.btn--oro { background: linear-gradient(135deg, var(--oro-chiaro), var(--oro) 55%, var(--oro-scuro)); color: var(--nero); }
.btn--oro:hover { background: var(--oro-chiaro); color: var(--nero); }
.btn--linea { border-color: var(--oro); color: var(--oro-scuro); }
.btn--linea:hover { background: var(--oro); color: var(--nero); }
.tema-scuro .btn--linea { color: var(--oro-chiaro); }
.tema-scuro .btn--linea:hover { color: var(--nero); }
.btn--scuro { background: var(--inchiostro); color: var(--avorio); }
.btn--scuro:hover { background: var(--fumo); color: var(--oro-chiaro); }
.btn--chiaro { border-color: var(--bordo); color: var(--inchiostro); background: var(--carta); }
.btn--chiaro:hover { border-color: var(--oro); color: var(--oro-scuro); }
.btn--pericolo { border-color: rgba(154, 70, 54, .4); color: var(--errore); }
.btn--pericolo:hover { background: var(--errore); color: #fff; }
.btn--piccolo { padding: .65em 1.1em; font-size: .68rem; letter-spacing: .16em; }
.btn--largo { width: 100%; }
.btn--testo { padding: 0; border: 0; letter-spacing: .16em; color: var(--oro-scuro); }
.btn--testo:hover { color: var(--inchiostro); }
.tema-scuro .btn--testo { color: var(--oro); }
.tema-scuro .btn--testo:hover { color: var(--oro-chiaro); }
.azioni { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.azioni--fine { justify-content: flex-end; }

/* ---- form ---------------------------------------------------------------- */
.campo { display: block; margin-bottom: 1.25rem; }
.campo__etichetta, .campo > label {
    display: block; margin-bottom: .45rem;
    font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500;
    color: var(--inchiostro-tenue);
}
.campo input[type=text], .campo input[type=email], .campo input[type=password], .campo input[type=number],
.campo input[type=tel], .campo input[type=url], .campo input[type=date], .campo input[type=time],
.campo input[type=datetime-local], .campo input[type=search], .campo select, .campo textarea {
    width: 100%; padding: .78em .9em;
    font: inherit; font-size: .96rem; color: var(--inchiostro);
    background: #fff; border: 1px solid var(--bordo); border-radius: var(--raggio);
    transition: border-color var(--transizione), box-shadow var(--transizione);
    appearance: none; -webkit-appearance: none;
}
.campo select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f6a3d' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .8em center; background-size: 1em; padding-right: 2.4em;
}
.campo textarea { min-height: 7.5em; resize: vertical; line-height: 1.55; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
    outline: none; border-color: var(--oro); box-shadow: 0 0 0 3px rgba(193, 154, 102, .2);
}
.campo__aiuto { margin: .4rem 0 0; font-size: .8rem; color: var(--inchiostro-tenue); line-height: 1.45; }
.campo__errore { margin: .4rem 0 0; font-size: .8rem; color: var(--errore); }
.campo--errore input, .campo--errore select, .campo--errore textarea { border-color: var(--errore); }
.campi { display: grid; gap: 0 1.25rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.campi--3 { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

.spunta { display: flex; gap: .7rem; align-items: flex-start; margin-bottom: 1rem; font-size: .92rem; line-height: 1.45; cursor: pointer; }
.spunta input { flex: none; width: 1.15rem; height: 1.15rem; margin: .12rem 0 0; accent-color: var(--oro-scuro); }

.tema-scuro .campo__etichetta, .tema-scuro .campo > label { color: var(--testo-tenue); }
.tema-scuro .campo input, .tema-scuro .campo select, .tema-scuro .campo textarea {
    background-color: rgba(255, 255, 255, .04); border-color: rgba(223, 194, 148, .25); color: var(--testo-chiaro);
}
.tema-scuro .campo__aiuto { color: var(--testo-tenue); }
.trappola { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

/* ---- badge --------------------------------------------------------------- */
.badge {
    display: inline-flex; align-items: center; gap: .4em;
    padding: .32em .75em; border-radius: 99px;
    font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; line-height: 1.3;
    background: rgba(109, 100, 88, .12); color: var(--inchiostro-tenue);
}
.badge--oro { background: rgba(193, 154, 102, .2); color: #7a5729; }
.badge--successo { background: rgba(79, 112, 80, .15); color: var(--successo); }
.badge--attesa { background: rgba(168, 122, 44, .16); color: #85601f; }
.badge--errore { background: rgba(154, 70, 54, .13); color: var(--errore); }
.badge--info { background: rgba(79, 102, 121, .14); color: var(--info); }
.tema-scuro .badge { background: rgba(255, 255, 255, .08); color: var(--testo-tenue); }
.tema-scuro .badge--oro { background: rgba(193, 154, 102, .18); color: var(--oro-chiaro); }
.tema-scuro .badge--successo { color: #9bc29c; background: rgba(120, 170, 122, .14); }

/* ---- schede, tabelle, elenchi --------------------------------------------- */
.scheda {
    background: var(--carta); border: 1px solid var(--bordo); border-radius: 6px;
    padding: 1.5rem; box-shadow: var(--ombra);
}
.scheda--piatta { box-shadow: none; }
.scheda--oro { border-color: rgba(193, 154, 102, .55); background: linear-gradient(180deg, #fffdf9, #fbf6ec); }
.scheda--scura { background: var(--carbone); border-color: var(--bordo-scuro); color: var(--testo-chiaro); box-shadow: none; }
.scheda__titolo {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
    margin: 0 0 1.1rem; font-family: var(--font-testo); font-size: .74rem; font-weight: 600;
    letter-spacing: .18em; text-transform: uppercase; color: var(--inchiostro-tenue);
}
.scheda--scura .scheda__titolo { color: var(--oro); }
.scheda > :last-child { margin-bottom: 0; }

.tabella-contenitore { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabella { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabella th {
    text-align: left; padding: .7rem .9rem; white-space: nowrap;
    font-size: .66rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase;
    color: var(--inchiostro-tenue); border-bottom: 1px solid var(--bordo);
}
.tabella td { padding: .85rem .9rem; border-bottom: 1px solid rgba(221, 211, 197, .6); vertical-align: middle; }
.tabella tr:last-child td { border-bottom: 0; }
.tabella tbody tr:hover { background: rgba(193, 154, 102, .06); }
.tabella .destra, .destra { text-align: right; }
.tabella a { text-decoration: none; font-weight: 500; }
.tabella a:hover { text-decoration: underline; }

.definizioni { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; gap: .1rem 1.2rem; margin: 0; font-size: .94rem; }
.definizioni dt { color: var(--inchiostro-tenue); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; padding: .7rem 0; border-bottom: 1px solid rgba(221, 211, 197, .6); }
.definizioni dd { margin: 0; padding: .6rem 0; border-bottom: 1px solid rgba(221, 211, 197, .6); }
.definizioni dt:last-of-type, .definizioni dd:last-of-type { border-bottom: 0; }
.tema-scuro .definizioni dt { color: var(--testo-tenue); }
.tema-scuro .definizioni dt, .tema-scuro .definizioni dd { border-color: var(--bordo-scuro); }

.elenco-spunte { list-style: none; margin: 0; padding: 0; }
.elenco-spunte li { position: relative; padding: .38rem 0 .38rem 1.7rem; line-height: 1.5; }
.elenco-spunte li::before {
    content: ""; position: absolute; left: .1rem; top: .95em; width: .8rem; height: 1px; background: var(--oro);
}

.vuoto { text-align: center; padding: 3rem 1.5rem; color: var(--inchiostro-tenue); }
.vuoto .icona { width: 2.4rem; height: 2.4rem; margin: 0 auto 1rem; color: var(--oro); display: block; }
.vuoto p { max-width: 46ch; margin-left: auto; margin-right: auto; }

/* ---- messaggi ------------------------------------------------------------ */
.messaggi { display: grid; gap: .6rem; margin-bottom: 1.5rem; }
.messaggio {
    display: flex; gap: .8rem; align-items: flex-start;
    padding: .9rem 1.1rem; border-radius: var(--raggio); border: 1px solid; font-size: .94rem; line-height: 1.5;
}
.messaggio .icona { margin-top: .15em; }
.messaggio--successo { background: #eef3ec; border-color: #c5d6c3; color: #35523a; }
.messaggio--errore { background: #f7ebe8; border-color: #e2c2ba; color: #7d382b; }
.messaggio--avviso { background: #f8f1e1; border-color: #e6d3a6; color: #74551a; }
.messaggio--info { background: #ebf0f4; border-color: #c6d3de; color: #3d5265; }
.messaggio__chiudi { margin-left: auto; background: none; border: 0; color: inherit; cursor: pointer; padding: 0; opacity: .6; }
.messaggio__chiudi:hover { opacity: 1; }

.nota {
    padding: 1rem 1.2rem; border-left: 2px solid var(--oro); background: rgba(193, 154, 102, .09);
    font-size: .9rem; line-height: 1.55; border-radius: 0 var(--raggio) var(--raggio) 0;
}
.nota > :last-child { margin-bottom: 0; }
.tema-scuro .nota { background: rgba(193, 154, 102, .08); color: var(--testo-chiaro); }

/* ---- finestre di dialogo --------------------------------------------------- */
dialog.finestra {
    border: 1px solid var(--bordo); border-radius: 8px; padding: 0; width: min(560px, calc(100vw - 2rem));
    background: var(--carta); color: var(--inchiostro); box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}
dialog.finestra::backdrop { background: rgba(11, 10, 9, .62); backdrop-filter: blur(3px); }
.finestra__testa { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--bordo); }
.finestra__testa h3 { margin: 0; font-size: 1.35rem; }
.finestra__corpo { padding: 1.5rem; max-height: 70vh; overflow-y: auto; }
.finestra__piede { padding: 1rem 1.5rem; border-top: 1px solid var(--bordo); display: flex; justify-content: flex-end; gap: .7rem; flex-wrap: wrap; }
.finestra__chiudi { background: none; border: 0; cursor: pointer; color: var(--inchiostro-tenue); padding: .2rem; }

/* ---- contenuti multimediali ------------------------------------------------ */
.schermo {
    position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 6px; overflow: hidden;
    border: 1px solid var(--bordo-scuro);
}
.schermo video, .schermo img { width: 100%; height: 100%; object-fit: contain; background: #000; }
.schermo--verticale { aspect-ratio: 9 / 16; max-width: 320px; }
.schermo__attesa {
    position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .9rem; text-align: center; padding: 1.5rem;
    color: var(--testo-tenue);
    background:
        radial-gradient(60% 80% at 50% 45%, rgba(193, 154, 102, .16), transparent 70%),
        linear-gradient(180deg, #161310, #0b0a09);
}
.schermo__attesa .sigillo { width: min(28%, 120px); }
.schermo__attesa p { margin: 0; font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; }
.schermo__attesa strong { font-family: var(--font-titoli); font-weight: 400; font-size: clamp(1rem, 2.4vw, 1.5rem); letter-spacing: .2em; color: var(--testo-chiaro); }

.galleria { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; }
.miniatura {
    position: relative; aspect-ratio: 4 / 3; border-radius: var(--raggio); overflow: hidden; background: var(--grafite);
    border: 1px solid var(--bordo); display: block; color: var(--testo-chiaro); text-decoration: none;
}
.miniatura img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.miniatura:hover img { transform: scale(1.04); }
.miniatura__tipo {
    position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .4rem;
    color: var(--oro); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; text-align: center; padding: .5rem;
}
.miniatura__tipo .icona { width: 1.6rem; height: 1.6rem; }
.miniatura__durata {
    position: absolute; right: .4rem; bottom: .4rem; padding: .15em .5em; border-radius: 3px;
    background: rgba(0, 0, 0, .7); color: #fff; font-size: .68rem; font-variant-numeric: tabular-nums;
}
.miniatura__play {
    position: absolute; inset: 0; margin: auto; width: 2.6rem; height: 2.6rem; border-radius: 50%;
    display: grid; place-content: center; background: rgba(11, 10, 9, .55); color: #fff; border: 1px solid rgba(255, 255, 255, .5);
}
.miniatura__play .icona { width: 1rem; height: 1rem; margin-left: 2px; fill: currentColor; }

/* ---- caricamento file -------------------------------------------------------- */
.caricatore {
    border: 1px dashed rgba(143, 106, 61, .55); border-radius: 6px; padding: 1.4rem; text-align: center;
    background: rgba(193, 154, 102, .05); transition: background var(--transizione), border-color var(--transizione);
}
.caricatore.sopra { background: rgba(193, 154, 102, .16); border-color: var(--oro-scuro); }
.caricatore__invito { display: grid; justify-items: center; gap: .5rem; cursor: pointer; }
.caricatore__invito .icona { width: 1.9rem; height: 1.9rem; color: var(--oro-scuro); }
.caricatore__invito strong { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
.caricatore__invito span { font-size: .82rem; color: var(--inchiostro-tenue); }
.caricatore input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.caricatore__coda { display: grid; gap: .6rem; margin-top: 1rem; text-align: left; }
.caricatore__coda:empty { display: none; }
.caricamento { background: #fff; border: 1px solid var(--bordo); border-radius: var(--raggio); padding: .7rem .9rem; font-size: .86rem; }
.caricamento__riga { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.caricamento__nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.caricamento__stato { flex: none; color: var(--inchiostro-tenue); font-variant-numeric: tabular-nums; font-size: .8rem; }
.caricamento__barra { height: 3px; background: var(--avorio-2); border-radius: 3px; margin-top: .55rem; overflow: hidden; }
.caricamento__barra i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--oro-scuro), var(--oro-chiaro)); transition: width .3s ease; }
.caricamento--errore { border-color: #e2c2ba; background: #fbf3f1; }
.caricamento--errore .caricamento__stato { color: var(--errore); }
.caricamento--fatto .caricamento__stato { color: var(--successo); }
.tema-scuro .caricatore { background: rgba(255, 255, 255, .03); }
.tema-scuro .caricatore__invito span { color: var(--testo-tenue); }

/* ---- QR e codici --------------------------------------------------------------- */
.qr { background: #fff; padding: 10px; border-radius: 6px; border: 1px solid var(--bordo); display: inline-block; line-height: 0; }
.qr img, .qr svg { width: 168px; height: 168px; }
.codice {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86em; letter-spacing: .06em;
    background: rgba(193, 154, 102, .14); padding: .15em .5em; border-radius: 3px; white-space: nowrap;
}
.copiabile { display: flex; gap: .5rem; align-items: stretch; }
.copiabile input, .copiabile textarea {
    flex: 1; min-width: 0; font: inherit; font-size: .86rem; padding: .65em .8em; border: 1px solid var(--bordo);
    border-radius: var(--raggio); background: #fff; color: var(--inchiostro);
}
.copiabile textarea { min-height: 9.5em; line-height: 1.5; resize: vertical; }

/* ---- utilità ---------------------------------------------------------------- */
.pila > * + * { margin-top: 1.25rem; }
.pila-s > * + * { margin-top: .6rem; }
.pila-l > * + * { margin-top: 2.25rem; }
.riga { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.riga--fra { justify-content: space-between; }
.griglia { display: grid; gap: 1.5rem; }
.griglia--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.griglia--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.griglia--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.griglia--laterale { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 980px) { .griglia--laterale { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); align-items: start; } }
.m0 { margin: 0; }
.mt { margin-top: 1.5rem; }
.mb { margin-bottom: 1.5rem; }
.nascosto-mobile { display: none; }
@media (min-width: 720px) { .nascosto-mobile { display: initial; } }

/* ---- isole chiare dentro il tema scuro ------------------------------------------
   Pannello di accesso, sezioni avorio del sito, moduli su carta: ripristinano i colori
   chiari anche se il body è .tema-scuro. Devono restare DOPO le regole .tema-scuro. */
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) { color: var(--inchiostro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .occhiello { color: var(--oro-scuro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .tenue { color: var(--inchiostro-tenue); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo__etichetta,
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo > label { color: var(--inchiostro-tenue); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo input,
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo select,
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo textarea { background-color: #fff; border-color: var(--bordo); color: var(--inchiostro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .campo__aiuto { color: var(--inchiostro-tenue); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .nota { background: rgba(193, 154, 102, .1); color: var(--inchiostro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .btn--linea { color: var(--oro-scuro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .btn--linea:hover { color: var(--nero); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .btn--testo { color: var(--oro-scuro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .btn--testo:hover { color: var(--inchiostro); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .badge { background: rgba(109, 100, 88, .12); color: var(--inchiostro-tenue); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .badge--oro { background: rgba(193, 154, 102, .2); color: #7a5729; }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .definizioni dt { color: var(--inchiostro-tenue); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .definizioni dt,
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .definizioni dd { border-color: rgba(221, 211, 197, .6); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .caricatore { background: rgba(193, 154, 102, .05); }
:is(.tema-chiaro, .sezione--avorio, .sezione--carta) .caricatore__invito span { color: var(--inchiostro-tenue); }

@media print {
    .no-stampa { display: none !important; }
    body { background: #fff; }
}
