/** Optional modern UX layer for Baptisten Theme 2026. Disabled unless body classes are set. */

@media (prefers-reduced-motion: no-preference){
  body.bt-ux-view-transitions{view-transition-name:root}
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,.75,.25,1)}
}

body.bt-ux-animations .entry-card,
body.bt-ux-animations .batisten-elementor-post-card,
body.bt-ux-animations .bep-card,
body.bt-ux-animations .bep-event-card,
body.bt-ux-animations .bgh-card,
body.bt-ux-animations .bgh-listing-card,
body.bt-ux-animations .ghv-card,
body.bt-ux-animations .ghv-member-card,
body.bt-ux-animations .ghpl-person-card,
body.bt-ux-animations .bt-news-card,
body.bt-ux-animations .blg-card,
body.bt-ux-animations .ctc-card,
body.bt-ux-animations .wp-block-post{
  opacity:0;
  transform:translate3d(0,14px,0) scale(.992);
  transition:opacity .42s cubic-bezier(.2,.75,.25,1),transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .24s ease;
  transition-delay:var(--bt-ux-delay,0ms);
  will-change:opacity,transform;
}
body.bt-ux-animations .entry-card.bt-inview,
body.bt-ux-animations .batisten-elementor-post-card.bt-inview,
body.bt-ux-animations .bep-card.bt-inview,
body.bt-ux-animations .bep-event-card.bt-inview,
body.bt-ux-animations .bgh-card.bt-inview,
body.bt-ux-animations .bgh-listing-card.bt-inview,
body.bt-ux-animations .ghv-card.bt-inview,
body.bt-ux-animations .ghv-member-card.bt-inview,
body.bt-ux-animations .ghpl-person-card.bt-inview,
body.bt-ux-animations .bt-news-card.bt-inview,
body.bt-ux-animations .blg-card.bt-inview,
body.bt-ux-animations .ctc-card.bt-inview,
body.bt-ux-animations .wp-block-post.bt-inview{
  opacity:1;
  transform:none;
}
body.bt-ux-animations .bt-inview-done{will-change:auto}

body.bt-ux-skeletons{
  --bt-skeleton-base:color-mix(in srgb,var(--bt-light,#eaf6f8) 76%,#fff);
  --bt-skeleton-glow:rgba(255,255,255,.68);
  --bt-skeleton-line:rgba(0,90,122,.10);
}
body.bt-ux-skeletons .bt-skeleton,
body.bt-ux-skeletons .bt-skeleton-card,
body.bt-ux-skeletons .bt-skeleton-list,
body.bt-ux-skeletons .bt-skeleton-person,
body.bt-ux-skeletons .bt-skeleton-news{position:relative;overflow:hidden;border-radius:var(--bt-radius,28px);background:var(--bt-skeleton-base);border:1px solid var(--bt-skeleton-line)}
body.bt-ux-skeletons .bt-skeleton-card{min-height:260px;padding:18px;display:grid;gap:14px;align-content:start}
body.bt-ux-skeletons .bt-skeleton-card:before{content:"";display:block;aspect-ratio:16/10;border-radius:calc(var(--bt-radius,28px) - 10px);background:rgba(255,255,255,.55)}
body.bt-ux-skeletons .bt-skeleton-card:after,
body.bt-ux-skeletons .bt-skeleton-list:after,
body.bt-ux-skeletons .bt-skeleton-person:after,
body.bt-ux-skeletons .bt-skeleton-news:after,
body.bt-ux-skeletons .bt-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-105%);background:linear-gradient(100deg,transparent 0%,var(--bt-skeleton-glow) 48%,transparent 100%);animation:btSkeletonSweep 1.35s ease-in-out infinite;pointer-events:none}
body.bt-ux-skeletons .bt-skeleton-lines{display:grid;gap:10px;margin-top:6px}
body.bt-ux-skeletons .bt-skeleton-line{height:12px;border-radius:999px;background:rgba(255,255,255,.65)}
body.bt-ux-skeletons .bt-skeleton-line:nth-child(2){width:72%}body.bt-ux-skeletons .bt-skeleton-line:nth-child(3){width:48%}
body.bt-ux-skeletons [aria-busy="true"],
body.bt-ux-skeletons .is-loading,
body.bt-ux-skeletons .loading,
body.bt-ux-skeletons .bt-is-loading,
body.bt-ux-skeletons .bt-skeleton-loading,
body.bt-ux-skeletons .bgh-loading,
body.bt-ux-skeletons .ghv-loading,
body.bt-ux-skeletons .ghpl-loading,
body.bt-ux-skeletons .bep-loading,
body.bt-ux-skeletons .bt-news-loading{position:relative;isolation:isolate;min-height:120px}
body.bt-ux-skeletons [aria-busy="true"]:before,
body.bt-ux-skeletons .is-loading:before,
body.bt-ux-skeletons .loading:before,
body.bt-ux-skeletons .bt-is-loading:before,
body.bt-ux-skeletons .bt-skeleton-loading:before,
body.bt-ux-skeletons .bgh-loading:before,
body.bt-ux-skeletons .ghv-loading:before,
body.bt-ux-skeletons .ghpl-loading:before,
body.bt-ux-skeletons .bep-loading:before,
body.bt-ux-skeletons .bt-news-loading:before{content:"";position:absolute;z-index:20;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--bt-skeleton-base),#fff,var(--bt-skeleton-base));background-size:220% 100%;animation:btSkeletonBg 1.2s ease-in-out infinite;pointer-events:none}
@keyframes btSkeletonSweep{to{transform:translateX(105%)}}
@keyframes btSkeletonBg{0%{background-position:0 0}100%{background-position:-220% 0}}

@media (max-width:782px){
  body.bt-ux-smart-mobile-header .site-header[data-sticky-header]{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,90,122,.10);box-shadow:0 10px 34px rgba(16,37,49,.08);overflow:visible}
  body.bt-ux-smart-mobile-header .site-header .topbar{display:none}
  body.bt-ux-smart-mobile-header .site-header .brand-row{min-height:62px;padding-top:8px;padding-bottom:6px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
  body.bt-ux-smart-mobile-header .site-header.is-scrolled .brand-row{min-height:54px;padding-bottom:4px}
  body.bt-ux-smart-mobile-header .brand-main img{max-height:42px;width:auto;transition:max-height .2s ease}
  body.bt-ux-smart-mobile-header .site-header.is-scrolled .brand-main img{max-height:34px}
  body.bt-ux-smart-mobile-header .brand-partners{display:none!important}
  body.bt-ux-smart-mobile-header .bt-mobile-active-strip{position:sticky;top:calc(var(--bt-mobile-header-height,64px) + 8px);z-index:998;display:flex;justify-content:flex-start;align-items:flex-start;width:100%;max-width:100%;margin:8px auto 0;padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));pointer-events:none;transform:translateX(0);opacity:1;transition:transform .46s cubic-bezier(.2,.85,.2,1),opacity .34s ease}
  body.bt-ux-smart-mobile-header.bt-mobile-active-pill-out .bt-mobile-active-strip{transform:translateX(calc(-100% - 22px));opacity:.18}
  body.bt-ux-smart-mobile-header .bt-mobile-active-pill{display:inline-flex;align-items:flex-start;gap:8px;min-width:0;max-width:min(82vw,380px);padding:7px 11px 8px 11px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),color-mix(in srgb,var(--bt-light,#eaf6f8) 68%,rgba(255,255,255,.66)));color:var(--bt-primary,#005a7a);font-family:var(--bt-font,Bitter,Georgia,serif);font-weight:850;font-size:clamp(.70rem,2.9vw,.84rem);line-height:1.13;border:1px solid rgba(0,90,122,.14);box-shadow:0 10px 28px rgba(16,37,49,.09);backdrop-filter:blur(14px) saturate(1.18);-webkit-backdrop-filter:blur(14px) saturate(1.18);pointer-events:auto}
  body.bt-ux-smart-mobile-header .bt-mobile-active-text{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;max-width:calc(min(82vw,380px) - 42px);word-break:normal;overflow-wrap:anywhere}
  body.bt-ux-smart-mobile-header .bt-mobile-active-dot{flex:0 0 auto;width:7px;height:7px;margin-top:.27em;border-radius:999px;background:var(--bt-secondary,#cbb449);box-shadow:0 0 0 4px color-mix(in srgb,var(--bt-secondary,#cbb449) 18%,transparent)}
  body.bt-ux-smart-mobile-header .menu-toggle{justify-self:end;border-radius:18px;box-shadow:0 10px 24px rgba(16,37,49,.09)}
  body.bt-ux-smart-mobile-header .mainnav-row{display:none!important}
  body.bt-ux-smart-mobile-header .mobile-navigation .current-menu-item>a,
  body.bt-ux-smart-mobile-header .mobile-navigation .current-menu-ancestor>a,
  body.bt-ux-smart-mobile-header .mobile-navigation .current_page_item>a{background:rgba(255,255,255,.12);outline:1px solid rgba(255,255,255,.20);box-shadow:inset 4px 0 0 var(--bt-secondary,#cbb449)}
}
@media (min-width:783px){.bt-mobile-active-strip,.bt-mobile-active-pill{display:none!important}}
@media (prefers-reduced-motion: reduce){
  body.bt-ux-animations .entry-card,
  body.bt-ux-animations .batisten-elementor-post-card,
  body.bt-ux-animations .bep-card,
  body.bt-ux-animations .bep-event-card,
  body.bt-ux-animations .bgh-card,
  body.bt-ux-animations .bgh-listing-card,
  body.bt-ux-animations .ghv-card,
  body.bt-ux-animations .ghv-member-card,
  body.bt-ux-animations .ghpl-person-card,
  body.bt-ux-animations .bt-news-card,
  body.bt-ux-animations .blg-card,
  body.bt-ux-animations .ctc-card,
  body.bt-ux-animations .wp-block-post{opacity:1!important;transform:none!important;transition:none!important}
  body.bt-ux-skeletons .bt-skeleton-card:after,
  body.bt-ux-skeletons .bt-skeleton-list:after,
  body.bt-ux-skeletons .bt-skeleton-person:after,
  body.bt-ux-skeletons .bt-skeleton-news:after,
  body.bt-ux-skeletons .bt-skeleton:after{animation:none!important}
}

/* v2.0.2-beta.104: extended global Motion & Loader configuration */
@media (prefers-reduced-motion: no-preference){
  body.bt-ux-view-transition-fade ::view-transition-old(root),
  body.bt-ux-view-transition-fade ::view-transition-new(root){animation-duration:.20s;animation-timing-function:ease}
  body.bt-ux-view-transition-slide ::view-transition-old(root),
  body.bt-ux-view-transition-slide ::view-transition-new(root){animation-duration:.30s;animation-timing-function:cubic-bezier(.2,.75,.25,1)}
}

body.bt-ux-animations .baptisten-widget-card,
body.bt-ux-animations .baptisten-widget:not(.bt-ux-widget-animation-off).bt-ux-widget-animation-global,
body.bt-ux-animations .baptisten-widget:not(.bt-ux-widget-animation-off).bt-ux-widget-animation-soft-lift,
body.bt-ux-animations .baptisten-widget:not(.bt-ux-widget-animation-off).bt-ux-widget-animation-fade,
body.bt-ux-animations .baptisten-widget:not(.bt-ux-widget-animation-off).bt-ux-widget-animation-slide-up,
body.bt-ux-animations .baptisten-widget:not(.bt-ux-widget-animation-off).bt-ux-widget-animation-scale{
  opacity:0;
  transition:opacity var(--bt-ux-duration,.42s) cubic-bezier(.2,.75,.25,1),transform var(--bt-ux-duration,.42s) cubic-bezier(.2,.75,.25,1),box-shadow .24s ease;
  transition-delay:var(--bt-ux-delay,0ms);
  will-change:opacity,transform;
}
body.bt-ux-animations.bt-ux-animation-speed-slow{--bt-ux-duration:.58s}
body.bt-ux-animations.bt-ux-animation-speed-normal{--bt-ux-duration:.42s}
body.bt-ux-animations.bt-ux-animation-speed-fast{--bt-ux-duration:.28s}
body.bt-ux-animations .bt-ux-widget-animation-speed-slow{--bt-ux-duration:.58s}
body.bt-ux-animations .bt-ux-widget-animation-speed-normal{--bt-ux-duration:.42s}
body.bt-ux-animations .bt-ux-widget-animation-speed-fast{--bt-ux-duration:.28s}
body.bt-ux-animations.bt-ux-animation-soft-lift .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-soft-lift .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-soft-lift{transform:translate3d(0,14px,0) scale(.992)}
body.bt-ux-animations.bt-ux-animation-fade .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-fade .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-fade{transform:none}
body.bt-ux-animations.bt-ux-animation-slide-up .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-slide-up .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-slide-up{transform:translate3d(0,24px,0)}
body.bt-ux-animations.bt-ux-animation-scale .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-scale .baptisten-widget-card,
body.bt-ux-animations .bt-ux-widget-animation-scale{transform:scale(.975)}
body.bt-ux-animations .baptisten-widget-card.bt-inview,
body.bt-ux-animations .baptisten-widget.bt-inview{opacity:1;transform:none}
body.bt-ux-animations .bt-ux-widget-animation-off,
body.bt-ux-animations .bt-ux-widget-animation-off .baptisten-widget-card{opacity:1!important;transform:none!important;transition:box-shadow .24s ease!important;will-change:auto!important}
body.bt-ux-animations:not(.bt-ux-animation-stagger) .bt-inview-bound{--bt-ux-delay:0ms!important}

body.bt-ux-skeleton-style-white{--bt-skeleton-base:rgba(255,255,255,.86);--bt-skeleton-glow:rgba(233,244,247,.72);--bt-skeleton-line:rgba(0,90,122,.08)}
body.bt-ux-skeleton-style-contrast{--bt-skeleton-base:color-mix(in srgb,var(--bt-primary,#005a7a) 14%,#fff);--bt-skeleton-glow:rgba(255,255,255,.78);--bt-skeleton-line:rgba(0,90,122,.18)}
body.bt-ux-skeleton-density-compact{--bt-skeleton-min:84px;--bt-skeleton-pad:12px}
body.bt-ux-skeleton-density-normal{--bt-skeleton-min:120px;--bt-skeleton-pad:18px}
body.bt-ux-skeleton-density-spacious{--bt-skeleton-min:180px;--bt-skeleton-pad:24px}
body.bt-ux-skeletons .bt-skeleton-loading{min-height:var(--bt-skeleton-min,120px)}
body.bt-ux-skeletons .bt-ux-widget-skeleton-off.bt-skeleton-loading:before,
body.bt-ux-skeletons .bt-ux-widget-skeleton-off [aria-busy="true"]:before{display:none!important}

@media (prefers-reduced-motion: reduce){
  body.bt-ux-animations .baptisten-widget,
  body.bt-ux-animations .baptisten-widget-card{opacity:1!important;transform:none!important;transition:none!important}
}

/* v2.0.2-beta.109: Elementor common Motion & Loader integration */
body.bt-ux-animations .bt-ux-elementor:not(.bt-ux-widget-animation-off):not(.elementor-location-header *):not(.elementor-location-footer *),
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-target-children:not(.bt-ux-widget-animation-off) > .elementor-widget-container > :where(.card,.entry-card,.baptisten-widget-card,.bep-card,.bgh-card,.ghv-card,.ghpl-person-card,.bt-news-card,.elementor-post,.e-loop-item){
  opacity:0;
  transition:opacity var(--bt-ux-duration,.42s) cubic-bezier(.2,.75,.25,1),transform var(--bt-ux-duration,.42s) cubic-bezier(.2,.75,.25,1),box-shadow .24s ease;
  transition-delay:var(--bt-ux-delay,0ms);
  will-change:opacity,transform;
}
body.bt-ux-animations .bt-ux-elementor.bt-inview,
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-target-children > .elementor-widget-container > :where(.card,.entry-card,.baptisten-widget-card,.bep-card,.bgh-card,.ghv-card,.ghpl-person-card,.bt-news-card,.elementor-post,.e-loop-item).bt-inview{opacity:1;transform:none}
body.bt-ux-animations .bt-ux-widget-stagger-off,
body.bt-ux-animations .bt-ux-widget-stagger-off *{--bt-ux-delay:0ms!important}
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-off{opacity:1!important;transform:none!important;transition:box-shadow .24s ease!important}
body.bt-ux-skeletons .bt-ux-elementor.bt-ux-widget-skeleton-off.bt-skeleton-loading:before{display:none!important}
body.bt-ux-skeletons .bt-ux-elementor.bt-skeleton-loading{min-height:var(--bt-skeleton-min,120px)}
.elementor-editor-active .bt-ux-elementor.bt-skeleton-loading > .elementor-widget-container{opacity:.38}
@media (prefers-reduced-motion: reduce){
  body.bt-ux-animations .bt-ux-elementor,
  body.bt-ux-animations .bt-ux-elementor > .elementor-widget-container > *{opacity:1!important;transform:none!important;transition:none!important}
}

/* v2.0.2-beta.111: Motion fail-safe.
   Content must never disappear when the global animation layer is enabled but
   JavaScript/IntersectionObserver/Elementor dynamic rendering is delayed or blocked. */
body.bt-ux-animations :where(
  .entry-card,
  .batisten-elementor-post-card,
  .baptisten-widget,
  .baptisten-widget-card,
  .bep-card,
  .bep-event-card,
  .bgh-card,
  .bgh-listing-card,
  .ghv-card,
  .ghv-member-card,
  .ghpl-person-card,
  .bt-news-card,
  .blg-card,
  .ctc-card,
  .wp-block-post,
  .bt-ux-elementor,
  .elementor-widget-container > .card,
  .elementor-widget-container > .entry-card,
  .elementor-widget-container > .elementor-post,
  .elementor-widget-container > .e-loop-item
):not(.bt-inview-bound):not(.bt-inview){
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
body.bt-ux-animations .bt-inview,
body.bt-ux-animations .bt-inview-done{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
body.bt-ux-animations .bt-ux-force-visible{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
  will-change:auto!important;
}
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-global:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-soft-lift:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-fade:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-slide-up:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .bt-ux-elementor.bt-ux-widget-animation-scale:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .baptisten-widget.bt-ux-widget-animation-global:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .baptisten-widget.bt-ux-widget-animation-soft-lift:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .baptisten-widget.bt-ux-widget-animation-fade:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .baptisten-widget.bt-ux-widget-animation-slide-up:not(.bt-inview-bound):not(.bt-inview),
body.bt-ux-animations .baptisten-widget.bt-ux-widget-animation-scale:not(.bt-inview-bound):not(.bt-inview){
  opacity:1!important;
  transform:none!important;
}
