:root { --blu:#1c3d5a; --blu-scuro:#14212e; --oro:#b08d2e; --carta:#faf8f4; --pergamena:#f6f1e4; --inchiostro:#2a2a28; }
* { box-sizing:border-box; }
body { margin:0; font-family:Georgia,'Times New Roman',serif; background:var(--carta); color:var(--inchiostro); line-height:1.6; }
header.sito { background:var(--blu); color:#fff; padding:1.1rem 1.5rem; border-top:6px solid var(--oro); }
header.sito .interno { max-width:960px; margin:0 auto; display:flex; align-items:baseline; gap:1.5rem; flex-wrap:wrap; }
header.sito h1 { margin:0; font-size:1.5rem; } header.sito h1 a { color:#fff; text-decoration:none; } header.sito h1 span { color:var(--oro); }
nav.sito { display:flex; gap:1.2rem; font-size:.95rem; } nav.sito a { color:#cdd6e0; text-decoration:none; } nav.sito a:hover { color:var(--oro); }
main { max-width:960px; margin:0 auto; padding:1.5rem; }
.hero { background:var(--blu); color:#fff; border-radius:12px; padding:2rem; margin:1rem 0 2rem; }
.hero h2 { margin:0 0 .5rem; font-size:1.6rem; } .hero p { margin:.3rem 0; color:#cdd6e0; }
.hero .oro { color:var(--oro); }
.card { background:#fff; border:1px solid #e2ddd2; border-left:4px solid var(--oro); border-radius:10px; padding:1.2rem 1.4rem; margin-bottom:1rem; }
.card h3 { margin:0 0 .3rem; font-size:1.05rem; } .card h3 a { color:var(--blu); text-decoration:none; }
.meta { font-family:Verdana,sans-serif; font-size:.72rem; color:#8a7b52; margin-bottom:.5rem; }
.massima-testo { text-align:justify; }
.bottone { display:inline-block; background:var(--oro); color:#fff !important; padding:.55rem 1.2rem; border-radius:8px; text-decoration:none; font-family:Verdana,sans-serif; font-size:.85rem; margin:.3rem .4rem .3rem 0; }
.bottone.secondario { background:transparent; border:1px solid var(--oro); color:var(--oro) !important; }
footer.sito { border-top:1px solid #e2ddd2; margin-top:3rem; padding:1.5rem; text-align:center; font-size:.8rem; color:#777; font-family:Verdana,sans-serif; }
h2.sezione { color:var(--blu); border-bottom:2px solid var(--oro); padding-bottom:.3rem; margin-top:2.5rem; }
.settimana { color:var(--blu); margin-top:2rem; font-size:1.1rem; }
audio { width:100%; margin:.5rem 0; }
.avviso { background:var(--pergamena); border-radius:8px; padding:.8rem 1rem; font-size:.85rem; }
@media (max-width:640px){ main{padding:1rem} .hero{padding:1.3rem} }