/* ScrivoFacile Strumenti 1.1.1: stile grafico comune degli strumenti (schede .sf-tool) e barra "Strumenti gratuiti" (.sf-switch).
   Palette: blu ScrivoFacile #0a3e50, scuro #12262c, arancio #f87a11. Caricato solo nelle pagine degli strumenti. */
/* ================================================================
   STILE COMUNE DEGLI STRUMENTI SCRIVOFACILE  (questo blocco andrà sul sito)
   Palette: blu ScrivoFacile #0a3e50, scuro #12262c, arancio #f87a11
   ================================================================ */
.sf-tool{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e3eaee;border-radius:18px;box-shadow:0 8px 30px rgba(10,62,80,.08);padding:32px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#0a3e50}
.sf-tool *{box-sizing:border-box}
.sf-tool__eyebrow{display:inline-block;font-family:"League Spartan",system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#f87a11;margin-bottom:8px}
.sf-tool__title{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:34px;line-height:1.05;color:#12262c;letter-spacing:.3px;margin:0 0 8px}
.sf-tool__intro{font-size:15px;color:#4a5b63;margin:0 0 24px;max-width:600px}
.sf-tool .sf-field{margin-bottom:18px}
.sf-tool .sf-label{display:block;font-size:14px;font-weight:600;color:#0a3e50;margin-bottom:7px}
.sf-tool .sf-hint{display:block;font-size:12.5px;color:#7a8a91;margin-top:6px}
.sf-tool .sf-input, .sf-tool .sf-select, .sf-tool .sf-textarea{width:100%;font:inherit;font-size:16px;color:#12262c;background:#fff;border:1.5px solid #cfd9de;border-radius:10px;padding:0 14px;height:48px;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.sf-tool .sf-textarea{height:auto;min-height:180px;padding:12px 14px;line-height:1.5;resize:vertical}
.sf-tool .sf-select[multiple]{height:auto;padding:6px}
.sf-tool .sf-select[multiple] option{padding:7px 8px;border-radius:6px}
.sf-tool .sf-select[multiple] option:checked{background:#0a3e50 linear-gradient(#0a3e50,#0a3e50);color:#fff}
.sf-tool .sf-input:focus, .sf-tool .sf-select:focus, .sf-tool .sf-textarea:focus{border-color:#f87a11;box-shadow:0 0 0 4px rgba(248,122,17,.16)}
.sf-tool .sf-input::placeholder, .sf-tool .sf-textarea::placeholder{color:#a3b0b6}
.sf-tool .sf-input-wrap{position:relative}
.sf-tool .sf-input-wrap .sf-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:15px;color:#7a8a91;pointer-events:none}
.sf-tool .sf-input-wrap .sf-input{padding-right:44px}
.sf-tool .sf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sf-tool .sf-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.sf-tool .sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"League Spartan",system-ui,sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:0 26px;height:48px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,transform .05s,box-shadow .15s;text-decoration:none;line-height:1}
.sf-tool .sf-btn--primary{background:#f87a11;color:#fff;box-shadow:0 6px 16px rgba(248,122,17,.28)}
.sf-tool .sf-btn--primary:hover{background:#e46a05}
.sf-tool .sf-btn--primary:active{transform:translateY(1px)}
.sf-tool .sf-btn--primary:disabled{background:#cfd9de;box-shadow:none;cursor:not-allowed;color:#fff}
.sf-tool .sf-btn--secondary{background:#fff;color:#0a3e50;border-color:#0a3e50}
.sf-tool .sf-btn--secondary:hover{background:#0a3e50;color:#fff}
.sf-tool .sf-btn--ghost{background:transparent;color:#b5590c;border-color:transparent;padding:0 10px;text-transform:none;font-family:inherit;font-weight:600;font-size:14px}
.sf-tool .sf-btn--ghost:hover{text-decoration:underline}
.sf-tool .sf-segment{display:inline-flex;background:#eef3f5;border-radius:999px;padding:4px;gap:4px}
.sf-tool .sf-segment label{position:relative;cursor:pointer}
.sf-tool .sf-segment input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sf-tool .sf-segment span{display:inline-block;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:600;color:#0a3e50;transition:background .15s,color .15s}
.sf-tool .sf-segment input:checked+span{background:#0a3e50;color:#fff;box-shadow:0 2px 8px rgba(10,62,80,.25)}
.sf-tool .sf-check{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:#0a3e50;cursor:pointer;padding:6px 0}
.sf-tool .sf-check input{width:18px;height:18px;margin-top:2px;accent-color:#f87a11;flex:none}
.sf-tool .sf-result{margin-top:26px;background:#f4f8fa;border:1px solid #dfe8ec;border-left:5px solid #f87a11;border-radius:14px;padding:22px 24px}
.sf-tool .sf-result__title{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:22px;letter-spacing:.4px;color:#12262c;margin:0 0 14px}
.sf-tool .sf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.sf-tool .sf-tile{background:#fff;border:1px solid #e3eaee;border-radius:12px;padding:14px 16px}
.sf-tool .sf-tile__value{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:32px;line-height:1;color:#0a3e50}
.sf-tool .sf-tile__value small{font-size:18px;color:#7a8a91;margin-left:3px}
.sf-tool .sf-tile__label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7a8a91;margin-top:6px;font-weight:600}
.sf-tool .sf-tile--accent .sf-tile__value{color:#f87a11}
.sf-tool .sf-result p{font-size:14.5px;color:#4a5b63;margin-top:14px}
.sf-tool .sf-result p strong{color:#0a3e50}
.sf-tool .sf-error{margin-top:14px;background:#fff3ed;border:1px solid #f8c7a5;color:#a8480a;border-radius:10px;padding:10px 14px;font-size:14px;display:none}
.sf-tool .sf-error.is-visible{display:block}
.sf-tool .sf-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 16px;border-bottom:1px solid #e3eaee;padding-bottom:12px}
.sf-tool .sf-tab{font-family:inherit;font-size:14px;font-weight:600;color:#0a3e50;background:#eef3f5;border:none;border-radius:999px;padding:9px 16px;cursor:pointer}
.sf-tool .sf-tab.is-active{background:#0a3e50;color:#fff}
.sf-tool .sf-details{border:1px solid #e3eaee;border-radius:12px;padding:0 16px;margin:6px 0 18px;background:#fbfcfd}
.sf-tool .sf-details summary{cursor:pointer;font-weight:600;font-size:14.5px;color:#0a3e50;padding:14px 0;list-style:none;display:flex;align-items:center;justify-content:space-between}
.sf-tool .sf-details summary::-webkit-details-marker{display:none}
.sf-tool .sf-details summary::after{content:"+";font-size:20px;color:#f87a11;font-weight:700}
.sf-tool .sf-details[open] summary::after{content:"\2212"}
.sf-tool .sf-details>div{padding:0 0 16px}
.sf-tool .sf-list{list-style:none;margin:0;padding:0}
.sf-tool .sf-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #dfe8ec;font-size:14.5px}
.sf-tool .sf-list li:last-child{border-bottom:none}
.sf-tool .sf-list b{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:20px;color:#0a3e50}
.sf-tool .sf-bar{height:8px;background:#e3eaee;border-radius:999px;overflow:hidden;margin-top:6px}
.sf-tool .sf-bar i{display:block;height:100%;background:linear-gradient(90deg,#f87a11,#ffb066);border-radius:999px}
.sf-tool .sf-book{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:end;padding:14px;border:1px dashed #cfd9de;border-radius:12px;margin-bottom:12px;background:#fbfcfd}
.sf-tool .sf-book .sf-field{margin:0}
.sf-tool .sf-book .sf-remove{height:48px;width:48px;border-radius:10px;border:1.5px solid #cfd9de;background:#fff;color:#7a8a91;font-size:20px;cursor:pointer}
.sf-tool .sf-book .sf-remove:hover{border-color:#a8480a;color:#a8480a}
.sf-tool .sf-book .sf-remove:disabled{opacity:.35;cursor:not-allowed}
.sf-tool__foot{margin-top:22px;font-size:12.5px;color:#7a8a91;border-top:1px solid #eef3f5;padding-top:14px}

@media (max-width:640px){.sf-tool{padding:22px 18px;border-radius:14px}
.sf-tool__title{font-size:28px}
.sf-tool .sf-row{grid-template-columns:1fr}
.sf-tool .sf-book{grid-template-columns:1fr;}
.sf-tool .sf-btn{width:100%}
.sf-tool .sf-actions{flex-direction:column;align-items:stretch}
}

/* ---- Difese contro le regole globali del sito (tema + CSS personalizzato) ---- */
.sf-tool .sf-input,.sf-tool .sf-select,.sf-tool .sf-textarea{border:1.5px solid #cfd9de!important;border-radius:10px!important;background:#fff!important;color:#12262c!important;font-size:16px!important;box-shadow:none;line-height:1.4!important}

.sf-tool .sf-input,.sf-tool .sf-select:not([multiple]){height:48px!important;padding:0 14px!important}

.sf-tool .sf-input:focus,.sf-tool .sf-select:focus,.sf-tool .sf-textarea:focus{border-color:#f87a11!important;box-shadow:0 0 0 4px rgba(248,122,17,.16)!important}

.sf-tool .sf-btn{border-radius:999px!important;height:48px!important;padding:0 26px!important;font-family:"League Spartan",system-ui,sans-serif!important;font-weight:700!important;font-size:15px!important;letter-spacing:.02em!important;text-transform:uppercase!important;text-decoration:none!important;line-height:1!important}

.sf-tool .sf-btn--primary{background:#f87a11!important;color:#fff!important;border-color:transparent!important}

.sf-tool .sf-btn--primary:hover{background:#e46a05!important}

.sf-tool .sf-btn--primary:disabled{background:#cfd9de!important;box-shadow:none!important}

.sf-tool .sf-btn--secondary{background:#fff!important;color:#0a3e50!important;border:2px solid #0a3e50!important}

.sf-tool .sf-btn--secondary:hover{background:#0a3e50!important;color:#fff!important}

.sf-tool .sf-btn--ghost{background:transparent!important;color:#b5590c!important;border-color:transparent!important;text-transform:none!important;font-family:inherit!important;font-weight:600!important;font-size:14px!important;padding:0 10px!important}

.sf-tool h2.sf-tool__title,.sf-tool h3.sf-tool__title{font-family:"Bebas Neue",Impact,sans-serif!important;font-weight:400!important;font-size:34px!important;line-height:1.05!important;letter-spacing:.3px!important;color:#12262c!important;margin:0 0 8px!important;text-align:left!important;text-transform:none!important}

.sf-tool h3.sf-result__title,.sf-tool h4.sf-result__title{font-family:"Bebas Neue",Impact,sans-serif!important;font-weight:400!important;font-size:22px!important;letter-spacing:.4px!important;color:#12262c!important;margin:0 0 14px!important;text-align:left!important;line-height:1.2!important}

.sf-tool p{margin:0}

.sf-tool p.sf-tool__intro{font-size:15px!important;color:#4a5b63!important;margin:0 0 24px!important;line-height:1.55!important}

.sf-tool .sf-result p{font-size:14.5px!important;color:#4a5b63!important;margin:14px 0 0!important;line-height:1.55!important}

.sf-tool label.sf-label{display:block;font-size:14px!important;font-weight:600!important;color:#0a3e50!important;margin:0 0 7px!important;line-height:1.3}

.sf-tool ul.sf-list{list-style:none!important;margin:0!important;padding:0!important}

.sf-tool ul.sf-list li{margin:0!important}

@media (max-width:640px){.sf-tool h2.sf-tool__title,.sf-tool h3.sf-tool__title{font-size:28px!important}}

/* ---- Barra "Strumenti gratuiti" in cima alle pagine degli strumenti ---- */
.sf-switch{max-width:760px;margin:0 auto 28px;padding:12px 14px;background:#fff;border:1px solid #e3eaee;border-radius:14px;box-shadow:0 4px 16px rgba(10,62,80,.06);display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

.sf-switch__label{font-family:"League Spartan",system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#f87a11;white-space:nowrap}

.sf-switch__items{display:flex;flex-wrap:wrap;gap:8px}

.sf-switch a.sf-switch__item{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;border:1.5px solid #cfd9de;background:#fff;color:#0a3e50!important;font-size:13.5px;font-weight:600;text-decoration:none!important;line-height:1;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}

.sf-switch a.sf-switch__item:hover{border-color:#f87a11;color:#b5590c!important;background:#fff7f1}

.sf-switch a.sf-switch__item.is-current{background:#0a3e50;border-color:#0a3e50;color:#fff!important;cursor:default}

@media (max-width:640px){.sf-switch{padding:10px 12px;gap:8px}
.sf-switch__items{width:100%;flex-wrap:wrap;gap:6px}
.sf-switch a.sf-switch__item{height:34px;font-size:13px}}
