/* Elementi comuni a tutte le pagine: banner cookie, pulsante "torna su", barra fissa della home. */
.lbc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:760px;margin:0 auto;background:#FFFFFF;color:#0B1F3A;border-radius:6px;box-shadow:0 12px 40px rgba(8,26,64,.35);padding:24px 24px 20px;font:15px/1.55 Inter,system-ui,sans-serif;border-top:5px solid #C8A84B}
.lbc-banner[hidden]{display:none}
.lbc-banner h2{margin:0 0 8px;font:800 19px Montserrat,system-ui,sans-serif;color:#0B1F3A;padding-right:36px}
.lbc-banner p{margin:0 0 14px}
.lbc-banner a{color:#1B3B8A;font-weight:600}
.lbc-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:24px;line-height:1;color:#4A5A78;cursor:pointer;border-radius:50%}
.lbc-x:hover{background:#F4F6FB}
.lbc-actions{display:flex;flex-wrap:wrap;gap:10px}
.lbc-btn{flex:1 1 150px;min-height:46px;padding:0 18px;border-radius:3px;font:700 15px Montserrat,system-ui,sans-serif;cursor:pointer;border:2px solid #1B3B8A;background:#1B3B8A;color:#FFFFFF}
.lbc-btn.alt{background:#FFFFFF;color:#1B3B8A}
.lbc-btn.link{flex:0 0 auto;border-color:transparent;background:transparent;color:#1B3B8A;text-decoration:underline;padding:0 8px}
.lbc-prefs{border-top:1px solid #E3E8F2;margin:4px 0 14px;padding-top:12px;display:grid;gap:12px}
.lbc-prefs[hidden]{display:none}
.lbc-row{display:flex;gap:12px;align-items:flex-start}
.lbc-row input{width:22px;height:22px;flex:none;margin:2px 0 0}
.lbc-row strong{display:block}
.lbc-row small{color:#4A5A78;font-size:13px}
.lbc-banner :focus-visible,.lb-top :focus-visible{outline:3px solid #C8A84B;outline-offset:2px}

.lb-top{position:fixed;right:18px;bottom:18px;z-index:40;width:52px;height:52px;border-radius:50%;border:0;background:#C8A84B;color:#0B2355;font:800 22px Montserrat,sans-serif;cursor:pointer;box-shadow:0 6px 18px rgba(8,26,64,.3);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.lb-top.on{opacity:1;transform:none;pointer-events:auto}
.lb-top:focus-visible{outline:3px solid #0B2355;outline-offset:3px}
body.lbc-open .lb-top{display:none}

.lb-sticky{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(11,35,85,.97);box-shadow:0 2px 14px rgba(0,0,0,.25);transform:translateY(-110%);transition:transform .3s;color:#FFFFFF}
.lb-sticky.on{transform:none}
.lb-sticky .in{max-width:1280px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lb-sticky .brand{display:flex;align-items:center;gap:10px;color:#FFFFFF;text-decoration:none;font:800 16px Montserrat,sans-serif}
.lb-sticky .mark{width:36px;height:36px;background:#1B3B8A;border-bottom:3px solid #C8A84B;display:inline-flex;align-items:center;justify-content:center;font-size:14px;border-radius:2px}
.lb-sticky nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;font:600 14px Inter,sans-serif}
.lb-sticky nav a{color:#FFFFFF;text-decoration:none;padding:8px 0}
.lb-sticky nav a.cta{background:#C8A84B;color:#0B2355;padding:9px 16px;border-radius:2px}
.lb-sticky nav a:focus-visible,.lb-sticky .brand:focus-visible{outline:3px solid #C8A84B;outline-offset:2px}
@media (max-width:900px){.lb-sticky nav a:not(.cta){display:none}}
@media (prefers-reduced-motion:reduce){.lb-top,.lb-sticky{transition:none}}
@media print{.lbc-banner,.lb-top,.lb-sticky{display:none!important}}
