@charset "UTF-8";
/* Fixed event links on education pages and home; native details toggles visibility. */
.training-floating{position:fixed;right:20px;bottom:20px;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:80;width:320px;max-width:calc(100% - 32px);font-family:var(--sans);filter:drop-shadow(0 4px 12px #0003)}
.training-floating details{border:0;background:transparent}
.training-floating summary{display:flex;justify-content:flex-end;align-items:center;min-height:44px;cursor:pointer;list-style:none;padding:0;background:transparent;font-size:13px}
.training-floating summary::-webkit-details-marker{display:none}
.floating-close,.floating-open{display:block;padding:8px 13px;background:#fffef9;color:#193f33;border:1px solid #193f33;line-height:1.8}
.floating-close>span{font-size:20px;line-height:1;margin-left:10px;vertical-align:middle}
.training-floating .floating-close{display:none}
.training-floating details[open] .floating-close{display:block}
.training-floating details[open] .floating-open{display:none}
.floating-banners{display:grid;gap:10px;margin-top:6px;max-height:calc(70dvh - 60px);overflow-y:auto}
.floating-banner{display:grid;grid-template-columns:86px minmax(0,1fr);text-decoration:none;background:#193f33;color:#fff;border:1px solid #193f33;min-height:100px}
.floating-banner>img{display:block;width:100%;height:100%;min-height:100px;object-fit:cover;object-position:center 65%}
.floating-banner>div{padding:12px 14px;min-width:0}
.floating-banner span{display:block;line-height:1.65}
.floating-audience{font-size:11px;color:#e8dfc9}
.floating-banner strong{display:block;font-size:18px;line-height:1.6;font-weight:600;margin:3px 0;color:#fff}
.floating-date{font-size:12px;color:#fff}
.camp-banner{background:#f0e9d9;border-color:#c2b28e;color:#193f33}
.camp-banner .floating-audience{color:#58604c}.camp-banner strong,.camp-banner .floating-date{color:#193f33}
.floating-banner:hover strong{text-decoration:underline;text-underline-offset:4px}
.training-floating a:focus-visible,.training-floating summary:focus-visible{outline:3px solid #ad8145;outline-offset:2px}
.page-edu .site-footer,.page-home .site-footer{padding-bottom:290px}
.halloween-banner{background:#392346;border-color:#392346}.halloween-banner .floating-audience{color:#f5cda1}
.christmas-banner{background:#672b36;border-color:#672b36}.christmas-banner .floating-audience{color:#f0dfb8}
@media(max-width:640px){
  .training-floating{right:12px;bottom:12px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:290px;max-width:calc(100% - 24px)}
  .floating-banners{gap:8px}.floating-banner{grid-template-columns:64px minmax(0,1fr);min-height:78px}
  .floating-banner>img{min-height:78px}.floating-banner>div{padding:8px 12px}
  .floating-banner strong{font-size:16px;margin:1px 0}.floating-audience{font-size:10px}.floating-date{font-size:11px}
  .page-edu .site-footer,.page-home .site-footer{padding-bottom:250px}
}
@media(prefers-reduced-motion:reduce){.training-floating *{scroll-behavior:auto}}
