.fsy, .fsy * { pointer-events: none !important; }
.fsy { box-sizing: border-box; color: var(--fsy-color, #bca072); line-height: 0; }
.fsy > svg { display: block; width: min(var(--fsy-size, 260px), 100%); height: auto; max-width: 100%; opacity: var(--fsy-opacity, .15); }
.fsy--shortcode, .fsy--block, .fsy--dashboard, .fsy--sidebar { display: flex; width: 100%; padding: 16px; }
.fsy--align-left { justify-content: flex-start; }
.fsy--align-center { justify-content: center; }
.fsy--align-right { justify-content: flex-end; }
.fsy-host-relative { position: relative; }
.fsy--footer, .fsy--prefooter, .fsy--header, .fsy--title, .fsy--product, .fsy--notfound { display: none; }
.fsy--placed { display: flex; position: absolute; width: min(var(--fsy-size), calc(100% - 32px)); max-height: 100%; padding: 0; overflow: hidden; z-index: 0; }
.fsy--placed > svg { flex-shrink: 0; max-height: 100%; }
.fsy--footer { bottom: 16px; }
.fsy--prefooter, .fsy--header, .fsy--sidebar.fsy--placed, .fsy--notfound { top: 16px; }
.fsy--title, .fsy--product { top: 0; }
.fsy--placed.fsy--align-right { right: 16px; }
.fsy--placed.fsy--align-left { left: 16px; }
.fsy--placed.fsy--align-center { left: 50%; transform: translateX(-50%); }
.fsy--corner, .fsy--login { position: fixed; display: flex; bottom: 24px; width: min(var(--fsy-size), calc(100vw - 48px)); z-index: 10; }
.fsy--corner.fsy--align-right, .fsy--login.fsy--align-right { right: 24px; }
.fsy--corner.fsy--align-left, .fsy--login.fsy--align-left { left: 24px; }
.fsy--corner.fsy--align-center, .fsy--login.fsy--align-center { left: 50%; transform: translateX(-50%); }
@media (min-width: 1025px) { .fsy--hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .fsy--hide-tablet { display: none !important; } }
@media (max-width: 767px) { .fsy--hide-mobile { display: none !important; } .fsy--placed { max-width: 180px; } }
@media (prefers-reduced-motion: reduce) { .fsy, .fsy * { animation: none !important; transition: none !important; } }
@media print { .fsy { display: none !important; } }
.fsy--automatic:not(.fsy--placed):not(.fsy--corner):not(.fsy--background) { display: none; }
/* Keep the full title motif behind the heading; do not squash it to a line of text. */
.fsy--title.fsy--placed { top: 50%; max-height: none; overflow: visible; transform: translateY(-50%); }
.fsy--title.fsy--placed > svg { max-height: none; }
.fsy--title.fsy--align-center { transform: translate(-50%, -50%); }
/* Pre-footer overlays the space immediately above the footer without inserting a band. */
.fsy--prefooter.fsy--placed { top: 0; max-height: none; overflow: visible; transform: translateY(-100%); }
.fsy--prefooter.fsy--placed > svg { max-height: none; }
.fsy--prefooter.fsy--align-center { transform: translate(-50%, -100%); }
/* Independent mobile size, including content and login decorations. */
@media (max-width: 767px) {
    .fsy { --fsy-size: var(--fsy-mobile-size, 260px) !important; }
    .fsy--clear-space.fsy--placed { max-width: none; }
}
/* The page background stays below content and never occupies document space. */
body.fsy-page-background { isolation: isolate; }
.fsy--background.fsy--automatic {
    display: flex; position: fixed; left: 50%; top: 50%;
    width: min(var(--fsy-size), calc(100vw - 32px));
    transform: translate(-50%, -50%); z-index: -1; padding: 0;
}
.fsy--clear-space.fsy--placed {
    left: var(--fsy-clear-x, 16px) !important; top: var(--fsy-clear-y, 0px) !important;
    right: auto; bottom: auto; transform: none !important;
    max-height: none; overflow: visible; visibility: hidden;
}
.fsy--corner.fsy--clear-space { visibility: hidden; }
.fsy--clear-space.fsy--clear { visibility: visible; }
@media print { .fsy--background.fsy--automatic { display: none !important; } }

/* A single centred footer watermark, above the footer surface and below its content. */
.fsy-footer-watermark-host { isolation: isolate; }
.fsy--footer.fsy--placed:not(.fsy--clear-space) {
    left: 50%; top: min(83.333333%, calc(100% - var(--fsy-size) / 2 - 2px)); right: auto; bottom: auto;
    transform: translate(-50%, -50%); z-index: 1;
    max-height: none; overflow: visible;
}
.fsy-footer-watermark-host .elementor-widget { position: relative; z-index: 2; }
/* Login remains centred at the bottom, with room for a short screen to scroll. */
body.login { position: relative; height: auto; min-height: 100vh; box-sizing: border-box; padding-bottom: 164px; }
.fsy--login { position: absolute; bottom: 24px; z-index: 0; }
@media (max-width: 767px) { body.login { padding-bottom: 140px; } }

/* A mild top-middle mark, clear of the logo and navigation. */
.fsy--header.fsy--placed {
    top: 0; left: 50%; right: auto; bottom: auto;
    transform: translateX(-50%); z-index: 2; max-height: none;
}
/* Reserve quiet space above existing header controls without moving the mark. */
.fsy-header-mark-host { padding-top: 12px; }
@media (max-width: 767px) {
    .fsy-header-mark-host { padding-top: 32px; }
}
