:root{--testo:#1a1a1a;--sfondo:#fff;--accento:#0a5c36;--tenue:#555;--bordo:#767676;--evid:#fff4d6}
*{box-sizing:border-box}
html{font-size:112.5%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--testo);background:var(--sfondo);line-height:1.5}
header{background:var(--accento);padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}
header a.logo{color:#fff;font-weight:700;text-decoration:none;font-size:1.1rem}
header nav a{color:#fff;text-decoration:none;min-height:48px;display:inline-flex;align-items:center}
main{max-width:42rem;margin:0 auto;padding:1rem}
footer{max-width:42rem;margin:2rem auto;padding:1rem;color:var(--tenue);font-size:.9rem;border-top:1px solid var(--bordo)}
h1{font-size:1.5rem;line-height:1.25;margin:.5rem 0 1rem}
h2{font-size:1.2rem;margin:1.5rem 0 .5rem}
h3{font-size:1rem;margin:.5rem 0 .3rem}
a{color:#0b4f8a}
table{border-collapse:collapse;width:100%;margin:1rem 0}
caption{text-align:left;font-weight:700;padding:.3rem 0}
th,td{border-bottom:1px solid var(--bordo);padding:.5rem;text-align:left;vertical-align:top}
.btn,button{display:inline-block;min-height:48px;padding:.7rem 1.1rem;border-radius:.5rem;border:2px solid var(--accento);background:var(--accento);color:#fff;font-size:1rem;text-decoration:none;cursor:pointer;margin:.3rem .3rem .3rem 0}
.btn.sec{background:#fff;color:var(--accento)}
.btn.riga{display:block;width:100%;min-height:56px;padding:.8rem 1rem}
input[type=text],input[type=search],input[type=number],textarea{font-size:1.1rem;min-height:48px;padding:.5rem;border:2px solid #767676;border-radius:.4rem;width:100%}
textarea{min-height:120px}
label{display:block;font-weight:600;margin:.8rem 0 .3rem}
label.scelta{display:flex;align-items:center;gap:.6rem;min-height:48px;font-weight:400}
label.scelta input{width:24px;height:24px;flex:none}
ul.lista{list-style:none;padding:0;margin:0}
ul.lista li{border-bottom:1px solid var(--bordo)}
ul.lista a{display:block;padding:.8rem .2rem;min-height:48px;text-decoration:none}
.offerta{border:1px solid var(--bordo);border-radius:.5rem;padding:.8rem;margin:.6rem 0}
.offerta.senza-fine{background:#f2f2f2}
.prezzo{font-size:1.4rem;font-weight:800}
.listino{color:var(--tenue);text-decoration:line-through;margin-left:.4rem}
.meta{color:var(--tenue);font-size:.9rem}
.avviso{background:var(--evid);border-left:4px solid #b07d00;padding:.6rem .8rem;margin:1rem 0}
.avviso-top{background:var(--evid);padding:.5rem 1rem;margin:0;font-size:.9rem;border-bottom:1px solid #b07d00}
.proto{background:#e8f0fe;border-left:4px solid #0b4f8a;padding:.6rem .8rem;margin:1rem 0}
.scelta-box{border:2px solid var(--accento);border-radius:.5rem;padding:.8rem;margin:1rem 0}
.errore{color:#8a1c1c;font-weight:700}
.scade{color:#8a1c1c;font-weight:700}
:focus-visible{outline:3px solid #b35c00;outline-offset:2px}
