/* Brackenhill Academy — Styles (M6 split JS structure) */
html { scroll-behavior: smooth; }

/* Fade-in only animation */
.fi { opacity: 0; transition: opacity .6s ease; }
.fi.vis { opacity: 1; }

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

/* Large button hover */
.btn-lg { transition: background .2s, transform .15s, box-shadow .2s; }
.btn-lg:hover { transform: scale(1.02); box-shadow: 0 6px 22px rgba(79,70,229,.2); }

/* Shadow card hover */
.scard { transition: box-shadow .25s, transform .25s; }
.scard:hover { box-shadow: 0 10px 30px rgba(0,0,0,.08); transform: translateY(-2px); }

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

/* Form inputs */
.inp { transition: border-color .2s, box-shadow .2s; }
.inp:focus { border-color: #4f46e5; box-shadow: 0 0 0 3px rgba(79,70,229,.1); }

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

/* Mobile slide-from-left */
#mob-panel { transition: transform .3s ease; }
#mob-panel.pan-off { transform: translateX(-100%); }
#mob-bg { transition: opacity .3s; }
#mob-bg.bg-off { opacity: 0; pointer-events: none; }

/* Double-line divider */
.dbl-line { border-top: 1px solid #e5e7eb; padding-top: 4px; border-bottom: 1px solid #e5e7eb; height: 0; }
