
/* ---- Strumenti gratuiti: widget calcolatore ---- */
.tool-hero{padding:3rem 0 1rem;}
.tool-hero .breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-4);margin-bottom:1rem;text-transform:uppercase;}
.tool-hero .breadcrumb a{color:var(--ink-4);}
.tool-hero .breadcrumb a:hover{color:var(--red);}
.tool-hero .eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-full);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-2);margin-bottom:1rem;box-shadow:var(--sh-xs);}
.tool-hero .eyebrow::before{content:'';width:8px;height:8px;background:var(--orange);border-radius:50%;display:inline-block;}
.tool-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);letter-spacing:-.035em;line-height:1.02;margin-bottom:.9rem;}
.tool-hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);}
.tool-hero .lede{font-size:1.12rem;color:var(--ink-3);max-width:620px;line-height:1.55;}

.tool-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:start;}
@media(max-width:900px){.tool-grid{grid-template-columns:1fr;gap:1.5rem;}}

.calc-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-2xl);box-shadow:var(--sh-lg);padding:1.6rem;}
.calc-card .calc-title{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;margin-bottom:1.2rem;}
.calc-card .calc-title .ic{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--orange),#FFB134);color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700;box-shadow:var(--sh-sm);}

.field{margin-bottom:1.05rem;}
.field label{display:block;font-size:.83rem;font-weight:600;color:var(--ink-2);margin-bottom:.4rem;letter-spacing:-.005em;}
.field .hint{font-size:.75rem;color:var(--ink-4);font-weight:400;margin-top:.3rem;line-height:1.4;}
.field .input-wrap{position:relative;display:flex;align-items:center;}
.field .input-wrap .pre,.field .input-wrap .suf{position:absolute;font-family:var(--mono);font-size:.9rem;color:var(--ink-4);pointer-events:none;}
.field .input-wrap .pre{left:.9rem;}
.field .input-wrap .suf{right:.9rem;}
.field input[type=text],.field input[type=number],.field select{
  width:100%;font-family:var(--sans);font-size:1.05rem;font-weight:600;color:var(--ink-1);
  background:var(--surface-1);border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:.75rem .9rem;transition:all .15s var(--ease);font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none;
}
.field .input-wrap.has-pre input{padding-left:2rem;}
.field .input-wrap.has-suf input{padding-right:2.4rem;}
.field input:focus,.field select:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px rgba(255,149,0,.15);}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;cursor:pointer;}

.seg{display:flex;gap:.35rem;background:var(--surface-2);padding:.28rem;border-radius:var(--r-md);flex-wrap:wrap;}
.seg button{flex:1;min-width:64px;padding:.5rem .5rem;font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--ink-3);border-radius:calc(var(--r-md) - 3px);transition:all .15s var(--ease);white-space:nowrap;}
.seg button.on{background:#fff;color:var(--ink-1);box-shadow:var(--sh-sm);}

.calc-result{margin-top:.4rem;background:linear-gradient(180deg,rgba(255,149,0,.07),var(--card) 70%);border:1px solid rgba(255,149,0,.25);border-radius:var(--r-xl);padding:1.3rem 1.4rem;}
.calc-result .r-label{font-size:.8rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono);}
.calc-result .r-big{font-size:2.6rem;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--ink-1);font-variant-numeric:tabular-nums;margin:.15rem 0 .1rem;}
.calc-result .r-big em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange);}
.calc-result.ok{background:linear-gradient(180deg,rgba(52,199,89,.09),var(--card) 70%);border-color:rgba(52,199,89,.3);}
.calc-result.ok .r-big em{color:var(--green);}
.calc-result.err{background:linear-gradient(180deg,rgba(255,59,48,.07),var(--card) 70%);border-color:rgba(255,59,48,.3);}

.rrows{margin-top:1rem;border-top:1px dashed var(--line);padding-top:.7rem;}
.rrow{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;font-size:.92rem;border-bottom:1px solid var(--line-soft);}
.rrow:last-child{border-bottom:0;}
.rrow .k{color:var(--ink-3);}
.rrow .v{font-family:var(--mono);font-weight:600;color:var(--ink-1);font-variant-numeric:tabular-nums;}
.rrow.tot .k{font-weight:700;color:var(--ink-1);}
.rrow.tot .v{color:var(--orange);font-weight:700;}

.side-card{background:var(--surface-1);border:1px solid var(--line-soft);border-radius:var(--r-xl);padding:1.3rem 1.4rem;}
.side-card h3{font-size:1.05rem;margin-bottom:.6rem;letter-spacing:-.01em;}
.side-card p{font-size:.92rem;color:var(--ink-3);line-height:1.6;margin-bottom:.7rem;}
.side-card p:last-child{margin-bottom:0;}
.side-card ul.ticks{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem;}
.side-card ul.ticks li{display:flex;gap:.5rem;font-size:.9rem;color:var(--ink-2);line-height:1.45;}
.side-card ul.ticks li::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;}

.privacy-chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-4);margin-top:.9rem;}
.privacy-chip svg{color:var(--green);}

.prose{max-width:820px;margin:0 auto;}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em;margin:0 0 1rem;}
.prose h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);}
.prose h3{font-size:1.2rem;margin:1.6rem 0 .5rem;}
.prose p{color:var(--ink-2);line-height:1.7;margin-bottom:1rem;font-size:1.02rem;}
.prose .ex{background:var(--surface-1);border-left:3px solid var(--orange);border-radius:var(--r-md);padding:1.1rem 1.3rem;margin:1.3rem 0;font-size:.98rem;color:var(--ink-2);line-height:1.65;}
.prose .ex strong{color:var(--ink-1);}

/* hub */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.hub-grid{grid-template-columns:1fr;}}
.hub-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-2xl);padding:1.4rem;box-shadow:var(--sh-sm);transition:all .25s var(--ease);}
a.hub-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--line);}
.hub-card .h-ic{width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;color:#fff;font-weight:700;margin-bottom:.9rem;box-shadow:var(--sh-sm);font-size:.9rem;}
.hub-card h3{font-size:1.12rem;letter-spacing:-.01em;margin-bottom:.35rem;}
.hub-card p{font-size:.9rem;color:var(--ink-3);line-height:1.5;flex:1;}
.hub-card .h-go{margin-top:.9rem;font-family:var(--mono);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-1);display:inline-flex;align-items:center;gap:.3rem;}
.hub-card .h-go::after{content:'→';transition:transform .15s var(--ease);}
a.hub-card:hover .h-go::after{transform:translateX(3px);}
.hub-card.soon{opacity:.72;}
.hub-card.soon .h-badge{font-family:var(--mono);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);background:var(--surface-2);padding:.2rem .5rem;border-radius:var(--r-sm);align-self:flex-start;margin-top:.8rem;}
.cat-title{font-family:var(--mono);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:2.5rem 0 1rem;display:flex;align-items:center;gap:.6rem;}
.cat-title::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--orange);}

/* ---- Sub-nav sticky strumenti ---- */
.stru-subnav{position:sticky;top:71px;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line-soft);}
.stru-subnav-inner{display:flex;align-items:center;gap:.6rem;height:50px;}
.stru-home{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9rem;color:var(--ink-1);white-space:nowrap;letter-spacing:-.01em;}
.stru-home .em{color:var(--orange);}
.stru-cats{display:flex;align-items:center;gap:.1rem;flex:1;margin-left:.5rem;}
.stru-cat{position:relative;}
.stru-cat-trigger{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .7rem;font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--ink-2);border-radius:var(--r-md);white-space:nowrap;background:none;cursor:pointer;}
.stru-cat-trigger:hover{background:rgba(0,0,0,.05);color:var(--ink-1);}
.stru-cat.on>.stru-cat-trigger{color:var(--orange);font-weight:600;}
.stru-cat-trigger .chev{opacity:.55;transition:transform .2s var(--ease);}
.stru-cat.open .stru-cat-trigger .chev{transform:rotate(180deg);}
.stru-cat-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:238px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--sh-xl);padding:.4rem;display:none;flex-direction:column;gap:.04rem;z-index:120;}
.stru-cat.open .stru-cat-menu{display:flex;}
@media(hover:hover) and (min-width:900px){.stru-cat:hover .stru-cat-menu{display:flex;}}
.stru-cat-menu a{padding:.5rem .7rem;border-radius:var(--r-sm);font-size:.86rem;color:var(--ink-2);white-space:nowrap;}
.stru-cat-menu a:hover{background:var(--surface-1);color:var(--ink-1);}
.stru-cat-menu a.active{color:var(--orange);font-weight:600;background:var(--orange-soft);}
.stru-all{margin-left:auto;font-family:var(--mono);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-1);white-space:nowrap;}
.stru-all:hover{color:var(--orange);}
.stru-mobile{display:none;position:relative;margin-left:auto;}
.stru-mobile-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.85rem;font-weight:600;color:var(--ink-1);border-radius:var(--r-md);background:var(--surface-1);cursor:pointer;}
.stru-mobile-menu{position:absolute;top:calc(100% + 6px);right:0;width:min(92vw,340px);max-height:70vh;overflow-y:auto;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--sh-xl);padding:.5rem;display:none;z-index:120;}
.stru-mobile.open .stru-mobile-menu{display:block;}
.stru-mobile-menu .grp{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);padding:.6rem .6rem .2rem;}
.stru-mobile-menu a{display:block;padding:.5rem .6rem;border-radius:var(--r-sm);font-size:.9rem;color:var(--ink-2);}
.stru-mobile-menu a:hover{background:var(--surface-1);color:var(--ink-1);}
.stru-mobile-menu a.active{color:var(--orange);font-weight:600;background:var(--orange-soft);}
@media(max-width:900px){.stru-cats,.stru-all{display:none;}.stru-mobile{display:block;}.stru-subnav{top:63px;}}
