
:root{
  --bg:#fbf7ef;
  --paper:#fffdf7;
  --card:#ffffff;
  --text:#1d2430;
  --muted:#687080;
  --brand:#0f766e;
  --brand-dark:#115e59;
  --accent:#f59e0b;
  --accent-soft:#fff3cf;
  --line:#eadfcb;
  --soft:#eefaf7;
  --shadow:0 18px 45px rgba(73,55,27,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#fff7df 0,#fbf7ef 360px,#f6efe3 100%);color:var(--text);line-height:1.65}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1140px,92vw);margin:0 auto}.narrow{width:min(860px,92vw)}
.site-header{background:rgba(255,253,247,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:900;color:var(--text)}.brand:before{content:"";width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#14b8a6);box-shadow:inset 0 -8px 18px rgba(0,0,0,.12)}.main-nav{display:flex;gap:8px;flex-wrap:wrap}.main-nav a{font-size:.92rem;color:#334155;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px}.main-nav a:hover{border-color:var(--brand);text-decoration:none;color:var(--brand)}
.hero{padding:76px 0 58px;background:linear-gradient(135deg,#fffdf7 0%,#eefaf7 58%,#fff3cf 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:34px;align-items:center}.eyebrow{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900;color:var(--brand);text-transform:uppercase;letter-spacing:.09em}.hero h1,.page-title h1{font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.02;margin:.28em 0;font-weight:950;letter-spacing:-.045em}.lead{font-size:1.12rem;color:var(--muted);max-width:760px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 19px;font-weight:850;border:1px solid transparent;cursor:pointer;transition:.18s ease}.btn.primary{background:linear-gradient(135deg,var(--brand),#14b8a6);color:#fff;box-shadow:0 10px 25px rgba(15,118,110,.22)}.btn.primary:hover{background:var(--brand-dark);text-decoration:none;transform:translateY(-1px)}.btn.ghost{background:#fffdf7;color:var(--text);border-color:var(--line)}.btn.ghost:hover{text-decoration:none;border-color:var(--brand);color:var(--brand)}
.hero-card,.card,.tool-card,.calculator-box{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.hero-card{padding:26px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;right:-55px;bottom:-55px;width:150px;height:150px;border-radius:50%;background:rgba(245,158,11,.16)}.quick-list{padding-left:20px}.section{padding:44px 0}.section h2{letter-spacing:-.02em}.muted{color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}.card{padding:23px}.card h3{margin-top:0}.card ul{padding-left:18px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}.tool-card{padding:21px;display:flex;flex-direction:column;gap:8px;color:var(--text);transition:.18s ease;border-top:5px solid transparent}.tool-card:hover{text-decoration:none;transform:translateY(-3px);border-top-color:var(--accent)}.tool-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-weight:900}.tool-card small{color:var(--muted)}
.page-title{padding:58px 0 28px;background:linear-gradient(135deg,#fffdf7,#eefaf7);border-bottom:1px solid var(--line)}.calculator-box{padding:26px;border-top:6px solid var(--brand)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-bottom:18px}.field label{display:block;font-weight:850;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:12px 13px;font-size:1rem;background:#fffdf7;color:var(--text)}.field input:focus,.field select:focus{outline:3px solid rgba(20,184,166,.18);border-color:var(--brand)}.result-box{margin-top:20px;background:var(--soft);border:1px solid rgba(15,118,110,.14);border-radius:22px;padding:18px}.result-content{margin-top:8px}.result-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed rgba(15,118,110,.22);padding:8px 0}.seo-text{font-size:1.03rem}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:10px 0}.faq summary{font-weight:900;cursor:pointer}.related-links{display:flex;gap:10px;flex-wrap:wrap}.related-links a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.site-footer{background:#17211f;color:#eaf7f4;margin-top:42px;padding:36px 0}.site-footer p{color:#b6c8c3}.footer-grid{display:flex;justify-content:space-between;gap:24px}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a{color:#fff}
.device-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.device-row{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px;background:#fffaf0;border:1px solid var(--line);border-radius:20px;padding:14px}.small-note{font-size:.9rem;margin:8px 0 0}.advice-box{margin-top:16px;background:#fff;border:1px solid rgba(245,158,11,.30);border-radius:18px;padding:14px}.advice-box p{margin:.45rem 0;color:var(--muted)}.field-help{display:block;margin-top:6px;font-size:.82rem;color:var(--muted);line-height:1.35}.notice-box{background:#fff8e6;border:1px solid #f2d58c;border-radius:20px;padding:16px;margin-bottom:18px}.notice-box p{margin:.5rem 0 0;color:var(--muted)}.official-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0}.official-link-grid a{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;color:var(--text)}.official-link-grid a:hover{text-decoration:none;border-color:var(--brand);transform:translateY(-1px)}.official-link-grid span{color:var(--muted);font-size:.92rem}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.nav-wrap{align-items:flex-start;flex-direction:column}.main-nav{gap:8px}.footer-grid{flex-direction:column}.hero{padding:44px 0}.device-row{grid-template-columns:1fr}.result-line{align-items:flex-start;flex-direction:column}.main-nav a{font-size:.88rem;padding:7px 10px}}
.lang-switch{display:flex;gap:6px;align-items:center;margin-left:auto}
.lang-switch a{font-size:.82rem;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 9px;color:inherit;opacity:.8}
.lang-switch a.active{background:#fff;color:#11413f;opacity:1;font-weight:700}
.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.formula-card{background:#102b2a;color:#f5fffb;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.formula-card h3{margin-top:0;color:#ffe1a2}.formula-card pre{white-space:pre-wrap;word-break:break-word;background:rgba(255,255,255,.08);border-radius:12px;padding:14px;line-height:1.55}.formula-note{background:#fff8e6;border:1px solid #f0d69a;border-radius:16px;padding:16px;margin-top:16px}.copy-btn{border:0;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}.formula-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.formula-index a{display:block;padding:14px;border-radius:16px;background:#fff;border:1px solid #e8ece6;text-decoration:none;color:#123;box-shadow:0 8px 18px rgba(0,0,0,.05)}
@media(max-width:760px){.formula-grid{grid-template-columns:1fr}.nav-wrap{gap:12px}.lang-switch{margin-left:0}}

/* Cookie banner, contact and legal pages */
.contact-hero-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#fff,#eefaf7);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:26px;margin-bottom:22px}.contact-email{font-size:1.45rem;font-weight:900;margin:.2rem 0}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;margin:24px 0}.legal-page h2{margin-top:34px;padding-top:12px;border-top:1px solid rgba(234,223,203,.75)}.legal-page ul{padding-left:22px}.footer-cookie-btn{background:transparent;border:0;color:#fff;font:inherit;cursor:pointer;padding:0;text-decoration:none}.footer-cookie-btn:hover{text-decoration:underline}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:16px;background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.18))}.cookie-banner__content{width:min(1040px,94vw);margin:0 auto;background:#fffdf7;border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 60px rgba(15,23,42,.22);padding:20px}.cookie-banner__content p{margin:.45rem 0 1rem;color:var(--muted)}.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cookie-link{display:inline-block;margin-top:12px;font-size:.92rem}.cookie-modal{position:fixed;inset:0;z-index:90;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:20px}.cookie-modal[hidden],.cookie-banner[hidden]{display:none!important}.cookie-modal__panel{position:relative;width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fffdf7;border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 85px rgba(15,23,42,.35);padding:28px}.cookie-modal__close{position:absolute;top:14px;right:16px;width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}.cookie-option p{margin:.25rem 0 0;color:var(--muted);font-size:.94rem}.cookie-option input{width:22px;height:22px;accent-color:var(--brand);flex:0 0 auto}.cookie-required{font-size:.86rem;font-weight:850;color:var(--brand);background:var(--soft);border-radius:999px;padding:7px 10px;white-space:nowrap}.cookie-modal__actions{margin-top:18px}
@media(max-width:760px){.contact-hero-card{flex-direction:column;align-items:flex-start}.contact-email{font-size:1.15rem}.cookie-banner{padding:10px}.cookie-banner__content{border-radius:20px;padding:16px}.cookie-option{align-items:flex-start}.cookie-required{white-space:normal}.cookie-modal__panel{padding:22px}}

/* Quiz patente */
.quiz-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.quiz-question{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.quiz-question p{margin-top:0}.quiz-question label{display:inline-flex;align-items:center;gap:8px;margin-right:16px;font-weight:800}.quiz-question input{width:18px;height:18px;accent-color:var(--brand)}.quiz-feedback{margin-top:12px;border-radius:14px;padding:11px 12px;font-size:.95rem}.quiz-feedback.ok{background:#eafaf1;border:1px solid #b6e4c9;color:#14532d}.quiz-feedback.ko{background:#fff1f2;border:1px solid #fecdd3;color:#881337}

/* Comune autocomplete */
.full-field { grid-column: 1 / -1; }
.fiscal-place-field { position: relative; }
.suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 4px);
    z-index: 20;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .14);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
    padding: 8px;
    max-height: 280px;
    overflow: auto;
}
.suggestion-item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 10px 12px;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    gap: 8px;
    align-items: center;
    color: #12302c;
}
.suggestion-item:hover { background: #eef8f5; }
.suggestion-item span { color: #6b7280; }
.suggestion-item em { margin-left: auto; font-style: normal; font-weight: 700; color: #b7791f; }
.suggestion-item.empty { cursor: default; color: #6b7280; }
.field-help { display: block; margin-top: 6px; color: #64748b; font-size: .88rem; }
