/* Hostmate Consent — stile del banner coerente con hostmate.it (blu #083B93, Manrope). */

#cc-main {
	--cc-font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--cc-modal-border-radius: 10px;
	--cc-btn-border-radius: 3px;
	--cc-modal-transition-duration: .25s;
	--cc-link-color: #083b93;
	--cc-modal-margin: 1rem;
	--cc-z-index: 2147483000;

	--cc-bg: #ffffff;
	--cc-primary-color: #101828;
	--cc-secondary-color: #475467;

	/* Accetta, Rifiuta e Personalizza hanno lo stesso peso visivo (linee guida Garante). */
	--cc-btn-primary-bg: #083b93;
	--cc-btn-primary-color: #ffffff;
	--cc-btn-primary-border-color: #083b93;
	--cc-btn-primary-hover-bg: #062c6f;
	--cc-btn-primary-hover-color: #ffffff;
	--cc-btn-primary-hover-border-color: #062c6f;

	--cc-btn-secondary-bg: #083b93;
	--cc-btn-secondary-color: #ffffff;
	--cc-btn-secondary-border-color: #083b93;
	--cc-btn-secondary-hover-bg: #062c6f;
	--cc-btn-secondary-hover-color: #ffffff;
	--cc-btn-secondary-hover-border-color: #062c6f;

	--cc-separator-border-color: #eaecf0;
	--cc-toggle-on-bg: #083b93;
	--cc-toggle-off-bg: #98a2b3;
	--cc-toggle-on-knob-bg: #ffffff;
	--cc-toggle-off-knob-bg: #ffffff;
	--cc-toggle-enabled-icon-color: #ffffff;
	--cc-toggle-disabled-icon-color: #ffffff;
	--cc-toggle-readonly-bg: #b8c4dd;
	--cc-toggle-readonly-knob-bg: #ffffff;
	--cc-toggle-readonly-knob-icon-color: #083b93;

	--cc-section-category-border: #eaecf0;
	--cc-cookie-category-block-bg: #f5f7fb;
	--cc-cookie-category-block-border: #eaecf0;
	--cc-cookie-category-block-hover-bg: #eef2fa;
	--cc-cookie-category-block-hover-border: #dbe3f3;
	--cc-cookie-category-expanded-block-bg: #ffffff;
	--cc-cookie-category-expanded-block-hover-bg: #f5f7fb;

	--cc-footer-bg: #f5f7fb;
	--cc-footer-color: #475467;
	--cc-footer-border-color: #eaecf0;
}

#cc-main .cm__title,
#cc-main .pm__title {
	font-weight: 800;
	letter-spacing: -.01em;
}

#cc-main .cm__desc,
#cc-main .pm__section-desc {
	line-height: 1.55;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
	font-weight: 700;
}

/* La X di chiusura resta nella posizione nativa della libreria, ma ben contrastata. */
#cc-main .cm__btn--close svg {
	stroke: #ffffff;
}

#cc-main .cm__btn--close:hover svg {
	stroke: #ffffff;
}

#cc-main .cm__footer a,
#cc-main .pm__section-desc a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Icona per riaprire le preferenze: sopra il selettore di lingua GTranslate, in basso a sinistra.
   Regole forti perché lo stile dei pulsanti del tema / Elementor non deve deformarla. */
button.hm-consent-float,
button.hm-consent-float:hover,
button.hm-consent-float:focus {
	position: fixed !important;
	left: 20px !important;
	right: auto !important;
	top: auto !important;
	bottom: 84px !important;
	z-index: 2147482000 !important;
	box-sizing: border-box !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #083b93 !important;
	color: #ffffff !important;
	line-height: 1 !important;
	font-size: 0 !important;
	box-shadow: 0 4px 14px rgba(16, 24, 40, .18) !important;
	cursor: pointer;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform .15s ease, background-color .15s ease;
}

button.hm-consent-float:hover,
button.hm-consent-float:focus-visible {
	background: #062c6f !important;
	transform: scale(1.06);
	outline: none;
}

button.hm-consent-float:focus-visible {
	box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px #083b93 !important;
}

button.hm-consent-float svg {
	width: 22px !important;
	height: 22px !important;
	display: block;
}

.hm-consent-open-modal button.hm-consent-float {
	display: none !important;
}

@media (max-width: 640px) {
	button.hm-consent-float,
	button.hm-consent-float:hover,
	button.hm-consent-float:focus {
		left: 12px !important;
		bottom: 76px !important;
		width: 40px !important;
		min-width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;
	}
}

/* Segnaposto per i contenuti di terze parti bloccati. */
.hm-embed-placeholder {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	min-height: 240px;
	padding: 24px;
	border: 1px solid #eaecf0;
	border-radius: 10px;
	background: #f5f7fb;
	color: #344054;
	font-family: Manrope, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	aspect-ratio: 16 / 9;
}

.hm-embed-placeholder--compact {
	min-height: 0;
	aspect-ratio: auto;
	gap: 10px;
	padding: 16px;
	font-size: 14px;
}

.hm-embed-placeholder p {
	max-width: 520px;
	margin: 0;
}

.hm-embed-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.hm-embed-placeholder .hm-embed-btn {
	padding: 10px 18px;
	border: 1px solid #083b93;
	border-radius: 3px;
	background: #083b93;
	color: #ffffff;
	font: 700 14px/1.2 Manrope, sans-serif;
	cursor: pointer;
}

.hm-embed-btn.hm-embed-accept {
	background: #ffffff;
	color: #083b93;
}

.hm-embed-btn:hover {
	background: #062c6f;
	border-color: #062c6f;
	color: #ffffff;
}

/* Tabelle della cookie policy. */
.hm-cookie-table-wrap {
	overflow-x: auto;
	margin: 0 0 28px;
}

.hm-cookie-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.45;
}

.hm-cookie-table th,
.hm-cookie-table td {
	padding: 10px 12px;
	border: 1px solid #eaecf0;
	text-align: left;
	vertical-align: top;
}

.hm-cookie-table th {
	background: #f5f7fb;
	color: #101828;
	font-weight: 700;
}

.hm-cookie-table code {
	font-size: 13px;
	word-break: break-word;
}

.hm-consent-test-badge {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2147483001;
	padding: 4px 12px;
	border-radius: 0 0 6px 6px;
	background: #f79009;
	color: #ffffff;
	font: 700 12px/1.4 Manrope, sans-serif;
	pointer-events: none;
}
