:root{
--bellsabi-glass-bg:#15110d;
--bellsabi-glass-opacity:.72;
--bellsabi-glass-blur:18px;
--bellsabi-glass-saturation:140%;
--bellsabi-glass-border-opacity:.22;
--bellsabi-glass-shadow:24px;
--bellsabi-accent:#c59b5b;
--bellsabi-animation-speed:260ms;
--bellsabi-header-top:12px;
--bellsabi-header-side:12px;
--bellsabi-header-radius:24px;
--bellsabi-footer-bottom:14px;
--bellsabi-footer-side:12px;
--bellsabi-footer-radius:22px;
--bellsabi-footer-icon-size:22px;
}

/* ---------- Universal header ---------- */
.bellsabi-sticky-header-enhanced{
box-sizing:border-box!important;
z-index:99998!important;
transition:transform var(--bellsabi-animation-speed) ease,box-shadow var(--bellsabi-animation-speed) ease,background var(--bellsabi-animation-speed) ease,border-radius var(--bellsabi-animation-speed) ease!important
}
.bellsabi-sticky-header-enhanced.bellsabi-header-floating{
position:fixed!important;
top:var(--bellsabi-header-top)!important;
left:var(--bellsabi-header-side)!important;
right:var(--bellsabi-header-side)!important;
width:auto!important;
max-width:none!important;
border-radius:var(--bellsabi-header-radius)!important;
overflow:visible!important
}
.bellsabi-sticky-header-enhanced.bellsabi-header-attached{
position:fixed!important;
top:0!important;
left:0!important;
right:0!important;
width:100%!important;
border-radius:0!important
}
.bellsabi-sticky-header-enhanced.bellsabi-header-glass{
background:color-mix(in srgb,var(--bellsabi-glass-bg) calc(var(--bellsabi-glass-opacity)*100%),transparent)!important;
border:1px solid rgba(255,255,255,var(--bellsabi-glass-border-opacity))!important;
box-shadow:0 8px var(--bellsabi-glass-shadow) rgba(0,0,0,.14)!important;
backdrop-filter:blur(var(--bellsabi-glass-blur)) saturate(var(--bellsabi-glass-saturation));
-webkit-backdrop-filter:blur(var(--bellsabi-glass-blur)) saturate(var(--bellsabi-glass-saturation))
}
.bellsabi-header-hidden{transform:translateY(calc(-100% - 24px))!important}

/* Spacer inserted when the native header is made fixed */
.bellsabi-header-spacer{display:block;width:100%;height:0;pointer-events:none}

/* ---------- Footer ---------- */
.bellsabi-sticky-footer{
position:fixed;
z-index:99999;
display:flex;
justify-content:center;
pointer-events:none;
box-sizing:border-box
}
.bellsabi-sticky-footer--floating{
left:var(--bellsabi-footer-side);
right:var(--bellsabi-footer-side);
bottom:var(--bellsabi-footer-bottom);
padding:0 env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)
}
.bellsabi-sticky-footer--attached{
left:0;
right:0;
bottom:0;
padding:0 0 env(safe-area-inset-bottom,0)
}
.bellsabi-sticky-footer__inner{
pointer-events:auto;
width:100%;
display:flex;
align-items:stretch;
justify-content:space-evenly;
gap:2px;
min-height:58px;
padding:7px;
box-sizing:border-box
}
.bellsabi-sticky-footer--floating .bellsabi-sticky-footer__inner{
border-radius:var(--bellsabi-footer-radius)
}
.bellsabi-sticky-footer--attached .bellsabi-sticky-footer__inner{
border-radius:0
}
.bellsabi-glass .bellsabi-sticky-footer__inner,
.bellsabi-solid .bellsabi-sticky-footer__inner{
border:1px solid rgba(255,255,255,var(--bellsabi-glass-border-opacity));
box-shadow:0 12px var(--bellsabi-glass-shadow) rgba(0,0,0,.22);
background:color-mix(in srgb,var(--bellsabi-glass-bg) calc(var(--bellsabi-glass-opacity)*100%),transparent)
}
.bellsabi-glass .bellsabi-sticky-footer__inner{
backdrop-filter:blur(var(--bellsabi-glass-blur)) saturate(var(--bellsabi-glass-saturation));
-webkit-backdrop-filter:blur(var(--bellsabi-glass-blur)) saturate(var(--bellsabi-glass-saturation))
}
.bellsabi-sticky-footer__item{
flex:1;
min-width:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:5px;
text-decoration:none!important;
color:var(--bellsabi-accent)!important;
border-radius:calc(var(--bellsabi-footer-radius) - 8px);
padding:7px 10px;
transition:transform var(--bellsabi-animation-speed) ease,background var(--bellsabi-animation-speed) ease,color var(--bellsabi-animation-speed) ease;
box-sizing:border-box
}
.bellsabi-sticky-footer__item:hover,
.bellsabi-sticky-footer__item:focus-visible{
transform:translateY(-2px);
background:rgba(255,255,255,.08);
color:var(--bellsabi-accent)!important
}
.bellsabi-sticky-footer__item:active{transform:scale(.97)}
.bellsabi-sticky-footer__icon{
width:var(--bellsabi-footer-icon-size);
height:var(--bellsabi-footer-icon-size);
display:block;
flex:0 0 var(--bellsabi-footer-icon-size);
background:currentColor;
-webkit-mask-repeat:no-repeat;
mask-repeat:no-repeat;
-webkit-mask-position:center;
mask-position:center;
-webkit-mask-size:contain;
mask-size:contain
}
.bellsabi-sticky-footer__fallback-icon{
width:var(--bellsabi-footer-icon-size);
height:var(--bellsabi-footer-icon-size);
border:1px solid currentColor;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:10px;
opacity:.8;
box-sizing:border-box
}
.bellsabi-sticky-footer__text{
font-size:calc(13px * var(--bellsabi-footer-text-scale));
font-weight:var(--bellsabi-footer-text-weight);
line-height:1.1;
white-space:nowrap;
color:inherit
}
.bellsabi-sticky-footer--icon_only .bellsabi-sticky-footer__text{display:none}
.bellsabi-sticky-footer--text_only .bellsabi-sticky-footer__icon,
.bellsabi-sticky-footer--text_only .bellsabi-sticky-footer__fallback-icon{display:none}
.bellsabi-sticky-footer--text_only .bellsabi-sticky-footer__text{font-size:13px}
.bellsabi-footer-hidden{transform:translateY(calc(100% + 24px))!important}

/* Avoid covering the WP admin bar */
.admin-bar .bellsabi-sticky-header-enhanced.bellsabi-header-attached{top:32px!important}
.admin-bar .bellsabi-sticky-header-enhanced.bellsabi-header-floating{top:calc(var(--bellsabi-header-top) + 32px)!important}
@media(max-width:782px){
.admin-bar .bellsabi-sticky-header-enhanced.bellsabi-header-attached{top:46px!important}
.admin-bar .bellsabi-sticky-header-enhanced.bellsabi-header-floating{top:calc(var(--bellsabi-header-top) + 46px)!important}
}

/* Visibility */
.bellsabi-sticky-footer--mobile{display:none}
@media(max-width:767px){.bellsabi-sticky-footer--mobile{display:flex}}
@media(min-width:768px){.bellsabi-sticky-footer--mobile{display:none!important}}
@media(prefers-reduced-motion:reduce){
.bellsabi-sticky-footer__item,
.bellsabi-sticky-header-enhanced{transition:none!important}
}
@supports not (background:color-mix(in srgb,black,white)){
.bellsabi-glass .bellsabi-sticky-footer__inner,
.bellsabi-solid .bellsabi-sticky-footer__inner{background:rgba(21,17,13,.92)}
.bellsabi-sticky-header-enhanced.bellsabi-header-glass{background:rgba(21,17,13,.92)!important}
}


/* Optional motion switch */
.bellsabi-sticky-ui-no-motion,
.bellsabi-sticky-ui-no-motion *{
    transition:none!important;
    animation:none!important;
}

/* Sticky logo scaling is applied only inside the selected native header. */
.bellsabi-sticky-header-enhanced .bellsabi-sticky-logo{
    transform:scale(var(--bellsabi-header-logo-scale,1));
    transform-origin:center center;
    transition:transform var(--bellsabi-animation-speed) ease;
}
