/* Social sharing (Sonali Bites → Social sharing). Colours follow the theme's own tokens. */

/* Floating Share button. */
/* No transform on the wrapper: it would trap the fixed-position panel. The toggle moves instead. */
.sb-sharefab { position: fixed; z-index: 90; }
.sb-sharefab[data-pos="tl"] { top: calc(var(--sb-header-h, 76px) + 12px + var(--sb-sy, 0px)); left: calc(12px + var(--sb-sx, 0px)); }
.sb-sharefab[data-pos="tr"] { top: calc(var(--sb-header-h, 76px) + 12px + var(--sb-sy, 0px)); right: calc(12px + var(--sb-sx, 0px)); }
.sb-sharefab[data-pos="ml"] { top: calc(50% + var(--sb-sy, 0px)); left: calc(12px + var(--sb-sx, 0px)); margin-top: -24px; }
.sb-sharefab[data-pos="mr"] { top: calc(50% + var(--sb-sy, 0px)); right: calc(12px + var(--sb-sx, 0px)); margin-top: -24px; }
.sb-sharefab[data-pos="bl"] { bottom: calc(18px + var(--sb-sy, 0px)); left: calc(18px + var(--sb-sx, 0px)); }
.sb-sharefab[data-pos="br"] { bottom: calc(18px + var(--sb-sy, 0px)); right: calc(18px + var(--sb-sx, 0px)); }
.sb-sharefab[data-pos="custom"] { left: clamp(8px, var(--sb-scx, 4%), calc(100vw - 60px)); top: clamp(8px, var(--sb-scy, 50%), calc(100vh - 60px)); }

.sb-sharefab__toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; min-width: 46px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--green, #092b1e); color: #ffe39a; font: inherit; font-weight: 800; font-family: var(--sb-font-heading, inherit); cursor: pointer; box-shadow: 0 10px 26px #0b2c1b40, inset 0 0 0 1.5px #ffe39a59; transform: translateY(var(--sb-share-shift, 0px)); transition: transform .2s ease, box-shadow .15s ease; white-space: nowrap; }
.sb-sharefab__toggle:hover { transform: translateY(calc(var(--sb-share-shift, 0px) - 2px)); box-shadow: 0 14px 30px #0b2c1b55; }
.sb-sharefab__toggle:focus-visible { outline: 3px solid var(--gold, #e3b94f); outline-offset: 3px; }
.sb-sharefab--icon .sb-sharefab__toggle { width: 48px; height: 48px; padding: 0; justify-content: center; }
.sb-sharefab.is-open .sb-sharefab__toggle { background: var(--gold, #e3b94f); color: #1a2418; }
[data-theme=dark] .sb-sharefab__toggle { background: var(--gold, #e3b94f); color: #1a2418; }
[data-theme=dark] .sb-sharefab.is-open .sb-sharefab__toggle { background: var(--surface, #13241b); color: #ffe39a; box-shadow: 0 0 0 2px var(--gold, #e3b94f); }

.sb-sharefab__panel { position: fixed; z-index: 91; width: max-content; max-width: min(320px, calc(100vw - 16px)); padding: 12px; border: 1px solid var(--line, #ddcfad); border-radius: 18px; background: var(--surface, #fffdf7); color: var(--ink, #202a21); box-shadow: 0 24px 60px #0b2c1b40; }
.sb-sharefab__panel[hidden] { display: none; }
.sb-sharefab__title { margin: 2px 6px 8px; font-weight: 800; font-size: .9rem; color: var(--muted, #5f665b); }
.sb-sharefab__list { display: grid; gap: 4px; }
.sb-sharefab--icon .sb-sharefab__list { grid-template-columns: repeat(3, 44px); }
.sb-sharefab .sb-share-item { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 12px; background: none; color: inherit; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; text-align: start; }
.sb-sharefab--icon .sb-share-item { justify-content: center; padding: 0; }
.sb-sharefab .sb-share-item:hover, .sb-sharefab .sb-share-item:focus-visible { background: var(--surface2, #efe4cc); outline: none; }
.sb-sharefab .sb-share-item:focus-visible { box-shadow: 0 0 0 2px var(--gold, #e3b94f); }

/* Platform colours on the icons. */
.sb-share-item .sb-share-icon { flex: none; width: 20px; height: 20px; }
.sb-share-item--facebook .sb-share-icon { color: #1877f2; }
.sb-share-item--whatsapp .sb-share-icon { color: #12823b; }
.sb-share-item--messenger .sb-share-icon { color: #0866ff; }
.sb-share-item--telegram .sb-share-icon { color: #229ed9; }
.sb-share-item--x .sb-share-icon { color: currentColor; }
.sb-share-item--copy .sb-share-icon { color: var(--green, #092b1e); }
[data-theme=dark] .sb-share-item--copy .sb-share-icon { color: #ffe39a; }
.sb-share-item.is-copied .sb-share-icon { color: #12823b; }
.sb-share-item[hidden] { display: none !important; }
.sb-share-status { display: block; min-height: 0; font-size: .82rem; font-weight: 700; color: #12823b; }
.sb-share-status:not(:empty) { margin: 6px 6px 0; }

/* Share row (product page and homepage popup). */
.sb-share-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; }
.sb-share-row__label { margin-inline-end: 4px; font-weight: 800; font-size: .88rem; color: var(--muted, #5f665b); }
.sb-share-row .sb-share-item { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--line, #ddcfad); border-radius: 50%; background: var(--surface, #fffdf7); cursor: pointer; transition: border-color .15s ease, transform .15s ease; }
.sb-share-row .sb-share-item:hover { border-color: var(--gold, #e3b94f); transform: translateY(-1px); }
.sb-share-row .sb-share-item:focus-visible { outline: 3px solid var(--gold, #e3b94f); outline-offset: 2px; }
.sb-share-row .sb-share-status { flex-basis: 100%; }
.sb-share-row .sb-share-status:not(:empty) { margin: 2px 0 0; }

/* Desktop / tablet / phone visibility. */
@media (min-width: 1025px) { .sb-sharefab--no-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .sb-sharefab--no-tablet { display: none !important; } }
@media (max-width: 767px) {
	.sb-sharefab--no-mobile { display: none !important; }
	.sb-sharefab__toggle { min-height: 44px; padding: 0 14px; }
}
@media (prefers-reduced-motion: reduce) { .sb-sharefab__toggle, .sb-share-row .sb-share-item { transition: none; } }
@media print { .sb-sharefab, .sb-share-row { display: none !important; } }
