:root { --sqe-height: 64px; --sqe-admin-height: 0px; }
body { padding-bottom: var(--sqe-height) !important; }
body.admin-bar { --sqe-admin-height: 32px; }
.sqe-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 2147483646; background: #172632; color: #fff; font: 16px/1.4 system-ui, sans-serif; border-top: 1px solid #fff; padding-bottom: env(safe-area-inset-bottom, 0px); box-sizing: border-box; }
.sqe-inner { min-height: 62px; max-width: 1440px; margin: auto; padding: 8px 20px; display: flex; align-items: center; gap: 20px; box-sizing: border-box; }
.sqe-safety { position: relative; }
.sqe-safety summary { cursor: pointer; text-decoration: underline; color: #fff; }
.sqe-information { position: absolute; bottom: calc(100% + 20px); left: 0; width: min(440px, calc(100vw - 40px)); max-height: 65vh; overflow-y: auto; padding: 16px; background: #fff; color: #172632; border: 2px solid #172632; border-radius: 4px; box-shadow: 0 4px 16px #0003; box-sizing: border-box; font: 16px/1.5 system-ui, sans-serif; }
.sqe-information p { margin: 0 0 12px; }
.sqe-information p:last-child { margin-bottom: 0; }
.sqe-hint { font-size: 14px; }
.sqe-button, .sqe-button:visited { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 22px; border: 2px solid #fff; border-radius: 4px; background: #fff; color: #172632; font: 700 16px/1.3 system-ui, sans-serif; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.sqe-button:hover { background: #e6edf2; color: #172632; }
.sqe-bar :focus-visible, .sqe-skip:focus { outline: 3px solid #ffdf57; outline-offset: 3px; }
.sqe-status, .sqe-skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sqe-skip:focus { position: fixed; top: calc(var(--sqe-admin-height) + 8px); left: 8px; width: auto; height: auto; padding: 12px; background: #fff; color: #172632; z-index: 2147483647; clip-path: none; }
#sqe-overlay:not([hidden]) { display: block !important; position: fixed; inset: 0; z-index: 2147483647; background: Canvas; background: #fff; }
html.sqe-leaving body > :not(#sqe-overlay) { visibility: hidden !important; }
/* GOSHH's existing sticky Elementor header stays below the safety bar. */
@media (max-width: 782px) { body.admin-bar { --sqe-admin-height: 46px; } }
@media (max-width: 600px) {
    .sqe-inner { gap: 12px; padding: 8px 12px; flex-wrap: wrap; }
    .sqe-safety { font-size: 14px; flex: 1; }
    .sqe-button { min-height: 48px; flex: 1; padding: 10px 14px; }
    .sqe-hint { display: none; }
    .sqe-information { width: min(440px, calc(100vw - 24px)); }
}
@media (prefers-reduced-motion: reduce) { .sqe-bar * { transition: none !important; animation: none !important; } }

.sqe-bar[hidden], .sqe-floating[hidden], .sqe-hide[hidden] { display: none !important; }
.sqe-tools { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.sqe-hide { background: transparent; color: #fff; border: 1px solid #fff; border-radius: 4px; padding: 8px 12px; min-height: 44px; cursor: pointer; font: inherit; }
.sqe-hint kbd { display: inline-block; padding: 2px 6px; border: 1px solid currentColor; border-radius: 3px; background: transparent; color: inherit; font: inherit; }
.sqe-floating, .sqe-floating:visited { position: fixed; right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 2147483646; background: #172632; color: #fff; box-shadow: 0 2px 10px #0004; min-height: 48px; }
.sqe-floating:hover { background: #253b4b; color: #fff; }
.sqe-floating:focus-visible { outline: 3px solid #ffdf57; outline-offset: 3px; }
.sqe-preview .sqe-inner > .sqe-button { visibility: hidden; }
@media (max-width: 600px) { .sqe-tools { gap: 8px; font-size: 14px; } .sqe-inner > .sqe-button { flex: initial; padding: 10px 12px; } .sqe-safety { flex: initial; } }
@media (max-width: 360px) { .sqe-tools { width: 100%; } .sqe-inner > .sqe-button { width: 100%; } }

#sqe-bar .sqe-hide { background: transparent !important; color: #fff !important; border: 1px solid #fff !important; border-radius: 4px !important; padding: 8px 12px !important; min-height: 44px !important; font: 14px/20px system-ui, sans-serif !important; box-shadow: none !important; letter-spacing: normal !important; text-transform: none !important; }
