/**
 * Optimum Transfert : bandeau de consentement aux cookies.
 * Couleurs et typographies reprises du kit Elementor (variables globales).
 */

.optr-consent {
	position: fixed;
	bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	left: 20px;
	z-index: 9995;
	box-sizing: border-box;
	width: min(440px, calc(100vw - 40px));
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding: 24px;
	border: 1px solid #e3eaf3;
	border-top: 3px solid var(--e-global-color-e9a1b7c, #f4a91f);
	background: var(--e-global-color-c0f5a1e, #fff);
	box-shadow: 0 24px 60px -24px rgba(0, 32, 72, 0.45);
	color: var(--e-global-color-text, #031844);
	font-family: var(--e-global-typography-text-font-family, "Didact Gothic"), sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

.optr-consent[hidden] {
	display: none;
}

.optr-consent__title {
	margin: 0 0 8px;
	color: var(--e-global-color-primary, #002048);
	font-family: var(--e-global-typography-primary-font-family, "Fraunces"), serif;
	font-size: 19px;
	font-weight: var(--e-global-typography-primary-font-weight, 600);
	line-height: 1.3;
}

.optr-consent__text {
	margin: 0;
}

.optr-consent a {
	color: var(--e-global-color-primary, #002048);
	text-decoration: underline;
}

.optr-consent__choices {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}

.optr-consent__choices[hidden] {
	display: none;
}

.optr-consent__choice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	cursor: pointer;
}

.optr-consent__choice input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--e-global-color-primary, #002048);
}

.optr-consent__choice strong {
	display: block;
	color: var(--e-global-color-primary, #002048);
	font-weight: 400;
}

.optr-consent__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 18px;
}

.optr-consent .optr-consent__button--wide {
	grid-column: 1 / -1;
}

.optr-consent .optr-consent__link {
	grid-column: 1 / -1;
	justify-self: center;
	margin: 2px 0 0;
	padding: 6px 4px;
	border: 0;
	background: none;
	color: var(--e-global-color-primary, #002048);
	font: inherit;
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
}

.optr-consent .optr-consent__link[hidden] {
	display: none;
}

.optr-consent .optr-consent__link:hover,
.optr-consent .optr-consent__link:focus-visible {
	background: none;
	color: var(--e-global-color-secondary, #50b8f8);
}

.optr-consent .optr-consent__button {
	min-height: 44px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--e-global-color-primary, #002048);
	border-radius: 0;
	background: linear-gradient(180deg, var(--e-global-color-d8e2f4a, #ffdb6e), var(--e-global-color-e9a1b7c, #f4a91f));
	color: var(--e-global-color-primary, #002048);
	font: inherit;
	font-size: 15px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.optr-consent .optr-consent__button[hidden] {
	display: none;
}

.optr-consent .optr-consent__button--ghost {
	background: transparent;
}

.optr-consent .optr-consent__button:hover,
.optr-consent .optr-consent__button:focus-visible {
	background: var(--e-global-color-primary, #002048);
	color: var(--e-global-color-c0f5a1e, #fff);
}

.optr-consent .optr-consent__button:focus-visible {
	outline: 2px solid var(--e-global-color-secondary, #50b8f8);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.optr-consent {
		right: 12px;
		bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		left: 12px;
		width: auto;
		padding: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.optr-consent .optr-consent__button {
		transition: none;
	}
}
