/* FIPCO.ro – tema "officina di stampa": blueprint + arancio filamento. Caricata dopo lo stile delle pagine. */
html:root{--bg:#F3F0E8;--sf:#FFFFFF;--ink:#0E1621;--mut:#566170;--ln:#DDD7CA;--ac:#FF6B1A;--tl:#0A6C74;--gr:rgba(14,22,33,.06);--gl:rgba(255,107,26,.20);--sh:rgba(14,22,33,.12);--hero-bg:radial-gradient(620px 320px at 88% -10%,rgba(255,107,26,.20),transparent 62%),radial-gradient(520px 360px at 0% 110%,rgba(10,108,116,.13),transparent 62%),linear-gradient(135deg,#FFFFFF,#FFF3E8 55%,#E6F5F2);--hero-ink:#0E1621;--hero-mut:#4A586B;--hero-bd:rgba(14,22,33,.10);--hero-grid:rgba(14,22,33,.07);--hero-chip-bg:rgba(255,107,26,.10);--hero-chip-bd:rgba(255,107,26,.45);--hero-chip:#B84A0A;--hero-o-bg:rgba(14,22,33,.05);--hero-o-bd:rgba(14,22,33,.22);--hero-o-h:rgba(14,22,33,.10);--hero-sh:rgba(14,22,33,.20);--pr-fr:#7C93BD;--pr-bar:#9FB1D1;--pr-bed:#C3CFE3;--pr-nz:#14212F;--tk-bg:linear-gradient(90deg,#FFE7D4,#DDF1EE 60%,#E4E9FF);--tk-ink:#0E1621;--tk-b:#B84A0A;--fo:.62;--w:1200px;color-scheme:light}
@media(prefers-color-scheme:dark){html:root:not([data-theme=light]){--bg:#080D17;--sf:#101828;--ink:#EAF0FA;--mut:#9BA9C2;--ln:#222F47;--ac:#FF8A3D;--tl:#3FD9C8;--gr:rgba(150,185,255,.07);--gl:rgba(255,138,61,.16);--sh:rgba(0,0,0,.5);--hero-bg:radial-gradient(620px 320px at 88% -10%,rgba(255,107,26,.30),transparent 62%),radial-gradient(500px 360px at 0% 110%,rgba(63,217,200,.16),transparent 62%),linear-gradient(135deg,#0A1220,#101C33 62%,#0B2A33);--hero-ink:#EAF0FA;--hero-mut:#B5C3DC;--hero-bd:rgba(255,255,255,.09);--hero-grid:rgba(150,185,255,.07);--hero-chip-bg:rgba(255,138,61,.12);--hero-chip-bd:rgba(255,138,61,.4);--hero-chip:#FFB27A;--hero-o-bg:rgba(255,255,255,.07);--hero-o-bd:rgba(255,255,255,.22);--hero-o-h:rgba(255,255,255,.14);--hero-sh:rgba(0,0,0,.55);--pr-fr:#5E78A8;--pr-bar:#6F86B5;--pr-bed:#2B3B5E;--pr-nz:#EAF0FA;--tk-bg:linear-gradient(90deg,#0A1220,#12304A 60%,#1B2A55);--tk-ink:#fff;--tk-b:#FFB27A;--fo:.7;color-scheme:dark}}
html:root[data-theme=dark]{--bg:#080D17;--sf:#101828;--ink:#EAF0FA;--mut:#9BA9C2;--ln:#222F47;--ac:#FF8A3D;--tl:#3FD9C8;--gr:rgba(150,185,255,.07);--gl:rgba(255,138,61,.16);--sh:rgba(0,0,0,.5);--hero-bg:radial-gradient(620px 320px at 88% -10%,rgba(255,107,26,.30),transparent 62%),radial-gradient(500px 360px at 0% 110%,rgba(63,217,200,.16),transparent 62%),linear-gradient(135deg,#0A1220,#101C33 62%,#0B2A33);--hero-ink:#EAF0FA;--hero-mut:#B5C3DC;--hero-bd:rgba(255,255,255,.09);--hero-grid:rgba(150,185,255,.07);--hero-chip-bg:rgba(255,138,61,.12);--hero-chip-bd:rgba(255,138,61,.4);--hero-chip:#FFB27A;--hero-o-bg:rgba(255,255,255,.07);--hero-o-bd:rgba(255,255,255,.22);--hero-o-h:rgba(255,255,255,.14);--hero-sh:rgba(0,0,0,.55);--pr-fr:#5E78A8;--pr-bar:#6F86B5;--pr-bed:#2B3B5E;--pr-nz:#EAF0FA;--tk-bg:linear-gradient(90deg,#0A1220,#12304A 60%,#1B2A55);--tk-ink:#fff;--tk-b:#FFB27A;--fo:.7;color-scheme:dark}
html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html body{background:var(--bg);color:var(--ink)}
/* ---- fondo: griglia blueprint + bagliori + linee di strato ---- */
html body #fp-bg{background-image:radial-gradient(900px 520px at 92% -8%,var(--gl),transparent 65%),radial-gradient(760px 560px at -10% 40%,color-mix(in srgb,var(--tl) 16%,transparent),transparent 62%),radial-gradient(700px 500px at 100% 96%,rgba(120,90,255,.10),transparent 62%)!important;background-size:100% 100%!important;background-position:0 0!important;background-repeat:no-repeat!important}
#fp-bg::before,#fp-bg::after{content:"";position:absolute;pointer-events:none}
#fp-bg::before{inset:0;background-image:linear-gradient(var(--gr) 1px,transparent 1px),linear-gradient(90deg,var(--gr) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.5) 50%,transparent);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.5) 50%,transparent)}
#fp-bg::after{left:0;right:0;bottom:0;height:38vh;background:repeating-linear-gradient(0deg,var(--gr) 0 1px,transparent 1px 7px);-webkit-mask-image:linear-gradient(0deg,#000,transparent);mask-image:linear-gradient(0deg,#000,transparent)}
/* ---- barra "avanzamento stampa" ---- */
#fp-pg{position:fixed;left:0;top:0;height:3px;width:100%;z-index:60;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6B1A,#FFB547);box-shadow:0 0 10px 1px rgba(255,138,61,.7)}
/* ---- testata ---- */
html body .top{position:sticky;top:0;z-index:35;background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ln)}
html body .top::before{display:none}
html body .logo i{background:var(--ac);box-shadow:0 -.2em 0 -.05em var(--tl),0 0 14px rgba(255,107,26,.55)}
#fp-th{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:6px;border-radius:10px;border:1px solid var(--ln);background:var(--sf);color:var(--ink);cursor:pointer;padding:0}#fp-th:hover{border-color:var(--ac);color:var(--ac)}#fp-th svg{width:20px;height:20px}
html body #fp-hb{background:linear-gradient(100deg,color-mix(in srgb,var(--tl) 14%,transparent),color-mix(in srgb,var(--ac) 12%,transparent))}
html body #fp-pn{background:transparent;border-bottom:1px solid var(--ln)}
html body #fp-pn a,html body #fp-pn a:nth-child(n){background:var(--sf);color:var(--ink);border:1px solid var(--ln);transition:border-color .15s,box-shadow .15s}
html body #fp-pn a:hover{border-color:var(--ac);filter:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ac) 22%,transparent)}
html body #fp-pn a[aria-current=page]{background:var(--ac);color:#14110E;border-color:var(--ac);box-shadow:0 6px 18px -6px rgba(255,107,26,.7)}
html body .lang button[aria-pressed=true]{background:var(--ac);color:#14110E;border-color:var(--ac)}
html body #fp-mb{border-radius:10px}
/* ---- tipografia e blocchi di testo ---- */
html body main.wrap:not(.wide):not(.grid) article h1{background:linear-gradient(120deg,var(--sf),color-mix(in srgb,var(--ac) 9%,var(--sf)));border:1px solid var(--ln);border-radius:18px;box-shadow:0 18px 40px -26px var(--sh)}
html body main.wrap:not(.wide):not(.grid) article h1::after,html body main h1::after{background:linear-gradient(90deg,var(--ac),#FFB547)}
html body main.wrap:not(.wide):not(.grid) article .lead{border-left-color:var(--ac);background:linear-gradient(90deg,color-mix(in srgb,var(--ac) 12%,transparent),transparent)}
html body main.wrap:not(.wide):not(.grid) article h2:nth-of-type(n){border-left-color:var(--ac)}
html body main.wrap:not(.wide):not(.grid) article ul>li::before{background:var(--ac);box-shadow:0 0 8px rgba(255,107,26,.5)}
html body main.wrap:not(.wide):not(.grid) article ol>li::before{background:linear-gradient(135deg,var(--ac),#FFB547);color:#14110E}
html body main.wrap:not(.wide):not(.grid) article details:nth-of-type(n){border-left-color:var(--ac)}
html body main.wrap:not(.wide):not(.grid) article details[open]{box-shadow:0 14px 34px -18px var(--sh)}
html body .land h2{border-left-color:var(--ac);font-size:1.7rem}
html body ::selection{background:var(--ac);color:#14110E}
html body a.afft{border-bottom-color:var(--ac)}
/* ---- card ---- */
html body .lp-c,html body .lp-t,html body .lp-c:nth-child(n),html body .lp-t:nth-child(n){border-top-color:var(--ac)!important;transition:transform .2s,box-shadow .2s,border-color .2s}
html body .lp-c:nth-child(even),html body .lp-t:nth-child(even){border-top-color:var(--tl)!important}
html body .lp-n{background:var(--ac)!important;color:#14110E;box-shadow:0 0 14px rgba(255,107,26,.45)}
html body .lp-c:nth-child(even) .lp-n{background:var(--tl)!important;box-shadow:none}
html body .lp-c:hover,html body .lp-t:hover,html body .fp-card:hover,html body .lp-st div:hover{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac),0 18px 40px -16px rgba(255,107,26,.45);transform:translateY(-3px)}
html body .lp-st div{transition:transform .2s,box-shadow .2s,border-color .2s;background:linear-gradient(180deg,var(--sf),color-mix(in srgb,var(--sf) 90%,var(--ac)))}
html body .lp-st b{color:var(--ac);font-variant-numeric:tabular-nums;text-shadow:0 0 22px rgba(255,107,26,.35)}
html body .lp-tr li{border-left-color:var(--tl)}
html body .lp-i:hover{border-color:var(--ac);color:var(--ac)}
html body .fp-card{border-top-color:var(--cc,var(--ac))}
/* ---- HERO: pannello scuro con scena di stampa animata ---- */
html body .lp-hero{position:relative;overflow:hidden;background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-bd);box-shadow:0 30px 70px -34px var(--hero-sh),inset 0 1px 0 rgba(255,255,255,.06);padding:48px 44px}
html body .lp-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(70% 90% at 70% 40%,#000,transparent);mask-image:radial-gradient(70% 90% at 70% 40%,#000,transparent);pointer-events:none}
html body .lp-hero>*{position:relative}
html body .lp-hero h1{color:var(--hero-ink);text-wrap:balance}
html body .lp-hero .lead{color:var(--hero-mut)}
html body .lp-k{background:var(--hero-chip-bg);border:1px solid var(--hero-chip-bd);color:var(--hero-chip);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.02em}
html body .lp-bt{background:linear-gradient(135deg,#FF6B1A,#FFA037);color:#16100A;box-shadow:0 10px 26px -8px rgba(255,107,26,.7);transition:transform .15s,box-shadow .15s}
html body .lp-bt:hover{transform:translateY(-2px);box-shadow:0 16px 30px -8px rgba(255,107,26,.85)}
html body .lp-bt.o{background:var(--hero-o-bg);color:var(--hero-ink);border:1px solid var(--hero-o-bd);box-shadow:none}
html body .lp-bt.o:hover{background:var(--hero-o-h)}
html body .lp-fin{background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-bd)}
html body .lp-fin h2{color:var(--hero-ink)}
.lp-art svg{max-height:330px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.pr-ly{transform-box:fill-box;transform-origin:50% 50%;opacity:0;animation:prly var(--t,8s) var(--d,0s) infinite both}
@keyframes prly{0%{opacity:0;transform:scaleX(.15)}7%{opacity:1;transform:scaleX(1)}90%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
.pr-y{animation:pry 9s linear infinite}
@keyframes pry{0%{transform:translateY(0)}92%{transform:translateY(-132px)}100%{transform:translateY(-132px)}}
.pr-x{animation:prx 1.1s ease-in-out infinite alternate}
@keyframes prx{from{transform:translateX(-34px)}to{transform:translateX(34px)}}
.pr-sp{transform-box:fill-box;transform-origin:50% 50%;animation:prs 14s linear infinite}
@keyframes prs{to{transform:rotate(360deg)}}
.pr-gl{animation:prg 1.2s ease-in-out infinite alternate}
@keyframes prg{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.pr-ly{animation:none;opacity:1}.pr-y,.pr-x,.pr-sp,.pr-gl{animation:none}}
/* ---- consiglio del giorno ---- */
.fp-tip{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:26px 0 6px;padding:18px 22px;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 12%,var(--sf)),var(--sf));border:1px solid var(--ln);box-shadow:0 20px 44px -30px var(--sh)}
.fp-tip i{font-style:normal;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ac);color:#14110E;font-size:1.4rem;box-shadow:0 0 22px rgba(255,107,26,.5)}
.fp-tip small{display:block;font:700 .72rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--ac);margin-bottom:4px}
.fp-tip b{display:block;font:800 1.12rem/1.3 "Bricolage Grotesque",Figtree,sans-serif}.fp-tip span{color:var(--mut);font-size:.93rem}
.fp-tip a.fp-btn{white-space:nowrap}
@media(max-width:700px){.fp-tip{grid-template-columns:auto 1fr}.fp-tip a.fp-btn{grid-column:1/-1}.lp-hero{padding:26px 20px!important}}
/* ---- apparizione allo scroll ---- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
/* ---- ticker, footer ---- */
html body #fp-tk{background:var(--tk-bg);color:var(--tk-ink)}html body #fp-tk a,html body #fp-tk button{color:var(--tk-ink)}
html body #fp-tk .lb{background:var(--ac);color:#14110E}
html body #fp-tk b{color:var(--tk-b)}
html body #fp-ft::before{background:linear-gradient(90deg,transparent,var(--ac),transparent);height:2px}
html body #fp-ft h3::before{background:var(--ac)!important}
html body #fp-ft .cta2 a{background:linear-gradient(135deg,#FF6B1A,#FFA037);color:#16100A}
html body #fp-ft .bk b span,html body .logo span{color:var(--ac)}
html body #fp-ft li a:hover{color:var(--ac)}
html body #fp-tg{border-color:var(--ac)}html body #fp-tg button{background:var(--ac)}
/* ---- guide e dizionario ---- */
html body .fp-g h2:before{background:var(--ac);color:#14110E}
html body .fp-g ul li:before{background:var(--ac);box-shadow:inset 0 0 0 4px var(--sf),0 0 0 1.5px var(--ac)}
html body .fp-chip{--cc:var(--ac)}
html body .gl-grp{color:var(--ac)}
html body .gl-az a:hover,html body .fp-btn{background:var(--ac);border-color:var(--ac);color:#14110E!important}
html body .fp-btn.s{background:transparent;color:var(--ac)!important}
html body .fp-c details[open]{border-color:var(--ac)}
html body .fp-c summary:after{color:var(--ac)}
html body .fp-toc a:hover{border-color:var(--ac);color:var(--ac)}
/* ---- strumenti: pulsanti e campi ---- */
html body .btn,html body button.cp{background:var(--ac);color:#14110E}html body .btn.o{background:transparent;color:var(--ink)}
html body .chip input:checked+span{background:var(--ac);border-color:var(--ac)}
html body input:focus,html body select:focus,html body textarea:focus{outline:2px solid var(--ac);outline-offset:1px;border-color:var(--ac)}
@media print{#fp-pg,#fp-th{display:none!important}}

.pr-fr{stroke:var(--pr-fr)}.pr-ln{stroke:var(--pr-fr);opacity:.6}.pr-bed{fill:var(--pr-bed)}.pr-bar{fill:var(--pr-bar)}.pr-nz{fill:var(--pr-nz)}
/* ---- larghezza: sito più ampio e fluido ---- */
html body .wrap,html body .wide,html body main.wrap,html body .fp-c main.wrap{max-width:var(--w,1200px)}
@media(min-width:1700px){html:root{--w:1340px}}
html body .top .wrap,html body #fp-mp .in,html body #fp-ft .in,html body #fp-hb .in,html body #fp-adfoot,html body #fp-tg{max-width:var(--w,1200px)}
html body .wrap{padding-left:clamp(16px,3vw,32px);padding-right:clamp(16px,3vw,32px)}
@media(min-width:1100px){main.wrap.hs{grid-template-columns:minmax(0,1fr) 320px!important;max-width:var(--w,1200px)!important}}
html body main.wrap article>p,html body main.wrap article>.lead{max-width:76ch}
html body .fp-g ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
@media(min-width:900px){html body .fp-gl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start}html body .fp-gl>*{grid-column:1/-1}html body .fp-gl>details{grid-column:auto}}
@media(min-width:801px){html body .lp-hero{grid-template-columns:1.05fr .95fr}}
html body .lp-g{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
/* ---- fondo animato: bobine e filamento ---- */
#fp-fil{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:var(--fo,.45);-webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.35) 22%,rgba(0,0,0,.35) 78%,#000 100%);mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.35) 22%,rgba(0,0,0,.35) 78%,#000 100%)}
#fp-fil svg{position:absolute;overflow:visible}
#fp-fil .fl{inset:0;width:100%;height:100%}
#fp-fil .fl path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fl-b1{stroke:var(--ac);stroke-width:4;opacity:.5}.fl-f1{stroke:#fff;stroke-width:3;opacity:.75;stroke-dasharray:2 14;animation:flow 2.4s linear infinite}
.fl-b2{stroke:var(--tl);stroke-width:3;opacity:.5}.fl-f2{stroke:#fff;stroke-width:2.4;opacity:.7;stroke-dasharray:2 12;animation:flow 3s linear infinite}
@keyframes flow{to{stroke-dashoffset:-32}}
#fp-fil .sp1{right:-5vw;bottom:-6vh;width:clamp(210px,27vw,440px);height:auto}
#fp-fil .sp2{left:-4vw;top:12vh;width:clamp(120px,14vw,240px);height:auto}
.sp-s{transform:rotate(calc(var(--sr,0)*1deg));transform-box:view-box;transform-origin:0 0}
.sp-a .sp-w{animation:spin 70s linear infinite}.sp-b .sp-w{animation:spin 90s linear infinite reverse}
.sp-w{transform-box:view-box;transform-origin:0 0}
@keyframes spin{to{transform:rotate(360deg)}}
.sp-a{--sc:var(--ac)}.sp-b{--sc:var(--tl)}
.sp-o{fill:none;stroke:var(--sc);stroke-width:4}.sp-r{fill:none;stroke:var(--sc);stroke-width:6;opacity:.35}.sp-r.x{opacity:.18}.sp-h{fill:none;stroke:var(--sc);stroke-width:3}.sp-k{fill:none;stroke:var(--sc);stroke-width:9;stroke-linecap:round;opacity:.5}
@media(max-width:700px){#fp-fil{opacity:calc(var(--fo,.45)*.75);-webkit-mask-image:none;mask-image:none}#fp-fil .sp1{width:200px;right:-70px}#fp-fil .sp2{width:110px;left:-40px}}
@media(prefers-reduced-motion:reduce){.fl-f1,.fl-f2,.sp-w{animation:none}.fl-f1,.fl-f2{display:none}}
@media print{#fp-fil{display:none!important}}
/* ---- tabelle negli articoli ---- */
.fp-g .tw{overflow-x:auto;border:1px solid var(--ln);border-radius:12px;background:var(--sf);margin:14px 0;-webkit-overflow-scrolling:touch}
.fp-g .tw table{border-collapse:collapse;width:100%;min-width:520px;font-size:.93rem}
.fp-g .tw th,.fp-g .tw td{padding:10px 12px;border-bottom:1px solid var(--ln);text-align:left;vertical-align:top}
.fp-g .tw th{background:color-mix(in srgb,var(--ac) 10%,var(--bg));font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.fp-g .tw tr:last-child td{border-bottom:0}
.fp-g .tw td:first-child{font-weight:700}
.fp-g .note{color:var(--mut);font-size:.88rem}

html body .lang a{font:inherit;font-weight:600;font-size:.85rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ln);background:var(--sf);color:var(--ink);border-radius:8px;text-decoration:none;cursor:pointer}
html body .lang a[aria-pressed=true]{background:var(--ac);color:#14110E;border-color:var(--ac)}
html body .lang a:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
