/* Ironbark Training — Custom Styles (M5 SEO package) */
html { scroll-behavior: smooth; }

/* Staggered card animation */
.sa { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
.sa.vis { opacity: 1; transform: translateY(0); }

/* Cookie bar */
#ck-bar { transition: transform .35s ease, opacity .35s ease; }
#ck-bar.ck-off { transform: translateY(110%); opacity: 0; pointer-events: none; }

/* FAQ accordion */
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::marker { display: none; }
details[open] .chev { transform: rotate(180deg); }
.chev { transition: transform .2s ease; }

/* Focus */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
  outline: 2px solid #0891b2; outline-offset: 2px;
}

/* Pill button */
.btn-pill { transition: background .2s, transform .15s, box-shadow .2s; }
.btn-pill:hover { transform: scale(1.03); box-shadow: 0 6px 20px rgba(8,145,178,.22); }

/* Filled cards */
.fcard { transition: transform .25s, box-shadow .25s; }
.fcard:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.07); }

/* Bottom sheet mobile menu */
#sheet-wrap { transition: opacity .3s; }
#sheet-wrap.sheet-off { opacity: 0; pointer-events: none; }
#sheet-panel { transition: transform .3s ease; }
#sheet-wrap.sheet-off #sheet-panel { transform: translateY(100%); }

/* Form input focus */
.fi { transition: border-color .2s, box-shadow .2s; }
.fi:focus { border-color: #0891b2; box-shadow: 0 0 0 3px rgba(8,145,178,.12); }

/* SVG wave divider */
.wave-div { display: block; width: 100%; line-height: 0; }
.wave-div svg { display: block; width: 100%; height: auto; }

/* Highlight marker heading */
.hl-mark { position: relative; display: inline; }
.hl-mark::after {
  content: ''; position: absolute; left: -2px; right: -2px; bottom: 0;
  height: 38%; background: rgba(8,145,178,.15); z-index: -1; border-radius: 2px;
}
