/* Full-width homepage shells; the individual text/card layouts remain readable. */
body.home.page-id-11491 #content > .ast-container {
  width: 100%;
  max-width: none !important;
  padding-inline: 0;
}
body.home.page-id-11491 #primary {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
body.home.page-id-11491 .entry-content > .sl59-home,
body.home.page-id-11491 .sl59-home > section {
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
}
body.home.page-id-11491 #masthead .ast-builder-grid-row-container {
  max-width: none;
}

/* The first banner keeps its original image, colours and contents. */
.sl59-home .sl59-carousel { position: relative; margin: 0; padding: 0; background: #06111f; }
.sl59-carousel__slides { display: grid; grid-template-columns: minmax(0, 1fr); }
.sl59-carousel__panel { grid-area: 1 / 1; min-width: 0; visibility: hidden; opacity: 0; pointer-events: none; }
.sl59-carousel__panel.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.sl59-carousel__panel > .sl59-hero { height: 100%; }
.sl59-carousel__panel:not(.is-active) .sl59-content { animation: none; }
.sl59-carousel__ebikes {
  --sl59-hero-desktop: url("https://paleturquoise-grouse-903834.hostingersite.com/wp-content/uploads/2026/08/ChatGPT-Image-13-ago-2026-02_13_46-a.m.png");
  --sl59-hero-tablet: var(--sl59-hero-desktop);
  --sl59-hero-mobile: var(--sl59-hero-desktop);
}
.sl59-home .sl59-carousel__battery {
  background: radial-gradient(ellipse at 85% 40%, #144c78 0, transparent 52%), linear-gradient(120deg, #071322, #0a2239);
}
.sl59-carousel__battery .sl59-content { max-width: 56%; }
.sl59-carousel__battery .sl59-title { font-size: clamp(44px, 5.6vw, 78px); }
.sl59-carousel__battery-image {
  position: absolute; right: 5vw; top: 16%; width: min(34%, 620px); margin: 0; padding: 24px;
  background: #fff; border: 1px solid #62aaff; border-radius: 24px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .3); overflow: hidden;
}
.sl59-carousel__battery-image img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.sl59-carousel__battery-image figcaption { margin-top: 16px; color: #153250; text-align: center; font: 700 14px/1.4 Arial, sans-serif; }
.sl59-home .sl59-carousel__controls {
  position: relative; z-index: 5; display: flex; align-items: center; justify-content: center; gap: 16px;
  padding: 18px 20px; border-top: 1px solid rgba(110, 175, 255, .16); background: #06111f;
}
.sl59-carousel__tabs { display: flex; align-items: center; gap: 8px; }
.sl59-home .sl59-carousel__tabs button,
.sl59-home .sl59-carousel__toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; margin: 0;
  padding: 10px 18px; border: 1px solid #26415c; border-radius: 8px; background: #0d2034;
  color: #dce9f7; font: 700 13px/1.3 Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.sl59-home .sl59-carousel__tabs button[aria-selected="true"] { background: #087dce; color: #fff; border-color: #45adff; }
.sl59-carousel__tabs button span { opacity: .65; font-size: 11px; }
.sl59-home .sl59-carousel__tabs button:hover,
.sl59-home .sl59-carousel__toggle:hover { border-color: #86c8ff; color: #fff; }
.sl59-home .sl59-carousel__toggle { width: 42px; flex: 0 0 42px; padding: 8px; font-size: 20px; }
.sl59-carousel__play { display: none; font-size: 14px; }
.sl59-carousel.is-paused .sl59-carousel__pause { display: none; }
.sl59-carousel.is-paused .sl59-carousel__play { display: inline; }
.sl59-carousel__controls button:focus-visible { outline: 2px solid #9fd4ff; outline-offset: 4px; }
.sl59-carousel__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 960px) {
  .sl59-carousel__battery .sl59-content { max-width: 100%; }
  .sl59-carousel__battery-image { position: relative; top: auto; right: auto; width: min(360px, 100%); padding: 18px; margin: 28px auto 0; }
  .sl59-carousel__battery .sl59-benefits { display: none; }
  .sl59-carousel__battery-image img { max-height: 220px; }
}
@media (max-width: 480px) {
  .sl59-home .sl59-carousel__controls { gap: 8px; padding: 14px 10px; }
  .sl59-carousel__tabs { gap: 6px; }
  .sl59-home .sl59-carousel__tabs button { padding: 10px 11px; gap: 6px; font-size: 12px; }
  .sl59-carousel__tabs button span { display: none; }
  .sl59-carousel__battery-image { max-width: 280px; padding: 14px; }
  .sl59-carousel__battery-image img { max-height: 160px; }
  .sl59-carousel__battery-image figcaption { font-size: 12px; margin-top: 8px; }
}
@media (prefers-reduced-motion: no-preference) {
  .sl59-carousel__panel { transition: opacity .3s ease, visibility .3s; }
}

/* Compact banners: about 70% of the viewport, with room to grow for the text. */
.sl59-home .sl59-carousel .sl59-hero {
  min-height: calc(70svh - 54px);
  padding: clamp(18px, 2.5svh, 32px) 7vw;
  display: flex;
  align-items: center;
}
.sl59-home .sl59-carousel .sl59-content {
  width: 100%;
  max-width: min(56vw, 780px);
  padding-top: 0;
}
.sl59-home .sl59-carousel .sl59-carousel__battery .sl59-content { max-width: min(50vw, 720px); }
.sl59-home .sl59-carousel .sl59-kicker {
  font-size: clamp(11px, 1.4svh, 14px);
  line-height: 1.35;
  margin-bottom: 10px;
}
.sl59-home .sl59-carousel .sl59-title {
  max-width: 100%;
  font-size: clamp(32px, 5svh, 58px);
  line-height: 1.03;
  letter-spacing: -1.2px;
  margin: 0 0 14px;
}
.sl59-home .sl59-carousel .sl59-rating {
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 12px;
}
.sl59-home .sl59-carousel .sl59-stars { font-size: 20px; flex-shrink: 0; white-space: nowrap; }
.sl59-home .sl59-carousel .sl59-google-score strong { font-size: 15px; }
.sl59-home .sl59-carousel .sl59-google-score span { font-size: 9px; line-height: 1.35; }
.sl59-home .sl59-carousel .sl59-text {
  max-width: 700px;
  font-size: clamp(13px, 1.65svh, 16px);
  line-height: 1.5;
  margin-bottom: 12px;
}
.sl59-home .sl59-carousel .sl59-delivery-note {
  max-width: 100%;
  font-size: 11.5px;
  padding: 6px 10px;
  margin: 0 0 16px;
}
.sl59-home .sl59-carousel .sl59-buttons { gap: 12px; margin-bottom: 16px; }
.sl59-home .sl59-carousel .sl59-btn {
  min-width: 210px;
  min-height: 58px;
  padding: 12px 18px;
  font-size: 13px;
  line-height: 1.3;
  border-radius: 13px;
}
.sl59-home .sl59-carousel .sl59-btn small { font-size: 10px; margin-top: 4px; }
.sl59-home .sl59-carousel .sl59-benefits { gap: 10px; }
.sl59-home .sl59-carousel .sl59-benefit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 8px;
  border-radius: 12px;
  font-size: 10px;
  line-height: 1.25;
}
.sl59-home .sl59-carousel .sl59-benefit b { font-size: 20px; margin: 0; flex-shrink: 0; }
.sl59-home .sl59-carousel .sl59-carousel__battery-image {
  position: absolute;
  right: 7vw;
  top: 50%;
  transform: translateY(-50%);
  width: min(30vw, calc(70svh - 130px), 520px);
  max-width: none;
  padding: 16px;
  margin: 0;
}
.sl59-home .sl59-carousel .sl59-carousel__battery-image img { max-height: none; }
.sl59-home .sl59-carousel .sl59-carousel__battery-image figcaption { font-size: 12px; margin-top: 8px; }
.sl59-home .sl59-carousel__controls { min-height: 54px; padding: 8px 16px; }
.sl59-home .sl59-carousel__tabs button,
.sl59-home .sl59-carousel__toggle { min-height: 36px; padding-block: 8px; font-size: 12px; }
@media (max-width: 760px) {
  .sl59-home .sl59-carousel .sl59-hero { flex-direction: column; justify-content: center; padding: 20px 18px; }
  .sl59-home .sl59-carousel .sl59-content { max-width: 100%; }
  .sl59-home .sl59-carousel .sl59-carousel__battery .sl59-content { max-width: 100%; }
  .sl59-home .sl59-carousel .sl59-kicker { font-size: 11px; margin-bottom: 8px; }
  .sl59-home .sl59-carousel .sl59-title { font-size: clamp(27px, 7.5vw, 38px); margin-bottom: 12px; letter-spacing: -.8px; }
  .sl59-home .sl59-carousel .sl59-stars { font-size: 17px; letter-spacing: 1px; }
  .sl59-home .sl59-carousel .sl59-text { font-size: 13px; line-height: 1.45; }
  .sl59-home .sl59-carousel .sl59-delivery-note { font-size: 11px; margin-bottom: 12px; }
  .sl59-home .sl59-carousel .sl59-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
  .sl59-home .sl59-carousel .sl59-btn { min-width: 0; width: 100%; padding: 10px 12px; font-size: 11px; }
  .sl59-home .sl59-carousel .sl59-btn small { font-size: 10px; }
  .sl59-home .sl59-carousel .sl59-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .sl59-home .sl59-carousel .sl59-benefit { min-height: 36px; padding: 7px; font-size: 9px; }
  .sl59-home .sl59-carousel .sl59-benefit b { font-size: 17px; }
  .sl59-home .sl59-carousel .sl59-carousel__battery-image { position: relative; top: auto; right: auto; transform: none; width: 190px; padding: 10px; margin-top: 14px; }
  .sl59-home .sl59-carousel .sl59-carousel__battery-image img { max-height: 110px; }
  .sl59-home .sl59-carousel .sl59-carousel__battery-image figcaption { font-size: 10px; }
}
