/* CTA flottant : toast desktop (bas gauche) + bouton mobile header */

.sobery-prequalify-cta {
	--sobery-cta-offset: max(1.5rem, env(safe-area-inset-left, 0px));
	--sobery-cta-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
	--sobery-cta-toast-tab-width: 2.5rem;
	position: fixed;
	left: var(--sobery-cta-offset);
	bottom: var(--sobery-cta-bottom);
	z-index: 85;
	pointer-events: none;
	display: none;
}

.sobery-prequalify-cta.is-hidden {
	opacity: 0;
	transform: translateY(12px) scale(0.96);
	pointer-events: none;
}

.sobery-prequalify-cta__toast-reopen,
.sobery-prequalify-cta__toast-panel,
.sobery-prequalify-cta__toast {
	pointer-events: auto;
	transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.sobery-prequalify-cta__toast-panel {
	display: contents;
}

.sobery-prequalify-cta__toast-reopen,
.sobery-prequalify-cta__toast-dismiss,
.sobery-prequalify-cta__toast {
	display: none;
}

/* --- Mobile : bouton dans le header --- */

.sobery-prequalify-cta__header-btn {
	max-width: 6.75rem;
	padding-inline: 0.75rem;
	font-size: 0.8125rem;
	white-space: nowrap;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.sobery-prequalify-cta__header-btn.is-hidden {
	opacity: 0;
	transform: scale(0.96);
	pointer-events: none;
}

/* --- Desktop : toast bas gauche --- */

@media (min-width: 768px) {
	.sobery-prequalify-cta {
		display: block;
		transition: left 0.35s cubic-bezier(0.32, 0.72, 0, 1);
	}

	.sobery-prequalify-cta__toast-panel {
		position: relative;
		display: block;
		max-width: min(22rem, calc(100vw - 2.5rem));
		overflow: hidden;
		animation: sobery-prequalify-toast-in 0.45s ease-out both;
	}

	.sobery-prequalify-cta.is-toast-collapsed {
		left: max(0px, env(safe-area-inset-left, 0px));
	}

	.sobery-prequalify-cta__toast-reopen {
		display: none;
		align-items: center;
		justify-content: center;
		position: absolute;
		left: 0;
		bottom: 0;
		width: var(--sobery-cta-toast-tab-width);
		height: 2.75rem;
		padding: 0;
		border: 0;
		border-radius: 0 0.75rem 0.75rem 0;
		background: var(--color-primary, #d98563);
		color: #fff;
		cursor: pointer;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	.sobery-prequalify-cta.is-toast-collapsed .sobery-prequalify-cta__toast-reopen {
		display: inline-flex;
		opacity: 1;
		visibility: visible;
	}

	.sobery-prequalify-cta__toast-reopen:hover,
	.sobery-prequalify-cta__toast-reopen:focus-visible {
		filter: brightness(0.96);
		outline: none;
		box-shadow:
			0 12px 28px rgba(0, 0, 0, 0.18),
			0 0 0 3px color-mix(in srgb, var(--color-primary, #d98563) 30%, transparent);
	}

	.sobery-prequalify-cta__toast-dismiss {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0.5rem;
		right: 0.5rem;
		width: 1.75rem;
		height: 1.75rem;
		padding: 0;
		border: 0;
		border-radius: 0.375rem;
		background: transparent;
		color: var(--color-neutral-grey, #6b7280);
		cursor: pointer;
		transition: color 0.15s ease, background-color 0.15s ease;
	}

	.sobery-prequalify-cta__toast-dismiss:hover,
	.sobery-prequalify-cta__toast-dismiss:focus-visible {
		color: var(--color-foreground, #1a1a1a);
		background: color-mix(in srgb, var(--color-neutral-light, #e5e7eb) 65%, transparent);
		outline: none;
	}

	.sobery-prequalify-cta__toast {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.875rem;
		position: relative;
		width: min(22rem, calc(100vw - 2.5rem));
		padding: 1.75rem 1.125rem 1rem;
		border-radius: 1rem;
		border: 1px solid var(--color-layer-line, #e5e7eb);
		background: color-mix(in srgb, var(--color-bg-main, #fff) 94%, transparent);
		box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
		backdrop-filter: blur(12px);
		transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.25s ease, visibility 0.25s ease;
	}

	.sobery-prequalify-cta__toast-panel {
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	.sobery-prequalify-cta.is-toast-collapsed .sobery-prequalify-cta__toast-panel {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.sobery-prequalify-cta.is-toast-collapsed .sobery-prequalify-cta__toast {
		transform: translateX(calc(-100% - 0.75rem));
	}

	.sobery-prequalify-cta__toast-text {
		margin: 0;
		padding-right: 1.25rem;
		font-size: 0.9375rem;
		line-height: 1.45;
		font-weight: 600;
		color: var(--color-foreground, #1a1a1a);
	}

	.sobery-prequalify-cta__toast-btn {
		width: 100%;
		justify-content: center;
	}
}

@keyframes sobery-prequalify-toast-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sobery-prequalify-cta__header-btn {
		transition: none;
	}

	.sobery-prequalify-cta__toast-panel,
	.sobery-prequalify-cta__toast {
		animation: none;
		transition: none;
	}
}
