/* Pegaso Cookie – stile abbinato al tema pegaso2026 (Rubik, rosso #cb4a3a, scuro #2D2D2A, pulsanti a pillola). */

#pgc-banner, #pgc-modale, #pgc-riapri {
	--pgc-rosso: #cb4a3a;
	--pgc-rosso-80: rgba(203, 74, 58, 0.8);
	--pgc-scuro: #2D2D2A;
	--pgc-grigio: #f2f1ee;
	--pgc-bianco: #ffffff;
	font-family: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;
	box-sizing: border-box;
}
#pgc-banner *, #pgc-modale *, #pgc-riapri * { box-sizing: border-box; }
#pgc-banner[hidden], #pgc-modale[hidden], #pgc-riapri[hidden] { display: none !important; }

/* ---------- banner ---------- */

#pgc-banner {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 100000;
	padding: 0 16px 16px;
	pointer-events: none;   /* solo la scheda e' cliccabile: il sito resta usabile */
}
#pgc-banner .pgc-banner__box {
	position: relative;
	pointer-events: auto;
	max-width: 1180px;
	margin: 0 auto;
	background: var(--pgc-bianco);
	color: var(--pgc-scuro);
	border-top: 6px solid var(--pgc-rosso);
	border-radius: 0 0 24px 24px;
	box-shadow: 0 -2px 30px rgba(45, 45, 42, 0.18);
	padding: 28px 72px 28px 36px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	animation: pgc-sali .35s ease both;
}
@keyframes pgc-sali { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }

#pgc-banner .pgc-titolo, #pgc-modale .pgc-titolo {
	margin: 0 0 12px !important;
	font-size: 22px !important;
	line-height: 1.2 !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--pgc-scuro);
}
#pgc-banner .pgc-testo p {
	margin: 0 0 10px;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--pgc-scuro);
}
#pgc-banner .pgc-testo a, #pgc-modale .pgc-policy a {
	color: var(--pgc-rosso);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------- pulsanti (come .btn_pri / .btn_sec del tema) ---------- */

#pgc-banner .pgc-azioni, #pgc-modale .pgc-azioni {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}
#pgc-banner .pgc-btn, #pgc-modale .pgc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 28px;
	border: 2px solid var(--pgc-scuro);
	border-radius: 30px;
	background: transparent;
	color: var(--pgc-scuro);
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
#pgc-banner .pgc-btn--pri, #pgc-modale .pgc-btn--pri {
	background: var(--pgc-rosso);
	border-color: var(--pgc-rosso);
	color: var(--pgc-bianco);
}
#pgc-banner .pgc-btn--pri:hover, #pgc-modale .pgc-btn--pri:hover {
	background: var(--pgc-rosso-80);
	border-color: transparent;
}
#pgc-banner .pgc-btn--sec:hover, #pgc-modale .pgc-btn--sec:hover {
	background: var(--pgc-scuro);
	color: var(--pgc-bianco);
}
#pgc-banner .pgc-btn:focus-visible, #pgc-modale .pgc-btn:focus-visible,
#pgc-banner .pgc-x:focus-visible, #pgc-modale .pgc-x:focus-visible,
#pgc-riapri:focus-visible, #pgc-modale .pgc-switch input:focus-visible + .pgc-switch__pista {
	outline: 3px solid var(--pgc-rosso);
	outline-offset: 3px;
}

/* ---------- X di chiusura ---------- */

#pgc-banner .pgc-x, #pgc-modale .pgc-x {
	position: absolute;
	top: 16px; right: 16px;
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0;
	border: 2px solid var(--pgc-scuro);
	border-radius: 50%;
	background: var(--pgc-bianco);
	color: var(--pgc-scuro);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
#pgc-banner .pgc-x:hover, #pgc-modale .pgc-x:hover { background: var(--pgc-scuro); color: var(--pgc-bianco); }

/* ---------- pannello preferenze ---------- */

#pgc-modale {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
#pgc-modale .pgc-modale__sfondo {
	position: absolute; inset: 0;
	background: rgba(45, 45, 42, 0.55);
}
#pgc-modale .pgc-modale__box {
	position: relative;
	width: 100%;
	max-width: 640px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	background: var(--pgc-bianco);
	color: var(--pgc-scuro);
	border-top: 6px solid var(--pgc-rosso);
	border-radius: 0 0 24px 24px;
	padding: 32px 36px 28px;
	outline: none;
	animation: pgc-sali .25s ease both;
}
#pgc-modale .pgc-modale__box .pgc-titolo { padding-right: 56px; }
#pgc-modale .pgc-intro { margin: 0 0 18px; font-size: 15px; line-height: 1.5; color: var(--pgc-scuro); }

#pgc-modale .pgc-categorie { list-style: none; margin: 0; padding: 0; }
#pgc-modale .pgc-categoria {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px 0;
	border-top: 2px solid var(--pgc-rosso);
	margin: 0;
}
#pgc-modale .pgc-categoria:last-child { border-bottom: 2px solid var(--pgc-rosso); }
#pgc-modale .pgc-categoria__testo { flex: 1 1 auto; min-width: 0; }
#pgc-modale .pgc-categoria__nome {
	display: block;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pgc-scuro);
	margin-bottom: 4px;
}
#pgc-modale .pgc-categoria__desc { display: block; font-size: 14px; line-height: 1.45; color: var(--pgc-scuro); }
#pgc-modale .pgc-sempre {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pgc-rosso);
	white-space: nowrap;
}

/* interruttore */
#pgc-modale .pgc-switch { position: relative; flex: 0 0 auto; display: inline-block; width: 52px; height: 30px; cursor: pointer; margin: 0; }
#pgc-modale .pgc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
#pgc-modale .pgc-switch__pista {
	position: absolute; inset: 0;
	border: 2px solid var(--pgc-scuro);
	border-radius: 30px;
	background: var(--pgc-bianco);
	transition: background-color .2s ease, border-color .2s ease;
}
#pgc-modale .pgc-switch__pista::after {
	content: "";
	position: absolute;
	top: 3px; left: 3px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: var(--pgc-scuro);
	transition: transform .2s ease, background-color .2s ease;
}
#pgc-modale .pgc-switch input:checked + .pgc-switch__pista { background: var(--pgc-rosso); border-color: var(--pgc-rosso); }
#pgc-modale .pgc-switch input:checked + .pgc-switch__pista::after { transform: translateX(22px); background: var(--pgc-bianco); }

#pgc-modale .pgc-policy { margin: 16px 0 0; font-size: 14px; }

html.pgc-modale-aperta { overflow: hidden; }

/* ---------- pulsante fisso per riaprire le preferenze ---------- */

#pgc-riapri {
	position: fixed;
	left: 16px; bottom: 16px;
	z-index: 99999;
	width: 48px; height: 48px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0;
	border: 2px solid var(--pgc-bianco);
	border-radius: 50%;
	background: var(--pgc-scuro);
	color: var(--pgc-bianco);
	box-shadow: 0 4px 14px rgba(45, 45, 42, 0.3);
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease;
}
#pgc-riapri:hover { background: var(--pgc-rosso); transform: scale(1.06); }

/* ---------- mobile ---------- */

@media (max-width: 767.98px) {
	#pgc-banner { padding: 0; }
	#pgc-banner .pgc-banner__box {
		border-radius: 20px 20px 0 0;
		padding: 22px 16px 18px;
		max-height: 78vh;
	}
	#pgc-banner .pgc-titolo, #pgc-modale .pgc-titolo { font-size: 18px !important; padding-right: 52px; }
	#pgc-banner .pgc-testo p { font-size: 13.5px; line-height: 1.5; }
	#pgc-banner .pgc-x, #pgc-modale .pgc-x { top: 12px; right: 12px; width: 40px; height: 40px; }
	#pgc-banner .pgc-azioni, #pgc-modale .pgc-azioni { flex-direction: column; gap: 10px; margin-top: 14px; }
	#pgc-banner .pgc-btn, #pgc-modale .pgc-btn { width: 100%; font-size: 14px; padding: 10px 16px; }
	#pgc-modale { padding: 0; align-items: flex-end; }
	#pgc-modale .pgc-modale__box { border-radius: 20px 20px 0 0; max-height: 92vh; padding: 24px 16px 18px; }
	#pgc-modale .pgc-categoria { gap: 14px; }
	#pgc-riapri { left: 12px; bottom: 12px; width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
	#pgc-banner .pgc-banner__box, #pgc-modale .pgc-modale__box { animation: none; }
}
