/* My Business v1.10.1 - floating "Share Your Love" button. Loaded only where it shows.
   Opens with a native <details>, so it works even if JavaScript is delayed or blocked. */
.mb-share {
	--mb-share-accent: #e0245e;
	position: fixed; z-index: 2147483000; margin: 0; padding: 0; box-sizing: border-box;
	font-family: inherit; font-size: 14px; line-height: 1.2; letter-spacing: normal; text-transform: none;
}
.mb-share *, .mb-share *::before, .mb-share *::after { box-sizing: border-box; }
.mb-share-box { position: relative; display: block; margin: 0; padding: 0; border: 0; background: none; }

/* ---- positions ---- */
.mb-share-left-center  { left: 0;  top: 50%; transform: translateY(-50%); }
.mb-share-right-center { right: 0; top: 50%; transform: translateY(-50%); }
.mb-share-bottom-left  { left: 16px;  bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
.mb-share-bottom-right { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }

/* ---- the button (a <summary>) ---- */
.mb-share-toggle {
	display: flex; width: max-content; align-items: center; justify-content: center; gap: 8px;
	margin: 0; padding: 0 16px; min-height: 44px; list-style: none; cursor: pointer;
	background: var(--mb-share-accent); color: #fff; border: 0; border-radius: 22px;
	font: inherit; font-weight: 600; letter-spacing: .02em; white-space: nowrap;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25); user-select: none; -webkit-tap-highlight-color: transparent;
	transition: box-shadow .15s ease, filter .15s ease;
}
.mb-share-toggle::-webkit-details-marker { display: none; }
.mb-share-toggle::marker { content: ''; }
.mb-share-toggle:hover { filter: brightness(1.08); box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.mb-share-toggle:focus-visible, .mb-share-item:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }
.mb-share-toggle .mb-share-icon { width: 18px; height: 18px; flex: none; transition: transform .2s ease; }
.mb-share-box[open] > .mb-share-toggle .mb-share-icon { transform: scale(1.2); }

/* Side positions: a slim vertical tab on the screen edge, text running top-to-bottom. */
.mb-share-left-center .mb-share-toggle,
.mb-share-right-center .mb-share-toggle {
	writing-mode: vertical-rl; text-orientation: mixed;
	width: 42px; min-height: 0; padding: 16px 0; gap: 10px; /* in vertical writing mode the flex row runs top-to-bottom */
}
.mb-share-left-center .mb-share-toggle  { border-radius: 0 14px 14px 0; }
.mb-share-right-center .mb-share-toggle { border-radius: 14px 0 0 14px; }
/* Left tab reads bottom-to-top (the usual convention); keep the heart on top and upright. */
.mb-share-left-center .mb-share-toggle { transform: rotate(180deg); flex-direction: row-reverse; }
.mb-share-left-center .mb-share-toggle .mb-share-icon { transform: rotate(180deg); }
.mb-share-left-center .mb-share-box[open] > .mb-share-toggle .mb-share-icon { transform: rotate(180deg) scale(1.2); }

/* ---- the icon panel ---- */
.mb-share-panel {
	position: absolute; z-index: 1; list-style: none; margin: 0; padding: 8px;
	display: flex; flex-direction: column; gap: 8px; overflow-y: auto; overscroll-behavior: contain;
	background: #fff; border-radius: 26px; box-shadow: 0 6px 22px rgba(0, 0, 0, .22);
	animation: mb-share-in .18s ease-out;
}
.mb-share-left-center .mb-share-panel,
.mb-share-right-center .mb-share-panel { top: 50%; max-height: calc(100vh - 24px); margin-top: 0; }
.mb-share-left-center .mb-share-panel  { left: calc(100% + 8px);  translate: 0 -50%; }
.mb-share-right-center .mb-share-panel { right: calc(100% + 8px); translate: 0 -50%; }
.mb-share-bottom-left .mb-share-panel,
.mb-share-bottom-right .mb-share-panel { bottom: calc(100% + 8px); max-height: calc(100vh - 110px); }
.mb-share-bottom-left .mb-share-panel  { left: 0; }
.mb-share-bottom-right .mb-share-panel { right: 0; }
.mb-share-panel li { margin: 0; padding: 0; list-style: none; }
.mb-share-panel li::before, .mb-share-panel li::marker { content: none; }

.mb-share-item {
	display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: #444; color: #fff; cursor: pointer; text-decoration: none; box-shadow: none;
	transition: transform .12s ease, filter .12s ease;
}
.mb-share-item:hover { transform: scale(1.1); filter: brightness(1.1); color: #fff; }
.mb-share-item .mb-share-icon { width: 20px; height: 20px; }
.mb-share-whatsapp  { background: #25d366; }
.mb-share-facebook  { background: #1877f2; }
.mb-share-x         { background: #000; }
.mb-share-linkedin  { background: #0a66c2; }
.mb-share-telegram  { background: #229ed9; }
.mb-share-pinterest { background: #e60023; }
.mb-share-reddit    { background: #ff4500; }
.mb-share-instagram { background: linear-gradient(45deg, #f9a02b, #e1306c 55%, #7b3fe4); }
.mb-share-email     { background: #5f6368; }
.mb-share-copy      { background: #3b6cd4; }

/* ---- confirmation toast ---- */
.mb-share-toast {
	position: absolute; top: 100%; left: 0; margin-top: 8px; width: max-content; max-width: 240px; padding: 8px 12px;
	background: #1d2327; color: #fff; font-size: 13px; line-height: 1.3; border-radius: 6px;
	opacity: 0; pointer-events: none; transition: opacity .2s ease; white-space: normal;
}
.mb-share-right-center .mb-share-toast, .mb-share-bottom-right .mb-share-toast { left: auto; right: 0; }
.mb-share-bottom-left .mb-share-toast, .mb-share-bottom-right .mb-share-toast { top: auto; bottom: 100%; margin: 0 0 8px; }
.mb-share-toast.is-visible { opacity: 1; }

@keyframes mb-share-in { from { opacity: 0; } to { opacity: 1; } }

/* Phones: bottom pills collapse to the heart; side tabs keep their (vertical) text. */
@media (max-width: 600px) {
	.mb-share-bottom-left .mb-share-toggle-text, .mb-share-bottom-right .mb-share-toggle-text {
		position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
	}
	.mb-share-bottom-left .mb-share-toggle, .mb-share-bottom-right .mb-share-toggle { width: 44px; padding: 0; }
	.mb-share-left-center .mb-share-toggle, .mb-share-right-center .mb-share-toggle { width: 38px; font-size: 13px; padding: 12px 0; }
}
@media (prefers-reduced-motion: reduce) {
	.mb-share-panel { animation: none; }
	.mb-share-toggle, .mb-share-item, .mb-share-toast, .mb-share-toggle .mb-share-icon { transition: none; }
}
@media print { .mb-share { display: none !important; } }
