/* Li Castelli — consenso cookie. Colori e forme dalla tavola «banner e preferenze cookie». */
.lc-btn{font:inherit;font-weight:800;font-size:15px;min-height:48px;padding:0 20px;border-radius:999px;border:2px solid transparent;cursor:pointer;line-height:1;flex:1 1 0}
.lc-btn:focus-visible,.lc-prefs-link:focus-visible,.lc-sw input:focus-visible+span{outline:3px solid #1B63A8;outline-offset:2px}
.lc-btn--scuro{background:#0E2747;color:#fff}
.lc-btn--oro{background:#F2B50F;color:#0E2747}
.lc-btn--linea{background:transparent;color:#0E2747;border-color:#0E2747}
.lc-banner,.lc-modal{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#0E2747;box-sizing:border-box}
.lc-banner{position:fixed;z-index:99998;left:16px;bottom:16px;max-width:440px;width:calc(100% - 32px);background:#fff;border-radius:28px;padding:24px;box-shadow:0 8px 32px rgba(14,39,71,.18);display:flex;flex-direction:column;gap:14px}
.lc-banner[hidden],.lc-modal-bg[hidden]{display:none}
.lc-banner h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.lc-banner p{margin:0;font-size:14px;line-height:1.55;color:#22344D}
.lc-banner a,.lc-modal a{color:#1B63A8;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.lc-riga{display:flex;gap:10px}
.lc-modal-bg{position:fixed;inset:0;z-index:99999;background:rgba(14,39,71,.55);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.lc-modal{background:#fff;border-radius:32px;padding:32px;max-width:560px;width:100%;box-shadow:0 8px 32px rgba(14,39,71,.18);max-height:calc(100vh - 32px);overflow:auto}
.lc-modal__testa{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lc-modal h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}
.lc-chiudi{width:44px;height:44px;border-radius:999px;border:0;background:#F4F6FA;color:#0E2747;font-size:22px;font-weight:800;cursor:pointer;line-height:1}
.lc-modal__intro{margin:6px 0 10px;font-size:14px;line-height:1.55;color:#4A5B73}
.lc-cat{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:16px 0;border-top:1px solid #E6EBF3}
.lc-cat b{display:block;font-size:16px;font-weight:800}
.lc-cat small{display:block;font-size:14px;line-height:1.5;color:#4A5B73;margin-top:4px}
.lc-cat em{font-style:normal;font-size:12px;font-weight:700;color:#4A5B73}
.lc-sw{position:relative;flex:0 0 auto;width:48px;height:28px;display:inline-block}
.lc-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.lc-sw span{position:absolute;inset:0;border-radius:999px;background:#C9D3E2;transition:background .15s}
.lc-sw span::after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:999px;background:#fff;transition:left .15s}
.lc-sw input:checked+span{background:#1B63A8}
.lc-sw input:checked+span::after{left:22px}
.lc-sw input:disabled{cursor:not-allowed}.lc-sw input:disabled+span{opacity:.55}
.lc-modal .lc-riga{margin-top:14px;flex-wrap:wrap}
.lc-modal__link{font-size:13px;color:#4A5B73;margin-top:10px}
.lc-prefs-wrap{margin:0;padding:12px 16px;text-align:center;background:#0E2747}
.lc-prefs-link{background:none;border:0;color:#C9D3E2;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px;min-height:44px}
/* contenuti di terzi */
.lc-embed{position:relative;width:100%;max-width:720px;border-radius:28px;overflow:hidden;background:#0E2747;color:#fff;margin:1em 0}
.lc-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lc-embed__box{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;overflow:auto}
.lc-embed__t{margin:0;font-weight:800;font-size:18px;line-height:1.2}
.lc-embed__d{margin:0;font-size:14px;line-height:1.5;color:#C9D3E2;max-width:460px}
.lc-embed__b{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lc-embed .lc-btn{flex:0 0 auto}
.lc-embed .lc-btn--linea{color:#fff;border-color:#fff}
.lc-embed a{color:#F2B50F}
@media (max-width:520px){.lc-banner{left:8px;right:8px;bottom:8px;width:auto;max-width:none;padding:20px}.lc-modal{padding:22px;border-radius:28px}.lc-riga .lc-btn{padding:0 10px}}
@media (prefers-reduced-motion:reduce){.lc-sw span,.lc-sw span::after{transition:none}}
