.zl-header{position:sticky;top:0;z-index:1000;background:#111315;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(0,0,0,.12)}
.zl-header-inner{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:72px}
.zl-brand{display:flex;align-items:center;min-width:0}
.zl-brand .custom-logo-link{display:flex;align-items:center;margin:0;text-decoration:none}
.zl-brand .custom-logo{display:block;width:auto;max-width:105px;max-height:56px;object-fit:contain}
.zl-brand-fallback{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.zl-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--zl-yellow);color:var(--zl-ink);font-size:20px;font-weight:900}
.zl-brand-text{font-weight:900;letter-spacing:.04em}.zl-brand-text small{display:block;color:rgba(255,255,255,.45);font-size:8px;letter-spacing:.2em}
.zl-nav{min-width:0}
.zl-nav-list{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;list-style:none}
.zl-nav-list li{position:relative}
.zl-nav-list a{display:flex;align-items:center;min-height:72px;padding:0 10px;color:rgba(255,255,255,.82);font-size:11px;font-weight:800;letter-spacing:.045em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.zl-nav-list a:hover,.zl-nav-list .current-menu-item>a,.zl-nav-list .current-menu-ancestor>a{color:#fff;box-shadow:inset 0 3px var(--zl-yellow)}
.zl-nav-list .sub-menu{position:absolute;left:0;top:100%;display:none;min-width:230px;margin:0;padding:7px 0;list-style:none;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.zl-nav-list li:hover>.sub-menu,.zl-nav-list li:focus-within>.sub-menu{display:block}
.zl-nav-list .sub-menu a{min-height:0;padding:13px 18px;color:var(--zl-ink);font-size:12px;white-space:normal}
.zl-nav-list .sub-menu a:hover{background:#fffbea;box-shadow:inset 4px 0 var(--zl-yellow)}
.zl-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 17px;border-radius:7px;background:var(--zl-yellow);color:var(--zl-ink);font-size:11px;font-weight:900;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.zl-nav-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--zl-yellow);color:var(--zl-ink)}
.zl-nav-toggle-lines,.zl-nav-toggle-lines:before,.zl-nav-toggle-lines:after{display:block;width:20px;height:2px;background:currentColor;content:"";transition:.2s}
.zl-nav-toggle-lines:before{transform:translateY(-6px)}.zl-nav-toggle-lines:after{transform:translateY(4px)}
.zl-nav-toggle[aria-expanded=true] .zl-nav-toggle-lines{background:transparent}.zl-nav-toggle[aria-expanded=true] .zl-nav-toggle-lines:before{transform:translateY(0) rotate(45deg)}.zl-nav-toggle[aria-expanded=true] .zl-nav-toggle-lines:after{transform:translateY(-2px) rotate(-45deg)}
.zl-section-head{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:64px;align-items:end;margin-bottom:38px}.zl-section-head h2{margin:0}.zl-section-head p{max-width:620px;margin:0;color:var(--zl-muted);font-size:17px}.zl-section-head-simple{margin-bottom:30px}.zl-section-head-simple h2{margin:0 0 8px}.zl-section-head-simple p{color:var(--zl-muted)}.zl-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--zl-line);border-left:1px solid var(--zl-line)}.zl-course-card{display:flex;flex-direction:column;min-height:265px;padding:28px;border-right:1px solid var(--zl-line);border-bottom:1px solid var(--zl-line);background:#fff;color:inherit;text-decoration:none}.zl-course-card.is-featured{background:#fffbea}.zl-course-card:hover{background:#fafaf7}.zl-course-code{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:42px;height:35px;padding:0 10px;border-radius:7px;background:var(--zl-yellow);color:var(--zl-ink);font-size:13px;font-weight:900}.zl-course-card h2,.zl-course-card h3{margin:22px 0 8px;font-size:22px;line-height:1.24}.zl-course-card p{color:var(--zl-muted);font-size:14px;line-height:1.65}.zl-card-link{margin-top:auto;padding-top:18px;font-size:13px;font-weight:900}.zl-dark-card{position:relative;overflow:hidden;padding:34px;border-radius:12px;background:var(--zl-ink);color:#fff}.zl-dark-card:after{content:"B";position:absolute;right:-12px;bottom:-52px;color:rgba(255,255,255,.035);font-size:220px;line-height:1;font-weight:900}.zl-dark-card>*{position:relative;z-index:1}.zl-dark-card h2{margin:12px 0 9px;color:#fff;font-size:35px;line-height:1.05}.zl-dark-card p{color:rgba(255,255,255,.68)}.zl-dark-label{color:rgba(255,255,255,.54);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.zl-facts{margin:24px 0}.zl-facts div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid rgba(255,255,255,.13)}.zl-facts div:last-child{border-bottom:1px solid rgba(255,255,255,.13)}.zl-facts dt{color:rgba(255,255,255,.58);font-size:12px}.zl-facts dd{margin:0;color:#fff;font-size:12px;font-weight:800;text-align:right}.zl-inline-points{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:25px;color:var(--zl-muted);font-size:12px;font-weight:700}.zl-inline-points span{display:flex;align-items:center;gap:8px}.zl-inline-points span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--zl-yellow)}.zl-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px}.zl-reason-list{border-top:1px solid #d8d9d6}.zl-reason-list article{display:grid;grid-template-columns:42px 1fr;gap:17px;padding:22px 0;border-bottom:1px solid #d8d9d6}.zl-reason-list article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--zl-yellow);font-size:12px;font-weight:900}.zl-reason-list h3{margin:0 0 4px;font-size:18px}.zl-reason-list p{margin:0;color:var(--zl-muted);font-size:14px}.zl-check-list{display:grid;gap:12px;margin:24px 0;padding:0;list-style:none}.zl-check-list li{display:flex;gap:12px}.zl-check-list li:before{content:"";flex:0 0 9px;width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--zl-yellow)}.zl-price-card{padding:30px;border:1px solid var(--zl-line);border-radius:12px;background:var(--zl-soft)}.zl-price-card span{display:block;margin-top:22px;color:var(--zl-muted);font-size:11px;font-weight:800;text-transform:uppercase}.zl-price-card strong{display:block;margin:5px 0;color:var(--zl-ink);font-size:52px;line-height:1}.zl-price-card p{color:var(--zl-muted);font-size:14px}.zl-liikluslab-word{font-size:34px;font-weight:800;letter-spacing:-.04em}.zl-results{background:var(--zl-ink);color:#fff}.zl-results h2{color:#fff}.zl-results p{color:rgba(255,255,255,.65)}.zl-results .zl-eyebrow{color:rgba(255,255,255,.55)}.zl-results-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,190px);gap:55px;align-items:center}.zl-result{padding-left:24px;border-left:1px solid rgba(255,255,255,.16)}.zl-result strong{display:block;color:var(--zl-yellow);font-size:58px;line-height:1}.zl-result span{color:rgba(255,255,255,.72);font-size:13px}.zl-cta-row,.zl-dark-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center}.zl-dark-cta{padding:38px;border-radius:12px;background:var(--zl-ink);color:#fff}.zl-dark-cta h2{margin:8px 0;color:#fff}.zl-dark-cta p{margin:0;color:rgba(255,255,255,.68)}@media(max-width:1180px){.zl-header-inner{grid-template-columns:1fr auto auto}.zl-nav-toggle{display:inline-flex;align-items:center;justify-content:center}.zl-nav{position:absolute;left:0;right:0;top:100%;display:none;padding:10px 15px 20px;background:#111315}.zl-nav.is-open{display:block}.zl-nav-list{display:block}.zl-nav-list a{min-height:54px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.08)}.zl-nav-list .sub-menu{position:static;display:block;margin-left:15px;background:rgba(255,255,255,.04);box-shadow:none}.zl-nav-list .sub-menu a{color:rgba(255,255,255,.72)}.zl-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zl-section-head,.zl-split,.zl-results-grid{grid-template-columns:1fr;gap:36px}.zl-result{padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.16)}}@media(max-width:650px){.zl-header-inner{grid-template-columns:1fr auto}.zl-header-cta{display:none}.zl-course-grid{grid-template-columns:1fr}.zl-course-card{min-height:0}.zl-cta-row,.zl-dark-cta{grid-template-columns:1fr}}

/* Zebra Light 0.2 additions */
.zl-contact-strip{background:var(--zl-soft);border-bottom:1px solid var(--zl-line)}.zl-contact-strip>.zl-shell{display:grid;grid-template-columns:repeat(3,1fr)}.zl-contact-strip a,.zl-contact-strip>div>span{padding:20px 24px;border-left:1px solid var(--zl-line);text-decoration:none}.zl-contact-strip a:first-child{border-left:0}.zl-contact-strip strong,.zl-contact-strip span{display:block}.zl-contact-strip span span,.zl-contact-strip a span{color:var(--zl-muted);font-size:11px;margin-top:3px}.zl-table-wrap{overflow-x:auto;border:1px solid var(--zl-line);border-radius:10px}.zl-price-table{width:100%;border-collapse:collapse;background:#fff}.zl-price-table th,.zl-price-table td{padding:15px 18px;border-bottom:1px solid var(--zl-line);text-align:left}.zl-price-table th{background:var(--zl-soft);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.zl-price-table td:last-child,.zl-price-table th:last-child{text-align:right;white-space:nowrap;font-weight:800}.zl-price-table tr:last-child td{border-bottom:0}.zl-table-note{margin-top:14px;color:var(--zl-muted);font-size:12px}.zl-registration-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:64px}.zl-registration-panel{padding:26px;border:1px solid var(--zl-line);border-radius:12px;background:#fff}.zl-legal-toc{padding:24px 0;background:var(--zl-soft);border-bottom:1px solid var(--zl-line)}.zl-legal-toc>.zl-shell{display:grid;grid-template-columns:180px 1fr;gap:30px}.zl-legal-toc>div>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}.zl-legal-toc a{display:grid;grid-template-columns:24px 1fr;gap:9px;text-decoration:none;font-size:13px}.zl-legal-toc a span,.zl-legal-section header>span{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--zl-yellow);font-size:11px;font-weight:900}.zl-legal-content{max-width:1000px}.zl-legal-section{display:grid;grid-template-columns:280px 1fr;gap:60px;padding:42px 0;border-bottom:1px solid var(--zl-line);scroll-margin-top:90px}.zl-legal-section header{display:grid;grid-template-columns:38px 1fr;gap:12px}.zl-legal-section header>span{width:38px;height:38px;border-radius:10px}.zl-legal-section h2{margin:3px 0 0;font-size:25px}.zl-legal-section>div{font-size:15px;line-height:1.78;white-space:normal}/* Zebra Light 0.2.2 — õpetajate plokid */
.zb-teachers-grid,
.zb-teachers-row{
  display:grid;
  grid-template-columns:repeat(var(--zb-teacher-cols,1),minmax(0,1fr));
  gap:18px;
}
.zb-teacher-card,
.zb-teacher-row{
  min-width:0;
  border:1px solid var(--zl-line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.zb-teacher-card:hover,
.zb-teacher-row:hover{
  border-color:#c9c7b5;
  box-shadow:0 8px 24px rgba(17,19,21,.06);
}
.zb-teacher-row{
  display:grid;
  grid-template-columns:107px minmax(0,1fr);
  align-items:start;
  gap:22px;
  padding:20px;
}
.zb-teacher-row-photo{
  width:107px;
  height:160px;
  min-width:107px;
  overflow:hidden;
  border-radius:7px;
  background:var(--zl-soft);
}
.zb-teacher-row-img{
  display:block;
  width:107px;
  height:160px;
  max-width:none;
  object-fit:cover;
  object-position:top center;
}
.zb-teacher-row-photo.zb-teacher-photo-contain{
  display:grid;
  place-items:center;
  padding:8px;
}
.zb-teacher-row-photo.zb-teacher-photo-contain .zb-teacher-row-img{
  width:91px;
  height:144px;
  object-fit:contain;
  object-position:center;
}
.zb-teacher-row-info{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:160px;
}
.zb-teacher-name{
  margin:0;
  color:var(--zl-ink);
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.025em;
}
.zb-teacher-role{
  margin-top:5px;
  color:var(--zl-muted);
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.zb-teacher-cats{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:11px;
}
.zb-teacher-cat{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid #e2d98b;
  border-radius:5px;
  background:#fffceb;
  color:#5b5522;
  font-size:10px;
  line-height:1;
  font-weight:800;
}
.zb-teacher-bio{
  margin:12px 0 0;
  color:var(--zl-muted);
  font-size:13px;
  line-height:1.62;
}
.zb-teacher-contact{
  display:flex;
  flex-wrap:wrap;
  gap:7px 16px;
  margin-top:auto;
  padding-top:13px;
}
.zb-teacher-contact a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--zl-ink);
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-decoration:none;
}
.zb-teacher-contact a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.zb-teacher-contact a span{
  color:#8b8c87;
  font-size:11px;
}

/* Grid jääb kasutatavaks mujal, kuid ei suurenda väikseid portreefotosid üle mõistuse. */
.zb-teacher-card{
  display:grid;
  grid-template-columns:107px minmax(0,1fr);
  gap:0;
  padding:20px;
}
.zb-teacher-photo{
  width:107px;
  height:160px;
  min-height:0;
  padding:0;
  overflow:hidden;
  border-radius:7px;
  background:var(--zl-soft);
}
.zb-teacher-img{
  display:block;
  width:107px;
  height:160px;
  max-width:none;
  object-fit:cover;
  object-position:top center;
}
.zb-teacher-photo.zb-teacher-photo-contain{
  display:grid;
  place-items:center;
  padding:8px;
}
.zb-teacher-photo.zb-teacher-photo-contain .zb-teacher-img{
  width:91px;
  height:144px;
  object-fit:contain;
  object-position:center;
}
.zb-teacher-info{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0 0 0 22px;
}
.zb-teacher-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:var(--zl-muted);
  font-size:30px;
  font-weight:800;
}

@media(max-width:1000px){
  .zb-teachers-row,
  .zb-teachers-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .zb-teacher-row,
  .zb-teacher-card{
    grid-template-columns:84px minmax(0,1fr);
    gap:16px;
    padding:16px;
  }
  .zb-teacher-row-photo,
  .zb-teacher-photo{
    width:84px;
    min-width:84px;
    height:126px;
  }
  .zb-teacher-row-img,
  .zb-teacher-img{
    width:84px;
    height:126px;
  }
  .zb-teacher-row-photo.zb-teacher-photo-contain,
  .zb-teacher-photo.zb-teacher-photo-contain{
    padding:7px;
  }
  .zb-teacher-row-photo.zb-teacher-photo-contain .zb-teacher-row-img,
  .zb-teacher-photo.zb-teacher-photo-contain .zb-teacher-img{
    width:70px;
    height:112px;
  }
  .zb-teacher-info{
    padding-left:0;
  }
  .zb-teacher-row-info{
    min-height:126px;
  }
  .zb-teacher-name{
    font-size:18px;
  }
  .zb-teacher-bio{
    grid-column:1/-1;
  }
  .zb-teacher-contact{
    gap:5px 12px;
  }
}
@media(max-width:900px){.zl-registration-grid,.zl-legal-section{grid-template-columns:1fr}.zl-legal-toc>.zl-shell{grid-template-columns:1fr}}@media(max-width:650px){.zl-contact-strip>.zl-shell,.zl-legal-toc>div>div{grid-template-columns:1fr}.zl-contact-strip a,.zl-contact-strip>div>span{border-left:0;border-top:1px solid var(--zl-line)}.zl-contact-strip a:first-child{border-top:0}}

/* Zebra Light 0.2.1 — content pages */
.zl-prose-wide{max-width:900px}.zl-prose-wide>h1:first-child{display:none}.zl-prose-wide h2{padding-top:.3em;border-top:1px solid var(--zl-line)}.zl-prose-wide h2:first-child{border-top:0}.zl-prose-wide iframe{width:100%;min-height:420px;border:0;border-radius:10px}.zl-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--zl-line);border-left:1px solid var(--zl-line)}.zl-link-grid a{min-height:92px;padding:22px;border-right:1px solid var(--zl-line);border-bottom:1px solid var(--zl-line);background:#fff;color:var(--zl-ink);font-weight:800;text-decoration:none}.zl-link-grid a:hover{background:#fffbea}.zl-prose-wide .fusion-builder-row,.zl-prose-wide .fusion-layout-column{max-width:100%!important;width:100%!important;margin:0!important}.zl-prose-wide .fusion-fullwidth{padding-left:0!important;padding-right:0!important}@media(max-width:800px){.zl-link-grid{grid-template-columns:1fr}.zl-prose-wide iframe{min-height:250px}}


/* Zebra Light 0.3.0 — sisulehed */
.zl-city-card-grid,.zl-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.zl-city-card,.zl-portal-card{display:flex;flex-direction:column;min-height:250px;padding:28px;border:1px solid var(--zl-line);border-radius:10px;background:#fff;color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.zl-city-card:hover,.zl-portal-card:hover{border-color:#c9c7b5;box-shadow:0 10px 28px rgba(17,19,21,.06);transform:translateY(-2px)}
.zl-city-card>span,.zl-portal-card>span{color:var(--zl-muted);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.zl-city-card h3,.zl-portal-card h3{margin:12px 0 9px;font-size:22px;line-height:1.2}
.zl-city-card p,.zl-portal-card p{color:var(--zl-muted);font-size:14px;line-height:1.65}
.zl-city-card strong,.zl-portal-card strong{margin-top:auto;padding-top:16px;color:var(--zl-ink);font-size:13px}
.zl-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.zl-legacy-content{min-width:0}
.zl-legacy-content>[class*="fusion"],.zl-legacy-content [class*="fusion-"]{max-width:100%}
.zl-legacy-content h1{display:none}
.zl-legacy-content h2{margin-top:1.7em;padding-top:.75em;border-top:1px solid var(--zl-line)}
.zl-legacy-content h2:first-child{margin-top:0;padding-top:0;border-top:0}
.zl-legacy-content img{border-radius:8px}
.zl-legacy-content .zl-btn{margin:8px 8px 8px 0}
.zl-legacy-details{margin:12px 0;border:1px solid var(--zl-line);border-radius:9px;background:#fff;overflow:hidden}
.zl-legacy-details summary{position:relative;padding:17px 52px 17px 18px;color:var(--zl-ink);font-weight:800;cursor:pointer;list-style:none}
.zl-legacy-details summary::-webkit-details-marker{display:none}
.zl-legacy-details summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:500}
.zl-legacy-details[open] summary:after{content:"−"}
.zl-legacy-details-body{padding:0 18px 18px;border-top:1px solid var(--zl-line)}
.zl-legacy-details-body>:first-child{margin-top:16px}
.zl-legacy-details-body>:last-child{margin-bottom:0}

@media(max-width:1180px){
  .zl-header-inner{grid-template-columns:minmax(0,1fr) auto auto}
  .zl-brand .custom-logo{max-width:96px;max-height:52px}
}
@media(max-width:800px){
  .zl-city-card-grid,.zl-portal-grid{grid-template-columns:1fr}
}


/* Zebra Light 0.3.0 — Avada footeri info uues kerges teemas */
.zl-footer{padding-top:62px}
.zl-footer-grid-rich{grid-template-columns:minmax(200px,1.05fr) minmax(270px,1.45fr) minmax(150px,.72fr) minmax(210px,1fr);gap:42px;padding-bottom:48px}
.zl-footer-grid-rich h2{font-size:13px;line-height:1.4}
.zl-footer-company .zl-footer-brand{font-size:20px}
.zl-footer-slogan{margin:9px 0 18px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.6}
.zl-footer-contact{display:grid;gap:4px}
.zl-footer-contact a{margin:0;color:#fff;font-weight:750}
.zl-footer-company-data{margin-top:18px;color:rgba(255,255,255,.46);font-size:12px;line-height:1.65}
.zl-footer-about p{max-width:460px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.75}
.zl-footer-subhead{margin-top:27px!important}
.zl-social-links{display:flex;flex-wrap:wrap;gap:7px}
.zl-social-links a{margin:0;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:6px;color:rgba(255,255,255,.78);font-size:12px}
.zl-social-links a:hover{border-color:var(--zl-yellow);background:rgba(245,216,0,.06)}
.zl-footer-useful a,.zl-footer-info>a{position:relative;padding-left:13px;font-size:13px}
.zl-footer-useful a:before,.zl-footer-info>a:before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--zl-yellow)}
.zl-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.zl-footer-bottom-inner>span:last-child{display:flex;gap:18px}
.zl-footer-bottom a{display:inline;margin:0;color:rgba(255,255,255,.52)}
.zl-footer-bottom a:hover{color:var(--zl-yellow)}
@media(max-width:1050px){.zl-footer-grid-rich{grid-template-columns:1fr 1.25fr 1fr}.zl-footer-useful{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 22px}.zl-footer-useful h2{grid-column:1/-1}}
@media(max-width:760px){.zl-footer-grid-rich{grid-template-columns:1fr 1fr}.zl-footer-about{grid-column:1/-1}.zl-footer-useful{grid-template-columns:1fr 1fr}.zl-footer-bottom-inner{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:520px){.zl-footer-grid-rich{grid-template-columns:1fr}.zl-footer-about{grid-column:auto}.zl-footer-useful{grid-column:auto;grid-template-columns:1fr}.zl-footer-useful h2{grid-column:auto}.zl-footer-bottom-inner>span:last-child{flex-direction:column;gap:3px}}


/* Zebra Light 0.3.1 — jaluse pealkirjad ja sotsiaalmeedia */
.zl-footer-grid-rich h2,
.zl-footer-grid-rich .zl-footer-subhead {
  color: var(--zl-yellow) !important;
}
.zl-footer-grid-rich h2::selection,
.zl-footer-grid-rich .zl-footer-subhead::selection {
  background: #fff;
  color: #111315;
}
.zl-social-links{
  gap:8px;
}
.zl-social-links a{
  min-width:74px;
  justify-content:center;
  text-align:center;
}


/* =========================================================
   Zebra Light 0.3.2 — mobiilimenüü
   ========================================================= */
@media (max-width:1180px) {
  body.zl-nav-open {
    overflow:hidden;
    touch-action:none;
  }

  .zl-header {
    z-index:10000;
  }

  .zl-nav {
    position:fixed !important;
    z-index:9999;
    top:var(--zl-nav-top,72px) !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    display:none;
    width:auto;
    height:auto;
    max-height:none;
    padding:12px 20px calc(34px + env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#111315;
  }

  .zl-nav.is-open {
    display:block;
  }

  .zl-nav-list {
    display:block;
    width:100%;
    max-width:720px;
    margin:0 auto;
  }

  .zl-nav-list > li {
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .zl-nav-list > li > a {
    min-height:62px;
    padding:0 54px 0 10px;
    border:0;
    color:rgba(255,255,255,.85);
    font-size:14px;
    line-height:1.25;
    letter-spacing:.035em;
  }

  .zl-nav-list > li:not(.menu-item-has-children) > a {
    padding-right:10px;
  }

  .zl-nav-list a:hover,
  .zl-nav-list .current-menu-item > a,
  .zl-nav-list .current-menu-ancestor > a {
    color:#fff;
    box-shadow:none;
  }

  .zl-nav-list .current-menu-item > a {
    color:var(--zl-yellow);
  }

  .zl-submenu-toggle {
    position:absolute;
    z-index:2;
    top:8px;
    right:0;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--zl-yellow);
    cursor:pointer;
  }

  .zl-submenu-toggle span {
    display:block;
    width:10px;
    height:10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-3px) rotate(45deg);
    transition:transform .18s ease;
  }

  .menu-item-has-children.is-submenu-open > .zl-submenu-toggle span {
    transform:translateY(3px) rotate(225deg);
  }

  .zl-nav-list .sub-menu {
    position:static !important;
    display:none !important;
    min-width:0;
    margin:0 0 9px;
    padding:0 0 4px 12px;
    background:transparent;
    box-shadow:none;
  }

  .zl-nav-list .menu-item-has-children.is-submenu-open > .sub-menu {
    display:block !important;
  }

  .zl-nav-list .sub-menu li {
    border:0;
  }

  .zl-nav-list .sub-menu a {
    min-height:48px;
    padding:10px 14px;
    border:0;
    border-left:2px solid rgba(245,216,0,.24);
    color:rgba(255,255,255,.66);
    font-size:13px;
    line-height:1.35;
  }

  .zl-nav-list .sub-menu .current-menu-item > a {
    border-left-color:var(--zl-yellow);
    color:#fff;
    background:rgba(255,255,255,.04);
  }
}

/* Üldine mobiiliviimistlus */
@media (max-width:650px) {
  .zl-header-inner {
    min-height:68px;
  }

  .zl-brand .custom-logo {
    max-width:98px;
    max-height:54px;
  }

  .zl-nav-toggle {
    width:48px;
    height:48px;
  }

  .zl-section {
    padding:52px 0;
  }

  .zl-section-head,
  .zl-section-head-simple {
    margin-bottom:24px;
  }

  .zl-dark-card {
    padding:24px;
  }

  .zl-dark-card h2 {
    font-size:30px;
  }

  .zl-dark-cta {
    padding:26px 22px;
  }

  .zl-course-card {
    padding:22px;
  }

  .zl-contact-strip a,
  .zl-contact-strip > div > span {
    padding:17px 4px;
  }

  .zl-price-table th,
  .zl-price-table td {
    padding:13px 12px;
  }

  .zl-table-wrap {
    -webkit-overflow-scrolling:touch;
  }

  .zl-legal-section {
    gap:18px;
    padding:30px 0;
  }

  .zl-footer {
    padding-top:48px;
  }
}


/* Küpsiste eelistused on jaluses, mitte fikseeritult ekraani peal. */
.zl-footer-cookie{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.52);
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.zl-footer-cookie:hover,
.zl-footer-cookie:focus-visible{
  color:var(--zl-yellow);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:520px){
  .zl-footer-bottom-inner>span:last-child{
    align-items:flex-start;
  }
}


/* =========================================================
   Zebra Light 0.3.4 — Avada-laadne põhimenüü
   ========================================================= */

/* JS lisab need nupud mobiili jaoks. Desktopil EI TOHI neid näha. */
.zl-submenu-toggle{
  display:none;
  appearance:none;
  -webkit-appearance:none;
}

/* Desktop */
@media (min-width:1181px){
  .zl-header-inner{
    grid-template-columns:112px minmax(0,1fr) auto;
    gap:24px;
    min-height:78px;
  }

  .zl-brand .custom-logo{
    max-width:100px;
    max-height:60px;
  }

  .zl-nav{
    align-self:stretch;
    display:flex;
    align-items:stretch;
    min-width:0;
  }

  .zl-nav-list{
    display:flex;
    align-items:stretch;
    justify-content:center;
    width:100%;
    gap:2px;
  }

  .zl-nav-list > li{
    position:relative;
    display:flex;
    align-items:stretch;
  }

  .zl-nav-list > li > a{
    position:relative;
    display:flex;
    align-items:center;
    gap:7px;
    min-height:78px;
    padding:0 12px;
    color:rgba(255,255,255,.82);
    font-size:11px;
    line-height:1;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
    box-shadow:none !important;
  }

  /* Väike Avada-stiilis dropdown nool ainult päris parent-menüüdel. */
  .zl-nav-list > .menu-item-has-children > a::after{
    content:"";
    flex:0 0 auto;
    width:6px;
    height:6px;
    margin-top:-3px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:rotate(45deg);
    opacity:.85;
  }

  .zl-nav-list > li > a::before{
    content:"";
    position:absolute;
    right:10px;
    bottom:0;
    left:10px;
    height:3px;
    background:var(--zl-yellow);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .16s ease;
  }

  .zl-nav-list > li:hover > a,
  .zl-nav-list > li:focus-within > a{
    color:#fff;
    background:rgba(255,255,255,.025);
  }

  .zl-nav-list > li:hover > a::before,
  .zl-nav-list > li:focus-within > a::before,
  .zl-nav-list > .current-menu-item > a::before,
  .zl-nav-list > .current-menu-ancestor > a::before{
    transform:scaleX(1);
  }

  .zl-nav-list > .current-menu-item > a,
  .zl-nav-list > .current-menu-ancestor > a{
    color:#fff;
    background:rgba(255,255,255,.04);
  }

  /* Desktop dropdown */
  .zl-nav-list .sub-menu{
    position:absolute;
    z-index:1100;
    top:100%;
    left:0;
    display:block;
    visibility:hidden;
    min-width:245px;
    max-width:310px;
    margin:0;
    padding:7px 0;
    border-top:3px solid var(--zl-yellow);
    border-radius:0 0 8px 8px;
    background:#17191b;
    opacity:0;
    box-shadow:0 18px 42px rgba(0,0,0,.24);
    transform:translateY(7px);
    pointer-events:none;
    transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
  }

  .zl-nav-list > li:last-child .sub-menu,
  .zl-nav-list > li:nth-last-child(2) .sub-menu{
    right:0;
    left:auto;
  }

  .zl-nav-list li:hover > .sub-menu,
  .zl-nav-list li:focus-within > .sub-menu{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }

  .zl-nav-list .sub-menu li{
    display:block;
    border-bottom:1px solid rgba(255,255,255,.07);
  }

  .zl-nav-list .sub-menu li:last-child{
    border-bottom:0;
  }

  .zl-nav-list .sub-menu a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:43px;
    padding:10px 17px 10px 20px;
    background:transparent;
    color:rgba(255,255,255,.72);
    font-size:11px;
    line-height:1.35;
    font-weight:750;
    letter-spacing:.025em;
    text-transform:uppercase;
    white-space:normal;
    box-shadow:none !important;
  }

  .zl-nav-list .sub-menu a::before{
    content:"";
    position:absolute;
    left:9px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--zl-yellow);
    opacity:0;
    transform:translateX(-3px);
    transition:opacity .14s ease,transform .14s ease;
  }

  .zl-nav-list .sub-menu a:hover,
  .zl-nav-list .sub-menu a:focus-visible,
  .zl-nav-list .sub-menu .current-menu-item > a{
    padding-left:25px;
    background:#1d2022;
    color:#fff;
  }

  .zl-nav-list .sub-menu a:hover::before,
  .zl-nav-list .sub-menu a:focus-visible::before,
  .zl-nav-list .sub-menu .current-menu-item > a::before{
    opacity:1;
    transform:translateX(0);
  }

  .zl-header-cta{
    min-height:42px;
    align-self:center;
    padding:10px 18px;
  }
}

/* Mobiilis on alammenüü nool eraldi puutenupp. */
@media (max-width:1180px){
  .zl-submenu-toggle{
    display:grid;
  }
}

@media (max-width:1280px) and (min-width:1181px){
  .zl-header-inner{
    gap:14px;
  }
  .zl-nav-list > li > a{
    padding-right:9px;
    padding-left:9px;
    font-size:10px;
  }
  .zl-header-cta{
    padding-right:14px;
    padding-left:14px;
    font-size:10px;
  }
}


/* Zebra Light 0.3.5 — õpetaja kontakt enne tutvustust */
.zb-teacher-contact{
  margin-top:12px !important;
  padding-top:0 !important;
  padding-bottom:11px;
  border-bottom:1px solid var(--zl-line);
}
.zb-teacher-bio{
  margin-top:12px !important;
}


/* Zebra Light 0.5.2 — õppesõidu alguskoht */
.zl-driving-location-section{
  padding:28px 0;
  border-bottom:1px solid var(--zl-line);
  background:#fffdf1;
}
.zl-driving-location-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:22px 24px;
  border:1px solid #e3d77a;
  border-radius:10px;
  background:#fff;
}
.zl-driving-location-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--zl-yellow);
  color:#111315;
  font-size:21px;
  font-weight:950;
}
.zl-driving-location-copy .zl-eyebrow{
  margin-bottom:6px;
}
.zl-driving-location-copy h2{
  margin:0;
  color:var(--zl-ink);
  font-size:clamp(1.35rem,2.1vw,1.8rem);
  line-height:1.15;
}
.zl-driving-location-copy p{
  margin:6px 0 0;
  color:var(--zl-muted);
  font-size:13px;
  line-height:1.5;
}
.zl-driving-location-map{
  white-space:nowrap;
}
@media(max-width:700px){
  .zl-driving-location-card{
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    padding:18px;
  }
  .zl-driving-location-icon{
    width:48px;
    height:48px;
  }
  .zl-driving-location-map{
    grid-column:1/-1;
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   Zebra Light 0.5.3 — Zebra triibud
   CSS-only, kerge ja skaleeruv brändielement
   ========================================================= */

/* Hero: õrn triibumuster paremas servas */
.zl-page-hero,
.zl-home-hero,
.zl-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.zl-page-hero::after,
.zl-home-hero::after,
.zl-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18%;
  right: -8%;
  width: clamp(240px, 28vw, 520px);
  height: 145%;
  opacity: .042;
  background:
    repeating-linear-gradient(
      118deg,
      #111315 0 22px,
      transparent 22px 44px,
      #111315 44px 57px,
      transparent 57px 83px
    );
  transform: skewX(-9deg);
  pointer-events: none;
}

/* Tumedatel kaartidel väga diskreetne zebra nurgadetail */
.zl-dark-card,
.zl-dark-cta,
.zl-price-card,
.zl-bc-summary,
.zl-bc-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.zl-dark-card::before,
.zl-dark-cta::before,
.zl-price-card::before,
.zl-bc-summary::before,
.zl-bc-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -28px;
  bottom: -34px;
  width: 190px;
  height: 150px;
  opacity: .055;
  background:
    repeating-linear-gradient(
      122deg,
      rgba(255,255,255,.95) 0 12px,
      transparent 12px 25px,
      rgba(255,255,255,.95) 25px 34px,
      transparent 34px 52px
    );
  transform: rotate(-4deg);
  pointer-events: none;
}

/* Footeris nähtavam kollane-must Zebra riba */
.zl-footer {
  position: relative;
  overflow: hidden;
}

.zl-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 8px;
  background:
    repeating-linear-gradient(
      118deg,
      #f5d800 0 18px,
      #111315 18px 31px,
      #f5d800 31px 47px,
      #111315 47px 61px
    );
  opacity: .98;
  pointer-events: none;
}

/* Väike triibuline rõhk eyebrow-elementidel */
.zl-eyebrow::before {
  background:
    repeating-linear-gradient(
      120deg,
      #f5d800 0 8px,
      #111315 8px 11px,
      #f5d800 11px 18px
    ) !important;
}

/* Õppesõidu alguskoha kaardil õrn servadetail */
.zl-driving-location-card {
  position: relative;
  overflow: hidden;
}
.zl-driving-location-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 74px;
  height: 100%;
  opacity: .055;
  background:
    repeating-linear-gradient(
      120deg,
      #111315 0 9px,
      transparent 9px 18px
    );
  pointer-events: none;
}

/* Kaartidel hover/focus ajal minimaalne zebra vihje */
.zl-course-card,
.zl-city-card,
.zl-finance-card,
.zl-portal-card {
  position: relative;
  overflow: hidden;
}
.zl-course-card::after,
.zl-city-card::after,
.zl-finance-card::after,
.zl-portal-card::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -22px;
  width: 90px;
  height: 70px;
  opacity: 0;
  background:
    repeating-linear-gradient(
      120deg,
      #111315 0 8px,
      transparent 8px 16px
    );
  transition: opacity .18s ease;
  pointer-events: none;
}
.zl-course-card:hover::after,
.zl-city-card:hover::after,
.zl-finance-card:hover::after,
.zl-portal-card:hover::after,
.zl-course-card:focus-within::after,
.zl-city-card:focus-within::after,
.zl-finance-card:focus-within::after,
.zl-portal-card:focus-within::after {
  opacity: .045;
}

@media (max-width: 700px) {
  .zl-page-hero::after,
  .zl-home-hero::after,
  .zl-hero::after {
    right: -26%;
    width: 280px;
    opacity: .026;
  }

  .zl-dark-card::before,
  .zl-dark-cta::before,
  .zl-price-card::before,
  .zl-bc-summary::before,
  .zl-bc-cta::before {
    width: 130px;
    height: 110px;
    opacity: .04;
  }

  .zl-footer::before {
    height: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zl-course-card::after,
  .zl-city-card::after,
  .zl-finance-card::after,
  .zl-portal-card::after {
    transition: none;
  }
}


/* =========================================================
   Zebra Light 0.5.4 — orgaanilised Zebra triibud
   ========================================================= */
.zl-footer::before{content:none!important;}
.zl-footer::after{
  content:"";position:absolute;z-index:0;right:-110px;bottom:-135px;width:430px;height:390px;opacity:.055;
  background:repeating-linear-gradient(126deg,rgba(255,255,255,.95) 0 16px,transparent 16px 38px,rgba(255,255,255,.95) 38px 49px,transparent 49px 76px);
  -webkit-mask-image:radial-gradient(ellipse at 70% 65%,#000 0 38%,rgba(0,0,0,.72) 56%,transparent 78%);
  mask-image:radial-gradient(ellipse at 70% 65%,#000 0 38%,rgba(0,0,0,.72) 56%,transparent 78%);
  transform:rotate(-8deg);pointer-events:none;
}
.zl-footer>*{position:relative;z-index:1;}

.zl-page-hero::after,.zl-home-hero::after,.zl-hero::after{
  top:-35%!important;right:-11%!important;width:clamp(420px,42vw,760px)!important;height:185%!important;opacity:.052!important;
  background:repeating-linear-gradient(124deg,#111315 0 24px,transparent 24px 53px,#111315 53px 67px,transparent 67px 104px)!important;
  -webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000 0 28%,rgba(0,0,0,.88) 45%,rgba(0,0,0,.35) 65%,transparent 82%);
  mask-image:radial-gradient(ellipse at 70% 50%,#000 0 28%,rgba(0,0,0,.88) 45%,rgba(0,0,0,.35) 65%,transparent 82%);
  transform:rotate(-5deg) skewX(-7deg)!important;
}

.zl-dark-card::before,.zl-dark-cta::before,.zl-price-card::before,.zl-bc-summary::before,.zl-bc-cta::before{
  z-index:0!important;right:-70px!important;bottom:-72px!important;width:285px!important;height:245px!important;opacity:.075!important;
  background:repeating-linear-gradient(128deg,rgba(255,255,255,.98) 0 15px,transparent 15px 35px,rgba(255,255,255,.98) 35px 45px,transparent 45px 69px)!important;
  -webkit-mask-image:radial-gradient(ellipse at 65% 68%,#000 0 34%,rgba(0,0,0,.72) 54%,transparent 78%);
  mask-image:radial-gradient(ellipse at 65% 68%,#000 0 34%,rgba(0,0,0,.72) 54%,transparent 78%);
  transform:rotate(-10deg)!important;
}
.zl-dark-card>*,.zl-dark-cta>*,.zl-price-card>*,.zl-bc-summary>*,.zl-bc-cta>*{position:relative;z-index:1;}

.zl-course-card::after,.zl-city-card::after,.zl-finance-card::after,.zl-portal-card::after{
  right:-42px!important;bottom:-38px!important;width:145px!important;height:125px!important;
  background:repeating-linear-gradient(127deg,#111315 0 10px,transparent 10px 22px,#111315 22px 29px,transparent 29px 44px)!important;
  -webkit-mask-image:radial-gradient(ellipse at 70% 70%,#000 0 27%,rgba(0,0,0,.62) 49%,transparent 74%);
  mask-image:radial-gradient(ellipse at 70% 70%,#000 0 27%,rgba(0,0,0,.62) 49%,transparent 74%);
}
.zl-course-card:hover::after,.zl-city-card:hover::after,.zl-finance-card:hover::after,.zl-portal-card:hover::after,
.zl-course-card:focus-within::after,.zl-city-card:focus-within::after,.zl-finance-card:focus-within::after,.zl-portal-card:focus-within::after{opacity:.055!important;}

.zl-driving-location-card::after{
  top:auto!important;right:-35px!important;bottom:-30px!important;width:150px!important;height:130px!important;opacity:.07!important;
  background:repeating-linear-gradient(126deg,#111315 0 10px,transparent 10px 22px)!important;
  -webkit-mask-image:radial-gradient(ellipse at 70% 70%,#000 0 30%,rgba(0,0,0,.6) 50%,transparent 75%);
  mask-image:radial-gradient(ellipse at 70% 70%,#000 0 30%,rgba(0,0,0,.6) 50%,transparent 75%);
}

.zl-eyebrow::before{background:var(--zl-yellow)!important;}

@media(max-width:700px){
  .zl-page-hero::after,.zl-home-hero::after,.zl-hero::after{right:-45%!important;width:430px!important;opacity:.035!important;}
  .zl-dark-card::before,.zl-dark-cta::before,.zl-price-card::before,.zl-bc-summary::before,.zl-bc-cta::before{right:-65px!important;bottom:-65px!important;width:220px!important;height:190px!important;opacity:.055!important;}
  .zl-footer::after{right:-150px;bottom:-140px;width:360px;height:330px;opacity:.04;}
}


/* Zebra Light 0.5.6 — õppesõidu alguskoha ikoon ja CTA kihistus */
.zl-driving-location-icon{
  color:#111315;
}
.zl-driving-location-icon svg{
  display:block;
  width:25px;
  height:25px;
  fill:currentColor;
}

/* Triibud jäävad ainult paremasse alumisse nurka ega lähe nupu alla */
.zl-driving-location-card::after{
  right:-58px !important;
  bottom:-54px !important;
  width:150px !important;
  height:118px !important;
  opacity:.055 !important;
  -webkit-mask-image:
    radial-gradient(ellipse at 82% 82%,#000 0 24%,rgba(0,0,0,.58) 47%,transparent 72%) !important;
  mask-image:
    radial-gradient(ellipse at 82% 82%,#000 0 24%,rgba(0,0,0,.58) 47%,transparent 72%) !important;
}

/* Sisu ja nupp on alati dekoratiivsest kihist eespool */
.zl-driving-location-card > *{
  position:relative;
  z-index:2;
}
.zl-driving-location-map{
  position:relative;
  z-index:3;
  background:#fff;
}

/* Mobiilis triibud veel rohkem nurka */
@media(max-width:700px){
  .zl-driving-location-card::after{
    right:-68px !important;
    bottom:-58px !important;
    width:135px !important;
    height:108px !important;
    opacity:.045 !important;
  }
}


/* =========================================================
   Zebra Light 0.6.0 — desktop + mobile süvaauditi stabiilsuskiht
   ========================================================= */

/* Globaalne vastupidavus pika teksti ja kitsaste ekraanide vastu */
.zebra-light main,
.zebra-light section,
.zebra-light article,
.zebra-light aside,
.zebra-light nav,
.zebra-light div{
  min-width:0;
}
.zebra-light h1,
.zebra-light h2,
.zebra-light h3,
.zebra-light p,
.zebra-light a,
.zebra-light dd,
.zebra-light td{
  overflow-wrap:anywhere;
}
.zebra-light [id]{
  scroll-margin-top:96px;
}

/* Klaviatuuriga navigeerimine peab olema nähtav */
.zebra-light a:focus-visible,
.zebra-light button:focus-visible,
.zebra-light input:focus-visible,
.zebra-light select:focus-visible,
.zebra-light textarea:focus-visible,
.zebra-light summary:focus-visible{
  outline:3px solid rgba(245,216,0,.8);
  outline-offset:3px;
}

/* Header: desktopist mobiili veidi varem, vältimaks 1100–1180 px kokkusurumist */
@media(min-width:1181px){
  .zl-header-inner{
    grid-template-columns:110px minmax(0,1fr) auto;
    gap:20px;
    min-height:76px;
  }
  .zl-nav-list > li > a{
    min-height:76px;
    padding-inline:10px;
  }
}
@media(min-width:1181px) and (max-width:1280px){
  .zl-header-inner{gap:12px}
  .zl-nav-list > li > a{
    padding-inline:7px;
    font-size:9.5px;
  }
  .zl-header-cta{
    padding-inline:13px;
    font-size:10px;
  }
}

/* Mobile navigation */
@media(max-width:1180px){
  .zl-header-inner{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:68px;
  }
  .zl-header-cta{display:none}
  .zl-nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .zl-nav{
    padding-top:8px !important;
  }
  .zl-nav-list > li > a{
    min-height:58px;
  }
}

/* Hero / headings */
.zl-page-hero p,
.zl-home-hero .zl-lead,
.zl-course-hero .zl-lead{
  max-width:720px;
}
@media(max-width:700px){
  .zl-page-hero,
  .zl-course-hero{
    padding-block:46px;
  }
  .zl-page-hero p,
  .zl-home-hero .zl-lead,
  .zl-course-hero .zl-lead{
    margin-top:16px;
    font-size:16px;
    line-height:1.65;
  }
  .zl-eyebrow{
    margin-bottom:12px;
    font-size:10px;
    letter-spacing:.11em;
  }
  h2{
    font-size:clamp(2rem,9vw,2.65rem);
  }
}

/* Avaleht: statistika jääb telefonis kompaktseks 2x2, mitte neljaks pikaks reaks */
@media(max-width:600px){
  .zl-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .zl-stat-grid>div{
    min-height:98px;
    padding:20px 14px !important;
    border-top:1px solid var(--zl-line);
    border-left:1px solid var(--zl-line) !important;
  }
  .zl-stat-grid>div:nth-child(-n+2){border-top:0}
  .zl-stat-grid>div:nth-child(odd){border-left:0 !important}
  .zl-stat-grid strong{font-size:31px}
  .zl-stat-grid span{
    font-size:11px;
    line-height:1.35;
  }
  .zl-source{
    padding-top:12px;
    font-size:10px;
    line-height:1.45;
  }
}

/* Hero linnavalik */
@media(max-width:600px){
  .zl-city-nav-label{font-size:10px}
  .zl-city-nav-links{
    gap:6px !important;
  }
  .zl-city-nav-links a{
    min-height:58px !important;
    padding:9px 5px !important;
  }
  .zl-city-nav-links strong{
    font-size:13px !important;
  }
}

/* Section headings do not get huge empty gaps at tablet width */
@media(max-width:1180px){
  .zl-section-head,
  .zl-split,
  .zl-results-grid{
    gap:30px;
  }
}

/* Course cards */
@media(min-width:651px) and (max-width:1050px){
  .zl-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .zl-course-grid{
    grid-template-columns:1fr;
    border-left:0;
  }
  .zl-course-card{
    min-height:0;
    padding:22px 20px;
    border-left:1px solid var(--zl-line);
  }
  .zl-course-card h2,
  .zl-course-card h3{
    margin-top:15px;
  }
}

/* Kursuse detail: linnavalik ja infokaardid */
@media(max-width:700px){
  .zl-city-strip>.zl-shell{
    grid-template-columns:1fr;
  }
  .zl-city-strip a{
    padding:16px 42px 16px 16px;
    border-left:0;
    border-top:1px solid var(--zl-line);
  }
  .zl-city-strip a:first-child{border-top:0}
  .zl-city-strip a:after{
    right:16px;
    top:18px;
  }
  .zl-info-grid,
  .zl-number-grid{
    grid-template-columns:1fr;
  }
  .zl-info-grid article{
    min-height:0;
    padding:22px 20px;
  }
}

/* Linnaleht: kontaktiriba 2+1 ja hinnakiri mobiilis loetavam */
@media(max-width:650px){
  .zl-contact-strip>.zl-shell{
    grid-template-columns:1fr 1fr !important;
  }
  .zl-contact-strip a,
  .zl-contact-strip>div>span{
    min-width:0;
    padding:15px 12px !important;
    border-top:0 !important;
  }
  .zl-contact-strip a:nth-child(2){
    border-left:1px solid var(--zl-line) !important;
  }
  .zl-contact-strip>div>span{
    grid-column:1/-1;
    border-top:1px solid var(--zl-line) !important;
    border-left:0 !important;
  }

  .zl-table-wrap{
    overflow:visible;
    border-radius:8px;
  }
  .zl-price-table{
    table-layout:fixed;
  }
  .zl-price-table th:first-child,
  .zl-price-table td:first-child{
    width:auto;
  }
  .zl-price-table th:last-child,
  .zl-price-table td:last-child{
    width:102px;
    white-space:normal;
  }
  .zl-price-table th,
  .zl-price-table td{
    padding:12px 11px !important;
    font-size:13px;
    line-height:1.42;
  }
  .zl-price-table th{
    font-size:10px;
  }
}

/* Õppesõidu alguskoht */
@media(max-width:700px){
  .zl-driving-location-section{padding:20px 0}
  .zl-driving-location-card{
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
    padding:16px;
  }
  .zl-driving-location-icon{
    width:44px;
    height:44px;
  }
  .zl-driving-location-icon svg{
    width:22px;
    height:22px;
  }
}

/* Registration: no double-card squeezing on phone */
@media(max-width:650px){
  .zl-registration-grid{
    gap:24px;
  }
  .zl-registration-panel{
    margin-inline:-5px;
    padding:10px !important;
    border-radius:10px;
  }
  .zl-registration-panel .zr-form{
    width:100%;
  }
}

/* Õpetajad: telefonis kompaktsem, kuid 107x160 allikat ei venitata */
@media(max-width:560px){
  .zb-teacher-row,
  .zb-teacher-card{
    grid-template-columns:76px minmax(0,1fr) !important;
    gap:13px !important;
    padding:14px !important;
  }
  .zb-teacher-row-photo,
  .zb-teacher-photo{
    width:76px !important;
    min-width:76px !important;
    height:114px !important;
  }
  .zb-teacher-row-img,
  .zb-teacher-img{
    width:76px !important;
    height:114px !important;
  }
  .zb-teacher-row-info{min-height:114px}
  .zb-teacher-name{font-size:17px}
  .zb-teacher-role{font-size:9px}
  .zb-teacher-cat{
    min-height:22px;
    padding:3px 6px;
    font-size:9px;
  }
  .zb-teacher-contact{
    gap:5px 10px;
  }
  .zb-teacher-contact a{
    font-size:11px;
  }
  .zb-teacher-bio{
    font-size:12.5px;
    line-height:1.6;
  }
}

/* Kontakt */
@media(max-width:650px){
  .zl-company-card{
    padding:22px 18px;
  }
  .zl-company-card dl div{
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
  }
}

/* Makseplokk */
@media(max-width:650px){
  .zl-direct-pay{
    padding:20px !important;
  }
  .zl-direct-pay h3{
    font-size:23px;
  }
  .zl-finance-card{
    padding:18px !important;
  }
}

/* Liikluslab */
@media(max-width:650px){
  .zl-liikluslab-logo img{
    max-width:190px !important;
  }
  .zl-liikluslab-price-row strong{
    font-size:46px !important;
  }
}

/* Footer */
.zl-footer a,
.zl-footer-cookie{
  min-height:32px;
}
@media(max-width:760px){
  .zl-footer-grid-rich{
    gap:28px;
  }
}
@media(max-width:520px){
  .zl-footer{
    padding-top:44px !important;
  }
  .zl-footer-grid-rich{
    gap:25px;
  }
  .zl-footer-about p{
    max-width:none;
  }
  .zl-social-links a{
    min-width:0;
    min-height:38px;
  }
}

/* Sticky call: ainult päris telefonivaates ning safe-area arvestusega */
.zl-mobile-call{
  display:none !important;
}
@media(max-width:700px){
  .zl-mobile-call{
    display:flex !important;
    min-height:56px;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .zl-footer{
    padding-bottom:calc(56px + env(safe-area-inset-bottom));
  }
}

/* Zebra dekoratsioonid ei tohi kunagi linkide/nuppude klikiala katta */
.zl-home-hero::after,
.zl-page-hero::after,
.zl-hero::after,
.zl-footer::after,
.zl-driving-location-card::after,
.zl-course-card::after,
.zl-city-card::after,
.zl-finance-card::after,
.zl-portal-card::after,
.zl-dark-card::before,
.zl-dark-cta::before,
.zl-price-card::before,
.zl-bc-summary::before,
.zl-bc-cta::before{
  pointer-events:none !important;
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .zl-btn,
  .zl-course-card,
  .zl-city-card,
  .zl-finance-card,
  .zl-portal-card,
  .zl-nav-list .sub-menu{
    transition:none !important;
  }
}

/* Logo fallback ilma üksiku Z-täheta */
.zl-brand-stripes{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:0 9px;
}
.zl-brand-stripes i{
  display:block;
  width:5px;
  height:22px;
  border-radius:2px;
  background:#111315;
  transform:skewX(-15deg);
}
.zl-brand-stripes i:nth-child(2){height:30px}
.zl-brand-stripes i:nth-child(3){height:18px}


/* =========================================================
   Zebra Light 0.6.1 — hero triipude hajutus + kontaktiriba
   ========================================================= */

/* Hero zebra muster: väldi järsku vertikaalset algusjoont.
   Muster on suurem, kaugemale paremale nihutatud ja mask hajub pikema tsooni jooksul. */
.zl-page-hero::after,
.zl-home-hero::after,
.zl-hero::after{
  top:-46% !important;
  right:-18% !important;
  width:clamp(620px,54vw,980px) !important;
  height:215% !important;
  opacity:.046 !important;
  background:
    repeating-linear-gradient(
      124deg,
      #111315 0 24px,
      transparent 24px 55px,
      #111315 55px 69px,
      transparent 69px 108px
    ) !important;
  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.05) 15%,
      rgba(0,0,0,.20) 28%,
      rgba(0,0,0,.55) 43%,
      rgba(0,0,0,.88) 60%,
      #000 76%,
      #000 100%
    ) !important;
  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.05) 15%,
      rgba(0,0,0,.20) 28%,
      rgba(0,0,0,.55) 43%,
      rgba(0,0,0,.88) 60%,
      #000 76%,
      #000 100%
    ) !important;
  transform:rotate(-4deg) skewX(-6deg) !important;
}

/* Linnalehe kontaktiriba: sisu ei istu enam iga kolmandiku vasakus servas.
   Kolm sisublokki on endiselt võrdsed, aga sisu saab mugava max-width'i ja keskendatud konteineri. */
.zl-contact-strip>.zl-shell{
  align-items:stretch;
}
.zl-contact-strip a,
.zl-contact-strip>div>span{
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-height:108px;
  padding:22px 30px !important;
}
.zl-contact-strip a > *,
.zl-contact-strip>div>span > *{
  width:100%;
  max-width:280px;
  margin-right:auto;
  margin-left:auto;
}
.zl-contact-strip a{
  text-align:left;
}

/* Kui markup sisaldab otse teksti, mitte sisemist elementi, nihuta kogu flex-sisu keskele
   paddingu abil ja säilita vasakjoondus. */
.zl-contact-strip a,
.zl-contact-strip>div>span{
  box-sizing:border-box;
}

/* Desktopis väiksematel laiustel hoia 3 võrdset plokki, aga vähenda paddingut. */
@media(min-width:701px) and (max-width:1100px){
  .zl-contact-strip a,
  .zl-contact-strip>div>span{
    min-height:100px;
    padding:20px 22px !important;
  }
}

/* Mobiili 2+1 paigutus jääb alles, aga sisu on samuti optiliselt paremini paigas. */
@media(max-width:650px){
  .zl-contact-strip a,
  .zl-contact-strip>div>span{
    min-height:82px;
    padding:14px 16px !important;
  }
  .zl-contact-strip a > *,
  .zl-contact-strip>div>span > *{
    max-width:none;
    margin-left:0;
  }

  .zl-page-hero::after,
  .zl-home-hero::after,
  .zl-hero::after{
    right:-62% !important;
    width:560px !important;
    opacity:.03 !important;
    -webkit-mask-image:
      linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 24%,rgba(0,0,0,.48) 52%,#000 78%) !important;
    mask-image:
      linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 24%,rgba(0,0,0,.48) 52%,#000 78%) !important;
  }
}


/* Zebra Light 0.6.3 — linnalehtede mobiili hotfix
   Eesmärk: kontaktiriba ei laguneks telefonis, e-post mahuks paremini ning
   kolm infoplokki oleksid väiksel ekraanil ühes loogilises tulbas. */
@media(max-width:700px){
  .zl-contact-strip>.zl-shell{
    grid-template-columns:1fr !important;
  }

  .zl-contact-strip a,
  .zl-contact-strip>span,
  .zl-contact-strip>div>span{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    min-height:0;
    padding:18px 22px !important;
    border-left:0 !important;
    border-top:1px solid var(--zl-line) !important;
    width:100%;
    box-sizing:border-box;
  }

  .zl-contact-strip a:first-child,
  .zl-contact-strip>span:first-child,
  .zl-contact-strip>div>span:first-child{
    border-top:0 !important;
  }

  .zl-contact-strip a > *,
  .zl-contact-strip>span > *,
  .zl-contact-strip>div>span > *{
    width:100%;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .zl-contact-strip strong{
    font-size:16px;
    line-height:1.25;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .zl-contact-strip a span,
  .zl-contact-strip>span span,
  .zl-contact-strip>div>span span{
    margin-top:6px;
  }
}

/* Väga kitsal ekraanil vähenda vertikaalset müra ning tee CTA-riba turvaliselt loetavaks. */
@media(max-width:420px){
  .zl-contact-strip a,
  .zl-contact-strip>span,
  .zl-contact-strip>div>span{
    padding:16px 18px !important;
  }

  .zl-mobile-call{
    min-height:54px;
    font-size:14px;
  }
}


/* =========================================================
   Zebra Light 0.6.5 — Info-kaardi logo päris parandus
   ========================================================= */

/* Info-kirje on logo, mitte 107 × 160 õpetajafoto. */
.zb-teacher-row-photo.zb-teacher-photo-contain{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:142px !important;
  min-width:142px !important;
  height:104px !important;
  min-height:104px !important;
  padding:10px 12px !important;
  overflow:hidden !important;
  border:1px solid #e7e7e2 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.zb-teacher-row-photo.zb-teacher-photo-contain .zb-teacher-row-img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:118px !important;
  max-height:78px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Kaardi veerg peab logo tegeliku laiusega arvestama. */
@supports selector(.zb-teacher-row:has(.zb-teacher-photo-contain)){
  .zb-teacher-row:has(.zb-teacher-photo-contain){
    grid-template-columns:142px minmax(0,1fr) !important;
    align-items:center !important;
  }
  .zb-teacher-row:has(.zb-teacher-photo-contain) .zb-teacher-row-info{
    min-height:104px !important;
    justify-content:center !important;
  }
}

/* Varuvariant brauserile, kus :has puudub: logo ise on ikkagi õiges proportsioonis. */
.zb-teacher-row-photo.zb-teacher-photo-contain + .zb-teacher-row-info{
  min-height:104px !important;
  justify-content:center !important;
}

@media(max-width:560px){
  .zb-teacher-row-photo.zb-teacher-photo-contain{
    width:96px !important;
    min-width:96px !important;
    height:76px !important;
    min-height:76px !important;
    padding:8px !important;
  }

  .zb-teacher-row-photo.zb-teacher-photo-contain .zb-teacher-row-img{
    max-width:78px !important;
    max-height:58px !important;
  }

  @supports selector(.zb-teacher-row:has(.zb-teacher-photo-contain)){
    .zb-teacher-row:has(.zb-teacher-photo-contain){
      grid-template-columns:96px minmax(0,1fr) !important;
    }
    .zb-teacher-row:has(.zb-teacher-photo-contain) .zb-teacher-row-info{
      min-height:76px !important;
    }
  }
}


/* Zebra Light 0.6.7 — Zebra enda osamaksete plokk järelmaksulehtedel */
.zl-payment-alternative{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:22px;
  align-items:start;
  max-width:1120px;
  margin:30px auto 0;
  padding:26px 28px;
  border:1px solid #dfcf45;
  border-radius:12px;
  background:#fffbed;
}
.zl-payment-alternative-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#111315;
}
.zl-payment-alternative-icon span{
  display:block;
  width:8px;
  height:24px;
  border-radius:3px;
  background:#fff;
}
.zl-payment-alternative-icon span:nth-child(2){height:33px}
.zl-payment-alternative-icon span:nth-child(3){height:19px}

.zl-payment-alternative-copy h2{
  margin:0;
  font-size:clamp(1.6rem,2.7vw,2.2rem);
  line-height:1.08;
}
.zl-payment-alternative-copy>p{
  max-width:760px;
  margin:10px 0 0;
  color:var(--zl-muted);
  line-height:1.65;
}
.zl-payment-alternative-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.zl-payment-alternative-facts span{
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  padding:10px 13px;
  border:1px solid #eadf81;
  border-radius:8px;
  background:#fff;
  color:#4d514d;
  font-size:12px;
}
.zl-payment-alternative-facts strong{
  color:#111315;
  font-size:18px;
}
.zl-payment-alternative-note{
  margin-top:13px !important;
  font-size:12px;
}

@media(max-width:700px){
  .zl-payment-alternative{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:20px;
    padding:21px 18px;
  }
  .zl-payment-alternative-icon{
    width:54px;
    height:54px;
  }
  .zl-payment-alternative-facts{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* Zebra Light 0.6.13 — töötaja puhkuse märge */
.zb-teacher-vacation{
  display:inline-flex;
  align-items:center;
  gap:6px;
  align-self:flex-start;
  margin-top:9px;
  padding:5px 8px;
  border:1px solid #e5d97b;
  border-radius:5px;
  background:#fff9d7;
  color:#5b5316;
  font-size:10px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.01em;
}
.zb-teacher-vacation>span{
  color:#e3b600;
  font-size:8px;
}
.zb-teacher-vacation.is-current{
  border-color:#dfbc42;
  background:#fff3b8;
  color:#4d4100;
}
.zb-teacher-vacation.is-current>span{
  color:#c98b00;
}
@media(max-width:560px){
  .zb-teacher-vacation{
    margin-top:7px;
    padding:4px 7px;
    font-size:9px;
  }
}
