/* Bullet Point - custom styles (loaded after Bootstrap + tailwind.css) */
:root{color-scheme:dark;--race:#d91e26;--gold:#c9a24a;--panel:#151516;--matte:#0b0b0c;--cream:#f3ead7}
body{background:#0b0b0c;color:#f3ead7;font-family:Inter,sans-serif}
.page-fade{animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-bg{position:relative;overflow:hidden;background:#0b0b0c}.hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg, #0b0b0c 0%, rgb(11 11 12 / 67%) 35%, rgb(11 11 12 / 24%) 65%, rgba(11, 11, 12, .15) 100%), radial-gradient(circle at 80% 20%, rgba(217, 30, 38, .18), transparent 55%)}
.bp-card{transition:.3s}.bp-card:hover{transform:translateY(-6px);border-color:#d91e26 !important;box-shadow:0 10px 30px rgba(217,30,38,.2)}
.nav-btn{border-bottom:2px solid transparent;transition:color .2s}
.nav-btn:hover,.nav-btn.on{color:#d91e26}
.nav-btn.on{border-bottom-color:#d91e26}
.inp{width:100%;background:#0b0b0c;border:1px solid #3a3a3c;border-radius:.5rem;padding:.7rem .9rem;color:#f3ead7}
.inp:focus{outline:none;border-color:#c9a24a}
.inp:user-invalid{border-color:#d91e26}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status.is-ok{color:#4ade80}.form-status.is-err{color:#ff6b66}
button:disabled{opacity:.6;cursor:wait}

/* 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(11,11,12,.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a24a' 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:#151516}.glightbox-clean .gslide-title{color:#c9a24a;font-family:Oswald,sans-serif;margin:0}

/* Enquiry popup - slides up from the bottom */
.enq-modal .modal-content{background:#151516;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:#f3ead7}
.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}
.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:#0b0b0c}.fab-enq:hover{color:#0b0b0c}
.fab-call{background:var(--race)}
.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:#151516;border:1px solid rgba(255,255,255,.12);color:#f3ead7;font:600 13px/1 Inter,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){*{animation:none!important;transition:none!important}}

/* ===== v4 additions ===== */
.mb-3{margin-bottom:.75rem}.justify-center{justify-content:center}.underline{text-decoration:underline}
@media (min-width:768px){.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}}

/* Form field errors */
.err{color:#ff6b66;font-size:.8rem;margin-top:.25rem;display:none}
.invalid+.err{display:block}
.inp.invalid{border-color:#d91e26 !important}

/* Hero background video (MP4 or YouTube) */
.hero-media{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-media video{width:100%;height:100%;object-fit:cover;opacity:1}
.hero-media .yt-wrap{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%)}
.hero-media iframe{width:100%;height:100%;border:0;opacity:1}

/* Workshop vertical video */
.bp-vid{display:grid;gap:2rem;align-items:center;background:#151516;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;position:relative;overflow:hidden}
.bp-vid:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(217,30,38,.22),transparent 55%);pointer-events:none}
.bp-vid>*{position:relative}
.bp-vid-frame{width:100%;max-width:300px;margin:0 auto;aspect-ratio:9/16;border-radius:1.25rem;overflow:hidden;border:2px solid rgba(201,162,74,.5);box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 0 8px rgba(217,30,38,.08);background:#0b0b0c}
.bp-vid-frame video{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:768px){.bp-vid{grid-template-columns:1fr 320px;padding:2.5rem 3rem}}

/* Gallery page */
.bp-gal{columns:2;column-gap:12px}
@media (min-width:768px){.bp-gal{columns:3;column-gap:16px}}
.bp-gal-item{break-inside:avoid;margin-bottom:12px;border-radius:.75rem;border:1px solid rgba(255,255,255,.1)}
@media (min-width:768px){.bp-gal-item{margin-bottom:16px}}
.bp-gal-item img{width:100%;height:auto;display:block}
.bp-gal-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:.5rem .75rem;font-size:.8rem;color:#c9a24a;background:linear-gradient(0deg,rgba(11,11,12,.9),transparent)}
.bp-gal-video{display:grid;gap:1.5rem;align-items:center;background:#151516;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem}
.bp-gal-video .bp-vid-frame{max-width:240px}
@media (min-width:768px){.bp-gal-video{grid-template-columns:240px 1fr;gap:2.5rem}}

/* Enquiry page */
.bp-enq-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}
.bp-enq-hero img{opacity:.35}
.bp-enq-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0c 25%,rgba(11,11,12,.4)),radial-gradient(circle at 80% 20%,rgba(217,30,38,.3),transparent 55%)}
.bp-enq-grid{display:grid;gap:1.5rem;align-items:start}
.bp-enq-side{display:none}
@media (min-width:1024px){.bp-enq-grid{grid-template-columns:2fr 1fr}.bp-enq-side{display:grid;gap:1rem;position:sticky;top:7rem}}
.bp-enq-side img{width:100%;height:12rem;object-fit:cover;border-radius:.75rem;border:1px solid rgba(255,255,255,.1)}

/* Google review floating badge */
.g-review{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:1040;width:88px;height:88px;border-radius:50%;padding:4px;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);box-shadow:0 8px 24px rgba(0,0,0,.5);text-decoration:none;transition:transform .25s;animation:gRevIn .8s ease .6s both}
.g-review:hover{transform:translateY(-50%) scale(1.07)}
.g-review-in{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;text-align:center}
.g-review-t{font:600 10px/1.15 Inter,sans-serif;color:#444}
.g-review-g{font:700 17px/1.1 Arial,sans-serif;letter-spacing:-.3px}.g-review-g b{font-weight:700}
.g-review-s{font-size:9px;color:#FBBC05;letter-spacing:1px;margin-top:1px}
@keyframes gRevIn{from{opacity:0;transform:translate(30px,-50%)}to{opacity:1;transform:translateY(-50%)}}
@keyframes gRevInM{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@media (max-width:575px){.g-review{width:64px;height:64px;right:4px;top:auto;bottom:196px;transform:none;animation-name:gRevInM}.g-review:hover{transform:scale(1.07)}.g-review-t{font-size:7.5px}.g-review-g{font-size:12.5px}.g-review-s{font-size:6.5px}}
