.ffc-wrap{
--paper:#F3F0E4;
--paper-2:#EAE5D3;
--ink:#232019;
--ink-soft:#5C574A;
--navy:#1E3A5F;
--navy-deep:#14283F;
--gold:#C08A34;
--sage:#4F7A5C;
--line:#D8D0BC;
--danger:#A3402F;
font-family:'Atkinson Hyperlegible', Arial, sans-serif;
font-size:18px;
line-height:1.6;
color:var(--ink);
}
.ffc-wrap .modulo{
background:#fff;
border:1px solid var(--line);
border-radius:10px;
padding:32px;
margin:28px 0;
position:relative;
}
.ffc-wrap .modulo h2{
font-family:'Fraunces', Georgia, serif;
font-weight:600;
font-size:26px;
margin:0 0 6px;
color:var(--navy-deep);
}
.ffc-wrap .modulo .eyebrow{
font-family:'IBM Plex Mono',monospace;
font-size:12px;color:var(--gold);letter-spacing:.08em;
text-transform:uppercase;margin-bottom:6px;
}
.ffc-wrap .modulo .desc{color:var(--ink-soft);font-size:16px;margin:0 0 24px;max-width:560px;}
.ffc-wrap .field{margin-bottom:18px;}
.ffc-wrap .field label{
display:block;font-size:15px;font-weight:700;margin-bottom:6px;color:var(--ink);
}
.ffc-wrap .field .hint{font-size:13px;color:var(--ink-soft);font-weight:400;margin-top:4px;}
.ffc-wrap input[type=text],
.ffc-wrap input[type=number],
.ffc-wrap select{
width:100%;
padding:12px 14px;
font-size:18px;
font-family:'Atkinson Hyperlegible',sans-serif;
border:1px solid var(--line);
border-radius:8px;
background:var(--paper);
color:var(--ink);
box-sizing:border-box;
}
.ffc-wrap input:focus,.ffc-wrap select:focus{outline:2px solid var(--navy);outline-offset:1px;}
.ffc-wrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:520px){.ffc-wrap .row2{grid-template-columns:1fr;}}
.ffc-wrap .radio-group{display:flex;gap:14px;flex-wrap:wrap;}
.ffc-wrap .radio-group label{
display:flex;align-items:center;gap:8px;font-weight:400;font-size:16px;
border:1px solid var(--line);padding:10px 16px;border-radius:8px;cursor:pointer;
}
.ffc-wrap .radio-group input{width:auto;}
.ffc-wrap button.calc{
background:var(--navy);color:#fff;border:none;
font-family:'Atkinson Hyperlegible',sans-serif;
font-size:18px;font-weight:700;
padding:14px 26px;border-radius:8px;cursor:pointer;margin-top:6px;
}
.ffc-wrap button.calc:hover{background:var(--navy-deep);}
.ffc-wrap .risultato{
margin-top:26px;
padding:22px 24px;
background:var(--paper-2);
border-left:4px solid var(--sage);
border-radius:0 8px 8px 0;
display:none;
}
.ffc-wrap .risultato.show{display:block;}
.ffc-wrap .risultato.err{border-left-color:var(--danger);}
.ffc-wrap .risultato .label{font-size:13px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.ffc-wrap .risultato .value{
font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:500;color:var(--navy-deep);
word-break:break-word;
}
.ffc-wrap .risultato .sub{font-size:15px;color:var(--ink-soft);margin-top:10px;}
.ffc-wrap .stamp{
position:absolute;top:26px;right:32px;
border:2px solid var(--gold);color:var(--gold);
font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;
padding:6px 12px;border-radius:6px;
transform:rotate(6deg);
letter-spacing:.05em;
opacity:0;transition:opacity .2s ease;
pointer-events:none;
}
.ffc-wrap .stamp.show{opacity:1;}
.ffc-wrap .autocomplete-wrap{position:relative;}
.ffc-wrap .autocomplete-list{
position:absolute;left:0;right:0;top:100%;margin-top:4px;
background:#fff;border:1px solid var(--line);border-radius:8px;
max-height:230px;overflow-y:auto;z-index:9999;
box-shadow:0 6px 16px rgba(0,0,0,.10);
display:none;
}
.ffc-wrap .autocomplete-list.show{display:block;}
.ffc-wrap .autocomplete-item{padding:11px 14px;font-size:16px;cursor:pointer;border-bottom:1px solid var(--paper-2);}
.ffc-wrap .autocomplete-item:hover{background:var(--paper-2);}
.ffc-wrap .autocomplete-item .prov{color:var(--ink-soft);font-size:13px;}
.ffc-wrap .size-table{width:100%;border-collapse:collapse;margin-top:10px;}
.ffc-wrap .size-table th,.ffc-wrap .size-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;}
.ffc-wrap .size-table th{color:var(--ink-soft);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
.ffc-wrap .size-table tr.match{background:var(--paper-2);}