/* Polo Catalogo – azzurro tenue + rosso Univet */
:root{
	--polo-rosso:#960b27;
	--polo-rosso-scuro:#740820;
	--polo-azzurro-50:#f3f8fd;
	--polo-azzurro-100:#e5f0fa;
	--polo-azzurro-200:#d5e5f3;
	--polo-blu:#1d4e78;
	--polo-testo:#2b2f36;
	--polo-muted:#5d6b7a;
	--polo-radius:12px;
}
.polo-catalogo{margin:24px 0}
.polo-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--polo-azzurro-100);border:1px solid var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:14px 16px;margin-bottom:28px;position:sticky;top:0;z-index:5}
.polo-tabs,.polo-filtri{display:flex;flex-wrap:wrap;gap:8px}
.polo-tabs a,.polo-filtri button{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--polo-azzurro-200);background:#fff;color:var(--polo-blu);cursor:pointer;text-decoration:none;line-height:1.2}
.polo-tabs a span{opacity:.6;font-weight:500;margin-left:4px}
.polo-tabs a:hover,.polo-filtri button:hover{border-color:var(--polo-blu)}
.polo-filtri button.is-active{background:var(--polo-blu);border-color:var(--polo-blu);color:#fff}
.polo-cerca{flex:1 1 220px;max-width:340px;padding:10px 14px;border-radius:999px;border:1px solid var(--polo-azzurro-200);background:#fff;font:inherit;font-size:15px}
.polo-cerca:focus{outline:2px solid var(--polo-blu);outline-offset:1px}
.polo-gruppo{margin:0 0 44px;scroll-margin-top:90px}
.polo-gruppo__titolo{display:flex;align-items:center;gap:10px;font-size:26px;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid var(--polo-azzurro-200)}
.polo-count{font-size:14px;font-weight:600;background:var(--polo-azzurro-100);color:var(--polo-blu);border-radius:999px;padding:2px 10px}
.polo-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.polo-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:18px;transition:box-shadow .2s,transform .2s}
.polo-card:hover{box-shadow:0 8px 24px rgba(29,78,120,.10);transform:translateY(-2px)}
.polo-card[hidden]{display:none}
.polo-card__titolo{font-size:17px;line-height:1.35;margin:0;color:var(--polo-testo)}
.polo-card__titolo a{color:inherit;text-decoration:none}
.polo-card__titolo a:hover{color:var(--polo-rosso)}
.polo-card__meta{font-size:13px;color:var(--polo-muted);margin:0}
.polo-card__azioni{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.polo-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.polo-badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:4px 9px;border-radius:6px;background:var(--polo-azzurro-100);color:var(--polo-blu)}
.polo-badge--pegaso{background:#e8eefc;color:#1f3f8f}
.polo-badge--mercatorum{background:#e6f4f1;color:#0f5e52}
.polo-badge--san-raffaele{background:#f1ecf9;color:#553089}
.polo-btn{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;padding:9px 16px;border-radius:8px;background:var(--polo-rosso);color:#fff!important;text-decoration:none!important;border:1px solid var(--polo-rosso);cursor:pointer;line-height:1.2}
.polo-btn:hover{background:var(--polo-rosso-scuro);border-color:var(--polo-rosso-scuro)}
.polo-btn--pdf,.polo-btn--ghost{background:#fff;color:var(--polo-blu)!important;border-color:var(--polo-azzurro-200)}
.polo-btn--pdf:hover,.polo-btn--ghost:hover{background:var(--polo-azzurro-50);border-color:var(--polo-blu)}
.polo-btn--big{font-size:16px;padding:13px 28px}
.polo-vuoto,.polo-nessuno{background:var(--polo-azzurro-50);border:1px dashed var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:18px;color:var(--polo-muted)}
/* singolo corso */
.polo-single-meta{background:var(--polo-azzurro-50);border:1px solid var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:20px;margin-bottom:28px}
.polo-dettagli{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.polo-dettagli li{margin:0;display:flex;flex-direction:column;font-size:15px}
.polo-dettagli span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--polo-muted)}
.polo-single-cta{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0;padding:22px;border-radius:var(--polo-radius);background:var(--polo-azzurro-100)}
/* sezioni home */
.polo-sezioni{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:28px 0}
.polo-sezione{display:flex;flex-direction:column;gap:4px;padding:22px;border-radius:var(--polo-radius);background:#fff;border:1px solid var(--polo-azzurro-200);text-decoration:none!important;color:var(--polo-testo)!important;border-top:4px solid var(--polo-rosso)}
.polo-sezione strong{font-size:18px}
.polo-sezione span{font-size:14px;color:var(--polo-muted)}
.polo-sezione em{font-style:normal;font-size:13px;font-weight:600;color:var(--polo-rosso);margin-top:6px}
.polo-sezione:hover{background:var(--polo-azzurro-50)}
/* contatti */
.polo-contatti{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start}
.polo-contatti__info{background:#fff;border:1px solid var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:26px}
.polo-contatti__info ul{list-style:none;padding:0;margin:0 0 20px}
.polo-contatti__info li{display:flex;flex-direction:column;margin-bottom:14px}
.polo-contatti__info li span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--polo-muted)}
.polo-contatti__mappa iframe{width:100%;height:420px;border:0;border-radius:var(--polo-radius)}
@media (max-width:820px){.polo-contatti{grid-template-columns:1fr}}
/* form */
.polo-form{display:flex;flex-direction:column;gap:14px;max-width:760px;background:#fff;border:1px solid var(--polo-azzurro-200);border-radius:var(--polo-radius);padding:26px}
.polo-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.polo-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--polo-testo)}
.polo-form input[type=text],.polo-form input[type=email],.polo-form input[type=tel],.polo-form select,.polo-form textarea{font:inherit;font-weight:400;font-size:15px;padding:11px 13px;border:1px solid var(--polo-azzurro-200);border-radius:8px;background:var(--polo-azzurro-50);width:100%}
.polo-form input:focus,.polo-form select:focus,.polo-form textarea:focus{outline:2px solid var(--polo-blu);background:#fff}
.polo-form .polo-form__check{flex-direction:row;align-items:flex-start;font-weight:400}
.polo-form__check input{margin-top:4px}
.polo-form button{align-self:flex-start}
.polo-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.polo-form-ok,.polo-form-err{padding:18px 20px;border-radius:var(--polo-radius);margin-bottom:18px}
.polo-form-ok{background:#e7f6ec;border:1px solid #b8e2c5;color:#1d5e33}
.polo-form-err{background:#fdecee;border:1px solid #f3c2c9;color:#8a1c2c}
@media (max-width:640px){.polo-form__row{grid-template-columns:1fr}.polo-toolbar{position:static}.polo-cerca{max-width:none}}
.polo-single-body li>p{display:inline;margin:0}
