/* ============================================================
   FTBP — Tarteaucitron theme override
   Colori: design token FTBP (oklch, supporto browser moderni)
   ============================================================ */

/* ---------- Font ---------- */
#tarteaucitronRoot,
#tarteaucitronRoot * {
    font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif !important;
}

/* ---------- Banner principale (bottom bar) ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: oklch(0.18 0.018 60) !important;   /* ink */
    color: oklch(0.85 0.04 90) !important;          /* over */
    border-top: 2px solid oklch(0.42 0.08 155) !important; /* felt */
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -4px 24px oklch(0 0 0 / 0.35) !important;
    padding: 16px 0 !important;
}

#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList * {
    color: oklch(0.85 0.04 90) !important; /* over */
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: oklch(0.965 0.015 85) !important; /* cream */
}

/* Accetta tutto */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllCTA,
#tarteaucitronRoot button#tarteaucitronAllCTA,
#tarteaucitronRoot #tarteaucitronAcceptAllBtn {
    background: oklch(0.42 0.08 155) !important;    /* felt */
    color: oklch(0.965 0.015 85) !important;        /* cream */
    border-radius: 999px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    border: 0 !important;
    padding: 9px 20px !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllCTA:hover,
#tarteaucitronRoot #tarteaucitronAcceptAllBtn:hover {
    background: oklch(0.36 0.075 155) !important;   /* felt-2 */
}

/* Rifiuta tutto */
#tarteaucitronRoot #tarteaucitronDenyAllBtn,
#tarteaucitronRoot button#tarteaucitronDenyAllBtn {
    background: transparent !important;
    color: oklch(0.78 0.02 90) !important;           /* over-mute */
    border: 1px solid oklch(0.78 0.02 90 / 0.35) !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    padding: 9px 20px !important;
}
#tarteaucitronRoot #tarteaucitronDenyAllBtn:hover {
    border-color: oklch(0.85 0.04 90 / 0.5) !important;
    color: oklch(0.85 0.04 90) !important;
}

/* Personalizza */
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot button#tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot button#tarteaucitronPersonalize2 {
    background: transparent !important;
    color: oklch(0.78 0.02 90) !important;
    border: 1px solid oklch(0.78 0.02 90 / 0.35) !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    padding: 9px 20px !important;
}
#tarteaucitronRoot #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronPersonalize2:hover {
    border-color: oklch(0.85 0.04 90 / 0.5) !important;
    color: oklch(0.85 0.04 90) !important;
}

/* ---------- Tutti i pulsanti CTA generici ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog,
.tarteaucitronCTAButton,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
    background: oklch(0.42 0.08 155) !important;
    color: oklch(0.965 0.015 85) !important;
    border-radius: 4px !important;
    border: 0 !important;
}
#tarteaucitronRoot .tarteaucitronDeny {
    background: oklch(0.55 0.02 70) !important; /* mute */
    color: oklch(0.965 0.015 85) !important;
}

/* ---------- Pannello preferenze ---------- */
#tarteaucitronRoot div#tarteaucitron {
    background: oklch(0.98 0.008 85) !important; /* paper */
    color: oklch(0.18 0.018 60) !important;       /* ink */
    border: 1px solid oklch(0.86 0.012 80) !important; /* rule */
}

/* Intestazione pannello */
#tarteaucitronRoot div#tarteaucitron #tarteaucitronMainLineOffset {
    background: oklch(0.18 0.018 60) !important; /* ink */
    color: oklch(0.965 0.015 85) !important;
}

#tarteaucitronRoot div#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
    color: oklch(0.965 0.015 85) !important;
}

/* Riga servizio */
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: oklch(0.965 0.015 85) !important; /* cream */
    border-color: oklch(0.86 0.012 80) !important; /* rule */
}
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
    background: oklch(0.93 0.018 82) !important; /* cream-2 */
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a:hover,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName button {
    color: oklch(0.18 0.018 60) !important; /* ink */
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a:hover {
    color: oklch(0.42 0.08 155) !important; /* felt */
}

/* Stato attuale del servizio */
.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
    color: oklch(0.55 0.02 70) !important; /* mute */
}

/* Titoli categoria */
#tarteaucitronCookiesList .tarteaucitronH3.tarteaucitronTitle,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle {
    background: oklch(0.26 0.06 158) !important; /* felt-deep */
    color: oklch(0.965 0.015 85) !important;
}

/* Pulsante chiudi pannello */
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie {
    background: oklch(0.18 0.018 60) !important;
    color: oklch(0.965 0.015 85) !important;
}

/* ---------- Bordi / separatori nel pannello ---------- */
#tarteaucitron .tarteaucitronBorder,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronHidden,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    border-color: oklch(0.86 0.012 80) !important; /* rule */
}

/* ---------- Icona piccola (bottom right) ---------- */
#tarteaucitronRoot #tarteaucitronAlertSmall {
    background: oklch(0.42 0.08 155) !important;   /* felt */
    color: oklch(0.965 0.015 85) !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 12px oklch(0 0 0 / 0.3) !important;
}
#tarteaucitronRoot #tarteaucitronAlertSmall:hover {
    background: oklch(0.36 0.075 155) !important;
}

/* Testo icona */
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    background: oklch(0.78 0.165 88) !important;   /* hot */
    color: oklch(0.18 0.018 60) !important;
    border-radius: 999px !important;
}

/* ---------- Link "Privacy policy" / "Ulteriori informazioni" ---------- */
#tarteaucitronAlertBig a,
#tarteaucitronAlertBig strong a,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    color: oklch(0.78 0.165 88) !important; /* hot */
    text-decoration: underline !important;
}

/* ---------- Toggle permettere / negare per servizio ---------- */
.tarteaucitronIsAllowed .tarteaucitronAllow {
    background: oklch(0.42 0.08 155) !important; /* felt */
}
.tarteaucitronIsDenied .tarteaucitronDeny {
    background: oklch(0.55 0.02 70) !important;  /* mute */
}
