/*
Theme Name: Classic Movers Local
Theme URI: https://classicmoversadelaide.com/
Description: The Classic Movers Adelaide website for Elementor. After activating, go to Leads > Website pages and click "Create pages in Elementor". Every page is then editable with Elementor. Includes the moving cost calculator, quote form, lead saving with email alerts, SEO tags, structured data and redirects.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Classic Movers Adelaide
Text Domain: classic-movers-local
*/
:root{
  --navy:#001C49;--navy-2:#0B2D63;--navy-3:#133A78;
  --orange:#FC5000;--orange-dk:#C84300;
  --paper:#FFFFFF;--tint:#EEF1F5;--ink:#0E1B33;--muted:#4A576B;--line:#D7DDE6;
  --on-navy:#FFFFFF;--on-navy-2:#C9D4E6;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1200px;--r:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font);font-stretch:100%;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:var(--navy);padding:8px 14px;z-index:100;font-weight:700}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--font);font-stretch:112%;font-weight:800;line-height:1.05;letter-spacing:-.015em;margin:0;color:inherit}
h1{font-size:clamp(2.5rem,5.4vw,4.4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:18px}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0}
.lede{font-size:1.15rem;line-height:1.6;max-width:58ch}
.body{color:var(--muted);margin-bottom:16px;max-width:62ch}
.muted{color:var(--muted)}.small{font-size:.9rem}
.center{text-align:center;margin-top:36px}
.link{color:var(--orange-dk);font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px}
.ic{flex:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 1rem/1 var(--font);font-stretch:105%;padding:16px 24px;border-radius:var(--r);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-o,.btn-primary{background:var(--orange);color:#001C49}
.btn-o:hover,.btn-primary:hover{background:#FF6A26}
.btn-line{border-color:currentColor;color:var(--navy);background:transparent}

.btn-line:hover{background:var(--tint)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-wa{background:#25D366;color:#06301A}
.btn-wa:hover{background:#3BE07A}
.btn-sm{padding:11px 16px;font-size:.95rem}
.btn.full{width:100%;margin-top:10px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:underline;cursor:pointer}

/* Header */
.topbar{background:var(--navy);color:var(--on-navy-2);font-size:.88rem}
.topbar-in{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.topbar span{display:inline-flex;align-items:center;gap:7px}
.topbar a{color:#fff;font-weight:700;text-decoration:none;margin-left:6px}
.site-head{position:sticky;top:0;z-index:50;background:var(--paper);box-shadow:0 1px 0 var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:80px}
.logo img{width:171px;height:auto}
.nav{display:flex;gap:4px}
.nav a{text-decoration:none;font-weight:600;font-size:.97rem;padding:10px 12px;border-radius:var(--r);color:var(--ink)}
.nav a:hover{background:var(--tint)}
.nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--orange);border-radius:0}
.head-cta{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;background:none;border:2px solid var(--line);border-radius:var(--r);padding:9px 12px;font:700 .9rem var(--font);color:var(--ink);cursor:pointer}
@media (max-width:1080px){
  .nav{display:none}.menu-btn{display:block}
  .nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:8px 16px 18px;box-shadow:0 12px 24px rgba(0,28,73,.12)}
  .nav.open a{padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0}
}
@media (max-width:640px){.topbar-in span:first-child{display:none}.topbar-in{justify-content:center}.logo img{width:140px}.head-in{height:70px}.nav.open{top:70px}}

/* Hero: full-bleed crew photo with a card over it */
.hero{position:relative;background:var(--navy);min-height:640px;display:flex;align-items:flex-end}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,73,.55) 0%,rgba(0,28,73,.15) 60%,rgba(0,28,73,0) 100%)}
.hero-in{position:relative;width:100%;padding-top:120px;padding-bottom:56px}
.hero-card{background:var(--paper);max-width:620px;padding:40px 40px 32px;border-radius:var(--r);border-top:6px solid var(--orange);box-shadow:0 30px 60px rgba(0,20,51,.28)}
.hero-kicker{display:flex;align-items:center;gap:8px;color:var(--orange-dk);font-weight:700;margin-bottom:14px}
.hero-card h1{color:var(--navy);margin-bottom:18px}

.hero-card .lede{color:var(--muted);margin-bottom:26px}
.hero-trust{list-style:none;padding:22px 0 0;margin:26px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:600;font-size:.95rem}
.hero-trust li{display:flex;align-items:center;gap:8px}
.hero-trust .ic{color:var(--orange-dk)}
@media (max-width:760px){
  .hero{display:block;min-height:0}
  .hero-img{position:relative;height:300px}
  .hero-in{padding:0 0 32px;margin-top:-48px}
  .hero-card{padding:28px 22px 24px;margin:0 4px}
}

/* Sections */
.sec{padding:96px 0}
.sec-tint{background:var(--tint)}
.sec-navy{background:var(--navy);color:var(--on-navy)}
.sec-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:44px}
.sec-top h2{margin:0}
.sec-top p{color:var(--muted);max-width:46ch}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.two-wide{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
@media (max-width:900px){.two,.two-wide{grid-template-columns:1fr;gap:40px}.sec{padding:68px 0}}

/* Rate board */
.rateboard{background:var(--navy);color:#fff;border-radius:var(--r);padding:30px 30px 24px;box-shadow:12px 12px 0 var(--orange)}
.rb-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:2px solid rgba(255,255,255,.18)}
.rb-head h3{font-size:1.5rem}
.rb-head span{color:var(--on-navy-2);font-size:.88rem}
.rateboard ul{list-style:none;margin:0;padding:0}
.rateboard li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.rb-crew b{display:block;font-size:1.05rem}
.rb-crew small{color:var(--on-navy-2);font-size:.86rem}
.rb-price{font-stretch:112%;font-weight:800;font-size:2rem;color:var(--orange);white-space:nowrap;line-height:1}
.rb-price small{font-size:.85rem;color:var(--on-navy-2);font-weight:500;margin-left:2px}
.rb-foot{font-size:.9rem;color:var(--on-navy-2);margin-top:16px}
.rb-foot a{color:#fff;font-weight:700}
@media (max-width:480px){.rateboard{padding:22px 20px 18px;box-shadow:8px 8px 0 var(--orange)}.rb-price{font-size:1.6rem}}

/* Services */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:2px solid var(--navy)}

.svc{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.svc-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:var(--r);background:var(--orange);color:#001C49}
.svc-t b{display:block;font-stretch:108%;font-size:1.15rem;margin-bottom:2px}
.svc-t span{color:var(--muted);font-size:.95rem}
.svc-go{font-weight:700;font-size:.9rem;color:var(--orange-dk);padding:8px 12px;border:2px solid currentColor;border-radius:var(--r)}
.svc:hover .svc-go{background:var(--orange);color:#001C49;border-color:var(--orange)}
@media (max-width:820px){.svc-grid{grid-template-columns:1fr}.svc-go{display:none}}

/* Local map section */
.local-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.local-text p{color:var(--on-navy-2);max-width:56ch;margin-bottom:26px}
.local-list{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:14px}
.local-list li{padding:14px 18px;border-left:4px solid var(--orange);background:rgba(255,255,255,.05)}
.local-list b{display:block}
.local-list span{color:var(--on-navy-2);font-size:.95rem}
@media (max-width:900px){.local-in{grid-template-columns:1fr;gap:40px}}
.adl-map{width:100%;height:auto;max-height:640px;display:block}
.adl-map .m-sea{fill:var(--navy-2)}
.adl-map .m-coast{fill:none;stroke:#6E8BB8;stroke-width:2}
.adl-map .m-hill{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1.5}
.adl-map .m-label{fill:#6E8BB8;font:600 13px var(--font);font-style:italic}
.adl-map .m-route{fill:none;stroke:var(--orange);stroke-width:1.6;stroke-dasharray:4 5;opacity:.75}
.adl-map .m-place circle{fill:#fff}
.adl-map .m-place text{fill:#DCE5F2;font:600 12.5px var(--font)}
.adl-map .m-depot circle:nth-of-type(1){fill:rgba(252,80,0,.25)}
.adl-map .m-depot circle:nth-of-type(2){fill:var(--orange);stroke:#fff;stroke-width:2.5}
.adl-map .m-depot text{fill:#fff;font:800 14px var(--font)}
.adl-map.draw .m-route{stroke-dasharray:420;stroke-dashoffset:420;animation:route 1.4s ease-out forwards;animation-delay:var(--d)}
@keyframes route{to{stroke-dashoffset:0;stroke-dasharray:4 5}}
.areas .adl-map .m-sea{fill:var(--tint)}
.areas-map{background:var(--navy);border-radius:var(--r);padding:16px}

/* Steps (real sequence) */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding-top:68px}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:50px;height:50px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.3rem;font-stretch:112%}
.steps li::after{content:"";position:absolute;top:25px;left:62px;right:-16px;height:2px;background:repeating-linear-gradient(90deg,var(--orange) 0 8px,transparent 8px 14px)}
.steps li:last-child::after{display:none}
.steps h3{margin-bottom:8px}
.steps p{color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li::after{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Photos */
.photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:240px 240px;gap:14px}
.photos img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);background:var(--line)}
.photos img:first-child{grid-row:span 2}
@media (max-width:760px){.photos{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.photos img:first-child{grid-column:span 2;grid-row:auto}}

/* FAQ */
.faq{border-top:2px solid var(--navy)}

.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-weight:700;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-size:1.2rem;color:var(--orange-dk)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 44px 22px 0;color:var(--muted)}

/* Guides */
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.guide{display:flex;flex-direction:column;gap:10px;padding:26px;background:var(--paper);border-radius:var(--r);border-top:4px solid var(--navy);text-decoration:none}
.guide:hover{border-top-color:var(--orange)}
.g-tag{font-size:.85rem;font-weight:700;color:var(--orange-dk)}
.guide b{font-stretch:108%;font-size:1.2rem;line-height:1.25}
.guide span:last-child{color:var(--muted);font-size:.95rem}
.sec:not(.sec-tint) .guide{background:var(--tint)}
@media (max-width:900px){.guides{grid-template-columns:1fr}}

/* CTA */
.cta{background:var(--orange);color:#001C49;padding:64px 0}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta h2{margin-bottom:8px}
.cta .btn-o{background:#001C49;color:#fff}
.cta .btn-o:hover{background:#0B2D63}
.cta .btn-ghost{border-color:#001C49;color:#001C49}
.cta .btn-ghost:hover{background:rgba(0,28,73,.08)}

/* Page header */
.ph{background:var(--navy);color:#fff;padding:56px 0 64px}
.ph-in{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.ph.has-img .ph-in{grid-template-columns:1.1fr .9fr}
.ph h1{margin-bottom:16px;max-width:18ch}
.ph .lede{color:var(--on-navy-2);margin-bottom:26px}
.ph .btns{margin-top:4px}
.ph-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:12px 12px 0 var(--orange);background:var(--navy-2)}
.crumb{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:6px;font-size:.9rem;color:var(--on-navy-2)}
.crumb li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumb a{color:#fff}
@media (max-width:900px){.ph.has-img .ph-in{grid-template-columns:1fr}.ph-img{max-width:520px}}

/* Detail pages */
.detail{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start}
.side{position:sticky;top:110px}
.side-card{border:2px solid var(--line);border-radius:var(--r);padding:26px}
.side-card h3{margin:14px 0 10px}
.side-card .svc-ic{width:48px;height:48px}
.side-rate{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:10px}
.side-rate span{font-stretch:112%;font-weight:800;font-size:1.8rem;color:var(--orange-dk)}
.side-rate small{font-size:.8rem;color:var(--muted)}
.side-call{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-weight:700;text-decoration:none}
@media (max-width:960px){.detail{grid-template-columns:1fr;gap:40px}.side{position:static}}
.prose h2{font-size:1.8rem;margin:48px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:16px;max-width:68ch}
.prose ul:not(.ticks){padding-left:22px;margin:0 0 20px}
.prose li{margin-bottom:8px}
.prose a{color:var(--orange-dk);font-weight:600}
.prose table{margin-bottom:24px}
.ticks{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks .ic{color:#fff;background:var(--navy);border-radius:50%;padding:3px;width:24px;height:24px;margin-top:1px}

.fit{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fit.one{grid-template-columns:1fr}
.fit div{background:var(--tint);border-radius:var(--r);padding:18px 20px;border-left:4px solid var(--orange)}
.fit b{display:block;margin-bottom:4px}
.fit span{color:var(--muted);font-size:.95rem}
@media (max-width:600px){.fit{grid-template-columns:1fr}}
.note{background:var(--tint);border-radius:var(--r);padding:16px 18px;color:var(--muted)}
.stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stack img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r);background:var(--line)}
.stack img:last-child{margin-top:48px}

/* Tables */
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px 12px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.88rem;color:var(--muted);border-bottom:2px solid var(--navy)}

td.num,th.num{text-align:right;padding-right:0;white-space:nowrap}
td.num{font-stretch:112%;font-weight:800;font-size:1.15rem;color:var(--orange-dk)}

/* Areas */
.areas{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.areas-map{position:sticky;top:110px}
.areas .adl-map .m-sea{fill:var(--navy-2)}
.regions{display:grid;gap:0;border-top:2px solid var(--navy)}
.region{padding:26px 0;border-bottom:1px solid var(--line)}
.region h2{font-size:1.4rem;margin-bottom:8px}
.region p{color:var(--muted);margin-bottom:8px}
.region .subs{color:var(--ink);font-weight:600}
@media (max-width:900px){.areas{grid-template-columns:1fr}.areas-map{position:static}}

/* Contact + forms */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
.contact-list{display:grid;gap:12px}
.contact-list>*{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--r);background:var(--tint);text-decoration:none}
.contact-list svg{color:var(--orange-dk)}
.contact-list small{display:block;color:var(--muted);font-size:.85rem}
.contact-list b{font-size:1.1rem;word-break:break-word}
.map{margin-top:16px;border-radius:var(--r);overflow:hidden}
.map iframe{display:block;width:100%;height:260px;border:0}
.form-card{background:var(--paper);border:2px solid var(--navy);border-radius:var(--r);padding:32px;box-shadow:10px 10px 0 var(--orange)}

.form-card>h2{font-size:1.7rem;margin-bottom:6px}
.form-card>p{color:var(--muted);margin-bottom:24px}
form.quote{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.f{display:flex;flex-direction:column;gap:6px}
.f.full{grid-column:1/-1}
.f label{font-weight:700;font-size:.92rem}
.f label span{font-weight:400;color:var(--muted)}
.f input,.f select,.f textarea{font:400 1rem var(--font);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:var(--r);padding:12px 14px;width:100%}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(252,80,0,.3)}

.f textarea{min-height:110px;resize:vertical}
.f .err{display:none;font-size:.85rem;color:#B3261E}

.f.invalid input,.f.invalid select{border-color:#B3261E}
.f.invalid .err{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.form-foot p{font-size:.88rem;color:var(--muted);max-width:36ch}
.sent{display:none;border-left:4px solid var(--orange);background:var(--tint);padding:24px;border-radius:var(--r)}
.sent h3{margin-bottom:6px}
@media (max-width:600px){form.quote{grid-template-columns:1fr}.form-card{padding:22px;box-shadow:6px 6px 0 var(--orange)}}

/* Calculator */
.calc{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:start}
.calc fieldset{border:0;padding:0;margin:0 0 34px;min-width:0}
.calc legend{font-stretch:112%;font-weight:800;font-size:1.35rem;margin-bottom:14px;padding:0}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.choice{position:relative}
.choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.choice span{display:block;height:100%;border:2px solid var(--line);border-radius:var(--r);padding:12px 14px;font-weight:600;font-size:.95rem;background:var(--paper)}
.choice span small{display:block;font-weight:400;color:var(--muted);font-size:.82rem}
.choice input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}
.choice input:checked+span small{color:var(--on-navy-2)}

.choice input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.extras{border-top:2px solid var(--line)}
.extra{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.extra small{color:var(--muted);margin-left:6px}
.stepper{display:flex;align-items:center;border:2px solid var(--line);border-radius:var(--r)}
.stepper button{width:38px;height:38px;border:0;background:none;font-size:1.2rem;color:var(--ink);cursor:pointer}
.stepper output{min-width:26px;text-align:center;font-weight:800}
.toggle{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer}
.toggle input{width:20px;height:20px;margin-top:3px;accent-color:var(--orange)}
.result{position:sticky;top:110px;background:var(--navy);color:#fff;border-radius:var(--r);padding:28px;box-shadow:12px 12px 0 var(--orange)}
.result h2{color:#fff;margin-bottom:6px}
.result .muted,.result .small{color:var(--on-navy-2)}
.result .f label{color:#fff}
.result .f input{border-color:transparent}
.result .toggle{color:#fff}
.result a{color:#fff}
.result .big{font-stretch:112%;font-weight:800;font-size:clamp(2.2rem,4vw,3rem);color:var(--orange);line-height:1;margin:12px 0 6px}
.result dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:22px 0;font-size:.95rem}
.result dt{color:var(--on-navy-2)}
.result dd{margin:0;text-align:right;font-weight:700}
.result .linkbtn{color:var(--on-navy-2)}
#gateForm{display:grid;gap:12px}
#gateForm .btn{margin-top:4px}
@media (max-width:900px){.calc{grid-template-columns:1fr}.result{position:static}.calc-row{grid-template-columns:1fr}}

/* Footer */
.foot{background:var(--navy);color:var(--on-navy-2);padding:72px 0 0;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot-logo{width:171px;background:#fff;border-radius:6px;padding:6px 10px;margin-bottom:18px}
.foot p{margin-bottom:14px;max-width:36ch}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot h4{color:#fff;font-size:1rem;margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(255,255,255,.15);margin-top:56px;padding-top:22px;padding-bottom:24px;font-size:.86rem}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot-grid>*{min-width:0;overflow-wrap:anywhere}

/* Mobile call bar */
.callbar{display:none}
@media (max-width:640px){
  .callbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);padding-bottom:env(safe-area-inset-bottom,0px)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:7px;padding:15px 6px;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem}
  .callbar a:nth-child(2){background:#25D366;color:#06301A}
  .callbar a:last-child{background:var(--orange);color:#001C49}
  body{padding-bottom:56px}
}
.two>*,.two-wide>*,.detail>*,.calc>*,.contact>*,.areas>*,.local-in>*,.ph-in>*{min-width:0}

/* ---------- WordPress additions ---------- */
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav-list li{position:relative}
.nav-list a{display:block;text-decoration:none;font-weight:600;font-size:.97rem;padding:10px 12px;border-radius:var(--r);color:var(--ink)}
.nav-list a:hover{background:var(--tint)}
.nav-list .current-menu-item>a,.nav-list .current-page-ancestor>a,.nav-list .current_page_parent>a{box-shadow:inset 0 -3px 0 var(--orange);border-radius:0}
.nav-list .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;list-style:none;margin:0;padding:8px;background:#fff;box-shadow:0 12px 24px rgba(0,28,73,.14);border-radius:var(--r);z-index:60}
.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu{display:block}
.custom-logo-link img,.logo img{width:171px;height:auto}
@media (max-width:1080px){
  .nav.open .nav-list{flex-direction:column;gap:0}
  .nav.open .nav-list a{padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0}
  .nav.open .sub-menu{display:block;position:static;box-shadow:none;padding:0 0 0 14px}
}
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:46px}}
@media (max-width:600px){.admin-bar .site-head{top:0}}
.ph .meta{color:var(--on-navy-2);font-size:.95rem}
.ph h1{color:#fff}
.side .cml{margin-bottom:20px}
.side-card h3{margin-top:0}
.prose img{border-radius:var(--r)}
.prose h3{margin:28px 0 10px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.nav-links{display:flex;gap:14px;margin-top:28px}
.elementor-widget-text-editor a{color:var(--orange-dk)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- Map ---------- */
.cm-map svg{width:100%;height:auto;display:block}
.cm-map .m-sea{fill:var(--navy-2)}
.cm-map .m-coast{fill:none;stroke:#6E8BB8;stroke-width:2}
.cm-map .m-hill{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1.5}
.cm-map .m-label{fill:#6E8BB8;font:italic 600 13px var(--font)}
.cm-map .m-route{fill:none;stroke:var(--orange);stroke-width:1.6;stroke-dasharray:4 5;opacity:.75}
.cm-map .m-place circle{fill:#fff}
.cm-map .m-place text{fill:#DCE5F2;font:600 12.5px var(--font)}
.cm-map .m-depot circle:nth-of-type(1){fill:rgba(252,80,0,.25)}
.cm-map .m-depot circle:nth-of-type(2){fill:var(--orange);stroke:#fff;stroke-width:2.5}
.cm-map .m-depot text{fill:#fff;font:800 14px var(--font)}
.cm-map svg.draw .m-route{stroke-dasharray:420;stroke-dashoffset:420;animation:route 1.4s ease-out forwards;animation-delay:var(--d)}

/* ---------- Built-in shortcodes in this design ---------- */
body .cml{--cml-ink:#001C49;--cml-text:#0E1B33;--cml-muted:#4A576B;--cml-line:#D7DDE6;--cml-soft:#EEF1F5;--cml-accent:#FC5000;--cml-accent-hover:#FF6A26;font-family:var(--font)}
body .cml .cml-btn{color:#001C49!important;font-family:var(--font);font-weight:700}
.cml .cml-ratecard{background:var(--navy);color:#fff;border:0;border-radius:var(--r);padding:30px 30px 24px;box-shadow:12px 12px 0 var(--orange)}
.cml .cml-ratecard::before{display:none}
.cml .cml-rc-title{border-bottom:2px solid rgba(255,255,255,.18)}
.cml .cml-rc-title h3{color:#fff;font-family:var(--font);font-weight:800;font-size:1.5rem}
.cml .cml-rc-title span,.cml .cml-what small,.cml .cml-price small{color:var(--on-navy-2)}
.cml .cml-rate{align-items:center;border-bottom:1px solid rgba(255,255,255,.12);padding:15px 0}
.cml .cml-what{color:#fff;font-weight:700}
.cml .cml-dots{border:0}
.cml .cml-price{color:var(--orange);font-family:var(--font);font-weight:800;font-size:2rem;line-height:1}
.cml .cml-rc-foot{border-top:0;color:var(--on-navy-2)}
.cml .cml-rc-foot a{color:#fff}
@media (max-width:480px){.cml .cml-ratecard{padding:22px 20px 18px;box-shadow:8px 8px 0 var(--orange)}.cml .cml-price{font-size:1.6rem}}
.cml .cml-tbl th{border-bottom:2px solid var(--navy)}
.cml .cml-tbl .cml-num{font-family:var(--font);font-weight:800;color:var(--orange-dk)}
.cml .cml-tbl th.cml-num{color:var(--muted);font-weight:600}
.cml .cml-posts{border:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cml .cml-post{display:flex;flex-direction:column;gap:10px;padding:26px;background:#fff;border-radius:var(--r);border-top:4px solid var(--navy);border-bottom:0}
.cml .cml-post:hover{border-top-color:var(--orange)}
.cml .cml-post strong{font-family:var(--font);font-weight:800;font-size:1.2rem}
.cml .cml-tag{color:var(--orange-dk);font-weight:700}
@media (max-width:900px){.cml .cml-posts{grid-template-columns:1fr}}
.cml.cml-reviews h2{font-family:var(--font);font-weight:800;color:var(--ink)}
/* Calculator */
.cml .cml-choice span{border-width:2px;font-weight:600}
.cml .cml-choice input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:none}
.cml .cml-choice input:checked+span small{color:var(--on-navy-2)}
.cml legend{font-family:var(--font);font-weight:800}
.cml .cml-result{background:var(--navy);color:#fff;border:0;border-radius:var(--r);box-shadow:12px 12px 0 var(--orange)}
.cml .cml-result h3{color:#fff;font-family:var(--font);font-weight:800}
.cml .cml-result .cml-hint,.cml .cml-result .cml-small,.cml .cml-result dt,.cml .cml-result .cml-link{color:var(--on-navy-2)}
.cml .cml-result .cml-f label,.cml .cml-result .cml-toggle,.cml .cml-result dd{color:#fff}
.cml .cml-result a:not(.cml-btn){color:#fff}
.cml .cml-big{color:var(--orange);font-family:var(--font);font-weight:800}
.cml .cml-result .cml-err{color:#FFB4A8}
.cml .cml-f input,.cml .cml-f select,.cml .cml-f textarea{border-width:2px}
.cml #cml-wa-btn{background:#25D366!important;color:#06301A!important}
.cml-quote-wrap .cml-sent{border:0;border-left:4px solid var(--orange);background:var(--tint)}
