/* Reference: MIST's Curriculum planning with TimeTabler WordPress page.
   Customer-facing booking styles only. Booking behaviour stays in booking.js. */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/open-sans-regular.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600 800;font-display:swap;src:url('fonts/open-sans-bold.woff2') format('woff2')}
:root{--navy:#2e2545;--blue:#007fae;--cyan:#00aeef;--ink:#333;--muted:#666;--line:#dedede;--bg:#f7f7f7}
body{font-family:'Open Sans',Arial,sans-serif;line-height:1.7;background:var(--bg);color:var(--ink)}
header{background:#fff;border:0;box-shadow:0 1px 5px #00000015}
.wrap{max-width:1140px}
.head{min-height:80px;padding-top:4px;padding-bottom:4px}
.brand img{width:320px;height:72px;object-fit:contain;object-position:left center}
.headnote{font-size:14px;color:#666;font-weight:400}
.demo{background:#fff8e7;border-bottom:1px solid #f0e4c7;font-size:12px;padding:8px 0}
.hero{padding-top:45px;padding-bottom:30px}
.eyebrow{color:#007fae;font-size:12px;letter-spacing:1.4px}
h1{font-size:42px;font-weight:700;letter-spacing:-.8px;line-height:1.3;color:#111;margin:8px 0 16px}
h2{font-size:22px;line-height:1.4;font-weight:700;color:#2e2545}
.lead{font-size:16px;color:#666;max-width:720px}
.layout{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
.card{border:1px solid #e1e1e1;border-top:1px solid #e1e1e1;border-radius:3px;box-shadow:none;padding:28px}
.cardtitle{gap:13px}
.number{border:0;border-radius:3px;background:#e7f7fd;color:#006f99;font-size:14px;width:31px;height:31px}
label{color:#444;font-size:14px}
input,select,textarea{border-radius:3px;border-color:#ccc;font-size:15px}
input:focus,select:focus,textarea:focus{outline:2px solid #99e2fb;outline-offset:2px;border-color:#007fae}
button{background:#00aeef;color:#082653;border:2px solid #00aeef;border-radius:3px;font-size:17px;font-weight:700;padding:9px 19px;line-height:1.5}
button:hover{background:#007fae;border-color:#007fae;color:#fff;filter:none}
button:focus-visible,a:focus-visible{outline:3px solid #2e2545;outline-offset:3px}
button:disabled{opacity:1;background:#e5e9ec;border-color:#e5e9ec;color:#69747d}
.secondary{background:#fff;color:#007fae;border-color:#007fae}
.secondary:hover{color:#fff}
.notice{border-radius:3px;background:#ebf8fc;color:#2e2545;border-left:3px solid #00aeef}
.neutral{background:#f3f5f7;color:#4c5663;border-left-color:#9ba7b2}
.hint{color:#666;line-height:1.6}
.summary{border-top:4px solid #00aeef}
.summary h2{font-size:25px}
.summary .course{font-weight:700;color:#333}
.summary .total{color:#111}
.summary .submit{font-size:16px}
.check input{accent-color:#007fae}
.footer{background:#fff;color:#666}
@media(max-width:850px){.layout{grid-template-columns:1fr}.summary{position:static}.wrap{padding-left:22px;padding-right:22px}.hero{padding-top:30px}h1{font-size:35px}.headnote{display:none}}
@media(max-width:500px){.brand img{width:min(300px,100%);height:66px}.brand{max-width:100%}.head{min-height:74px}.hero{padding-top:25px}h1{font-size:30px;letter-spacing:-.4px}.lead{font-size:15px}.card{padding:21px}.cardtitle h2{font-size:20px}.grid{grid-template-columns:1fr}.inline button{width:100%}}
