/* Presentation only: original tool nodes retain their plugin actions and page permissions. */
body.tat2omni-theme .floating-buttons-left[hidden] { display: none !important; }
body.tat2omni-theme .floating-buttons-left:is(.tat2omni-tools-dot,.tat2omni-tools-top) :is(a,button,#spotify-toggle,#tat2omni-share-toggle) {
    display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: var(--tat2omni-floating-size); height: var(--tat2omni-floating-size);
    padding: 0; margin: 0; position: static; inset: auto; transform: none;
    box-sizing: border-box; border: 1px solid var(--tat2omni-border-accent); border-radius: 50%;
    background: var(--tat2omni-main) !important; color: var(--tat2omni-on-main) !important;
    font-size: calc(var(--tat2omni-floating-size) * .44); line-height: 1;
    cursor: pointer; text-decoration: none; box-shadow: 0 4px 14px rgba(var(--tat2omni-main-rgb),.18) !important;
}
body.tat2omni-theme .floating-buttons-left:is(.tat2omni-tools-dot,.tat2omni-tools-top) :is(a,button):hover { background: var(--tat2omni-accent) !important; color: var(--tat2omni-on-accent) !important; }
body.tat2omni-theme .floating-buttons-left:is(.tat2omni-tools-dot,.tat2omni-tools-top) :is(a,button):focus-visible { outline: 3px solid var(--tat2omni-accent); outline-offset: 3px; }
body.tat2omni-theme .floating-buttons-left.tat2omni-tools-dot {
    left: max(16px, env(safe-area-inset-left)); bottom: max(24px, env(safe-area-inset-bottom)); top: auto;
    width: var(--tat2omni-floating-size); padding: 0; overflow: visible; max-height: none; z-index: 100;
}
.tat2omni-tools-dot .tat2omni-tool-actions {
    position: absolute; left: -6px; bottom: calc(var(--tat2omni-floating-size) + 10px);
    display: flex; flex-direction: column; gap: 10px; padding: 6px;
    max-height: calc(100dvh - var(--tat2omni-floating-size) - 80px); overflow-y: auto; scrollbar-width: none;
    visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(18px);
    transition: opacity .2s ease, transform .24s ease, visibility .24s;
}
body.tat2omni-theme .floating-buttons-left.tat2omni-tools-dot .tat2omni-tool-actions :is(a,button,#spotify-toggle,#tat2omni-share-toggle) { animation: none; opacity: 1; visibility: inherit; transition: transform .22s ease, background .2s; }
.tat2omni-tools-dot.is-open .tat2omni-tool-actions { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
.tat2omni-tools-toggle svg { width: 46%; height: 46%; fill: currentColor; }
.tat2omni-tools-toggle .tool-close { display: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.tat2omni-tools-dot.is-open .tool-dots { display: none; }
.tat2omni-tools-dot.is-open .tool-close { display: block; }
body.tat2omni-theme .floating-buttons-left.tat2omni-tools-top {
    position: fixed; left: 0; right: 0; top: var(--tat2omni-tools-top, 95px); bottom: auto;
    display: flex; flex-direction: row; align-items: center; justify-content: center;
    width: 100%; padding: 9px 12px; max-height: none; overflow: visible; margin: 0;
    border-bottom: 1px solid var(--tat2omni-line); border-radius: 0;
    background: var(--tat2omni-surface); box-shadow: 0 3px 12px rgba(0,0,0,.08);
    opacity: 1; visibility: visible; pointer-events: auto; z-index: 989;
}
.tat2omni-tools-top .tat2omni-tool-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; width: 100%; }
body.tat2omni-theme .floating-buttons-left.tat2omni-tools-top :is(a,button,#spotify-toggle,#tat2omni-share-toggle) {
    width: var(--tat2omni-top-button-size,var(--tat2omni-floating-size)); height: var(--tat2omni-top-button-size,var(--tat2omni-floating-size));
    font-size: calc(var(--tat2omni-top-button-size,var(--tat2omni-floating-size)) * .44);
    animation: none !important; opacity: 1; visibility: visible; pointer-events: auto; transform: none;
}
body.tat2omni-tools-top-active.tat2omni-polished-shell { padding-top: calc(var(--polished-header-height) + var(--tat2omni-tools-height,0px)); }
body.tat2omni-tools-top-active:not(.tat2omni-polished-shell) #site-header { margin-top: 0 !important; }
body.tat2omni-tools-top-active:not(.tat2omni-polished-shell) #ascensorBuilding {
    position: fixed !important; top: var(--tat2omni-tools-bottom) !important; bottom: 0 !important;
    width: 100%; height: calc(100dvh - var(--tat2omni-tools-bottom)) !important;
}
body.tat2omni-tools-top-active:not(.tat2omni-polished-shell) #ascensorBuilding > article { position: relative !important; inset: auto !important; height: 100% !important; }
body.tat2omni-tools-top-active:not(.tat2omni-polished-shell) .page-content-full { position: absolute; inset: 0; height: 100%; }
body.tat2omni-tools-top-active:not(.tat2omni-polished-shell) .content { padding-top: 28px; }
/* Page restrictions always win. Their original spacing returns as soon as Top is inactive. */
body.tat2omni-hide-floating-icons .floating-buttons-left:is(.tat2omni-tools-top,.tat2omni-tools-dot),
body:is(.page-template-fullpage-no-menu,.page-template-fullpage-no-menu-php) .floating-buttons-left:is(.tat2omni-tools-top,.tat2omni-tools-dot) { display: none !important; }
body.tat2omni-floating-gallery-open .floating-buttons-left:is(.tat2omni-tools-top,.tat2omni-tools-dot) { visibility: hidden; pointer-events: none; }
@media(prefers-reduced-motion:reduce) { .tat2omni-tools-dot .tat2omni-tool-actions { transition: none; } }


/* Keep the Spotify settings preview's dark button and configured icon/border. */
body.tat2omni-theme .floating-buttons-left:is(.tat2omni-tools-top,.tat2omni-tools-dot) #spotify-toggle,
body.tat2omni-theme .floating-buttons-left:is(.tat2omni-tools-top,.tat2omni-tools-dot) #spotify-toggle:hover {
    background: #111 !important;
    color: var(--tat2omni-spotify-button-color,#1DB954) !important;
    border-color: var(--tat2omni-spotify-button-color,#1DB954) !important;
}
