/* Fifth Gear GM Driving School - custom styles (loaded after Bootstrap + tailwind.css) */
:root{--gold:#F5B700;--signal:#D91E18;--ink:#0A0A0A;--coal:#171717}
html{scroll-behavior:smooth}
body{background:#0A0A0A;color:#f3f3f3;font-family:"Source Sans 3",sans-serif}
.page-fade{animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.stripe{background:repeating-linear-gradient(135deg,#F5B700 0 14px,#0A0A0A 14px 28px);height:10px}
.nav-btn{border-bottom:3px solid transparent;transition:color .2s}
.nav-btn:hover{color:#F5B700}
.nav-btn.active{color:#F5B700;border-bottom-color:#D91E18}
.tab.active{background:#F5B700 !important;color:#0A0A0A !important;border-color:#F5B700 !important}
:focus-visible{outline:3px solid #F5B700;outline-offset:2px}
input,select,textarea{background:#171717;border:1px solid #3a3a3a;color:#fff;border-radius:6px;padding:.65rem .8rem;width:100%}
input:focus,select:focus,textarea:focus{border-color:#F5B700;outline:none}
label.f,span.f{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem;color:#ddd}
.err{color:#ff6b66;font-size:.8rem;margin-top:.2rem;display:none}
.invalid+.err{display:block}
.invalid{border-color:#D91E18 !important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status.is-ok{color:#4ade80 !important}.form-status.is-err{color:#ff6b66 !important}
button:disabled{opacity:.6;cursor:wait}
.course-card,.contact-card{transition:transform .3s,box-shadow .3s}
.course-card:hover,.contact-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px rgba(245,183,0,.15)}

/* Lightbox thumbnails */
.lb-item{display:block;position:relative;overflow:hidden;cursor:zoom-in}
.lb-item img{transition:transform .6s ease}
.lb-item:hover img{transform:scale(1.07)}
.lb-item::after{content:'';position:absolute;inset:0;background:rgba(10,10,10,.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5B700' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E") center/44px no-repeat;opacity:0;transition:opacity .3s}
.lb-item:hover::after{opacity:1}
.glightbox-clean .gslide-description{background:#171717}.glightbox-clean .gslide-title{color:#F5B700;font-family:Oswald,sans-serif;margin:0}

/* Enquiry popup - slides up from the bottom */
.enq-modal .modal-content{background:#171717;border:1px solid rgba(255,255,255,.1);border-top:4px solid #F5B700;border-radius:.6rem;color:#f3f3f3}
.enq-modal .modal-header{border-bottom:1px solid rgba(255,255,255,.1)}
.enq-modal.fade .modal-dialog{transform:translateY(90px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.enq-modal.show .modal-dialog{transform:none}
.enq-modal input,.enq-modal select,.enq-modal textarea{background:#0A0A0A}
.modal-backdrop.show{opacity:.75}

/* Floating buttons */
.fab-stack{position:fixed;right:18px;bottom:18px;z-index:1040;display:flex;flex-direction:column;gap:12px}
.fab{position:relative;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:0;box-shadow:0 8px 24px rgba(0,0,0,.5);transition:transform .25s}
.fab:hover{transform:translateY(-3px) scale(1.06);color:#fff}
.fab svg{width:26px;height:26px}
.fab-enq{background:var(--gold);color:#0A0A0A}.fab-enq:hover{color:#0A0A0A}
.fab-call{background:var(--signal)}
.fab-wa{background:#25d366}
.fab-wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:fabPulse 2s infinite}
.fab-label{position:absolute;right:66px;white-space:nowrap;background:#171717;border:1px solid rgba(245,183,0,.4);color:#fff;font:600 13px/1 "Source Sans 3",sans-serif;padding:8px 11px;border-radius:6px;opacity:0;transform:translateX(8px);pointer-events:none;transition:.25s}
.fab:hover .fab-label{opacity:1;transform:none}
@keyframes fabPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
@media (max-width:575px){.fab-stack{right:12px;bottom:12px;gap:10px}.fab{width:48px;height:48px}.fab svg{width:23px;height:23px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
