/*
Theme Name: Coach2Coast Pro
Theme URI: https://www.coach2coast.ca/
Author: Coach2Coast
Description: Custom responsive WordPress theme for Coach2Coast Driving Academy, Commercial Driver Training pathways, and Charter & Tours.
Version: 10.0.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: coach2coast
*/

:root{
 --navy:#072845;--navy2:#0b3c68;--blue:#086dd3;--blue2:#1da7ff;
 --gold:#e6b534;--gold2:#f4cf62;--ink:#112236;--muted:#617287;
 --soft:#f4f8fc;--line:#e0e9f2;--white:#fff;--danger:#9a311e;
 --shadow:0 18px 52px rgba(7,40,69,.12);--radius:22px;--radius-sm:14px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1200px,calc(100% - 36px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:14px;top:14px;background:#fff;padding:10px;z-index:9999}
.topbar{background:var(--navy);color:#d7e7f4;font-size:.86rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{font-weight:800;color:#fff}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(7,40,69,.08)}.header-row{display:flex;align-items:center;min-height:84px;gap:22px}.site-brand img{width:245px;max-height:70px;object-fit:contain}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:6px}.site-nav li{position:relative}.site-nav a{display:block;padding:12px 11px;font-weight:800;color:#28405a}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{color:var(--blue)}.site-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow)}.site-nav li:hover>.sub-menu{display:block}.site-nav .sub-menu li{width:100%}.site-nav .sub-menu a{padding:10px 12px;border-radius:8px}.site-nav .sub-menu a:hover{background:#eef6fd}.header-cta{display:flex;gap:9px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.8rem;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border-radius:11px;border:0;font-weight:900;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 12px 25px rgba(8,109,211,.24)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#132b42;box-shadow:0 12px 25px rgba(230,181,52,.25)}.btn-white{background:#fff;color:var(--navy)}.btn-outline{background:#fff;border:1px solid #cbd9e7;color:var(--navy)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf6ff 0%,#fff 48%,#fff5d8 100%)}.hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-160px;bottom:-260px;background:rgba(29,167,255,.12)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:48px;padding:76px 0 68px}.eyebrow{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#e9f5ff;color:#0b62ad;font-size:.79rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero h1,.page-hero h1{color:var(--navy);font-size:clamp(2.8rem,5.6vw,5.5rem);line-height:.96;letter-spacing:-.055em;margin:17px 0 20px}.hero h1 span{color:var(--blue)}.hero p{font-size:1.15rem;color:#50647a;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.hero-art{position:relative}.hero-art .frame{background:#fff;border:1px solid var(--line);padding:14px;border-radius:26px;box-shadow:var(--shadow)}.hero-art img{border-radius:18px;aspect-ratio:16/10;object-fit:cover}.hero-badge{position:absolute;left:-24px;bottom:18px;background:#fff;border-radius:16px;padding:13px 15px;box-shadow:var(--shadow);font-weight:900;color:var(--navy)}.hero-badge small{display:block;color:var(--muted);font-weight:700}
.trustbar{background:var(--navy);color:#fff}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trustitem{padding:18px;border-right:1px solid rgba(255,255,255,.13)}.trustitem b{display:block}.trustitem span{color:#bdd2e4;font-size:.88rem}
.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-head h2{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.035em}.section-head p{margin:9px 0 0;color:var(--muted);max-width:720px}.section-kicker{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.79rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:0 8px 28px rgba(7,40,69,.045)}.card .icon{width:52px;height:52px;border-radius:14px;background:#eaf5ff;display:grid;place-items:center;color:var(--blue);font-weight:950;font-size:1.25rem;margin-bottom:14px}.card h3{margin:0 0 8px;color:var(--navy);font-size:1.17rem}.card p{margin:0;color:var(--muted);font-size:.95rem}.card .more{display:inline-flex;margin-top:14px;color:var(--blue);font-weight:900;font-size:.87rem}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.path{padding:32px;border-radius:22px;min-height:270px}.path h3{font-size:2rem;line-height:1.05;margin:0 0 10px}.path p{max-width:550px}.path-blue{background:linear-gradient(135deg,#072845,#0c609f);color:#fff}.path-gold{background:linear-gradient(135deg,#d4a01c,#f2cb59);color:#142d44}.path .pill{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.78rem;font-weight:900;letter-spacing:.06em;margin-bottom:16px}.path-gold .pill{background:rgba(255,255,255,.47)}
.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.class-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;position:relative;overflow:hidden}.class-letter{font-size:3rem;line-height:1;font-weight:950;color:var(--blue);letter-spacing:-.06em}.class-card h3{margin:8px 0 8px;color:var(--navy)}.class-card p{color:var(--muted);font-size:.92rem;margin:0}.class-card .status{display:inline-block;margin-top:13px;padding:5px 8px;border-radius:999px;background:#eef6fd;color:#245b88;font-weight:800;font-size:.72rem}.class-card.featured{background:linear-gradient(145deg,#07325a,#0c69ac);color:#fff}.class-card.featured .class-letter,.class-card.featured h3{color:#fff}.class-card.featured p{color:#d7e9f7}.class-card.featured .status{background:rgba(255,255,255,.14);color:#fff}
.license-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.license-table th,.license-table td{padding:14px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.license-table th{background:#edf6fd;color:var(--navy);font-size:.86rem}.license-table tr:last-child td{border-bottom:0}.license-table strong{color:var(--navy)}
.tool{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:850;color:#334b64;font-size:.87rem}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd9e6;border-radius:10px;padding:12px 13px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,109,211,.12)}.field textarea{min-height:120px;resize:vertical}.result{display:none;margin-top:18px;border-radius:13px;padding:16px;background:#eaf5ff;color:#173b5d}.result strong{font-size:1.15rem;color:var(--navy)}
.notice{border-left:4px solid var(--gold);padding:14px 16px;background:#fff8df;border-radius:10px;color:#5b4a13}.notice.blue{border-left-color:var(--blue);background:#edf7ff;color:#244a6c}.notice.red{border-left-color:#c84c34;background:#fff0ed;color:#743226}
.page-hero{background:linear-gradient(135deg,#eaf6ff,#fff7dc);padding:65px 0}.page-hero h1{margin-bottom:16px}.page-hero p{max-width:800px;color:var(--muted);font-size:1.1rem}.badge-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #d9e5f0;color:#3a526a;font-weight:850;font-size:.8rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.sticky{position:sticky;top:115px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 12px 34px rgba(7,40,69,.06)}.panel h2,.panel h3{color:var(--navy);margin-top:0}.checklist{list-style:none;margin:0;padding:0}.checklist li{position:relative;padding:8px 0 8px 28px;border-bottom:1px solid #edf1f5}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:950}.checklist li:last-child{border-bottom:0}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.fleet-card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.fleet-card .visual{height:220px;background:linear-gradient(135deg,#eaf5ff,#fff8dc);display:grid;place-items:center;padding:12px}.fleet-card .visual img{width:100%;height:100%;object-fit:cover}.fleet-card .body{padding:22px}.fleet-card h3{margin:0 0 7px;color:var(--navy)}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.chip{padding:5px 8px;border-radius:999px;background:#f1f6fa;color:#51677b;font-size:.76rem;font-weight:800}
.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.location{padding:20px;border:1px solid var(--line);background:#fff;border-radius:15px;font-weight:900;color:var(--navy)}.location small{display:block;color:var(--muted);font-weight:600;margin-top:5px}
.faq{display:grid;gap:11px}.faq details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 17px}.faq summary{cursor:pointer;font-weight:900;color:var(--navy)}.faq p{color:var(--muted);margin-bottom:3px}
.lead-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-status{display:none;margin-top:13px;padding:12px 14px;border-radius:10px;background:#eaf8ef;color:#1f6337;font-weight:800}.form-status.error{background:#fff0ed;color:#7d3527}
.cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:38px;border-radius:24px;background:linear-gradient(135deg,#062744,#0d5d9c);color:#fff}.cta h2{margin:0;font-size:2rem}.cta p{margin:6px 0 0;color:#d7e6f2}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.footer{background:#061e34;color:#cfdeea;margin-top:78px;padding:50px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1fr;gap:28px}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;margin:7px 0;color:#c6d6e3}.footer-brand img{background:#fff;border-radius:13px;padding:8px;width:235px}.fineprint{border-top:1px solid rgba(255,255,255,.13);margin-top:30px;padding-top:18px;color:#94adc0;font-size:.84rem}
.source-list{font-size:.9rem}.source-list a{color:var(--blue);font-weight:800;text-decoration:underline}.source-list li{margin:8px 0}
@media(max-width:1050px){.site-nav{display:none;position:fixed;left:0;right:0;top:84px;background:#fff;border-bottom:1px solid var(--line);padding:18px;box-shadow:var(--shadow)}.site-nav.open{display:block}.site-nav ul{align-items:stretch;flex-direction:column}.site-nav .sub-menu{position:static;box-shadow:none;border:0;padding-left:18px;display:block}.menu-toggle{display:block;margin-left:auto}.header-cta .btn:first-child{display:none}.hero-grid,.two-col{grid-template-columns:1fr}.sticky{position:static}.cards,.class-grid{grid-template-columns:repeat(2,1fr)}.fleet-grid{grid-template-columns:1fr 1fr}.location-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.trustgrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.wrap{width:min(100% - 24px,1200px)}.topbar .wrap{flex-direction:column;gap:2px}.site-brand img{width:190px}.header-row{min-height:76px}.site-nav{top:76px}.hero-grid{padding:50px 0}.hero h1,.page-hero h1{font-size:2.9rem}.hero-badge{position:static;margin-top:10px}.cards,.class-grid,.fleet-grid,.location-grid,.path-grid,.tool-grid,.form-grid,.footer-grid,.trustgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.section{padding:60px 0}.section-head,.cta{align-items:flex-start;flex-direction:column}.header-cta{display:none}.license-table{font-size:.86rem;display:block;overflow-x:auto}.page-hero{padding:50px 0}}


/* v5 conversion upgrades */
.ecosystem{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eco-card{border-radius:22px;padding:28px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);box-shadow:0 12px 34px rgba(7,40,69,.06)}
.eco-card:nth-child(1){background:linear-gradient(145deg,#edf7ff,#ffffff)}
.eco-card:nth-child(2){background:linear-gradient(145deg,#082d4f,#0c65a9);color:#fff}
.eco-card:nth-child(3){background:linear-gradient(145deg,#fff7dc,#ffffff)}
.eco-card h3{font-size:2rem;margin:0 0 8px;color:var(--navy)}
.eco-card:nth-child(2) h3{color:#fff}
.eco-card p{margin:0;color:var(--muted)}
.eco-card:nth-child(2) p{color:#d7e7f4}
.eco-step{font-size:.78rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.eco-card:nth-child(2) .eco-step{color:#8bcaff}

.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;position:relative}
.price-card h3{margin:0;color:var(--navy)}
.price-card .price{font-size:1.9rem;font-weight:950;color:var(--blue);margin:12px 0}
.price-card p{color:var(--muted);min-height:68px}
.price-card.featured{border:2px solid var(--blue);box-shadow:0 16px 40px rgba(8,109,211,.13)}
.price-card .mini-label{font-size:.73rem;font-weight:900;color:#60758a;text-transform:uppercase;letter-spacing:.08em}

.wizard-shell{display:grid;grid-template-columns:.36fr .64fr;gap:24px;align-items:start}
.wizard-progress{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;position:sticky;top:115px}
.wizard-steps{list-style:none;padding:0;margin:0}
.wizard-steps li{display:flex;gap:12px;align-items:center;padding:13px 0;color:#7b8997;font-weight:850;border-bottom:1px solid #edf2f6}
.wizard-steps li:last-child{border-bottom:0}
.wizard-steps .num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3f8;color:#5f7181;font-weight:950}
.wizard-steps li.active{color:var(--navy)}
.wizard-steps li.active .num{background:var(--blue);color:#fff}
.wizard-steps li.done{color:#21663c}
.wizard-steps li.done .num{background:#e8f7ee;color:#21663c}
.wizard-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.wizard-panel{display:none}
.wizard-panel.active{display:block}
.wizard-panel h2{color:var(--navy);margin-top:0}
.wizard-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.option-card{border:1px solid #cedae5;border-radius:14px;padding:15px;cursor:pointer;transition:.18s;background:#fff}
.option-card:hover{border-color:var(--blue);transform:translateY(-1px)}
.option-card input{width:auto;margin-right:8px}
.option-card strong{display:block;color:var(--navy)}
.vehicle-reco{margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#edf7ff,#fff8dc);border:1px solid #dce9f3}
.vehicle-reco h3{margin:0 0 6px;color:var(--navy)}
.vehicle-reco .vehicle-name{font-size:1.45rem;font-weight:950;color:var(--blue)}
.summary-box{background:#f7fafc;border:1px solid var(--line);border-radius:14px;padding:17px}
.summary-box dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;margin:0}
.summary-box dt{font-weight:900;color:#334c64}.summary-box dd{margin:0;color:#5f7182}
.mobile-sticky-cta{display:none}
.review-proof{display:flex;gap:20px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(7,40,69,.05)}
.review-score{font-size:2.6rem;font-weight:950;color:var(--navy)}
.starline{letter-spacing:3px;color:#bf8b0b;font-size:1.15rem}
.program-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f0f5f9;color:#4f6579;font-size:.72rem;font-weight:900;margin-top:10px}
@media(max-width:980px){.ecosystem,.price-grid{grid-template-columns:1fr 1fr}.wizard-shell{grid-template-columns:1fr}.wizard-progress{position:static}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.wizard-steps li{flex-direction:column;text-align:center;border:0;font-size:.76rem}}
@media(max-width:680px){.ecosystem,.price-grid,.option-grid{grid-template-columns:1fr}.wizard-steps{grid-template-columns:repeat(2,1fr)}.summary-box dl{grid-template-columns:1fr}.mobile-sticky-cta{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:90;gap:8px;padding:8px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.mobile-sticky-cta .btn{flex:1;padding:11px 8px;font-size:.82rem}.footer{padding-bottom:90px}}

/* Keep complete vehicle branding visible at every screen size. */
.c2c-passenger-fleet .visual{height:auto;aspect-ratio:3/2;padding:0;background:#edf4fa}
.c2c-passenger-fleet .visual img{object-fit:contain;display:block}

.c2c-training-fleet{margin:0 0 28px}.c2c-training-fleet img{display:block;width:100%;height:auto;border-radius:20px}.c2c-training-fleet figcaption{font-size:.875rem;color:var(--muted);margin-top:12px}
