/* Banner cookie: stessa resa del tema «block» di com_gdpr (barra nera in basso, pulsanti chiaro/scuro) */
.ff-consenso { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000; background: #000; color: #fff; font: 15px/1.45 Montserrat, system-ui, sans-serif; box-shadow: 0 -4px 20px rgba(0, 0, 0, .25); }
.ff-consenso[hidden], .ff-consenso [hidden] { display: none !important; }
.ff-consenso a { color: #fff; text-decoration: underline; margin-right: 8px; }
.ff-consenso-barra { display: flex; align-items: center; gap: 20px; padding: 14px 28px; max-width: 1400px; margin: 0 auto; }
.ff-consenso-testo { margin: 0; flex: 1; }
.ff-consenso-bottoni { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ff-consenso-btn { font: 600 14px Montserrat, system-ui, sans-serif; padding: 7px 18px; border: 2px solid #fff; background: #fff; color: #000; cursor: pointer; }
.ff-consenso-rifiuta { background: #333; color: #fff; }
.ff-consenso-link { background: none; border-color: transparent; color: #fff; text-decoration: underline; padding-left: 6px; padding-right: 6px; }
.ff-consenso-pannello { max-width: 720px; margin: 0 auto; padding: 18px 24px 20px; }
.ff-consenso-titolo { font-weight: 700; font-size: 17px; margin: 0 0 10px; }
.ff-consenso-cat { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .15); cursor: pointer; }
.ff-consenso-cat input { margin-top: 4px; width: 18px; height: 18px; accent-color: #b14147; flex: none; }
.ff-consenso-cat small { opacity: .8; }
.ff-consenso-pannello .ff-consenso-bottoni { justify-content: flex-end; margin-top: 12px; }
.ff-consenso-riapri { position: fixed; left: 14px; bottom: 14px; z-index: 9990; background: #fff; color: #b14147; border: 1px solid #e8cbd3; border-radius: 30px;
    padding: 6px 14px; font: 600 12px Montserrat, system-ui, sans-serif; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); cursor: pointer; }
.ff-consenso-riapri[hidden] { display: none; }
@media (max-width: 767px) {
    .ff-consenso-barra { flex-direction: column; align-items: stretch; padding: 14px 16px; gap: 12px; font-size: 14px; }
    .ff-consenso-bottoni { justify-content: center; }
    .ff-consenso-barra .ff-consenso-btn:not(.ff-consenso-link) { flex: 1; }
}

/* segnaposto dei contenuti esterni bloccati */
.ff-esterno { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 220px; padding: 20px; text-align: center;
    background: #f4f1f2; border: 1px dashed #d8b8c0; border-radius: 12px; color: #555; font-size: 14px; }
.ff-esterno p { margin: 0; }
.ffr-vg img[data-src-esterni] { background: #2b2b2b; }
