/**
 * Calendanse — dock global FAB v1.1.0
 * Positionnement : calendanse-fab-dock.js + repli CSS avant JS.
 */

:root {
	--cd-fab-dock-inset: 0px;
	--cd-fab-dock-gap: 14px;
	--cd-fab-dock-base: 16px;
	--cd-fab-dock-step: 58px;
	--cd-fab-dock-z-bar: 100040;
	--cd-fab-dock-z-toast: 100035;
	--cd-fab-dock-z-fab: 100030;
}

@media (min-width: 922px) {
	:root {
		--cd-fab-dock-gap: 16px;
		--cd-fab-dock-base: 24px;
		--cd-fab-dock-step: 60px;
	}
}

body.cd-fab-dock #cd-install-fab,
body.cd-fab-dock .cd-install-fab {
	display: none !important;
}

body.cd-fab-dock.cd-fab-dock-bar-active #page {
	padding-bottom: var(--cd-fab-dock-inset, 0px);
}

/* —— Repli CSS empilement gauche (GTranslate bas, aide au-dessus) —— */
body.cd-fab-dock .gtranslate_wrapper,
body.cd-fab-dock [id^="gt-wrapper-"],
body.cd-fab-dock #gt_float_wrapper {
	position: fixed !important;
	left: max(var(--cd-fab-dock-base), env(safe-area-inset-left, 0px)) !important;
	right: auto !important;
	bottom: max(
		calc(var(--cd-fab-dock-base) + var(--cd-fab-dock-inset, 0px)),
		env(safe-area-inset-bottom, 0px)
	) !important;
	top: auto !important;
	transform: none !important;
	z-index: var(--cd-fab-dock-z-fab) !important;
	min-height: 44px;
	min-width: 44px;
}

body.cd-fab-dock .cda-assistant__toggle {
	position: fixed !important;
	left: max(var(--cd-fab-dock-base), env(safe-area-inset-left, 0px)) !important;
	right: auto !important;
	bottom: max(
		calc(var(--cd-fab-dock-base) + var(--cd-fab-dock-inset, 0px) + var(--cd-fab-dock-step) + var(--cd-fab-dock-gap)),
		env(safe-area-inset-bottom, 0px)
	) !important;
	top: auto !important;
	transform: none !important;
	z-index: calc(var(--cd-fab-dock-z-fab) + 1) !important;
	min-height: 44px;
	min-width: 44px;
}

/**
 * GTranslate injecte .gt_switcher_wrapper en position:fixed; bottom:0 — cause chevauchement réel mobile.
 * Forcer le contenu dans le wrapper parent positionné par le dock.
 */
body.cd-fab-dock .gt_switcher_wrapper,
body.cd-fab-dock .gt_float_switcher,
body.cd-fab-dock #gt_float_wrapper .gt_float_switcher {
	position: static !important;
	bottom: auto !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	z-index: auto !important;
	width: auto !important;
	max-width: 100%;
}

body.cd-fab-dock .gtranslate_wrapper .gt_switcher,
body.cd-fab-dock [id^="gt-wrapper-"] .gt_switcher {
	position: relative !important;
}

/* —— Repli CSS pile droite —— */
body.cd-fab-dock #car-root {
	position: fixed !important;
	right: max(var(--cd-fab-dock-base), env(safe-area-inset-right, 0px)) !important;
	left: auto !important;
	bottom: max(
		calc(var(--cd-fab-dock-base) + var(--cd-fab-dock-inset, 0px)),
		env(safe-area-inset-bottom, 0px)
	) !important;
	top: auto !important;
	transform: none !important;
	z-index: var(--cd-fab-dock-z-fab) !important;
}

body.cd-fab-dock .cdl-global-live--float .cdl-global-live__fab,
body.cd-fab-dock #cdl-global-live-toggle.cdl-global-live__fab {
	position: fixed !important;
	right: max(var(--cd-fab-dock-base), env(safe-area-inset-right, 0px)) !important;
	left: auto !important;
	bottom: max(
		calc(var(--cd-fab-dock-base) + var(--cd-fab-dock-inset, 0px) + 52px + var(--cd-fab-dock-gap)),
		env(safe-area-inset-bottom, 0px)
	) !important;
	top: auto !important;
	transform: none !important;
	z-index: calc(var(--cd-fab-dock-z-fab) + 1) !important;
	min-width: 44px;
	min-height: 44px;
}

/* Prise de main sur global-live.css (body:has(#car-root) …) */
body.cd-fab-dock:has(#car-root) .cdl-global-live--float .cdl-global-live__fab,
body.cd-fab-dock.cd-mobile-fix:has(.cdspwa-android-bar:not([hidden])):has(#car-root) .cdl-global-live--float .cdl-global-live__fab {
	bottom: max(
		calc(var(--cd-fab-dock-base) + var(--cd-fab-dock-inset, 0px) + 52px + var(--cd-fab-dock-gap)),
		env(safe-area-inset-bottom, 0px)
	) !important;
}

body.cd-fab-dock #ast-scroll-top {
	z-index: calc(var(--cd-fab-dock-z-fab) + 2) !important;
	min-width: 44px;
	min-height: 44px;
}

body.cd-fab-dock .car-trigger {
	min-width: 44px;
	min-height: 44px;
	width: 52px;
	height: 52px;
}

body.cd-fab-dock.cd-fab-dock-debug .cd-fab-dock-managed::after {
	content: attr(data-cd-fab-dock-bottom);
	position: absolute;
	top: -10px;
	left: 0;
	font: 9px/1 monospace;
	color: #c00;
	background: #fff;
	padding: 1px 2px;
	pointer-events: none;
}

/* —— Barres bas —— */
body.cd-fab-dock .cdspwa-android-bar {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	top: auto !important;
	z-index: var(--cd-fab-dock-z-bar) !important;
	max-width: 100%;
	box-sizing: border-box;
}

body.cd-fab-dock .cdspwa-android-bar__inner {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

body.cd-fab-dock .cdspwa-android-bar__text {
	margin: 0;
	flex: none;
	font-size: 14px;
	line-height: 1.4;
}

body.cd-fab-dock .cdspwa-android-bar__actions {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.cd-fab-dock .cdspwa-android-bar__btn {
	width: 100%;
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 8px !important;
	font-size: 15px;
	font-weight: 600;
	white-space: normal;
	text-align: center;
	box-sizing: border-box;
}

body.cd-fab-dock .cdspwa-android-bar__btn--primary {
	background: #0a84ff !important;
	color: #fff !important;
}

body.cd-fab-dock .cdspwa-ios-hint {
	position: fixed !important;
	left: max(10px, env(safe-area-inset-left)) !important;
	right: max(10px, env(safe-area-inset-right)) !important;
	bottom: max(12px, env(safe-area-inset-bottom)) !important;
	z-index: calc(var(--cd-fab-dock-z-bar) - 1) !important;
}

body.cd-fab-dock .cd-compare-bar {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: calc(var(--cd-fab-dock-z-bar) - 2) !important;
}

body.cd-fab-dock .cdsp-presence-compact-toast {
	z-index: var(--cd-fab-dock-z-toast);
	max-width: min(22rem, calc(100vw - 2rem));
}

body.cd-fab-dock.ast-mobile-popup-open .cdspwa-android-bar {
	z-index: 99990 !important;
}

@media (max-width: 430px) {
	body.cd-fab-dock .cdspwa-android-bar {
		padding-left: max(10px, env(safe-area-inset-left));
		padding-right: max(10px, env(safe-area-inset-right));
	}
}

@media (max-width: 320px) {
	body.cd-fab-dock .cda-assistant__toggle-label {
		max-width: 5.5rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
