/* Artwork Cookie Consent — dark, mobile-first */
.acc-hidden { display: none !important; }

#acc-banner {
	position: fixed; z-index: 2147483000;
	background: #121212; color: #fff;
	font-family: "Graphik", sans-serif;
}
@keyframes acc-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes acc-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* Layout: striscia larga in basso */
#acc-banner.acc-banner--bar { left: 0; right: 0; bottom: 0; border-top: 1px solid #262626; animation: acc-up .3s ease; }
#acc-banner.acc-banner--bar .acc-banner__body { max-width: 1224px; margin: 0 auto; padding: 14px 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 30px; row-gap: 3px; }
#acc-banner.acc-banner--bar .acc-banner__head { grid-column: 1; grid-row: 1; margin: 0; }
#acc-banner.acc-banner--bar .acc-banner__text { grid-column: 1; grid-row: 2; font-size: 12px; }
#acc-banner.acc-banner--bar .acc-banner__actions { grid-column: 2; grid-row: 1 / 3; align-self: center; flex-direction: row; margin: 0; }

/* Layout: box flottante (destra/sinistra) */
#acc-banner.acc-banner--box {
	bottom: 26px; width: min(390px, calc(100vw - 36px));
	border: 1px solid #2a2a2a; border-radius: 18px;
	box-shadow: 0 26px 70px -24px rgba(0,0,0,.6);
	animation: acc-in .4s cubic-bezier(.16,1,.3,1);
}
#acc-banner.acc-banner--right { right: 26px; }
#acc-banner.acc-banner--left  { left: 26px; }
#acc-banner.acc-banner--box .acc-banner__body { padding: 24px 24px 22px; }
#acc-banner.acc-banner--box .acc-banner__actions { flex-direction: column; align-items: stretch; margin-top: 18px; }
#acc-banner.acc-banner--box .acc-banner__main .acc-btn { flex: 1 1 0; text-align: center; }

/* Elementi comuni — raffinati */
.acc-banner__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.acc-banner__head svg { width: 22px; height: 22px; flex: 0 0 auto; color: #fff; }
.acc-banner__title { font-size: 14px; font-weight: 400; letter-spacing: .2px; }
.acc-banner__text { margin: 0; font-size: 11.5px; line-height: 1.7; color: #b7b7b7; }
.acc-banner__text a { color: #fff !important; text-decoration: underline; text-underline-offset: 2px; }
.acc-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.acc-banner__main { display: flex; gap: 8px; }
#acc-banner .acc-btn { font-size: 11px; padding: 11px 20px; }
#acc-banner .acc-btn--solid { background: #fff; color: #121212; border-color: #fff; }
#acc-banner .acc-btn--ghost { background: transparent; color: #fff; border-color: #3a3a3a; }
#acc-banner .acc-btn--link { border: 0; background: none; color: #8f8f8f; padding: 4px; text-decoration: underline; text-underline-offset: 3px; }
#acc-banner .acc-btn--link:hover { color: #fff; opacity: 1; }

.acc-btn {
	cursor: pointer; border-radius: 60px; padding: 11px 22px;
	font-family: "Graphik", sans-serif; font-size: 12.5px; font-weight: 300; letter-spacing: 0.5px; text-transform: uppercase;
	border: 1px solid #fff; transition: opacity .15s, background .15s, color .15s;
	line-height: 1; white-space: nowrap;
}
.acc-btn--solid { background: #fff; color: #121212; }
.acc-btn--ghost { background: transparent; color: #fff; }
.acc-btn:hover { opacity: .85; }

/* Modale preferenze */
#acc-modal {
	position: fixed; inset: 0; z-index: 2147483001;
	background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center;
	padding: 20px; font-family: "Graphik", sans-serif;
}
.acc-modal__panel {
	width: 100%; max-width: 480px; background: #121212; color: #fff;
	border: 1px solid #262626; border-radius: 12px; overflow: hidden;
}
.acc-modal__head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 18px 22px; border-bottom: 1px solid #1e1e1e; font-weight: bold; font-size: 15px;
}
.acc-modal__close { background: none; border: 0; color: #ababab; font-size: 26px; cursor: pointer; line-height: 1; }
.acc-modal__list { padding: 8px 22px; }
.acc-cat {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 14px 0; border-bottom: 1px solid #161616;
}
.acc-cat__info strong { font-size: 14px; }
.acc-cat__locked { font-size: 11px; color: #777; margin-left: auto; margin-right: 8px; }
/* Toggle a pillola bianca (sostituisce la checkbox nativa) */
.acc-cat input[type=checkbox],
.cmplz-manage-consent-container input[type=checkbox] {
	appearance: none; -webkit-appearance: none; margin: 0; box-sizing: border-box;
	width: 46px; height: 26px; border-radius: 26px; background: #EAEAEA;
	position: relative; cursor: pointer; flex: 0 0 auto;
	transition: background .2s ease, border-color .2s ease; border: 1px solid transparent;
}
.acc-cat input[type=checkbox]::after,
.cmplz-manage-consent-container input[type=checkbox]::after {
	content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px;
	border-radius: 50%; background: #121212; transition: transform .2s ease;
}
.acc-cat input[type=checkbox]:checked,
.cmplz-manage-consent-container input[type=checkbox]:checked { background: #fff; border-color: #121212; }
.acc-cat input[type=checkbox]:checked::after,
.cmplz-manage-consent-container input[type=checkbox]:checked::after { transform: translateX(20px); }
.acc-cat input[type=checkbox]:disabled { opacity: .55; cursor: default; }

/* Link sempre chiari su sfondo scuro (il tema li forzava scuri) */
#acc-banner a, #acc-modal a { color: #fff !important; text-decoration: underline; }
.acc-modal__actions { display: flex; gap: 10px; flex-wrap: wrap; padding: 18px 22px; border-top: 1px solid #1e1e1e; }
.acc-modal__actions .acc-btn { flex: 1 1 auto; text-align: center; }

/* Pulsante riapri */
#acc-reopen {
	position: fixed; left: 16px; bottom: 16px; z-index: 2147482999;
	width: 44px; height: 44px; border-radius: 50%; border: 1px solid #262626;
	background: #121212; color: #fff; cursor: pointer;
	display: flex; align-items: center; justify-content: center; padding: 0;
	transition: transform .28s ease, opacity .28s ease;
}
#acc-reopen svg { width: 22px; height: 22px; display: block; }
/* Nascosta mentre si scorre verso il basso, riappare risalendo */
#acc-reopen.acc-reopen--down { transform: translateY(90px); opacity: 0; pointer-events: none; }

/* Embed bloccato (click-to-load) */
.acc-embed-blocked {
	background: #111; color: #ccc; border: 1px dashed #333; border-radius: 10px;
	min-height: 220px; display: flex; align-items: center; justify-content: center; text-align: center;
	font-family: "Graphik", sans-serif;
}
.acc-embed-blocked__inner p { margin: 0 0 14px; font-size: 13px; color: #aaa; }

@media (max-width: 640px) {
	.acc-banner__body { padding: 16px; }
	.acc-banner__actions { width: 100%; }
	.acc-banner__actions .acc-btn { flex: 1 1 auto; text-align: center; }
}

/* ===== Cookie Policy: lista cookie impaginata a card ===== */
.cmplz-document details.cmplz-dropdown {
	border: 1px solid #e7e7e7; border-radius: 12px; margin: 16px 0; background: #fff; overflow: hidden;
}
.cmplz-document h3 {
    font-size: clamp(1.5rem, 1vw + 1rem, 1rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    font-weight: 800 !important;
		padding: 20px 0px 30px !important;
}
.cmplz-document h2 {
    font-size: clamp(1.5rem, 2vw + 1.5rem, 2rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
		padding: 20px 0px 30px !important;
}
.cmplz-document details.cmplz-dropdown > summary {
	position: relative; display: block; cursor: pointer; list-style: none;
	padding: 16px 52px 16px 20px; background: #f6f6f6;
}
.cmplz-document details.cmplz-dropdown[open] > summary { border-bottom: 1px solid #e7e7e7; }
.cmplz-document details.cmplz-dropdown > summary::-webkit-details-marker { display: none; }
.cmplz-document details.cmplz-dropdown > summary > div { margin: 0; }
/* il NOME (servizio cookie o sezione privacy) come titolo pulito dell'accordion */
.cmplz-document details.cmplz-dropdown > summary h3 {
	font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important;
	letter-spacing: -0.01em !important; padding: 0 !important; margin: 0 !important;
}
.cmplz-document details.cmplz-dropdown > summary p {
	margin: 5px 0 0 !important; padding: 0 !important;
	font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: #999;
}
/* toggle/label per-servizio residui di Complianz (non funzionali) → nascosti */
.cmplz-document details.cmplz-dropdown > summary label,
.cmplz-document details.cmplz-dropdown > summary input { display: none !important; }
/* freccia outline minimale a destra, ruota all'apertura */
.cmplz-document details.cmplz-dropdown > summary::after {
	content: ""; position: absolute; right: 20px; top: 50%; width: 9px; height: 9px;
	border-right: 1.6px solid #121212; border-bottom: 1.6px solid #121212;
	transform: translateY(-60%) rotate(45deg); transition: transform .25s ease;
}
.cmplz-document details.cmplz-dropdown[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
/* ---- corpo accordion: etichette piccole + valori leggibili, compatto ---- */
/* etichette: privacy = h3 figli diretti, cookie = h4 nei container */
.cmplz-document details.cmplz-dropdown > h3 {
	font-size: 10.5px !important; font-weight: 700 !important; text-transform: uppercase !important;
	letter-spacing: .6px !important; color: #9a9a9a !important; line-height: 1.3 !important;
	margin: 0 !important; padding: 15px 22px 3px !important;
}
.cmplz-document details.cmplz-dropdown .cmplz-service-description h4,
.cmplz-document details.cmplz-dropdown .cmplz-sharing-data h4 {
	font-size: 10.5px !important; font-weight: 700 !important; text-transform: uppercase !important;
	letter-spacing: .6px !important; color: #9a9a9a !important; margin: 0 !important; padding: 14px 0 3px !important;
}
/* valori (figli diretti privacy) */
.cmplz-document details.cmplz-dropdown > p { font-size: 13.5px; line-height: 1.55; color: #2a2a2a; margin: 0; padding: 0 22px; }
.cmplz-document details.cmplz-dropdown > a { display: inline-block; font-size: 13.5px; color: #121212; padding: 2px 22px 0; text-decoration: underline; text-underline-offset: 2px; }
.cmplz-document details.cmplz-dropdown > ul { margin: 4px 0 6px !important; padding: 0 22px 0 44px !important; list-style: disc; }
.cmplz-document details.cmplz-dropdown > ul li { font-size: 13.5px; line-height: 1.5; color: #2a2a2a; margin: 3px 0; }
/* container cookie (descrizione/condivisione) */
.cmplz-document details.cmplz-dropdown .cmplz-service-description,
.cmplz-document details.cmplz-dropdown .cmplz-sharing-data { padding: 0 22px; }
.cmplz-document details.cmplz-dropdown .cmplz-service-description p,
.cmplz-document details.cmplz-dropdown .cmplz-sharing-data p { font-size: 13px; line-height: 1.55; color: #333; margin: 0; }
/* respiro finale del corpo */
.cmplz-document details.cmplz-dropdown > *:last-child,
.cmplz-document details.cmplz-dropdown .cookies-per-purpose:last-child { margin-bottom: 16px; }
.cmplz-document details.cmplz-dropdown[open] { padding-bottom: 4px; }

.cmplz-document .cookies-per-purpose {
	display: grid; grid-template-columns: 130px 1fr; gap: 8px 18px; align-items: baseline;
	padding: 16px 18px; margin: 12px 18px; border: 1px solid #ececec; border-radius: 10px; background: #fafafa;
}
.cmplz-document .cookies-per-purpose .purpose { grid-column: 1 / -1; margin: 0 0 4px; }
.cmplz-document .cookies-per-purpose .purpose h4 {
	margin: 0 !important; display: inline-block; float: right;
	font-size: 11px !important; font-weight: 300 !important; letter-spacing: 0.5px !important;
}
.cmplz-document .name-header h5, .cmplz-document .retention-header h5, .cmplz-document .function-header h5 {
	margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: #999; font-weight: 700;
}
.cmplz-document .name, .cmplz-document .retention, .cmplz-document .function { font-size: 13.5px; color: #222; word-break: break-word; }
.cmplz-document .name { font-family: ui-monospace, Menlo, Consolas, monospace; }
.cmplz-document .name a { color: #121212; }
@media (max-width: 560px) {
	.cmplz-document .cookies-per-purpose { grid-template-columns: 1fr; gap: 2px 0; }
	.cmplz-document .name-header, .cmplz-document .retention-header, .cmplz-document .function-header { margin-top: 8px; }
}

/* ===== Box "Gestisci consenso" sulla pagina cookie (iniettato dal JS) ===== */
.acc-manage { border: 1px solid #e7e7e7; border-radius: 12px; padding: 8px 18px; background: #fff; margin: 12px 0; }
.acc-manage__row {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 14px 0; border-bottom: 1px solid #f0f0f0;
}
.acc-manage__row:last-of-type { border-bottom: 0; }
.acc-manage__row strong { font-size: 14px; }
.acc-manage__locked { font-size: 11px; color: #888; margin-left: auto; margin-right: 8px; }
.acc-manage__actions { display: flex; gap: 10px; flex-wrap: wrap; padding: 14px 0; }
/* I bottoni nel box su sfondo chiaro: invertiti rispetto al banner scuro */
.acc-manage .acc-btn { border-color: #121212; }
.acc-manage .acc-btn--solid { background: #121212; color: #fff; }
.acc-manage .acc-btn--ghost { background: transparent; color: #121212; }
