/***********************************************************
*   ██████  ██████   ██████  ██████  ██████  ███████
*   ██   ██ ██   ██ ██      ██    ██ ██   ██ ██
*   ██████  ██████  ██      ██    ██ ██   ██ █████
*   ██   ██ ██   ██ ██      ██    ██ ██   ██ ██
*   ██   ██ ██████   ██████  ██████  ██████  ███████
*
************************************************************
* Copyright (C) 2007-2026 Renato Brunetti - Tutti i diritti riservati
* Nome file   : rbConsent.css
* Descrizione : Stili self-hosted dell'interfaccia rbConsent.
* Autore      : Renato Brunetti
* Sito web    : https://www.renato-brunetti.it
* E-mail      : sviluppo@oceweb.it
************************************************************
* Data creazione: 25/07/2026
* Data modifica : 19/08/2026
***********************************************************/
:root {
    --rbc-font-family: Arial, Helvetica, "Helvetica Neue", sans-serif;
    --rbc-font-size: 0.9rem;
    --rbc-text: #172033;
    --rbc-muted: #4b5563;
    --rbc-surface: #ffffff;
    --rbc-border: #cbd5e1;
    --rbc-accent: #2457d6;
    --rbc-accent-contrast: #ffffff;
    --rbc-danger: #a61b1b;
    --rbc-radius: 0px;
    --rbc-shadow: 0 18px 45px rgb(15 23 42 / 22%);
    --rbc-overlay: rgb(38 99 235 / 18%);
    --rbc-soft-border: #e2e8f0;
    --rbc-strong-border: #dbeafe;
    --rbc-success: #16803c;
    --rbc-notice-surface: color-mix(in srgb, var(--rbc-accent) 8%, var(--rbc-surface));
    --rbc-z-index: 2147483000;
    
    --rbc-max-width: 100%;
    --rbc-right: 0rem;
    --rbc-bottom: 0rem;
    --rbc-left: 0rem;
    --rbc-padding: 0.85rem;
}

[hidden] { display: none !important; }

.rbc-banner, .rbc-modale {
    box-sizing: border-box;
    color: var(--rbc-text);
    background: var(--rbc-surface);
    border: 1px solid var(--rbc-border);
    border-radius: var(--rbc-radius);
    box-shadow: var(--rbc-shadow);
    font-family: var(--rbc-font-family);
    font-size: var(--rbc-font-size);
    line-height: 1.5;
}

.rbc-banner {
    position: fixed;
    z-index: var(--rbc-z-index);
    right: var(--rbc-right);
    bottom: var(--rbc-bottom);
    left: var(--rbc-left);
    display: flex;
    align-items: center;
    gap: 1.5rem;
    max-width: var(--rbc-max-width);
    margin: auto;
    padding: var(--rbc-padding);
}
.rbc-testo-banner { flex: 1 1 auto; }
.rbc-banner > .rbc-azioni { flex: 0 0 auto; gap: .5rem; margin-top: 0; }
.rbc-testo-banner>.rbc-link { display: none; }

.rbc-modale {
    position: fixed;
    z-index: calc(var(--rbc-z-index) + 1);
    top: 50%;
    left: 50%;
    width: min(calc(100% - 2rem), 820px);
    max-height: calc(100vh - 3rem);
    padding: 1.75rem;
    overflow: auto;
    transform: translate(-50%, -50%);
}

.rbc-overlay { position: fixed; z-index: var(--rbc-z-index); inset: 0; background: var(--rbc-overlay); backdrop-filter: blur(1px); }

.rbc-titolo { margin: 0 0 .5rem; font-size: 1.2em; }
.rbc-testo { margin: 0 0 .75rem; }
.rbc-link { color: var(--rbc-accent); }
.rbc-link + .rbc-link { margin-left: .75rem; }
.rbc-introduzione { max-width: 46rem; margin: 0 2rem .65rem 0; color: var(--rbc-muted); }
.rbc-policy-links { margin: 0 0 1rem; font-weight: 600; }
.rbc-categorie-introduzione { margin: 0; padding: 1rem 0; border-top: 2px solid var(--rbc-strong-border); border-bottom: 1px solid var(--rbc-border); color: var(--rbc-muted); }
.rbc-azioni { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.rbc-modale > .rbc-azioni { position: sticky; bottom: -1.75rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; padding: 1rem 0; border-top: 1px solid var(--rbc-soft-border); background: var(--rbc-surface); }
.rbc-pulsante, .rbc-pulsante-icona { min-height: 2.75rem; padding: .6rem .9rem; border: 1px solid var(--rbc-accent); border-radius: .4rem; font: inherit; cursor: pointer; }
.rbc-pulsante-primario { color: var(--rbc-accent-contrast); background: var(--rbc-accent); }
.rbc-pulsante-secondario, .rbc-pulsante-icona { color: var(--rbc-text); background: var(--rbc-surface); }
.rbc-pulsante-icona { margin-left: auto; min-width: 2.75rem; font-size: 1.25rem; }
.rbc-riapri-preferenze { position: fixed; z-index: var(--rbc-z-index); bottom: 1rem; min-height: 2.75rem; border: 1px solid var(--rbc-accent); box-shadow: var(--rbc-shadow); font: inherit; cursor: pointer; }
.rbc-riapri-preferenze-floating-cookie, .rbc-riapri-preferenze-floating-cookie-right, .rbc-riapri-preferenze-bottom-right { right: 1rem; left: auto; }
.rbc-riapri-preferenze-floating-cookie-left, .rbc-riapri-preferenze-bottom-left { right: auto; left: 1rem; }
.rbc-riapri-preferenze-floating-cookie, .rbc-riapri-preferenze-floating-cookie-right, .rbc-riapri-preferenze-floating-cookie-left { width: 3.25rem; height: 3.25rem; padding: 0; border-radius: 50%; font-size: 1.35rem; line-height: 1; }
.rbc-riapri-preferenze-bottom-right, .rbc-riapri-preferenze-bottom-left { padding: .6rem .9rem; border-radius: var(--rbc-radius); color: var(--rbc-accent-contrast); background: var(--rbc-accent); }
.rbc-chiudi-modale { position: absolute; top: 1rem; right: 1rem; width: 2rem; height: 2rem; padding: 0; border: 0; color: var(--rbc-muted); background: transparent; font: 1.65rem/1 Arial, Helvetica, sans-serif; cursor: pointer; }
.rbc-pulsante:focus-visible, .rbc-pulsante-icona:focus-visible, .rbc-riapri-preferenze:focus-visible, .rbc-link:focus-visible, .rbc-switch:focus-visible { outline: 3px solid var(--rbc-accent); outline-offset: 2px; }
.rbc-chiudi-modale:focus-visible { outline: 3px solid var(--rbc-accent); outline-offset: 2px; }
.rbc-preferenze-contenuto > .rbc-titolo { margin-top: 1.25rem; color: var(--rbc-accent); font-size: 1.05rem; }
.rbc-riga { display: flex; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--rbc-soft-border); }
.rbc-categoria-contenuto { flex: 1; }
.rbc-etichetta { flex: 1; cursor: pointer; }
.rbc-dettaglio { margin: .35rem 0 0; color: var(--rbc-muted); font-size: .94em; }
.rbc-sempre-attivo { display: inline-block; margin-top: .35rem; color: var(--rbc-success); font-size: .86em; font-weight: 700; }
.rbc-switch { position: relative; flex: 0 0 auto; width: 2.75rem; height: 1.5rem; margin: 0; appearance: none; border: 1px solid var(--rbc-border); border-radius: 999px; background: var(--rbc-muted); cursor: pointer; transition: background-color .15s ease; }
.rbc-switch::after { position: absolute; top: .16rem; left: .16rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--rbc-surface); content: ""; transition: transform .15s ease; }
.rbc-switch:checked { border-color: var(--rbc-accent); background: var(--rbc-accent); }
.rbc-switch:checked::after { transform: translateX(1.2rem); }
.rbc-switch:disabled { cursor: not-allowed; opacity: .72; }
.rbc-avviso { padding: .75rem; border-left: 4px solid var(--rbc-accent); color: var(--rbc-muted); background: var(--rbc-notice-surface); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (max-width: 560px) {
    .rbc-banner { flex-direction: column; align-items: stretch; gap: 1rem; }
    .rbc-banner > .rbc-azioni { flex-wrap: wrap; margin-top: .5rem; }
    .rbc-modale { width: calc(100% - 1rem); max-height: calc(100vh - 1rem); padding: 1.25rem; }
    .rbc-modale > .rbc-azioni { bottom: -1.25rem; grid-template-columns: 1fr; }
}
