/* ============================================================================
   GDPR — Cookie banner + pagina preferenze (OpenCloud, Fase 2 — 2026-05-28)
   Iniettato site-wide da injectCsrf(). Markup popolato da oc-cookie-consent.js.
   ========================================================================== */

#oc-cookie-banner[hidden] { display: none !important; }

/* --- barra in basso (prima visita) --- */
.oc-cookie-bar {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 2147483000;             /* sopra topbar sticky e modali leggere */
	background: #1B3B5F;
	color: #fff;
	box-shadow: 0 -4px 18px rgba(0,0,0,.28);
	padding: 16px 20px;
	font-size: .92rem;
	line-height: 1.5;
}
.oc-cookie-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 24px;
	align-items: center;
	justify-content: space-between;
}
.oc-cookie-text { flex: 1 1 440px; min-width: 280px; }
.oc-cookie-text h3 { font-size: 1.02rem; font-weight: 800; margin: 0 0 4px; color: #fff; }
.oc-cookie-text p  { margin: 0; color: #dfe6ef; }
.oc-cookie-text a  { color: #F4B400; text-decoration: underline; }

.oc-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.oc-cookie-btn {
	border: 0; border-radius: 6px;
	padding: 9px 16px;
	font-weight: 700; font-size: .9rem;
	cursor: pointer;
	font-family: inherit;
}
.oc-cookie-btn--accept { background: #F4B400; color: #1B3B5F; }
.oc-cookie-btn--reject { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); }
.oc-cookie-btn--prefs  { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.35); }
.oc-cookie-btn:hover   { filter: brightness(1.06); }
.oc-cookie-btn:focus-visible { outline: 2px solid #F4B400; outline-offset: 2px; }

/* --- pannello categorie (toggle) --- */
.oc-cookie-panel {
	flex-basis: 100%;
	margin-top: 8px;
	border-top: 1px solid rgba(255,255,255,.18);
	padding-top: 12px;
	display: none;
}
.oc-cookie-panel.is-open { display: block; }
.oc-cookie-cat { display: flex; align-items: flex-start; gap: 14px; padding: 9px 0; }
.oc-cookie-cat__info { flex: 1; }
.oc-cookie-cat__info strong { display: block; color: #fff; font-size: .95rem; }
.oc-cookie-cat__info span   { color: #cdd6e2; font-size: .84rem; }
.oc-cookie-cat__always { color: #F4B400; font-size: .8rem; font-weight: 700; white-space: nowrap; padding-top: 3px; }

/* interruttore */
.oc-cookie-switch { position: relative; width: 46px; height: 26px; flex: 0 0 auto; }
.oc-cookie-switch input { opacity: 0; width: 0; height: 0; }
.oc-cookie-slider {
	position: absolute; inset: 0;
	background: rgba(255,255,255,.28);
	border-radius: 26px; transition: .2s; cursor: pointer;
}
.oc-cookie-slider::before {
	content: ""; position: absolute;
	height: 20px; width: 20px; left: 3px; top: 3px;
	background: #fff; border-radius: 50%; transition: .2s;
}
.oc-cookie-switch input:checked + .oc-cookie-slider { background: #F4B400; }
.oc-cookie-switch input:checked + .oc-cookie-slider::before { transform: translateX(20px); }
.oc-cookie-switch input:disabled + .oc-cookie-slider { opacity: .55; cursor: not-allowed; }
.oc-cookie-switch input:focus-visible + .oc-cookie-slider { outline: 2px solid #F4B400; outline-offset: 2px; }

.oc-cookie-panel__actions { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; }

/* --- pannello preferenze dentro la oc-card (restyle 2026-05-28) ---
   Il layout (container/centratura) lo dà la oc-card di cookiePreferences.php;
   qui restano solo gli override di colore per sfondo chiaro. Titolo + intro
   sono renderizzati dal PHP nell'header sopra la card. */
.oc-cookie-prefs-page { color: #1B3B5F; }
.oc-cookie-prefs-page .oc-cookie-cat:first-child { padding-top: 0; }
.oc-cookie-prefs-page .oc-cookie-cat { border-bottom: 1px solid #e6ebf2; }
.oc-cookie-prefs-page .oc-cookie-cat:last-of-type { border-bottom: 0; }
.oc-cookie-prefs-page .oc-cookie-cat__info strong { color: #1B3B5F; }
.oc-cookie-prefs-page .oc-cookie-cat__info span   { color: #5a6b80; }
.oc-cookie-prefs-page .oc-cookie-cat__always { color: #b8860b; }
.oc-cookie-prefs-page .oc-cookie-slider { background: #cbd4e0; }
.oc-cookie-prefs-page .oc-cookie-switch input:checked + .oc-cookie-slider { background: #1B3B5F; }
.oc-cookie-prefs-page .oc-cookie-btn--accept { background: #1B3B5F; color: #fff; }
.oc-cookie-prefs-page .oc-cookie-saved { color: #1f8a4c; font-weight: 700; margin-top: 12px; display: none; }
.oc-cookie-prefs-page .oc-cookie-saved.is-show { display: block; }

@media (max-width: 640px) {
	.oc-cookie-actions { width: 100%; }
	.oc-cookie-actions .oc-cookie-btn { flex: 1 1 auto; }
}
