/* Floating contact button (marketing's option A, 2026-10-08): fixed bottom right on every
   Marble page, it opens two choices, WhatsApp or the contact form. Wine circle, white pills.
   Sits under the mobile menu and hides while it is open. Motion: transform and opacity only;
   the menu's visibility flips at the end of its fade so a closed menu takes no clicks. */
.mb-wa { position: fixed; z-index: 990; inset-inline-end: max(var(--ms-space-4), env(safe-area-inset-right)); inset-block-end: max(var(--ms-space-4), env(safe-area-inset-bottom));
	display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; font-family: var(--ms-font-body); }
.mb-wa__btn { position: relative; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--ms-brand); color: var(--ms-on-dark); box-shadow: var(--ms-shadow-card); transition: transform var(--ms-dur-micro) var(--ms-ease); }
.mb-wa__btn:hover { transform: translateY(-2px); }
.mb-wa__btn:focus-visible { outline: 2px solid var(--ms-brand); outline-offset: 3px; }
/* Block, not inline: an inline svg sits on the text baseline and its span grows by the line's descent, lifting the icon off centre. */
.mb-wa__btn svg { display: block; width: 1.6rem; height: 1.6rem; }
.mb-wa__btn .mb-wa__x { display: none; }
.mb-wa.is-open .mb-wa__btn .mb-wa__x { display: block; }
.mb-wa.is-open .mb-wa__btn .mb-wa__ico { display: none; }
.mb-wa__menu { display: flex; flex-direction: column; align-items: flex-end; gap: 0.5rem; margin: 0; padding: 0; list-style: none;
	opacity: 0; transform: translateY(0.5rem); visibility: hidden; transition: opacity var(--ms-dur-micro) var(--ms-ease), transform var(--ms-dur-micro) var(--ms-ease), visibility 0s linear var(--ms-dur-micro); }
.mb-wa.is-open .mb-wa__menu { opacity: 1; transform: none; visibility: visible; transition: opacity var(--ms-dur-micro) var(--ms-ease), transform var(--ms-dur-micro) var(--ms-ease); }
.mb-wa__opt { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 2.75rem; padding: 0 1.15rem 0 0.95rem; border-radius: var(--ms-radius-pill); text-decoration: none;
	background: var(--ms-surface); color: var(--ms-brand-deep); font-size: 0.95rem; font-weight: 500; white-space: nowrap; box-shadow: var(--ms-shadow-card);
	border: 1px solid var(--ms-line); transition: transform var(--ms-dur-micro) var(--ms-ease); }
.mb-wa__opt:hover { transform: translateX(-2px); }
.mb-wa__opt:focus-visible { outline: 2px solid var(--ms-brand); outline-offset: 3px; }
.mb-wa__opt svg { width: 1.15rem; height: 1.15rem; flex: none; }
/* token-exempt: WhatsApp's own logo green, a third-party mark; the brand has no green. */
.mb-wa__opt--wa svg { color: #1f7a4c; }
.mb-wa__sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html.mn-lock .mb-wa { visibility: hidden; }
@media (max-width: 40rem) { .mb-wa__btn { width: 3.25rem; height: 3.25rem; } }
@media (prefers-reduced-motion: reduce) { .mb-wa__btn, .mb-wa__menu, .mb-wa__opt { transition: none; } }
