
/* Elite Driver Training — Theme 1: Coastal Drive */
body.coastal-theme{
  background:#fff;
}



.coastal-theme .site-header{
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}

/* Homepage photographic hero */
.coastal-theme .hero.coastal-hero{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  padding:70px 0;
  background:
    linear-gradient(90deg,rgba(2,19,35,.82) 0%,rgba(2,19,35,.64) 38%,rgba(2,19,35,.18) 67%,rgba(2,19,35,.05) 100%),
    url('/assets/theme-coastal-home-hero.webp') center center/cover no-repeat;
  color:#fff;
}

.coastal-theme .hero.coastal-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:100px;
  background:linear-gradient(to bottom,transparent,rgba(4,24,42,.12));
  pointer-events:none;
}

.coastal-theme .hero.coastal-hero .hero-grid{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(0,720px) 1fr;
  align-items:center;
}

.coastal-theme .hero.coastal-hero .hero-grid > div:first-child{
  padding:30px 32px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:20px;
  background:rgba(2,19,35,.34);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  backdrop-filter:blur(3px);
}

.coastal-theme .hero.coastal-hero .eyebrow{
  color:#88d4ff;
}

.coastal-theme .hero.coastal-hero h1{
  max-width:720px;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}

.coastal-theme .hero.coastal-hero .brand-statement{
  color:#fff;
}

.coastal-theme .hero.coastal-hero .lead{
  color:#eef7fd;
}

.coastal-theme .hero.coastal-hero .hero-lockup{
  display:none;
}

.coastal-theme .hero.coastal-hero .button.dark-outline{
  border-color:rgba(255,255,255,.7);
  color:#fff;
  background:rgba(2,19,35,.28);
}

/* Service page image hero */
.coastal-theme .page-hero.coastal-lesson-hero{
  position:relative;
  min-height:360px;
  display:flex;
  align-items:flex-end;
  padding:54px 0;
  background:
    linear-gradient(90deg,rgba(2,19,35,.82) 0%,rgba(2,19,35,.60) 42%,rgba(2,19,35,.22) 75%),
    url('/assets/theme-coastal-lesson-hero.webp') center 45%/cover no-repeat;
  color:#fff;
}

.coastal-theme .page-hero.coastal-lesson-hero .container{
  position:relative;
  z-index:1;
}

.coastal-theme .page-hero.coastal-lesson-hero .breadcrumb,
.coastal-theme .page-hero.coastal-lesson-hero .breadcrumb a{
  color:#d8ebf8;
}

.coastal-theme .page-hero.coastal-lesson-hero h1{
  color:#fff;
  max-width:820px;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

.coastal-theme .page-hero.coastal-lesson-hero .page-lead{
  color:#f2f8fc;
  max-width:720px;
}

/* Coastal theme details */
.coastal-theme .card{
  border-radius:18px;
}

.coastal-theme .card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(4,35,59,.10);
}

.coastal-theme .section.soft{
  background:linear-gradient(180deg,#f5fafd,#eef6fa);
}

.coastal-theme .cta-strip{
  background:linear-gradient(135deg,#06223d,#0a446d);
}

/* Keep preview navigation inside preview where themed pages exist. */
.coastal-theme .nav-book{
  box-shadow:0 7px 20px rgba(31,163,255,.18);
}

@media(max-width:900px){
  .coastal-theme .hero.coastal-hero{
    min-height:560px;
    padding:52px 0;
    background-position:58% center;
  }

  .coastal-theme .hero.coastal-hero .hero-grid{
    grid-template-columns:1fr;
  }

  .coastal-theme .hero.coastal-hero .hero-grid > div:first-child{
    padding:24px 22px;
  }

  .coastal-theme .page-hero.coastal-lesson-hero{
    min-height:330px;
    background-position:48% center;
  }
}

@media(max-width:560px){
  .coastal-theme .hero.coastal-hero{
    min-height:500px;
    background-position:62% center;
  }

  .coastal-theme .hero.coastal-hero .hero-grid > div:first-child{
    padding:20px 18px;
  }

  .coastal-theme .page-hero.coastal-lesson-hero{
    min-height:300px;
    padding:36px 0;
    background-position:48% center;
  }
}

/* v9.14: compact Kāpiti coastal homepage hero. */
.coastal-theme .hero.coastal-hero{min-height:420px;padding:40px 0}
.coastal-theme .hero.coastal-hero .hero-grid{grid-template-columns:minmax(0,600px) 1fr}
.coastal-theme .hero.coastal-hero .hero-grid>div:first-child{padding:23px 27px}
.coastal-theme .hero.coastal-hero h1{font-size:clamp(2.25rem,3.9vw,3.75rem);line-height:1.06;margin-bottom:14px}
.coastal-theme .hero.coastal-hero .brand-statement{font-size:clamp(1.2rem,2.15vw,1.85rem);margin-bottom:10px}
.coastal-theme .hero.coastal-hero p{line-height:1.45}
.coastal-theme .hero.coastal-hero .hero-credibility{margin:10px 0}
/* A single row only on very wide desktops; keeps five cards readable on laptops. */
.coastal-theme .service-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.coastal-theme .service-card{--card-accent:#168ada;position:relative;border-top:5px solid var(--card-accent);padding:21px 19px;display:flex;flex-direction:column}
.coastal-theme .service-card h3{color:#112b44;font-size:1.08rem;line-height:1.28}
.coastal-theme .service-card .card-link{color:var(--card-accent);margin-top:auto;font-size:.9rem}
.coastal-theme .service-card-learner{--card-accent:#157ec7}
.coastal-theme .service-card-restricted{--card-accent:#946400;background:#fffdf6}
.coastal-theme .service-card-full{--card-accent:#207c49;background:#f8fdfa}
.coastal-theme .service-card-refresher{--card-accent:#657586;background:#f8fafb}
.coastal-theme .service-card-advanced{--card-accent:#936e1f;background:#fffcf5}
.coastal-theme .about-experience .about-intro{font-size:1.19rem;font-weight:700;color:#123c5d}
.coastal-theme .about-experience h2{margin-top:32px}
.coastal-theme .about-mantra{background:#eef6fc;border-left:4px solid #168ada;padding:14px 18px;border-radius:8px;color:#113b60}
.coastal-theme .about-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;padding-left:18px;margin:16px 0 26px}
.coastal-theme .about-skills li{padding-right:6px}
.coastal-theme .about-skills a{color:#116fbd}
.coastal-theme .about-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.coastal-theme .course-enquiry{margin-top:26px;background:#f5faff;border:1px solid #c4e1f4;border-radius:15px;padding:25px}
.coastal-theme .course-enquiry[hidden]{display:none}
@media(max-width:1380px){.coastal-theme .service-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.coastal-theme .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.coastal-theme .hero.coastal-hero{min-height:0;padding:42px 0}.coastal-theme .hero.coastal-hero .hero-grid{grid-template-columns:1fr}.coastal-theme .hero.coastal-hero h1{font-size:clamp(2.2rem,6vw,3.1rem)}}
@media(max-width:600px){.coastal-theme .hero.coastal-hero{min-height:0;padding:26px 0}.coastal-theme .hero.coastal-hero .hero-grid>div:first-child{padding:18px 19px}.coastal-theme .hero.coastal-hero h1{font-size:clamp(2rem,7.5vw,2.55rem)}.coastal-theme .service-cards{grid-template-columns:1fr}.coastal-theme .about-skills{grid-template-columns:1fr}}

/* Finishing pass: keep the key message and CTAs above the fold. */
.coastal-theme .hero.coastal-hero h1{font-size:clamp(2.3rem,3.5vw,3.3rem);margin-bottom:12px}
.coastal-theme .hero.coastal-hero .brand-statement{font-size:clamp(1.12rem,1.7vw,1.5rem);line-height:1.28;margin-bottom:10px}
.coastal-theme .hero.coastal-hero .lead{font-size:1rem;margin-bottom:10px}
.coastal-theme .hero.coastal-hero .hero-credibility{font-size:.96rem;margin:9px 0 16px}
@media(max-width:600px){.coastal-theme .hero.coastal-hero h1{font-size:clamp(1.9rem,7.4vw,2.3rem)}.coastal-theme .hero.coastal-hero .brand-statement{font-size:1.12rem}.coastal-theme .hero.coastal-hero .hero-credibility{font-size:.88rem}}

/* v9.15 – service-specific top stripes; full-card link via stretched accessible anchor. */
.coastal-theme .service-card-restricted{--card-accent:#FFFD96;--card-link-colour:#675400;background:#fffefa}
.coastal-theme .service-card-restricted .card-link{color:var(--card-link-colour)}
.coastal-theme .service-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.coastal-theme .service-card .card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.coastal-theme .service-card:focus-within{outline:3px solid #117ac0;outline-offset:3px;transform:translateY(-3px);box-shadow:0 16px 34px rgba(4,35,59,.13)}
/* Same-size banners throughout the interior pages (the main site header is unchanged). */
.coastal-theme .page-hero{padding:23px 0 24px}
.coastal-theme .page-hero h1{font-size:clamp(1.85rem,3.15vw,2.85rem);line-height:1.07}
.coastal-theme .page-hero.coastal-lesson-hero{min-height:260px;padding:30px 0;background-position:center 44%}
@media(max-width:900px){.coastal-theme .page-hero.coastal-lesson-hero{min-height:238px;padding:26px 0}}
@media(max-width:560px){.coastal-theme .page-hero.coastal-lesson-hero{min-height:205px;padding:20px 0;background-position:51% 44%}.coastal-theme .page-hero h1{font-size:clamp(1.7rem,7vw,2.1rem)}}


/* v9.19: warmer, easier-to-read About Me page. */
.coastal-theme .about-personal .copy{max-width:760px}
.coastal-theme .about-personal p{line-height:1.82;margin-bottom:1.35rem}
.coastal-theme .about-personal .about-intro{font-size:1.14rem;font-weight:500;color:#183750}
.coastal-theme .about-personal .about-intro strong{font-weight:800}
.coastal-theme .about-personal-closing{background:#f1f8fe;border-left:4px solid #168ada;border-radius:10px;padding:19px 22px;color:#143650;margin-top:28px}
.coastal-theme .about-personal .about-actions{margin:28px 0 16px}
.coastal-theme .about-service-links{font-size:.95rem;color:#536a80}
.coastal-theme .about-service-links a{color:#086daf;text-underline-offset:3px;font-weight:700}
@media(max-width:600px){
  .coastal-theme .about-personal{padding:34px 0 42px}
  .coastal-theme .about-personal p{line-height:1.72;margin-bottom:1.15rem}
  .coastal-theme .about-personal .about-intro{font-size:1.06rem}
  .coastal-theme .about-personal-closing{padding:16px 17px}
  .coastal-theme .about-personal .about-actions{display:grid;grid-template-columns:1fr}
  .coastal-theme .about-personal .about-actions .button{width:100%;text-align:center}
}

/* v10.6 senior refresher photography and service colour */
.coastal-theme .page-hero.senior-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.15) 0%,rgba(5,20,37,.06) 72%,rgba(5,20,37,.04) 100%),url('/assets/senior-driver-hero.webp') center 44%/cover no-repeat;min-height:260px}
.coastal-theme .service-card-senior{--card-accent:#9352c8;background:#fbf7ff}
@media(max-width:680px){.coastal-theme .page-hero.senior-driver-hero{background-position:70% center}.coastal-theme .page-hero.senior-driver-hero h1{font-size:1.75rem}}


/* v11.0 service hero image tuning */
.coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.42) 0%,rgba(5,20,37,.20) 62%,rgba(5,20,37,.08) 100%),url('/assets/nz-learner-l-plate-hero.png') center 52%/cover no-repeat}
.coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.48) 0%,rgba(5,20,37,.18) 62%,rgba(5,20,37,.06) 100%),url('/assets/restricted-full-hero.png') center 47%/cover no-repeat}
.coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.45) 0%,rgba(5,20,37,.18) 62%,rgba(5,20,37,.06) 100%),url('/assets/restricted-full-hero.png') center 47%/cover no-repeat}
.coastal-theme .page-hero.senior-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.30) 0%,rgba(5,20,37,.08) 68%,rgba(5,20,37,.04) 100%),url('/assets/senior-refresher-hero.png') center 48%/cover no-repeat;min-height:260px}
.coastal-theme .page-hero.refresher-driver-hero{background:linear-gradient(90deg,rgba(5,20,37,.48) 0%,rgba(5,20,37,.2) 65%,rgba(5,20,37,.08) 100%),url('/assets/theme-coastal-home-hero.webp') center 45%/cover no-repeat;color:#fff;padding:58px 0}
.coastal-theme .page-hero.refresher-driver-hero .breadcrumb,.coastal-theme .page-hero.refresher-driver-hero .breadcrumb a,.coastal-theme .page-hero.refresher-driver-hero h1{color:#fff}
@media(max-width:680px){
  .coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{background-position:68% 52%}
  .coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero,.coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero{background-position:64% 46%}
  .coastal-theme .page-hero.senior-driver-hero{background-position:66% 48%}
}


/* v11.1: full-width booking layout, mock-up-aligned cards and responsive home cards. */
.coastal-theme .section.booking-catalog-section{padding-top:34px;padding-bottom:40px}
.coastal-theme #booking-product-grid.booking-product-groups{
  display:block!important;width:100%;max-width:none!important;margin:0!important;
}
.coastal-theme #booking-product-grid>.booking-card-group{display:block;width:100%;margin:0 0 42px;min-width:0}
.coastal-theme #booking-product-grid .booking-card-group-heading{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:16px;
}
.coastal-theme #booking-product-grid .booking-card-group-heading h3{
  margin:0;font-size:clamp(1.6rem,2.7vw,2.1rem);font-weight:900;letter-spacing:-.035em;color:#061d38;line-height:1.2;
}
.coastal-theme #booking-product-grid .booking-card-group-heading h3::after{
  content:'';display:inline-block;height:4px;width:clamp(44px,8vw,140px);background:#087df1;
  margin-left:16px;vertical-align:middle;border-radius:4px;
}
.coastal-theme #booking-product-grid .booking-card-group-heading p{
  margin:0 0 0 auto;font-size:.86rem;color:#687a8f;line-height:1.45;max-width:450px;
}
.coastal-theme #booking-product-grid .booking-product-row{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;
  width:100%;max-width:none;min-width:0;align-items:stretch;
}
.coastal-theme #booking-product-grid .booking-product-row-secondary{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{
  box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-width:0;width:100%;padding:0!important;
  background:#fff!important;border:1px solid #dce5ee!important;border-top:1px solid #dce5ee!important;
  border-radius:15px;overflow:hidden;box-shadow:0 8px 25px rgba(14,42,67,.06);outline:none;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]:hover,
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service].selected-product{
  background:#fff!important;border-color:#0b83e9!important;box-shadow:0 13px 30px rgba(5,81,154,.18);
}
.coastal-theme #booking-product-grid .booking-card-photo{
  display:block;flex:none;height:118px;min-height:118px;width:100%;background-size:cover;background-position:center;
}
.coastal-theme #booking-product-grid .booking-card-content{
  display:flex;flex-direction:column;gap:0;flex:1;min-width:0;height:auto;padding:14px 13px 18px!important;
  background:#fff;border-radius:12px 12px 0 0;margin-top:-10px;position:relative;
}
.coastal-theme #booking-product-grid .booking-card-content h3{
  font-size:1rem;line-height:1.3;font-weight:900;letter-spacing:-.02em;color:#061c37;
  margin:0 0 7px!important;overflow-wrap:normal;word-break:normal;
}
.coastal-theme #booking-product-grid .booking-card-content>p{
  margin:0 0 14px!important;font-size:.83rem;line-height:1.52;color:#62748b;min-height:4.7em;
}
.coastal-theme #booking-product-grid .booking-card-content .product-prices{
  margin:auto 0 11px!important;padding:10px 12px;border-radius:10px;
  background:#edf2f7!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  font-size:.89rem;line-height:1.4;gap:8px;min-height:43px;
}
.coastal-theme #booking-product-grid .booking-card-content .product-prices span{
  display:inline-flex;align-items:center;justify-content:initial;gap:6px;min-width:0;
}
.coastal-theme #booking-product-grid .booking-card-content .product-prices strong{
  font-size:1.2rem;line-height:1;color:#071b36;font-weight:900;
}
.coastal-theme #booking-product-grid .booking-product-card[data-service="module5"] .product-prices{
  flex-direction:column!important;align-items:stretch;gap:5px;
}
.coastal-theme #booking-product-grid .booking-product-card[data-service="module5"] .product-prices span{
  display:flex;justify-content:space-between;font-size:.8rem;
}
.coastal-theme #booking-product-grid .booking-product-card[data-service="module5"] .product-prices strong{font-size:.95rem}
.coastal-theme #booking-product-grid .booking-card-content button.button.choose-service{
  background:#067df4!important;background-image:linear-gradient(120deg,#0c84ff,#0572e7)!important;
  color:#fff!important;border:0!important;border-radius:8px!important;min-height:45px;line-height:1.25;
  font-size:.84rem;font-weight:800;padding:10px 8px!important;margin:0 0 10px!important;
  white-space:normal;width:100%;
}
.coastal-theme #booking-product-grid .booking-card-content>a{
  display:block;color:#0674ca!important;font-size:.79rem;line-height:1.35;font-weight:800;
  text-decoration:underline;overflow-wrap:normal;margin:0!important;
}
.coastal-theme #booking-product-grid .booking-reassurance-strip{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
  margin:18px 0 0;padding:23px 0 0!important;background:transparent!important;color:#081b35!important;
  border-radius:0;border-top:1px solid #e3ebf2;
}
.coastal-theme #booking-product-grid .booking-reassurance-item{display:flex;align-items:center;gap:12px}
.coastal-theme #booking-product-grid .booking-reassurance-icon{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
  color:#087df0;font-size:1.4rem;background:#e1f3ff;
}
.coastal-theme #booking-product-grid .booking-reassurance-text{display:flex;flex-direction:column;gap:3px}
.coastal-theme #booking-product-grid .booking-reassurance-text strong{
  color:#0b203a;font-size:.82rem;line-height:1.35;
}
.coastal-theme #booking-product-grid .booking-reassurance-text>span{
  color:#61738a!important;font-size:.77rem;line-height:1.4;
}
.coastal-theme .page-hero.booking-reference-hero{
  background:linear-gradient(90deg,rgba(2,19,41,.93) 0%,rgba(3,30,60,.78) 49%,rgba(3,22,39,.12) 100%),url('/assets/theme-coastal-home-hero.webp') center/cover no-repeat;
  color:white;padding:40px 0 42px;min-height:175px;
}
.coastal-theme .page-hero.booking-reference-hero h1{font-size:clamp(2.1rem,3.8vw,3rem);margin:9px 0}
.coastal-theme .page-hero.booking-reference-hero .page-lead{
  color:#f5f9ff;font-size:clamp(.92rem,1.4vw,1.11rem);line-height:1.5;margin:0;
}
.coastal-theme .page-hero.booking-reference-hero .breadcrumb,
.coastal-theme .page-hero.booking-reference-hero .breadcrumb a{color:#dceaf7}
/* The photos (except the yellow NZ learner plate) are sourced from Martin's own supplied mock-up. */
.v111-photo-restricted{background-image:url('/assets/v111-mockup-restricted.webp')!important;background-position:center!important}
.v111-photo-full{background-image:url('/assets/v111-mockup-full.webp')!important;background-position:center!important}
.v111-photo-pretest{background-image:url('/assets/v111-mockup-pretest.webp')!important;background-position:center!important}
.v111-photo-overseas{background-image:url('/assets/v1151-overseas-card.webp')!important;background-position:center!important}
.v111-photo-senior{background-image:url('/assets/v1151-senior-card.webp')!important;background-position:center!important}
.v111-photo-module5{background-image:url('/assets/v1151-module5-card.webp')!important;background-position:center!important}
.v111-photo-learner{background-image:url('/assets/nz-learner-l-plate-hero.png')!important;background-position:73% center!important}
.coastal-theme .service-cards.service-cards-photo{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;
  align-items:stretch;
}
.coastal-theme .service-cards.service-cards-photo .service-card-photo{
  display:flex;flex-direction:column;min-width:0;gap:0;padding:0!important;border:1px solid #dbe6ef!important;
  background:#fff!important;border-radius:15px;overflow:hidden;--card-accent:#047df0;
  box-shadow:0 10px 24px rgba(14,42,67,.06);
}
.coastal-theme .service-cards.service-cards-photo .service-card-image{
  flex:0 0 153px;height:153px;width:100%;background-size:cover;background-position:center;
}
.coastal-theme .service-cards.service-cards-photo .service-card-body{
  display:flex;flex-direction:column;gap:10px;flex:1;padding:17px 18px 19px!important;
}
.coastal-theme .service-cards.service-cards-photo .service-card-body h3{font-size:1.08rem;color:#0d2543;margin:0}
.coastal-theme .service-cards.service-cards-photo .service-card-body p{margin:0;color:#62758a}
.coastal-theme .service-cards.service-cards-photo .service-card-body .service-card-price{
  color:#132c48;font-weight:900;margin-top:auto;padding-top:8px
}
.coastal-theme .service-cards.service-cards-photo .card-link{
  color:#007cde!important;margin-top:auto;line-height:1.4;text-decoration:underline
}
/* In-car hero images should fit fully vertically, so Martin's head is never cropped. */
.coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero,
.coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero,
.coastal-theme .page-hero.senior-driver-hero{
  background-color:#082744!important;
  background-image:linear-gradient(90deg,#05192d 0%,rgba(4,23,43,.99) 37%,rgba(4,25,47,.60) 62%,rgba(4,25,47,.06) 100%),url('/assets/restricted-full-hero.png')!important;
  background-size:cover,auto 100%!important;background-position:center,right center!important;
  background-repeat:no-repeat!important;min-height:278px;
}
.coastal-theme .page-hero.senior-driver-hero{
  background-image:linear-gradient(90deg,#05192d 0%,rgba(4,23,43,.98) 37%,rgba(4,25,47,.56) 62%,rgba(4,25,47,.06) 100%),url('/assets/senior-refresher-hero.png')!important;
}
@media(max-width:1000px){
  .coastal-theme #booking-product-grid .booking-product-row,
  .coastal-theme #booking-product-grid .booking-product-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .coastal-theme #booking-product-grid .booking-card-group-heading p{margin-left:0;max-width:none}
  .coastal-theme .service-cards.service-cards-photo{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:610px){
  .coastal-theme #booking-product-grid .booking-product-row,
  .coastal-theme #booking-product-grid .booking-product-row-secondary{grid-template-columns:minmax(0,1fr)!important}
  .coastal-theme #booking-product-grid .booking-reassurance-strip{grid-template-columns:minmax(0,1fr)!important}
  .coastal-theme #booking-product-grid .booking-card-photo{height:146px}
  .coastal-theme .service-cards.service-cards-photo{grid-template-columns:minmax(0,1fr)!important}
  .coastal-theme .service-cards.service-cards-photo .service-card-image{height:177px;flex-basis:177px}
  .coastal-theme .page-hero.booking-reference-hero{padding:32px 0 35px}
  .coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero,
  .coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero,
  .coastal-theme .page-hero.senior-driver-hero{background-size:cover,auto 100%!important;background-position:center,right center!important}
}

/* Distinct Full Licence hero: keep the complete instructor head in view. */
.coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero{
  background-image:linear-gradient(90deg,#05192d 0%,rgba(4,23,43,.98) 37%,rgba(4,25,47,.56) 62%,rgba(4,25,47,.04) 100%),url('/assets/full-driver-hero-v111.webp')!important;
  background-size:cover,auto 100%!important;background-position:center,right center!important;
}

/* =================== EDT v11.2 consistency corrections =================== */
.coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{
 background:linear-gradient(90deg,rgba(2,18,38,.86),rgba(2,19,38,.55) 44%,rgba(2,19,38,.05) 100%),url('/assets/v111-mockup-restricted.webp') center/cover no-repeat!important;
 min-height:265px;background-size:cover!important;background-position:center!important;
}
.coastal-theme .page-hero.coastal-lesson-hero.full-driver-hero{
 background:linear-gradient(90deg,rgba(2,18,38,.85),rgba(2,19,38,.5) 44%,rgba(2,19,38,.06) 100%),url('/assets/full-driver-hero-v111.webp') center 38%/cover no-repeat!important;
 min-height:265px;background-size:cover!important;background-position:center 38%!important;
}
.coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{
 background:linear-gradient(90deg,rgba(2,18,38,.84),rgba(2,19,38,.45) 50%,rgba(2,19,38,.05) 100%),url('/assets/theme-coastal-lesson-hero.webp') center 44%/cover no-repeat!important;
 min-height:265px;background-size:cover!important;background-position:center 44%!important;
}
.coastal-theme .page-hero.coastal-lesson-hero.senior-driver-hero{
 background:linear-gradient(90deg,rgba(2,18,38,.85),rgba(2,19,38,.52) 45%,rgba(2,19,38,.06) 100%),url('/assets/senior-driver-hero.webp') center 45%/cover no-repeat!important;
 min-height:265px;background-size:cover!important;background-position:center 45%!important;
}
.coastal-theme .page-hero.pretest-driver-hero{
 color:#fff;min-height:265px;padding:58px 0;
 background:linear-gradient(90deg,rgba(2,18,38,.85),rgba(2,19,38,.50) 54%,rgba(2,19,38,.04) 100%),url('/assets/pretest-martin-clipboard-v112.webp') center/cover no-repeat;
}
.coastal-theme .page-hero.module5-driver-hero{
 color:#fff;min-height:265px;padding:58px 0;
 background:linear-gradient(90deg,rgba(2,18,38,.88),rgba(2,19,38,.56) 50%,rgba(2,19,38,.05) 100%),url('/assets/module5-aa-photo-v112.webp') center/cover no-repeat;
}
.coastal-theme .page-hero.pretest-driver-hero :is(h1,.breadcrumb,.breadcrumb a),
.coastal-theme .page-hero.module5-driver-hero :is(h1,.breadcrumb,.breadcrumb a){color:#fff}
.coastal-theme .page-hero.refresher-driver-hero{min-height:265px;padding:58px 0}
.v112-home-learner{background-image:url('/assets/theme-coastal-lesson-hero.webp')!important;background-position:center 44%!important}
.v112-home-restricted{background-image:url('/assets/v111-mockup-restricted.webp')!important}
.v112-home-full{background-image:url('/assets/full-driver-hero-v111.webp')!important;background-position:center 38%!important}
.v112-home-refresher{background-image:url('/assets/theme-coastal-home-hero.webp')!important}
.v112-home-senior{background-image:url('/assets/senior-driver-hero.webp')!important}
.v112-home-advanced{background-image:url('/assets/v111-mockup-full.webp')!important}
.coastal-theme #booking-product-grid .booking-card-content{display:grid!important;grid-template-rows:minmax(3.9em,auto) minmax(4.6em,1fr) 68px 46px 48px!important;gap:9px!important;align-items:stretch!important;}
.coastal-theme #booking-product-grid .booking-card-content>h3{margin:0!important}
.coastal-theme #booking-product-grid .booking-card-content>p{margin:0!important;min-height:0!important}
.coastal-theme #booking-product-grid .booking-card-content .product-prices{margin:0!important;align-self:end;}
.coastal-theme #booking-product-grid .booking-card-content button.button.choose-service{margin:0!important;height:46px;min-height:46px!important;align-self:end}
.coastal-theme #booking-product-grid .booking-card-content>a{min-height:2.7em;align-self:start}
.coastal-theme #booking-product-grid .booking-card-content .product-prices strong{font-size:1rem}
.coastal-theme #booking-product-grid .booking-product-row{align-items:stretch!important}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{height:100%}
.coastal-theme .cta-strip .cta-inner{display:block;max-width:1160px}
.coastal-theme .cta-strip .cta-inner>div{max-width:none}
.coastal-theme .about-personal .about-profile-wrap{float:left;width:clamp(205px,24vw,265px);margin:0 28px 14px 0;}
.coastal-theme .about-personal .about-profile-photo{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;object-position:center top;border-radius:16px;}
.coastal-theme .about-personal .about-personal-closing{clear:both}
.coastal-theme .contact-pill-whatsapp{color:#086c3e;border-color:#9bd2b4}
.coastal-theme .contact-pill-whatsapp:hover{background:#e8fff0}
@media(max-width:680px){
 .coastal-theme .about-personal .about-profile-wrap{float:none;width:min(280px,85%);margin:0 auto 22px}
 .coastal-theme .page-hero.pretest-driver-hero,.coastal-theme .page-hero.module5-driver-hero{min-height:220px;padding:38px 0}
 .coastal-theme .page-hero.coastal-lesson-hero:is(.learner-driver-hero,.restricted-driver-hero,.full-driver-hero,.senior-driver-hero){min-height:220px;background-position:64% center!important}
}

.v112-home-advanced{background-image:url('/assets/v111-mockup-full.webp')!important}

/* v11.2 booking catalog service emblems — consistent overlap with card photographs */
.coastal-theme #booking-product-grid .booking-card-icon{position:absolute;top:-24px;left:15px;display:grid;place-items:center;width:42px;height:42px;box-sizing:border-box;border:3px solid #fff;border-radius:999px;background:#087cf4;color:#fff;font-size:.86rem;font-weight:900;box-shadow:0 2px 7px rgba(0,50,100,.17);}
.coastal-theme #booking-product-grid .booking-card-icon-module5{background:#ffc400;color:#070b12;font-size:1.08rem}
.coastal-theme #booking-product-grid .booking-card-content{padding-top:31px!important}
.coastal-theme .page-hero.advanced-driver-hero{background:linear-gradient(90deg,rgba(2,18,38,.88),rgba(2,19,38,.5) 52%,rgba(2,19,38,.04) 100%),url('/assets/v111-mockup-full.webp') center/cover no-repeat;color:#fff;padding:56px 0;min-height:265px}
.coastal-theme .page-hero.advanced-driver-hero :is(h1,.breadcrumb,.breadcrumb a){color:#fff}
@media(max-width:680px){.coastal-theme .page-hero.advanced-driver-hero{padding:38px 0;min-height:220px}}

/* =====================================================================
   EDT v11.3 — approved image consistency & more compact booking cards.
   Hero headings/breadcrumbs remain editable accessible HTML, not artwork.
   ===================================================================== */
/* These two approved licence banners replace the previous generic photos.
   Retain the approved Full Licence banner unchanged. */
.coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{
  background:linear-gradient(90deg,rgba(2,18,38,.88) 0%,rgba(2,19,38,.63) 34%,rgba(2,19,38,.12) 70%,rgba(2,19,38,.03) 100%),url('/assets/v113-learner-hero.webp') center 44%/cover no-repeat!important;
  min-height:265px;
}
.coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{
  background:linear-gradient(90deg,rgba(2,18,38,.88) 0%,rgba(2,19,38,.59) 34%,rgba(2,19,38,.12) 70%,rgba(2,19,38,.03) 100%),url('/assets/v113-restricted-hero.webp') center 45%/cover no-repeat!important;
  min-height:265px;
}
.coastal-theme .page-hero.coastal-lesson-hero.senior-driver-hero{
  background:linear-gradient(90deg,rgba(2,18,38,.64) 0%,rgba(2,19,38,.35) 41%,rgba(2,19,38,.03) 100%),url('/assets/v113-senior-hero.webp') center 45%/cover no-repeat!important;
  min-height:265px;
}
.coastal-theme .page-hero.advanced-driver-hero{
  background:linear-gradient(90deg,rgba(2,18,38,.58) 0%,rgba(2,19,38,.24) 42%,rgba(2,19,38,.02) 100%),url('/assets/v113-advanced-hero.webp') center/cover no-repeat!important;
  min-height:265px;
}
/* Home cards are crops of their corresponding page banner photographs. */
.coastal-theme .v112-home-learner{background-image:url('/assets/v113-learner-hero.webp')!important;background-position:76% 43%!important}
.coastal-theme .v112-home-restricted{background-image:url('/assets/v113-restricted-hero.webp')!important;background-position:74% 43%!important}
/* Full Licence & Refresher already share their exact hero image file. */
.coastal-theme .v112-home-senior{background-image:url('/assets/v113-senior-card.webp')!important;background-position:50% 36%!important}
.coastal-theme .v112-home-advanced{background-image:url('/assets/v113-advanced-card.webp')!important;background-position:65% center!important}
/* The Restricted booking-card photograph is deliberately DIFFERENT from
   the restricted hero/home: an approved NZ roundabout approach. */
.coastal-theme #booking-product-grid .v111-photo-restricted{
  background-image:url('/assets/v113-restricted-roundabout-booking.webp')!important;
  background-position:49% 54%!important;
}
/* Licence-stage circles: high-contrast colours with the blue booking CTA retained. */
.coastal-theme #booking-product-grid .booking-card-icon-learner{background:#087cf4!important;color:#fff!important}
.coastal-theme #booking-product-grid .booking-card-icon-restricted{background:#ffcd00!important;color:#13243c!important}
.coastal-theme #booking-product-grid .booking-card-icon-full{background:#169b47!important;color:#fff!important}
.coastal-theme #booking-product-grid .booking-card-icon-pretest{background:#116536!important;color:#fff!important}
/* Trim empty vertical rows introduced by the v11.2 fixed grid while
   preserving equally aligned prices, actions and 'Learn more' links. */
.coastal-theme #booking-product-grid .booking-card-content{
  display:grid!important;
  grid-template-rows:minmax(2.5em,auto) minmax(3.35em,auto) minmax(50px,auto) 44px minmax(2.4em,auto)!important;
  gap:6px!important;
  padding:29px 13px 13px!important;
  align-content:start!important;
}
.coastal-theme #booking-product-grid .booking-card-content>h3{
  min-height:0!important;margin:0!important;align-self:start!important;
}
.coastal-theme #booking-product-grid .booking-card-content>p{
  min-height:0!important;margin:0!important;align-self:start!important;
}
.coastal-theme #booking-product-grid .booking-card-content .product-prices{
  min-height:0!important;margin:0!important;align-self:stretch!important;
  padding:7px 9px!important;
}
.coastal-theme #booking-product-grid .booking-card-content button.button.choose-service{
  min-height:44px!important;height:44px!important;padding:7px 8px!important;margin:0!important;
}
.coastal-theme #booking-product-grid .booking-card-content>a{
  min-height:0!important;align-self:start!important;margin:0!important;
}
@media(max-width:680px){
  .coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{background-position:67% center!important}
  .coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{background-position:67% center!important}
  .coastal-theme .page-hero.coastal-lesson-hero.senior-driver-hero{background-position:67% center!important}
  .coastal-theme .page-hero.advanced-driver-hero{background-position:75% center!important}
}

/* =====================================================================
   Elite Driver Training v11.4 — banner framing, booking card tops,
   consistent subtitle spacing and squared-off header navigation.
   No changes to booking/Stripe/approval application logic.
   ===================================================================== */

/* The photograph backgrounds are much taller than the finished banners.
   Anchor the subject near the TOP rather than vertically centring/cropping
   through faces. Each image retains its approved scene and left gradient. */
.coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{
  background-position:center top, center 15%!important;
}
.coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{
  background-position:center top, center 16%!important;
}
.coastal-theme .page-hero.coastal-lesson-hero.senior-driver-hero{
  background-position:center top, center 11%!important;
}
.coastal-theme .page-hero.pretest-driver-hero{
  background-position:center top, center 14%!important;
}

/* All service heroes show their one-line supporting description under H1.
   Keep the approved heading and breadcrumb as real, editable HTML. */
.coastal-theme .page-hero .page-lead{
  color:#f2f8fc;
  font-size:clamp(.95rem,1.08vw,1.11rem);
  line-height:1.5;
  margin:9px 0 0;
  max-width:800px;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}
.coastal-theme .page-hero .container{position:relative;z-index:1}

/* Top navigation now matches the slight rectangular corners of the blue
   booking actions rather than the previous 999px capsule shape. */
.coastal-theme .site-header .nav-dropdown-toggle,
.coastal-theme .site-header .nav-links > a.nav-pill,
.coastal-theme .site-header .nav-links > a.button{
  border-radius:8px!important;
}

/* Both booking rows start their photos flush against the card's top inner
   edge. The external 1px border and rounded outer corners remain intact. */
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{
  padding:0!important;
  border-top-width:1px!important;
  overflow:hidden!important;
  gap:0!important;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card .booking-card-photo{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  flex:0 0 118px!important;
  height:118px!important;
  min-height:118px!important;
  width:100%!important;
}
/* Content overlaps the PHOTO just enough for the service emblem; it must
   not push the photo away from the top of the outer card. */
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card .booking-card-content{
  margin-top:-10px!important;
}

@media (max-width:680px){
  .coastal-theme .page-hero.coastal-lesson-hero.learner-driver-hero{
    background-position:center top, 74% 2%!important;
  }
  .coastal-theme .page-hero.coastal-lesson-hero.restricted-driver-hero{
    background-position:center top, 76% 2%!important;
  }
  .coastal-theme .page-hero.coastal-lesson-hero.senior-driver-hero{
    background-position:center top, 80% top!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero{
    background-position:center top, 76% top!important;
  }
  .coastal-theme .page-hero .page-lead{font-size:.95rem;line-height:1.43}
  .coastal-theme #booking-product-grid .booking-product-card.booking-photo-card .booking-card-photo{
    flex-basis:146px!important;height:146px!important;min-height:146px!important;
  }
}


/* =====================================================================
   Elite Driver Training v11.5 — consistent booking card image edges,
   left-aligned mobile reassurance, and Home navigation.
   The existing service imagery, booking scripts and checkout are untouched.
   ===================================================================== */

/* Show Home as the first, consistent navigation control on desktop and
   inside the expanded hamburger menu on smaller screens. */
.coastal-theme .site-header .nav-links > a.nav-home{
  display:inline-flex!important;align-items:center;justify-content:center;
  gap:8px;min-height:45px;flex-shrink:0;
  padding:11px clamp(10px,.95vw,18px);line-height:1.1;
  text-decoration:none;color:#f5f9ff!important;
  border:1px solid rgba(173,209,246,.22);border-radius:8px!important;
  background:rgba(21,44,70,.72);font-size:clamp(.78rem,.88vw,.96rem);
  font-weight:750;white-space:nowrap;
}
.coastal-theme .site-header .nav-links > a.nav-home:is(:hover,:focus-visible),
.coastal-theme .site-header .nav-links > a.nav-home.active{
  background:rgba(24,92,150,.78);border-color:rgba(78,175,255,.78);color:#fff!important;
}

/* Remove the remaining inset band inherited from older, coloured-card
   styles. First photo row begins at y=0 within the clipped card itself;
   only the 1px side/bottom outline remains. Both booking sections share
   this selector, so all seven cards receive identical treatment. */
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{
  padding:0!important;
  padding-block-start:0!important;
  margin:0!important;
  border-top:0!important;
  border-radius:15px!important;
  display:flex!important;
  flex-direction:column!important;
  row-gap:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service] .booking-card-photo{
  display:block!important;
  order:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:15px 15px 0 0!important;
  background-origin:border-box;
  width:100%!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  align-self:stretch!important;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service] .booking-card-content{
  order:1;margin:-10px 0 0!important;
  border-radius:12px 12px 0 0!important;
}

/* Use genuine recognisable vector symbols, scaled alike on desktop/mobile. */
.coastal-theme #booking-product-grid .booking-reassurance-icon .booking-reassurance-svg{
  width:24px;height:24px;display:block;flex:none;
}

/* The original layout stacked a large centred icon above every paragraph
   on phones. Keep each badge beside left-aligned text to reduce scrolling
   and make title/description baselines line up neatly. */
@media(max-width:1390px){
  .coastal-theme .site-header .nav-links > a.nav-home{width:100%;min-height:46px;font-size:.95rem;padding:12px 16px}
}
@media(max-width:680px){
  .coastal-theme #booking-product-grid .booking-reassurance-strip{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    margin:18px 0 0!important;
    padding:22px 0 0!important;
  }
  .coastal-theme #booking-product-grid .booking-reassurance-item{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:start!important;
    justify-content:start!important;
    gap:12px!important;
    width:100%!important;
    text-align:left!important;
    margin:0!important;
  }
  .coastal-theme #booking-product-grid .booking-reassurance-icon{
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    flex-shrink:0!important;
    border-radius:12px!important;
  }
  .coastal-theme #booking-product-grid .booking-reassurance-text{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    min-width:0;
    gap:4px!important;
    padding-top:3px!important;
    text-align:left!important;
  }
  .coastal-theme #booking-product-grid .booking-reassurance-text strong,
  .coastal-theme #booking-product-grid .booking-reassurance-text>span{
    display:block!important;
    margin:0!important;
    text-align:left!important;
  }
  .coastal-theme #booking-product-grid .booking-reassurance-text strong{font-size:1rem!important;line-height:1.32}
  .coastal-theme #booking-product-grid .booking-reassurance-text>span{font-size:.9rem!important;line-height:1.5}
}


/* ====================================================================
   v11.6 — fully clickable booking-card surfaces, with separate Learn more.
   The full-card anchor is a sibling of the button and information link:
   no invalid nested anchors, no duplicate checkout logic.
   ==================================================================== */
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{
  position:relative!important;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.coastal-theme #booking-product-grid .booking-product-card .booking-card-click-area{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:inherit;
  display:block;
  cursor:pointer;
  background:transparent;
  text-decoration:none;
}
.coastal-theme #booking-product-grid .booking-product-card .booking-card-content .choose-service,
.coastal-theme #booking-product-grid .booking-product-card .booking-card-content>a{
  position:relative;
  z-index:3;
}
.coastal-theme #booking-product-grid .booking-product-card.booking-photo-card:is(:hover,:focus-within){
  transform:translateY(-3px);
  border-color:#087cf4!important;
  box-shadow:0 12px 28px rgba(0,65,130,.14)!important;
}
.coastal-theme #booking-product-grid .booking-product-card .booking-card-click-area:focus-visible{
  outline:3px solid #087cf4;
  outline-offset:-4px;
}
.visually-hidden:not(:focus):not(:active){
  clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;width:1px;
  overflow:hidden;position:absolute;white-space:nowrap;
}
@media(prefers-reduced-motion:reduce){
  .coastal-theme #booking-product-grid .booking-product-card.booking-photo-card[data-service]{transition:none}
  .coastal-theme #booking-product-grid .booking-product-card.booking-photo-card:is(:hover,:focus-within){transform:none}
}

/* v11.6 Pre-Test: approved scene, recomposed to show both complete faces.
   Text is HTML, not burned into the banner. */
.coastal-theme .page-hero.pretest-driver-hero{
  min-height:350px;
  display:flex;
  align-items:center;
  padding:32px 0;
  background-image:
    linear-gradient(90deg,rgba(3,19,38,.91) 0%,rgba(3,19,38,.80) 26%,rgba(3,19,38,.47) 47%,rgba(3,19,38,.04) 78%),
    url('/assets/pretest-two-faces-v116.webp')!important;
  background-repeat:no-repeat!important;
  background-size:cover,cover!important;
  background-position:center,right center!important;
}
/* Let every service heading and strapline wrap before it reaches faces. */
.coastal-theme .page-hero.coastal-lesson-hero :is(h1,.page-lead),
.coastal-theme .page-hero.senior-driver-hero :is(h1,.page-lead),
.coastal-theme .page-hero.pretest-driver-hero :is(h1,.page-lead){
  max-width:min(100%,520px)!important;
}
.coastal-theme .page-hero.senior-driver-hero h1{max-width:min(100%,490px)!important}
.coastal-theme .page-hero.pretest-driver-hero .container{width:100%}
@media(max-width:1100px){
  .coastal-theme .page-hero.pretest-driver-hero{
    min-height:370px;
    align-items:flex-end;
    background-image:
      linear-gradient(0deg,rgba(3,19,38,.96) 0%,rgba(3,19,38,.90) 35%,rgba(3,19,38,.0) 72%),
      url('/assets/pretest-two-faces-v116.webp')!important;
    background-size:cover,auto 265px!important;
    background-position:center,right top!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero .container{padding-top:180px}
  .coastal-theme .page-hero.pretest-driver-hero :is(h1,.page-lead){max-width:100%!important}
}
@media(max-width:540px){
  .coastal-theme .page-hero.pretest-driver-hero{min-height:400px;padding:26px 0}
  .coastal-theme .page-hero.pretest-driver-hero .container{padding-top:220px}
  .coastal-theme .page-hero.coastal-lesson-hero :is(h1,.page-lead),
  .coastal-theme .page-hero.senior-driver-hero :is(h1,.page-lead){max-width:min(100%,340px)!important}
}


/* ========================================================================
   v11.7 — Pre-Test banner composition and restored content width.
   Avoid v11.6's .container {width:100%} override that pushed the text to
   the window edge. The image contains BOTH faces and the clipboard.
   ======================================================================== */
.coastal-theme .page-hero.pretest-driver-hero{
  min-height:390px!important;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  padding:32px 0!important;
  background-image:
    linear-gradient(90deg,rgba(3,20,40,.92) 0%,rgba(3,20,40,.76) 26%,rgba(3,20,40,.46) 44%,rgba(3,20,40,.03) 72%),
    url('/assets/pretest-faces-clipboard-v117.webp')!important;
  background-size:cover,cover!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
}
.coastal-theme .page-hero.pretest-driver-hero .container.narrow{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:0!important;
  padding-left:0;
  padding-right:0;
}
.coastal-theme .page-hero.pretest-driver-hero h1{
  max-width:min(770px,65%)!important;
  margin:8px 0 10px;
  text-wrap:balance;
}
.coastal-theme .page-hero.pretest-driver-hero .page-lead{
  max-width:min(640px,58%)!important;
  margin:0;
  text-wrap:pretty;
}
@media(max-width:1100px){
  .coastal-theme .page-hero.pretest-driver-hero{
    min-height:425px!important;
    padding:25px 0 30px!important;
    align-items:flex-end;
    background-image:
      linear-gradient(0deg,rgba(3,20,40,.98) 0%,rgba(3,20,40,.92) 33%,rgba(3,20,40,.02) 74%),
      url('/assets/pretest-faces-clipboard-v117.webp')!important;
    background-size:cover,auto 277px!important;
    background-position:center,right top!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero .container.narrow{
    width:calc(100% - 40px)!important;
    padding-top:265px!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero :is(h1,.page-lead){
    max-width:min(100%,800px)!important;
  }
}
@media(max-width:540px){
  .coastal-theme .page-hero.pretest-driver-hero{
    min-height:440px!important;
    padding:20px 0 24px!important;
    background-size:cover,auto 263px!important;
    background-position:center,right top!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero .container.narrow{
    width:calc(100% - 32px)!important;
    padding-top:235px!important;
  }
  .coastal-theme .page-hero.pretest-driver-hero h1{
    font-size:clamp(1.7rem,7vw,2.15rem)!important;
  }
}
