/* Z15GT Care+ Programme page styles (scoped) */
.z15gt-care-page {
  --modenas-navy: #212d65;
  --modenas-blue: #2d9cdb;
  --modenas-green: #62be1b;
  --modenas-black: #000000;
  --modenas-ink: #222222;
  --modenas-grey: #828282;
  --modenas-grey-light: #f5f5f5;
  --modenas-border: #e5e5e5;
  --modenas-white: #ffffff;
  --max: 1200px;
  font-family: 'Roboto';
  color: var(--modenas-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.z15gt-care-page img { max-width: 100%; display: block; }
.z15gt-care-page a { color: inherit; text-decoration: none; }
.z15gt-care-page button { font: inherit; cursor: pointer; border: none; background: none; }
.z15gt-care-page .care-container {
  width: min(100% - 2rem, var(--max));
  margin-inline: auto;
}
.z15gt-care-page section[id] {
  scroll-margin-top: 120px;
}

/* Sit below the fixed header, same as product banners */
.z15gt-care-page .z15gt-care-hero-wrap {
  padding-top: 5vh;
  overflow: hidden;
}
@media (min-width: 992px) {
  .z15gt-care-page .z15gt-care-hero-wrap { padding-top: 10vh; }
}
@media (min-width: 1800px) {
  .z15gt-care-page .z15gt-care-hero-wrap { padding-top: 7vh; }
}

/* Hero uses the supplied artwork as an image so FIND A DEALER is not cropped */
.z15gt-care-page .hero {
  position: relative;
  display: block;
  width: 100%;
  background: #000;
  line-height: 0;
  cursor: pointer;
  text-decoration: none;
}
.z15gt-care-page .hero img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
  image-rendering: auto;
}
.z15gt-care-page .btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      border: 1px solid var(--modenas-white);
      color: var(--modenas-white);
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 400;
      font-size: 14px;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 0.7rem 1.15rem;
      transition: background .25s, color .25s, border-color .25s;
    }
.z15gt-care-page .btn-outline:hover {
      background: var(--modenas-white);
      color: var(--modenas-black);
    }
.z15gt-care-page .btn-solid {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      background: var(--modenas-navy);
      color: var(--modenas-white);
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 400;
      font-size: 14px;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 0.8rem 1.25rem;
      transition: background .25s;
    }
.z15gt-care-page .btn-solid:hover { background: #18224f; }
/* Subnav */
/* Match product page .menu-banner / .flex-between */
.z15gt-care-page .subnav {
      background: #000;
      display: block !important;
    }
.z15gt-care-page .subnav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 83px;
      gap: 1rem;
    }
.z15gt-care-page .subnav .subnav-brand {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-transform: uppercase;
      color: #FFFFFF;
      white-space: nowrap;
      margin: 0;
      flex-shrink: 0;
    }
.z15gt-care-page .subnav .subnav-brand span {
      color: var(--modenas-blue);
    }
.z15gt-care-page .subnav .menu-bar-item {
      padding: 20px 0;
      overflow-x: auto;
      max-width: 100%;
    }
.z15gt-care-page .subnav .menu-bar-item ul {
      display: inline-flex;
      align-items: center;
      padding: 0;
      margin: 0;
      list-style: none;
    }
.z15gt-care-page .subnav .menu-bar-item ul li {
      padding: 1px;
      border-right: 2px solid #333333;
    }
.z15gt-care-page .subnav .menu-bar-item ul li:last-child {
      border-right: none;
    }
.z15gt-care-page .subnav .menu-bar-item ul li a {
      display: block;
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 14px;
      line-height: 21px;
      text-transform: uppercase;
      color: #FFFFFF;
      text-decoration: none;
      transition: .3s ease-out;
      padding: 10px 20px;
      white-space: nowrap;
    }
.z15gt-care-page .subnav .menu-bar-item ul li a:hover {
      transition: .3s ease-in;
      transform: translate(-0.5px);
      color: #a8a7a7;
    }
/* Sections */
.z15gt-care-page section:not(.z15gt-care-hero-wrap) { padding: 4rem 0; }
.z15gt-care-page .section-label {
      font-family: 'Oswald';
      font-style: normal;
      font-size: clamp(1.5rem, 3vw, 1.625rem);
      font-weight: 700;
      letter-spacing: normal;
      line-height: 100%;
      text-transform: uppercase;
      color: #cfcfcf;
      margin-bottom: 0.35rem;
    }
.z15gt-care-page .section-heading {
      font-family: 'Oswald';
      font-style: normal;
      font-size: clamp(1.75rem, 3.5vw, 1.875rem);
      font-weight: 700;
      letter-spacing: normal;
      line-height: 100%;
      text-transform: uppercase;
      color: #222222;
      margin-bottom: 1rem;
    }
.z15gt-care-page .section-heading .muted { color: var(--modenas-grey); }
.z15gt-care-page .lead {
      font-family: 'Roboto';
      max-width: 600px;
      color: var(--modenas-grey);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.6;
    }
.z15gt-care-page .intro {
      background: var(--modenas-white);
      padding-top: 3.5rem;
      padding-bottom: 2.5rem;
    }
.z15gt-care-page .intro-layout {
      display: grid;
      gap: 2rem;
      align-items: center;
    }
@media (min-width: 900px) {
.z15gt-care-page .intro-layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        gap: 3rem;
      }
}
.z15gt-care-page .intro-copy {
      min-width: 0;
    }
.z15gt-care-page .intro-eyebrow {
      display: inline-block;
      background: var(--modenas-black);
      color: var(--modenas-white);
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 0.75rem;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 0.35rem 0.65rem;
      margin-bottom: 1rem;
      border-radius: 2px;
    }
.z15gt-care-page .intro h1 {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: clamp(2rem, 4vw, 3.125rem);
      line-height: 90%;
      text-transform: uppercase;
      color: #222222;
      margin-bottom: 1rem;
    }
.z15gt-care-page .intro p {
      font-family: 'Roboto';
      max-width: 600px;
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.6;
      color: #444;
    }
.z15gt-care-page .intro p strong { color: #222222; font-weight: 700; }
.z15gt-care-page .intro-visual {
      display: flex;
      justify-content: center;
      align-items: center;
    }
@media (min-width: 900px) {
.z15gt-care-page .intro-visual { justify-content: flex-end; }
}
.z15gt-care-page .intro-visual img {
      width: min(100%, 420px);
      height: auto;
      object-fit: contain;
    }
/* USP cards */
.z15gt-care-page .covered { background: var(--modenas-grey-light); }
.z15gt-care-page .usp-grid {
      display: grid;
      gap: 1.25rem;
      margin-top: 2rem;
    }
@media (min-width: 900px) {
.z15gt-care-page .usp-grid { grid-template-columns: repeat(3, 1fr); }
}
.z15gt-care-page .usp-card {
      background: var(--modenas-white);
      border: 1px solid var(--modenas-border);
      padding: 1.75rem 1.5rem;
      transition: border-color .25s, transform .25s, box-shadow .25s;
    }
.z15gt-care-page .usp-card:hover {
      border-color: var(--modenas-blue);
      transform: translateY(-3px);
      box-shadow: 0 10px 28px rgba(0,0,0,0.06);
    }
.z15gt-care-page .usp-icon {
      width: 52px;
      height: 52px;
      border: 1px solid var(--modenas-border);
      display: grid;
      place-items: center;
      margin-bottom: 1.1rem;
      color: var(--modenas-navy);
      font-size: 1.25rem;
    }
.z15gt-care-page .usp-card h3 {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 20px;
      line-height: 30px;
      text-transform: uppercase;
      letter-spacing: normal;
      color: #222222;
      margin-bottom: 0.65rem;
    }
.z15gt-care-page .usp-card p {
      font-family: 'Roboto';
      font-weight: 400;
      color: var(--modenas-grey);
      font-size: 14px;
      line-height: 140%;
    }
/* Steps */
.z15gt-care-page .how {
      background: var(--modenas-white);
    }
.z15gt-care-page .steps-wrap {
      margin-top: 2rem;
    }
.z15gt-care-page .steps {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
.z15gt-care-page .step {
      position: relative;
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr);
      column-gap: 1rem;
      align-items: start;
    }
.z15gt-care-page .step-num {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--modenas-navy);
      color: var(--modenas-white);
      font-family: 'Oswald';
      font-style: normal;
      font-size: 18px;
      font-weight: 700;
      display: grid;
      place-items: center;
      position: relative;
      z-index: 1;
    }
.z15gt-care-page .step-body {
      padding-top: 0.65rem;
      padding-bottom: 1.75rem;
    }
.z15gt-care-page .step:last-child .step-body { padding-bottom: 0; }
.z15gt-care-page .step-body p {
      font-family: 'Roboto';
      font-size: 14px;
      font-weight: 400;
      line-height: 150%;
      color: #444;
      margin: 0;
    }
/* Mobile: vertical line between circles only */
.z15gt-care-page .step:not(:last-child)::before {
      content: "";
      position: absolute;
      top: 48px;
      left: 23px;
      width: 2px;
      bottom: 0;
      background: var(--modenas-blue);
      opacity: 0.45;
      z-index: 0;
    }
.z15gt-care-page .steps-note {
      margin-top: 1.5rem;
      font-family: 'Roboto';
      font-size: 14px;
      color: var(--modenas-navy);
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      padding: 0.75rem 1rem;
      background: var(--modenas-grey-light);
      border-left: 3px solid var(--modenas-blue);
      max-width: 100%;
    }
@media (min-width: 900px) {
.z15gt-care-page .steps {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.5rem;
        align-items: start;
      }
.z15gt-care-page .step {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
.z15gt-care-page .step:not(:last-child)::before {
        /* Desktop: horizontal connector from this circle to the next */
        top: 25px;
        left: calc(50% + 30px);
        right: auto;
        bottom: auto;
        width: calc(100% - 60px + 1.5rem);
        height: 2px;
      }
.z15gt-care-page .step-num {
        width: 52px;
        height: 52px;
        font-size: 20px;
        margin-bottom: 1rem;
      }
.z15gt-care-page .step-body {
        padding: 0;
        width: 100%;
      }
.z15gt-care-page .step-body p {
        max-width: 22ch;
        margin-inline: auto;
      }
.z15gt-care-page .steps-note { margin-top: 2rem; }
}
/* Dealers */
.z15gt-care-page .dealers { background: var(--modenas-grey-light); }
.z15gt-care-page .dealer-toolbar {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin: 1.75rem 0 1.25rem;
    }
.z15gt-care-page .state-filters {
      display: none;
      flex-wrap: wrap;
      gap: 0.45rem;
    }
@media (min-width: 900px) {
.z15gt-care-page .state-filters { display: flex; }
.z15gt-care-page .state-select-wrap { display: none; }
}
.z15gt-care-page .state-filter {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 0.5rem 0.8rem;
      border: 1px solid var(--modenas-border);
      background: var(--modenas-white);
      color: var(--modenas-ink);
      transition: background .2s, color .2s, border-color .2s;
    }
.z15gt-care-page .state-filter:hover { border-color: var(--modenas-navy); }
.z15gt-care-page .state-filter.is-active {
      background: var(--modenas-navy);
      border-color: var(--modenas-navy);
      color: var(--modenas-white);
    }
.z15gt-care-page .state-select-wrap select {
      width: 100%;
      appearance: none;
      background: var(--modenas-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23212d65' d='M6 8 0 0h12z'/%3E%3C/svg%3E") no-repeat right 1rem center;
      border: 1px solid var(--modenas-border);
      padding: 0.85rem 2.5rem 0.85rem 1rem;
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: normal;
      text-transform: uppercase;
      color: var(--modenas-ink);
    }
.z15gt-care-page .table-wrap {
      background: var(--modenas-white);
      border: 1px solid var(--modenas-border);
      overflow: auto;
    }
.z15gt-care-page table {
      width: 100%;
      border-collapse: collapse;
      min-width: 640px;
    }
.z15gt-care-page thead th {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: normal;
      text-transform: uppercase;
      text-align: left;
      background: var(--modenas-navy);
      color: var(--modenas-white);
      padding: 0.9rem 1rem;
      position: sticky;
      top: 0;
    }
.z15gt-care-page tbody td {
      font-family: 'Roboto';
      font-weight: 400;
      padding: 0.85rem 1rem;
      border-bottom: 1px solid var(--modenas-border);
      font-size: 14px;
      vertical-align: top;
    }
.z15gt-care-page tbody tr:hover { background: #f8fafc; }
.z15gt-care-page .badge {
      display: inline-block;
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      font-size: 11px;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 0.25rem 0.45rem;
      border: 1px solid var(--modenas-border);
      color: var(--modenas-navy);
      white-space: nowrap;
    }
.z15gt-care-page .badge.is-service {
      border-color: var(--modenas-green);
      color: #3f8a10;
      background: rgba(98,190,27,0.08);
    }
.z15gt-care-page .empty-row {
      text-align: center;
      padding: 2rem 1rem;
      color: var(--modenas-grey);
    }
/* Closing */
.z15gt-care-page .closing {
      background: var(--modenas-white);
    }
.z15gt-care-page .closing-grid {
      display: grid;
      gap: 1.5rem;
    }
@media (min-width: 800px) {
.z15gt-care-page .closing-grid { grid-template-columns: 1fr 1fr; }
}
.z15gt-care-page .closing-card {
      border-top: 4px solid var(--modenas-navy);
      background: var(--modenas-grey-light);
      padding: 1.75rem 1.5rem;
    }
.z15gt-care-page .closing-card h3 {
      font-family: 'Oswald';
      font-style: normal;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: normal;
      font-size: 20px;
      line-height: 30px;
      color: #222222;
      margin-bottom: 0.75rem;
    }
.z15gt-care-page .closing-card .big {
      font-family: 'Oswald';
      font-style: normal;
      font-size: clamp(1.5rem, 3vw, 1.875rem);
      font-weight: 700;
      color: var(--modenas-navy);
      line-height: 100%;
      margin-bottom: 0.5rem;
    }
.z15gt-care-page .closing-card p {
      font-family: 'Roboto';
      font-weight: 400;
      font-size: 14px;
      color: var(--modenas-grey);
    }
.z15gt-care-page .closing-card a {
      color: var(--modenas-navy);
      font-weight: 700;
      border-bottom: 1px solid transparent;
    }
.z15gt-care-page .closing-card a:hover { border-bottom-color: var(--modenas-navy); }
.z15gt-care-page .closing-card a.btn-solid {
      color: #ffffff !important;
      border-bottom: none;
    }
.z15gt-care-page .closing-card a.btn-solid:hover {
      color: #ffffff !important;
      border-bottom: none;
    }
/* Modenas site footer */

/* Sticky side CTA */

.z15gt-care-page [hidden] { display: none !important; }