/* ============================================================
   CSS del sito (modificabile dall'Editor sito → CSS, con backup)
   ============================================================ */
:root{
  --site-primary:#2563eb;
}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1e293b}
.site-main{min-height:60vh}
body{overflow-x:hidden}
/* blocco a tutta larghezza anche dentro un container */
.cms-block-full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.navbar-brand img{object-fit:contain}

/* Menu dropdown (sotto-menu) */
.navbar-nav .dropdown-menu{margin-top:0}
/* voce-padre con link reale: testo cliccabile + freccia separata */
.navbar-nav .nav-item.nav-has-link{display:flex;align-items:center}
.navbar-nav .nav-caret{padding-left:.15rem;padding-right:.5rem}

/* Slider/carousel */
.carousel-item img{max-height:560px;object-fit:cover}

/* Articoli */
.post-content img{max-width:100%;height:auto;border-radius:.5rem}
.post-content h2,.post-content h3{margin-top:1.5rem}

/* Footer menu inline */
.footer-menu ul{list-style:none;display:flex;gap:1rem;margin:0;padding:0}
.footer-menu a{color:#cbd5e1;text-decoration:none}
.footer-menu a:hover{color:#fff}

/* ===== Consent Manager GDPR ===== */
.cc-banner{position:fixed;z-index:2000;background:#fff;color:#0f172a;box-shadow:0 10px 40px -8px rgba(0,0,0,.3);border:1px solid #e5e7eb}
.cc-banner[hidden]{display:none}
.cc-banner .cc-inner{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.cc-title{font-size:1.05rem;font-weight:700;margin:0 0 .35rem}
.cc-text{margin:0;font-size:.9rem;color:#475569;line-height:1.5}
.cc-link{color:#2563eb;text-decoration:underline;margin-left:.25rem}
.cc-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cc-actions .btn{font-size:.88rem}
/* posizioni */
.cc-bar{left:0;right:0;bottom:0;padding:1.1rem 1.5rem}
.cc-bar .cc-inner{justify-content:space-between;max-width:1200px;margin:0 auto}
.cc-box{right:20px;bottom:20px;max-width:420px;border-radius:16px;padding:1.25rem}
.cc-box .cc-inner{flex-direction:column;align-items:stretch}
.cc-box .cc-actions{margin-top:.25rem}
.cc-center{left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);max-width:460px;border-radius:16px;padding:1.5rem}
.cc-center .cc-inner{flex-direction:column;align-items:stretch}

/* modale preferenze */
.cc-modal{position:fixed;inset:0;z-index:2001;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.cc-modal[hidden]{display:none}
.cc-modal-card{background:#fff;border-radius:18px;max-width:540px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 30px 70px -20px rgba(0,0,0,.5)}
.cc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.35rem;border-bottom:1px solid #eef0f4}
.cc-modal-body{padding:1.1rem 1.35rem;overflow:auto}
.cc-modal-foot{padding:1rem 1.35rem;border-top:1px solid #eef0f4;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.cc-x{border:none;background:none;font-size:1.6rem;line-height:1;color:#94a3b8;cursor:pointer}
.cc-cat{padding:.9rem 0;border-bottom:1px solid #f1f3f7}
.cc-cat:last-child{border-bottom:none}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cc-cat-name{font-weight:650}
.cc-cat-desc{margin:.35rem 0 0;font-size:.85rem;color:#64748b;line-height:1.5}
.cc-always{font-size:.78rem;font-weight:600;color:#16a34a;background:#dcfce7;padding:.2rem .6rem;border-radius:20px;white-space:nowrap}
/* switch */
.cc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto}
.cc-switch input{opacity:0;width:0;height:0}
.cc-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:30px;transition:.2s}
.cc-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.cc-switch input:checked+.cc-slider{background:#2563eb}
.cc-switch input:checked+.cc-slider::before{transform:translateX(20px)}
.cc-switch input:focus-visible+.cc-slider{box-shadow:0 0 0 3px rgba(37,99,235,.35)}
/* pulsante riapri + link footer */
.cc-reopen{position:fixed;left:18px;bottom:18px;z-index:1900;width:46px;height:46px;border-radius:50%;border:none;background:#0f172a;color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:0 8px 20px -6px rgba(0,0,0,.5);opacity:.85;transition:.15s}
.cc-reopen:hover{opacity:1;transform:translateY(-2px)}
.cc-footer-link{color:#cbd5e1;text-decoration:none;cursor:pointer}
.cc-footer-link:hover{color:#fff;text-decoration:underline}
@media (max-width:575.98px){
  .cc-box,.cc-center{left:10px;right:10px;bottom:10px;max-width:none;transform:none;top:auto}
  .cc-actions .btn{flex:1}
}
