/* Total Air (10 Nov 2026): the few things that differ from the Westplumb look (css/base.css + home.css, recoloured by
   content/recolour.py to Total Air's cyan on near-black navy). */

/* heroes are photos, not Westplumb's videos: the <img> keeps .hero-vid, so the same desktop panel + mask and phone cover apply */
.ve .hero picture{display:contents}
.svc-page .hero{background-image:none}

/* logo: the TOTAL AIR lockup is very wide (7.7:1) */
.site-header .logo img{height:32px;width:auto;display:block}
@media (max-width:440px){.site-header .logo img{height:24px}}
.foot-brand img{height:38px;width:auto;align-self:flex-start;object-fit:contain}

/* video band: a photo card instead of the video */
img.vband-vid{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}

/* phones: hero chip strip splits 2-up when a page has 2 chips */
@media (max-width:700px){.ve .hero-chips:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the GHL form is its own dark card (content/ghl-form.css), so the page's white Westplumb card around it goes */
.enq-card{background:transparent;padding:0;box-shadow:none;border-radius:16px}

/* street map: keyless OpenStreetMap tiles, darkened; brighter streets and a soft dot glow (Jarryd's preference, 10 Nov) */
#lmap{--to:.62}
#lmap .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) grayscale(1) brightness(1.15) contrast(1.1)}
.lmap-glow path{fill-opacity:calc(.07 / var(--lz))}
#lmap[data-f] .lmap-glow path{fill-opacity:.03}
.cov-glow circle{opacity:calc(.09 / var(--z))}

/* fourth region: Rockingham, Kwinana & Peel */
.cov-key.rc,.cov-dots .rc,.area-card.rc,.lp-wrap.rc{--c:#F2C94C}.cov-glow .rc,.lmap-glow .rc{fill:#F2C94C}
.js .areas .cov[data-f="rc"] .cov-dots .rc{opacity:1}
.cov[data-f="rc"] .cov-glow .rc{opacity:.35}
#lmap[data-f="rg"] .lmap-glow .rg,#lmap[data-f="rs"] .lmap-glow .rs,#lmap[data-f="rm"] .lmap-glow .rm,#lmap[data-f="rc"] .lmap-glow .rc{fill-opacity:.16}
.js .areas #lmap[data-f="rc"] .lp-wrap.rc{opacity:1}

/* brands strip (10 Nov, Jarryd): the old page's logo showcase, on white so each logo keeps its own colours */
.brands{background:#fff;padding:34px 0 30px;border-top:1px solid #E6EBF1;border-bottom:1px solid #E6EBF1}
.brands-inner{text-align:center}
.brands .kicker{justify-content:center}
.brands-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 56px}
.brands-list img{height:46px;width:auto;max-width:190px;object-fit:contain;display:block}
.brands-note{margin-top:14px;font-size:14px;color:#575E69}
@media (max-width:700px){.brands{padding:26px 0 22px}.brands-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;justify-items:center}.brands-list img{height:34px;max-width:140px}}

/* map vans + caption (js/fleet.js, 10 Nov): Total Air vans driving illustrative routes, a soft pulse under each */
.tv-wrap{background:none;border:0}
.tvan{position:relative;width:30px;height:30px}
.tvan::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:rgba(0,191,255,.35);animation:tvPulse 2s ease-out infinite}
.tvan .tv-body{position:absolute;inset:0;transition:transform .4s linear;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}
@keyframes tvPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.tv-cap{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;white-space:nowrap;z-index:500;background:rgba(14,24,33,.86);color:#fff;font:700 12.5px var(--body,sans-serif);padding:7px 12px;border-radius:999px;display:flex;align-items:center;gap:8px;pointer-events:none;border:1px solid rgba(0,191,255,.35)}
.tv-cap i{width:12px;height:16px;display:inline-block;border-radius:3px;background:#00BFFF;box-shadow:inset 0 3px 0 #0E1821}
@media (prefers-reduced-motion:reduce){.tvan::before{animation:none}}
/* parked vans: no pulse, slightly dimmer; the visitor's van keeps a slow white pulse so it reads as "near you" */
.tvan.is-parked::before{animation:none;opacity:0}
.tvan.is-parked .tv-body{opacity:.92}
.tvan.is-mine::before{opacity:1;background:rgba(255,255,255,.4);animation:tvPulse 2.6s ease-out infinite}

/* why stats: "Lifetime" is a word, not a number, and at 4-up it overran its box (Jarryd 10 Nov) */
.ve .stat dt.stat-word{font-size:28px;line-height:36px}
/* ...and between 1100 and 1400px the 4-up stat boxes are too narrow for "$1,899" / "Lifetime": 2 x 2 until there's room */
@media (min-width:1100px) and (max-width:1399px){.ve .stats{grid-template-columns:repeat(2,1fr)}}
