/* gestionalesindacato.it — il disegno PROPRIO del sindacato (2026-10-20): scena d'apertura «la vertenza e la tessera»,
   schermate delle funzioni, bacheca dei numeri, invito finale e sezioni della home. Caricato SOLO da questo pacchetto
   (n6_asset_pacchetto), dopo n6.css. Classi tutte «sd-». Il movimento lo danno sd.js (classe «acceso» sulle schermate a
   video) e bx-vivo del tema. Accento del sindacato: il rosso della tessera (#dc2626), accanto al blu del tema. */

/* ============================================================ la scena d'apertura */
.bx-scena--sd { height: 560px; }
.bx-scena--sd > * { position: absolute; }
/* la tessera che si rinnova */
.sd-tessera-h { left: 0; top: 120px; width: 240px; height: 330px; perspective: 900px; }
.sd-tessera-h-faccia { position: relative; height: 100%; padding: 22px; border-radius: 24px; color: #fff; background: linear-gradient(155deg, #ef4444, #b91c1c 60%, #7f1d1d); box-shadow: 0 30px 60px rgba(80, 0, 0, .45); overflow: hidden; display: flex; flex-direction: column; }
.sd-tessera-h-faccia::before { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.sd-tessera-h-faccia small { font: 700 13px Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.sd-anno { position: relative; display: block; height: 70px; margin: 10px 0 auto; overflow: hidden; font: 900 64px/70px var(--titoli); }
.sd-anno span { position: absolute; left: 0; top: 0; transition: transform .7s var(--ease); }
.sd-anno .nuovo { transform: translateY(100%); color: #fed7aa; }
.sd-tessera-h.giro .vecchio { transform: translateY(-100%); }
.sd-tessera-h.giro .nuovo { transform: translateY(0); }
.sd-tessera-h-nome { font: 800 20px var(--titoli); }
.sd-tessera-h-num { margin-top: 4px; font: 600 13px var(--mono); opacity: .85; }
.sd-timbro { position: absolute; right: 18px; top: 118px; padding: 6px 12px; border: 3px solid #fff; border-radius: 8px; font: 900 15px Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; rotate: -14deg; opacity: 0; scale: 1.8; transition: opacity .3s, scale .4s var(--ease); }
.sd-tessera-h.giro .sd-timbro { opacity: .95; scale: 1; transition-delay: .5s; }
/* la vertenza al centro, con la linea dei passaggi */
.sd-vertenza { left: 268px; top: 20px; width: 420px; padding: 22px 22px 16px; border-radius: 24px; background: #fff; box-shadow: 0 34px 70px rgba(0, 15, 80, .42); }
.sd-vertenza-testa { display: flex; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px dashed #e2e8f0; }
.sd-vertenza-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: #fee2e2; color: #b91c1c; font-size: 20px; }
.sd-vertenza-testa b { display: block; font: 800 19px var(--titoli); color: var(--titolo); }
.sd-vertenza-testa small { font: 500 13px Inter, sans-serif; color: var(--debole); }
.sd-linea { list-style: none; margin: 16px 0 0; padding: 0; position: relative; }
.sd-linea::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 3px; border-radius: 2px; background: #e2e8f0; }
.sd-linea li { position: relative; display: flex; gap: 14px; align-items: center; padding: 9px 0; }
.sd-punto { position: relative; z-index: 1; display: grid; place-items: center; flex: none; width: 45px; height: 45px; border-radius: 50%; background: #f1f5f9; color: #94a3b8; border: 3px solid #fff; box-shadow: 0 0 0 2px #e2e8f0; font-size: 16px; transition: all .4s; }
.sd-linea li b { display: block; font: 700 15.5px Inter, sans-serif; color: #94a3b8; transition: color .4s; }
.sd-linea li small { font: 500 12.5px Inter, sans-serif; color: var(--debole); }
.sd-linea li.fatto .sd-punto { background: #16a34a; color: #fff; box-shadow: 0 0 0 2px #bbf7d0; }
.sd-linea li.fatto b, .sd-linea li.ora b { color: var(--titolo); }
.sd-linea li.ora .sd-punto { background: #dc2626; color: #fff; box-shadow: 0 0 0 6px rgba(220, 38, 38, .18); animation: sd-batte 1.6s ease-in-out infinite; }
@keyframes sd-batte { 50% { box-shadow: 0 0 0 11px rgba(220, 38, 38, .08); } }
.sd-vertenza-piede { display: flex; justify-content: space-between; margin-top: 10px; padding-top: 12px; border-top: 1px dashed #e2e8f0; font: 600 12.5px Inter, sans-serif; color: var(--debole); }
.sd-vertenza-piede i { color: #b91c1c; margin-right: 4px; }
/* l'albero della struttura */
.sd-albero { left: 716px; top: 80px; width: 236px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 30px 60px rgba(0, 15, 80, .38); }
.sd-albero > small { display: block; margin-bottom: 10px; font: 700 13px Inter, sans-serif; color: var(--debole); }
.sd-albero-nodo { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 11px; border-radius: 11px; font: 700 13.5px Inter, sans-serif; color: var(--titolo); background: #f1f5f9; }
.sd-albero-nodo.l1 { justify-content: flex-start; background: #1e3a8a; color: #fff; }
.sd-albero-nodo em { font: 800 12.5px var(--mono); font-style: normal; color: #b91c1c; }
.sd-albero-rami { position: relative; margin: 8px 0 0 14px; padding-left: 14px; border-left: 2px solid #cbd5e1; display: grid; gap: 7px; }
.sd-albero-nodo.l3 { margin-left: 16px; background: #fff; border: 1px solid #e2e8f0; font-weight: 600; }
.sd-albero-nota { display: block; margin-top: 10px; font: 500 11.5px Inter, sans-serif; color: var(--debole); text-align: right; }
.sd-volante { display: flex; align-items: center; gap: 12px; padding: 13px 16px 13px 13px; border-radius: 18px; background: #fff; box-shadow: 0 22px 44px rgba(0, 15, 80, .32); z-index: 2; }
.sd-volante > i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; font-size: 17px; background: linear-gradient(160deg, #10b981, #047857); }
.sd-volante b { display: block; font: 800 15px var(--titoli); color: var(--titolo); }
.sd-volante small { font: 500 12.5px Inter, sans-serif; color: var(--debole); }
.sd-volante--1 { left: 600px; top: 440px; rotate: 2deg; }
.sd-volante--2 { left: 120px; top: 470px; rotate: -3deg; }
.sd-volante--2 > i { background: linear-gradient(160deg, #ef4444, #b91c1c); }

@keyframes sd-sale { from { opacity: 0; translate: 0 60px; } }
@keyframes sd-da-sx { from { opacity: 0; translate: -80px 0; rotate: -8deg; } }
@keyframes sd-da-dx { from { opacity: 0; translate: 80px 0; } }
@keyframes sd-entra { from { opacity: 0; translate: 0 10px; } }
@keyframes sd-ondeggia { from { translate: 0 0; } to { translate: 0 -10px; } }
.bx-attesa .sd-tessera-h, .bx-attesa .sd-vertenza, .bx-attesa .sd-albero, .bx-attesa .sd-volante { opacity: 0; }
.bx-vivo .sd-vertenza { animation: sd-sale .8s .1s var(--ease) both; }
.bx-vivo .sd-tessera-h { animation: sd-da-sx .9s .35s var(--ease) both; }
.bx-vivo .sd-albero { animation: sd-da-dx .8s .5s var(--ease) both; }
.bx-vivo .sd-linea li { animation: sd-entra .5s calc(.7s + var(--i) * .25s) both; }
.bx-vivo .sd-albero-rami > * { animation: sd-entra .45s 1.1s both; }
.bx-vivo .sd-volante--1 { animation: sd-sale .7s 2s var(--ease) both, sd-ondeggia 5s 2.7s ease-in-out infinite alternate; }
.bx-vivo .sd-volante--2 { animation: sd-sale .7s 2.5s var(--ease) both, sd-ondeggia 6s 3.2s ease-in-out infinite alternate; }

/* ============================================================ le schermate (accese da sd.js) */
/* tesseramento */
.sd-tess { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; align-items: center; }
.sd-mazzo { position: relative; height: 150px; }
.sd-carta { position: absolute; inset: 0 20px 20px 0; border-radius: 16px; background: linear-gradient(155deg, #fca5a5, #ef4444); box-shadow: 0 10px 24px rgba(127, 29, 29, .25); transition: rotate .6s var(--ease), translate .6s var(--ease); }
.sd-carta.c2 { background: linear-gradient(155deg, #fecaca, #f87171); }
.sd-carta.c3 { background: #fee2e2; }
.acceso .sd-carta.c3 { rotate: -10deg; translate: -8px 6px; }
.acceso .sd-carta.c2 { rotate: -5deg; translate: -3px 3px; }
.sd-carta.c1 { display: flex; flex-direction: column; padding: 16px; color: #fff; background: linear-gradient(155deg, #ef4444, #991b1b); }
.sd-carta.c1 small { font: 700 11px Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.sd-carta.c1 b { margin-top: auto; font: 800 20px var(--mono); }
.sd-carta.c1 em { font: 600 12px Inter, sans-serif; font-style: normal; opacity: .85; }
.sd-tess-barra { display: grid; grid-template-columns: 1fr auto; gap: 6px; margin-bottom: 12px; font: 600 13px Inter, sans-serif; color: var(--titolo); }
.sd-tess-barra b { font: 800 18px var(--titoli); color: #b91c1c; }
.sd-tess-barra div { grid-column: 1 / -1; height: 9px; border-radius: 99px; background: #fee2e2; overflow: hidden; }
.sd-tess-barra div i { display: block; width: 68%; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #f87171, #dc2626); transform-origin: 0 50%; transform: scaleX(0); transition: transform 1.2s var(--ease) .2s; }
.acceso .sd-tess-barra div i { transform: none; }
.sd-tess-riga { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 11px; margin-bottom: 7px; border-radius: 11px; border: 1px solid var(--linea); font: 700 13px Inter, sans-serif; color: var(--titolo); }
.sd-tess-riga small { display: block; font: 500 11.5px Inter, sans-serif; color: var(--debole); }
.sd-tess-riga em { font: 700 11px Inter, sans-serif; font-style: normal; color: #047857; background: #d1fae5; padding: 3px 8px; border-radius: 99px; white-space: nowrap; opacity: 0; scale: .8; transition: all .4s var(--ease); transition-delay: calc(1.2s + var(--i) * .45s); }
.acceso .sd-tess-riga em { opacity: 1; scale: 1; }
/* lo sportello degli iscritti: una pagina web */
.sd-web { border-radius: 16px; overflow: hidden; background: #fff; box-shadow: var(--ombra-grande); border: 1px solid var(--linea); }
.sd-web-barra { display: flex; gap: 6px; align-items: center; padding: 10px 14px; background: #fef2f2; border-bottom: 1px solid #fee2e2; }
.sd-web-barra i { width: 10px; height: 10px; border-radius: 50%; background: #fca5a5; }
.sd-web-barra span { margin-left: 8px; font: 600 12px var(--mono); color: #991b1b; }
.sd-web-corpo { padding: 18px; }
.sd-web-tit { display: block; margin-bottom: 12px; font: 800 17px var(--titoli); color: var(--titolo); }
.sd-web-griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sd-web-voce { display: flex; gap: 9px; align-items: center; padding: 11px; border-radius: 12px; border: 1.5px solid var(--linea); font: 600 12.5px Inter, sans-serif; color: var(--titolo); transition: all .4s; }
.sd-web-voce i { color: #dc2626; }
.acceso .sd-web-voce.scelta { border-color: #dc2626; background: #fef2f2; box-shadow: 0 6px 16px -8px rgba(220, 38, 38, .5); transition-delay: .6s; }
.sd-web-file { display: flex; gap: 9px; align-items: center; margin-top: 12px; padding: 10px 12px; border-radius: 11px; background: #f8fafc; font: 600 12.5px Inter, sans-serif; color: var(--titolo); opacity: 0; transition: opacity .4s 1.2s; }
.sd-web-file > i { color: #64748b; }
.sd-web-avanza { margin-left: auto; width: 90px; height: 6px; border-radius: 99px; background: #e2e8f0; overflow: hidden; }
.sd-web-avanza i { display: block; height: 100%; background: #16a34a; transform-origin: 0 50%; transform: scaleX(0); transition: transform 1s 1.5s; }
.acceso .sd-web-file { opacity: 1; }
.acceso .sd-web-avanza i { transform: none; }
.sd-web-ok { margin-top: 12px; padding: 10px; border-radius: 11px; text-align: center; background: #dcfce7; color: #15803d; font: 700 13px Inter, sans-serif; opacity: 0; translate: 0 8px; transition: all .4s var(--ease) 2.7s; }
.acceso .sd-web-ok { opacity: 1; translate: 0 0; }
/* agenda settimanale */
.sd-sett { display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: auto repeat(4, 46px); gap: 6px; }
.sd-sett > b { text-align: center; font: 700 12px Inter, sans-serif; color: var(--debole); padding-bottom: 4px; border-bottom: 2px solid var(--linea); }
.sd-blocco { display: flex; align-items: flex-start; padding: 7px 8px; border-radius: 9px; font: 700 11.5px Inter, sans-serif; color: #fff; opacity: 0; scale: .85; transition: all .4s var(--ease); transition-delay: calc(.2s + var(--i) * .15s); }
.acceso .sd-blocco { opacity: 1; scale: 1; }
.sd-blocco.t-b { background: #3b82f6; } .sd-blocco.t-v { background: #10b981; } .sd-blocco.t-a { background: #f59e0b; } .sd-blocco.t-r { background: #ef4444; }
.sd-blocco.t-o { background: repeating-linear-gradient(45deg, #7c3aed, #7c3aed 8px, #8b5cf6 8px, #8b5cf6 16px); gap: 5px; }
.sd-nuovo { translate: 0 -40px; transition-delay: 1.6s; }
.acceso .sd-nuovo { translate: 0 0; }
/* documento dal telefono: QR sullo schermo, telefono, campi */
.sd-ai { display: grid; grid-template-columns: 130px 110px minmax(0, 1fr); gap: 16px; align-items: center; }
.sd-ai-schermo { padding: 12px; border-radius: 14px; background: #f8fafc; border: 1px solid var(--linea); text-align: center; }
.sd-ai-schermo small { display: block; margin-bottom: 8px; font: 600 11px Inter, sans-serif; color: var(--debole); }
.sd-qr { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; width: 98px; margin: 0 auto; padding: 6px; background: #fff; border-radius: 6px; }
.sd-qr i { aspect-ratio: 1; background: #e2e8f0; }
.sd-qr i.p { background: #0f172a; }
.sd-ai-tel { position: relative; height: 190px; border-radius: 22px; background: #0f172a; padding: 8px; box-shadow: 0 14px 30px rgba(15, 23, 42, .35); translate: -30px 0; rotate: -8deg; transition: translate .7s var(--ease), rotate .7s var(--ease); }
.acceso .sd-ai-tel { translate: 0 0; rotate: 0deg; }
.sd-ai-carta { position: absolute; left: 14px; right: 14px; top: 58px; height: 56px; padding: 8px; border-radius: 7px; background: linear-gradient(135deg, #e0f2fe, #bae6fd); display: grid; grid-template-columns: 20px 1fr; gap: 3px 6px; opacity: 0; transition: opacity .4s .9s; }
.sd-ai-carta span { grid-row: 1 / 3; border-radius: 3px; background: #64748b; }
.sd-ai-carta i { height: 5px; border-radius: 3px; background: #7dd3fc; }
.acceso .sd-ai-carta { opacity: 1; }
.sd-ai-ok { position: absolute; left: 50%; bottom: 22px; margin-left: -18px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #16a34a; color: #fff; scale: 0; transition: scale .4s var(--ease) 1.5s; }
.acceso .sd-ai-ok { scale: 1; }
.sd-ai-campi { display: grid; gap: 7px; }
.sd-ai-bollo { justify-self: start; padding: 5px 10px; border-radius: 99px; background: #ede9fe; color: #6d28d9; font: 800 11.5px Inter, sans-serif; opacity: 0; transition: opacity .4s 1.8s; }
.acceso .sd-ai-bollo { opacity: 1; }
.sd-ai-campo { padding: 8px 11px; border-radius: 10px; background: #f8fafc; border-bottom: 2px solid #c4b5fd; opacity: 0; translate: -10px 0; transition: all .45s var(--ease); transition-delay: calc(2.1s + var(--i) * .3s); }
.sd-ai-campo small { display: block; font: 600 10.5px Inter, sans-serif; color: var(--debole); }
.sd-ai-campo span { font: 700 13px var(--mono); color: var(--titolo); }
.acceso .sd-ai-campo { opacity: 1; translate: 0 0; }
.sd-ai-conferma { justify-self: start; font: 700 12px Inter, sans-serif; color: #15803d; opacity: 0; transition: opacity .4s 3.2s; }
.acceso .sd-ai-conferma { opacity: 1; }
/* il fascicolo della vertenza con le linguette */
.sd-fasc { max-width: 520px; margin: 0 auto; }
.sd-fasc-linguette { display: flex; gap: 4px; padding-left: 14px; }
.sd-fasc-linguette span { padding: 7px 14px; border-radius: 10px 10px 0 0; background: #fde68a; font: 700 12px Inter, sans-serif; color: #78350f; }
.sd-fasc-linguette span.att { background: #fbbf24; }
.sd-fasc-corpo { padding: 18px; border-radius: 4px 16px 16px 16px; background: linear-gradient(180deg, #fbbf24, #f59e0b); box-shadow: 0 20px 40px -18px rgba(120, 53, 15, .55); }
.sd-fasc-testa { display: flex; justify-content: space-between; align-items: center; }
.sd-fasc-testa b { font: 800 17px var(--titoli); color: #451a03; }
.sd-stato { padding: 4px 10px; border-radius: 99px; background: #fff; color: #b91c1c; font: 700 11.5px Inter, sans-serif; }
.sd-fasc-sotto { display: block; margin: 4px 0 12px; font: 600 12px Inter, sans-serif; color: #78350f; }
.sd-fasc-storia { list-style: none; margin: 0; padding: 12px; border-radius: 12px; background: #fffbeb; display: grid; gap: 6px; }
.sd-fasc-storia li { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 8px; font: 600 12.5px Inter, sans-serif; color: #94a3b8; transition: all .4s; transition-delay: calc(.3s + var(--i) * .3s); }
.sd-fasc-storia time { font: 700 11.5px var(--mono); }
.acceso .sd-fasc-storia li.fatto { color: #1e293b; }
.acceso .sd-fasc-storia li.ora { color: #fff; background: #dc2626; }
/* il blocco note della checklist con i timbri */
.sd-blocco-note { position: relative; max-width: 440px; margin: 0 auto; padding: 30px 22px 18px; border-radius: 10px; background: repeating-linear-gradient(#fff 0 33px, #e0e7ff 33px 34px); box-shadow: 0 16px 34px -14px rgba(15, 42, 107, .35); }
.sd-molla { position: absolute; left: 20px; right: 20px; top: -9px; height: 18px; background: radial-gradient(circle at 9px 9px, #94a3b8 5px, transparent 6px) 0 0 / 22px 18px repeat-x; }
.sd-blocco-note > b { display: block; margin-bottom: 8px; font: 800 14px var(--titoli); color: var(--titolo); }
.sd-blocco-note ul { list-style: none; margin: 0; padding: 0; }
.sd-blocco-note li { display: flex; justify-content: space-between; align-items: center; height: 34px; font: 600 13.5px Inter, sans-serif; color: var(--titolo); }
.sd-bollo-doc { padding: 3px 9px; border: 2px solid #16a34a; border-radius: 6px; color: #16a34a; font: 800 10.5px Inter, sans-serif; text-transform: uppercase; letter-spacing: .05em; rotate: -6deg; opacity: 0; scale: 1.8; transition: opacity .25s, scale .35s var(--ease); transition-delay: calc(.4s + var(--i) * .35s); }
.sd-blocco-note li.manca .sd-bollo-doc { border-color: #dc2626; color: #dc2626; }
.acceso .sd-bollo-doc { opacity: 1; scale: 1; }
/* il mandato firmato */
.sd-carte { position: relative; max-width: 400px; height: 300px; margin: 0 auto; }
.sd-foglio { position: absolute; inset: 0 30px 0 0; padding: 22px; border-radius: 6px; background: #fff; box-shadow: 0 12px 30px rgba(15, 42, 107, .18); }
.sd-foglio--dietro { inset: 20px 0 -12px 34px; rotate: 4deg; background: #f8fafc; }
.sd-foglio b { display: block; margin-bottom: 10px; font: 800 15px var(--titoli); color: var(--titolo); }
.sd-foglio p { margin: 0 0 10px; font: 500 12.5px/1.7 Inter, sans-serif; color: var(--testo); }
.sd-foglio u { text-decoration: none; padding: 1px 4px; border-radius: 4px; background: #eef2ff; font: 700 11.5px var(--mono); color: #1e3a8a; }
.sd-foglio > i { display: block; height: 7px; margin-bottom: 8px; border-radius: 4px; background: #eef2f7; }
.sd-firma { display: block; width: 160px; height: 40px; margin-top: 14px; }
.sd-firma path { fill: none; stroke: #1e3a8a; stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 300; stroke-dashoffset: 300; transition: stroke-dashoffset 1.6s ease-in-out .8s; }
.acceso .sd-firma path { stroke-dashoffset: 0; }
.sd-foglio small { display: block; width: 170px; padding-top: 4px; border-top: 1px solid #cbd5e1; font: 500 11px Inter, sans-serif; color: var(--debole); }
/* la struttura territoriale a cerchi */
.sd-anelli { position: relative; height: 320px; border-radius: 18px; background: radial-gradient(circle, #eff6ff, #fff 70%); overflow: hidden; }
.sd-anello { position: absolute; left: 50%; top: 46%; width: calc(var(--d) * 1.15); height: calc(var(--d) * 1.15); translate: -50% -50%; border-radius: 50%; border: 2px dashed #cbd5e1; }
.sd-anello i { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px; border-radius: 50%; border: 3px solid #fff; transform: rotate(var(--r)) translate(calc(var(--d) * .575)); scale: 0; transition: scale .35s var(--ease); transition-delay: calc(.3s + var(--k) * .5s + var(--n) * .06s); }
.sd-anello.a0 i { background: #dc2626; } .sd-anello.a1 i { background: #2563eb; } .sd-anello.a2 i { background: #10b981; }
.acceso .sd-anello i { scale: 1; }
@keyframes sd-gira { to { rotate: 360deg; } }
.acceso .sd-anello.a2 { animation: sd-gira 60s linear infinite; }
.sd-anelli-centro { position: absolute; left: 50%; top: 46%; translate: -50% -50%; display: grid; place-items: center; gap: 2px; width: 92px; height: 92px; border-radius: 50%; background: #1e3a8a; color: #fff; box-shadow: 0 12px 28px rgba(30, 58, 138, .4); }
.sd-anelli-centro i { font-size: 20px; color: #fca5a5; }
.sd-anelli-centro b { font: 800 12px Inter, sans-serif; }
.sd-anelli-legenda { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 16px; font: 600 12px Inter, sans-serif; color: var(--tenue); }
.sd-anelli-legenda i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 50%; }
.sd-anelli-legenda .a0 i { background: #dc2626; } .sd-anelli-legenda .a1 i { background: #2563eb; } .sd-anelli-legenda .a2 i { background: #10b981; }
/* lo scadenzario come linea del tempo */
.sd-scad { position: relative; padding-left: 28px; }
.sd-scad::before { content: ""; position: absolute; left: 9px; top: 6px; bottom: 50px; width: 3px; background: linear-gradient(#dc2626, #f59e0b, #3b82f6, #10b981); border-radius: 2px; }
.sd-scad-oggi span { position: relative; display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 99px; background: #0f172a; color: #fff; font: 700 11px Inter, sans-serif; }
.sd-scad-voce { position: relative; display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; margin-bottom: 9px; padding: 10px 12px; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px -4px rgba(15, 42, 107, .2); font: 600 13px Inter, sans-serif; color: var(--titolo); opacity: 0; translate: 20px 0; transition: all .45s var(--ease); transition-delay: calc(.3s + var(--i) * .25s); }
.sd-scad-voce::before { content: ""; position: absolute; left: -24px; width: 11px; height: 11px; border-radius: 50%; border: 3px solid #fff; background: var(--sc); box-shadow: 0 0 0 1px var(--sc); }
.sd-scad-voce.t-r { --sc: #dc2626; } .sd-scad-voce.t-a { --sc: #f59e0b; } .sd-scad-voce.t-b { --sc: #3b82f6; } .sd-scad-voce.t-v { --sc: #10b981; }
.sd-scad-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: color-mix(in srgb, var(--sc) 14%, #fff); color: var(--sc); }
.sd-scad-voce em { font: 700 11.5px Inter, sans-serif; font-style: normal; color: var(--sc); }
.acceso .sd-scad-voce { opacity: 1; translate: 0 0; }
.sd-scad-mail { margin-top: 6px; font: 700 12.5px Inter, sans-serif; color: #15803d; opacity: 0; transition: opacity .4s 1.7s; }
.acceso .sd-scad-mail { opacity: 1; }
/* il cruscotto a torta */
.sd-cru { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; align-items: center; }
.sd-torta { width: 170px; height: 170px; rotate: -90deg; }
.sd-torta circle { fill: none; stroke-width: 7; stroke-dasharray: 0 100; stroke-dashoffset: calc(var(--o) * 1); transition: stroke-dasharray .9s var(--ease); transition-delay: calc(.2s + var(--k) * .3s); }
.acceso .sd-torta circle { stroke-dasharray: var(--l) calc(100 - var(--l)); }
.sd-cru-leg { display: grid; gap: 8px; }
.sd-cru-leg span { display: flex; gap: 8px; align-items: center; font: 600 13px Inter, sans-serif; color: var(--titolo); }
.sd-cru-leg span i { width: 12px; height: 12px; border-radius: 4px; }
.sd-cru-leg b { margin-left: auto; font: 800 13px var(--mono); }
.sd-cru-kpi { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sd-cru-kpi > div { padding: 12px; border-radius: 12px; background: #f8fafc; }
.sd-cru-kpi small { display: block; font-size: 11px; color: var(--debole); }
.sd-cru-kpi b { font: 800 22px var(--titoli); color: var(--titolo); }
/* la protezione dei dati */
.sd-prot { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sd-prot-lucchetto { grid-row: span 2; display: grid; place-items: center; align-content: center; gap: 10px; padding: 20px; border-radius: 18px; background: linear-gradient(160deg, #7f1d1d, #b91c1c); color: #fff; text-align: center; }
.sd-prot-lucchetto i { font-size: 48px; }
@keyframes sd-chiudi { 0% { translate: 0 -8px; } 60% { translate: 0 2px; } 100% { translate: 0 0; } }
.acceso .sd-prot-lucchetto i { animation: sd-chiudi .6s .4s both; }
.sd-prot-lucchetto small { font: 600 12.5px Inter, sans-serif; }
.sd-prot-regioni { display: grid; gap: 7px; }
.sd-prot-regioni span { display: flex; gap: 9px; align-items: center; padding: 9px 11px; border-radius: 11px; border: 1px solid var(--linea); font: 600 13px Inter, sans-serif; color: var(--titolo); opacity: .3; transition: opacity .4s; transition-delay: calc(.6s + var(--i) * .3s); }
.sd-prot-regioni i { color: #2563eb; }
.acceso .sd-prot-regioni span { opacity: 1; }
.sd-prot-codice { padding: 12px; border-radius: 12px; background: #f8fafc; }
.sd-prot-codice small { display: block; margin-bottom: 7px; font: 600 11.5px Inter, sans-serif; color: var(--debole); }
.sd-prot-codice span { display: flex; gap: 5px; }
.sd-prot-codice b { display: grid; place-items: center; width: 26px; height: 32px; border-radius: 7px; background: #fff; border: 1px solid var(--linea); font: 800 15px var(--mono); color: var(--titolo); opacity: 0; transition: opacity .2s; transition-delay: calc(1.6s + var(--i) * .15s); }
.acceso .sd-prot-codice b { opacity: 1; }

/* ============================================================ i numeri: la bacheca sindacale */
.sd-numeri { padding: 76px 0; background: #fff; }
.sd-numeri-dentro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center; }
.sd-numeri h2 { margin: 14px 0 12px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; color: var(--titolo); }
.sd-numeri h2 span { color: #b91c1c; }
.sd-numeri-testo p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--tenue); }
.sd-bacheca { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 30px; border-radius: 18px; border: 12px solid #92400e; background: #c2925b radial-gradient(rgba(0, 0, 0, .08) 1px, transparent 1.4px) 0 0 / 7px 7px; box-shadow: inset 0 4px 14px rgba(0, 0, 0, .25), 0 26px 50px -20px rgba(69, 26, 3, .5); }
.sd-avviso { position: relative; display: grid; gap: 4px; padding: 26px 18px 18px; background: var(--c); rotate: var(--r); box-shadow: 0 10px 18px -8px rgba(0, 0, 0, .45); }
.sd-avviso > i { font-size: 20px; color: #b91c1c; }
.sd-avviso b { font: 900 26px/1.1 var(--titoli); color: #1f2937; }
.sd-avviso small { font-size: 13.5px; color: #374151; }
.sd-puntina { position: absolute; left: 50%; top: 8px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fca5a5, #dc2626 60%, #7f1d1d); box-shadow: 0 3px 4px rgba(0, 0, 0, .35); }
@keyframes sd-appunta { 0% { opacity: 0; translate: 0 -30px; rotate: 0deg; } 100% { opacity: 1; } }
.sd-bacheca.rv.in .sd-avviso { animation: sd-appunta .6s var(--ease) calc(.2s + var(--i) * .2s) both; }

/* ============================================================ l'invito finale: la tessera nuova */
.sd-cta-tessera { position: relative; width: 250px; height: 160px; margin: 30px auto; padding: 20px; border-radius: 20px; color: #fff; background: linear-gradient(155deg, #ef4444, #991b1b); box-shadow: 0 24px 44px rgba(0, 15, 80, .35); rotate: -6deg; display: flex; flex-direction: column; }
.sd-cta-tessera small { font: 700 11px Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.sd-cta-tessera b { margin-top: 6px; font: 800 22px var(--titoli); }
.sd-cta-righe { margin-top: auto; display: grid; gap: 6px; }
.sd-cta-righe i { height: 7px; width: 70%; border-radius: 4px; background: rgba(255, 255, 255, .35); }
.sd-cta-nastro { position: absolute; right: -10px; top: 16px; padding: 4px 14px; background: #fde68a; color: #78350f; font: 900 14px var(--mono); box-shadow: 0 4px 8px rgba(0, 0, 0, .2); }
.sd-cta-ok { position: absolute; right: 14px; bottom: -14px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #16a34a; border: 4px solid #fff; font-size: 16px; }
@keyframes sd-respira { 50% { rotate: -2deg; translate: 0 -6px; } }
.n6-cta .sd-cta-tessera { animation: sd-respira 4s ease-in-out infinite; }

/* ============================================================ le sezioni della home del sindacato */
.sd-tutele { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 50px; align-items: start; }
.sd-tutele-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linea); }
.sd-tutele-lista a { display: grid; grid-template-columns: 52px minmax(0, 1fr) 24px; gap: 16px; align-items: center; padding: 18px 6px; border-bottom: 1px solid var(--linea); text-decoration: none; color: inherit; transition: background .2s, padding .2s; }
.sd-tutele-lista a:hover { background: #fef2f2; padding-left: 14px; }
.sd-tutele-ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; font-size: 20px; background: var(--c); }
.sd-tutele-lista b { display: block; font: 800 19px var(--titoli); color: var(--titolo); }
.sd-tutele-lista small { font-size: 15px; color: var(--tenue); }
.sd-tutele-lista .fa-arrow-right { color: #b91c1c; }
.sd-percorso { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sd-tappa { position: relative; padding: 24px 20px 20px; border-radius: 20px; background: #fff; box-shadow: 0 16px 34px -18px rgba(10, 50, 120, .3), 0 0 0 1px rgba(10, 50, 120, .05); text-decoration: none; color: inherit; }
.sd-tappa:nth-child(even) { translate: 0 28px; }
.sd-tappa-n { position: absolute; top: -16px; left: 20px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #b91c1c; color: #fff; font: 800 15px var(--mono); box-shadow: 0 0 0 5px #fef2f2; }
.sd-tappa h3 { margin: 8px 0 6px; font: 800 18px var(--titoli); color: var(--titolo); }
.sd-tappa p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--tenue); }
.sd-funzioni { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sd-colonna { border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--linea); }
.sd-colonna h3 { margin: 0; padding: 14px 16px; font: 800 16px var(--titoli); color: #fff; background: var(--g); }
.sd-colonna ul { list-style: none; margin: 0; padding: 8px; }
.sd-colonna a { display: block; padding: 10px; border-radius: 10px; text-decoration: none; color: var(--titolo); font-weight: 700; }
.sd-colonna a:hover { background: #f8fafc; }
.sd-colonna a i { color: var(--c); margin-right: 6px; width: 18px; text-align: center; }
.sd-colonna a small { display: block; margin-top: 3px; padding-left: 24px; font-weight: 500; font-size: 13.5px; color: var(--debole); }
.sd-due { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; align-items: center; }
.sd-sicuri { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; padding: 10px; border-radius: 24px; background: linear-gradient(160deg, #7f1d1d, #450a0a); color: #fecaca; }
.sd-sicuri div { display: flex; gap: 14px; padding: 20px; }
.sd-sicuri div i { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fde68a; font-size: 18px; }
.sd-sicuri h3 { margin: 0 0 4px; font: 800 17px var(--titoli); color: #fff; }
.sd-sicuri p { margin: 0; font-size: 14.5px; line-height: 1.5; }

@media (max-width: 900px) {
	.sd-tutele, .sd-due, .sd-numeri-dentro, .sd-sicuri { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.sd-percorso, .sd-funzioni { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.sd-tappa:nth-child(even) { translate: 0 0; }
	.sd-bacheca { gap: 14px; padding: 16px; border-width: 8px; }
	.sd-avviso b { font-size: 21px; }
	.sd-tess, .sd-cru, .sd-prot { grid-template-columns: minmax(0, 1fr); }
	.sd-prot-lucchetto { grid-row: auto; }
	.sd-ai { grid-template-columns: 110px minmax(0, 1fr); }
	.sd-ai-schermo { display: none; }
	.sd-web-griglia { grid-template-columns: 1fr; }
	.sd-torta { margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
	.bx-scena--sd *, [data-mock] *, .sd-bacheca * { animation: none !important; transition: none !important; }
}
