/* Shared contact surface. Existing measurement and consent own their behavior. */
.ninou-quick-contact {
	align-items: center;
	background: var(--wp--preset--color--brand-deep, #081126);
	box-sizing: border-box;
	color: var(--wp--preset--color--white, #fff);
	display: flex;
	gap: 1rem;
	justify-content: center;
	padding: 1rem;
}

.ninou-quick-contact[hidden] { display: none !important; }
.ninou-quick-contact__link {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: var(--ninou-radius-pill, 999px);
	color: inherit;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	min-block-size: 2.75rem;
	padding: .5rem 1.25rem;
	text-decoration: none;
}

.ninou-quick-contact__link:hover { text-decoration: underline; text-underline-offset: .2em; }
.ninou-quick-contact__link:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ninou-quick-contact-spacer { display: none; }
.ninou-campaign-form-access { margin-block: 1rem 1.25rem; }
[data-ninou-campaign-form-target] { scroll-margin-block-start: 6rem; }
[data-ninou-campaign-form-target]:focus { outline: 3px solid currentColor; outline-offset: 5px; }

@media (max-width: 900px) {
	.ninou-quick-contact {
		border-block-start: 1px solid var(--wp--preset--color--border-cool, #D9E0EA);
		gap: .75rem;
		inset-block-end: 0;
		inset-inline: 0;
		padding: .625rem max(.75rem, env(safe-area-inset-right)) calc(.625rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
		position: fixed;
		z-index: 90;
	}
	.ninou-quick-contact__link { box-sizing: border-box; flex: 1 1 0; min-inline-size: 0; }
	.ninou-quick-contact-spacer { display: block; block-size: calc(4.5rem + env(safe-area-inset-bottom)); }
	.ninou-quick-contact[hidden] + .ninou-quick-contact-spacer { display: none; }
	/* Immediate collision protection before the observer synchronizes. */
	body:has([data-ninou-consent-banner]:not([hidden])) .ninou-quick-contact,
	body:has([data-ninou-consent-dialog][open]) .ninou-quick-contact,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .ninou-quick-contact,
	body:has(input:not([type="hidden"]):focus, textarea:focus, select:focus, [contenteditable="true"]:focus) .ninou-quick-contact { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ninou-campaign-form-access .ninou-launch-button { transition: none; }
	html:focus-within { scroll-behavior: auto; }
}
