/* Local presentation direction: catalogue-first, intentionally separate from the live theme. */
:root {
  --demo-ink: #18221d;
  --demo-muted: #657169;
  --demo-line: #dfe5e0;
  --demo-paper: #f6f7f4;
  --demo-white: #ffffff;
  --demo-green: #1b6b42;
  --demo-green-dark: #103a29;
  --demo-lime: #c8f057;
}

body.page-index,
body.page-category {
  background: var(--demo-paper) !important;
  color: var(--demo-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
}

body.page-index *,
body.page-category * {
  font-family: inherit;
}

body.page-index h1,
body.page-index h2,
body.page-category h1,
body.page-category h2,
body.page-category h3 {
  color: var(--demo-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-index .velostrada-header,
body.page-category .velostrada-header {
  background: var(--demo-green-dark) !important;
  border-bottom: 0 !important;
}

body.page-index .velostrada-nav a,
body.page-category .velostrada-nav a,
body.page-index .header-block__action-btn,
body.page-category .header-block__action-btn {
  color: #f7faf5 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.page-index .velostrada-header__search .ps-searchbar__input,
body.page-category .velostrada-header__search .ps-searchbar__input {
  background: rgba(255, 255, 255, .1) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif !important;
}

body.page-index .wrapper,
body.page-category .wrapper,
body.page-index .page,
body.page-category .page {
  background: transparent !important;
}

body.page-index .velostrada-demo-home {
  gap: 4.5rem !important;
  margin-inline: auto;
  max-width: 1380px;
  padding: 2rem 1.5rem 5rem !important;
}

body.page-index .velostrada-demo-hero {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: 3rem !important;
  grid-template-columns: minmax(0, .88fr) minmax(400px, 1.12fr) !important;
  min-height: 540px !important;
  padding: 3.5rem !important;
}

body.page-index .velostrada-demo-hero::after {
  display: none !important;
}

body.page-index .velostrada-demo-hero__copy {
  align-self: center;
  max-width: 34rem;
}

body.page-index .velostrada-eyebrow {
  color: var(--demo-green) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

body.page-index .velostrada-demo-hero h1 {
  color: var(--demo-ink) !important;
  font-size: 3.35rem !important;
  font-weight: 700 !important;
  letter-spacing: -.055em !important;
  line-height: 1.03 !important;
  margin: .75rem 0 1.4rem !important;
}

body.page-index .velostrada-demo-hero__copy > p:not(.velostrada-eyebrow) {
  color: var(--demo-muted) !important;
  font-size: 1.08rem !important;
  line-height: 1.65 !important;
}

body.page-index .velostrada-demo-hero__actions .btn,
body.page-index .velostrada-home-bestsellers__intro a,
body.page-category .product-miniature__add {
  border-radius: 5px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-index .btn-primary,
body.page-category .product-miniature__add {
  background: var(--demo-green) !important;
  border-color: var(--demo-green) !important;
  color: #fff !important;
}

body.page-index .btn-outline-light {
  background: transparent !important;
  border-color: var(--demo-ink) !important;
  color: var(--demo-ink) !important;
}

body.page-index .velostrada-demo-hero__visual {
  align-items: stretch;
  background: #edf1eb;
  display: grid;
  grid-template-rows: 1fr auto;
  height: 420px;
  min-height: 0;
  overflow: hidden;
}

body.page-index .velostrada-demo-hero__visual img {
  height: 100% !important;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body.page-index .velostrada-demo-hero__caption {
  align-items: center;
  background: var(--demo-green-dark);
  color: #fff;
  display: grid;
  gap: .25rem 1rem;
  grid-template-columns: 1fr auto;
  padding: 1rem 1.25rem;
}

body.page-index .velostrada-demo-hero__caption span {
  color: #cce4d5;
  font-size: .78rem;
}

body.page-index .velostrada-demo-hero__caption strong {
  font-size: .95rem;
  font-weight: 600;
}

body.page-index .velostrada-demo-hero__caption a {
  color: var(--demo-lime);
  font-size: .88rem;
  font-weight: 700;
  grid-row: 1 / span 2;
  grid-column: 2;
}

body.page-index .velostrada-demo-section-heading {
  margin-bottom: 1.5rem !important;
}

body.page-index .velostrada-demo-section-heading h2,
body.page-index .velostrada-home-bestsellers__intro h2 {
  font-size: 2rem !important;
  letter-spacing: -.035em !important;
}

body.page-index .velostrada-demo-category-grid {
  background: transparent !important;
  border: 0 !important;
  gap: 1rem !important;
}

body.page-index .velostrada-demo-category-grid a {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 6px !important;
  min-height: 9.5rem !important;
  padding: 1.35rem !important;
}

body.page-index .velostrada-demo-category-grid a:hover {
  background: #f2f8e9 !important;
  border-color: #a6c992 !important;
  color: var(--demo-ink) !important;
  transform: none !important;
}

body.page-index .velostrada-demo-category-grid strong {
  color: var(--demo-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-index .velostrada-demo-category-grid span,
body.page-index .velostrada-demo-trust p {
  color: var(--demo-muted) !important;
}

body.page-index .velostrada-home-bestsellers {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.page-index .velostrada-home-bestsellers__intro {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

body.page-index .velostrada-home-bestsellers__intro .velostrada-eyebrow {
  flex-basis: 100%;
  margin: 0;
}

body.page-index .velostrada-home-bestsellers__intro h2 {
  margin: 0;
}

body.page-index .velostrada-home-bestsellers__intro a {
  color: var(--demo-green) !important;
  text-decoration: underline;
  text-underline-offset: .25rem;
}

body.page-index .velostrada-home-bestsellers__body .module-products__list .products,
body.page-category .products {
  gap: 1.25rem !important;
}

body.page-index .product-miniature__inner,
body.page-category .product-miniature__inner {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.page-index .product-miniature__image-container,
body.page-category .product-miniature__image-container {
  background: #f4f5f3 !important;
}

body.page-index .product-miniature__image,
body.page-category .product-miniature__image {
  mix-blend-mode: normal !important;
}

body.page-index .product-miniature__bottom,
body.page-category .product-miniature__bottom {
  padding: 1rem !important;
}

body.page-index .product-miniature__title,
body.page-category .product-miniature__title {
  color: var(--demo-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .92rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

body.page-index .product-miniature__price,
body.page-category .product-miniature__price {
  color: var(--demo-green) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

body.page-index .product-miniature__quickview-button,
body.page-index .product-miniature__quickview-touch,
body.page-category .product-miniature__quickview-button,
body.page-category .product-miniature__quickview-touch {
  display: none !important;
}

body.page-index .velostrada-demo-trust {
  border: 1px solid var(--demo-line) !important;
  border-radius: 6px;
  overflow: hidden;
}

body.page-index .velostrada-demo-trust article {
  background: var(--demo-white);
  border-right: 1px solid var(--demo-line) !important;
  padding: 1.75rem !important;
}

body.page-index .velostrada-demo-trust span {
  color: var(--demo-green) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

body.page-index .velostrada-demo-trust h2 {
  color: var(--demo-ink) !important;
  font-size: 1.05rem !important;
  letter-spacing: 0 !important;
}

body.page-category .columns-container {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  max-width: 1380px !important;
}

body.page-category .columns-container > .row {
  align-items: start !important;
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

body.page-category #left-column {
  grid-column: 1 !important;
  max-width: none !important;
  position: static !important;
  width: auto !important;
}

body.page-category #content-wrapper,
body.page-category .wrapper__content,
body.page-category #center-column {
  grid-column: 2 !important;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

body.page-category .js-search-filters,
body.page-category .products-selection,
body.page-category .active_filters {
  background: var(--demo-white) !important;
  border-color: var(--demo-line) !important;
  box-shadow: none !important;
}

body.page-category .js-search-filters {
  border-radius: 6px !important;
}

body.page-category #search_filters_wrapper {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: .5rem 1rem !important;
}

body.page-category #search_filters_wrapper *,
body.page-category .products-selection *,
body.page-category .velostrada-catalog-meta * {
  font-family: Inter, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-category .facet__block,
body.page-category .facet__header,
body.page-category .facet__title {
  background: transparent !important;
  color: var(--demo-ink) !important;
}

body.page-category #search_filters_wrapper .accordion-button,
body.page-category #search_filters_wrapper .facet__title {
  background: var(--demo-white) !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--demo-ink) !important;
}

body.page-category #search_filters_wrapper .accordion-button::after {
  filter: none !important;
}

body.page-category .facet__title {
  padding-block: 1rem !important;
}

body.page-category .velostrada-catalog-meta {
  background: #edf5eb !important;
  border: 1px solid #d4e5d5 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  color: #31563d !important;
}

body.page-category .js-product-list .products,
body.page-category .js-product-list .products.row {
  gap: 1.25rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.page-category .js-product-list .products > *,
body.page-category .js-product-list .products.row > * {
  max-width: none !important;
}

body.page-category .js-search-filters .facet__title,
body.page-category .products-selection__label,
body.page-category .products-selection__total-products {
  color: var(--demo-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

body.page-category .facet__block {
  border-color: var(--demo-line) !important;
}

body.page-category .facet__title {
  font-size: .9rem !important;
  font-weight: 650 !important;
  text-transform: none !important;
}

body.page-category .products-selection__info {
  color: var(--demo-muted) !important;
  font-family: Inter, Arial, sans-serif !important;
}

body.page-index .velostrada-footer,
body.page-category .velostrada-footer {
  background: var(--demo-green-dark) !important;
}

@media (max-width: 900px) {
  body.page-index .velostrada-demo-hero {
    grid-template-columns: 1fr !important;
    padding: 2rem !important;
  }

  body.page-index .velostrada-demo-hero h1 {
    font-size: 2.45rem !important;
  }

  body.page-index .velostrada-demo-hero__visual {
    min-height: 320px;
  }

  body.page-category .columns-container > .row {
    grid-template-columns: 1fr !important;
  }

  body.page-category #left-column,
  body.page-category #content-wrapper,
  body.page-category .wrapper__content,
  body.page-category #center-column {
    grid-column: 1 !important;
  }
}

/* Final cart-action alignment override. */
@media (min-width: 851px) {
  body.page-cart .cart-grid__products-details {
    align-items: center;
    column-gap: 24px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    row-gap: 16px;
  }

  body.page-cart .cart-grid__products-details > .cart__overview {
    grid-column: 1 / -1;
  }

  body.page-cart .cart-grid__products-details > .cart__continue-shopping {
    grid-column: 1;
    justify-self: start;
    margin: 0 0 0 18px !important;
  }

  body.page-cart .cart-grid__products-details > #oblicz-rate {
    grid-column: 2;
    justify-self: stretch;
    margin: 0 22px 0 0 !important;
    max-width: none !important;
    text-align: right !important;
    width: auto !important;
  }
}

/* Catalogue filters use native disclosure panels: no bootstrap state is required to open them. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item {
  background: #101f21 !important;
  border: 1px solid #32494b !important;
  border-radius: 4px !important;
  min-height: 0 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[open] {
  border-color: #b7ff00 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button {
  cursor: pointer;
  list-style: none;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button::-webkit-details-marker {
  display: none;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > .accordion-collapse {
  background: #0d191b !important;
  border-top: 1px solid #32494b !important;
  box-shadow: none !important;
  left: auto !important;
  max-height: 260px;
  min-width: 0 !important;
  overflow: auto;
  position: static !important;
  right: auto !important;
  top: auto !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details:not([open]) > .accordion-collapse {
  display: none !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details[open] > .accordion-collapse {
  display: block !important;
}

@media (max-width: 600px) {
  body.page-index .velostrada-demo-home {
    gap: 3rem !important;
    padding-inline: 1rem !important;
  }

  body.page-index .velostrada-demo-hero {
    gap: 1.5rem !important;
    padding: 1.25rem !important;
  }

  body.page-index .velostrada-demo-hero h1 {
    font-size: 2rem !important;
  }

  body.page-index .velostrada-demo-category-grid {
    gap: .75rem !important;
  }

  body.page-index .velostrada-demo-trust article {
    border-bottom: 1px solid var(--demo-line) !important;
    border-right: 0 !important;
  }

  body.page-category .js-product-list .products,
  body.page-category .js-product-list .products.row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Dedicated catalogue layout used only by the local demo. */
body.page-category .wrapper {
  padding: 0 !important;
}

body.page-category .velo-catalog-demo {
  margin: 0 auto;
  max-width: 1380px;
  padding: 2.5rem 1.5rem 5rem;
}

body.page-category .velo-catalog-demo__header {
  align-items: end;
  border-bottom: 1px solid var(--demo-line);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 0 0 2rem;
}

body.page-category .velo-catalog-demo__eyebrow {
  color: var(--demo-green);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 .5rem;
  text-transform: uppercase;
}

body.page-category .velo-catalog-demo__header h1 {
  font-size: 2.4rem !important;
  margin: 0;
}

body.page-category .velo-catalog-demo__header p:not(.velo-catalog-demo__eyebrow) {
  color: var(--demo-muted);
  margin: .65rem 0 0;
  max-width: 45rem;
}

body.page-category .velo-catalog-demo__summary {
  align-items: end;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

body.page-category .velo-catalog-demo__summary strong {
  color: var(--demo-green);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

body.page-category .velo-catalog-demo__summary span {
  color: var(--demo-muted);
  font-size: .85rem;
}

body.page-category .velo-catalog-demo__layout {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-columns: 238px minmax(0, 1fr);
  padding-top: 2rem;
}

body.page-category .velo-catalog-demo__filters {
  background: var(--demo-white);
  border: 1px solid var(--demo-line);
  border-radius: 6px;
  padding: .5rem 1rem;
}

body.page-category .velo-catalog-demo__filter-title {
  color: var(--demo-ink);
  font-size: 1rem;
  font-weight: 700;
  padding: .75rem 0 .45rem;
}

body.page-category .velo-catalog-demo__filters #search_filters_wrapper {
  border: 0 !important;
  padding: 0 !important;
}

body.page-category .velo-catalog-demo__filters .facet__title,
body.page-category .velo-catalog-demo__filters .accordion-button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--demo-line) !important;
  border-radius: 0 !important;
  color: var(--demo-ink) !important;
  display: flex !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  justify-content: space-between !important;
  padding: .9rem 0 !important;
  text-align: left !important;
  text-transform: none !important;
  width: 100% !important;
}

body.page-category .velo-catalog-demo__filters .accordion-button::after {
  background-image: none !important;
  border-bottom: 1px solid var(--demo-muted) !important;
  border-right: 1px solid var(--demo-muted) !important;
  content: '' !important;
  height: .45rem !important;
  margin: 0 .18rem 0 auto !important;
  transform: rotate(45deg) translateY(-.15rem) !important;
  width: .45rem !important;
}

body.page-category .velo-catalog-demo__filters .accordion-button:not(.collapsed)::after {
  transform: rotate(-135deg) translateY(-.15rem) !important;
}

body.page-category .velo-catalog-demo__filters .accordion-item,
body.page-category .velo-catalog-demo__filters .accordion-body {
  background: transparent !important;
  border: 0 !important;
  color: var(--demo-ink) !important;
}

body.page-category .velo-catalog-demo__filters .accordion-body {
  padding: .35rem 0 .75rem !important;
}

body.page-category .velo-catalog-demo__toolbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

body.page-category .velo-catalog-demo__toolbar p {
  color: var(--demo-muted);
  font-size: .9rem;
  margin: 0;
}

body.page-category .velo-catalog-demo__toolbar .products__sort-dropdown-button {
  background: var(--demo-white) !important;
  border: 1px solid var(--demo-line) !important;
  border-radius: 5px !important;
  color: var(--demo-ink) !important;
  font-size: .85rem !important;
  min-height: auto !important;
}

body.page-category .velo-catalog-demo__toolbar .products__sort-label {
  display: none !important;
}

body.page-category .velo-catalog-demo__toolbar .products__sort {
  min-width: 12rem !important;
}

body.page-category .velo-catalog-demo__products {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-category .velo-demo-product-card {
  background: var(--demo-white);
  border: 1px solid var(--demo-line);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.page-category .velo-demo-product-card__image {
  aspect-ratio: 1 / .78;
  background: #f2f3f1;
  display: block;
  overflow: hidden;
  position: relative;
}

body.page-category .velo-demo-product-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
  width: 100%;
}

body.page-category .velo-demo-product-card:hover .velo-demo-product-card__image img {
  transform: scale(1.02);
}

body.page-category .velo-demo-product-card__status {
  background: #f5ead4;
  bottom: .75rem;
  color: #78520c;
  font-size: .75rem;
  font-weight: 700;
  left: .75rem;
  padding: .35rem .55rem;
  position: absolute;
}

body.page-category .velo-demo-product-card__status--available {
  background: #e6f1e6;
  color: var(--demo-green);
}

body.page-category .velo-demo-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem;
}

body.page-category .velo-demo-product-card__name {
  color: var(--demo-ink) !important;
  font-size: .97rem;
  font-weight: 650;
  line-height: 1.38;
  text-decoration: none;
}

body.page-category .velo-demo-product-card__bottom {
  align-items: start;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .85rem;
  justify-content: end;
  padding-top: 1.25rem;
}

body.page-category .velo-demo-product-card__price {
  color: var(--demo-green);
  font-size: 1.13rem;
  font-weight: 750;
}

body.page-category .velo-demo-product-card form,
body.page-category .velo-demo-product-card form .btn {
  width: 100%;
}

body.page-category .velo-demo-product-card .btn,
body.page-category .velo-demo-product-card__details {
  border-radius: 5px;
  font-size: .88rem;
  font-weight: 700;
  padding: .65rem .8rem;
  text-align: center;
}

body.page-category .velo-demo-product-card .btn {
  background: var(--demo-green) !important;
  border-color: var(--demo-green) !important;
  color: #fff !important;
  text-transform: none !important;
}

body.page-category .velo-demo-product-card__details {
  border: 1px solid var(--demo-line);
  color: var(--demo-ink);
  width: 100%;
}

body.page-category .velo-catalog-demo__pagination {
  margin-top: 2rem;
}

@media (max-width: 1020px) {
  body.page-category .velo-catalog-demo__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  body.page-category .velo-catalog-demo {
    padding: 1.5rem 1rem 3rem;
  }

  body.page-category .velo-catalog-demo__header,
  body.page-category .velo-catalog-demo__toolbar {
    align-items: start;
    flex-direction: column;
  }

  body.page-category .velo-catalog-demo__summary {
    align-items: start;
  }

  body.page-category .velo-catalog-demo__layout {
    grid-template-columns: 1fr;
  }
}

/* Second local concept: an editorial forest-green shop, not a white storefront. */
:root {
  --demo-ink: #f5f8ef;
  --demo-muted: #bed0c1;
  --demo-line: rgba(218, 237, 211, .18);
  --demo-paper: #0a1d14;
  --demo-white: #183d2a;
  --demo-green: #8cd84c;
  --demo-green-dark: #0b2b1c;
  --demo-lime: #d8f98f;
}

body.page-index,
body.page-category {
  background:
    radial-gradient(ellipse at 15% 0%, rgba(75, 142, 71, .24), transparent 32rem),
    radial-gradient(ellipse at 92% 34%, rgba(111, 169, 72, .14), transparent 34rem),
    #0a1d14 !important;
}

body.page-index h1,
body.page-index h2,
body.page-category h1,
body.page-category h2,
body.page-category h3 {
  color: var(--demo-ink) !important;
}

body.page-index .velostrada-demo-home {
  gap: 5.5rem !important;
  padding-top: 3.25rem !important;
}

body.page-index .velostrada-demo-hero {
  background:
    linear-gradient(112deg, rgba(9, 34, 22, .98) 0%, rgba(14, 55, 34, .96) 54%, rgba(26, 75, 44, .92) 100%) !important;
  border-color: rgba(209, 241, 190, .18) !important;
  border-radius: 12px !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .23) !important;
  min-height: 570px !important;
  overflow: hidden;
  padding: 4.5rem !important;
  position: relative;
}

body.page-index .velostrada-demo-hero::before {
  background: linear-gradient(180deg, rgba(184, 239, 108, .17), transparent 55%);
  border-radius: 999px;
  content: '';
  height: 32rem;
  pointer-events: none;
  position: absolute;
  right: 21%;
  top: -22rem;
  transform: rotate(27deg);
  width: 11rem;
}

body.page-index .velostrada-demo-hero__copy {
  position: relative;
  z-index: 1;
}

body.page-index .velostrada-eyebrow {
  color: #b5ea79 !important;
}

body.page-index .velostrada-demo-hero h1 {
  color: #fff !important;
  font-size: 3.8rem !important;
  letter-spacing: -.045em !important;
  max-width: 11ch;
}

body.page-index .velostrada-demo-hero__copy > p:not(.velostrada-eyebrow) {
  color: #caD9cb !important;
  max-width: 32rem;
}

body.page-index .velostrada-demo-hero__actions .btn {
  min-width: 10.5rem;
  padding: .82rem 1.05rem !important;
}

body.page-index .velostrada-demo-hero__proof {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 2.6rem 0 0;
  padding: 0;
}

body.page-index .velostrada-demo-hero__proof li {
  border-left: 1px solid rgba(211, 239, 198, .42);
  display: grid;
  gap: .18rem;
  padding-left: .7rem;
}

body.page-index .velostrada-demo-hero__proof strong {
  color: #f8fbf3;
  font-size: .82rem;
  font-weight: 750;
}

body.page-index .velostrada-demo-hero__proof span {
  color: #b8cdbb;
  font-size: .72rem;
  line-height: 1.3;
}

body.page-index .btn-primary {
  background: #9be255 !important;
  border-color: #9be255 !important;
  color: #102217 !important;
}

body.page-index .btn-outline-light {
  border-color: rgba(235, 248, 228, .5) !important;
  color: #fff !important;
}

body.page-index .velostrada-demo-hero__visual {
  background: #2c6041 !important;
  border: 1px solid rgba(240, 255, 227, .15);
  border-radius: 8px;
  box-shadow: 0 22px 38px rgba(0, 0, 0, .2);
  height: 440px;
  position: relative;
  z-index: 1;
}

body.page-index .velostrada-demo-hero__visual img {
  filter: saturate(1.04) contrast(1.04);
  mix-blend-mode: normal;
  object-position: center 54%;
  transform: scale(1.13);
}

body.page-index .velostrada-demo-hero__caption {
  background: rgba(7, 31, 19, .93);
  backdrop-filter: blur(8px);
  position: relative;
  z-index: 2;
}

body.page-index .velostrada-demo-section-heading h2,
body.page-index .velostrada-home-bestsellers__intro h2 {
  color: #fff !important;
}

body.page-index .velostrada-demo-category-grid {
  gap: 1.1rem !important;
}

body.page-index .velostrada-demo-category-grid a {
  background: linear-gradient(145deg, #173f2a, #123321) !important;
  border-color: rgba(219, 241, 209, .16) !important;
  box-shadow: 0 14px 26px rgba(0, 0, 0, .14);
  min-height: 10.5rem !important;
  overflow: hidden;
  position: relative;
}

body.page-index .velostrada-demo-category-grid a:hover {
  background: linear-gradient(145deg, #215538, #17462d) !important;
  border-color: rgba(185, 238, 124, .62) !important;
  transform: translateY(-4px) !important;
}

body.page-index .velostrada-demo-category-grid strong {
  color: #f5faee !important;
}

body.page-index .velostrada-demo-category-grid a > img {
  filter: saturate(1.05) contrast(1.08);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 54%;
  position: absolute;
  transform: scale(1.3);
  transition: transform .35s ease;
  width: 100%;
}

body.page-index .velostrada-demo-category-grid a::after {
  background: linear-gradient(180deg, rgba(6, 25, 15, .06), rgba(5, 29, 17, .88));
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velostrada-demo-category-grid a:hover > img {
  transform: scale(1.36);
}

body.page-index .velostrada-demo-category-grid__copy {
  align-self: end;
  display: grid;
  gap: .3rem;
  position: relative;
  z-index: 1;
}

body.page-index .velostrada-demo-category-grid span,
body.page-index .velostrada-demo-trust p {
  color: #bbd0bd !important;
}

body.page-index .velostrada-home-bestsellers__intro a {
  color: #b7ee7f !important;
}

body.page-index .product-miniature__inner {
  background: #e0eadb !important;
  border-color: rgba(212, 239, 201, .22) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .18) !important;
}

body.page-index .product-miniature__image-container {
  background: #477558 !important;
  overflow: hidden !important;
}

body.page-index .product-miniature__image {
  height: 100% !important;
  filter: saturate(1.04) contrast(1.04);
  mix-blend-mode: normal !important;
  object-fit: cover !important;
  object-position: center 54% !important;
  transform: scale(1.28);
  width: 100% !important;
}

body.page-index .product-miniature__bottom {
  background: #e0eadb;
}

body.page-index .product-miniature__title {
  color: #173323 !important;
}

body.page-index .product-miniature__price {
  color: #165b35 !important;
}

body.page-index .product-miniature__add {
  background: #1c7043 !important;
  border-color: #1c7043 !important;
  color: #fff !important;
}

body.page-index .velostrada-demo-trust {
  border-color: rgba(218, 237, 211, .16) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .14);
}

body.page-index .velostrada-demo-trust article {
  background: #103521 !important;
  border-right-color: rgba(218, 237, 211, .14) !important;
}

body.page-index .velostrada-demo-trust h2 {
  color: #f4f9ee !important;
}

/* Keep the catalogue in the same visual family while retaining its clean hierarchy. */
body.page-category .velo-catalog-demo {
  background: transparent !important;
}

body.page-category .velo-catalog-demo__header {
  border-bottom-color: rgba(218, 237, 211, .2) !important;
}

body.page-category .velo-catalog-demo__filters,
body.page-category .velo-catalog-demo__toolbar .products__sort-dropdown-button {
  background: #133a26 !important;
  border-color: rgba(218, 237, 211, .16) !important;
  color: #f4f9ee !important;
}

body.page-category .velo-catalog-demo__filters .accordion-button,
body.page-category .velo-catalog-demo__filters .accordion-item,
body.page-category .velo-catalog-demo__filters .accordion-body {
  color: #f4f9ee !important;
}

body.page-category .velo-catalog-demo__filters .accordion-button {
  border-bottom-color: rgba(218, 237, 211, .16) !important;
}

body.page-category .velo-demo-product-card {
  background: #e0eadb !important;
  border-color: rgba(218, 237, 211, .2) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

body.page-category .velo-demo-product-card__image {
  background: #477558 !important;
}

body.page-category .velo-demo-product-card__image img {
  filter: saturate(1.04) contrast(1.04);
  mix-blend-mode: normal;
  object-position: center 54%;
  transform: scale(1.28);
}

body.page-category .velo-demo-product-card:hover .velo-demo-product-card__image img {
  transform: scale(1.34);
}

/* Bike photos must remain fully visible in the catalogue card. */
body.page-category .velo-demo-product-card__image img,
body.page-category .velo-demo-product-card:hover .velo-demo-product-card__image img {
  object-fit: contain;
  object-position: center;
  transform: none;
}

body.page-category .velo-demo-product-card__name {
  color: #173323 !important;
}

body.page-category .velo-demo-product-card__price {
  color: #165b35 !important;
}

/* Final polish for the local homepage. */
body.page-index .velostrada-header .material-icons,
body.page-category .velostrada-header .material-icons {
  display: none !important;
}

body.page-index .velostrada-demo-hero__image-link {
  display: block;
  min-height: 0;
  overflow: hidden;
}

body.page-index .velostrada-demo-hero__caption strong b {
  color: #b8ee79;
  font-size: .86em;
  font-weight: 750;
  margin-left: .4rem;
  white-space: nowrap;
}

body.page-index .velostrada-demo-category-grid__copy {
  justify-items: start;
  text-align: left;
}

body.page-index .velostrada-demo-category-grid a:focus-visible,
body.page-index .velostrada-demo-hero__image-link:focus-visible {
  outline: 3px solid #b8ee79;
  outline-offset: 3px;
}

/* Coherent homepage flow: featured products use the same visual system as categories. */
body.page-index .velostrada-demo-home {
  gap: 3.25rem !important;
}

body.page-index .velostrada-demo-hero {
  gap: 2.5rem !important;
  min-height: 0 !important;
  padding: 3.25rem !important;
}

body.page-index .velostrada-demo-hero__visual {
  height: 385px;
}

body.page-index .velostrada-demo-hero__proof {
  margin-top: 1.7rem;
}

body.page-index .velostrada-demo-section-heading {
  margin-bottom: 1rem !important;
}

body.page-index .velostrada-demo-featured {
  background: #103a27;
  border: 1px solid rgba(219, 241, 209, .16);
  border-radius: 10px;
  box-shadow: 0 22px 42px rgba(0, 0, 0, .16);
  padding: 1.5rem;
}

body.page-index .velostrada-demo-featured__intro {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.35rem;
}

body.page-index .velostrada-demo-featured__intro .velostrada-eyebrow {
  margin: 0 0 .35rem;
}

body.page-index .velostrada-demo-featured__intro h2 {
  color: #fff !important;
  font-size: 1.8rem !important;
  margin: 0;
}

body.page-index .velostrada-demo-featured__intro > a {
  color: #c8f57f;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

body.page-index .velostrada-demo-featured__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-index .velostrada-demo-featured-card {
  background: #173f2a;
  border: 1px solid rgba(219, 241, 209, .16);
  border-radius: 7px;
  color: #fff;
  overflow: hidden;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}

body.page-index .velostrada-demo-featured-card:hover {
  border-color: rgba(200, 245, 127, .75);
  color: #fff;
  transform: translateY(-3px);
}

body.page-index .velostrada-demo-featured-card__image {
  aspect-ratio: 1.52 / 1;
  background: #365d45;
  overflow: hidden;
  position: relative;
}

body.page-index .velostrada-demo-featured-card__image::after {
  background: linear-gradient(180deg, transparent 52%, rgba(7, 31, 18, .55));
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velostrada-demo-featured-card__image img {
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  transform: scale(1.26);
  transition: transform .25s ease;
  width: 100%;
}

body.page-index .velostrada-demo-featured-card:hover img {
  transform: scale(1.32);
}

body.page-index .velostrada-demo-featured-card__image span {
  background: #c8f57f;
  bottom: .7rem;
  color: #163621;
  font-size: .72rem;
  font-weight: 750;
  left: .7rem;
  padding: .25rem .45rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velostrada-demo-featured-card__body {
  display: grid;
  gap: .45rem;
  padding: 1rem;
}

body.page-index .velostrada-demo-featured-card__body h3 {
  color: #fff;
  font-size: 1.06rem;
  font-weight: 700;
  margin: 0;
}

body.page-index .velostrada-demo-featured-card__body p {
  color: #bed0c1;
  font-size: .86rem;
  margin: 0;
}

body.page-index .velostrada-demo-featured-card__body strong {
  color: #c8f57f;
  font-size: 1.05rem;
  margin-top: .35rem;
}

body.page-index .velostrada-demo-featured-card__cta {
  align-items: center;
  border-top: 1px solid rgba(219, 241, 209, .16);
  color: #fff;
  display: flex;
  font-size: .86rem;
  font-weight: 700;
  justify-content: space-between;
  margin-top: .25rem;
  padding-top: .8rem;
}

body.page-index .velostrada-demo-featured-card__cta::after {
  color: #c8f57f;
  content: '→';
  font-size: 1.15rem;
}

body.page-index .velostrada-demo-trust {
  box-shadow: none;
}

body.page-index .velostrada-demo-trust article {
  padding: 1.35rem !important;
}

@media (max-width: 760px) {
  body.page-index .velostrada-demo-featured__grid {
    grid-template-columns: 1fr;
  }

  body.page-index .velostrada-demo-featured__intro {
    align-items: start;
    flex-direction: column;
    gap: .8rem;
  }
}

/* Homepage concepts: separate local alternatives for the Velostrada direction review. */
body.page-index:has(.velostrada-concept) {
  background: #101613 !important;
}

body.page-index .velostrada-concept {
  --velo-ink: #111713;
  --velo-paper: #dce4d7;
  --velo-mist: #b8c3b5;
  --velo-acid: #bcf542;
  --velo-green: #24382a;
  color: var(--velo-paper);
  display: grid;
  gap: 5.5rem !important;
  margin-inline: auto;
  max-width: 1360px;
  padding: 3rem 1.5rem 5rem !important;
}

body.page-index .velostrada-concept a {
  color: inherit;
}

body.page-index .velostrada-concept h1,
body.page-index .velostrada-concept h2,
body.page-index .velostrada-concept h3,
body.page-index .velostrada-concept p {
  margin: 0;
}

body.page-index .velostrada-concept img {
  display: block;
}

body.page-index .velo-concept-label {
  color: var(--velo-acid);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

body.page-index .velo-concept-heading {
  align-items: end;
  border-bottom: 1px solid rgba(220, 228, 215, .24);
  display: flex;
  justify-content: space-between;
  padding-bottom: 1.05rem;
}

body.page-index .velo-concept-heading > div {
  display: grid;
  gap: .45rem;
}

body.page-index .velo-concept-heading h2 {
  color: #f4f8f1;
  font-size: clamp(1.7rem, 2.8vw, 2.65rem);
  font-weight: 720;
  line-height: 1.04;
}

body.page-index .velo-concept-heading > a {
  color: var(--velo-acid);
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none;
}

body.page-index .velo-concept-heading > a::after {
  content: ' →';
}

/* Variant 1: deliberately calm, product-led and editorial. */
body.page-index .velostrada-concept--atelier {
  --velo-paper: #e8eee2;
  --velo-mist: #aebbad;
}

body.page-index .velo-atelier-hero {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr);
  min-height: 540px;
}

body.page-index .velo-atelier-hero__copy {
  align-items: flex-start;
  background: #1e3024;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5.2rem);
}

body.page-index .velo-atelier-hero__copy h1 {
  color: #f4f7f0;
  font-size: clamp(2.9rem, 5.5vw, 5.8rem);
  font-weight: 740;
  letter-spacing: 0;
  line-height: .92;
  margin-top: 1.1rem;
}

body.page-index .velo-atelier-hero__copy > p:not(.velo-concept-label) {
  color: #c2cdbf;
  font-size: 1.03rem;
  line-height: 1.55;
  margin-top: 1.65rem;
  max-width: 29rem;
}

body.page-index .velo-main-action {
  align-items: center;
  background: var(--velo-acid);
  color: #152017 !important;
  display: inline-flex;
  font-size: .92rem;
  font-weight: 800;
  gap: 1rem;
  margin-top: 2rem;
  padding: .9rem 1.05rem;
  text-decoration: none;
}

body.page-index .velo-main-action span {
  font-size: 1.2rem;
  line-height: .7;
}

body.page-index .velo-atelier-hero__feature {
  background: #37483a;
  color: #fff;
  min-height: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-atelier-hero__feature::after {
  background: linear-gradient(90deg, rgba(11, 17, 13, .66), transparent 60%), linear-gradient(0deg, rgba(11, 17, 13, .74), transparent 58%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velo-atelier-hero__feature img {
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
  transform: scale(1.58);
  transition: transform .45s ease;
  width: 100%;
}

body.page-index .velo-atelier-hero__feature:hover img {
  transform: scale(1.64);
}

body.page-index .velo-atelier-hero__feature > div {
  bottom: clamp(1.5rem, 3vw, 3rem);
  display: grid;
  gap: .45rem;
  left: clamp(1.5rem, 3vw, 3rem);
  position: absolute;
  z-index: 1;
}

body.page-index .velo-atelier-hero__feature span,
body.page-index .velo-atelier-hero__feature p {
  color: #d4dfd1;
  font-size: .85rem;
}

body.page-index .velo-atelier-hero__feature h2 {
  color: #fff;
  font-size: clamp(1.75rem, 3.1vw, 3.25rem);
  font-weight: 700;
  line-height: .98;
}

body.page-index .velo-atelier-hero__feature strong {
  color: var(--velo-acid);
  font-size: 1.15rem;
  margin-top: .4rem;
}

body.page-index .velo-atelier-categories,
body.page-index .velo-atelier-picks,
body.page-index .velo-catalogue-stock {
  display: grid;
  gap: 1.25rem;
}

body.page-index .velo-atelier-categories__grid {
  display: grid;
  gap: 1px;
  grid-template-columns: 1.28fr .86fr .86fr;
  grid-template-rows: 235px 190px;
}

body.page-index .velo-atelier-category {
  background: #26362a;
  color: #fff;
  min-height: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-atelier-category::after {
  background: linear-gradient(0deg, rgba(9, 15, 11, .78), transparent 72%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velo-atelier-category img {
  filter: saturate(.78) contrast(1.04);
  height: 100%;
  object-fit: cover;
  transform: scale(1.42);
  transition: filter .3s ease, transform .35s ease;
  width: 100%;
}

body.page-index .velo-atelier-category:hover img {
  filter: saturate(1) contrast(1.04);
  transform: scale(1.48);
}

body.page-index .velo-atelier-category span {
  bottom: 1.15rem;
  display: grid;
  gap: .22rem;
  left: 1.15rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velo-atelier-category b {
  color: #fff;
  font-size: clamp(1.05rem, 1.5vw, 1.45rem);
}

body.page-index .velo-atelier-category small {
  color: #d9e2d6;
  font-size: .8rem;
}

body.page-index .velo-atelier-category--large {
  grid-row: span 2;
}

body.page-index .velo-atelier-category--wide {
  grid-column: span 2;
}

body.page-index .velo-picks-list {
  border-top: 1px solid rgba(220, 228, 215, .2);
}

body.page-index .velo-picks-list > a {
  align-items: center;
  border-bottom: 1px solid rgba(220, 228, 215, .2);
  display: grid;
  gap: 1.1rem;
  grid-template-columns: 155px minmax(0, 1fr) auto 1.5rem;
  min-height: 130px;
  padding: .8rem 0;
  text-decoration: none;
}

body.page-index .velo-picks-list img {
  background: #405045;
  height: 108px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.38);
  width: 155px;
}

body.page-index .velo-picks-list > a > div {
  display: grid;
  gap: .26rem;
}

body.page-index .velo-picks-list span {
  color: var(--velo-acid);
  font-size: .73rem;
  font-weight: 750;
  text-transform: uppercase;
}

body.page-index .velo-picks-list h3 {
  color: #f3f6ef;
  font-size: 1.12rem;
  font-weight: 700;
}

body.page-index .velo-picks-list p {
  color: var(--velo-mist);
  font-size: .88rem;
}

body.page-index .velo-picks-list strong {
  color: #fff;
  font-size: 1rem;
  white-space: nowrap;
}

body.page-index .velo-picks-list i {
  color: var(--velo-acid);
  font-size: 1.25rem;
  font-style: normal;
}

/* Variant 2: search and stock are deliberately the first purchase tools. */
body.page-index .velostrada-concept--katalog {
  --velo-paper: #e8eee1;
  --velo-mist: #aebcad;
  --velo-green: #203326;
}

body.page-index .velo-catalogue-hero {
  background: #263a2a;
  display: grid;
  grid-template-columns: .84fr 1fr 1fr;
  min-height: 430px;
}

body.page-index .velo-catalogue-hero__intro {
  display: grid;
  align-content: center;
  gap: 1rem;
  padding: clamp(1.8rem, 4vw, 4rem);
}

body.page-index .velo-catalogue-hero__intro h1 {
  color: #f4f8ef;
  font-size: clamp(2.25rem, 3.9vw, 4.2rem);
  font-weight: 730;
  line-height: .98;
}

body.page-index .velo-catalogue-hero__intro > p:not(.velo-concept-label) {
  color: #c5d0c3;
  font-size: .98rem;
  line-height: 1.55;
  max-width: 24rem;
}

body.page-index .velo-catalogue-search {
  align-content: center;
  background: #94a88f;
  color: #142017;
  display: grid;
  gap: .8rem;
  padding: clamp(1.8rem, 3.6vw, 3.5rem);
}

body.page-index .velo-catalogue-search label {
  font-size: 1rem;
  font-weight: 800;
}

body.page-index .velo-catalogue-search > div {
  border-bottom: 2px solid #183021;
  display: flex;
}

body.page-index .velo-catalogue-search input {
  background: transparent;
  border: 0;
  color: #142017;
  font-size: .95rem;
  min-width: 0;
  outline: none;
  padding: .85rem .25rem;
  width: 100%;
}

body.page-index .velo-catalogue-search input::placeholder {
  color: #405e46;
}

body.page-index .velo-catalogue-search button {
  background: #1a2a1e;
  border: 0;
  color: #f3f7ed;
  cursor: pointer;
  font-size: .83rem;
  font-weight: 800;
  padding: .7rem .85rem;
}

body.page-index .velo-catalogue-search p,
body.page-index .velo-catalogue-search a {
  color: #315239;
  font-size: .77rem;
}

body.page-index .velo-catalogue-search a {
  color: #143d23;
  font-weight: 750;
  margin-left: .25rem;
}

body.page-index .velo-catalogue-hero__image {
  color: #fff;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-catalogue-hero__image::after {
  background: linear-gradient(0deg, rgba(9, 15, 11, .84), transparent 55%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velo-catalogue-hero__image img {
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
  transform: scale(1.58);
  width: 100%;
}

body.page-index .velo-catalogue-hero__image span {
  bottom: 1.7rem;
  display: grid;
  font-size: .94rem;
  gap: .32rem;
  left: 1.6rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velo-catalogue-hero__image b {
  color: var(--velo-acid);
  font-size: .75rem;
  text-transform: uppercase;
}

body.page-index .velo-catalogue-hero__image strong {
  color: #fff;
}

body.page-index .velo-quick-types {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(6, 1fr);
}

body.page-index .velo-quick-types a {
  background: #1b2a1e;
  display: grid;
  gap: .3rem;
  min-height: 110px;
  padding: 1rem;
  text-decoration: none;
  transition: background .2s ease;
}

body.page-index .velo-quick-types a:hover {
  background: #314936;
}

body.page-index .velo-quick-types strong {
  color: #f0f4eb;
  font-size: .98rem;
}

body.page-index .velo-quick-types span {
  color: #aebcab;
  font-size: .73rem;
  line-height: 1.25;
}

body.page-index .velo-stock-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-index .velo-stock-grid > a {
  background: #26372a;
  color: #fff;
  display: grid;
  gap: .45rem;
  padding-bottom: 1.15rem;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-stock-grid img {
  background: #455549;
  height: 240px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.4);
  transition: transform .3s ease;
  width: 100%;
}

body.page-index .velo-stock-grid > a:hover img {
  transform: scale(1.46);
}

body.page-index .velo-stock-grid > a > span,
body.page-index .velo-stock-grid h3,
body.page-index .velo-stock-grid p,
body.page-index .velo-stock-grid strong {
  margin-inline: 1.15rem;
}

body.page-index .velo-stock-grid > a > span {
  color: var(--velo-acid);
  font-size: .7rem;
  font-weight: 780;
  margin-top: .55rem;
  text-transform: uppercase;
}

body.page-index .velo-stock-grid h3 {
  color: #fff;
  font-size: 1.12rem;
  font-weight: 720;
}

body.page-index .velo-stock-grid p {
  color: var(--velo-mist);
  font-size: .85rem;
}

body.page-index .velo-stock-grid strong {
  color: #fff;
  font-size: 1.05rem;
  margin-top: .3rem;
}

body.page-index .velo-concept-assurances {
  border-top: 1px solid rgba(220, 228, 215, .24);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

body.page-index .velo-concept-assurances article {
  border-right: 1px solid rgba(220, 228, 215, .24);
  display: grid;
  gap: .55rem;
  padding: 1.35rem 1.2rem 1.35rem 0;
}

body.page-index .velo-concept-assurances article + article {
  padding-left: 1.2rem;
}

body.page-index .velo-concept-assurances article:last-child {
  border-right: 0;
}

body.page-index .velo-concept-assurances span {
  color: var(--velo-acid);
  font-size: .74rem;
  font-weight: 800;
}

body.page-index .velo-concept-assurances h2 {
  color: #eff4eb;
  font-size: 1.04rem;
  font-weight: 720;
}

body.page-index .velo-concept-assurances p {
  color: var(--velo-mist);
  font-size: .86rem;
  line-height: 1.55;
  max-width: 24rem;
}

@media (max-width: 900px) {
  body.page-index .velostrada-concept {
    gap: 3.75rem !important;
  }

  body.page-index .velo-atelier-hero,
  body.page-index .velo-catalogue-hero {
    grid-template-columns: 1fr 1fr;
  }

  body.page-index .velo-catalogue-search {
    grid-column: span 2;
    order: 3;
  }

  body.page-index .velo-quick-types {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 680px) {
  body.page-index .velostrada-concept {
    gap: 3rem !important;
    padding: 1.5rem 1rem 3.5rem !important;
  }

  body.page-index .velo-atelier-hero,
  body.page-index .velo-catalogue-hero {
    grid-template-columns: 1fr;
  }

  body.page-index .velo-atelier-hero {
    min-height: 0;
  }

  body.page-index .velo-atelier-hero__copy {
    min-height: 390px;
  }

  body.page-index .velo-atelier-hero__feature {
    aspect-ratio: 1 / 1;
  }

  body.page-index .velo-catalogue-hero__intro {
    min-height: 330px;
  }

  body.page-index .velo-catalogue-search {
    grid-column: auto;
  }

  body.page-index .velo-catalogue-hero__image {
    aspect-ratio: 1 / 1;
  }

  body.page-index .velo-concept-heading {
    align-items: start;
    flex-direction: column;
    gap: .75rem;
  }

  body.page-index .velo-atelier-categories__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px 165px 165px;
  }

  body.page-index .velo-atelier-category--large {
    grid-column: span 2;
    grid-row: auto;
  }

  body.page-index .velo-atelier-category--wide {
    grid-column: span 2;
  }

  body.page-index .velo-picks-list > a {
    gap: .75rem;
    grid-template-columns: 94px minmax(0, 1fr) auto;
  }

  body.page-index .velo-picks-list img {
    height: 86px;
    width: 94px;
  }

  body.page-index .velo-picks-list strong {
    font-size: .9rem;
  }

  body.page-index .velo-picks-list i {
    display: none;
  }

  body.page-index .velo-quick-types {
    grid-template-columns: repeat(2, 1fr);
  }

  body.page-index .velo-stock-grid,
  body.page-index .velo-concept-assurances {
    grid-template-columns: 1fr;
  }

  body.page-index .velo-stock-grid img {
    height: 220px;
  }

  body.page-index .velo-concept-assurances article,
  body.page-index .velo-concept-assurances article + article {
    border-bottom: 1px solid rgba(220, 228, 215, .24);
    border-right: 0;
    padding: 1.25rem 0;
  }

  body.page-index .velo-concept-assurances article:last-child {
    border-bottom: 0;
  }
}

/* Local catalogue prototype: presentation only; product data and facets stay native. */
body.page-category:has(.velo-catalog-demo) {
  background: #071113 !important;
  color: #f6f8f4;
}

body.page-category:has(.velo-catalog-demo) .velostrada-header,
body.page-category:has(.velo-catalog-demo) .velostrada-footer {
  display: none !important;
}

body.page-category:has(.velo-catalog-demo) .page-loader { display: none !important; }

/* Catalogue uses the same Vision components as the local home page. */
body.page-category .velo-catalog-vision-header { align-items:center; background:#0b1416; border-bottom:1px solid #2b3839; display:flex; gap:38px; height:78px; padding:0 5%; }
body.page-category .velo-catalog-vision-header .velo-vision-brand { align-items:center; display:flex; flex:0 0 auto; }
body.page-category .velo-catalog-vision-header .velo-vision-brand img { display:block; height:auto; max-height:48px; width:190px; }
body.page-category .velo-catalog-vision-header nav { display:flex; gap:33px; margin:0 0 0 15px; }
body.page-category .velo-catalog-vision-header nav a { color:#f8faf9; font-size:13px; text-decoration:none; white-space:nowrap; }
body.page-category .velo-catalog-vision-header nav a:hover,
body.page-category .velo-catalog-vision-header nav a:first-child { color:#b7ff00; }
body.page-category .velo-catalog-vision-header .velo-vision-header__tools { align-items:center; display:flex; gap:15px; margin-left:auto; }
body.page-category .velo-catalog-vision-header .velo-vision-header__search { align-items:center; background:#152023; border:1px solid #526062; border-radius:6px; color:#aeb6b6; display:flex; font-size:13px; gap:8px; min-height:42px; padding:0 14px; text-decoration:none; width:244px; }
body.page-category .velo-catalog-vision-header .velo-vision-header__search span { color:#f8faf9; font-size:20px; line-height:1; }
body.page-category .velo-catalog-vision-header .velo-vision-header__cart { color:#f8faf9; font-size:28px; line-height:1; padding:5px; position:relative; text-decoration:none; }
body.page-category .velo-catalog-vision-header .velo-vision-header__cart b { background:#b7ff00; border-radius:50%; color:#071113; display:grid; font-size:10px; height:16px; place-items:center; position:absolute; right:-2px; bottom:1px; width:16px; }

.velo-catalog-header {
  align-items: center;
  background: #0b1517;
  border-bottom: 1px solid #243638;
  display: grid;
  gap: 28px;
  grid-template-columns: 190px 1fr auto;
  min-height: 72px;
  padding: 0 max(5%, calc((100% - 1380px) / 2));
}

.velo-catalog-header__brand img { display: block; height: auto; max-height: 37px; max-width: 174px; width: auto; }
.velo-catalog-header__nav { align-items: center; display: flex; gap: 27px; }
.velo-catalog-header__nav a { color: #e8ece6; font-size: 13px; font-weight: 700; text-decoration: none; }
.velo-catalog-header__nav a:hover, .velo-catalog-header__nav .is-active { color: #ccff00; }
.velo-catalog-header__tools { align-items: center; display: flex; gap: 15px; }
.velo-catalog-header__search { align-items: center; border: 1px solid #536568; border-radius: 5px; color: #aeb9b6; display: flex; font-size: 12px; gap: 12px; height: 40px; padding: 0 14px; text-decoration: none; width: 245px; }
.velo-catalog-header__search span { color: #fff; font-size: 22px; line-height: 1; }
.velo-catalog-header__cart { align-items: center; color: #fff; display: flex; font-size: 25px; gap: 6px; line-height: 1; text-decoration: none; }
.velo-catalog-header__cart b { align-items: center; background: #ccff00; border-radius: 999px; color: #0b1517; display: none; font-size: 10px; height: 17px; justify-content: center; width: 17px; }

.velo-catalog-demo { background: #081013; min-height: 100vh; }
.velo-catalog-demo__header { background: linear-gradient(90deg, #081113 5%, rgba(8,17,19,.94) 39%, rgba(8,17,19,.22) 100%), url('../img/vision-reference/source/product-1.jpg') center 49% / cover; border-bottom: 1px solid #2b3839; min-height: 330px; padding: 57px max(5%, calc((100% - 1380px) / 2)) 52px; }
.velo-catalog-demo__header > div { max-width: 580px; }
.velo-catalog-demo__eyebrow, .velo-catalog-demo__filter-title > p { color: #ccff00; font-size: 11px; font-weight: 800; letter-spacing: .15em; margin: 0 0 13px; text-transform: uppercase; }
.velo-catalog-demo__header h1 { color: #f6f6f0; font-size: clamp(48px, 4.2vw, 68px); font-weight: 800; letter-spacing: 0; line-height: .94; margin: 0 0 17px; }
.velo-catalog-demo__header h1 em { color: #ccff00; font-style: normal; }
.velo-catalog-demo__header p:not(.velo-catalog-demo__eyebrow) { color: #d7dedb; font-size: 16px; line-height: 1.52; margin: 0; max-width: 465px; }

.velo-catalog-demo__layout { margin: 0 auto; max-width: 1510px; padding: 34px max(5%, 36px) 78px; }
.velo-catalog-demo__filters { background: #0d191b; border: 1px solid #304447; border-radius: 13px; box-shadow: 0 12px 30px rgba(0,0,0,.2); display: grid; grid-template-columns: 180px minmax(230px,.9fr) minmax(450px,1.8fr); min-height: 96px; overflow: hidden; }
.velo-catalog-demo__filter-title, .velo-catalog-demo__search, .velo-catalog-demo__facets { border-left: 1px solid #26383a; min-width: 0; padding: 15px 19px; }
.velo-catalog-demo__filter-title { align-items: flex-start; background: linear-gradient(135deg, #132123, #0d191b); border-left: 0; display: flex; flex-direction: column; justify-content: center; }
.velo-catalog-demo__filter-title > p { font-size: 9px; margin-bottom: 3px; }
.velo-catalog-demo__filter-title h2 { color: #f4f6f2; font-size: 20px; line-height: 1; margin: 0 0 5px; }
.velo-catalog-demo__filter-title a { color: #a9bcbb; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.velo-catalog-demo__search { align-items: center; display: flex; gap: 12px; }
.velo-catalog-demo__search span { color: #ccff00; font-size: 25px; line-height: 1; }
.velo-catalog-demo__search input { background: transparent; border: 0; color: #f5f7f3; font-size: 14px; min-width: 0; outline: none; padding: 6px 0; width: 100%; }
.velo-catalog-demo__search input::placeholder { color: #9aa8a5; }
.velo-catalog-demo__facets { align-items: stretch; display: flex; overflow-x: auto; padding: 0; }
.velo-catalog-demo__facets #search-filters { display: flex; min-width: 100%; }
.velo-catalog-demo__facets #search-filters > .text-uppercase, .velo-catalog-demo__facets .clear-all-wrapper { display: none !important; }
.velo-catalog-demo__facets .facet { border-left: 1px solid #26383a; display: flex; flex: 1 0 135px; flex-direction: column; justify-content: center; margin: 0; padding: 14px 17px; }
.velo-catalog-demo__facets .facet:first-of-type { border-left: 0; }
.velo-catalog-demo__facets .facet-title { color: #f2f6f1; display: block !important; font-size: 12px; font-weight: 700; margin: 0 0 7px; }
.velo-catalog-demo__facets .facet ul { align-items: center; display: flex; gap: 6px; list-style: none; margin: 0; max-height: 21px; overflow: hidden; padding: 0; }
.velo-catalog-demo__facets .facet li { margin: 0; }
.velo-catalog-demo__facets .facet-label { margin: 0; white-space: nowrap; }
.velo-catalog-demo__facets .facet-label a { color: #b9c7c4; font-size: 11px; text-decoration: none; }
.velo-catalog-demo__facets .custom-checkbox, .velo-catalog-demo__facets .custom-radio { display: none; }

.velo-catalog-demo__toolbar { align-items: center; border-bottom: 1px solid #2a3b3d; display: flex; justify-content: space-between; margin-top: 38px; padding-bottom: 18px; }
.velo-catalog-demo__toolbar p { color: #c3cfcc; font-size: 14px; margin: 0; }
.velo-catalog-demo__toolbar p strong { color: #ccff00; font-size: 17px; }
.velo-catalog-demo__toolbar .sort-by-row { align-items: center; color: #afbfbb; display: flex; font-size: 12px; gap: 9px; }
.velo-catalog-demo__toolbar .sort-by-row .dropdown { display: inline-block; }
.velo-catalog-demo__toolbar .sort-by-row .select-title { background: #101e20; border: 1px solid #3b5052; border-radius: 5px; color: #f0f4ef; display: inline-flex; font-size: 12px; padding: 8px 11px; text-decoration: none; }

.velo-catalog-demo__products { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 24px; }
.velo-demo-product-card { background: #0b1618; border: 1px solid #384649; border-radius: 5px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: border-color .18s ease, transform .18s ease; }
.velo-demo-product-card:hover { border-color: #7c9a8d; transform: translateY(-3px); }
.velo-demo-product-card__image { aspect-ratio: 1.42 / 1; background: #d9ddda; display: block; overflow: hidden; position: relative; }
.velo-demo-product-card__image img { display: block; height: 100%; object-fit: cover; transition: transform .3s ease; width: 100%; }
.velo-demo-product-card:hover .velo-demo-product-card__image img { transform: scale(1.025); }
.velo-demo-product-card__status { background: #354346; color: #f8faf5; font-size: 10px; font-weight: 800; left: 12px; letter-spacing: .06em; padding: 6px 8px; position: absolute; text-transform: uppercase; top: 12px; }
.velo-demo-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 17px 17px 15px; }
.velo-demo-product-card__name { color: #f5f7f4; font-size: 18px; font-weight: 800; line-height: 1.13; min-height: 41px; text-decoration: none; text-transform: uppercase; }
.velo-demo-product-card__name:hover { color: #ccff00; }
.velo-demo-product-card__bottom { align-items: center; display: flex; justify-content: space-between; margin-top: 17px; }
.velo-demo-product-card__price { color: #ccff00; font-size: 20px; font-weight: 800; }
.velo-demo-product-card__bottom form { margin: 0; }
.velo-demo-product-card .btn, .velo-demo-product-card__details { background: transparent; border: 0; color: #ccff00; font-size: 12px; font-weight: 800; padding: 0; text-decoration: none; text-transform: none; }
.velo-demo-product-card .btn:hover, .velo-demo-product-card__details:hover { color: #eeff9e; }
.velo-demo-product-card .btn span, .velo-demo-product-card__details span { font-size: 18px; margin-left: 8px; vertical-align: -1px; }

@media (max-width:850px) {
  body.page-category .velo-catalog-vision-header { flex-wrap:wrap; gap:15px; height:auto; padding:15px 5%; }
  body.page-category .velo-catalog-vision-header nav { border-top:1px solid #2b3839; gap:16px; margin:0; order:3; overflow:auto; padding-top:12px; width:100%; }
  body.page-category .velo-catalog-vision-header nav a { font-size:12px; }
  body.page-category .velo-catalog-vision-header .velo-vision-header__search { font-size:0; min-height:38px; padding:0; place-content:center; width:42px; }
  body.page-category .velo-catalog-vision-header .velo-vision-header__search span { margin:0; }
}
.velo-catalog-demo__pagination { margin-top: 36px; }

/* The earlier local experiment used a sidebar. The store prototype is a full-width catalogue. */
body.page-category .velo-catalog-demo__layout {
  display: block !important;
  max-width: 1510px !important;
  padding: 29px max(5%, 36px) 70px !important;
}
body.page-category .velo-catalog-demo__filters {
  background: #0d191b !important;
  border: 1px solid #304447 !important;
  border-radius: 13px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.2) !important;
  display: grid !important;
  grid-template-columns: 180px minmax(230px,.9fr) minmax(450px,1.8fr) !important;
  min-height: 96px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
body.page-category .velo-catalog-demo__results { min-width: 0 !important; }
body.page-category .velo-demo-product-card__body { background:#0b1618 !important; padding:17px 17px 15px !important; }
body.page-category .velo-demo-product-card__name { color:#f5f7f4 !important; font-size:18px !important; line-height:1.13 !important; text-transform:uppercase; }
body.page-category .velo-demo-product-card__price { color:#b7ff00 !important; font-size:20px !important; }
body.page-category .velo-demo-product-card .btn,
body.page-category .velo-demo-product-card__details { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:#b7ff00 !important; font-size:12px !important; padding:0 !important; }
body.page-category .velo-demo-product-card .btn:hover,
body.page-category .velo-demo-product-card__details:hover { color:#efffb6 !important; }
body.page-category .velo-catalog-demo__toolbar .products__sort-dropdown-button { background:#101d1f !important; border-color:#3e5355 !important; color:#eef3ef !important; }

/* Product pages: carry the Vision system beyond the homepage and catalogue. */
body.page-product { background:#081013 !important; color:#d1d9d5; }
body.page-product .velostrada-header { background:#0b1416 !important; border-bottom:1px solid #2b3839; min-height:78px; padding:0 !important; }
body.page-product .velostrada-header__container { max-width:none; padding-inline:5%; }
body.page-product .velostrada-header__row { min-height:78px; }
body.page-product .velostrada-header__primary { gap:38px; }
body.page-product .velostrada-header .navbar-brand .logo { max-height:48px !important; max-width:190px !important; }
body.page-product .velostrada-nav--desktop { gap:33px; }
body.page-product .velostrada-nav a { background:transparent !important; border:0 !important; border-radius:0; box-shadow:none !important; color:#f8faf9 !important; font-family:Arial,sans-serif !important; font-size:13px !important; font-weight:400 !important; letter-spacing:0 !important; padding:0 !important; text-transform:none !important; }
body.page-product .velostrada-nav a:hover { color:#b7ff00 !important; transform:none !important; }
body.page-product .velostrada-header__search { flex-basis:244px !important; max-width:244px !important; min-width:244px !important; }
body.page-product .velostrada-header__search .ps-searchbar__input { background:#152023 !important; border:1px solid #526062 !important; border-radius:6px !important; color:#f8faf9 !important; font-family:Arial,sans-serif !important; font-size:13px !important; min-height:42px !important; }
body.page-product .velostrada-header__actions .header-block__action-btn,
body.page-product .velostrada-header__actions .blockcart { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:#f8faf9 !important; min-height:42px; min-width:42px; padding:5px !important; }
body.page-product .velostrada-header__actions .header-block__title { display:none !important; }
body.page-product .velostrada-header__actions .header-block__badge { background:#b7ff00 !important; color:#071113 !important; }
body.page-product .columns-container { background:#081013 !important; }
body.page-product .product__container { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; gap:clamp(24px,4vw,62px); margin:0 auto; max-width:1420px; padding:clamp(26px,4vw,62px) 5%; }
body.page-product .product__name { color:#f6f6f0 !important; font-family:Arial,sans-serif !important; font-size:clamp(27px,3vw,44px) !important; font-weight:800 !important; letter-spacing:0 !important; line-height:1.03 !important; text-transform:none !important; }
body.page-product .product__price { color:#b7ff00 !important; font-family:Arial,sans-serif !important; font-size:clamp(26px,2.5vw,36px) !important; letter-spacing:0 !important; }
body.page-product .product__description-short,
body.page-product .product__description-short * { color:#cbd5d0 !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-product .product__carousel,
body.page-product .product__thumbnail { background:#101a1c !important; border-color:#344547 !important; border-radius:5px !important; }
body.page-product .velostrada-product-note__card { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; }
body.page-product .velostrada-product-note__card:nth-child(-n+2) { display:block !important; }
body.page-product .velostrada-product-note__card:nth-child(3)::after { content:none !important; display:none !important; }
body.page-product .velostrada-product-note__card h2 { color:#f5f7f4 !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-product .velostrada-product-note__card p { color:#bac8c3 !important; font-family:Arial,sans-serif !important; }
body.page-product .velostrada-product-note__eyebrow,
body.page-product .product__availability,
body.page-product .product__availability * { font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-product .product__actions .btn { background:#b7ff00 !important; border-color:#b7ff00 !important; border-radius:4px !important; color:#081013 !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; }

/* Shared shell for every local subpage, so navigation never changes brand mid-journey. */
body:not(.page-index) .velostrada-header { background:#0b1416 !important; border-bottom:1px solid #2b3839; min-height:78px; padding:0 !important; }
body:not(.page-index) .velostrada-header__container { max-width:none; padding-inline:5%; }
body:not(.page-index) .velostrada-header__row { min-height:78px; }
body:not(.page-index) .velostrada-header__primary { gap:38px; }
body:not(.page-index) .velostrada-header .navbar-brand .logo { max-height:48px !important; max-width:190px !important; }
body:not(.page-index) .velostrada-nav--desktop { gap:33px; }
body:not(.page-index) .velostrada-nav a { background:transparent !important; border:0 !important; border-radius:0; box-shadow:none !important; color:#f8faf9 !important; font-family:Arial,sans-serif !important; font-size:13px !important; font-weight:400 !important; letter-spacing:0 !important; padding:0 !important; text-transform:none !important; }
body:not(.page-index) .velostrada-nav a:hover { color:#b7ff00 !important; transform:none !important; }
body:not(.page-index) .velostrada-header__search { flex-basis:244px !important; max-width:244px !important; min-width:244px !important; }
body:not(.page-index) .velostrada-header__search .ps-searchbar__input { background:#152023 !important; border:1px solid #526062 !important; border-radius:6px !important; color:#f8faf9 !important; font-family:Arial,sans-serif !important; font-size:13px !important; min-height:42px !important; }
body:not(.page-index) .velostrada-header__actions .header-block__action-btn,
body:not(.page-index) .velostrada-header__actions .blockcart { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:#f8faf9 !important; min-height:42px; min-width:42px; padding:5px !important; }
body:not(.page-index) .velostrada-header__actions .header-block__title { display:none !important; }
body:not(.page-index) .velostrada-header__actions .header-block__badge { background:#b7ff00 !important; color:#071113 !important; }
body.page-cms, body.page-contact, body.page-cart, body.page-authentication, body.page-registration { background:#081013 !important; }

/* Subpages use the same centered Vision header as the catalogue. */
@media (min-width: 851px) {
  body:not(.page-index):not(.page-category) .velostrada-header {
    min-height: 92px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__row {
    align-items: center;
    display: flex;
    min-height: 92px !important;
    position: relative;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  body:not(.page-index):not(.page-category) .velostrada-header .navbar-brand .logo {
    max-height: 62px !important;
    max-width: 270px !important;
    width: 270px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__aside {
    gap: 19px;
    margin-left: auto;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__search {
    flex-basis: 340px !important;
    max-width: 340px !important;
    min-width: 340px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__search .ps-searchbar__input {
    min-height: 48px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__actions {
    align-items: center;
    display: flex;
    gap: 19px;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__account,
  body:not(.page-index):not(.page-category) .velostrada-header__cart {
    align-items: center;
    color: #f8faf9;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 7px;
    min-height: 48px;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__account i,
  body:not(.page-index):not(.page-category) .velostrada-header__cart i {
    font-size: 25px;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__account:hover,
  body:not(.page-index):not(.page-category) .velostrada-header__cart:hover {
    color: #b7ff00;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__cart b {
    align-items: center;
    background: #b7ff00;
    border-radius: 50%;
    color: #081013;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    height: 17px;
    justify-content: center;
    margin-left: -9px;
    margin-top: 18px;
    min-width: 17px;
  }
}

/* Cart actions share one row instead of drifting independently below the basket. */
@media (min-width: 851px) {
  body.page-cart .cart-grid__products-details {
    align-items: center;
    column-gap: 24px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    row-gap: 16px;
  }

  body.page-cart .cart-grid__products-details > .cart__overview {
    grid-column: 1 / -1;
  }

  body.page-cart .cart-grid__products-details > .cart__continue-shopping {
    grid-column: 1;
    justify-self: start;
    margin: 0 0 0 18px !important;
  }

  body.page-cart .cart-grid__products-details > #oblicz-rate {
    grid-column: 2;
    justify-self: stretch;
    margin: 0 22px 0 0 !important;
    max-width: none !important;
    text-align: right !important;
    width: auto !important;
  }
}

/* Product media and finance actions: crop padded source canvases and expose real actions. */
body.page-product .product__thumbnail {
  aspect-ratio: 1 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
}

body.page-product .product__thumbnail-image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.36) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__top,
body.page-product .featured-products .product-miniature__top {
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-container,
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-link,
body.page-product .ps-categoryproducts .velostrada-related-products picture,
body.page-product .featured-products .product-miniature__image-container,
body.page-product .featured-products .product-miniature__image-link,
body.page-product .featured-products picture {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image,
body.page-product .featured-products .product-miniature__image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.42) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  align-items: center !important;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  color: #081013 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

body.page-product .product__additional-info #eraty a:hover,
body.page-product .product__additional-info .velostrada-installment-button a:hover {
  background: #081013 !important;
  border-color: #b7ff00 !important;
  color: #b7ff00 !important;
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  display: none !important;
}

body.page-product .product__additional-info #eraty a::before {
  content: 'Oblicz ratę eRaty Santander' !important;
}

body.page-product .product__additional-info .velostrada-installment-button a::before {
  content: 'Sprawdź ratę w Alior Banku' !important;
}

/* Product offer refinement: calmer scale, clean crop and information without card clutter. */
body.page-product .product__container {
  gap: clamp(28px, 3vw, 52px) !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr) !important;
  max-width: 1560px !important;
  padding: clamp(30px, 3.2vw, 52px) 4% 56px !important;
}

body.page-product .product__carousel {
  background: #0d1517 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body.page-product .product__carousel .carousel-item {
  aspect-ratio: 4 / 3 !important;
  background: #0d1517 !important;
  overflow: hidden !important;
}

body.page-product .product__carousel .carousel-item picture {
  display: block;
  height: 100%;
  width: 100%;
}

body.page-product .product__carousel .carousel-item img {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  transform: scale(1.18) !important;
  width: 100% !important;
}

body.page-product .product__name {
  font-size: clamp(25px, 1.8vw, 32px) !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
}

body.page-product .product__price {
  font-size: clamp(24px, 1.85vw, 31px) !important;
}

body.page-product .product__description-short,
body.page-product .product__description-short * {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.page-product .velostrada-product-note__grid {
  column-gap: 34px !important;
  row-gap: 0 !important;
}

body.page-product .velostrada-product-note__card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid #294043 !important;
  box-shadow: none !important;
  padding: 17px 0 19px !important;
}

body.page-product .velostrada-product-note__card h2 {
  font-size: 17px !important;
  line-height: 1.22 !important;
  margin: 7px 0 !important;
}

body.page-product .velostrada-product-note__card p {
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

@media (max-width: 991px) {
  body.page-product .product__container { display: block !important; }
  body.page-product .product__right { margin-top: 28px; }
}

/* Product detail uses the same flat, dark product language as the homepage. */
body.page-product .columns-container,
body.page-product .columns-container.container {
  background: #081013 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.page-product #wrapper {
  background: #081013 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-product .columns-container > .row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-product .product__container {
  padding-top: 28px !important;
}

body.page-product .columns-container::before {
  content: none !important;
  display: none !important;
}

body.page-product .ps-categoryproducts {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #294043;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: 1560px;
  padding: 42px 4% 62px !important;
}

body.page-product .ps-categoryproducts .module-products {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.page-product .ps-categoryproducts .section-title {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin: 0 0 22px !important;
  text-transform: none !important;
}

body.page-product .ps-categoryproducts .products {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.page-product .ps-categoryproducts .product-miniature__inner {
  background: #0b1618 !important;
  border: 1px solid #2d4143 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.page-product .ps-categoryproducts .product-miniature__image-link,
body.page-product .ps-categoryproducts .product-miniature__image-container {
  aspect-ratio: 1.42 / 1;
  background: #0d1517 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block;
  overflow: hidden;
}

body.page-product .ps-categoryproducts .product-miniature__image-link picture {
  display: block;
  height: 100%;
  width: 100%;
}

body.page-product .ps-categoryproducts .product-miniature__image {
  display: block;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  transform: scale(1.16) !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__bottom {
  background: #0b1618 !important;
  padding: 16px 17px 17px !important;
}

body.page-product .ps-categoryproducts .product-miniature__title {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.page-product .ps-categoryproducts .product-miniature__price {
  color: #b7ff00 !important;
  font-family: Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

body.page-product .ps-categoryproducts .product-miniature__actions .btn {
  background: #b7ff00 !important;
  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  color: #081013 !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

@media (max-width: 991px) {
  body.page-product .ps-categoryproducts .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.page-product .ps-categoryproducts .products { grid-template-columns: 1fr !important; }
}

/* One physical desktop canvas for the header, every route, and the footer. */
@media (min-width: 851px) {
  body .velo-site-frame {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 1980px;
    width: 100%;
  }

  body .velo-site-frame > #header,
  body .velo-site-frame > #wrapper,
  body .velo-site-frame > #footer,
  body .velo-site-frame .velo-vision-header,
  body .velo-site-frame .velo-catalog-vision-header,
  body .velo-site-frame .velo-vision-footer,
  body .velo-site-frame .velo-catalog-footer,
  body .velo-site-frame .velo-catalog-demo,
  body .velo-site-frame .velo-vision-confidence,
  body .velo-site-frame .velo-shared-confidence,
  body .velo-site-frame .footer.footer__main.velostrada-footer {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  body .velo-site-frame > #header .header-bottom.velostrada-header,
  body .velo-site-frame .velo-vision-header,
  body .velo-site-frame .velo-catalog-vision-header,
  body .velo-site-frame .velo-vision-footer,
  body .velo-site-frame .velo-catalog-footer,
  body .velo-site-frame > #footer .footer.footer__main.velostrada-footer {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }

  body .velo-brand-rail {
    top: 78px !important;
  }

  body .velo-brand-rail__track {
    padding-top: 24px !important;
  }
}

/* Existing information pages inherit Vision typography and surfaces while their business copy remains untouched. */
body.page-contact .velostrada-rich-layout--contact { background:#081013 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; margin:0 auto !important; max-width:1420px; padding:clamp(32px,5vw,72px) 5% !important; }
body.page-contact .velostrada-rich-layout--contact .page-title-section { color:#f6f6f0 !important; font-family:Arial,sans-serif !important; font-size:clamp(38px,4.2vw,62px) !important; letter-spacing:0 !important; line-height:.98 !important; text-transform:none !important; }
body.page-contact .velostrada-rich-layout--contact .velostrada-eyebrow,
body.page-contact .velostrada-rich-layout--contact .velostrada-contact-quick__item span,
body.page-contact .velostrada-rich-layout--contact .velostrada-contact-card__eyebrow { color:#b7ff00 !important; font-family:Arial,sans-serif !important; letter-spacing:.12em !important; }
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__lead,
body.page-contact .velostrada-rich-layout--contact p,
body.page-contact .velostrada-rich-layout--contact label { color:#c6d1cc !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-contact .velostrada-rich-layout--contact .velostrada-contact-quick__item,
body.page-contact .velostrada-rich-layout--contact .velostrada-contact-card,
body.page-contact .velostrada-rich-layout--contact .contact-form { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; }
body.page-contact .velostrada-rich-layout--contact h2,
body.page-contact .velostrada-rich-layout--contact h3,
body.page-contact .velostrada-rich-layout--contact strong { color:#f4f7f2 !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-contact .velostrada-rich-layout--contact input,
body.page-contact .velostrada-rich-layout--contact select,
body.page-contact .velostrada-rich-layout--contact textarea { background:#101d1f !important; border-color:#3d5153 !important; border-radius:4px !important; color:#f4f7f2 !important; font-family:Arial,sans-serif !important; }
body.page-contact .velostrada-rich-layout--contact .btn-primary { background:#b7ff00 !important; border-color:#b7ff00 !important; border-radius:4px !important; color:#081013 !important; font-family:Arial,sans-serif !important; }

/* Vision page system for CMS, account and checkout screens. It never targets the homepage. */
body.page-cms .velostrada-rich-layout,
body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell,
body.page-cart .cart-grid,
body.page-order .checkout-grid { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; margin-inline:auto; max-width:1420px; padding:clamp(32px,5vw,72px) 5% !important; }
body.page-cms .velostrada-rich-layout__intro { background:transparent !important; border:0 !important; padding:0 0 24px !important; }
body.page-cms .velostrada-rich-layout__intro .page-title-section,
body.page-cart h1,
body.page-order h1,
body.page-authentication .velostrada-auth-shell__title,
body.page-registration .velostrada-auth-shell__title { color:#f6f6f0 !important; font-family:Arial,sans-serif !important; font-size:clamp(36px,4.2vw,62px) !important; letter-spacing:0 !important; line-height:.98 !important; text-transform:none !important; }
body.page-cms .velostrada-eyebrow,
body.page-authentication .velostrada-auth-shell__eyebrow,
body.page-registration .velostrada-auth-shell__eyebrow { color:#b7ff00 !important; font-family:Arial,sans-serif !important; letter-spacing:.12em !important; }
body.page-cms .velostrada-rich-layout__lead,
body.page-cms .velostrada-rich-layout__body,
body.page-cms .velostrada-rich-layout__body *,
body.page-authentication .velostrada-auth-shell *,
body.page-registration .velostrada-auth-shell *,
body.page-cart .cart-grid *,
body.page-order .checkout-grid * { font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-cms .velostrada-rich-layout__media,
body.page-cms .velostrada-rich-layout__body,
body.page-authentication .velostrada-auth-shell__panel,
body.page-authentication .velostrada-auth-shell .login,
body.page-registration .velostrada-auth-shell .register-form,
body.page-cart .cart-grid__content,
body.page-cart .cart-grid__aside-wrapper,
body.page-order .checkout-step,
body.page-order .checkout-grid__content .tab-pane { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; }
body.page-cms .velostrada-rich-layout__media img { filter:brightness(.78) saturate(.8); }
body.page-cms .velostrada-rich-layout__body h2,
body.page-cms .velostrada-rich-layout__body h3,
body.page-cms .velostrada-rich-layout__body h4,
body.page-authentication .velostrada-auth-shell h2,
body.page-registration .velostrada-auth-shell h2,
body.page-cart h2,
body.page-order h2 { color:#f4f7f2 !important; }
body.page-cms .velostrada-rich-layout__body p,
body.page-cms .velostrada-rich-layout__body li,
body.page-authentication .velostrada-auth-shell p,
body.page-registration .velostrada-auth-shell p,
body.page-cart .cart-grid p,
body.page-order .checkout-grid p { color:#c6d1cc !important; }
body.page-authentication input,
body.page-registration input,
body.page-cart input,
body.page-cart select,
body.page-order input,
body.page-order select { background:#101d1f !important; border-color:#3d5153 !important; border-radius:4px !important; color:#f4f7f2 !important; }
body.page-authentication .btn-primary,
body.page-registration .btn-primary,
body.page-cart .btn-primary,
body.page-order .btn-primary { background:#b7ff00 !important; border-color:#b7ff00 !important; border-radius:4px !important; color:#081013 !important; }
body.page-cart .product-miniature .product-miniature__inner,
body.page-order .product-miniature .product-miniature__inner { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; }
body.page-cart .product-miniature__title,
body.page-cart .product-miniature__price,
body.page-order .product-miniature__title,
body.page-order .product-miniature__price { color:#f4f7f2 !important; }
body.page-cart .product-miniature__price,
body.page-order .product-miniature__price { color:#b7ff00 !important; }
body:not(.page-index) .material-icons { font-family:'Material Icons' !important; letter-spacing:normal !important; text-transform:none !important; }
body.page-cart .cart__continue-shopping .material-icons { display:none !important; }

/* Keep the full information architecture visible on every small non-home screen. */
@media(max-width:850px){
  body:not(.page-index) .velostrada-nav--mobile a[href*="regulamin"] { display:inline-flex !important; }
}

/* Search, customer and checkout use the same quiet catalogue surfaces as the other subpages. */
body.page-search,
body.page-my-account,
body.page-identity,
body.page-addresses,
body.page-history,
body.page-order-slip,
body.page-order-return,
body.page-order-detail,
body.page-order-follow,
body.page-guest-tracking { background:#081013 !important; }
body.page-search .page,
body.page-my-account .velostrada-customer-shell,
body.page-identity .velostrada-customer-shell,
body.page-addresses .velostrada-customer-shell,
body.page-history .velostrada-customer-shell,
body.page-order-slip .velostrada-customer-shell,
body.page-order-return .velostrada-customer-shell,
body.page-order-detail .velostrada-customer-shell,
body.page-order-follow .velostrada-customer-shell,
body.page-guest-tracking .velostrada-customer-shell { margin-inline:auto !important; max-width:1420px; padding:clamp(32px,5vw,72px) 5% !important; }
body.page-search .page-title-section,
body.page-my-account .page-title-section,
body.page-identity .page-title-section,
body.page-addresses .page-title-section,
body.page-history .page-title-section,
body.page-order-slip .page-title-section,
body.page-order-return .page-title-section,
body.page-order-detail .page-title-section,
body.page-order-follow .page-title-section,
body.page-guest-tracking .page-title-section { color:#f6f6f0 !important; font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-search .velostrada-catalog,
body.page-search .velostrada-site-search-results,
body.page-my-account .velostrada-customer-shell__content,
body.page-my-account .velostrada-customer-shell__menu,
body.page-identity .velostrada-customer-shell__content,
body.page-addresses .velostrada-customer-shell__content,
body.page-history .velostrada-customer-shell__content,
body.page-order-slip .velostrada-customer-shell__content,
body.page-order-return .velostrada-customer-shell__content,
body.page-order-detail .velostrada-customer-shell__content,
body.page-order-follow .velostrada-customer-shell__content,
body.page-guest-tracking .velostrada-customer-shell__content { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; }
body.page-search .velostrada-catalog,
body.page-search .velostrada-site-search-results,
body.page-my-account .velostrada-customer-shell__content,
body.page-my-account .velostrada-customer-shell__menu,
body.page-identity .velostrada-customer-shell__content,
body.page-addresses .velostrada-customer-shell__content,
body.page-history .velostrada-customer-shell__content,
body.page-order-slip .velostrada-customer-shell__content,
body.page-order-return .velostrada-customer-shell__content,
body.page-order-detail .velostrada-customer-shell__content,
body.page-order-follow .velostrada-customer-shell__content,
body.page-guest-tracking .velostrada-customer-shell__content { padding:clamp(20px,3vw,38px) !important; }
body.page-search .velostrada-catalog *,
body.page-search .velostrada-site-search-results *,
body.page-my-account .velostrada-customer-shell *,
body.page-identity .velostrada-customer-shell *,
body.page-addresses .velostrada-customer-shell *,
body.page-history .velostrada-customer-shell *,
body.page-order-slip .velostrada-customer-shell *,
body.page-order-return .velostrada-customer-shell *,
body.page-order-detail .velostrada-customer-shell *,
body.page-order-follow .velostrada-customer-shell *,
body.page-guest-tracking .velostrada-customer-shell * { font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
/* Customer navigation uses Material Icons; do not inherit the text font above. */
body.page-my-account .velostrada-customer-shell .material-icons,
body.page-identity .velostrada-customer-shell .material-icons,
body.page-addresses .velostrada-customer-shell .material-icons,
body.page-history .velostrada-customer-shell .material-icons,
body.page-order-slip .velostrada-customer-shell .material-icons,
body.page-order-return .velostrada-customer-shell .material-icons,
body.page-order-detail .velostrada-customer-shell .material-icons,
body.page-order-follow .velostrada-customer-shell .material-icons,
body.page-guest-tracking .velostrada-customer-shell .material-icons {
  font-family:'Material Icons' !important;
  font-style:normal !important;
  font-weight:normal !important;
}
body.page-search .velostrada-site-search-results h2,
body.page-search .velostrada-site-search-results strong,
body.page-my-account .velostrada-customer-shell h2,
body.page-my-account .velostrada-customer-shell h3,
body.page-my-account .velostrada-customer-shell strong,
body.page-identity .velostrada-customer-shell h2,
body.page-addresses .velostrada-customer-shell h2,
body.page-history .velostrada-customer-shell h2,
body.page-order-slip .velostrada-customer-shell h2,
body.page-order-return .velostrada-customer-shell h2,
body.page-order-detail .velostrada-customer-shell h2,
body.page-order-follow .velostrada-customer-shell h2,
body.page-guest-tracking .velostrada-customer-shell h2 { color:#f4f7f2 !important; }
body.page-search .velostrada-site-search-results p,
body.page-my-account .velostrada-customer-shell p,
body.page-identity .velostrada-customer-shell p,
body.page-addresses .velostrada-customer-shell p,
body.page-history .velostrada-customer-shell p,
body.page-order-slip .velostrada-customer-shell p,
body.page-order-return .velostrada-customer-shell p,
body.page-order-detail .velostrada-customer-shell p,
body.page-order-follow .velostrada-customer-shell p,
body.page-guest-tracking .velostrada-customer-shell p { color:#c6d1cc !important; }
body.page-search .velostrada-site-search-results__item,
body.page-my-account .account-menu,
body.page-my-account .page-content--customer,
body.page-identity .page-content--customer,
body.page-addresses .page-content--customer,
body.page-history .page-content--customer,
body.page-order-slip .page-content--customer,
body.page-order-return .page-content--customer,
body.page-order-detail .page-content--customer,
body.page-order-follow .page-content--customer,
body.page-guest-tracking .page-content--customer { background:#101d1f !important; border:1px solid #314547 !important; border-radius:4px !important; }
body.page-search .velostrada-site-search-results__item,
body.page-my-account .account-menu a,
body.page-my-account .page-content--customer a,
body.page-identity .page-content--customer a,
body.page-addresses .page-content--customer a,
body.page-history .page-content--customer a,
body.page-order-slip .page-content--customer a,
body.page-order-return .page-content--customer a,
body.page-order-detail .page-content--customer a,
body.page-order-follow .page-content--customer a,
body.page-guest-tracking .page-content--customer a { color:#d7ff6b !important; }

/* The shared footer closes every journey with the same restrained Vision rhythm. */
body:not(.page-index) .velostrada-footer { background:#0a1416 !important; border-top:1px solid #26383a !important; color:#c6d1cc !important; font-family:Arial,sans-serif !important; }
body:not(.page-index) .velostrada-footer .container { max-width:1420px !important; padding:42px 5% 28px !important; }
body:not(.page-index) .velostrada-footer__cta-row { align-items:center; border-bottom:1px solid #26383a; display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px; padding-bottom:28px; }
body:not(.page-index) .velostrada-footer__cta-row .btn { border-radius:4px !important; font-family:Arial,sans-serif !important; font-weight:700 !important; letter-spacing:0 !important; padding:11px 16px !important; text-transform:none !important; }
body:not(.page-index) .velostrada-footer__cta-row .btn-primary { background:#b7ff00 !important; border-color:#b7ff00 !important; color:#081013 !important; }
body:not(.page-index) .velostrada-footer__cta-row .btn-outline-light { border-color:#526062 !important; color:#f6f6f0 !important; }
body:not(.page-index) .velostrada-footer__social-link { color:#d7ff6b !important; font-size:14px !important; margin-left:auto; }
body:not(.page-index) .velostrada-footer__grid { margin-bottom:30px !important; }
body:not(.page-index) .velostrada-footer__grid > div + div { border-left:1px solid #26383a; }
body:not(.page-index) .velostrada-footer__title { color:#f4f7f2 !important; font-family:Arial,sans-serif !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase !important; }
body:not(.page-index) .velostrada-footer__list a,
body:not(.page-index) .velostrada-footer__contact p { color:#c6d1cc !important; font-family:Arial,sans-serif !important; font-size:14px !important; letter-spacing:0 !important; text-transform:none !important; }
body:not(.page-index) .velostrada-footer__contact a { color:#b7ff00 !important; }
body:not(.page-index) .velostrada-footer__finance { align-items:center; border-top:1px solid #26383a; display:flex; flex-wrap:wrap; gap:12px; margin-top:0; padding-top:22px; }
body:not(.page-index) .velostrada-footer__finance span,
body:not(.page-index) .velostrada-footer__bottom p { color:#93a49f !important; font-family:Arial,sans-serif !important; font-size:12px !important; letter-spacing:0 !important; }
body:not(.page-index) .velostrada-footer__finance img { background:#f7f7f2; border-radius:3px; max-height:34px; padding:4px; width:auto; }
body:not(.page-index) .velostrada-footer__bottom { border-top:1px solid #26383a; margin-top:20px; padding-top:18px; }
@media(max-width:850px){
  body:not(.page-index) .velostrada-footer .container { padding:32px 20px 24px !important; }
  body:not(.page-index) .velostrada-footer__social-link { margin-left:0; }
  body:not(.page-index) .velostrada-footer__grid > div + div { border-left:0; border-top:1px solid #26383a; margin-top:18px; padding-top:18px; }
}

/* The catalogue keeps a single clean product photo, including at narrow widths. */
body.page-category .velo-catalog-demo__header { background-image:linear-gradient(90deg,#081113 4%,rgba(8,17,19,.93) 40%,rgba(8,17,19,.26) 100%),url('../img/vision-reference/source/wilier.jpg') !important; }
@media(max-width:850px){
  body.page-category .velo-catalog-vision-header nav { flex-wrap:wrap !important; gap:10px 16px !important; overflow:visible !important; }
  body.page-category .velo-catalog-vision-header nav a { flex:0 0 auto; }
  body.page-category .velo-catalog-demo__header { background-image:linear-gradient(90deg,#081113 0%,rgba(8,17,19,.9) 62%,rgba(8,17,19,.42) 100%),url('../img/vision-reference/source/wilier.jpg') !important; background-position:65% center !important; min-height:310px !important; padding:42px 20px 34px !important; }
  body.page-category .velo-catalog-demo__header h1 { font-size:clamp(39px,11vw,49px) !important; }
}

/* Native search results use the same dark product cards as the catalogue. */
body.page-search .product-miniature__inner { background:#0b1618 !important; border:1px solid #384649 !important; border-radius:5px !important; box-shadow:none !important; height:100%; overflow:hidden; }
body.page-search .product-miniature__image-container { background:#101a1c !important; }
body.page-search .product-miniature__bottom { background:#0b1618 !important; padding:16px !important; }
body.page-search .product-miniature__title { color:#f5f7f4 !important; font-size:16px !important; font-weight:700 !important; line-height:1.22 !important; }
body.page-search .product-miniature__price { color:#b7ff00 !important; font-size:18px !important; font-weight:800 !important; }
body.page-search .product-miniature__quickview-button,
body.page-search .product-miniature__quickview-touch { display:none !important; }

/* A missed route should still look intentional, not like a separate template. */
body.page-pagenotfound { background:#081013 !important; }
body.page-pagenotfound .page { margin-inline:auto; max-width:1420px; padding:clamp(48px,8vw,120px) 5% !important; }
body.page-pagenotfound .page-content { background:#0d191b !important; border:1px solid #2d4042 !important; border-radius:5px !important; box-shadow:none !important; padding:clamp(28px,5vw,64px) !important; }
body.page-pagenotfound .page-content * { font-family:Arial,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-pagenotfound h1,
body.page-pagenotfound h2 { color:#f6f6f0 !important; }
body.page-pagenotfound p { color:#c6d1cc !important; }
body.page-pagenotfound .btn-primary { background:#b7ff00 !important; border-color:#b7ff00 !important; border-radius:4px !important; color:#081013 !important; }
body.page-pagenotfound .btn-primary .material-icons { display:none !important; }

/* Placeholder reassurance copy is admin-facing, never customer-facing. */
body.page-cart .blockreassurance--cart { display:none !important; }
body.page-cart.cart-empty .cart-summary__actions { display:none !important; }
body.page-cart .module-products .section-title { color:#f6f6f0 !important; font-family:Arial,sans-serif !important; font-size:clamp(27px,3vw,42px) !important; font-weight:800 !important; letter-spacing:0 !important; text-transform:none !important; }
body.page-cart .module-products .product-miniature__inner { background:#0b1618 !important; border:1px solid #384649 !important; border-radius:5px !important; box-shadow:none !important; height:100%; overflow:hidden; }
body.page-cart .module-products .product-miniature__image-container { background:#101a1c !important; }
body.page-cart .module-products .product-miniature__bottom { background:#0b1618 !important; padding:16px !important; }
body.page-cart .module-products .product-miniature__title { color:#f5f7f4 !important; font-size:16px !important; font-weight:700 !important; line-height:1.22 !important; }
body.page-cart .module-products .product-miniature__price { color:#b7ff00 !important; font-size:18px !important; font-weight:800 !important; }
body.page-cart .module-products .product-miniature__quickview-button,
body.page-cart .module-products .product-miniature__quickview-touch { display:none !important; }

/* Final subpage reset: functional screens use the catalogue language, not the former demo-shell. */
body.page-cms .velostrada-rich-layout,
body.page-contact .velostrada-rich-layout--contact,
body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell,
body.page-cart .cart-grid {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  overflow: visible !important;
  padding: 54px 0 72px !important;
  position: relative !important;
}

body.page-cms .velostrada-rich-layout::before,
body.page-cms .velostrada-rich-layout::after,
body.page-contact .velostrada-rich-layout--contact::before,
body.page-contact .velostrada-rich-layout--contact::after,
body.page-authentication .velostrada-auth-shell::before,
body.page-authentication .velostrada-auth-shell::after,
body.page-registration .velostrada-auth-shell::before,
body.page-registration .velostrada-auth-shell::after,
body.page-cart .cart-grid::before,
body.page-cart .cart-grid::after { display: none !important; }

body.page-cms .page-content--cms,
body.page-contact .page-content,
body.page-authentication .page-content,
body.page-registration .page-content,
body.page-cart .columns-container,
body.page-cart .columns-container.container,
body.page-cart #content-wrapper,
body.page-cart #center-column {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-cms .velostrada-rich-layout__intro,
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__intro,
body.page-authentication .velostrada-auth-shell__intro,
body.page-registration .velostrada-auth-shell__intro {
  background: transparent !important;
  margin: 0 0 30px !important;
  max-width: 760px !important;
  padding: 0 !important;
  text-align: left !important;
}

body.page-cms .velostrada-rich-layout__intro .page-title-section,
body.page-contact .velostrada-rich-layout--contact .page-title-section,
body.page-authentication .velostrada-auth-shell__title,
body.page-registration .velostrada-auth-shell__title,
body.page-cart .page-title-section {
  color: #f5f7f2 !important;
  font-family: Arial, sans-serif !important;
  font-size: clamp(36px, 4vw, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.02 !important;
  margin: 0 !important;
  text-transform: none !important;
}

body.page-cms .velostrada-rich-layout__lead,
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__lead,
body.page-authentication .velostrada-auth-shell__intro > p:last-child,
body.page-registration .velostrada-auth-shell__intro > p:last-child {
  color: #b8c6c0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 14px 0 0 !important;
  max-width: 680px !important;
}

/* CMS pages: readable columns without empty space or decorative frame. */
body.page-cms .velostrada-rich-layout__body {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-width: 920px !important;
  padding: 0 !important;
}
body.page-cms .velostrada-rich-layout__body > * { max-width: 920px; }
body.page-cms .velostrada-rich-layout__body h2,
body.page-cms .velostrada-rich-layout__body h3,
body.page-cms .velostrada-rich-layout__body h4 { color: #f5f7f2 !important; font-size: 22px !important; line-height: 1.2 !important; margin: 34px 0 12px !important; }
body.page-cms .velostrada-rich-layout__body p,
body.page-cms .velostrada-rich-layout__body li { color: #c4d0ca !important; font-size: 15px !important; line-height: 1.6 !important; }
body.page-cms .velostrada-rich-layout--regulations { max-width: 920px !important; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-rich-layout__body { border-top: 1px solid #2a3b3d !important; padding-top: 8px !important; }
body.page-cms .velostrada-regulations-grid { display: block !important; }
body.page-cms .velostrada-regulations-panel { background: transparent !important; border: 0 !important; border-bottom: 1px solid #2a3b3d !important; border-radius: 0 !important; margin: 0 !important; padding: 26px 0 !important; }

/* Regulations: editorial reading layout between the shared header and footer. */
body.page-cms .velostrada-rich-layout--regulations {
  max-width: none !important;
  padding: 0 0 72px !important;
}
body.page-cms .velostrada-rich-layout--regulations .velostrada-rich-layout__intro {
  border-bottom: 1px solid #2a3b3d !important;
  margin: 0 !important;
  max-width: none !important;
}
.velostrada-regulations-hero {
  align-items: center;
  display: flex;
  gap: 64px;
  margin: 0 auto;
  max-width: 1420px;
  min-height: 320px;
  padding: 54px 0;
}
.velostrada-regulations-hero__copy { max-width: 590px; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-eyebrow { color: #b7ff00 !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .08em !important; margin: 0 0 20px !important; text-transform: uppercase !important; }
body.page-cms .velostrada-rich-layout--regulations .page-title-section { font-size: clamp(44px, 4.3vw, 68px) !important; line-height: .98 !important; }
body.page-cms .velostrada-rich-layout--regulations .page-title-section em { color: #b7ff00; display: block; font-style: normal; }
.velostrada-regulations-hero__document {
  background: #0b1618;
  border: 2px solid #385154;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  margin-left: auto;
  min-height: 190px;
  padding: 38px 58px 28px 48px;
  position: relative;
  width: 220px;
}
.velostrada-regulations-hero__document::before { background: #b7ff00; content: ''; height: 124px; left: 28px; position: absolute; top: 30px; width: 7px; }
.velostrada-regulations-hero__document span { color: #b7ff00; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.velostrada-regulations-hero__document i { background: #718283; display: block; height: 5px; width: 100%; }
.velostrada-regulations-hero__document i:nth-of-type(2) { width: 84%; }
.velostrada-regulations-hero__document i:nth-of-type(3) { width: 92%; }
.velostrada-regulations-hero__document i:nth-of-type(4) { width: 70%; }
.velostrada-regulations-hero__document b { align-items: center; border: 1px solid #385154; border-radius: 50%; color: #b7ff00; display: flex; flex-direction: column; font-size: 46px; height: 122px; justify-content: center; position: absolute; right: -132px; top: -10px; width: 122px; }
.velostrada-regulations-hero__document b small { color: #c4d0ca; font-size: 10px; letter-spacing: .08em; margin-top: 8px; text-transform: uppercase; }
.velostrada-regulations-content { display: contents; }
.velostrada-regulations-aside {
  left: max(24px, calc((100vw - 1420px) / 2));
  position: absolute;
  top: 470px;
  width: 260px;
}
.velostrada-regulations-aside > p { color: #b7ff00; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin: 0 0 16px; text-transform: uppercase; }
.velostrada-regulations-aside nav, .velostrada-regulations-aside > div { background: #0d191b; border: 1px solid #2d4244; border-radius: 7px; }
.velostrada-regulations-aside nav { padding: 12px 20px; }
.velostrada-regulations-aside nav a { align-items: center; border-bottom: 1px solid #2a3b3d; color: #e9efea; display: flex; font-size: 14px; font-weight: 700; gap: 16px; line-height: 1.2; padding: 18px 0; text-decoration: none; }
.velostrada-regulations-aside nav a:last-child { border-bottom: 0; }
.velostrada-regulations-aside nav b { color: #b7ff00; font-size: 13px; min-width: 24px; }
.velostrada-regulations-aside > div { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding: 20px; }
.velostrada-regulations-aside > div strong { color: #f5f7f2; font-size: 14px; }
.velostrada-regulations-aside > div span { color: #94a39d; font-size: 13px; }
.velostrada-regulations-aside > div a { color: #b7ff00; font-size: 13px; font-weight: 700; text-decoration: none; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document {
  background: #0d191b !important;
  border: 1px solid #2d4244 !important;
  border-radius: 7px !important;
  margin: 26px auto 0 !important;
  max-width: 1080px !important;
  padding: 24px 32px !important;
}
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document > section { max-width: none !important; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document h2 { color: #b7ff00 !important; font-size: 13px !important; letter-spacing: .06em !important; margin: 0 0 10px !important; text-transform: uppercase !important; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document h3 { border-top: 1px solid #2a3b3d; color: #f5f7f2 !important; font-size: 19px !important; margin: 20px 0 12px !important; padding-top: 20px; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document li { margin: 6px 0; padding-left: 3px; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document li::marker { color: #b7ff00; }
@media (max-width: 1300px) {
  .velostrada-regulations-hero { max-width: 1120px; }
  .velostrada-regulations-hero__document b { display: none; }
  .velostrada-regulations-aside { left: 5%; width: 220px; }
  body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document { margin-left: calc(5% + 250px) !important; margin-right: 5% !important; }
}
@media (max-width: 850px) {
  .velostrada-regulations-hero { min-height: 0; padding: 44px 5%; }
  .velostrada-regulations-hero__document { display: none; }
  .velostrada-regulations-aside { margin: 30px 5% 0; position: static; width: auto; }
  body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document { margin: 18px 5% 0 !important; padding: 22px !important; }
}

/* Keep the regulation navigation and the document in separate, stable columns. */
body.page-cms .velostrada-rich-layout--regulations {
  display: grid !important;
  gap: 26px 30px;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1080px);
  justify-content: center;
  padding-left: 5% !important;
  padding-right: 5% !important;
}

/* PrestaShop's generic .container adds a second gutter on some routes. */
body.page-cms .columns-container.container,
body.page-contact .columns-container.container,
body.page-authentication .columns-container.container,
body.page-registration .columns-container.container,
body.page-cart .columns-container.container,
body.page-order .columns-container.container,
body.page-product .columns-container.container,
body.page-search .columns-container.container,
body.page-my-account .columns-container.container,
body.page-identity .columns-container.container,
body.page-addresses .columns-container.container,
body.page-history .columns-container.container,
body.page-order-slip .columns-container.container,
body.page-order-return .columns-container.container,
body.page-order-detail .columns-container.container,
body.page-order-follow .columns-container.container,
body.page-guest-tracking .columns-container.container,
body.page-pagenotfound .columns-container.container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* Full-bleed hero bands return to the same viewport edge as the catalogue. */
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__intro,
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__intro {
  margin-left: -5vw !important;
  margin-right: -5vw !important;
}

/* Login: a compact customer screen rather than an admin-style form. */
body.page-authentication .velostrada-auth-shell--login {
  max-width: none !important;
  padding-bottom: 64px !important;
  padding-top: 38px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__intro {
  border-bottom: 1px solid #2a3b3d;
  margin: 0 0 28px !important;
  max-width: none !important;
  padding: 0 0 26px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__title {
  font-size: clamp(40px, 4vw, 58px) !important;
  max-width: 700px;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__content {
  align-items: start;
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: minmax(300px, .78fr) minmax(430px, 1.22fr) !important;
  max-width: none !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel,
body.page-authentication .velostrada-auth-shell--login .login {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: 28px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel-title {
  color: #b7ff00 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  margin: 0 0 12px !important;
  text-transform: uppercase !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #2a3b3d !important;
  border-radius: 0 !important;
  color: #bcc8c2;
  font-size: 14px;
  line-height: 1.5;
  padding: 14px 0 !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li:first-child { padding-top: 0 !important; }
body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits strong { color: #f5f7f2 !important; display: block; font-size: 16px; margin-bottom: 4px; }

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__support {
  border-left: 3px solid #b7ff00;
  padding-left: 16px;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__support a { color: #b7ff00; font-weight: 700; text-decoration: none; }

body.page-authentication .velostrada-auth-shell--login .login { min-height: 0; }
body.page-authentication .velostrada-auth-shell--login .login input { min-height: 48px; }
body.page-authentication .velostrada-auth-shell--login .login .btn-primary { min-height: 46px; padding-inline: 22px; }
body.page-authentication .velostrada-auth-shell--login .login hr { border-color: #2a3b3d; margin: 24px 0; }
body.page-authentication .velostrada-auth-shell--login .login__register-prompt { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
body.page-authentication .velostrada-auth-shell--login .login__register-prompt h2 { font-size: 19px !important; margin: 0 0 8px !important; }

/* Shared partial: action icons are always present on standard subpages. */
body:not(.page-index):not(.page-category) .velostrada-header__account i,
body:not(.page-index):not(.page-category) .velostrada-header__cart i {
  display: inline-block !important;
  font-family: 'Material Icons' !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

@media (max-width: 850px) {
  body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__content { grid-template-columns: 1fr !important; }
  body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel,
  body.page-authentication .velostrada-auth-shell--login .login { padding: 22px !important; }
}

/* Final registration width repair: deliberately last in the stylesheet. */
body.page-registration .velostrada-auth-shell--register {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .velostrada-auth-shell__intro {
  max-width: none !important;
}

body.page-registration .velostrada-auth-shell--register .velostrada-register-layout {
  grid-template-columns: minmax(280px, .62fr) minmax(560px, 1.38fr) !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .register-form {
  box-sizing: border-box !important;
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.page-registration .velostrada-register-layout__image {
  display: block;
  height: 168px;
  margin: 20px 0 0;
  object-fit: cover;
  object-position: center 42%;
  width: 100%;
}

body.page-registration #customer-form > section > :has([id^="field-id_gender"]),
body.page-registration #customer-form > section > :has(#field-email),
body.page-registration #customer-form > section > :has(#field-password),
body.page-registration #customer-form > section > :has(#field-optin),
body.page-registration #customer-form > section > :has(#field-psgdpr),
body.page-registration #customer-form > section > :has(#field-customer_privacy),
body.page-registration #customer-form > section > :has(#field-newsletter) {
  grid-column: 1 / -1 !important;
}

@media (max-width: 850px) {
  body.page-registration .velostrada-auth-shell--register .velostrada-register-layout {
    grid-template-columns: 1fr !important;
  }
}

/* Final registration overrides: kept last so legacy account widths cannot win. */
body.page-registration .velostrada-auth-shell--register {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .velostrada-auth-shell__intro {
  max-width: none !important;
}

body.page-registration .velostrada-auth-shell--register .velostrada-register-layout {
  grid-template-columns: minmax(280px, .62fr) minmax(560px, 1.38fr) !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .register-form {
  box-sizing: border-box !important;
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.page-registration #customer-form > section > :has([id^="field-id_gender"]),
body.page-registration #customer-form > section > :has(#field-email),
body.page-registration #customer-form > section > :has(#field-password),
body.page-registration #customer-form > section > :has(#field-optin),
body.page-registration #customer-form > section > :has(#field-psgdpr),
body.page-registration #customer-form > section > :has(#field-customer_privacy),
body.page-registration #customer-form > section > :has(#field-newsletter) {
  grid-column: 1 / -1 !important;
}

@media (max-width: 850px) {
  body.page-registration .velostrada-auth-shell--register .velostrada-register-layout {
    grid-template-columns: 1fr !important;
  }
}

/* Keep the shared header collision-free when all customer actions are visible. */
@media (min-width: 851px) and (max-width: 1400px) {
  body:not(.page-index):not(.page-category) .velostrada-header__row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__logo {
    grid-column: 2;
    left: auto !important;
    position: static !important;
    transform: none !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__logo .logo {
    max-height: 50px !important;
    max-width: 220px !important;
    width: 220px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__aside {
    grid-column: 3;
    justify-self: end;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__search {
    flex-basis: 260px !important;
    max-width: 260px !important;
    min-width: 260px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__actions { gap: 12px !important; }
}

/* Registration follows the same calm, wide customer-screen pattern as login. */
body.page-registration .velostrada-auth-shell--register {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 38px 5% 64px !important;
}

body.page-registration .velostrada-auth-shell__intro {
  max-width: none !important;
  margin: 0 0 26px !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid #263a3c;
}

body.page-registration .velostrada-auth-shell__title { margin: 4px 0 10px !important; }

body.page-registration .velostrada-register-layout {
  display: grid;
  grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
  gap: 32px;
  align-items: start;
}

body.page-registration .velostrada-register-layout__aside,
body.page-registration .velostrada-auth-shell .register-form {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

body.page-registration .velostrada-register-layout__aside { padding: 28px !important; }
body.page-registration .velostrada-register-layout__eyebrow,
body.page-registration .register-form__eyebrow {
  color: #b7ff00 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  margin: 0 0 9px !important;
  text-transform: uppercase !important;
}

body.page-registration .velostrada-register-layout__aside h2,
body.page-registration .register-form h2 {
  color: #f5f7f2 !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

body.page-registration .velostrada-register-layout__benefits {
  list-style: none;
  margin: 22px 0 !important;
  padding: 0 !important;
}

body.page-registration .velostrada-register-layout__benefits li {
  border-top: 1px solid #263a3c;
  padding: 16px 0 !important;
}

body.page-registration .velostrada-register-layout__benefits li:last-child { border-bottom: 1px solid #263a3c; }
body.page-registration .velostrada-register-layout__benefits strong,
body.page-registration .velostrada-register-layout__benefits span { display: block; }
body.page-registration .velostrada-register-layout__benefits strong { color: #f3f7f2; font-size: 15px; margin-bottom: 5px; }
body.page-registration .velostrada-register-layout__benefits span,
body.page-registration .velostrada-register-layout__login,
body.page-registration .register-form__lead { color: #aebdb8 !important; font-size: 14px !important; line-height: 1.55 !important; }
body.page-registration .velostrada-register-layout__login { margin: 0 !important; }
body.page-registration .velostrada-register-layout__login a { color: #b7ff00 !important; font-weight: 800; }

body.page-registration .velostrada-auth-shell .register-form { padding: 28px !important; }
body.page-registration .register-form__lead { margin: 8px 0 24px !important; }
body.page-registration .register-form hr,
body.page-registration .register-form__login-prompt { display: none !important; }

body.page-registration #customer-form > section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
}

body.page-registration #customer-form .mb-3 { margin-bottom: 18px !important; }
body.page-registration #customer-form > section > :has(#field-id_gender),
body.page-registration #customer-form > section > :has(#field-email),
body.page-registration #customer-form > section > :has(#field-password),
body.page-registration #customer-form > section > :has(#field-optin),
body.page-registration #customer-form > section > :has(#field-psgdpr),
body.page-registration #customer-form > section > :has(#field-customer_privacy),
body.page-registration #customer-form > section > :has(#field-newsletter) { grid-column: 1 / -1; }

body.page-registration #customer-form .form-label { color: #f3f7f2 !important; font-size: 13px !important; font-weight: 700 !important; }
body.page-registration #customer-form .form-text { color: #91a39d !important; font-size: 12px !important; margin-top: 5px !important; }
body.page-registration #customer-form .form-check { padding: 12px 14px 12px 38px !important; background: #101d1f; border: 1px solid #263a3c; border-radius: 4px; }
body.page-registration #customer-form .form-check + .form-check { margin-left: 10px; }
body.page-registration #customer-form .form-check-label { color: #dce5df !important; font-size: 13px !important; line-height: 1.5 !important; }
body.page-registration #customer-form .form-check-label em { color: #98aaa4 !important; display: inline-block; font-size: 12px !important; font-style: normal; margin-top: 6px; }
body.page-registration #customer-form .form-check-input { accent-color: #b7ff00; margin-top: 4px; }
body.page-registration #customer-form .buttons-wrapper { margin-top: 8px !important; }
body.page-registration #customer-form .form-control-submit { min-height: 46px; padding: 0 24px !important; }

@media (max-width: 850px) {
  body.page-registration .velostrada-auth-shell--register { padding: 28px 20px 48px !important; }
  body.page-registration .velostrada-register-layout { grid-template-columns: 1fr; gap: 18px; }
  body.page-registration #customer-form > section { grid-template-columns: 1fr; }
  body.page-registration #customer-form > section > * { grid-column: 1 !important; }
}
body.page-cms .velostrada-rich-layout--regulations .velostrada-rich-layout__intro { grid-column: 1 / -1; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-content { display: block !important; grid-column: 1; }
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-aside {
  left: auto;
  margin: 0;
  position: static;
  top: auto;
  width: auto;
}
body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document {
  grid-column: 2;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0;
}
@media (max-width: 850px) {
  body.page-cms .velostrada-rich-layout--regulations { display: block !important; padding-left: 0 !important; padding-right: 0 !important; }
  body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-aside { margin: 30px 5% 0; }
  body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document { margin: 18px 5% 0 !important; }
}

/* Financing follows the same quiet document language as the regulations page. */
body.page-cms .velostrada-rich-layout--financing {
  background: #081013 !important;
  max-width: none !important;
  padding: 0 5% 72px !important;
}
body.page-cms .velostrada-rich-layout--financing::before,
body.page-cms .velostrada-rich-layout--financing::after,
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__intro::before,
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__intro::after { background: none !important; content: none !important; display: none !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__intro {
  border-bottom: 1px solid #2a3b3d !important;
  margin: 0 -5% 34px !important;
  max-width: none !important;
  padding: 0 !important;
}
.velostrada-financing-hero { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1420px; min-height: 320px; padding: 54px 0; }
.velostrada-financing-hero > div:first-child { max-width: 650px; }
body.page-cms .velostrada-rich-layout--financing .velostrada-eyebrow { color:#b7ff00 !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important; margin:0 0 20px !important; text-transform:uppercase !important; }
body.page-cms .velostrada-rich-layout--financing .page-title-section { font-size:clamp(44px,4.3vw,68px) !important; line-height:.98 !important; }
body.page-cms .velostrada-rich-layout--financing .page-title-section em { color:#b7ff00; display:block; font-style:normal; }
.velostrada-financing-hero__mark { align-items:center; border:2px solid #385154; border-radius:50%; display:flex; flex-direction:column; height:150px; justify-content:center; position:relative; width:150px; }
.velostrada-financing-hero__mark::before { border:1px solid #385154; border-radius:8px; content:''; height:110px; position:absolute; right:110px; top:48px; width:170px; }
.velostrada-financing-hero__mark b { color:#b7ff00; font-size:54px; line-height:1; }
.velostrada-financing-hero__mark span { color:#c4d0ca; font-size:10px; font-weight:700; letter-spacing:.08em; margin-top:9px; text-transform:uppercase; }
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__body { margin:0 auto !important; max-width:1180px !important; padding:0 !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing { display:grid !important; gap:20px !important; max-width:none !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__intro { border-bottom:1px solid #2a3b3d !important; max-width:760px !important; padding:0 0 22px !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__intro > p:first-child { color:#b7ff00 !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__intro h2 { color:#f5f7f2 !important; font-size:clamp(28px,3vw,40px) !important; margin:6px 0 10px !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners { display:grid !important; gap:20px !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; max-width:none !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners article { background:#0d191b !important; border:1px solid #34484a !important; border-left:5px solid #b7ff00 !important; border-radius:6px !important; box-shadow:none !important; min-height:220px; padding:28px !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners img { background:#fff !important; border-radius:3px; max-height:34px !important; object-fit:contain; padding:4px !important; width:auto; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners h3 { color:#f5f7f2 !important; font-size:24px !important; margin:20px 0 10px !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__note { background:#0d191b !important; border:1px solid #34484a !important; border-radius:6px !important; color:#bdc9c3 !important; margin:0 !important; padding:18px 22px !important; }
@media (max-width:850px) {
  body.page-cms .velostrada-rich-layout--financing { padding-left:5% !important; padding-right:5% !important; }
  .velostrada-financing-hero { min-height:0; padding:44px 0; }
  .velostrada-financing-hero__mark { display:none; }
  body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners { grid-template-columns:1fr !important; }
}

/* Contact follows the same functional, editorial hierarchy. */
body.page-contact .velostrada-rich-layout--contact {
  background:#081013 !important;
  max-width:none !important;
  padding:0 5% 72px !important;
}
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__intro { border-bottom:1px solid #2a3b3d !important; margin:0 -5% 34px !important; max-width:none !important; padding:0 !important; }
.velostrada-contact-hero { align-items:center; display:flex; justify-content:space-between; margin:0 auto; max-width:1420px; min-height:300px; padding:54px 0; }
.velostrada-contact-hero > div:first-child { max-width:670px; }
body.page-contact .velostrada-rich-layout--contact .velostrada-eyebrow { color:#b7ff00 !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important; margin:0 0 20px !important; text-transform:uppercase !important; }
body.page-contact .velostrada-rich-layout--contact .page-title-section { font-size:clamp(44px,4.3vw,68px) !important; line-height:.98 !important; }
body.page-contact .velostrada-rich-layout--contact .page-title-section em { color:#b7ff00; display:block; font-style:normal; }
.velostrada-contact-hero__mark { align-items:center; border:2px solid #385154; border-radius:50%; display:flex; flex-direction:column; height:150px; justify-content:center; position:relative; width:150px; }
.velostrada-contact-hero__mark::before { border:1px solid #385154; border-radius:8px; content:''; height:110px; position:absolute; right:110px; top:48px; width:170px; }
.velostrada-contact-hero__mark b { color:#b7ff00; font-size:54px; line-height:1; }
.velostrada-contact-hero__mark span { color:#c4d0ca; font-size:10px; font-weight:700; letter-spacing:.08em; margin-top:9px; text-transform:uppercase; }
body.page-contact .velostrada-contact-quick { display:grid !important; gap:14px !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; margin:0 auto 30px !important; max-width:1420px !important; }
body.page-contact .velostrada-contact-quick__item { background:#0d191b !important; border:1px solid #34484a !important; border-radius:6px !important; min-height:88px; padding:18px !important; }
body.page-contact .velostrada-contact-grid { gap:22px !important; margin:0 auto !important; max-width:1420px; }
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__body > .contact-form,
body.page-contact .velostrada-contact-card { background:#0d191b !important; border:1px solid #34484a !important; border-radius:6px !important; box-shadow:none !important; }
body.page-contact .velostrada-rich-layout--contact .contact-form h1,
body.page-contact .velostrada-rich-layout--contact .contact-form h2 { color:#f5f7f2 !important; font-size:32px !important; line-height:1.08 !important; margin:0 0 22px !important; }
@media (max-width:850px) {
  body.page-contact .velostrada-rich-layout--contact { padding-left:5% !important; padding-right:5% !important; }
  .velostrada-contact-hero { min-height:0; padding:44px 0; }
  .velostrada-contact-hero__mark { display:none; }
  body.page-contact .velostrada-contact-quick { grid-template-columns:1fr !important; }
}

/* Financing stays factual: two partner offers, no fake dashboard illustration. */
body.page-cms .velostrada-rich-layout--financing { max-width: 1080px !important; }
body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__body { max-width: 100% !important; }
body.page-cms .velostrada-financing { gap: 28px !important; max-width: 900px; }
body.page-cms .velostrada-financing__intro { border-bottom: 1px solid #2a3b3d !important; max-width: 720px !important; padding-bottom: 24px !important; }
body.page-cms .velostrada-financing__intro h2 { color: #f5f7f2 !important; font-size: clamp(28px, 3vw, 40px) !important; margin: 6px 0 10px !important; }
body.page-cms .velostrada-financing__partners { gap: 14px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 760px; }
body.page-cms .velostrada-financing__partners article { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; box-shadow: none !important; padding: 22px !important; }
body.page-cms .velostrada-financing__partners img { max-height: 30px !important; padding: 3px !important; }

/* Contact: direct conversation details and form, without a landing-page hero shell. */
body.page-contact .velostrada-rich-layout--contact { max-width: 1180px !important; }

/* A portal, not separate microsites: page interiors share the shop's full-width rhythm. */
body.page-cms .velostrada-rich-layout--financing,
body.page-contact .velostrada-rich-layout--contact {
  max-width: none !important;
  padding-left: 5% !important;
  padding-right: 5% !important;
}

.velostrada-financing-hero,
.velostrada-contact-hero,
.velostrada-regulations-hero {
  max-width: none !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__body,
body.page-cms .velostrada-financing,
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners,
body.page-contact .velostrada-contact-quick,
body.page-contact .velostrada-contact-grid {
  max-width: none !important;
}

body.page-cms .velostrada-rich-layout--regulations {
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

body.page-cms .velostrada-rich-layout--regulations .velostrada-regulations-document {
  max-width: none !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-rich-layout__body,
body.page-contact .velostrada-rich-layout--contact .velostrada-rich-layout__body {
  max-width: none !important;
  width: 100% !important;
}

.velostrada-financing-hero,
.velostrada-contact-hero {
  padding-left: 5% !important;
  padding-right: 5% !important;
}

body.page-contact .velostrada-contact-quick {
  padding-left: 5% !important;
  padding-right: 5% !important;
}

/* Unique photographic context for each information page, always protected by a readable dark overlay. */
.velostrada-contact-hero {
  background:
    linear-gradient(90deg, rgba(8, 16, 19, .97) 0%, rgba(8, 16, 19, .9) 47%, rgba(8, 16, 19, .38) 100%),
    url('../img/velostrada-generated/hero-contact-workshop.png') center / cover no-repeat;
}

.velostrada-regulations-hero {
  background:
    linear-gradient(90deg, rgba(8, 16, 19, .97) 0%, rgba(8, 16, 19, .9) 47%, rgba(8, 16, 19, .35) 100%),
    url('../img/velostrada-generated/hero-regulations-document.png') center / cover no-repeat;
}

.velostrada-financing-hero {
  background:
    linear-gradient(90deg, rgba(8, 16, 19, .97) 0%, rgba(8, 16, 19, .88) 47%, rgba(8, 16, 19, .34) 100%),
    url('../img/velostrada-generated/hero-financing-terminal.png') center / cover no-repeat;
}

.velostrada-regulations-hero__document b {
  display: none !important;
}

/* One portal-wide desktop container: it mirrors the catalogue's 5% gutters. */
body.page-cms .velostrada-rich-layout,
body.page-contact .velostrada-rich-layout--contact,
body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell,
body.page-cart .cart-grid,
body.page-order .checkout-grid,
body.page-product .product__container,
body.page-search .page,
body.page-my-account .velostrada-customer-shell,
body.page-identity .velostrada-customer-shell,
body.page-addresses .velostrada-customer-shell,
body.page-history .velostrada-customer-shell,
body.page-order-slip .velostrada-customer-shell,
body.page-order-return .velostrada-customer-shell,
body.page-order-detail .velostrada-customer-shell,
body.page-order-follow .velostrada-customer-shell,
body.page-guest-tracking .velostrada-customer-shell,
body.page-pagenotfound .page {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell,
body.page-cart .cart-grid,
body.page-order .checkout-grid,
body.page-product .product__container,
body.page-search .page,
body.page-my-account .velostrada-customer-shell,
body.page-identity .velostrada-customer-shell,
body.page-addresses .velostrada-customer-shell,
body.page-history .velostrada-customer-shell,
body.page-order-slip .velostrada-customer-shell,
body.page-order-return .velostrada-customer-shell,
body.page-order-detail .velostrada-customer-shell,
body.page-order-follow .velostrada-customer-shell,
body.page-guest-tracking .velostrada-customer-shell,
body.page-pagenotfound .page {
  padding-left: 5% !important;
  padding-right: 5% !important;
}
body.page-contact .velostrada-contact-quick { justify-content: start !important; margin: 22px 0 0 !important; max-width: none !important; }
body.page-contact .velostrada-contact-quick__item { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; box-shadow: none !important; padding: 16px !important; }
body.page-contact .velostrada-contact-grid { gap: 22px !important; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .75fr) !important; margin: 30px 0 0 !important; }
body.page-contact .velostrada-rich-layout__body > .contact-form,
body.page-contact .velostrada-contact-card { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; box-shadow: none !important; padding: 24px !important; }
body.page-contact .velostrada-contact-card__lines a,
body.page-contact .velostrada-contact-card__hint { background: #101d1f !important; border: 1px solid #263a3c !important; border-radius: 4px !important; }

/* Customer screens keep hierarchy but lose the oversized demo panel. */
body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell { max-width: 980px !important; }
body.page-authentication .velostrada-auth-shell__content { gap: 22px !important; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr) !important; }
body.page-authentication .velostrada-auth-shell__panel,
body.page-authentication .velostrada-auth-shell .login,
body.page-registration .velostrada-auth-shell .register-form { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; box-shadow: none !important; padding: 24px !important; }
body.page-authentication .velostrada-auth-shell__benefits li,
body.page-authentication .login__register-prompt { background: #101d1f !important; border: 1px solid #263a3c !important; border-radius: 4px !important; }

/* Cart and recommendations use the same compact product rhythm as the catalogue. */
body.page-cart .cart-grid { --bs-gutter-x: 24px !important; --bs-gutter-y: 24px !important; }
body.page-cart .cart-grid { display: flex !important; flex-wrap: wrap !important; }
body.page-cart .cart-grid__content,
body.page-cart .cart-grid__aside { align-self: flex-start !important; }
body.page-cart .cart-grid__content,
body.page-cart .cart-grid__aside-wrapper { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; box-shadow: none !important; padding: 24px !important; }
body.page-cart .cart-grid__footer { margin: 36px 0 0 !important; }
body.page-cart .module-products .products { gap: 18px !important; }
body.page-cart .module-products .product-miniature__inner { background: #0d191b !important; border: 1px solid #34484a !important; border-radius: 5px !important; }
body.page-cart .module-products .product-miniature__top,
body.page-cart .module-products .product-miniature__image-container { aspect-ratio: 4 / 3 !important; background: #101a1c !important; overflow: hidden !important; }
body.page-cart .module-products .product-miniature__image-link,
body.page-cart .module-products .product-miniature__image-link picture { background: transparent !important; display: block !important; height: 100% !important; width: 100% !important; }
body.page-cart .module-products .product-miniature__image { display: block !important; height: 100% !important; object-fit: cover !important; width: 100% !important; }
body.page-cart .module-products .product-miniature__image { transform: scale(1.14) !important; }
body.page-cart .module-products .product-miniature__bottom { background: #0d191b !important; padding: 14px !important; }
body.page-cart .module-products .product-miniature__title { font-family: Arial, sans-serif !important; font-size: 14px !important; line-height: 1.2 !important; }
body.page-cart .module-products .product-miniature__add { border-radius: 3px !important; font-family: Arial, sans-serif !important; }
body.page-cart .module-products .product-miniature *,
body.page-cart .module-products .section-title { font-family: Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }
body.page-cart .module-products .product-miniature:has(.product-miniature__details) { display: none !important; }

/* Footer actions were the final leftover from the earlier display font. */
body:not(.page-index) .velostrada-footer__cta-row .btn,
body.page-contact .velostrada-contact-links .btn { font-family: Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }

/* One canonical closing component across every non-catalogue route. */
body.page-index .velo-shared-confidence,
body.page-category:has(.velo-catalog-demo) .velo-shared-confidence { display:none !important; }
body:not(.page-index):not(.page-category) .velo-shared-confidence {
  background: linear-gradient(#061011d8,#061011d8), url('../img/vision-reference/source/wilier.jpg') center 52% / cover !important;
  border-bottom: 1px solid #2b3839 !important;
  color: #f6f6f0;
  margin: 0 !important;
  max-width: none !important;
  padding: 32px 5% !important;
  text-align: center;
}
body:not(.page-index):not(.page-category) .velo-shared-confidence h2 { color:#f6f6f0; font-family:Arial,sans-serif; font-size:31px; letter-spacing:0; line-height:1.05; margin:0; }
body:not(.page-index):not(.page-category) .velo-shared-confidence ul { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; margin:25px auto 0; max-width:none; padding:0; text-align:left; }
body:not(.page-index):not(.page-category) .velo-shared-confidence li { align-items:center; border-left:1px solid rgba(220,230,220,.25); display:flex; gap:14px; padding:0 25px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence li:first-child { border-left:0; }
body:not(.page-index):not(.page-category) .velo-shared-confidence i { align-items:center; border:1px solid #c8d3cb; border-radius:50%; display:inline-flex; flex:0 0 47px; height:47px; justify-content:center; width:47px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence i img { display:block; filter:brightness(0) invert(1); height:22px; width:22px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence span { display:grid; gap:4px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence b { color:#f6f6f0; font-family:Arial,sans-serif; font-size:14px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence small { color:#c4cec6; font-family:Arial,sans-serif; font-size:12px; line-height:1.35; }

body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer {
  background:#0a1416 !important;
  border:0 !important;
  color:#d8dfd9 !important;
  font-family:Arial,sans-serif !important;
  margin:0 !important;
  max-width:none !important;
  padding:38px 5% 20px !important;
}
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid { display:grid; gap:0; grid-template-columns:1.35fr 1fr 1fr 1fr; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid > div { align-content:start; display:grid; gap:8px; padding:0 32px; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid > div + div { border-left:1px solid rgba(220,231,222,.18); }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid > div:first-child { padding-left:0; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid b { color:#f6f6f0; font-family:Arial,sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid a,
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid span { color:#d8dfd9; font-family:Arial,sans-serif; font-size:13px; text-decoration:none; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid a:hover { color:#b8f500; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__brand img { display:block; height:auto; max-width:160px; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__brand p { color:#b9c2ba; font-family:Arial,sans-serif; font-size:13px; margin:4px 0 0; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom { align-items:center; border-top:1px solid rgba(220,231,222,.18); display:flex; flex-wrap:wrap; gap:12px; margin-top:15px; padding:15px 0 0; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom span,
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom small { color:#b9c2ba; font-family:Arial,sans-serif; font-size:12px; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom img { background:#fff; border-radius:3px; display:block; height:30px; object-fit:contain; width:auto; }
body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom small { margin-left:auto; }

/* Vision catalogue and home use the same search affordance as the shared header. */
body.page-category .velo-catalog-vision-header .velo-vision-header__search,
body.page-index .velostrada-concept--vision .velo-vision-header__search {
  align-items:center !important;
  background:#152023 !important;
  border:1px solid #526062 !important;
  border-radius:6px !important;
  color:#aeb6b6 !important;
  display:flex !important;
  font-family:Arial,sans-serif !important;
  font-size:14px !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 16px 0 48px !important;
  position:relative !important;
  text-decoration:none !important;
  width:340px !important;
}
body.page-category .velo-catalog-vision-header .velo-vision-header__search > i,
body.page-index .velostrada-concept--vision .velo-vision-header__search > i {
  color:#f8faf9 !important;
  font-family:'Material Icons' !important;
  font-size:20px !important;
  left:16px !important;
  line-height:1 !important;
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
body.page-category .velo-catalog-vision-header .velo-vision-header__search > span,
body.page-index .velostrada-concept--vision .velo-vision-header__search > span { font:inherit !important; line-height:1 !important; }

@media(max-width:850px){
  body:not(.page-index):not(.page-category) .velo-shared-confidence ul { grid-template-columns:1fr; }
  body:not(.page-index):not(.page-category) .velo-shared-confidence li { border-left:0; border-top:1px solid rgba(220,230,220,.25); padding:16px 0; }
  body:not(.page-index):not(.page-category) .velo-shared-confidence li:first-child { border-top:0; }
  body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid { grid-template-columns:1fr 1fr; }
  body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid > div { padding:0 16px 20px; }
  body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__grid > div:nth-child(odd) { border-left:0; padding-left:0; }
  body:not(.page-index):not(.page-category) .velostrada-footer.velo-vision-footer .velo-vision-footer__bottom small { margin-left:0; width:100%; }
  body.page-category .velo-catalog-vision-header .velo-vision-header__search,
  body.page-index .velostrada-concept--vision .velo-vision-header__search { font-size:0 !important; padding:0 !important; place-content:center !important; width:48px !important; }
  body.page-category .velo-catalog-vision-header .velo-vision-header__search > i,
  body.page-index .velostrada-concept--vision .velo-vision-header__search > i { left:auto !important; position:static !important; transform:none !important; }
}

@media (max-width: 850px) {
  body.page-cms .velostrada-rich-layout,
  body.page-contact .velostrada-rich-layout--contact,
  body.page-authentication .velostrada-auth-shell,
  body.page-registration .velostrada-auth-shell,
  body.page-cart .cart-grid { padding: 34px 20px 48px !important; }
  body.page-contact .velostrada-contact-grid,
  body.page-authentication .velostrada-auth-shell__content,
  body.page-cms .velostrada-financing__partners { grid-template-columns: 1fr !important; }
  body.page-contact .velostrada-contact-quick { grid-template-columns: 1fr !important; }
}

/* Catalogue aligns to the homepage grid: no inset shell, no scale jump after navigation. */
body.page-category:has(.velo-catalog-demo) .columns-container,
body.page-category:has(.velo-catalog-demo) .columns-container.container,
body.page-category:has(.velo-catalog-demo) .columns-container > .row,
body.page-category:has(.velo-catalog-demo) #center-column,
body.page-category:has(.velo-catalog-demo) #content-wrapper,
body.page-category:has(.velo-catalog-demo) .wrapper__content { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; margin:0 !important; max-width:none !important; padding:0 !important; width:100% !important; }
body.page-category:has(.velo-catalog-demo) .columns-container > .row { --bs-gutter-x:0 !important; --bs-gutter-y:0 !important; }
body.page-category:has(.velo-catalog-demo) #header { display:none !important; }
body.page-category:has(.velo-catalog-demo) #wrapper { margin-bottom:-40px !important; margin-top:0 !important; transform:translateY(-40px); }
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo { margin:0 !important; max-width:none !important; padding:0 !important; width:100% !important; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__header { min-height:483px !important; padding:93px 5% 80px !important; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__header > div { max-width:580px !important; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__header h1 { font-size:clamp(54px,4.2vw,68px) !important; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__layout { margin:0 !important; max-width:none !important; padding:34px 5% 78px !important; width:100% !important; }
@media(min-width:1081px){
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__products { gap:18px !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}

/* Trust and closing information belong to the buying context, not the homepage. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence { background:linear-gradient(#061011d8,#061011d8),url('../img/vision-reference/source/wilier.jpg') center 52%/cover; border-bottom:1px solid #2b3839; color:#f6f6f0; margin:0 !important; max-width:none; padding:32px 5%; text-align:center; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence .velo-concept-label { display:none; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence h2 { color:#f6f6f0; font-family:Arial,sans-serif; font-size:31px; letter-spacing:0; line-height:1.05; margin:0; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence ul { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; margin:25px auto 0; max-width:none; padding:0; text-align:left; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence li { align-items:center; border-left:1px solid rgba(220,230,220,.25); display:flex; gap:14px; padding:0 25px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence li:first-child { border-left:0; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence i { align-items:center; border:1px solid #c8d3cb; border-radius:50%; display:inline-flex; flex:0 0 47px; height:47px; justify-content:center; width:47px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence i img { display:block; filter:brightness(0) invert(1); height:22px; width:22px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence span { display:grid; gap:4px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence b { color:#f6f6f0; font-family:Arial,sans-serif; font-size:14px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence small { color:#c4cec6; font-family:Arial,sans-serif; font-size:12px; line-height:1.35; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer { background:#0a1416; color:#d8dfd9; margin:0 !important; max-width:none; padding:38px 5% 20px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer__grid,
body.page-category:has(.velo-catalog-demo) .velo-vision-footer__grid { display:grid; gap:0; grid-template-columns:1.35fr 1fr 1fr 1fr; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid > div { align-content:start; display:grid; gap:8px; padding:0 32px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid > div + div { border-left:1px solid rgba(220,231,222,.18); }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid > div:first-child { padding-left:0; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid b { color:#f6f6f0; font-family:Arial,sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid a,
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid span { color:#d8dfd9; font-family:Arial,sans-serif; font-size:13px; text-decoration:none; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid a:hover { color:#b8f500; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__brand img { display:block; height:auto; max-width:160px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__brand p { color:#b9c2ba; font-family:Arial,sans-serif; font-size:13px; margin:4px 0 0; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid div:last-child a:nth-last-child(2) { color:#b8f500; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom { align-items:center; border-top:1px solid rgba(220,231,222,.18); display:flex; flex-wrap:wrap; gap:12px; margin-top:15px; padding:15px 0 0; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom span,
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom small { color:#b9c2ba; font-family:Arial,sans-serif; font-size:12px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom img { background:#fff; border-radius:3px; display:block; height:30px; object-fit:contain; width:auto; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom small { margin-left:auto; }
@media(max-width:850px){
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence { padding:30px 20px; text-align:left; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence h2 { font-size:26px; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence ul { grid-template-columns:1fr; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence li { border-left:0; border-top:1px solid rgba(220,230,220,.25); padding:16px 0; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence li:first-child { border-top:0; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-footer { padding:30px 20px 20px; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid { grid-template-columns:1fr 1fr; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid > div { padding:0 16px 20px; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__grid > div:nth-child(odd) { border-left:0; padding-left:0; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-footer .velo-vision-footer__bottom small { margin-left:0; width:100%; }
}
@media(max-width:850px){
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__header { min-height:310px !important; padding:42px 20px 34px !important; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__header h1 { font-size:clamp(39px,11vw,49px) !important; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__layout { padding:18px 16px 48px !important; }
}
@media(max-width:850px){
  body:not(.page-index) .velostrada-header { min-height:auto; padding:15px 5% !important; }
  body:not(.page-index) .velostrada-header__row { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; min-height:48px; }
  body:not(.page-index) .velostrada-header__primary { grid-column:2; justify-content:center; }
  body:not(.page-index) .velostrada-header__logo { margin:0 auto; }
  body:not(.page-index) .velostrada-header .navbar-brand .logo { max-height:34px !important; max-width:145px !important; }
  body:not(.page-index) #_mobile_ps_customersignin { grid-column:1; grid-row:1; justify-self:start; }
  body:not(.page-index) #_mobile_ps_shoppingcart { grid-column:3; grid-row:1; justify-self:end; }
  body:not(.page-index) #_mobile_ps_customersignin .header-block__action-btn,
  body:not(.page-index) #_mobile_ps_shoppingcart .header-block__action-btn { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:#f8faf9 !important; min-height:42px; min-width:42px; padding:0 !important; }
  body:not(.page-index) .velostrada-nav--mobile { border-top:1px solid #2b3839; display:flex !important; flex-wrap:nowrap; gap:24px; margin-top:12px; overflow-x:auto; padding-top:12px; scrollbar-width:none; width:100%; }
  body:not(.page-index) .velostrada-nav--mobile::-webkit-scrollbar { display:none; }
  body:not(.page-index) .velostrada-nav--mobile a { flex:0 0 auto; font-size:12px !important; white-space:nowrap; }
  body:not(.page-index) .velostrada-header__search { min-width:42px !important; width:42px; }
  body:not(.page-index) .velostrada-header__search .ps-searchbar__input { font-size:0 !important; padding:0 !important; }
  body.page-cms .velostrada-rich-layout,
  body.page-authentication .velostrada-auth-shell,
  body.page-registration .velostrada-auth-shell,
  body.page-cart .cart-grid,
  body.page-order .checkout-grid { padding:28px 20px 48px !important; }
}
body.page-category .velo-catalog-demo__filters #search-filters { align-items: stretch; display: flex !important; min-width: 100%; }
body.page-category .velo-catalog-demo__filters #search-filters > .facet,
body.page-category .velo-catalog-demo__filters #search-filters > button {
  align-items: flex-start;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #26383a !important;
  color: #f2f6f1 !important;
  display: flex !important;
  flex: 1 0 118px;
  flex-direction: column;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  margin: 0 !important;
  min-height: 94px;
  padding: 14px 17px !important;
  text-align: left;
}
body.page-category .velo-catalog-demo__filters #search-filters > button::after { border-color: #ccff00 !important; margin-left: 7px; }
body.page-category .velo-catalog-demo__filters #search-filters { display: block !important; overflow: hidden; padding: 0 !important; }
body.page-category .velo-catalog-demo__filters #search-filters > .left-block__title,
body.page-category .velo-catalog-demo__filters #search-filters > p {
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}
body.page-category .velo-catalog-demo__filters #search-filters > .accordion {
  display: flex !important;
  height: 94px;
  min-width: max-content;
}
body.page-category .velo-catalog-demo__filters #search-filters .accordion-item {
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #26383a !important;
  display: block !important;
  flex: 0 0 132px;
  margin: 0 !important;
  min-height: 94px;
  padding: 0 !important;
}
body.page-category .velo-catalog-demo__filters #search-filters .accordion-button {
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #f2f6f1 !important;
  display: flex !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  height: 94px;
  justify-content: center;
  padding: 14px 17px !important;
}
body.page-category .velo-catalog-demo__filters #search-filters .accordion-button::after { border-color: #ccff00 !important; margin: 0 0 0 7px !important; }

@media (max-width: 1080px) {
  .velo-catalog-header { gap: 17px; grid-template-columns: 165px 1fr auto; }
  .velo-catalog-header__nav { gap: 15px; }
  .velo-catalog-header__search { width: 185px; }
  .velo-catalog-demo__filters, body.page-category .velo-catalog-demo__filters { grid-template-columns: 165px minmax(210px, .8fr) minmax(350px, 1.6fr) !important; }
}
@media (max-width: 820px) {
  .velo-catalog-header { grid-template-columns: 1fr auto; padding-block: 13px; }
  .velo-catalog-header__nav { display: none; }
  .velo-catalog-header__search { width: 210px; }
  .velo-catalog-demo__header { min-height: 270px; }
  .velo-catalog-demo__filters, body.page-category .velo-catalog-demo__filters { grid-template-columns: 160px 1fr !important; }
  .velo-catalog-demo__facets { border-left: 0; grid-column: 1 / -1; min-height: 85px; }
  .velo-catalog-demo__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .velo-catalog-header { min-height: 62px; padding-inline: 18px; }
  .velo-catalog-header__brand img { max-height: 30px; max-width: 144px; }
  .velo-catalog-header__search { display: none; }
  .velo-catalog-demo__header { background-position: 59% center; min-height: 300px; padding: 48px 20px 38px; }
  .velo-catalog-demo__header h1 { font-size: 44px; }
  .velo-catalog-demo__header p:not(.velo-catalog-demo__eyebrow) { font-size: 14px; max-width: 300px; }
  .velo-catalog-demo__layout, body.page-category .velo-catalog-demo__layout { padding: 18px 16px 48px !important; }
  .velo-catalog-demo__filters, body.page-category .velo-catalog-demo__filters { display: block !important; }
  .velo-catalog-demo__filter-title, .velo-catalog-demo__search { border-bottom: 1px solid #26383a; border-left: 0; min-height: 78px; }
  .velo-catalog-demo__facets { min-height: 83px; }
  .velo-catalog-demo__toolbar { margin-top: 26px; }
  .velo-catalog-demo__toolbar .sort-by-row > span { display: none; }
  .velo-catalog-demo__products { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 16px; }
  .velo-demo-product-card__body { padding: 12px; }
  .velo-demo-product-card__name { font-size: 13px; min-height: 44px; }
  .velo-demo-product-card__bottom { align-items: flex-start; flex-direction: column; gap: 9px; margin-top: 10px; }
  .velo-demo-product-card__price { font-size: 16px; }
}

/* Focus: a product-led storefront, intentionally separate from the Atelier draft. */
body.page-index .velostrada-concept--focus { background:#0b120e; color:#f2f4ed; gap:0!important; max-width:none!important; padding:0 0 6rem!important; }
body.page-index .velostrada-concept--focus .velo-concept-assurances { display:none!important; }
body.page-index .velostrada-concept--focus .velo-focus-hero { min-height:min(735px,calc(100vh - 80px)); overflow:hidden; position:relative; }
body.page-index .velostrada-concept--focus .velo-focus-hero>img { height:100%; inset:0; object-fit:cover; object-position:center; position:absolute; width:100%; }
body.page-index .velostrada-concept--focus .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(5,12,8,.9) 0%,rgba(5,12,8,.46) 54%,rgba(5,12,8,.22)); inset:0; position:absolute; }
body.page-index .velostrada-concept--focus .velo-focus-hero__content { left:max(5vw,calc((100vw - 1420px)/2)); max-width:47rem; position:absolute; top:50%; transform:translateY(-50%); }
body.page-index .velostrada-concept--focus .velo-focus-hero h1 { color:#fff; font-size:clamp(3.35rem,4.35vw,5rem); line-height:.92; margin:.9rem 0 1.4rem; }
body.page-index .velostrada-concept--focus .velo-focus-hero__content>p:not(.velo-concept-label) { color:#d7ded3; font-size:1.08rem; line-height:1.6; max-width:31rem; }
body.page-index .velostrada-concept--focus .velo-concept-label { color:#c8fb63; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
body.page-index .velostrada-concept--focus .velo-focus-button { align-items:center; background:#c8fb63; border-radius:999px; color:#111d13; display:inline-flex; font-size:.9rem; font-weight:800; gap:1.2rem; margin-top:1.7rem; padding:.95rem 1rem .95rem 1.35rem; text-decoration:none; }
body.page-index .velostrada-concept--focus .velo-focus-button span { align-items:center; background:#15331f; border-radius:50%; color:white; display:inline-flex; height:1.5rem; justify-content:center; width:1.5rem; }
body.page-index .velostrada-concept--focus .velo-focus-hero__product { bottom:2.5rem; color:#fff; display:grid; gap:.35rem; position:absolute; right:max(5vw,calc((100vw - 1420px)/2)); text-decoration:none; }
body.page-index .velostrada-concept--focus .velo-focus-hero__product span { color:#c8fb63; font-size:.72rem; font-weight:800; text-transform:uppercase; }
body.page-index .velostrada-concept--focus .velo-focus-hero__product b { font-size:1.2rem; }.velostrada-concept--focus .velo-focus-hero__product strong { font-size:1.1rem; }
body.page-index .velostrada-concept--focus .velo-focus-types, body.page-index .velostrada-concept--focus .velo-focus-products, body.page-index .velostrada-concept--focus .velo-focus-reasons, body.page-index .velostrada-concept--focus .velo-focus-final { margin-inline:auto; max-width:1420px; padding-inline:clamp(1.25rem,4vw,4rem); }
body.page-index .velostrada-concept--focus .velo-focus-types { display:grid; gap:4rem; grid-template-columns:.8fr 1.7fr; padding-block:clamp(5rem,10vw,10rem); }
body.page-index .velostrada-concept--focus h2 { color:#f3f6ee; font-size:clamp(2.3rem,4.2vw,4.5rem); line-height:.98; margin-top:.8rem; }
body.page-index .velostrada-concept--focus .velo-focus-types nav { border-top:1px solid rgba(240,245,235,.25); }.velostrada-concept--focus .velo-focus-types nav a { align-items:center; border-bottom:1px solid rgba(240,245,235,.25); color:#f2f6ee; display:grid; gap:1rem; grid-template-columns:2rem 1fr 1fr 1.5rem; padding:1.4rem 0; text-decoration:none; }.velostrada-concept--focus .velo-focus-types span { color:#c8fb63; font-size:.75rem; font-weight:800; }.velostrada-concept--focus .velo-focus-types b { font-size:1.25rem; }.velostrada-concept--focus .velo-focus-types small { color:#aebbad; font-size:.85rem; }.velostrada-concept--focus .velo-focus-types i { color:#c8fb63; font-style:normal; }
body.page-index .velostrada-concept--focus .velo-focus-products { padding-bottom:clamp(5rem,10vw,10rem); }.velostrada-concept--focus .velo-focus-products header { align-items:end; display:flex; justify-content:space-between; margin-bottom:2.2rem; }.velostrada-concept--focus .velo-focus-products header>a { color:#c8fb63; font-size:.87rem; font-weight:800; text-decoration:none; }.velostrada-concept--focus .velo-focus-products__grid { display:grid; gap:1.5rem; grid-template-columns:repeat(3,1fr); }.velostrada-concept--focus .velo-focus-products__grid>a { color:#f1f5ee; display:grid; text-decoration:none; }.velostrada-concept--focus .velo-focus-products figure { background:#17221a; margin:0 0 1.1rem; overflow:hidden; }.velostrada-concept--focus .velo-focus-products img { aspect-ratio:1.16; display:block; object-fit:cover; transition:transform .35s ease; width:100%; }.velostrada-concept--focus .velo-focus-products a:hover img { transform:scale(1.04); }.velostrada-concept--focus .velo-focus-products p { color:#c8fb63; font-size:.72rem; font-weight:800; letter-spacing:.07em; margin:0 0 .55rem; text-transform:uppercase; }.velostrada-concept--focus .velo-focus-products h3 { font-size:1.45rem; line-height:1.1; }.velostrada-concept--focus .velo-focus-products span { color:#aebbad; font-size:.88rem; margin-top:.45rem; }.velostrada-concept--focus .velo-focus-products strong { font-size:1.05rem; margin-top:1rem; }
body.page-index .velostrada-concept--focus .velo-focus-reasons { border-block:1px solid rgba(240,245,235,.18); display:grid; gap:3rem; grid-template-columns:.8fr 1.7fr; padding-block:2rem; }.velostrada-concept--focus .velo-focus-reasons>p { color:#c8fb63; font-size:.85rem; font-weight:800; margin:0; }.velostrada-concept--focus .velo-focus-reasons>div { display:flex; flex-wrap:wrap; gap:1.3rem 2.4rem; }.velostrada-concept--focus .velo-focus-reasons b { color:#dce6d8; font-size:.86rem; }
body.page-index .velostrada-concept--focus .velo-focus-final { padding-block:clamp(4.5rem,7vw,7rem); text-align:center; }.velostrada-concept--focus .velo-focus-final h2 { margin-inline:auto; max-width:54rem; }.velostrada-concept--focus .velo-focus-final .velo-focus-button { margin-top:2rem; }
body.page-index:has(.velostrada-concept--focus) .velostrada-header { background:#0b120e!important; }
body.page-index:has(.velostrada-concept--focus) #_desktop_ps_customersignin .header-block__action-btn { align-items:center; border:1px solid rgba(240,245,235,.2)!important; border-radius:50%; color:#f2f6ee!important; display:flex; height:42px; justify-content:center; min-width:42px; padding:0!important; }
body.page-index:has(.velostrada-concept--focus) #_desktop_ps_customersignin .header-block__icon { display:inline-block!important; font-family:'Material Icons'!important; }
body.page-index:has(.velostrada-concept--focus) #_desktop_ps_customersignin .header-block__title { display:none!important; }
@media(max-width:800px){ body.page-index .velostrada-concept--focus .velo-focus-types, body.page-index .velostrada-concept--focus .velo-focus-reasons { grid-template-columns:1fr; } body.page-index .velostrada-concept--focus .velo-focus-products__grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ body.page-index .velostrada-concept--focus .velo-focus-hero { min-height:760px; }.velostrada-concept--focus .velo-focus-hero__shade { background:linear-gradient(0deg,rgba(5,12,8,.96),rgba(5,12,8,.18) 90%); }.velostrada-concept--focus .velo-focus-hero__content { bottom:8.4rem; left:1.25rem; right:1.25rem; top:auto; transform:none; }.velostrada-concept--focus .velo-focus-hero h1 { font-size:2.65rem; }.velostrada-concept--focus .velo-focus-hero__content>p:not(.velo-concept-label) { font-size:.92rem; line-height:1.45; }.velostrada-concept--focus .velo-focus-button { margin-top:1.15rem; }.velostrada-concept--focus .velo-focus-hero__product { bottom:1.45rem; left:1.25rem; right:auto; }.velostrada-concept--focus .velo-focus-types { gap:2.5rem; }.velostrada-concept--focus .velo-focus-types nav a { grid-template-columns:1.6rem 1fr 1.2rem; }.velostrada-concept--focus .velo-focus-types small { display:none; }.velostrada-concept--focus .velo-focus-products header { align-items:start; flex-direction:column; gap:1.2rem; }.velostrada-concept--focus .velo-focus-products__grid { grid-template-columns:1fr; }.velostrada-concept--focus .velo-focus-reasons>div { display:grid; gap:1rem; }
  body.page-index:has(.velostrada-concept--focus) .velostrada-nav--mobile { display:flex!important; flex-wrap:nowrap; gap:.3rem; margin-inline:-1rem; overflow-x:auto; padding:0 1rem .8rem; scrollbar-width:none; }
  body.page-index:has(.velostrada-concept--focus) .velostrada-nav--mobile a { flex:0 0 auto; font-size:.7rem!important; padding:.55rem .72rem; white-space:nowrap; }
  body.page-index:has(.velostrada-concept--focus) #_mobile_ps_customersignin .material-icons, body.page-index:has(.velostrada-concept--focus) #_mobile_ps_shoppingcart .material-icons { display:inline-block!important; font-family:'Material Icons'!important; }
}

/* Three deliberately distinct local directions. */
body.page-index .velostrada-concept--studio { background:#d9dfd5!important; color:#102218!important; }
body.page-index .velostrada-concept--studio .velo-focus-hero { background:#163326; min-height:660px; }.velostrada-concept--studio .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(17,41,30,.94),rgba(17,41,30,.2)); }.velostrada-concept--studio .velo-focus-hero__content { max-width:38rem; }.velostrada-concept--studio .velo-focus-hero h1 { color:#f4f5ef; font-size:clamp(3.5rem,5vw,5.7rem); }.velostrada-concept--studio .velo-focus-button { background:#f2f3eb; color:#11251a; }.velostrada-concept--studio .velo-focus-button span { background:#4f7b5a; }.velostrada-concept--studio .velo-focus-types { background:#d9dfd5; padding-top:7rem; }.velostrada-concept--studio h2 { color:#102218; }.velostrada-concept--studio .velo-focus-types nav { border-color:#6a7c6e; }.velostrada-concept--studio .velo-focus-types nav a { border-color:#6a7c6e; color:#102218; }.velostrada-concept--studio .velo-focus-types span,.velostrada-concept--studio .velo-focus-types i,.velostrada-concept--studio .velo-focus-products p { color:#25643a; }.velostrada-concept--studio .velo-focus-types small,.velostrada-concept--studio .velo-focus-products span { color:#4a5d4e; }.velostrada-concept--studio .velo-focus-products { background:#f0f2ec; max-width:none; padding:7rem max(4vw,calc((100vw - 1420px)/2)); }.velostrada-concept--studio .velo-focus-products h2,.velostrada-concept--studio .velo-focus-products h3,.velostrada-concept--studio .velo-focus-products a { color:#102218; }.velostrada-concept--studio .velo-focus-products figure { background:#c8d2c6; }.velostrada-concept--studio .velo-focus-reasons { border-color:#718074; }.velostrada-concept--studio .velo-focus-reasons>p { color:#25643a; }.velostrada-concept--studio .velo-focus-reasons b { color:#163326; }.velostrada-concept--studio .velo-focus-final { background:#163326; color:white; max-width:none; }.velostrada-concept--studio .velo-focus-final h2 { color:white; }

body.page-index .velostrada-concept--signal { background:#070707!important; }.velostrada-concept--signal .velo-focus-hero { min-height:720px; }.velostrada-concept--signal .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.18)); }.velostrada-concept--signal .velo-focus-hero h1 { font-size:clamp(3.8rem,6.1vw,6.7rem); letter-spacing:0; text-transform:uppercase; }.velostrada-concept--signal .velo-concept-label,.velostrada-concept--signal .velo-focus-products p { color:#ff5b2e; }.velostrada-concept--signal .velo-focus-button { background:#ff5b2e; color:#080808; }.velostrada-concept--signal .velo-focus-button span { background:#080808; }.velostrada-concept--signal .velo-focus-types { grid-template-columns:1fr; padding-block:5rem; }.velostrada-concept--signal .velo-focus-types>div h2 { max-width:52rem; }.velostrada-concept--signal .velo-focus-types nav { display:grid; grid-template-columns:repeat(4,1fr); }.velostrada-concept--signal .velo-focus-types nav a { border-right:1px solid rgba(240,245,235,.25); display:grid; grid-template-columns:1fr; min-height:180px; }.velostrada-concept--signal .velo-focus-types nav a:last-child { border-right:0; }.velostrada-concept--signal .velo-focus-types span,.velostrada-concept--signal .velo-focus-types i { color:#ff5b2e; }.velostrada-concept--signal .velo-focus-products { background:#111; max-width:none; padding:6rem max(4vw,calc((100vw - 1420px)/2)); }.velostrada-concept--signal .velo-focus-products__grid { gap:2px; }.velostrada-concept--signal .velo-focus-products__grid>a { background:#1b1b1b; padding:1rem; }.velostrada-concept--signal .velo-focus-products figure { background:#242424; }.velostrada-concept--signal .velo-focus-products h3 { text-transform:uppercase; }.velostrada-concept--signal .velo-focus-reasons { border-color:#3b3b3b; }.velostrada-concept--signal .velo-focus-reasons>p { color:#ff5b2e; }.velostrada-concept--signal .velo-focus-final { background:#ff5b2e; max-width:none; }.velostrada-concept--signal .velo-focus-final h2,.velostrada-concept--signal .velo-focus-final .velo-concept-label { color:#090909; }.velostrada-concept--signal .velo-focus-final .velo-focus-button { background:#090909; color:#fff; }.velostrada-concept--signal .velo-focus-final .velo-focus-button span { background:#ff5b2e; }

body.page-index .velostrada-concept--ledger { background:#101719!important; }.velostrada-concept--ledger .velo-focus-hero { min-height:610px; }.velostrada-concept--ledger .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(16,23,25,.92),rgba(16,23,25,.24)); }.velostrada-concept--ledger .velo-focus-hero h1 { font-size:clamp(3rem,4.7vw,5.4rem); }.velostrada-concept--ledger .velo-concept-label,.velostrada-concept--ledger .velo-focus-products p { color:#e5bb58; }.velostrada-concept--ledger .velo-focus-button { background:#e5bb58; color:#101719; }.velostrada-concept--ledger .velo-focus-button span { background:#101719; }.velostrada-concept--ledger .velo-focus-types { grid-template-columns:1fr; padding-block:4rem; }.velostrada-concept--ledger .velo-focus-types>div { align-items:end; display:flex; justify-content:space-between; }.velostrada-concept--ledger .velo-focus-types>div h2 { font-size:clamp(2rem,3.6vw,3.7rem); }.velostrada-concept--ledger .velo-focus-types nav a { grid-template-columns:2rem 1fr 1fr 1.5rem; }.velostrada-concept--ledger .velo-focus-types span,.velostrada-concept--ledger .velo-focus-types i { color:#e5bb58; }.velostrada-concept--ledger .velo-focus-products { padding-bottom:5rem; }.velostrada-concept--ledger .velo-focus-products__grid { grid-template-columns:repeat(3,1fr); }.velostrada-concept--ledger .velo-focus-products__grid>a { border-top:1px solid #576265; padding-top:1rem; }.velostrada-concept--ledger .velo-focus-products figure { background:#1d292b; }.velostrada-concept--ledger .velo-focus-reasons { background:#172124; border:0; padding:2rem; }.velostrada-concept--ledger .velo-focus-reasons>p { color:#e5bb58; }.velostrada-concept--ledger .velo-focus-final { background:#172124; border-block:1px solid #576265; max-width:none; }.velostrada-concept--ledger .velo-focus-final .velo-concept-label { color:#e5bb58; }

@media(max-width:700px){ .velostrada-concept--signal .velo-focus-types nav { grid-template-columns:1fr 1fr!important; }.velostrada-concept--signal .velo-focus-types nav a { min-height:120px; }.velostrada-concept--studio .velo-focus-products,.velostrada-concept--signal .velo-focus-products { padding-inline:1.25rem!important; }.velostrada-concept--ledger .velo-focus-types>div { align-items:start; display:block; }.velostrada-concept--ledger .velo-focus-products__grid { grid-template-columns:1fr!important; } }

/* The compact header leaves less first-screen height on phones. Keep the product
   callout in its own clear zone instead of letting it collide with the hero copy. */
@media(max-width:600px){
  .velostrada-concept--studio .velo-focus-hero,
  .velostrada-concept--signal .velo-focus-hero,
  .velostrada-concept--ledger .velo-focus-hero { min-height:900px!important; }
  .velostrada-concept--studio .velo-focus-hero__content,
  .velostrada-concept--signal .velo-focus-hero__content,
  .velostrada-concept--ledger .velo-focus-hero__content { bottom:12rem!important; }
  .velostrada-concept--studio .velo-focus-hero h1,
  .velostrada-concept--signal .velo-focus-hero h1,
  .velostrada-concept--ledger .velo-focus-hero h1 { font-size:2.3rem!important; line-height:.98!important; }
  .velostrada-concept--studio .velo-focus-hero__product,
  .velostrada-concept--signal .velo-focus-hero__product,
  .velostrada-concept--ledger .velo-focus-hero__product { bottom:1.65rem!important; }
}

/* Keep the three concepts independent from the Focus cascade. */
body.page-index .velostrada-concept--studio .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(17,41,30,.94),rgba(17,41,30,.2)); }
body.page-index .velostrada-concept--studio .velo-focus-hero h1 { color:#f4f5ef; font-size:clamp(3.5rem,5vw,5.7rem); }
body.page-index .velostrada-concept--studio .velo-focus-button { background:#f2f3eb; color:#11251a; }
body.page-index .velostrada-concept--studio .velo-focus-button span { background:#4f7b5a; }
body.page-index .velostrada-concept--studio .velo-concept-label { color:#78c981; }
body.page-index .velostrada-concept--studio .velo-focus-products p { color:#25643a; }

body.page-index .velostrada-concept--signal .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.18)); }
body.page-index .velostrada-concept--signal .velo-focus-hero h1 { font-size:clamp(3.8rem,6.1vw,6.7rem); text-transform:uppercase; }
body.page-index .velostrada-concept--signal .velo-concept-label,
body.page-index .velostrada-concept--signal .velo-focus-products p,
body.page-index .velostrada-concept--signal .velo-focus-types span,
body.page-index .velostrada-concept--signal .velo-focus-types i,
body.page-index .velostrada-concept--signal .velo-focus-hero__product span { color:#ff5b2e; }
body.page-index .velostrada-concept--signal .velo-focus-button { background:#ff5b2e; color:#080808; }
body.page-index .velostrada-concept--signal .velo-focus-button span { background:#080808; }
body.page-index .velostrada-concept--signal .velo-focus-products { background:#111; max-width:none; padding:6rem max(4vw,calc((100vw - 1420px)/2)); }
body.page-index .velostrada-concept--signal .velo-focus-final { background:#ff5b2e; max-width:none; }
body.page-index .velostrada-concept--signal .velo-focus-final h2,
body.page-index .velostrada-concept--signal .velo-focus-final .velo-concept-label { color:#090909; }

body.page-index .velostrada-concept--ledger .velo-focus-hero__shade { background:linear-gradient(90deg,rgba(16,23,25,.92),rgba(16,23,25,.24)); }
body.page-index .velostrada-concept--ledger .velo-focus-hero h1 { font-size:clamp(3rem,4.7vw,5.4rem); }
body.page-index .velostrada-concept--ledger .velo-concept-label,
body.page-index .velostrada-concept--ledger .velo-focus-products p,
body.page-index .velostrada-concept--ledger .velo-focus-types span,
body.page-index .velostrada-concept--ledger .velo-focus-types i,
body.page-index .velostrada-concept--ledger .velo-focus-hero__product span { color:#e5bb58; }
body.page-index .velostrada-concept--ledger .velo-focus-button { background:#e5bb58; color:#101719; }
body.page-index .velostrada-concept--ledger .velo-focus-button span { background:#101719; }

/* Ledger: a catalogue-first direction, separate from the editorial Focus hero. */
body.page-index .velostrada-concept--ledger { background:#101719!important; padding-bottom:0!important; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero,
body.page-index .velostrada-concept--ledger .velo-ledger-browse,
body.page-index .velostrada-concept--ledger .velo-ledger-stock,
body.page-index .velostrada-concept--ledger .velo-ledger-confidence { margin-inline:auto; max-width:1420px; padding-inline:clamp(1.25rem,4vw,4rem); }
body.page-index .velostrada-concept--ledger .velo-ledger-hero { align-items:stretch; display:grid; grid-template-columns:minmax(0,.94fr) minmax(380px,1.06fr); min-height:620px; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__copy { align-self:center; max-width:37rem; padding:4rem 2rem 4rem 0; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero h1 { color:#f3f0e7; font-size:clamp(3.35rem,5.25vw,5.9rem); line-height:.91; margin:.9rem 0 1.45rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__copy>p:not(.velo-concept-label) { color:#b9c2bd; font-size:1.04rem; line-height:1.55; max-width:31rem; }
body.page-index .velostrada-concept--ledger .velo-concept-label { color:#e5bb58; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
body.page-index .velostrada-concept--ledger .velo-ledger-search { margin-top:2.1rem; max-width:34rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-search label { display:block; font-size:.77rem; font-weight:800; margin-bottom:.55rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-search>div { border:1px solid #516064; display:flex; }
body.page-index .velostrada-concept--ledger .velo-ledger-search input { background:transparent; border:0; color:#f3f0e7; flex:1; font:inherit; min-width:0; outline:0; padding:1rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-search input::placeholder { color:#85918d; }
body.page-index .velostrada-concept--ledger .velo-ledger-search button { background:#e5bb58; border:0; color:#101719; cursor:pointer; font:inherit; font-size:.84rem; font-weight:800; padding:0 1rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-search button span { margin-left:.6rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__links { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin-top:1.25rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__links a { color:#d9dfda; font-size:.82rem; text-decoration:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__links a::before { color:#e5bb58; content:'+'; margin-right:.36rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature { color:#f6f3eb; display:grid; grid-template-rows:minmax(340px,1fr) auto; min-height:620px; text-decoration:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature img { height:100%; object-fit:cover; width:100%; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature>div { border-left:1px solid #485558; border-right:1px solid #485558; border-bottom:1px solid #485558; display:grid; gap:.32rem; padding:1.25rem 1.35rem; position:relative; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature span,
body.page-index .velostrada-concept--ledger .velo-ledger-stock span { color:#e5bb58; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature h2 { color:#f3f0e7; font-size:1.45rem; margin:0; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature p { color:#aeb8b3; font-size:.85rem; margin:.1rem 0; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature strong { font-size:1.1rem; margin-top:.35rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-hero__feature i,
body.page-index .velostrada-concept--ledger .velo-ledger-stock i { align-items:center; border:1px solid #64706d; border-radius:50%; color:#e5bb58; display:flex; font-size:1.1rem; font-style:normal; height:2rem; justify-content:center; position:absolute; right:1.25rem; top:50%; transform:translateY(-50%); width:2rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse { padding-block:clamp(4.5rem,7vw,7rem); }
body.page-index .velostrada-concept--ledger .velo-ledger-browse header,
body.page-index .velostrada-concept--ledger .velo-ledger-stock header { align-items:end; display:flex; justify-content:space-between; margin-bottom:2.4rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse h2,
body.page-index .velostrada-concept--ledger .velo-ledger-stock h2 { color:#f3f0e7; font-size:clamp(2.4rem,4vw,4.25rem); line-height:.98; margin:.75rem 0 0; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse header>a { color:#e5bb58; font-size:.87rem; font-weight:800; text-decoration:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid { border-top:1px solid #4c595b; display:grid; grid-template-columns:repeat(4,1fr); }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid a { border-bottom:1px solid #4c595b; border-right:1px solid #4c595b; color:#eff1eb; display:grid; gap:.7rem; min-height:175px; padding:1.35rem; position:relative; text-decoration:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid a:first-child { border-left:1px solid #4c595b; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid span { color:#e5bb58; font-size:.75rem; font-weight:800; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid b { font-size:1.05rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid strong { color:#9ca9a4; font-size:.86rem; font-weight:500; line-height:1.4; }
body.page-index .velostrada-concept--ledger .velo-ledger-browse__grid i { bottom:1.2rem; color:#e5bb58; font-style:normal; position:absolute; right:1.35rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock { background:#172124; max-width:none; padding:clamp(4.5rem,7vw,7rem) max(4vw,calc((100vw - 1420px)/2)); }
body.page-index .velostrada-concept--ledger .velo-ledger-stock header>p { color:#aab6b0; font-size:.95rem; line-height:1.5; margin:0 0 .4rem; max-width:19rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock__grid { display:grid; gap:1.25rem; grid-template-columns:repeat(3,1fr); }
body.page-index .velostrada-concept--ledger .velo-ledger-stock__grid>a { border-top:1px solid #536164; color:#f2f3ed; padding-top:1rem; position:relative; text-decoration:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock figure { background:#202c2f; margin:0 0 1rem; overflow:hidden; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock img { aspect-ratio:1.18; display:block; object-fit:cover; transition:transform .35s ease; width:100%; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock a:hover img { transform:scale(1.035); }
body.page-index .velostrada-concept--ledger .velo-ledger-stock h3 { color:#f3f0e7; font-size:1.5rem; line-height:1.05; margin:.55rem 0 .35rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock p { color:#aeb8b3; font-size:.9rem; margin:0; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock strong { display:block; font-size:1.05rem; margin-top:1rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-stock i { bottom:.1rem; top:auto; transform:none; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence { align-items:center; display:grid; gap:3rem; grid-template-columns:.85fr 1.7fr; padding-block:3.3rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence>p { color:#e5bb58; font-size:1.1rem; font-weight:700; line-height:1.45; margin:0; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence ul { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); list-style:none; margin:0; padding:0; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence li { border-left:1px solid #576366; display:grid; gap:.35rem; padding-left:1rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence b { color:#f1f3ed; font-size:.92rem; }
body.page-index .velostrada-concept--ledger .velo-ledger-confidence span { color:#9eaaa5; font-size:.8rem; line-height:1.45; }
@media(max-width:800px){ body.page-index .velostrada-concept--ledger .velo-ledger-hero { grid-template-columns:1fr; }.velostrada-concept--ledger .velo-ledger-hero__copy { max-width:none; padding:4rem 0 2.5rem; }.velostrada-concept--ledger .velo-ledger-hero__feature { grid-template-rows:280px auto; min-height:auto; }.velostrada-concept--ledger .velo-ledger-browse__grid { grid-template-columns:1fr 1fr; }.velostrada-concept--ledger .velo-ledger-stock__grid { grid-template-columns:1fr 1fr; }.velostrada-concept--ledger .velo-ledger-confidence { grid-template-columns:1fr; }.velostrada-concept--ledger .velo-ledger-confidence ul { grid-template-columns:repeat(3,1fr); } }
@media(max-width:600px){ body.page-index .velostrada-concept--ledger .velo-ledger-hero { padding-inline:1.25rem; }.velostrada-concept--ledger .velo-ledger-hero__copy { padding-top:3rem; }.velostrada-concept--ledger .velo-ledger-hero h1 { font-size:2.7rem; }.velostrada-concept--ledger .velo-ledger-search>div { display:block; }.velostrada-concept--ledger .velo-ledger-search input { box-sizing:border-box!important; display:block; max-width:none!important; min-width:100%!important; width:100%!important; }.velostrada-concept--ledger .velo-ledger-search button { display:block!important; margin-top:.5rem; padding:.85rem 1rem; position:static!important; transform:none!important; width:100%; }.velostrada-concept--ledger .velo-ledger-hero__feature { grid-template-rows:235px auto; margin-inline:-1.25rem; }.velostrada-concept--ledger .velo-ledger-browse header,.velostrada-concept--ledger .velo-ledger-stock header { align-items:start; flex-direction:column; gap:1rem; }.velostrada-concept--ledger .velo-ledger-browse__grid { grid-template-columns:1fr; }.velostrada-concept--ledger .velo-ledger-browse__grid a { min-height:130px; }.velostrada-concept--ledger .velo-ledger-stock { padding-inline:1.25rem; }.velostrada-concept--ledger .velo-ledger-stock__grid { grid-template-columns:1fr; }.velostrada-concept--ledger .velo-ledger-confidence { padding-block:2.5rem; }.velostrada-concept--ledger .velo-ledger-confidence ul { grid-template-columns:1fr; }.velostrada-concept--ledger .velo-ledger-confidence li { padding-block:.35rem; } }

@media(max-width:600px){
  body.page-index .velostrada-concept--ledger .velo-ledger-search>div { display:block!important; position:relative!important; }
  body.page-index .velostrada-concept--ledger .velo-ledger-search input { padding-right:7.6rem!important; }
  body.page-index .velostrada-concept--ledger .velo-ledger-search button { bottom:0!important; float:none!important; height:100%!important; margin:0!important; padding:.5rem!important; position:absolute!important; right:0!important; top:0!important; width:7rem!important; }
}

/* Vision: a complete, product-forward storefront inspired by the supplied direction. */
body.page-index .velostrada-concept--vision { background:#07100f!important; color:#f5f5ef; max-width:none!important; padding:0!important; }
body.page-index .velostrada-concept--vision .velo-concept-assurances { display:none!important; }
body.page-index .velostrada-concept--vision .velo-vision-shell,
body.page-index .velostrada-concept--vision .velo-vision-categories,
body.page-index .velostrada-concept--vision .velo-vision-stock,
body.page-index .velostrada-concept--vision .velo-vision-confidence { margin-inline:auto; max-width:1420px; padding-inline:clamp(1.25rem,4vw,4rem); }
body.page-index .velostrada-concept--vision .velo-concept-label { color:#b7f92a; font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
body.page-index .velostrada-concept--vision .velo-vision-hero { background:radial-gradient(circle at 69% 45%,rgba(78,99,89,.22),transparent 35%),#07100f; }
body.page-index .velostrada-concept--vision .velo-vision-shell { display:grid; grid-template-columns:.88fr 1.12fr; min-height:560px; }
body.page-index .velostrada-concept--vision .velo-vision-hero__copy { align-self:center; max-width:34rem; padding-block:4.5rem; position:relative; z-index:1; }
body.page-index .velostrada-concept--vision .velo-vision-hero h1 { color:#f7f7f2; font-size:clamp(3.6rem,5.3vw,6rem); line-height:.91; margin:.75rem 0 1rem; }
body.page-index .velostrada-concept--vision .velo-vision-hero h1 em { color:#b7f92a; font-style:normal; }
body.page-index .velostrada-concept--vision .velo-vision-hero__copy>p:not(.velo-concept-label) { color:#c9d0cb; font-size:1.05rem; line-height:1.55; max-width:31rem; }
body.page-index .velostrada-concept--vision .velo-vision-search { border:1px solid #60706a; display:flex; margin-top:1.5rem; max-width:30rem; }
body.page-index .velostrada-concept--vision .velo-vision-search input { background:transparent; border:0; color:#fff; flex:1; font:inherit; min-width:0; outline:0; padding:1rem; }
body.page-index .velostrada-concept--vision .velo-vision-search input::placeholder { color:#89958f; }
body.page-index .velostrada-concept--vision .velo-vision-search button { background:#b7f92a; border:0; color:#0b160e; cursor:pointer; font:inherit; font-size:.85rem; font-weight:800; padding-inline:1.15rem; }
body.page-index .velostrada-concept--vision .velo-vision-search button span { font-size:1.2rem; margin-left:.55rem; }
body.page-index .velostrada-concept--vision .velo-vision-quick { display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:2.6rem; }
body.page-index .velostrada-concept--vision .velo-vision-quick a { align-items:center; color:#e3e9e3; display:inline-flex; font-size:.84rem; gap:.45rem; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-quick i { color:#b7f92a; font-size:1.15rem; font-style:normal; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature { align-self:stretch; color:#fff; display:grid; grid-template-rows:minmax(340px,1fr) auto; margin-left:1rem; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature img { height:100%; object-fit:cover; width:100%; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span { background:linear-gradient(90deg,#0a1714,#111c19); display:grid; gap:.22rem; padding:1.15rem 1.35rem; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature b { font-size:1.1rem; }.velostrada-concept--vision .velo-vision-hero__feature small { color:#b5c0b9; font-size:.8rem; }.velostrada-concept--vision .velo-vision-hero__feature strong { color:#b7f92a; font-size:1.3rem; margin-top:.15rem; }
body.page-index .velostrada-concept--vision .velo-vision-categories { padding-block:2rem 3.2rem; }
body.page-index .velostrada-concept--vision .velo-vision-categories header,
body.page-index .velostrada-concept--vision .velo-vision-stock header { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.25rem; }
body.page-index .velostrada-concept--vision .velo-vision-categories h2 { color:#f5f5f0; font-size:clamp(1.8rem,2.8vw,2.75rem); margin:0; }
body.page-index .velostrada-concept--vision .velo-vision-categories header>a,
body.page-index .velostrada-concept--vision .velo-vision-stock header>a { color:#d8e0d8; font-size:.8rem; text-decoration:none; }.velostrada-concept--vision .velo-vision-categories header>a span,.velostrada-concept--vision .velo-vision-stock header>a span { color:#b7f92a; font-size:1.3rem; margin-left:.4rem; }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid { display:grid; gap:.75rem; grid-template-columns:repeat(3,1fr); }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a { aspect-ratio:1.62; border:1px solid #405049; color:#fff; overflow:hidden; position:relative; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-categories img { filter:brightness(.57) saturate(.8); height:100%; object-fit:cover; transition:transform .35s ease,filter .35s ease; width:100%; }.velostrada-concept--vision .velo-vision-categories a:hover img { filter:brightness(.72) saturate(1); transform:scale(1.05); }
body.page-index .velostrada-concept--vision .velo-vision-categories span { background:linear-gradient(0deg,rgba(0,0,0,.86),transparent); bottom:0; display:grid; gap:.16rem; left:0; padding:1rem; position:absolute; right:0; }.velostrada-concept--vision .velo-vision-categories b { font-size:1.15rem; }.velostrada-concept--vision .velo-vision-categories small { color:#e0e6df; font-size:.78rem; }.velostrada-concept--vision .velo-vision-categories i { bottom:1.05rem; font-size:1.4rem; font-style:normal; position:absolute; right:1rem; }
body.page-index .velostrada-concept--vision .velo-vision-stock { border-top:1px solid #273631; padding-block:3.2rem 3.5rem; }
body.page-index .velostrada-concept--vision .velo-vision-stock h2 { color:#f6f7f2; font-size:clamp(2.25rem,4vw,4.15rem); line-height:.98; margin:.75rem 0 0; }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid>a { background:#0c1a16; border:1px solid #314039; color:#eff3ed; display:grid; grid-template-rows:auto 1fr; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-stock figure { margin:0; overflow:hidden; }.velostrada-concept--vision .velo-vision-stock img { aspect-ratio:1.23; display:block; object-fit:cover; transition:transform .35s ease; width:100%; }.velostrada-concept--vision .velo-vision-stock a:hover img { transform:scale(1.03); }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid> a>div { display:grid; gap:.3rem; padding:1rem; position:relative; }.velostrada-concept--vision .velo-vision-stock span { color:#b7f92a; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.velostrada-concept--vision .velo-vision-stock h3 { font-size:1.36rem; line-height:1.05; margin:.4rem 0 0; }.velostrada-concept--vision .velo-vision-stock p { color:#c0cac2; font-size:.85rem; margin:0; }.velostrada-concept--vision .velo-vision-stock strong { color:#b7f92a; font-size:1.2rem; margin-top:.65rem; }.velostrada-concept--vision .velo-vision-stock i { bottom:1.1rem; color:#b7f92a; font-size:.75rem; font-style:normal; position:absolute; right:1rem; }
body.page-index .velostrada-concept--vision .velo-vision-confidence { background:linear-gradient(90deg,rgba(5,13,11,.85),rgba(5,13,11,.6)),url('../../../img/p/1/8/5/1/1851.jpg') center/cover; border-top:1px solid #2b3a34; max-width:none; padding:3.3rem max(4vw,calc((100vw - 1420px)/2)); text-align:center; }.velostrada-concept--vision .velo-vision-confidence h2 { color:#f7f8f2; font-size:clamp(2rem,3.1vw,3.2rem); line-height:1.02; margin:.7rem 0 2.2rem; }.velostrada-concept--vision .velo-vision-confidence ul { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; margin:0 auto; max-width:1050px; padding:0; text-align:left; }.velostrada-concept--vision .velo-vision-confidence li { align-items:center; border-left:1px solid rgba(220,230,220,.25); display:flex; gap:.9rem; padding:0 1.4rem; }.velostrada-concept--vision .velo-vision-confidence li:first-child { border:0; }.velostrada-concept--vision .velo-vision-confidence i { align-items:center; border:1px solid #c8d3cb; border-radius:50%; display:flex; font-size:1.2rem; font-style:normal; height:2.8rem; justify-content:center; width:2.8rem; }.velostrada-concept--vision .velo-vision-confidence span { display:grid; gap:.22rem; }.velostrada-concept--vision .velo-vision-confidence b { font-size:.9rem; }.velostrada-concept--vision .velo-vision-confidence small { color:#c4cec6; font-size:.75rem; line-height:1.35; }
body.page-index:has(.velostrada-concept--vision) .velostrada-header { background:#0a1513!important; }
body.page-index .velostrada-concept--vision .sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px; }
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_customersignin .header-block__action-btn { align-items:center; border:1px solid rgba(240,245,235,.28)!important; border-radius:50%; color:#f2f6ee!important; display:flex; height:42px; justify-content:center; min-width:42px; padding:0!important; }
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_customersignin .header-block__icon { display:inline-block!important; font-family:'Material Icons'!important; }
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_customersignin .header-block__title { display:none!important; }
@media(max-width:800px){ body.page-index .velostrada-concept--vision .velo-vision-shell { grid-template-columns:1fr; }.velostrada-concept--vision .velo-vision-hero__copy { padding-block:3.5rem 2rem; }.velostrada-concept--vision .velo-vision-hero__feature { grid-template-rows:300px auto; margin:0; }.velostrada-concept--vision .velo-vision-categories__grid { grid-template-columns:1fr 1fr; }.velostrada-concept--vision .velo-vision-stock__grid { grid-template-columns:1fr 1fr; }.velostrada-concept--vision .velo-vision-confidence ul { grid-template-columns:1fr; max-width:30rem; }.velostrada-concept--vision .velo-vision-confidence li { border-left:0; border-top:1px solid rgba(220,230,220,.25); padding:1rem 0; }.velostrada-concept--vision .velo-vision-confidence li:first-child { border-top:0; } }
@media(max-width:600px){ body.page-index .velostrada-concept--vision .velo-vision-hero__copy { padding-block:2.7rem 2rem; }.velostrada-concept--vision .velo-vision-hero h1 { font-size:2.75rem; }.velostrada-concept--vision .velo-vision-search { display:block; position:relative; }.velostrada-concept--vision .velo-vision-search input { box-sizing:border-box!important; display:block; max-width:none!important; min-width:100%!important; padding-right:7.7rem!important; width:100%!important; }.velostrada-concept--vision .velo-vision-search button { bottom:0!important; display:block!important; float:none!important; height:100%!important; padding:.5rem!important; position:absolute!important; right:0!important; top:0!important; transform:none!important; width:7rem!important; }.velostrada-concept--vision .velo-vision-quick { gap:.75rem 1rem; margin-top:1.5rem; }.velostrada-concept--vision .velo-vision-categories header,.velostrada-concept--vision .velo-vision-stock header { align-items:start; flex-direction:column; gap:.8rem; }.velostrada-concept--vision .velo-vision-categories__grid,.velostrada-concept--vision .velo-vision-stock__grid { grid-template-columns:1fr; }.velostrada-concept--vision .velo-vision-categories__grid>a { aspect-ratio:1.8; }.velostrada-concept--vision .velo-vision-confidence { padding-inline:1.25rem; text-align:left; }.velostrada-concept--vision .velo-vision-confidence h2 { text-align:left; } body.page-index:has(.velostrada-concept--vision) #_mobile_ps_customersignin .material-icons,body.page-index:has(.velostrada-concept--vision) #_mobile_ps_shoppingcart .material-icons { display:inline-block!important; font-family:'Material Icons'!important; } body.page-index:has(.velostrada-concept--vision) .velostrada-nav--mobile { display:flex!important; flex-wrap:nowrap; gap:.3rem; margin-inline:-1rem; overflow-x:auto; padding:0 1rem .8rem; scrollbar-width:none; } body.page-index:has(.velostrada-concept--vision) .velostrada-nav--mobile a { flex:0 0 auto; font-size:.7rem!important; padding:.55rem .72rem; white-space:nowrap; } }

/* Tighten Vision to the supplied reference composition: hero, choice, stock, proof. */
@media(min-width:801px){
  body.page-index .velostrada-concept--vision .velo-vision-shell { grid-template-columns:42% 58%; min-height:460px; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__copy { padding-block:2.5rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:clamp(3.3rem,4.7vw,5.2rem); }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature { grid-template-rows:330px auto; }
  body.page-index .velostrada-concept--vision .velo-vision-categories { padding-block:1.55rem 2.1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock { padding-block:2.35rem 2.6rem; }
}
body.page-index .velostrada-concept--vision .velo-vision-categories { border-top:1px solid #314039; }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid { gap:.65rem; }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a { border-radius:5px; }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid>a { border-radius:5px; overflow:hidden; }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid> a>div { min-height:155px; }
body.page-index .velostrada-concept--vision .velo-vision-confidence { padding-block:2.75rem; }

/* The reference uses a wide editorial storefront, not a narrow centred article. */
body.page-index .velostrada-concept--vision .velo-vision-shell,
body.page-index .velostrada-concept--vision .velo-vision-categories,
body.page-index .velostrada-concept--vision .velo-vision-stock {
  max-width:none;
  padding-inline:clamp(1.5rem,4.2vw,5.25rem);
}
@media(min-width:801px){
  body.page-index .velostrada-concept--vision .velo-vision-shell { min-height:430px; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature { margin-left:0; }
}

/* Keep the selected bike as the hero image, with its facts anchored on the photo. */
body.page-index .velostrada-concept--vision .velo-vision-hero__feature {
  display:block;
  min-height:0;
  overflow:hidden;
  position:relative;
}
body.page-index .velostrada-concept--vision .velo-vision-hero__feature img {
  aspect-ratio:1.48;
  display:block;
  height:auto;
  object-fit:cover;
}
body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span {
  background:linear-gradient(90deg,rgba(4,12,10,.84),rgba(4,12,10,.08));
  bottom:0;
  left:0;
  padding:1.3rem 1.45rem;
  position:absolute;
  right:0;
}
body.page-index .velostrada-concept--vision .velo-vision-hero__feature b { font-size:1.22rem; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature strong { font-size:1.38rem; }

/* Palette and fading transitions reconstructed from the supplied Velostrada visual. */
body.page-index .velostrada-concept--vision {
  background:#080f12!important;
  color:#f4f5ef;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-header {
  background:#11191c!important;
  border-bottom:1px solid rgba(211,225,217,.15)!important;
}
body.page-index .velostrada-concept--vision .velo-vision-hero {
  background:
    linear-gradient(180deg,#101a1d 0%,#0a1215 76%,#080f12 100%);
  position:relative;
}
body.page-index .velostrada-concept--vision .velo-vision-hero::after {
  background:linear-gradient(180deg,transparent,rgba(8,15,18,.92) 78%,#080f12);
  bottom:-1px;
  content:"";
  height:34%;
  left:0;
  pointer-events:none;
  position:absolute;
  right:0;
  z-index:0;
}
body.page-index .velostrada-concept--vision .velo-vision-shell { position:relative; z-index:1; }
body.page-index .velostrada-concept--vision .velo-vision-hero h1,
body.page-index .velostrada-concept--vision .velo-vision-categories h2,
body.page-index .velostrada-concept--vision .velo-vision-stock h2,
body.page-index .velostrada-concept--vision .velo-vision-confidence h2 { color:#f6f6f0; }
body.page-index .velostrada-concept--vision .velo-concept-label,
body.page-index .velostrada-concept--vision .velo-vision-hero h1 em,
body.page-index .velostrada-concept--vision .velo-vision-stock span,
body.page-index .velostrada-concept--vision .velo-vision-stock strong,
body.page-index .velostrada-concept--vision .velo-vision-hero__feature strong,
body.page-index .velostrada-concept--vision .velo-vision-quick i { color:#b8f500; }
body.page-index .velostrada-concept--vision .velo-vision-search { border-color:#5e686a; }
body.page-index .velostrada-concept--vision .velo-vision-search button {
  background:#b8f500;
  color:#081013;
}
body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span {
  background:linear-gradient(90deg,rgba(6,12,15,.92),rgba(6,12,15,.4) 55%,transparent);
}
body.page-index .velostrada-concept--vision .velo-vision-categories {
  background:linear-gradient(180deg,#080f12,#0a1215 55%,#080f12);
  border-top:0;
}
body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a,
body.page-index .velostrada-concept--vision .velo-vision-stock__grid>a { border-color:#3e494b; }
body.page-index .velostrada-concept--vision .velo-vision-stock {
  background:#0a1215;
  border-top:1px solid rgba(195,212,205,.12);
}
body.page-index .velostrada-concept--vision .velo-vision-stock__grid>a { background:#101a1d; }
body.page-index .velostrada-concept--vision .velo-vision-confidence {
  background:
    linear-gradient(90deg,rgba(7,14,17,.95),rgba(7,14,17,.76)),
    url('../img/vision-reference/triathlon.jpg') center/cover;
}

/* Header and hero proportions follow the supplied 1:1 reference layout. */
body.page-index:has(.velostrada-concept--vision) .velostrada-header {
  padding:.48rem 0!important;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-header__container {
  max-width:none!important;
  padding-inline:clamp(1.5rem,4.2vw,5.25rem)!important;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-header__row { gap:1.8rem!important; }
body.page-index:has(.velostrada-concept--vision) .velostrada-header .navbar-brand .logo {
  max-height:3.1rem!important;
  max-width:12rem!important;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-nav { gap:1rem!important; }
body.page-index:has(.velostrada-concept--vision) .velostrada-nav a {
  border-radius:0!important;
  font-size:.74rem!important;
  padding:.4rem 0!important;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-header__search {
  flex-basis:13rem!important;
  max-width:14rem!important;
  min-width:13rem!important;
}
body.page-index:has(.velostrada-concept--vision) .velostrada-header__search .ps-searchbar__input { min-height:2.3rem!important; }
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_customersignin .header-block__action-btn {
  border:0!important;
  border-radius:0!important;
  height:2.3rem!important;
  min-width:1.6rem!important;
}
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_shoppingcart .header-block__title,
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_shoppingcart .header-block__badge { display:none!important; }
body.page-index:has(.velostrada-concept--vision) #_desktop_ps_shoppingcart .header-block__icon {
  display:inline-block!important;
  font-family:'Material Icons'!important;
  font-size:1.45rem!important;
}
body.page-index .velostrada-concept--vision .velo-vision-hero h1 {
  font-size:clamp(3.05rem,4.2vw,4.8rem);
  letter-spacing:0;
  white-space:nowrap;
}
@media(min-width:801px){
  body.page-index .velostrada-concept--vision .velo-vision-categories { padding-top:.45rem; }
}
body.page-index:has(.velostrada-concept--vision) .velostrada-footer { display:none!important; }
body.page-index .velostrada-concept--vision .velo-vision-footer {
  background:#0b1417;
  border-top:1px solid rgba(220,231,222,.14);
  color:#edf1eb;
  padding:2.6rem clamp(1.5rem,4.2vw,5.25rem) 0;
}
body.page-index .velostrada-concept--vision .velo-vision-footer__grid {
  display:grid;
  gap:2rem;
  grid-template-columns:1.35fr repeat(3,1fr);
  margin:0 auto;
  max-width:1080px;
}
body.page-index .velostrada-concept--vision .velo-vision-footer__grid>div { display:grid; align-content:start; gap:.48rem; }
body.page-index .velostrada-concept--vision .velo-vision-footer__grid b { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
body.page-index .velostrada-concept--vision .velo-vision-footer__grid a,
body.page-index .velostrada-concept--vision .velo-vision-footer__grid span { color:#d8dfd9; font-size:.82rem; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-footer__grid a:hover { color:#b8f500; }
body.page-index .velostrada-concept--vision .velo-vision-footer__brand img { display:block; height:auto; max-width:10rem; }
body.page-index .velostrada-concept--vision .velo-vision-footer__brand p { color:#b9c2ba; font-size:.78rem; margin:.35rem 0 0; }
body.page-index .velostrada-concept--vision .velo-vision-footer__grid div:last-child a:nth-last-child(2) { color:#b8f500; }
body.page-index .velostrada-concept--vision .velo-vision-footer__bottom {
  align-items:center;
  border-top:1px solid rgba(220,231,222,.14);
  color:#abb6ae;
  display:flex;
  flex-wrap:wrap;
  font-size:.72rem;
  gap:.65rem;
  margin:2.25rem auto 0;
  max-width:1080px;
  padding:1.25rem 0;
}
body.page-index .velostrada-concept--vision .velo-vision-footer__bottom img { background:#fff; border-radius:3px; display:block; height:1.85rem; object-fit:contain; width:auto; }
body.page-index .velostrada-concept--vision .velo-vision-footer__bottom small { margin-left:auto; }
@media(max-width:700px){
  body.page-index .velostrada-concept--vision .velo-vision-footer__grid { grid-template-columns:1fr 1fr; }
  body.page-index .velostrada-concept--vision .velo-vision-footer__bottom small { margin-left:0; width:100%; }
}

/* Exact desktop canvas from the supplied 1024 px reference. */
@media(min-width:1025px){
  body.page-index:has(.velostrada-concept--vision) { background:#080f12!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header,
  body.page-index .velostrada-concept--vision { margin-inline:auto; max-width:1024px; }
  body.page-index .velostrada-concept--vision { display:block!important; gap:0!important; padding:0!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__container {
    box-sizing:border-box;
    padding-inline:44px!important;
    width:1024px;
  }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header { padding:.38rem 0!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__row { gap:1rem!important; min-height:46px; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header .navbar-brand .logo { max-height:2.25rem!important; max-width:10.25rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__primary { gap:.8rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-nav { gap:.8rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-nav a { font-size:.63rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__search { flex-basis:11rem!important; max-width:11rem!important; min-width:11rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__search .ps-searchbar__input { min-height:2rem!important; }

  body.page-index .velostrada-concept--vision .velo-vision-shell {
    box-sizing:border-box;
    grid-template-columns:397px 1fr;
    min-height:392px;
    padding:0 0 0 50px;
    width:1024px;
  }
  body.page-index .velostrada-concept--vision .velo-vision-hero__copy { max-width:none; padding-block:1.2rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:3.5rem; line-height:.94; margin:.5rem 0 .65rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__copy>p:not(.velo-concept-label) { font-size:.86rem; max-width:19rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search { margin-top:.9rem; max-width:22.5rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search input { padding:.78rem .9rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search button { padding:.78rem 1.05rem; }
  body.page-index .velostrada-concept--vision .velo-vision-quick { gap:1.15rem; margin-top:1.55rem; }
  body.page-index .velostrada-concept--vision .velo-vision-quick a { font-size:.72rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature img { aspect-ratio:1.48; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span { padding:.7rem 1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature b { font-size:.92rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature small { font-size:.66rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature strong { font-size:1.1rem; }

  body.page-index .velostrada-concept--vision .velo-vision-categories,
  body.page-index .velostrada-concept--vision .velo-vision-stock {
    box-sizing:border-box;
    margin:0!important;
    padding-inline:39px;
    width:1024px;
  }
  body.page-index .velostrada-concept--vision .velo-vision-hero,
  body.page-index .velostrada-concept--vision .velo-vision-confidence { margin:0!important; }
  body.page-index .velostrada-concept--vision .velo-vision-categories { padding-block:1rem 1.25rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories header { margin-bottom:.7rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories h2 { font-size:1.45rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories__grid { gap:8px; }
  body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a { aspect-ratio:1.52; }
  body.page-index .velostrada-concept--vision .velo-vision-categories span { padding:.7rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories b { font-size:.98rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories small { font-size:.66rem; }

  body.page-index .velostrada-concept--vision .velo-vision-stock { padding-block:1.6rem 1.85rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock header { margin-bottom:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock h2 { font-size:2.2rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock__grid { gap:12px; }
  body.page-index .velostrada-concept--vision .velo-vision-stock img { aspect-ratio:1.34; }
  body.page-index .velostrada-concept--vision .velo-vision-stock__grid> a>div { min-height:132px; padding:.8rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock h3 { font-size:1.02rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock p { font-size:.72rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock strong { font-size:1rem; margin-top:.4rem; }

  body.page-index .velostrada-concept--vision .velo-vision-confidence { box-sizing:border-box; min-height:164px; padding:1.2rem 39px; width:1024px; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence h2 { font-size:1.55rem; margin:.3rem 0 1rem; white-space:nowrap; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence ul { max-width:900px; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence li { padding:0 .85rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence i { height:2.2rem; width:2.2rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence b { font-size:.76rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence small { font-size:.65rem; }

  body.page-index .velostrada-concept--vision .velo-vision-footer { box-sizing:border-box; padding:1.6rem 39px 0; width:1024px; }
  body.page-index .velostrada-concept--vision .velo-vision-footer__grid { gap:1.5rem; }
  body.page-index .velostrada-concept--vision .velo-vision-footer__bottom { margin-top:1.4rem; padding:.85rem 0; }
}

/* The reference is a full-width responsive storefront, never a centred mini canvas. */
@media(min-width:1025px){
  body.page-index:has(.velostrada-concept--vision) .velostrada-header,
  body.page-index .velostrada-concept--vision { margin-inline:0; max-width:none; width:100%; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__container { padding-inline:clamp(2.5rem,4.2vw,5.25rem)!important; width:100%; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header { padding:.65rem 0!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__row { gap:1.2rem!important; min-height:0; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header .navbar-brand .logo { max-height:3.4rem!important; max-width:13rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__primary { gap:1.15rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-nav { gap:1.25rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-nav a { font-size:.74rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__search { flex-basis:13rem!important; max-width:14rem!important; min-width:13rem!important; }
  body.page-index:has(.velostrada-concept--vision) .velostrada-header__search .ps-searchbar__input { min-height:2.3rem!important; }

  body.page-index .velostrada-concept--vision .velo-vision-shell {
    grid-template-columns:42% 58%;
    min-height:460px;
    padding:0 clamp(2.5rem,4.2vw,5.25rem);
    width:100%;
  }
  body.page-index .velostrada-concept--vision .velo-vision-hero__copy { max-width:34rem; padding-block:2.5rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:clamp(3.35rem,4.7vw,5.2rem); line-height:.91; margin:.75rem 0 1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__copy>p:not(.velo-concept-label) { font-size:1.05rem; max-width:31rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search { margin-top:1.5rem; max-width:30rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search input { padding:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-search button { padding:1rem 1.3rem; }
  body.page-index .velostrada-concept--vision .velo-vision-quick { gap:1.25rem; margin-top:2rem; }
  body.page-index .velostrada-concept--vision .velo-vision-quick a { font-size:.84rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature img { aspect-ratio:1.48; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span { padding:1.15rem 1.35rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature b { font-size:1.1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature small { font-size:.8rem; }
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature strong { font-size:1.3rem; }

  body.page-index .velostrada-concept--vision .velo-vision-categories,
  body.page-index .velostrada-concept--vision .velo-vision-stock { padding-inline:clamp(2.5rem,4.2vw,5.25rem); width:100%; }
  body.page-index .velostrada-concept--vision .velo-vision-categories { padding-block:1.3rem 2rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories header { margin-bottom:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories h2 { font-size:clamp(1.8rem,2.8vw,2.75rem); }
  body.page-index .velostrada-concept--vision .velo-vision-categories__grid { gap:.65rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a { aspect-ratio:1.62; }
  body.page-index .velostrada-concept--vision .velo-vision-categories span { padding:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories b { font-size:1.15rem; }
  body.page-index .velostrada-concept--vision .velo-vision-categories small { font-size:.78rem; }

  body.page-index .velostrada-concept--vision .velo-vision-stock { padding-block:2.3rem 2.6rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock header { margin-bottom:1.25rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock h2 { font-size:clamp(2.25rem,4vw,4.15rem); }
  body.page-index .velostrada-concept--vision .velo-vision-stock__grid { gap:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock img { aspect-ratio:1.23; }
  body.page-index .velostrada-concept--vision .velo-vision-stock__grid> a>div { min-height:155px; padding:1rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock h3 { font-size:1.36rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock p { font-size:.85rem; }
  body.page-index .velostrada-concept--vision .velo-vision-stock strong { font-size:1.2rem; margin-top:.65rem; }

  body.page-index .velostrada-concept--vision .velo-vision-confidence { min-height:0; padding:2.75rem max(4vw,calc((100vw - 1420px)/2)); width:100%; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence h2 { font-size:clamp(2rem,3.1vw,3.2rem); margin:.7rem 0 2.2rem; white-space:normal; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence ul { max-width:1050px; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence li { padding:0 1.4rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence i { height:2.8rem; width:2.8rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence b { font-size:.9rem; }
  body.page-index .velostrada-concept--vision .velo-vision-confidence small { font-size:.75rem; }

  body.page-index .velostrada-concept--vision .velo-vision-footer { padding:2.6rem clamp(2.5rem,4.2vw,5.25rem) 0; width:100%; }
  body.page-index .velostrada-concept--vision .velo-vision-footer__bottom { margin-top:2.25rem; padding:1.25rem 0; }
}

/* Vision mirrors the local reference storefront with real page elements and links. */
body.page-index:has(.velostrada-concept--vision) .velostrada-header,
body.page-index:has(.velostrada-concept--vision) .velostrada-footer { display:none!important; }
body.page-index:has(.velostrada-concept--vision),
body.page-index .velostrada-concept--vision { background:#081113!important; }
body.page-index .velostrada-concept--vision { display:block!important; margin:0!important; max-width:none!important; padding:0!important; width:100%!important; }
body.page-index .velostrada-concept--vision * { box-sizing:border-box; }
body.page-index .velostrada-concept--vision .velo-vision-skip { background:#b7ff00; color:#071113; left:10px; padding:12px; position:fixed; top:-100px; z-index:30; }
body.page-index .velostrada-concept--vision .velo-vision-skip:focus { top:10px; }
body.page-index .velostrada-concept--vision .velo-vision-header { align-items:center; background:#0b1416; border-bottom:1px solid #2b3839; display:flex; gap:38px; height:78px; padding:0 5%; }
body.page-index .velostrada-concept--vision .velo-vision-brand { align-items:center; display:flex; flex:0 0 auto; }
body.page-index .velostrada-concept--vision .velo-vision-brand img { display:block; height:auto; max-height:48px; width:190px; }
body.page-index .velostrada-concept--vision .velo-vision-header nav { display:flex; gap:33px; margin:0 0 0 15px; }
body.page-index .velostrada-concept--vision .velo-vision-header nav a { color:#f8faf9; font-size:13px; text-decoration:none; white-space:nowrap; }
body.page-index .velostrada-concept--vision .velo-vision-header nav a:hover,
body.page-index .velostrada-concept--vision .velo-vision-header nav a:focus-visible { color:#b7ff00; }
body.page-index .velostrada-concept--vision .velo-vision-header__tools { align-items:center; display:flex; gap:15px; margin-left:auto; }
body.page-index .velostrada-concept--vision .velo-vision-header__search { align-items:center; background:#152023; border:1px solid #526062; border-radius:6px; color:#aeb6b6; display:flex; font-size:13px; gap:8px; min-height:42px; padding:0 14px; text-decoration:none; width:244px; }
body.page-index .velostrada-concept--vision .velo-vision-header__search span { color:#f8faf9; font-size:20px; line-height:1; }
body.page-index .velostrada-concept--vision .velo-vision-header__cart { color:#f8faf9; font-size:28px; line-height:1; padding:5px; position:relative; text-decoration:none; }
body.page-index .velostrada-concept--vision .velo-vision-header__cart b { background:#b7ff00; border-radius:50%; color:#071113; display:grid; font-size:10px; height:16px; place-items:center; position:absolute; right:-2px; bottom:1px; width:16px; }
body.page-index .velostrada-concept--vision .velo-vision-quick img { display:block; filter:brightness(0) saturate(100%) invert(83%) sepia(88%) saturate(1043%) hue-rotate(35deg) brightness(105%) contrast(104%); height:17px; object-fit:contain; width:17px; }
body.page-index .velostrada-concept--vision .velo-vision-hero { background:radial-gradient(circle at 75% 0,#263134,#071113 62%); border-bottom:1px solid #2b3839; height:485px; margin:0!important; max-width:none!important; overflow:hidden; padding:0!important; }
body.page-index .velostrada-concept--vision .velo-vision-shell { display:grid; grid-template-columns:45% 55%; height:100%; margin:0!important; max-width:none!important; padding:0!important; width:100%!important; }
body.page-index .velostrada-concept--vision .velo-vision-hero__copy { max-width:none!important; padding:45px 0 30px 11%!important; }
body.page-index .velostrada-concept--vision .velo-concept-label { color:#b7ff00!important; font-size:11px!important; letter-spacing:2px!important; margin:0 0 16px!important; }
body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:59px!important; letter-spacing:-3px!important; line-height:.99!important; margin:0 0 16px!important; }
body.page-index .velostrada-concept--vision .velo-vision-hero__copy>p:not(.velo-concept-label) { color:#d1d7d7!important; font-size:15px!important; line-height:1.45!important; margin:0 0 20px!important; max-width:none!important; }
body.page-index .velostrada-concept--vision .velo-vision-search { border:1px solid #697577!important; border-radius:5px!important; height:47px!important; margin:0!important; max-width:none!important; width:min(405px,95%)!important; }
body.page-index .velostrada-concept--vision .velo-vision-search input { font-size:13px!important; padding:0 15px!important; }
body.page-index .velostrada-concept--vision .velo-vision-search button { background:#b7ff00!important; color:#071113!important; font-size:13px!important; padding:0!important; width:105px!important; }
body.page-index .velostrada-concept--vision .velo-vision-quick { gap:27px!important; margin-top:39px!important; }
body.page-index .velostrada-concept--vision .velo-vision-quick a { font-size:12px!important; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature { display:block!important; margin:0!important; overflow:hidden; position:relative; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature::before { background:linear-gradient(90deg,#081113cc 0%,transparent 20%),linear-gradient(0deg,#081113 0%,transparent 26%); content:""; inset:0; position:absolute; z-index:1; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature img { display:block; filter:contrast(1.07) brightness(.9); height:100%!important; object-position:center 48%; width:100%!important; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature>span { background:none!important; bottom:29px; display:flex!important; flex-direction:column; gap:3px!important; padding:0!important; position:absolute; right:7%; z-index:2; }
body.page-index .velostrada-concept--vision .velo-vision-hero__feature b { font-size:16px!important; }.velostrada-concept--vision .velo-vision-hero__feature small { font-size:12px!important; }.velostrada-concept--vision .velo-vision-hero__feature strong { color:#b7ff00!important; font-size:20px!important; margin-top:5px!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories,
body.page-index .velostrada-concept--vision .velo-vision-stock { border-bottom:1px solid #2b3839; border-top:0!important; margin:0!important; max-width:none!important; padding:25px 4% 34px!important; width:100%!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories header,
body.page-index .velostrada-concept--vision .velo-vision-stock header { margin-bottom:17px!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories h2 { font-size:27px!important; letter-spacing:-1.5px!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories header>a,
body.page-index .velostrada-concept--vision .velo-vision-stock header>a { font-size:12px!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid { gap:10px!important; }
body.page-index .velostrada-concept--vision .velo-vision-categories__grid>a { aspect-ratio:auto!important; border-color:#506061!important; border-radius:5px!important; height:154px; }
body.page-index .velostrada-concept--vision .velo-vision-categories img { filter:brightness(.7) saturate(.8)!important; }.velostrada-concept--vision .velo-vision-categories span { padding:16px!important; }.velostrada-concept--vision .velo-vision-categories b { font-size:18px!important; }.velostrada-concept--vision .velo-vision-categories small { font-size:12px!important; }.velostrada-concept--vision .velo-vision-categories i { bottom:17px!important; font-size:27px!important; right:16px!important; }
body.page-index .velostrada-concept--vision .velo-vision-stock { padding-top:32px!important; }.velostrada-concept--vision .velo-vision-stock h2 { font-size:38px!important; letter-spacing:-1.5px; line-height:1!important; margin:0!important; }
body.page-index .velostrada-concept--vision .velo-vision-stock__grid { gap:15px!important; }.velostrada-concept--vision .velo-vision-stock__grid>a { background:#0d181a!important; border-color:#334243!important; border-radius:5px!important; }.velostrada-concept--vision .velo-vision-stock img { aspect-ratio:auto!important; height:234px; }.velostrada-concept--vision .velo-vision-stock__grid>a>div { min-height:0!important; padding:14px 15px 15px!important; }.velostrada-concept--vision .velo-vision-stock h3 { font-size:21px!important; margin:0 0 8px!important; }.velostrada-concept--vision .velo-vision-stock p { font-size:13px!important; }.velostrada-concept--vision .velo-vision-stock strong { font-size:21px!important; margin-top:14px!important; }.velostrada-concept--vision .velo-vision-stock i { bottom:15px!important; font-size:12px!important; right:15px!important; }
body.page-index .velostrada-concept--vision .velo-vision-confidence { background:linear-gradient(#061011d8,#061011d8),url('../img/vision-reference/source/wilier.jpg') center 52%/cover!important; border:0!important; border-bottom:1px solid #2b3839!important; margin:0!important; max-width:none!important; min-height:0!important; padding:32px 4%!important; width:100%!important; }.velostrada-concept--vision .velo-vision-confidence h2 { font-size:31px!important; margin:0!important; }.velostrada-concept--vision .velo-vision-confidence .velo-concept-label { display:none; }.velostrada-concept--vision .velo-vision-confidence ul { margin-top:25px!important; max-width:none!important; }.velostrada-concept--vision .velo-vision-confidence li { padding:0 25px!important; }.velostrada-concept--vision .velo-vision-confidence i { align-items:center; display:inline-flex!important; font-family:'Material Icons'!important; font-size:24px!important; height:47px!important; justify-content:center; line-height:1!important; width:47px!important; }

body.page-index .velostrada-concept--vision .velo-vision-confidence ul { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
body.page-index .velostrada-concept--vision .velo-vision-confidence li { padding:0 14px!important; }
@media (max-width:900px) {
  body.page-index .velostrada-concept--vision .velo-vision-confidence ul { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:600px) {
  body.page-index .velostrada-concept--vision .velo-vision-confidence ul { grid-template-columns:1fr!important; }
}
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence ul { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence li { gap:10px; padding:0 12px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence b { font-size:13px; }
body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence small { font-size:11px; }
@media (max-width:900px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-confidence ul { grid-template-columns:1fr; }
}

/* The shared footer carries the same four trust points as the homepage. */
body:not(.page-index):not(.page-category) .velo-shared-confidence ul { grid-template-columns:repeat(4,minmax(0,1fr)); }
body:not(.page-index):not(.page-category) .velo-shared-confidence li { gap:10px; padding:0 12px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence b { font-size:13px; }
body:not(.page-index):not(.page-category) .velo-shared-confidence small { font-size:11px; }
@media (max-width:900px) {
  body:not(.page-index):not(.page-category) .velo-shared-confidence ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  body:not(.page-index):not(.page-category) .velo-shared-confidence ul { grid-template-columns:1fr; }
}
body.page-index .velostrada-concept--vision .velo-vision-confidence i img { display:block; filter:brightness(0) invert(1); height:22px; width:22px; }
body.page-index .velostrada-concept--vision .velo-vision-footer { background:#0a1416!important; border:0!important; margin:0!important; max-width:none!important; padding:38px 5% 20px!important; width:100%!important; }.velostrada-concept--vision .velo-vision-footer__grid { gap:0!important; max-width:none!important; }.velostrada-concept--vision .velo-vision-footer__grid>div { padding:0 2rem; }.velostrada-concept--vision .velo-vision-footer__grid>div+div { border-left:1px solid rgba(220,231,222,.18); }.velostrada-concept--vision .velo-vision-footer__grid>div:first-child { padding-left:0; }.velostrada-concept--vision .velo-vision-footer__bottom { margin-top:15px!important; max-width:none!important; }
@media(max-width:850px){ body.page-index .velostrada-concept--vision .velo-vision-header { flex-wrap:wrap; gap:15px; height:auto; padding:15px 5%; } body.page-index .velostrada-concept--vision .velo-vision-header nav { border-top:1px solid #2b3839; gap:16px; margin:0; order:3; overflow:auto; padding-top:12px; width:100%; } body.page-index .velostrada-concept--vision .velo-vision-header nav a { font-size:12px; } body.page-index .velostrada-concept--vision .velo-vision-header__search { width:auto; } body.page-index .velostrada-concept--vision .velo-vision-header__search:not(span) { font-size:0; } body.page-index .velostrada-concept--vision .velo-vision-hero { height:auto; } body.page-index .velostrada-concept--vision .velo-vision-shell { grid-template-columns:1fr; } body.page-index .velostrada-concept--vision .velo-vision-hero__copy { padding:40px 5%!important; } body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:47px!important; } body.page-index .velostrada-concept--vision .velo-vision-hero__feature { height:320px; } body.page-index .velostrada-concept--vision .velo-vision-quick { gap:16px!important; margin-top:26px!important; } body.page-index .velostrada-concept--vision .velo-vision-categories__grid { grid-template-columns:1fr 1fr; } body.page-index .velostrada-concept--vision .velo-vision-stock__grid { grid-template-columns:1fr 1fr; } }
@media(max-width:850px){ body.page-index .velostrada-concept--vision .velo-vision-header__search { font-size:0; min-height:38px; padding:0; place-content:center; width:42px; } body.page-index .velostrada-concept--vision .velo-vision-header__search span { margin:0; } body.page-index .velostrada-concept--vision .velo-vision-footer__grid>div { padding:0 1rem; } }
@media(max-width:700px){ body.page-index .velostrada-concept--vision .velo-vision-footer__grid>div { padding:0; } body.page-index .velostrada-concept--vision .velo-vision-footer__grid>div+div { border-left:0; border-top:1px solid rgba(220,231,222,.18); padding-top:1.25rem; } }
@media(max-width:520px){ body.page-index .velostrada-concept--vision .velo-vision-brand img { max-width:145px; } body.page-index .velostrada-concept--vision .velo-vision-hero h1 { font-size:42px!important; } body.page-index .velostrada-concept--vision .velo-vision-categories__grid,body.page-index .velostrada-concept--vision .velo-vision-stock__grid { grid-template-columns:1fr; } body.page-index .velostrada-concept--vision .velo-vision-stock img { height:245px; } }

/* Keep long live offer titles compact without reducing card readability. */
body.page-index .velostrada-concept--vision .velo-vision-stock__grid > a > div {
  padding: 12px 14px 14px !important;
}

body.page-index .velostrada-concept--vision .velo-vision-stock h3 {
  font-size: 17px !important;
  line-height: 1.12 !important;
  margin-bottom: 6px !important;
}

body.page-index .velostrada-concept--vision .velo-vision-stock strong {
  font-size: 18px !important;
  margin-top: 10px !important;
}

/* Live marketplace photos occasionally contain bright studio margins. Crop them only in the hero. */
body.page-index .velostrada-concept--vision .velo-vision-hero__feature {
  background: #081113;
}

body.page-index .velostrada-concept--vision .velo-vision-hero__feature img {
  transform: scale(1.38);
  transform-origin: center;
}

@media (max-width: 850px) {
  body.page-index .velostrada-concept--vision .velo-vision-hero__feature img {
    transform: scale(1.18);
  }
}

/* Atelier page flow: browsing, choosing, validating, then purchasing. */
body.page-index .velostrada-concept--atelier {
  gap: clamp(4.5rem, 8vw, 8rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories__grid {
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 250px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category {
  border: 1px solid rgba(229, 242, 223, .14);
  border-radius: .55rem;
  min-height: 250px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category::after {
  background: linear-gradient(0deg, rgba(6, 15, 9, .92), rgba(6, 15, 9, .05) 70%);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category span {
  bottom: 1.3rem;
  gap: .38rem;
  left: 1.3rem;
  right: 1.1rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category b {
  font-size: 1.3rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category small {
  font-size: .83rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category em {
  color: var(--velo-acid);
  font-size: .77rem;
  font-style: normal;
  font-weight: 760;
  margin-top: .45rem;
  opacity: 0;
  transform: translateY(.3rem);
  transition: opacity .2s ease, transform .2s ease;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category:hover em,
body.page-index .velostrada-concept--atelier .velo-atelier-v2-category:focus-visible em {
  opacity: 1;
  transform: translateY(0);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock {
  gap: 2rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list {
  border: 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a {
  background: #14251a;
  border: 1px solid rgba(229, 242, 223, .14);
  border-radius: .55rem;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  min-height: 0;
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a:hover {
  background: #14251a;
  border-color: rgba(199, 251, 97, .72);
  padding-inline: 0;
  transform: translateY(-4px);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list img {
  background: #1c3021;
  height: auto;
  object-fit: cover;
  object-position: center;
  transform: none;
  transition: transform .35s ease;
  width: 100%;
  aspect-ratio: 4 / 3;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a:hover img {
  transform: scale(1.035);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a > div {
  gap: .55rem;
  padding: 1.25rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list .velo-product-type {
  color: var(--velo-acid);
  font-size: .73rem;
  font-weight: 760;
  letter-spacing: .05em;
  text-transform: uppercase;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list h3 {
  font-size: 1.3rem;
  line-height: 1.1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list strong {
  font-size: 1.15rem;
  margin-top: .35rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a > div > span {
  align-items: center;
  border-top: 1px solid rgba(229, 242, 223, .14);
  color: #edf5e8;
  display: flex;
  font-size: .83rem;
  font-weight: 760;
  justify-content: space-between;
  margin-top: .45rem;
  padding-top: 1rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a > div > span i {
  align-items: center;
  background: var(--velo-acid);
  border-radius: 50%;
  color: #132117;
  display: inline-flex;
  font-size: 1rem;
  height: 1.65rem;
  justify-content: center;
  width: 1.65rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase {
  background: #21452f;
  border: 1px solid rgba(229, 242, 223, .16);
  border-radius: .65rem;
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(0, 1.7fr);
  overflow: hidden;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__intro {
  background: #173521;
  padding: clamp(2rem, 4vw, 4rem);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__intro h2,
body.page-index .velostrada-concept--atelier .velo-atelier-v2-final h2 {
  color: #f3f8ef;
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  line-height: 1.02;
  margin: .7rem 0 1rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__intro > p:not(.velo-concept-label),
body.page-index .velostrada-concept--atelier .velo-atelier-v2-final > p:not(.velo-concept-label) {
  color: #d2dfcd;
  line-height: 1.55;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps {
  counter-reset: none;
  display: grid;
  gap: 1px;
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps li {
  background: rgba(11, 30, 18, .16);
  padding: clamp(1.5rem, 2.6vw, 2.5rem);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps span {
  color: var(--velo-acid);
  font-size: .8rem;
  font-weight: 800;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps h3 {
  color: #f5f8f1;
  font-size: 1.1rem;
  margin: 1.4rem 0 .6rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps p {
  color: #c7d6c3;
  font-size: .86rem;
  line-height: 1.55;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links {
  background: #0f2116;
  border-top: 1px solid rgba(229, 242, 223, .14);
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, 1fr);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links a {
  color: #edf5e9;
  font-size: .87rem;
  font-weight: 760;
  padding: 1.1rem 1.35rem;
  text-decoration: none;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links a + a {
  border-left: 1px solid rgba(229, 242, 223, .14);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links span {
  color: var(--velo-acid);
  float: right;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-final {
  align-items: center;
  background: #102116;
  border: 1px solid rgba(229, 242, 223, .14);
  border-radius: .65rem;
  display: grid;
  justify-items: center;
  padding: clamp(3rem, 7vw, 6.5rem) 1.5rem;
  text-align: center;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-final > p:not(.velo-concept-label) {
  max-width: 35rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-final .velo-atelier-v2-link {
  margin-top: 1.25rem;
}

body.page-index .velostrada-concept--atelier .velo-concept-assurances {
  background: transparent;
  border: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
}

body.page-index .velostrada-concept--atelier .velo-concept-assurances article,
body.page-index .velostrada-concept--atelier .velo-concept-assurances article + article {
  background: #173020;
  border: 1px solid rgba(229, 242, 223, .12);
  border-radius: .5rem;
  padding: 1.5rem !important;
}

body.page-index:has(.velostrada-concept--atelier) #_desktop_ps_customersignin .header-block__title {
  display: none !important;
}

@media (max-width: 900px) {
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories__grid,
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase { grid-template-columns: 1fr; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps { grid-column: 1; grid-row: auto; }
}

@media (max-width: 680px) {
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories__grid,
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list,
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__steps,
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links,
  body.page-index .velostrada-concept--atelier .velo-concept-assurances { grid-template-columns: 1fr; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-category em { opacity: 1; transform: none; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list strong { display: block !important; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-purchase__links a + a { border-left: 0; border-top: 1px solid rgba(229, 242, 223, .14); }
  body.page-index:has(.velostrada-concept--atelier) #_mobile_ps_customersignin .material-icons,
  body.page-index:has(.velostrada-concept--atelier) #_mobile_ps_shoppingcart .material-icons {
    display: inline-block !important;
    font-family: 'Material Icons' !important;
  }
}

/* Variant 3: discovery-led storefront with a stronger catalogue rhythm. */
body.page-index .velostrada-concept--kompas {
  --velo-paper: #e9efe4;
  --velo-mist: #aebbad;
  --velo-acid: #c6fb5c;
}

body.page-index .velo-compass-intro {
  display: grid;
  grid-template-columns: 1.08fr 1.14fr .62fr;
  min-height: 500px;
}

body.page-index .velo-compass-intro__lead {
  align-content: center;
  background: #415747;
  display: grid;
  gap: 1.25rem;
  padding: clamp(2rem, 4.7vw, 4.6rem);
}

body.page-index .velo-compass-intro__lead h1 {
  color: #f4f7f0;
  font-size: clamp(2.8rem, 5.1vw, 5.25rem);
  font-weight: 735;
  line-height: .93;
}

body.page-index .velo-compass-intro__lead > p:not(.velo-concept-label) {
  color: #d5dfd1;
  font-size: 1rem;
  line-height: 1.58;
  max-width: 28rem;
}

body.page-index .velo-compass-intro__catalog {
  align-items: center;
  border-bottom: 1px solid rgba(233, 239, 228, .6);
  color: #fff !important;
  display: inline-flex;
  font-size: .9rem;
  font-weight: 800;
  gap: 1.1rem;
  padding-bottom: .6rem;
  text-decoration: none;
  width: max-content;
}

body.page-index .velo-compass-intro__catalog span,
body.page-index .velo-compass-paths__list i {
  color: var(--velo-acid);
  font-size: 1.18rem;
}

body.page-index .velo-compass-intro__feature {
  color: #fff;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-compass-intro__feature::after,
body.page-index .velo-compass-stock__card::after {
  background: linear-gradient(0deg, rgba(11, 16, 12, .86), transparent 59%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velo-compass-intro__feature img {
  height: 100%;
  object-fit: cover;
  object-position: center 64%;
  transform: scale(1.62);
  transition: transform .35s ease;
  width: 100%;
}

body.page-index .velo-compass-intro__feature:hover img { transform: scale(1.68); }

body.page-index .velo-compass-intro__feature > span {
  color: var(--velo-acid);
  font-size: .75rem;
  font-weight: 800;
  left: 1.45rem;
  position: absolute;
  text-transform: uppercase;
  top: 1.45rem;
  z-index: 1;
}

body.page-index .velo-compass-intro__feature > div {
  bottom: 1.45rem;
  display: grid;
  gap: .35rem;
  left: 1.45rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velo-compass-intro__feature small { color: #fff; font-size: 1.1rem; font-weight: 700; }
body.page-index .velo-compass-intro__feature strong { color: var(--velo-acid); font-size: 1rem; }

body.page-index .velo-compass-intro__facts {
  background: #25352a;
  display: grid;
  grid-template-rows: 1fr 1fr;
}

body.page-index .velo-compass-intro__facts > div {
  align-content: end;
  border-bottom: 1px solid rgba(233, 239, 228, .2);
  display: grid;
  gap: .4rem;
  padding: 1.4rem;
}

body.page-index .velo-compass-intro__facts > div:last-child { border-bottom: 0; }
body.page-index .velo-compass-intro__facts span { color: var(--velo-acid); font-size: .72rem; font-weight: 800; }
body.page-index .velo-compass-intro__facts b { color: #f4f7ef; font-size: .94rem; }
body.page-index .velo-compass-intro__facts p { color: #b8c8b7; font-size: .78rem; line-height: 1.4; }

body.page-index .velo-compass-paths,
body.page-index .velo-compass-stock { display: grid; gap: 1.2rem; }

body.page-index .velo-compass-paths__list { border-top: 1px solid rgba(220, 228, 215, .25); }

body.page-index .velo-compass-paths__list a {
  align-items: center;
  border-bottom: 1px solid rgba(220, 228, 215, .25);
  display: grid;
  gap: 1rem;
  grid-template-columns: 3rem minmax(10rem, .9fr) minmax(12rem, 1.4fr) 1.5rem;
  min-height: 76px;
  text-decoration: none;
  transition: background .2s ease, padding .2s ease;
}

body.page-index .velo-compass-paths__list a:hover { background: #1b2a1e; padding-inline: .8rem; }
body.page-index .velo-compass-paths__list span { color: var(--velo-acid); font-size: .75rem; font-weight: 800; text-align: center; }
body.page-index .velo-compass-paths__list strong { color: #f1f5ed; font-size: 1.1rem; }
body.page-index .velo-compass-paths__list small { color: var(--velo-mist); font-size: .88rem; }
body.page-index .velo-compass-paths__list i { font-style: normal; }

body.page-index .velo-compass-stock__grid { display: grid; gap: 1px; grid-template-columns: 1.35fr 1fr 1fr; }

body.page-index .velo-compass-stock__card {
  background: #2b3c2f;
  color: #fff;
  min-height: 355px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velo-compass-stock__card img {
  height: 100%;
  object-fit: cover;
  object-position: center 61%;
  transform: scale(1.48);
  transition: transform .35s ease;
  width: 100%;
}

body.page-index .velo-compass-stock__card:hover img { transform: scale(1.55); }

body.page-index .velo-compass-stock__card > div {
  bottom: 1.25rem;
  display: grid;
  gap: .3rem;
  left: 1.25rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velo-compass-stock__card span { color: var(--velo-acid); font-size: .69rem; font-weight: 790; text-transform: uppercase; }
body.page-index .velo-compass-stock__card h3 { color: #fff; font-size: 1.25rem; font-weight: 720; }
body.page-index .velo-compass-stock__card p { color: #d5dfd1; font-size: .82rem; }
body.page-index .velo-compass-stock__card strong { color: #fff; font-size: 1rem; margin-top: .35rem; }

@media (max-width: 900px) {
  body.page-index .velo-compass-intro { grid-template-columns: 1fr 1fr; }
  body.page-index .velo-compass-intro__facts { grid-column: span 2; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  body.page-index .velo-compass-intro__facts > div { border-bottom: 0; border-right: 1px solid rgba(233, 239, 228, .2); }
  body.page-index .velo-compass-stock__grid { grid-template-columns: 1fr 1fr; }
  body.page-index .velo-compass-stock__card--primary { grid-column: span 2; }
}

@media (max-width: 680px) {
  body.page-index .velo-compass-intro { grid-template-columns: 1fr; }
  body.page-index .velo-compass-intro__feature { aspect-ratio: 1 / 1; }
  body.page-index .velo-compass-intro__facts { grid-column: auto; grid-template-columns: 1fr; }
  body.page-index .velo-compass-intro__facts > div { border-bottom: 1px solid rgba(233, 239, 228, .2); border-right: 0; }
  body.page-index .velo-compass-paths__list a { gap: .7rem; grid-template-columns: 2rem minmax(0, 1fr) 1.5rem; min-height: 70px; }
  body.page-index .velo-compass-paths__list small { display: none; }
  body.page-index .velo-compass-stock__grid { grid-template-columns: 1fr; }
  body.page-index .velo-compass-stock__card--primary { grid-column: auto; }
}

/* Shared chrome for every homepage concept. */
body.page-index:has(.velostrada-concept) .velostrada-header {
  background: #101a13 !important;
  border-bottom: 1px solid rgba(222, 236, 216, .13) !important;
}

body.page-index:has(.velostrada-concept) .velostrada-header__container {
  margin-inline: auto;
  max-width: 1420px;
  padding-inline: 1.5rem;
}

body.page-index:has(.velostrada-concept) .velostrada-header__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 82px;
}

body.page-index:has(.velostrada-concept) .velostrada-header__primary {
  align-items: center;
  display: flex;
  gap: 1.7rem;
  min-width: 0;
}

body.page-index:has(.velostrada-concept) .velostrada-header__logo {
  left: auto !important;
  position: static !important;
  transform: none !important;
}

body.page-index:has(.velostrada-concept) .velostrada-header__logo img {
  max-height: 32px;
  width: auto;
}

body.page-index:has(.velostrada-concept) .velostrada-nav--desktop {
  gap: .95rem;
  flex-wrap: nowrap !important;
  min-width: 0;
  max-width: none !important;
  white-space: nowrap;
}

body.page-index:has(.velostrada-concept) .velostrada-nav a {
  color: #dce7d8 !important;
  font-size: .72rem !important;
  font-weight: 720 !important;
  letter-spacing: .035em !important;
  padding-block: .45rem;
  position: relative;
  text-transform: uppercase !important;
}

body.page-index:has(.velostrada-concept) .velostrada-nav a::after {
  background: #c6fb5c;
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
  width: 100%;
}

body.page-index:has(.velostrada-concept) .velostrada-nav a:hover::after,
body.page-index:has(.velostrada-concept) .velostrada-nav a:focus-visible::after {
  transform: scaleX(1);
}

body.page-index:has(.velostrada-concept) .velostrada-header__search .ps-searchbar__input {
  background: #1c2a20 !important;
  border: 1px solid rgba(222, 236, 216, .16) !important;
  border-radius: 0 !important;
  color: #edf3e9 !important;
  font-size: .84rem !important;
  height: 42px;
}

body.page-index:has(.velostrada-concept) .velostrada-header__search {
  flex: 0 0 220px !important;
  min-width: 0 !important;
  width: 220px;
}

body.page-index:has(.velostrada-concept) .velostrada-header__aside {
  flex-shrink: 0;
  max-width: none !important;
}

body.page-index:has(.velostrada-concept) .velostrada-header__search .ps-searchbar__input:focus {
  border-color: #c6fb5c !important;
  box-shadow: none !important;
}

body.page-index:has(.velostrada-concept) .velostrada-header__aside .header-block,
body.page-index:has(.velostrada-concept) .velostrada-header__aside .header-block__action-btn {
  border-radius: 0 !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer {
  background: #101a13 !important;
  border-top: 1px solid rgba(222, 236, 216, .14);
  margin-top: 0 !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer .container {
  max-width: 1360px;
  padding-block: 2.5rem 1.4rem;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__cta-row {
  align-items: center;
  border-bottom: 1px solid rgba(222, 236, 216, .14);
  display: flex;
  gap: 1.2rem;
  padding-bottom: 1.35rem;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__cta-row .btn,
body.page-index:has(.velostrada-concept) .velostrada-footer__social-link {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #dde8d9 !important;
  font-size: .78rem !important;
  font-weight: 740 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__cta-row .btn:first-child {
  color: #c6fb5c !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__finance {
  border-bottom: 1px solid rgba(222, 236, 216, .14);
  margin: 0 !important;
  padding-block: 1.05rem;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__finance span,
body.page-index:has(.velostrada-concept) .velostrada-footer__title {
  color: #9fb29e !important;
  font-size: .7rem !important;
  font-weight: 760 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__finance img {
  background: #e7ede1;
  border-radius: 2px;
  max-height: 26px;
  object-fit: contain;
  padding: .2rem .35rem;
  width: auto;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__grid {
  padding-top: 1.8rem;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__list a,
body.page-index:has(.velostrada-concept) .velostrada-footer__contact p {
  color: #d7e1d4 !important;
  font-size: .83rem !important;
  line-height: 1.7;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__contact a {
  color: #c6fb5c !important;
  font-size: .83rem !important;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__bottom {
  border-top: 1px solid rgba(222, 236, 216, .14);
  margin-top: 1.6rem;
  padding-top: 1rem;
}

body.page-index:has(.velostrada-concept) .velostrada-footer__bottom p {
  color: #81917f !important;
  font-size: .76rem !important;
}

/* Per-direction balance, without flattening their different personalities. */
body.page-index .velostrada-concept--atelier .velo-atelier-hero__copy {
  background: #203526;
}

body.page-index .velostrada-concept--atelier .velo-concept-assurances {
  margin-top: -.8rem;
}

body.page-index .velostrada-concept--katalog .velo-catalogue-hero__intro {
  background: #27402d;
}

body.page-index .velostrada-concept--katalog .velo-catalogue-stock {
  padding-top: .25rem;
}

body.page-index .velostrada-concept--kompas .velo-compass-intro__lead {
  background: #4c6352;
}

body.page-index .velostrada-concept--kompas .velo-compass-stock__card--primary {
  min-height: 410px;
}

body.page-index .velostrada-concept a:focus-visible {
  outline: 3px solid #c6fb5c;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body.page-index .velostrada-concept *,
  body.page-index:has(.velostrada-concept) .velostrada-nav a::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 680px) {
  body.page-index:has(.velostrada-concept) .velostrada-header__container {
    padding-inline: 1rem;
  }

  body.page-index:has(.velostrada-concept) .velostrada-header__row {
    display: flex;
    min-height: 66px;
  }

  body.page-index:has(.velostrada-concept) .velostrada-footer__cta-row {
    align-items: start;
    flex-direction: column;
    gap: .75rem;
  }
}

/* Atelier, second direction: the product image leads and each control has a clear job. */
body.page-index .velostrada-concept--atelier {
  --velo-paper: #e7eee2;
  --velo-mist: #adbcaa;
  --velo-acid: #c7fb61;
  gap: 5rem !important;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .9fr);
  grid-template-rows: minmax(350px, 1fr) auto;
  min-height: 610px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image {
  background: #2b4030;
  grid-row: span 2;
  overflow: hidden;
  position: relative;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image::after {
  background: linear-gradient(0deg, rgba(9, 15, 10, .55), transparent 42%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image img {
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
  transform: scale(1.62);
  transition: transform .5s ease;
  width: 100%;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image:hover img {
  transform: scale(1.68);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image-label {
  bottom: 1.4rem;
  color: #f4f8ef;
  font-size: .75rem;
  font-weight: 780;
  left: 1.4rem;
  letter-spacing: .08em;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy {
  align-content: center;
  background: #8fa58e;
  color: #172019;
  display: grid;
  gap: 1.25rem;
  padding: clamp(2rem, 4vw, 4.5rem);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy .velo-concept-label {
  color: #1d542e;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy h1 {
  color: #172019;
  font-size: clamp(2.5rem, 4.1vw, 4.5rem);
  font-weight: 740;
  line-height: .95;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy > p:not(.velo-concept-label) {
  color: #2e4634;
  font-size: 1rem;
  line-height: 1.55;
  max-width: 25rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link {
  align-items: center;
  background: #17251a;
  border-radius: 999px;
  color: #f2f7ed !important;
  display: inline-flex;
  font-size: .87rem;
  font-weight: 800;
  gap: .9rem;
  justify-content: space-between;
  padding: .9rem 1.15rem .9rem 1.3rem;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
  width: max-content;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link span {
  align-items: center;
  background: var(--velo-acid);
  border-radius: 50%;
  color: #17251a;
  display: inline-flex;
  font-size: 1.05rem;
  height: 1.55rem;
  justify-content: center;
  width: 1.55rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link:hover {
  background: #263b2a;
  transform: translateY(-2px);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts {
  display: flex;
  gap: 1.25rem;
  margin: .55rem 0 0;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts > div {
  border-left: 1px solid rgba(23, 32, 25, .28);
  padding-left: .75rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts dt {
  color: #1b3020;
  font-size: .75rem;
  font-weight: 800;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts dd {
  color: #3c5540;
  font-size: .73rem;
  margin: .2rem 0 0;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product {
  background: #1a2b1e;
  display: grid;
  gap: .35rem;
  padding: 1.7rem clamp(2rem, 3.6vw, 4rem);
  position: relative;
  text-decoration: none;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product > span {
  color: var(--velo-acid);
  font-size: .7rem;
  font-weight: 780;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product h2 {
  color: #f2f6ed;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 710;
  line-height: 1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product p {
  color: #b8c9b6;
  font-size: .79rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product strong {
  color: #fff;
  font-size: 1rem;
  margin-top: .35rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product i {
  align-items: center;
  background: var(--velo-acid);
  border-radius: 50%;
  bottom: 1.55rem;
  color: #17251a;
  display: flex;
  font-size: 1.1rem;
  font-style: normal;
  height: 2.2rem;
  justify-content: center;
  position: absolute;
  right: 1.7rem;
  width: 2.2rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories,
body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock {
  display: grid;
  gap: 1.35rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading {
  align-items: end;
  display: grid;
  gap: .45rem;
  grid-template-columns: 1fr auto;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading .velo-concept-label,
body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading h2 {
  grid-column: 1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading h2 {
  color: #edf3e9;
  font-size: clamp(1.8rem, 3.2vw, 3.15rem);
  font-weight: 710;
  line-height: 1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading > a {
  color: var(--velo-acid);
  font-size: .84rem;
  font-weight: 780;
  grid-column: 2;
  grid-row: 2;
  text-decoration: none;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories__grid {
  display: grid;
  gap: 1px;
  grid-template-columns: 1.35fr 1fr 1fr;
  min-height: 300px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category {
  background: #314734;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category::after {
  background: linear-gradient(0deg, rgba(8, 14, 10, .78), transparent 65%);
  content: '';
  inset: 0;
  position: absolute;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category img {
  filter: saturate(.8) contrast(1.08);
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
  transform: scale(1.48);
  transition: filter .3s ease, transform .4s ease;
  width: 100%;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category:hover img {
  filter: saturate(1) contrast(1.05);
  transform: scale(1.56);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category span {
  bottom: 1.25rem;
  display: grid;
  gap: .22rem;
  left: 1.25rem;
  position: absolute;
  z-index: 1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-category b { color: #fff; font-size: 1.25rem; }
body.page-index .velostrada-concept--atelier .velo-atelier-v2-category small { color: #d1ded0; font-size: .78rem; }

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list {
  border-top: 1px solid rgba(231, 238, 226, .2);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a {
  align-items: center;
  border-bottom: 1px solid rgba(231, 238, 226, .2);
  display: grid;
  gap: 1.1rem;
  grid-template-columns: 2rem 135px minmax(0, 1fr) auto 2rem;
  min-height: 128px;
  text-decoration: none;
  transition: background .2s ease, padding .2s ease;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a:hover {
  background: #1a2a1e;
  padding-inline: .85rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a > span {
  color: var(--velo-acid);
  font-size: .73rem;
  font-weight: 800;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list img {
  background: #415542;
  height: 94px;
  object-fit: cover;
  object-position: center 60%;
  transform: scale(1.4);
  width: 135px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a > div {
  display: grid;
  gap: .25rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list h3 { color: #f0f5ed; font-size: 1.08rem; font-weight: 710; }
body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list p { color: var(--velo-mist); font-size: .83rem; }
body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list strong { color: #fff; font-size: .96rem; white-space: nowrap; }
body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list i { color: var(--velo-acid); font-size: 1.15rem; font-style: normal; }

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__row {
  display: flex;
  justify-content: space-between;
  position: relative;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__primary {
  flex: 1 1 0;
  gap: 0;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__logo {
  left: 50% !important;
  position: absolute !important;
  top: 50%;
  transform: translate(-50%, -50%) !important;
  z-index: 2;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--desktop {
  gap: .8rem;
  max-width: 42% !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--desktop .material-icons {
  display: none !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--desktop a {
  align-items: center;
  display: inline-flex;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__aside {
  max-width: 42% !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search {
  flex-basis: 190px !important;
  width: 190px;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__action-btn,
body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart {
  background: #e6eee1 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #17251a !important;
  min-height: 36px;
  padding: .55rem .85rem !important;
}

body.page-index .velostrada-concept--atelier .velo-concept-assurances {
  background: #16261a;
  border: 0;
  margin-top: -.7rem;
}

body.page-index .velostrada-concept--atelier .velo-concept-assurances article,
body.page-index .velostrada-concept--atelier .velo-concept-assurances article + article {
  border-color: rgba(231, 238, 226, .16);
  padding: 1.7rem !important;
}

/* Atelier header: clear controls, restrained navigation. */
@font-face {
  font-display: block;
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/MaterialIcons-Regular-2d8017489da689caedc1.woff2') format('woff2');
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__aside {
  align-items: center;
  gap: .55rem;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search {
  flex-basis: 214px !important;
  width: 214px;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search .ps-searchbar__form {
  position: relative;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search .ps-searchbar__form::before {
  color: #a8b6a6;
  content: 'search';
  font-family: 'Material Icons' !important;
  font-size: 1.15rem;
  left: .9rem;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search .ps-searchbar__input {
  border-radius: 999px !important;
  height: 44px;
  padding-inline: 2.6rem 1rem !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions {
  gap: .5rem;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__action-btn {
  align-items: center;
  background: transparent !important;
  border: 1px solid rgba(233, 243, 228, .34) !important;
  color: #edf4e9 !important;
  display: inline-flex;
  gap: .42rem;
  min-height: 44px;
  padding: .55rem .92rem !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__action-btn::before {
  content: 'person';
  font-family: 'Material Icons' !important;
  font-size: 1.05rem;
  line-height: 1;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__action-btn:hover {
  background: rgba(232, 243, 228, .12) !important;
  border-color: #e9f2e4 !important;
  transform: translateY(-1px);
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__action-btn {
  background: var(--velo-acid) !important;
  border-color: var(--velo-acid) !important;
  color: #132117 !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__action-btn::before {
  content: 'shopping_bag' !important;
  font-family: 'Material Icons' !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__title,
body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__badge {
  color: #132117 !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__action-btn:hover {
  background: #d9ff8c !important;
  border-color: #d9ff8c !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .material-icons {
  display: none !important;
}

/* Atelier recommendation: a focused, purchase-oriented entrance. */
body.page-index:has(.velostrada-concept--atelier) .velostrada-header {
  background: #0d1911 !important;
  border-bottom: 1px solid rgba(229, 241, 223, .14) !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__container {
  max-width: 1460px;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__row {
  min-height: 80px;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--desktop {
  gap: 1.05rem;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--desktop a {
  color: #c8d2c4 !important;
  font-size: .72rem !important;
  letter-spacing: .04em !important;
  padding-block: .65rem;
  text-transform: uppercase;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search {
  flex-basis: 236px !important;
  width: 236px;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__search .ps-searchbar__input {
  background: #15241a !important;
  border-color: rgba(230, 240, 225, .22) !important;
  color: #f2f6ef !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__action-btn {
  border-color: rgba(230, 240, 225, .32) !important;
  border-radius: 50% !important;
  height: 42px;
  justify-content: center;
  min-width: 42px;
  padding: 0 !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .header-block__title {
  display: none !important;
}

body.page-index:has(.velostrada-concept--atelier) #_desktop_ps_customersignin .header-block__title {
  display: none !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart {
  background: transparent !important;
  border: 0 !important;
  min-height: 0;
  padding: 0 !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__action-btn {
  background: #c7fb61 !important;
  border-color: #c7fb61 !important;
  border-radius: 999px !important;
  color: #102016 !important;
  gap: .42rem;
  min-width: 106px;
  padding-inline: .85rem !important;
}

body.page-index:has(.velostrada-concept--atelier) .velostrada-header__actions .blockcart .header-block__title {
  display: inline !important;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list h3 {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-index:has(.velostrada-concept--atelier) .velo-atelier-v2-hero {
  background: #173020;
  border: 1px solid rgba(232, 243, 225, .14);
  grid-template-columns: minmax(0, 1.2fr) minmax(365px, .8fr);
  min-height: 560px;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image {
  background: #152119;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image::after {
  background: linear-gradient(90deg, rgba(8, 16, 10, .14), rgba(8, 16, 10, .52));
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image img {
  filter: saturate(.82) contrast(1.05);
  object-position: center 54%;
  transform: scale(1.43);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy {
  background: #28513a;
  color: #f2f6ed;
  gap: 1.35rem;
  padding: clamp(2.35rem, 4vw, 4.75rem);
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy .velo-concept-label {
  color: #c7fb61;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy h1 {
  color: #f5f8f1;
  font-size: clamp(2.55rem, 4vw, 4.4rem);
  line-height: .98;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy > p:not(.velo-concept-label) {
  color: #d6e0d2;
  font-size: 1.02rem;
  max-width: 30rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link {
  background: #c7fb61;
  color: #102016 !important;
  font-size: .9rem;
  padding: .92rem 1rem .92rem 1.25rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link span {
  background: #163020;
  color: #f1f8ea;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-link:hover {
  background: #d8ff8f;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts {
  border-top: 1px solid rgba(235, 245, 230, .22);
  gap: 0;
  margin-top: .4rem;
  padding-top: 1rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts > div {
  border-color: rgba(235, 245, 230, .22);
  flex: 1;
  padding-left: .8rem;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts dt {
  color: #f0f7ec;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__facts dd {
  color: #c6d6c1;
}

body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__product {
  background: #102116;
  padding: 1.65rem clamp(2.35rem, 4vw, 4.75rem);
}

@media (max-width: 900px) {
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero { grid-template-columns: 1.1fr .9fr; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image { grid-row: span 2; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a { grid-template-columns: 2rem 110px minmax(0, 1fr) auto; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list i { display: none; }
}

@media (max-width: 680px) {
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero { grid-template-columns: 1fr; grid-template-rows: auto; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__image { aspect-ratio: 1 / .86; grid-row: auto; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-hero__copy { min-height: 380px; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading { grid-template-columns: 1fr; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-heading > a { grid-column: 1; grid-row: auto; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-categories__grid { grid-template-columns: 1fr; min-height: 0; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-category { min-height: 210px; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list > a { gap: .75rem; grid-template-columns: 1.5rem 88px minmax(0, 1fr); min-height: 105px; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list img { height: 76px; width: 88px; }
  body.page-index .velostrada-concept--atelier .velo-atelier-v2-stock__list strong { display: none; }
  body.page-index:has(.velostrada-concept--atelier) .velostrada-header__row { display: flex; }
  body.page-index:has(.velostrada-concept--atelier) .velostrada-header__logo { left: auto !important; position: static !important; transform: none !important; }

  body.page-index:has(.velostrada-concept--atelier) .velostrada-header__row {
    min-height: 72px;
  }

  body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--mobile {
    -ms-overflow-style: none;
    display: flex !important;
    flex-wrap: nowrap;
    gap: .3rem;
    margin-inline: -1rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 1rem .8rem;
    scrollbar-width: none;
  }

  body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--mobile::-webkit-scrollbar {
    display: none;
  }

  body.page-index:has(.velostrada-concept--atelier) .velostrada-nav--mobile a {
    flex: 0 0 auto;
    font-size: .7rem !important;
    padding: .55rem .72rem;
    white-space: nowrap;
  }

  body.page-index:has(.velostrada-concept--atelier) #_desktop_ps_customersignin .header-block__icon {
    display: inline-block !important;
    font-family: 'Material Icons' !important;
  }
}

/* Catalogue filters: grouped controls rather than a table-like toolbar. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters {
  align-items: center !important;
  background: #0c1719 !important;
  border: 1px solid #2b4244 !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .18) !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 155px minmax(240px, 1fr) !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 16px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filter-title,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__search,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets {
  border: 0 !important;
  min-height: 50px !important;
  padding: 0 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filter-title {
  background: transparent !important;
  justify-content: center;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filter-title h2 {
  font-size: 19px !important;
  margin-bottom: 4px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__search {
  background: #101f21 !important;
  border: 1px solid #32494b !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets {
  height: 48px !important;
  grid-column: 1 / -1;
  overflow: visible !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters > .accordion {
  align-items: stretch !important;
  display: flex !important;
  gap: 10px !important;
  height: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters {
  height: 48px !important;
  width: 100%;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item {
  background: #101f21 !important;
  border: 1px solid #32494b !important;
  border-radius: 8px !important;
  flex: 1 1 0;
  min-height: 48px !important;
  position: relative;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-button {
  align-items: center !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-button:hover,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__search:focus-within {
  border-color: rgba(204, 255, 0, .72) !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-collapse.show {
  background: #0d1b1d !important;
  border: 1px solid #465d60 !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 32px rgba(0, 0, 0, .35) !important;
  left: -1px;
  min-width: 248px;
  position: absolute !important;
  top: calc(100% + 8px);
  z-index: 20;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:has(.accordion-collapse.show) {
  z-index: 21;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-body {
  padding: 14px !important;
}

@media (max-width: 820px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets {
    grid-column: auto;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters,
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters > .accordion {
    min-width: max-content !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item {
    flex: 0 0 154px;
  }
}

/* Catalogue controls: price stays discoverable, secondary filters stay compact. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters > .accordion {
  align-items: flex-start !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child {
  flex: 0 0 270px;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child .accordion-collapse {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  visibility: visible !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child .accordion-body {
  min-height: 60px;
}

/* Shared Vision-header actions keep account and cart recognisable at a glance. */
body.page-category .velo-catalog-vision-header .velo-vision-header__search,
body.page-index .velostrada-concept--vision .velo-vision-header__search {
  width: 320px;
}

body.page-category .velo-catalog-vision-header .velo-vision-header__account,
body.page-index .velostrada-concept--vision .velo-vision-header__account {
  align-items: center;
  color: #f8faf9;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  min-height: 42px;
  text-decoration: none;
  white-space: nowrap;
}

body.page-category .velo-catalog-vision-header .velo-vision-header__account i,
body.page-category .velo-catalog-vision-header .velo-vision-header__cart i,
body.page-index .velostrada-concept--vision .velo-vision-header__account i,
body.page-index .velostrada-concept--vision .velo-vision-header__cart i {
  font-size: 22px;
}

body.page-category .velo-catalog-vision-header .velo-vision-header__account:hover,
body.page-index .velostrada-concept--vision .velo-vision-header__account:hover {
  color: #b7ff00;
}

body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__status {
  background: rgba(8, 16, 19, .88) !important;
  border: 1px solid rgba(219, 230, 225, .42) !important;
  border-radius: 4px;
  bottom: auto !important;
  color: #f4f7f3 !important;
  left: 12px !important;
  padding: 6px 8px !important;
  right: auto !important;
  top: 12px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__pagination .pagination__number {
  display: none;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__pagination .pagination__container {
  justify-content: flex-end;
}

/* A fixed centre brand keeps the header balanced when either side changes width. */
body.page-category .velo-catalog-vision-header,
body.page-index .velostrada-concept--vision .velo-vision-header {
  position: relative;
}

body.page-category .velo-catalog-vision-header .velo-vision-brand,
body.page-index .velostrada-concept--vision .velo-vision-brand {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 1;
}

body.page-category .velo-catalog-vision-header nav,
body.page-index .velostrada-concept--vision .velo-vision-header nav {
  margin: 0;
}

@media (max-width: 850px) {
  body.page-category .velo-catalog-vision-header .velo-vision-brand,
  body.page-index .velostrada-concept--vision .velo-vision-brand {
    left: auto;
    position: static;
    transform: none;
  }
}

/* The desktop header carries the same visual weight as the catalogue below it. */
@media (min-width: 851px) {
  body.page-category .velo-catalog-vision-header,
  body.page-index .velostrada-concept--vision .velo-vision-header {
    gap: 30px;
    height: 92px;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-brand img,
  body.page-index .velostrada-concept--vision .velo-vision-brand img {
    max-height: 62px;
    width: 270px;
  }

  body.page-category .velo-catalog-vision-header nav,
  body.page-index .velostrada-concept--vision .velo-vision-header nav {
    gap: 28px;
  }

  body.page-category .velo-catalog-vision-header nav a,
  body.page-index .velostrada-concept--vision .velo-vision-header nav a {
    font-size: 14px;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-header__tools,
  body.page-index .velostrada-concept--vision .velo-vision-header__tools {
    gap: 19px;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-header__search,
  body.page-index .velostrada-concept--vision .velo-vision-header__search {
    font-size: 14px;
    min-height: 48px;
    width: 340px;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-header__account,
  body.page-index .velostrada-concept--vision .velo-vision-header__account {
    font-size: 14px;
    min-height: 48px;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-header__account i,
  body.page-category .velo-catalog-vision-header .velo-vision-header__cart i,
  body.page-index .velostrada-concept--vision .velo-vision-header__account i,
  body.page-index .velostrada-concept--vision .velo-vision-header__cart i {
    font-size: 25px;
  }
}

/* The price range is a readable control, not a loose technical slider. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child {
  background: #122124 !important;
  border-color: rgba(183, 255, 0, .5) !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .search-filters__slider-container {
  display: grid;
  gap: 13px;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .search-filters__slider {
  height: 6px !important;
  margin: 2px 7px;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .noUi-connect {
  background: #b7ff00 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .noUi-handle {
  background: #f4f7f3 !important;
  border: 2px solid #081013 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  height: 18px !important;
  right: -9px !important;
  top: -6px !important;
  width: 18px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .noUi-handle::before,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .noUi-handle::after {
  display: none !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .search-filters__slider-values {
  color: #dbe4df !important;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0;
}

/* Price is a compact control at the end of the filter bar; its range opens on demand. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters {
  height: 48px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters > .accordion {
  align-items: stretch !important;
  width: 100%;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child {
  flex: 0 0 164px !important;
  margin-left: auto;
  min-height: 48px !important;
  order: 10;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child .accordion-collapse {
  display: none !important;
  height: auto !important;
  left: auto !important;
  min-width: 280px;
  overflow: visible !important;
  position: absolute !important;
  right: -1px;
  top: calc(100% + 8px);
  visibility: visible !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child .accordion-collapse.show {
  display: block !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child:focus-within .accordion-collapse,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child:hover .accordion-collapse {
  display: block !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item:first-child .accordion-body {
  min-height: 0;
  padding: 14px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters .search-filters__slider-container {
  gap: 10px;
}

@media (min-width: 1200px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__products {
    gap: 14px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__image {
    aspect-ratio: 1.48 / 1;
  }

  body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__body {
    padding: 12px !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__name {
    font-size: 15px !important;
    line-height: 1.16 !important;
    min-height: 52px !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__price {
    font-size: 17px !important;
  }
}

/* CMS page for financing uses the same restrained dark visual language. */
.velostrada-financing {
  display: grid;
  gap: 28px;
}

.velostrada-financing__intro {
  border-bottom: 1px solid rgba(210, 225, 216, .2);
  max-width: 720px;
  padding-bottom: 24px;
}

.velostrada-financing__intro > p:first-child {
  color: #b7ff00;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 10px;
}

.velostrada-financing__intro h2 {
  color: #f4f7f3;
  font-size: clamp(30px, 4vw, 46px);
  margin: 0 0 13px;
}

.velostrada-financing__partners {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velostrada-financing__partners article {
  background: #101e20;
  border: 1px solid #344a4c;
  border-radius: 8px;
  min-height: 200px;
  padding: 24px;
}

.velostrada-financing__partners img {
  background: #fff;
  border-radius: 4px;
  display: block;
  height: 38px;
  margin-bottom: 24px;
  max-width: 150px;
  object-fit: contain;
  padding: 4px 8px;
}

.velostrada-financing__partners h3 { color: #f4f7f3; margin: 0 0 8px; }
.velostrada-financing__note { color: #aebebb; font-size: 13px; margin: 0; }

@media (max-width: 640px) {
  .velostrada-financing__partners { grid-template-columns: 1fr; }
}

/* Keep financing cards isolated from the broad CMS rich-text styles. */
body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-financing__card {
  align-items: flex-start !important;
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-left: 4px solid #b7ff00 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  justify-content: flex-start !important;
  min-height: 230px !important;
  padding: 24px !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-financing__card > img {
  background: #fff !important;
  border: 0 !important;
  border-radius: 2px !important;
  display: block !important;
  height: 34px !important;
  margin: 0 !important;
  max-width: 152px !important;
  object-fit: contain !important;
  padding: 4px 7px !important;
  width: auto !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-financing__card > h3 {
  color: #f4f7f3 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

body.page-cms .velostrada-rich-layout--financing .velostrada-financing__card > .velostrada-financing__note {
  background: transparent !important;
  border: 0 !important;
  color: #b8c6c0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 960px) {
  body.page-cms .velostrada-rich-layout--financing .velostrada-financing__partners {
    grid-template-columns: 1fr !important;
  }
  body.page-cms .velostrada-rich-layout--financing .velostrada-financing__card {
    min-height: 0 !important;
  }
}

@media (max-width: 850px) {
  body.page-category .velo-catalog-vision-header .velo-vision-header__account span,
  body.page-index .velostrada-concept--vision .velo-vision-header__account span {
    display: none;
  }

  body.page-category .velo-catalog-vision-header .velo-vision-header__account,
  body.page-index .velostrada-concept--vision .velo-vision-header__account {
    min-height: 38px;
  }
}

/* Real brand marks occupy the wide outer gutters and never overlap the shop content. */
.velo-brand-rails { display: none; }

@media (min-width: 2200px) {
  body .velo-brand-rails {
    display: contents;
  }

  body .velo-brand-rail {
    bottom: 0;
    display: block;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    top: 92px;
    width: calc((100vw - 1980px) / 2);
    z-index: 4;
  }

  body .velo-brand-rail--left { left: 0; }
  body .velo-brand-rail--right { right: 0; }

  body .velo-brand-rail__track {
    animation: velo-brand-rail 39s linear infinite;
    display: flex;
    flex-direction: column;
    gap: 50px;
  }

  body .velo-brand-rail--right .velo-brand-rail__track {
    animation-direction: reverse;
    animation-duration: 44s;
  }

  body .velo-brand-rail__track span {
    align-items: center;
    display: flex;
    height: 118px;
    justify-content: center;
    margin-inline: auto;
    width: min(74%, 188px);
  }

  body .velo-brand-rail__track img {
    filter: brightness(0) invert(1);
    height: 64px;
    mix-blend-mode: screen;
    opacity: .9;
    object-fit: contain;
    transform: rotate(-90deg);
    width: 138px;
  }
}

@keyframes velo-brand-rail {
  from { transform: translateY(0); }
  to { transform: translateY(calc(-50% - 25px)); }
}

@media (prefers-reduced-motion: reduce) {
  body .velo-brand-rail__track { animation-play-state: paused; }
}

/* Only verified transparent marks are enabled in the wide-screen rails. */
@media (min-width: 2200px) {
  body .velo-brand-rails { display: contents !important; }
}

body.page-index .velostrada-concept--vision .velo-vision-header__search > i,
body.page-index .velostrada-concept--vision .velo-vision-header__account > i,
body.page-index .velostrada-concept--vision .velo-vision-header__cart > i {
  display: inline-flex !important;
  font-family: 'Material Icons' !important;
  font-feature-settings: 'liga' !important;
  font-size: 25px !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 1 !important;
  speak: none;
}

/* One shared canvas: every customer-facing view aligns with the homepage and catalogue gutters. */
body.page-cms .velostrada-rich-layout,
body.page-contact .velostrada-rich-layout--contact,
body.page-authentication .velostrada-auth-shell,
body.page-registration .velostrada-auth-shell,
body.page-password .velostrada-password-shell,
body.page-cart .cart-grid,
body.page-order .checkout-grid,
body.page-product .product__container,
body.page-search .page,
body.page-my-account .velostrada-customer-shell,
body.page-identity .velostrada-customer-shell,
body.page-addresses .velostrada-customer-shell,
body.page-history .velostrada-customer-shell,
body.page-order-slip .velostrada-customer-shell,
body.page-order-return .velostrada-customer-shell,
body.page-order-detail .velostrada-customer-shell,
body.page-order-follow .velostrada-customer-shell,
body.page-guest-tracking .velostrada-customer-shell,
body.page-pagenotfound .page {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 5% !important;
  padding-right: 5% !important;
  width: 100% !important;
}

body.page-password .velostrada-password-shell {
  margin-top: 38px !important;
  margin-bottom: 64px !important;
}

/* Match the approved homepage canvas instead of stretching content pages edge to edge. */
@media (min-width: 851px) {
  body:not(.page-index):not(.page-category) #wrapper {
    margin-inline: auto !important;
    max-width: 1980px !important;
    width: 100% !important;
  }

  body.page-cms .velostrada-rich-layout,
  body.page-contact .velostrada-rich-layout--contact,
  body.page-authentication .velostrada-auth-shell,
  body.page-registration .velostrada-auth-shell,
  body.page-password .velostrada-password-shell,
  body.page-cart .cart-grid,
  body.page-order .checkout-grid,
  body.page-product .product__container,
  body.page-search .page,
  body.page-my-account .velostrada-customer-shell,
  body.page-identity .velostrada-customer-shell,
  body.page-addresses .velostrada-customer-shell,
  body.page-history .velostrada-customer-shell,
  body.page-order-slip .velostrada-customer-shell,
  body.page-order-return .velostrada-customer-shell,
  body.page-order-detail .velostrada-customer-shell,
  body.page-order-follow .velostrada-customer-shell,
  body.page-guest-tracking .velostrada-customer-shell,
  body.page-pagenotfound .page {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1980px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Final cart-action alignment override. */
@media (min-width: 851px) {
  body.page-cart .cart-grid__products-details {
    align-items: center;
    column-gap: 24px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    row-gap: 16px;
  }

  body.page-cart .cart-grid__products-details > .cart__overview {
    grid-column: 1 / -1;
  }

  body.page-cart .cart-grid__products-details > .cart__continue-shopping {
    grid-column: 1;
    justify-self: start;
    margin: 0 0 0 18px !important;
  }

  body.page-cart .cart-grid__products-details > #oblicz-rate {
    grid-column: 2;
    justify-self: stretch;
    margin: 0 22px 0 0 !important;
    max-width: none !important;
    text-align: right !important;
    width: auto !important;
  }
}

/* Final media override: source images include a white canvas, so crop at the last cascade layer. */
body.page-product .product__thumbnail {
  aspect-ratio: 1 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
}

body.page-product .product__thumbnail-image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.36) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__top,
body.page-product .featured-products .product-miniature__top {
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-product .ps-categoryproducts .product-miniature__image-container,
body.page-product .ps-categoryproducts .product-miniature__image-link,
body.page-product .ps-categoryproducts .product-miniature__image-link picture,
body.page-product .featured-products .product-miniature__image-container,
body.page-product .featured-products .product-miniature__image-link,
body.page-product .featured-products .product-miniature__image-link picture {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__image,
body.page-product .featured-products .product-miniature__image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.42) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

/* Finance remains a genuine, full-size action instead of an unexplained banner graphic. */
body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  align-items: center !important;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  color: #081013 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty a:hover,
body.page-product .product__additional-info .velostrada-installment-button a:hover {
  background: #081013 !important;
  border-color: #b7ff00 !important;
  color: #b7ff00 !important;
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  display: none !important;
}

body.page-product .product__additional-info #eraty a::before {
  content: 'Oblicz ratę eRaty Santander' !important;
}

body.page-product .product__additional-info .velostrada-installment-button a::before {
  content: 'Sprawdź ratę w Alior Banku' !important;
}

/* Catalogue filters navigate to the full themed result instead of replacing cards through AJAX. */
body.page-category .velo-catalog-demo__filters {
  border-radius: 5px !important;
  grid-template-columns: 170px minmax(0, 1fr) !important;
  overflow: visible !important;
}

body.page-category .velo-catalog-demo__filter-title,
body.page-category .velo-catalog-demo__search {
  border-left: 0 !important;
}

body.page-category .velo-catalog-demo__filter-title {
  border-right: 1px solid #26383a !important;
}

body.page-category .velo-catalog-demo__facets {
  border-left: 0 !important;
  border-top: 1px solid #26383a !important;
  grid-column: 1 / -1 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.page-category .velo-catalog-demo__facets #search-filters {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.page-category .velo-catalog-demo__facets #search-filters > .left-block__title {
  display: none !important;
}

body.page-category .velo-catalog-demo__facets #search-filters > .accordion {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.page-category .velo-catalog-demo__facets .accordion-item {
  border: 0 !important;
  border-left: 1px solid #26383a !important;
  margin: 0 !important;
  min-width: 0;
  position: relative;
}

body.page-category .velo-catalog-demo__facets .accordion-item:first-child {
  border-left: 0 !important;
}

body.page-category .velo-catalog-demo__facets .accordion-button {
  align-items: center !important;
  background: #0d191b !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #f4f7f2 !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  justify-content: space-between !important;
  min-height: 54px !important;
  padding: 0 16px !important;
}

body.page-category .velo-catalog-demo__facets .accordion-button::after {
  filter: invert(85%) sepia(8%) saturate(492%) hue-rotate(100deg) brightness(104%) contrast(88%);
}

body.page-category .velo-catalog-demo__facets .accordion-collapse {
  background: #101d1f !important;
  border: 1px solid #526062 !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .35) !important;
  left: -1px;
  max-height: 310px;
  min-width: 245px;
  overflow: auto;
  position: absolute !important;
  right: auto;
  top: 100%;
  z-index: 30;
}

body.page-category .velo-catalog-demo__facets .accordion-collapse:not(.show) {
  display: none !important;
}

body.page-category .velo-catalog-demo__facets .accordion-body {
  margin: 0 !important;
  padding: 10px 14px 14px !important;
}

body.page-category .velo-catalog-demo__facets .accordion-body li {
  list-style: none;
  margin: 0;
}

body.page-category .velo-catalog-demo__facets .search-filters__form-check {
  align-items: center;
  border-bottom: 1px solid #26383a;
  display: flex;
  gap: 8px;
  padding: 9px 0;
}

body.page-category .velo-catalog-demo__facets .search-filters__form-check input {
  accent-color: #b7ff00;
  display: block !important;
  flex: 0 0 auto;
  margin: 0;
}

body.page-category .velo-catalog-demo__facets .search-filters__form-label,
body.page-category .velo-catalog-demo__facets .search-filters__link {
  color: #dce6df !important;
  cursor: pointer;
  font-size: 12px !important;
  line-height: 1.3;
  text-decoration: none !important;
}

body.page-category .velo-catalog-demo__facets .search-filters__form-check:hover .search-filters__link {
  color: #b7ff00 !important;
}

body.page-category .velo-catalog-demo #js-product-list .product-miniature__top {
  aspect-ratio: 4 / 3 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-category .velo-catalog-demo #js-product-list .product-miniature__top .product-flags {
  left: 10px !important;
  position: absolute !important;
  top: 10px !important;
  z-index: 2 !important;
}

body.page-category .velo-catalog-demo #js-product-list .product-miniature__image-container,
body.page-category .velo-catalog-demo #js-product-list .product-miniature__image-link,
body.page-category .velo-catalog-demo #js-product-list .product-miniature__image-link picture {
  background: transparent !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.page-category .velo-catalog-demo #js-product-list .product-miniature__image {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

@media (max-width: 850px) {
  body.page-category .velo-catalog-demo__filters { grid-template-columns: 1fr !important; }
  body.page-category .velo-catalog-demo__filter-title { border-bottom: 1px solid #26383a !important; border-right: 0 !important; }
  body.page-category .velo-catalog-demo__facets #search-filters > .accordion { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Product pages sit one tone above the outer canvas, keeping the content area legible. */
body.page-product { background: #061012 !important; }
body.page-product #wrapper { background: #091416 !important; }

/* Related and viewed products share one compact, four-column card system. */
body.page-product .ps-categoryproducts .products,
body.page-product .featured-products .products {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.page-product .featured-products {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #294043 !important;
  margin: 0 !important;
  padding: 38px 4% 58px !important;
}

body.page-product .featured-products h2 {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin: 0 0 20px !important;
  text-transform: none !important;
}

body.page-product .ps-categoryproducts .product-miniature__inner,
body.page-product .featured-products .product-miniature__inner {
  background: #0b1618 !important;
  border: 1px solid #2d4143 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
  overflow: hidden !important;
}

body.page-product .ps-categoryproducts .product-miniature__top,
body.page-product .featured-products .product-miniature__top {
  aspect-ratio: 1.52 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-product .ps-categoryproducts .product-miniature__top .product-flags,
body.page-product .featured-products .product-miniature__top .product-flags {
  left: 9px !important;
  position: absolute !important;
  top: 9px !important;
  z-index: 2 !important;
}

body.page-product .ps-categoryproducts .product-miniature__image-container,
body.page-product .ps-categoryproducts .product-miniature__image-link,
body.page-product .ps-categoryproducts .product-miniature__image-link picture,
body.page-product .featured-products .product-miniature__image-container,
body.page-product .featured-products .product-miniature__image-link,
body.page-product .featured-products .product-miniature__image-link picture {
  background: transparent !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__image,
body.page-product .featured-products .product-miniature__image {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__bottom,
body.page-product .featured-products .product-miniature__bottom {
  background: #0b1618 !important;
  padding: 13px 14px 14px !important;
}

body.page-product .ps-categoryproducts .product-miniature__title,
body.page-product .featured-products .product-miniature__title {
  font-size: 13px !important;
  line-height: 1.25 !important;
  min-height: 49px !important;
}

body.page-product .ps-categoryproducts .product-miniature__price,
body.page-product .featured-products .product-miniature__price {
  font-size: 15px !important;
}

body.page-product .ps-categoryproducts .product-miniature__actions .btn,
body.page-product .featured-products .product-miniature__actions .btn,
body.page-product .featured-products .product-miniature__details {
  font-size: 11px !important;
  min-height: 38px !important;
}

@media (max-width: 991px) {
  body.page-product .ps-categoryproducts .products,
  body.page-product .featured-products .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.page-product .ps-categoryproducts .products,
  body.page-product .featured-products .products { grid-template-columns: 1fr !important; }
}

/* Final product-detail pass, kept last so the shared canvas cannot re-expand it. */
body.page-product #wrapper {
  background: #081013 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-product .columns-container > .row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-product .product__container {
  gap: clamp(28px, 3vw, 52px) !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr) !important;
  max-width: 1560px !important;
  padding: 28px 4% 56px !important;
}

body.page-product .product__carousel {
  background: #0d1517 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body.page-product .product__carousel .carousel-item {
  aspect-ratio: 4 / 3 !important;
  background: #0d1517 !important;
  overflow: hidden !important;
}

body.page-product .product__carousel .carousel-item picture { display: block; height: 100%; width: 100%; }

body.page-product .product__carousel .carousel-item img {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  transform: scale(1.18) !important;
  width: 100% !important;
}

body.page-product .product__name {
  font-size: clamp(25px, 1.8vw, 32px) !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
}

body.page-product .product__price { font-size: clamp(24px, 1.85vw, 31px) !important; }

body.page-product .product__description-short,
body.page-product .product__description-short * { font-size: 15px !important; line-height: 1.5 !important; }

/* A compact purchase row keeps quantity, cart and payment options readable. */
body.page-product .product__actions-qty-add {
  align-items: stretch !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  max-width: 540px;
  width: 100%;
}

body.page-product .product-actions__quantity,
body.page-product .product__quantity { flex: 0 0 132px !important; width: 132px !important; }

body.page-product .quantity-button__group {
  background: #0d191b !important;
  border: 1px solid #3a4d4f !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: stretch !important;
  min-height: 48px;
  overflow: hidden;
}

body.page-product .quantity-button__group .btn {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #b7ff00 !important;
  flex: 0 0 40px !important;
  height: 46px !important;
  min-height: 46px;
  padding: 0 !important;
}

body.page-product .quantity-button__group input.form-control,
body.page-product .quantity-button__group #quantity_wanted {
  -webkit-text-fill-color: #f6f7f3 !important;
  appearance: textfield !important;
  background: #132023 !important;
  border: 0 !important;
  border-inline: 1px solid #3a4d4f !important;
  border-radius: 0 !important;
  color: #f6f7f3 !important;
  display: block !important;
  flex: 0 0 50px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  height: 46px !important;
  line-height: 46px !important;
  min-width: 50px !important;
  min-height: 46px;
  padding: 0 !important;
  opacity: 1 !important;
  text-align: center;
  width: 50px !important;
}

body.page-product .product__add-to-cart { flex: 0 1 330px !important; }

body.page-product .product__add-to-cart-button {
  border-radius: 3px !important;
  min-height: 48px !important;
  width: 100% !important;
}

body.page-product .product__additional-info {
  align-items: stretch !important;
  display: grid !important;
  gap: 10px 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px !important;
  max-width: 540px;
}

body.page-product .product__additional-info .ps-sharebuttons {
  align-items: center;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  gap: 9px;
  grid-column: 1 / -1;
  margin: 0 !important;
  order: 2;
}

body.page-product .product__additional-info .ps-sharebuttons__label { color: #c6d1cc !important; font-size: 13px !important; }
body.page-product .product__additional-info .ps-sharebuttons__list { gap: 4px !important; }
body.page-product .product__additional-info .ps-sharebuttons__link { color: #f4f7f2 !important; height: 28px !important; width: 28px !important; }

body.page-product .product__additional-info #eraty,
body.page-product .product__additional-info .velostrada-installment-button {
  align-items: center;
  display: flex !important;
  min-width: 0;
  margin: 0 !important;
  order: 1;
  width: 100%;
}

body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  align-items: center;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  box-sizing: border-box;
  display: flex !important;
  justify-content: center;
  min-height: 48px;
  padding: 8px 14px;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
  width: 100%;
}

body.page-product .product__additional-info #eraty a:hover,
body.page-product .product__additional-info .velostrada-installment-button a:hover {
  background: #d0ff51 !important;
  border-color: #d0ff51 !important;
  transform: translateY(-1px);
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  height: 30px !important;
  max-width: 100% !important;
  object-fit: contain;
  width: auto !important;
}

@media (max-width: 600px) {
  body.page-product .product__actions-qty-add { max-width: none; }
  body.page-product .product__add-to-cart { flex: 1 1 180px !important; }
}

body.page-product .velostrada-product-note__grid { column-gap: 34px !important; row-gap: 0 !important; }

body.page-product .velostrada-product-note__card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid #294043 !important;
  box-shadow: none !important;
  padding: 17px 0 19px !important;
}

body.page-product .velostrada-product-note__card h2 { font-size: 17px !important; line-height: 1.22 !important; margin: 7px 0 !important; }
body.page-product .velostrada-product-note__card p { font-size: 14px !important; line-height: 1.45 !important; margin: 0 !important; }

@media (max-width: 991px) {
  body.page-product .product__container { display: block !important; }
  body.page-product .product__right { margin-top: 28px; }
}

/* Header parity: every desktop route follows the approved home-page header. */
@media (min-width: 851px) {
  body:not(.page-index):not(.page-category) .velostrada-header,
  body.page-index .velostrada-concept--vision .velo-vision-header,
  body.page-category .velo-catalog-vision-header {
    background: #0b1416 !important;
    border-bottom: 1px solid #2b3839 !important;
    height: 92px !important;
    min-height: 92px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__row {
    min-height: 92px !important;
  }

  body:not(.page-index):not(.page-category) .velostrada-header__container,
  body.page-index .velostrada-concept--vision .velo-vision-header,
  body.page-category .velo-catalog-vision-header {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
}

/* The catalogue owns one header only; the former negative offset made a false top band. */
body.page-category:has(.velo-catalog-demo) #wrapper {
  margin-bottom: 0 !important;
  transform: none !important;
}

/* One header DOM node on every route. Home and catalogue no longer render a second copy. */
body.page-index:has(.velostrada-concept--vision) #header,
body.page-category:has(.velo-catalog-demo) #header {
  display: block !important;
}

body.page-index .velostrada-concept--vision > .velo-vision-header,
body.page-category:has(.velo-catalog-demo) #center-column > .velo-catalog-vision-header {
  display: none !important;
}

/* The category template ships a second, local navigation block. The layout owns navigation now. */
body .velo-catalog-vision-header {
  display: none !important;
}

/* Single source of truth for the desktop header on every page. */
body .velo-global-header {
  align-items: center;
  background: #0b1416;
  border-bottom: 1px solid #2b3839;
  box-sizing: border-box;
  display: flex;
  gap: 30px;
  height: 92px;
  padding: 0 5%;
  position: relative;
  width: 100%;
  z-index: 20;
}

body .velo-global-header__brand {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

body .velo-global-header__brand img { display: block; height: auto; max-height: 62px; width: 270px; }
body .velo-global-header nav { display: flex; gap: 28px; }
body .velo-global-header nav a { color: #f8faf9; font-family: Arial, sans-serif; font-size: 14px; text-decoration: none; white-space: nowrap; }
body .velo-global-header nav a:hover { color: #b7ff00; }
body .velo-global-header__tools { align-items: center; display: flex; gap: 19px; margin-left: auto; }
body .velo-global-header__search { align-items: center; background: #152023; border: 1px solid #526062; border-radius: 6px; color: #aeb6b6; display: flex; font-family: Arial, sans-serif; font-size: 14px; gap: 8px; min-height: 48px; padding: 0 14px; text-decoration: none; width: 340px; }
body .velo-global-header__search i { color: #f8faf9; font-family: 'Material Icons'; font-size: 20px; }
body .velo-global-header__account, body .velo-global-header__cart { align-items: center; color: #f8faf9; display: inline-flex; font-family: Arial, sans-serif; font-size: 14px; font-weight: 700; gap: 7px; min-height: 48px; position: relative; text-decoration: none; white-space: nowrap; }
body .velo-global-header__account i, body .velo-global-header__cart i { font-family: 'Material Icons'; font-size: 25px; line-height: 1; }
body .velo-global-header__cart { font-size: 28px; padding: 5px; }
body .velo-global-header__cart b { align-items: center; background: #b7ff00; border-radius: 50%; color: #071113; display: flex; font: 700 10px Arial, sans-serif; height: 16px; justify-content: center; position: absolute; right: -2px; bottom: 1px; width: 16px; }

/* A three-column header prevents the centred brand from overlapping tools. */
@media (min-width: 851px) {
  body .velo-global-header {
    column-gap: 24px;
    display: grid;
    grid-template-areas: 'nav brand tools';
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  body .velo-global-header__brand {
    grid-area: brand;
    left: auto;
    position: static;
    transform: none;
  }

  body .velo-global-header nav { grid-area: nav; min-width: 0; }
  body .velo-global-header__tools { grid-area: tools; justify-content: flex-end; min-width: 0; }
}

@media (min-width: 851px) and (max-width: 1150px) {
  body .velo-global-header { column-gap: 16px; padding-inline: 3%; }
  body .velo-global-header__brand img { max-height: 42px; width: 150px; }
  body .velo-global-header nav { gap: 16px; }
  body .velo-global-header nav a { font-size: 12px; }
  body .velo-global-header__tools { gap: 10px; }
  body .velo-global-header__search { font-size: 0; min-height: 42px; padding: 0; place-content: center; width: 42px; }
  body .velo-global-header__account span { display: none; }
  body .velo-global-header__account, body .velo-global-header__cart { min-height: 42px; }
}

/* Keep all three header groups clear at laptop widths without moving the centred logo. */
@media (min-width: 851px) and (max-width: 1300px) {
  body .velo-global-header { gap: 20px; padding: 0 5%; }
  body .velo-global-header__brand img { max-height: 52px; width: 180px; }
  body .velo-global-header nav { gap: 24px; }
  body .velo-global-header nav a { font-size: 13px; }
  body .velo-global-header__tools { gap: 12px; }
  body .velo-global-header__search { font-size: 13px; min-height: 44px; width: 200px; }
  body .velo-global-header__account, body .velo-global-header__cart { font-size: 13px; min-height: 44px; }
  body .velo-global-header__account i, body .velo-global-header__cart i { font-size: 23px; }
}

/* Below typical laptop width, reserve the header space for navigation and the logo. */
@media (min-width: 851px) and (max-width: 1150px) {
  body .velo-global-header { column-gap: 16px; padding-inline: 3%; }
  body .velo-global-header__brand img { max-height: 42px; width: 150px; }
  body .velo-global-header nav { gap: 16px; }
  body .velo-global-header nav a { font-size: 12px; }
  body .velo-global-header__tools { gap: 10px; }
  body .velo-global-header__search { font-size: 0; min-height: 42px; padding: 0; place-content: center; width: 42px; }
  body .velo-global-header__account span { display: none; }
  body .velo-global-header__account, body .velo-global-header__cart { min-height: 42px; }
}

@media (max-width: 850px) {
  body .velo-global-header { height: auto; min-height: 68px; padding: 12px 20px; }
  body .velo-global-header__brand { left: 50%; }
  body .velo-global-header__brand img { max-height: 42px; width: 180px; }
  body .velo-global-header nav { display: none; }
  body .velo-global-header__tools { gap: 12px; }
  body .velo-global-header__search { font-size: 0; min-height: 42px; padding: 0; place-content: center; width: 42px; }
  body .velo-global-header__account span { display: none; }
  body .velo-global-header__account, body .velo-global-header__cart { min-height: 42px; }
}

/* The accessibility anchor must not reserve a visible strip above the single header. */
body > #back-to-top {
  display: none !important;
}

body .velo-site-frame,
body .velo-site-frame > #header.header,
body .velo-site-frame > #header .header-bottom.velostrada-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 851px) {
  body .velo-site-frame {
    margin-top: 0 !important;
  }
}

@media (min-width: 851px) {
  body .velo-site-frame > #header.header {
    display: block !important;
    height: 92px !important;
    min-height: 92px !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
  }

  body .velo-site-frame > #header .header-bottom.velostrada-header {
    height: 92px !important;
    min-height: 92px !important;
    left: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 1022 !important;
  }
}

/* Master frame wins over legacy per-page width overrides. */
@media (min-width: 851px) {
  body .velo-site-frame {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 1980px;
    width: 100%;
  }

  body .velo-site-frame > #header,
  body .velo-site-frame > #wrapper,
  body .velo-site-frame > #footer,
  body .velo-site-frame .velo-vision-header,
  body .velo-site-frame .velo-catalog-vision-header,
  body .velo-site-frame .velo-vision-footer,
  body .velo-site-frame .velo-catalog-footer,
  body .velo-site-frame .velo-catalog-demo,
  body .velo-site-frame .velo-vision-confidence,
  body .velo-site-frame .velo-shared-confidence,
  body .velo-site-frame .footer.footer__main.velostrada-footer {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  body .velo-site-frame > #header .header-bottom.velostrada-header,
  body .velo-site-frame .velo-vision-header,
  body .velo-site-frame .velo-catalog-vision-header,
  body .velo-site-frame .velo-vision-footer,
  body .velo-site-frame .velo-catalog-footer,
  body .velo-site-frame > #footer .footer.footer__main.velostrada-footer {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }

  body .velo-brand-rail { top: 78px !important; }
  body .velo-brand-rail__track { padding-top: 24px !important; }
}

/* One frame for every route: home, catalogue, customer pages, header and footer. */
@media (min-width: 851px) {
  body #wrapper,
  body .header-bottom.velostrada-header,
  body .velo-vision-header,
  body .velo-catalog-vision-header,
  body .velo-catalog-demo,
  body .velo-vision-confidence,
  body .velo-shared-confidence,
  body .velo-vision-footer,
  body .velo-catalog-footer,
  body .footer.footer__main.velostrada-footer {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1980px !important;
    width: 100% !important;
  }

  body .velo-vision-header,
  body .velo-catalog-vision-header,
  body .header-bottom.velostrada-header,
  body .velo-vision-footer,
  body .velo-catalog-footer,
  body .footer.footer__main.velostrada-footer {
    padding-left: max(5%, 0px) !important;
    padding-right: max(5%, 0px) !important;
  }

  body .velo-brand-rail { top: 92px; }
}

/* The shared header and footer sit on the same 1980px grid as the shop. */
@media (min-width: 851px) {
  body:not(.page-index):not(.page-category) .velostrada-header,
  body:not(.page-index):not(.page-category) .velo-shared-confidence,
  body:not(.page-index):not(.page-category) .velostrada-footer {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1980px !important;
  }
}

/* Final login overrides: these intentionally come last to beat legacy demo widths. */
body.page-authentication .velostrada-auth-shell--login {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__intro {
  border-bottom: 1px solid #2a3b3d !important;
  margin: 0 0 28px !important;
  max-width: none !important;
  padding: 0 0 26px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__title {
  font-size: clamp(40px, 4vw, 58px) !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__content {
  align-items: start !important;
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: minmax(300px, .78fr) minmax(430px, 1.22fr) !important;
  max-width: none !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel,
body.page-authentication .velostrada-auth-shell--login .login {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: 28px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #2a3b3d !important;
  border-radius: 0 !important;
  padding: 14px 0 !important;
}

body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li:first-child { padding-top: 0 !important; }
body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__benefits li:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__support { border-left: 3px solid #b7ff00 !important; padding-left: 16px !important; }
body.page-authentication .velostrada-auth-shell--login .login input { min-height: 48px !important; }

body:not(.page-index):not(.page-category) .velostrada-header__account i,
body:not(.page-index):not(.page-category) .velostrada-header__cart i {
  display: inline-block !important;
  font-family: 'Material Icons' !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

@media (max-width: 850px) {
  body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__content { grid-template-columns: 1fr !important; }
  body.page-authentication .velostrada-auth-shell--login .velostrada-auth-shell__panel,
  body.page-authentication .velostrada-auth-shell--login .login { padding: 22px !important; }
}

/* Final registration width repair: deliberately last in the stylesheet. */
body.page-registration .velostrada-auth-shell--register {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .velostrada-auth-shell__intro { max-width: none !important; }

body.page-registration .velostrada-auth-shell--register .velostrada-register-layout {
  grid-template-columns: minmax(280px, .62fr) minmax(560px, 1.38fr) !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-registration .velostrada-auth-shell--register .register-form {
  box-sizing: border-box !important;
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.page-registration #customer-form > section > :has([id^="field-id_gender"]),
body.page-registration #customer-form > section > :has(#field-email),
body.page-registration #customer-form > section > :has(#field-password),
body.page-registration #customer-form > section > :has(#field-optin),
body.page-registration #customer-form > section > :has(#field-psgdpr),
body.page-registration #customer-form > section > :has(#field-customer_privacy),
body.page-registration #customer-form > section > :has(#field-newsletter) { grid-column: 1 / -1 !important; }

@media (max-width: 850px) {
  body.page-registration .velostrada-auth-shell--register .velostrada-register-layout { grid-template-columns: 1fr !important; }
  body.page-registration .velostrada-register-layout__image { height: 190px; }
}

/* Standard CMS pages use the same wide editorial rhythm as the catalogue. */
body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) {
  display: grid !important;
  gap: 0 34px !important;
  grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr) !important;
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__intro {
  align-self: stretch;
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 !important;
  max-width: none !important;
  min-height: 360px;
  padding: 48px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__intro .page-title-section {
  font-size: clamp(38px, 4vw, 62px) !important;
  line-height: 1.02 !important;
  margin: 8px 0 18px !important;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__media {
  border: 1px solid #34484a;
  height: 360px;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: hidden;
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__body {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  grid-column: 1 / -1;
  margin-top: 34px !important;
  max-width: none !important;
  padding: 32px 48px !important;
}

body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__body p {
  color: #d4ded8 !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  max-width: 940px;
}

@media (max-width: 850px) {
  body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) {
    display: flex !important;
    flex-direction: column;
    padding: 28px 20px 48px !important;
  }

  body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__intro,
  body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__media { min-height: 260px; padding: 28px !important; }

  body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__media { height: 260px; padding: 0 !important; }
  body.page-cms .velostrada-rich-layout:not(.velostrada-rich-layout--service):not(.velostrada-rich-layout--regulations):not(.velostrada-rich-layout--financing) > .velostrada-rich-layout__body { margin-top: 20px !important; padding: 26px !important; }
}

body.page-cms .velostrada-rich-layout--service {
  max-width: none !important;
  padding: 38px 5% 64px !important;
  width: 100% !important;
}

body.page-cms .velostrada-rich-layout--service .velostrada-rich-layout__intro {
  max-width: none !important;
  padding: 0 0 26px !important;
}

body.page-cms .velostrada-rich-layout--service .velostrada-service-board {
  border: 1px solid #34484a;
  height: 360px;
  margin: 0 0 34px;
  overflow: hidden;
  position: relative;
}

body.page-cms .velostrada-rich-layout--service .velostrada-service-board__media,
body.page-cms .velostrada-rich-layout--service .velostrada-service-board__media img { height: 100%; width: 100%; }
body.page-cms .velostrada-rich-layout--service .velostrada-service-board__media img { display: block; object-fit: cover; object-position: center; }
body.page-cms .velostrada-rich-layout--service .velostrada-service-board__overlay { display: none !important; }

@media (max-width: 850px) {
  body.page-cms .velostrada-rich-layout--service { padding: 28px 20px 48px !important; }
  body.page-cms .velostrada-rich-layout--service .velostrada-service-board { height: 240px; }
}

/* Password recovery belongs to the same full-width account experience as login and registration. */
body.page-password .columns-container,
body.page-password .columns-container.container,
body.page-password #content-wrapper,
body.page-password #center-column,
body.page-password .page-content { background: transparent !important; max-width: none !important; padding: 0 !important; }

body.page-password .velostrada-password-shell {
  background: #0d191b;
  border: 1px solid #34484a;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  margin: 38px 5% 64px;
  max-width: 1080px;
  padding: 0;
  width: 100%;
  width: calc(100% - 10%);
}

body.page-password .velostrada-password-shell * { font-family: Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }

body.page-password .velostrada-password-shell__intro {
  align-items: flex-start;
  background: #0b1618;
  border: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 280px;
  overflow: hidden;
  padding: 38px;
  position: relative;
}

body.page-password .velostrada-password-shell__intro::before {
  background: linear-gradient(90deg, rgba(11, 22, 24, .98) 0%, rgba(11, 22, 24, .88) 46%, rgba(11, 22, 24, .18) 100%), url('../img/velostrada-generated/account-workshop-registration.png') center / cover;
  content: '';
  inset: 0;
  position: absolute;
}

body.page-password .velostrada-password-shell__intro > *:not(img) { position: relative; z-index: 1; }

body.page-password .velostrada-password-shell__intro h1 { color: #f6f6f0; font-size: clamp(38px, 4vw, 56px); font-weight: 800; line-height: 1.02; margin: 7px 0 14px; }
body.page-password .velostrada-password-shell__intro > p:last-of-type { color: #c6d1cc; font-size: 16px; line-height: 1.58; margin: 0; max-width: 470px; }
body.page-password .velostrada-password-shell__intro img { display: none; }

body.page-password .velostrada-password-shell__form {
  align-items: center;
  align-self: stretch;
  background: transparent;
  border: 0;
  border-top: 1px solid #34484a;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 26px;
  min-height: 0;
  padding: 38px;
}

body.page-password .velostrada-password-shell__form .form-fields { max-width: 640px; width: 100%; }
body.page-password .velostrada-password-shell__form .form-label { color: #f4f7f2; font-size: 14px; font-weight: 700; }
body.page-password .velostrada-password-shell__form .form-control { background: #101d1f; border: 1px solid #34484a; border-radius: 4px; color: #f4f7f2; min-height: 50px; }
body.page-password .velostrada-password-shell__form .btn-primary { background: #b7ff00; border-color: #b7ff00; border-radius: 4px; color: #081013; font-weight: 800; min-height: 48px; padding-inline: 20px; }
body.page-password .velostrada-password-shell__form .btn-basic { border: 1px solid #526062; border-radius: 4px; color: #f4f7f2; font-weight: 700; padding: 11px 14px; text-decoration: none; }
body.page-password .velostrada-password-shell__form .btn-basic:hover { border-color: #b7ff00; color: #b7ff00; }
body.page-password .velostrada-password-shell__form .alert { margin: 0; }
body.page-password .velostrada-password-shell--confirmation .velostrada-password-shell__intro { min-height: 300px; }

/* Contact is online-only: use the complete width for the message form. */
body.page-contact .velostrada-contact-grid { grid-template-columns: minmax(0, 1fr) !important; margin-top: 30px !important; }
body.page-contact .velostrada-contact-grid .velostrada-rich-layout__body { max-width: none !important; width: 100% !important; }
body.page-contact .velostrada-contact-grid .contact-form { max-width: none !important; }

/* Search results use the catalogue image crop, without the legacy white canvas. */
body.page-search .product-miniature__top,
body.page-search .product-miniature__image-container {
  aspect-ratio: 4 / 3 !important;
  background: #101a1c !important;
  overflow: hidden !important;
}

body.page-search .product-miniature__image-link,
body.page-search .product-miniature__image-link picture {
  background: transparent !important;
  display: block !important;
  height: 100% !important;
  width: 100% !important;
}

body.page-search .product-miniature__image {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* Checkout stays in the same utilitarian catalogue system through every native PrestaShop step. */
body.page-order .checkout-steps {
  background: #0b1618 !important;
  border-bottom: 1px solid #34484a !important;
  margin: 0 !important;
  padding: 22px 5% !important;
}

/* Remove the previous green demo shell: checkout follows the full-width shop canvas. */
body.page-order { background: #081013 !important; }
body.page-order .columns-container.container,
body.page-order .columns-container,
body.page-order #content-wrapper,
body.page-order #center-column {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.page-order .checkout-steps__list {
  margin: 0 auto !important;
  max-width: 1420px !important;
}

body.page-order .checkout-steps__list .nav-link,
body.page-order .checkout-steps__list button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #92a29b !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-order .checkout-steps__list .nav-link.active,
body.page-order .checkout-steps__list .nav-link[aria-selected='true'],
body.page-order .checkout-steps__list .nav-link:hover {
  color: #f5f7f2 !important;
}

body.page-order .checkout-steps__list .nav-link.active::before,
body.page-order .checkout-steps__list .nav-link[aria-selected='true']::before {
  background: #b7ff00 !important;
  color: #081013 !important;
}

body.page-order .checkout-grid {
  align-items: start !important;
  gap: 0 !important;
  padding-bottom: 64px !important;
  padding-top: 38px !important;
}

body.page-order .checkout-grid__content,
body.page-order .checkout-grid__aside { align-self: start !important; }

body.page-order .checkout-grid__aside-wrapper,
body.page-order .checkout-step,
body.page-order .step {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

body.page-order .checkout-grid__aside-wrapper { padding: 24px !important; }
body.page-order .checkout-step,
body.page-order .step { margin: 0 0 18px !important; padding: 26px !important; }

body.page-order #checkout-personal-information-step {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.page-order .step__title,
body.page-order .checkout__summary-accordion-header,
body.page-order .cart-summary__top {
  border-bottom: 1px solid #314547 !important;
}

body.page-order .step__title hr { display: none !important; }
body.page-order .step__title .page-title-section,
body.page-order .checkout__summary-accordion-header .accordion-button,
body.page-order .cart-summary__top { color: #f5f7f2 !important; font-size: 22px !important; font-weight: 800 !important; }

body.page-order .checkout__summary-accordion,
body.page-order .checkout__summary-accordion-item,
body.page-order .checkout__summary-accordion-header,
body.page-order .checkout__summary-accordion-wrapper,
body.page-order .accordion-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-order .accordion-button { padding: 0 0 16px !important; }
body.page-order .accordion-button::after { filter: invert(92%) sepia(9%) saturate(258%) hue-rotate(84deg) brightness(108%) contrast(94%); }

body.page-order .step label,
body.page-order .step .form-label,
body.page-order .step legend { color: #f5f7f2 !important; font-size: 14px !important; font-weight: 700 !important; }

body.page-order .step input,
body.page-order .step select,
body.page-order .step textarea,
body.page-order .step .form-control,
body.page-order .step .form-select {
  background: #101d1f !important;
  border: 1px solid #3d5153 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  color: #f5f7f2 !important;
}

body.page-order .step input:focus,
body.page-order .step select:focus,
body.page-order .step textarea:focus { border-color: #b7ff00 !important; box-shadow: 0 0 0 2px rgba(183, 255, 0, .16) !important; }
body.page-order .step .form-control::placeholder { color: #92a29b !important; }

body.page-order .nav-underline { border-bottom: 1px solid #314547 !important; gap: 20px !important; margin: 0 0 24px !important; }
body.page-order .nav-underline .nav-link { border: 0 !important; border-bottom: 2px solid transparent !important; color: #aebbb4 !important; font-weight: 700 !important; padding: 0 0 10px !important; }
body.page-order .nav-underline .nav-link.active { border-bottom-color: #b7ff00 !important; color: #f5f7f2 !important; }

body.page-order .address-item,
body.page-order .delivery-option,
body.page-order .payment-option,
body.page-order .step__account,
body.page-order .cart-summary__line,
body.page-order .cart-summary__products,
body.page-order .cart-summary__voucher {
  background: #101d1f !important;
  border: 1px solid #314547 !important;
  border-radius: 4px !important;
  color: #d4ded8 !important;
}

body.page-order .delivery-option:hover,
body.page-order .payment-option:hover,
body.page-order .address-item:hover { border-color: #668083 !important; }
body.page-order .delivery-option:has(input:checked),
body.page-order .payment-option:has(input:checked) { border-left: 3px solid #b7ff00 !important; }

body.page-order .cart-summary__line,
body.page-order .cart-summary__products,
body.page-order .cart-summary__voucher { padding: 14px !important; }
body.page-order .cart-summary__label { color: #c6d1cc !important; }
body.page-order .cart-summary__value,
body.page-order .cart-summary__line--bold .cart-summary__value { color: #b7ff00 !important; font-weight: 800 !important; }
body.page-order .cart-summary__product-name,
body.page-order .cart-summary__product-quantity { color: #f5f7f2 !important; }

body.page-order .btn-primary,
body.page-order .btn-outline-primary,
body.page-order .js-back,
body.page-order .cart-voucher__submit {
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-order .btn-primary { background: #b7ff00 !important; border-color: #b7ff00 !important; color: #081013 !important; }
body.page-order .btn-outline-primary,
body.page-order .js-back { background: transparent !important; border-color: #526062 !important; color: #f5f7f2 !important; }
body.page-order .btn-outline-primary:hover,
body.page-order .js-back:hover { border-color: #b7ff00 !important; color: #b7ff00 !important; }
body.page-order .alert { border-radius: 4px !important; }

body.page-order .modal-content { background: #0d191b !important; border: 1px solid #526062 !important; border-radius: 5px !important; color: #f5f7f2 !important; }
body.page-order .modal-header,
body.page-order .modal-footer { border-color: #314547 !important; }

/* The footer already provides the customer-facing reassurance; hide untouched module placeholders in checkout. */
body.page-order .blockreassurance--checkout { display: none !important; }

/* Cart: use the same restrained catalogue surfaces and expose financing as an action. */
body.page-cart .velostrada-cart-shell {
  gap: 24px !important;
}

body.page-cart .cart-grid__content,
body.page-cart .cart-grid__aside-wrapper {
  background: #0b1719 !important;
  border-color: #34484a !important;
  border-radius: 4px !important;
  padding: 28px !important;
}

body.page-cart .cart-grid__content .page-title-section {
  font-size: clamp(34px, 3vw, 48px) !important;
  margin: 0 0 24px !important;
}

body.page-cart .cart__overview > hr {
  border-color: #314547 !important;
  margin: 0 0 16px !important;
  opacity: 1 !important;
}

body.page-cart .cart__item {
  background: #101d1f !important;
  border: 1px solid #314547 !important;
  border-radius: 3px !important;
  margin: 0 0 12px !important;
  padding: 16px !important;
}

body.page-cart .product-line__image,
body.page-cart .product-line__image a,
body.page-cart .product-line__image picture {
  background: #091416 !important;
  border-radius: 2px !important;
  display: block;
  overflow: hidden;
}

body.page-cart .product-line__img {
  aspect-ratio: 4 / 3;
  display: block !important;
  object-fit: cover !important;
  width: 128px !important;
}

body.page-cart .product-line__title {
  color: #f5f7f2 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
}

body.page-cart .product-line__item-price,
body.page-cart .product-line__price,
body.page-cart .cart-summary__value {
  color: #b7ff00 !important;
  font-weight: 800 !important;
}

body.page-cart .cart__continue-shopping {
  background: transparent !important;
  border: 1px solid #526062 !important;
  border-radius: 3px !important;
  color: #f5f7f2 !important;
  font-weight: 800 !important;
  margin-top: 4px;
}

body.page-cart .cart__continue-shopping:hover {
  border-color: #b7ff00 !important;
  color: #b7ff00 !important;
}

body.page-cart #oblicz-rate {
  margin: 16px 0 0 !important;
  max-width: 540px;
  text-align: left !important;
  width: 100%;
}

body.page-cart #oblicz-rate a {
  align-items: center;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  color: #081013 !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  gap: 12px;
  justify-content: center;
  min-height: 50px;
  padding: 8px 18px;
  text-decoration: none !important;
  width: 100%;
}

body.page-cart #oblicz-rate a::after {
  content: 'Sprawdź ratę w Alior Banku';
}

body.page-cart #oblicz-rate a:hover {
  background: #d0ff51 !important;
  border-color: #d0ff51 !important;
}

body.page-cart #oblicz-rate img {
  height: 28px !important;
  max-width: 78px !important;
  object-fit: contain;
  width: auto !important;
}

body.page-cart .cart-grid__aside-wrapper h2 {
  border-bottom: 1px solid #314547;
  color: #f5f7f2 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  padding-bottom: 16px;
}

body.page-cart .cart-summary__line {
  border-bottom: 1px solid #263a3c;
  padding: 14px 0 !important;
}

body.page-cart .cart-summary__actions .btn-primary {
  border-radius: 3px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  min-height: 50px;
  width: 100%;
}

body.page-cart .cart-summary__shipping-note {
  color: #aebdb7;
  font-size: 13px;
  line-height: 1.45;
  margin: 14px 0 0;
}

/* The PayU installment teaser is not an available checkout option. */
.payu-installment-panel,
#payu-installment-cart-total {
  display: none !important;
}

@media (max-width: 850px) {
  body.page-cart .cart-grid__content,
  body.page-cart .cart-grid__aside-wrapper { padding: 20px !important; }
  body.page-cart .product-line__img { width: 88px !important; }
  body.page-cart #oblicz-rate { max-width: none; }
}

/* Checkout keeps form and summary information open, without nested card outlines. */
body.page-order #checkout-personal-information-step .step__title {
  border-bottom: 0 !important;
}

body.page-order #checkout-personal-information-step form#customer-form > section {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__subtotals,
body.page-order #js-checkout-summary .cart-summary__total,
body.page-order #js-checkout-summary .cart-summary__products {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__subtotals {
  margin: 10px 0 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__total {
  border-top: 1px solid #314547 !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
}

body.page-order #js-checkout-summary .cart-summary__line {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #263a3c !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__total .cart-summary__line {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-order:not(.velo-delivery-choice-made) #js-checkout-summary #cart-subtotal-shipping,
body.page-order:not(.velo-delivery-choice-made) #js-checkout-summary .cart-summary__total {
  display: none !important;
}

body.page-order #checkout-personal-information-step .form-check:has(#field-customer_privacy) {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  padding-left: 0 !important;
}

body.page-order #checkout-personal-information-step .form-check:has(#field-customer_privacy) .form-check-input {
  flex: 0 0 auto;
  margin: 4px 0 0 !important;
  position: static !important;
}

body.page-order #checkout-personal-information-step .form-check:has(#field-customer_privacy) .form-check-label {
  flex: 1 1 auto;
}

/* Related and recently viewed products share the same wide catalogue treatment. */
body.page-product .ps-categoryproducts {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 38px 4% 58px !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products,
body.page-product .featured-products {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #294043 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .products,
body.page-product .featured-products > .products {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature,
body.page-product .featured-products > .products .product-miniature {
  min-width: 0 !important;
  width: auto !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__inner,
body.page-product .featured-products > .products .product-miniature__inner {
  background: #0b1618 !important;
  border: 1px solid #2d4143 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
  overflow: hidden !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__top,
body.page-product .featured-products > .products .product-miniature__top {
  aspect-ratio: 1.52 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-container,
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-link,
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-link picture,
body.page-product .featured-products > .products .product-miniature__image-container,
body.page-product .featured-products > .products .product-miniature__image-link,
body.page-product .featured-products > .products .product-miniature__image-link picture {
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image,
body.page-product .featured-products > .products .product-miniature__image {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  transform: scale(1.14) !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__bottom,
body.page-product .featured-products > .products .product-miniature__bottom {
  background: #0b1618 !important;
  padding: 13px 14px 14px !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__title,
body.page-product .featured-products > .products .product-miniature__title {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  min-height: 49px !important;
  text-transform: uppercase !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__price,
body.page-product .featured-products > .products .product-miniature__price {
  color: #b7ff00 !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__actions .btn,
body.page-product .featured-products > .products .product-miniature__actions .btn {
  background: #b7ff00 !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: #081013 !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  min-height: 38px !important;
  text-transform: uppercase !important;
}

@media (max-width: 991px) {
  body.page-product .ps-categoryproducts .velostrada-related-products .products,
  body.page-product .featured-products > .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.page-product .ps-categoryproducts .velostrada-related-products .products,
  body.page-product .featured-products > .products { grid-template-columns: 1fr !important; }
}

/* Product-page recommendation rows intentionally use one shared card geometry. */
body.page-product .ps-categoryproducts .velostrada-related-products .products,
body.page-product .featured-products .products {
  align-items: stretch !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature,
body.page-product .featured-products .product-miniature {
  display: flex !important;
  min-width: 0 !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__inner,
body.page-product .featured-products .product-miniature__inner {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__top,
body.page-product .featured-products .product-miniature__top {
  aspect-ratio: 4 / 3 !important;
  background: #101a1c !important;
  flex: 0 0 auto !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-container,
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-link,
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image-link picture,
body.page-product .featured-products .product-miniature__image-container,
body.page-product .featured-products .product-miniature__image-link,
body.page-product .featured-products .product-miniature__image-link picture {
  background: #101a1c !important;
  height: 100% !important;
  overflow: hidden !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__image,
body.page-product .featured-products .product-miniature__image {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.38) !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__bottom,
body.page-product .featured-products .product-miniature__bottom {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__actions,
body.page-product .featured-products .product-miniature__actions {
  margin-top: auto !important;
}

@media (max-width: 991px) {
  body.page-product .ps-categoryproducts .velostrada-related-products .products,
  body.page-product .featured-products .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.page-product .ps-categoryproducts .velostrada-related-products .products,
  body.page-product .featured-products .products { grid-template-columns: 1fr !important; }
}

/* Finance partner artwork is the button face, not a small logo placed on it. */
body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  background: transparent !important;
  border-color: transparent !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: fill !important;
  width: 100% !important;
}

/* Catalogue filters use direct catalogue URLs so every visible option has a result. */
body.page-category .velo-catalog-demo__quick-filters {
  border-top: 1px solid #26383a;
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px 0;
}

body.page-category .velo-catalog-demo__quick-filter-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.page-category .velo-catalog-demo__quick-filter-group span {
  color: #b7ff00;
  font-size: 11px;
  font-weight: 800;
  margin-right: 4px;
  text-transform: uppercase;
}

body.page-category .velo-catalog-demo__quick-filter-group a {
  background: #0d191b;
  border: 1px solid #365054;
  border-radius: 3px;
  color: #e8efea;
  font-size: 13px;
  line-height: 1;
  padding: 9px 11px;
  text-decoration: none;
}

body.page-category .velo-catalog-demo__quick-filter-group a:hover,
body.page-category .velo-catalog-demo__quick-filter-group a:focus-visible {
  border-color: #b7ff00;
  color: #b7ff00;
}

body.page-category .velo-catalog-demo__facets #search-filters > .accordion {
  display: block !important;
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='price'] {
  display: block !important;
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='manufacturer'] {
  border: 0 !important;
  max-width: 360px;
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='manufacturer'] .accordion-collapse {
  display: none;
  left: 0;
  min-width: 100%;
  right: auto;
  top: calc(100% + 4px);
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='manufacturer'] .accordion-collapse.show {
  display: block !important;
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='manufacturer'] .accordion-body {
  column-count: 2;
  column-gap: 18px;
}

body.page-category .velo-catalog-demo__facets .accordion-item[data-type='manufacturer'] li {
  break-inside: avoid;
}

@media (max-width: 850px) {
  body.page-category .velo-catalog-demo__quick-filters { grid-template-columns: 1fr; }
}

/* Gallery thumbnails are square crops, never a white 4:3 image on a square tile. */
body.page-product .product__thumbnail {
  aspect-ratio: 1 / 1 !important;
  background: #101a1c !important;
  display: block !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.page-product .product__thumbnail-image {
  background: #101a1c !important;
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.04);
  width: 100% !important;
}

/* Keep purchase, instalments and sharing in one vertical action stack. */
body.page-product .product__additional-info {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  max-width: 540px !important;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty,
body.page-product .product__additional-info .velostrada-installment-button {
  display: block !important;
  margin: 0 !important;
  order: 1;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  align-items: center;
  display: flex !important;
  gap: 14px;
  justify-content: center;
  min-height: 48px;
  width: 100% !important;
}

body.page-product .product__additional-info .ps-sharebuttons {
  align-self: flex-start;
  margin-top: 4px !important;
  order: 2;
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  flex: 0 0 auto;
  height: 28px !important;
  max-width: 150px !important;
  width: auto !important;
}

/* Facet panels retain a native, keyboard-safe opening path if module JS is delayed. */
body.page-category .velo-catalog-demo__facets .accordion-item:focus-within .accordion-collapse {
  display: block !important;
}

body.page-category .velo-catalog-demo__facets .accordion-item:focus-within .accordion-button {
  color: #b7ff00 !important;
}

/* Native catalogue facets: expose every configured product attribute as a usable filter. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters {
  height: auto !important;
  min-height: 0 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
  align-items: start !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item:first-child {
  background: #101f21 !important;
  border: 1px solid #32494b !important;
  border-radius: 4px !important;
  flex: none !important;
  margin: 0 !important;
  min-height: 48px !important;
  order: initial !important;
  position: relative !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-button {
  background: transparent !important;
  border: 0 !important;
  color: #f4f7f2 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item:first-child .accordion-collapse,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item:first-child:focus-within .accordion-collapse,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item:first-child:hover .accordion-collapse {
  display: none !important;
  left: -1px !important;
  min-width: 100% !important;
  position: absolute !important;
  right: auto !important;
  top: calc(100% + 6px) !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-collapse.show,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item:first-child .accordion-collapse.show {
  display: block !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item[data-type='price'] {
  border-color: rgba(183, 255, 0, .58) !important;
}

@media (max-width: 1100px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 991px) {
  body.page-order .checkout-steps { padding: 16px 20px !important; }
  body.page-order .checkout-grid__aside { margin-top: 20px !important; }
}

@media (max-width: 850px) {
  body.page-password .velostrada-password-shell { margin: 28px 20px 48px; width: calc(100% - 40px); }
  body.page-password .velostrada-password-shell__intro,
  body.page-password .velostrada-password-shell__form { min-height: 0; padding: 28px; }
  body.page-password .velostrada-password-shell__form { border-top: 1px solid #34484a; }
}

/* Final shared frame: no route is allowed to escape the home-page grid. */
@media (min-width: 851px) {
  body #wrapper,
  body .header-bottom.velostrada-header,
  body .velo-vision-header,
  body .velo-catalog-vision-header,
  body .velo-catalog-demo,
  body .velo-vision-confidence,
  body .velo-shared-confidence,
  body .velo-vision-footer,
  body .velo-catalog-footer,
  body .footer.footer__main.velostrada-footer {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1980px !important;
    width: 100% !important;
  }

  body .velo-vision-header,
  body .velo-catalog-vision-header,
  body .header-bottom.velostrada-header,
  body .velo-vision-footer,
  body .velo-catalog-footer,
  body .footer.footer__main.velostrada-footer {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
}

/* Source-level card media contract: all product cards use the photo's native wide frame. */
.velostrada-card-media {
  aspect-ratio: 1.52 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

.velostrada-card-media__frame,
.velostrada-card-media__link,
.velostrada-card-media__link picture {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 100% !important;
}

.velostrada-card-media__image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.42) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

/* Product-page recommendations use the current catalogue card system, never the legacy gradient variant. */
body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__inner,
body.page-product .featured-products .product-miniature__inner {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__bottom,
body.page-product .featured-products .product-miniature__bottom {
  background: #0d191b !important;
  padding: 14px !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__title,
body.page-product .featured-products .product-miniature__title {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  min-height: 55px !important;
  text-transform: none !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__price,
body.page-product .featured-products .product-miniature__price {
  color: #b7ff00 !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__actions .btn,
body.page-product .featured-products .product-miniature__actions .btn {
  background: #b7ff00 !important;
  background-image: none !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  color: #081013 !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  min-height: 42px !important;
  text-transform: none !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .velostrada-related-products .product-miniature__actions .btn:hover,
body.page-product .featured-products .product-miniature__actions .btn:hover {
  background: #0d191b !important;
  border-color: #b7ff00 !important;
  color: #b7ff00 !important;
}

/* Direct contact is always visible above the form. */
body.page-contact .velostrada-contact-quick {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
}

body.page-contact .velostrada-contact-quick__item {
  background: #0d191b !important;
  border: 1px solid #34484a !important;
  border-radius: 4px !important;
  color: #f5f7f2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-height: 116px !important;
  padding: 18px !important;
  text-decoration: none !important;
}

body.page-contact .velostrada-contact-quick__item:hover {
  border-color: #b7ff00 !important;
}

body.page-contact .velostrada-contact-quick__item span {
  color: #b7ff00 !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.page-contact .velostrada-contact-quick__item strong {
  color: #f5f7f2 !important;
  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body.page-contact .velostrada-contact-quick__item small {
  color: #b8c6c0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

@media (max-width: 650px) {
  body.page-contact .velostrada-contact-quick { grid-template-columns: 1fr !important; }
}

/* Cascade endpoint for product imagery and finance actions. */
body.page-product .product__thumbnail {
  aspect-ratio: 1 / 1 !important;
  background: #101a1c !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
}

body.page-product .product__thumbnail-image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.36) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__top,
body.page-product .featured-products .product-miniature__top {
  background: #101a1c !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-product .ps-categoryproducts .product-miniature__image-container,
body.page-product .ps-categoryproducts .product-miniature__image-link,
body.page-product .ps-categoryproducts .product-miniature__image-link picture,
body.page-product .featured-products .product-miniature__image-container,
body.page-product .featured-products .product-miniature__image-link,
body.page-product .featured-products .product-miniature__image-link picture {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 100% !important;
}

body.page-product .ps-categoryproducts .product-miniature__image,
body.page-product .featured-products .product-miniature__image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.42) !important;
  transform-origin: center center !important;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info .velostrada-installment-button a {
  align-items: center !important;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 3px !important;
  color: #081013 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

body.page-product .product__additional-info #eraty img,
body.page-product .product__additional-info .velostrada-installment-button img {
  display: none !important;
}

body.page-product .product__additional-info #eraty a::before {
  content: 'Oblicz ratę eRaty Santander' !important;
}

body.page-product .product__additional-info .velostrada-installment-button a::before {
  content: 'Sprawdź ratę w Alior Banku' !important;
}

body.page-product .product__additional-info #eraty a,
body.page-product .product__additional-info #eraty a::before,
body.page-product .product__additional-info .velostrada-installment-button a,
body.page-product .product__additional-info .velostrada-installment-button a::before {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

/* Dedicated cards for related and recently viewed products. */
body.page-product .velostrada-recommendations {
  background: transparent !important;
  border: 0 !important;
  margin: 0 auto !important;
  max-width: 1980px !important;
  padding: 36px 0 0 !important;
  width: 100% !important;
}

body.page-product .velostrada-recommendations .section-title {
  color: #f5f7f4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

body.page-product .velostrada-recommendations__grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  width: 100% !important;
}

body.page-product .velostrada-recommendation-card {
  background: #0d191b !important;
  border: 1px solid #2e4446 !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.page-product .velostrada-recommendation-card__media {
  aspect-ratio: 4 / 3 !important;
  background: #101a1c !important;
  display: block !important;
  overflow: hidden !important;
}

body.page-product .velostrada-recommendation-card__media img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  /* PrestaShop's listing thumbnails are square with white letterboxing.
     A small, centered crop removes that padding for every future import. */
  transform: scale(1.13) !important;
  transform-origin: center !important;
  width: 100% !important;
}

body.page-product .velostrada-recommendation-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 14px !important;
}

body.page-product .velostrada-recommendation-card__title {
  color: #f5f7f4 !important;
  display: -webkit-box !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

body.page-product .velostrada-recommendation-card__price {
  color: #b7ff00 !important;
  font-family: Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

body.page-product .velostrada-recommendation-card__form {
  margin: auto 0 0 !important;
}

body.page-product .velostrada-recommendation-card__button {
  align-items: center !important;
  background: #b7ff00 !important;
  background-image: none !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #081013 !important;
  cursor: pointer !important;
  display: flex !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  margin-top: auto !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background-color .18s ease, color .18s ease !important;
  width: 100% !important;
}

body.page-product .velostrada-recommendation-card__button:hover,
body.page-product .velostrada-recommendation-card__button:focus-visible {
  background: #0d191b !important;
  color: #b7ff00 !important;
}

/* Keep the cart contents and order summary together on desktop. */
@media (min-width: 851px) {
  body.page-cart .cart-grid {
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-cart .cart-grid__content,
  body.page-cart .cart-grid__aside {
    flex: none !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
  }
}

/* Make every checkout consent visibly checked. */
body.page-order input[type='checkbox'],
body.page-authentication input[type='checkbox'],
body.page-registration input[type='checkbox'] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #0d191b !important;
  background-image: none !important;
  border: 1px solid #587073 !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  flex: 0 0 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  position: relative !important;
  vertical-align: -2px !important;
  width: 16px !important;
}

body.page-order input[type='checkbox']:checked,
body.page-authentication input[type='checkbox']:checked,
body.page-registration input[type='checkbox']:checked {
  background-color: #b7ff00 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.3 6.3 11.5 13 4.8' fill='none' stroke='%23081013' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4'/%3E%3C/svg%3E") !important;
  border-color: #b7ff00 !important;
}

body.page-order input[type='checkbox']:focus-visible,
body.page-authentication input[type='checkbox']:focus-visible,
body.page-registration input[type='checkbox']:focus-visible {
  box-shadow: 0 0 0 3px rgba(183, 255, 0, .28) !important;
  outline: 0 !important;
}

/* One explicit control language for every checkbox and radio across the shop. */
body input[type='checkbox'],
body input[type='radio'] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #0d191b !important;
  background-image: none !important;
  border: 1px solid #587073 !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  display: inline-block !important;
  flex: 0 0 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  position: relative !important;
  vertical-align: -2px !important;
  width: 16px !important;
}

body input[type='checkbox']:checked {
  background-color: #b7ff00 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23081416' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.6' d='m3.1 8.2 3 3 6.8-7'/%3E%3C/svg%3E") !important;
  border-color: #b7ff00 !important;
}

body input[type='radio'] {
  border-radius: 50% !important;
}

body input[type='radio']:checked {
  background-color: #b7ff00 !important;
  background-image: radial-gradient(circle at center, #081416 0 4px, transparent 4.5px) !important;
  border-color: #b7ff00 !important;
}

body input[type='checkbox']:focus-visible,
body input[type='radio']:focus-visible {
  box-shadow: 0 0 0 3px rgba(183, 255, 0, .28) !important;
  outline: 0 !important;
}

/* Cart actions: keep the loan calculator prominent, without treating its artwork as the button. */
body.page-cart .cart__continue-shopping {
  margin: 16px 0 0 18px !important;
}

body.page-cart #oblicz-rate {
  margin: 16px 22px 0 auto !important;
  max-width: 380px !important;
  text-align: right !important;
  width: calc(100% - 44px) !important;
}

body.page-cart #oblicz-rate a {
  align-items: center !important;
  background: #b7ff00 !important;
  border: 1px solid #b7ff00 !important;
  border-radius: 4px !important;
  color: #081416 !important;
  display: inline-flex !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  min-height: 52px !important;
  padding: 10px 20px !important;
  text-transform: none !important;
  width: 100% !important;
}

body.page-cart #oblicz-rate a::after {
  content: 'Sprawdź ratę w Alior Banku' !important;
}

body.page-cart #oblicz-rate img {
  display: none !important;
}

body.page-cart #oblicz-rate a:hover {
  background: #d0ff51 !important;
  border-color: #d0ff51 !important;
  color: #081416 !important;
}

/* Financing must be an optional payment note, never part of the shipping price. */
body.page-cart .velostrada-cart-financing-info {
  align-items: flex-start;
  background: #0d191b;
  border: 1px solid #34484a;
  border-left: 3px solid #b7ff00;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 16px 0 0;
  padding: 12px 14px;
}

body.page-cart .velostrada-cart-financing-info__label {
  color: #aebebb;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.page-cart .velostrada-cart-financing-info__content,
body.page-cart .velostrada-cart-financing-info__content a {
  color: #b7ff00 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body.page-cart .velostrada-cart-financing-info__content a:hover {
  color: #d0ff51 !important;
}

@media (max-width: 850px) {
  body.page-cart .cart__continue-shopping {
    margin-left: 14px !important;
  }
  body.page-cart #oblicz-rate {
    margin-left: 14px !important;
    margin-right: 14px !important;
    max-width: none !important;
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 1500px) {
  body.page-product .velostrada-recommendations { max-width: calc(100% - 64px) !important; }
}

@media (max-width: 991px) {
  body.page-product .velostrada-recommendations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.page-product .velostrada-recommendations { max-width: calc(100% - 32px) !important; padding-top: 26px !important; }
  body.page-product .velostrada-recommendations__grid { grid-template-columns: 1fr !important; }
}

/* Final desktop canvas: all customer views use the same outer width as the approved home page. */
@media (min-width: 851px) {
  body:not(.page-index):not(.page-category) #wrapper {
    margin-inline: auto !important;
    max-width: 1980px !important;
    width: 100% !important;
  }

  body.page-cms .velostrada-rich-layout,
  body.page-contact .velostrada-rich-layout--contact,
  body.page-authentication .velostrada-auth-shell,
  body.page-registration .velostrada-auth-shell,
  body.page-password .velostrada-password-shell,
  body.page-cart .cart-grid,
  body.page-order .checkout-grid,
  body.page-product .product__container,
  body.page-search .page,
  body.page-my-account .velostrada-customer-shell,
  body.page-identity .velostrada-customer-shell,
  body.page-addresses .velostrada-customer-shell,
  body.page-history .velostrada-customer-shell,
  body.page-order-slip .velostrada-customer-shell,
  body.page-order-return .velostrada-customer-shell,
  body.page-order-detail .velostrada-customer-shell,
  body.page-order-follow .velostrada-customer-shell,
  body.page-guest-tracking .velostrada-customer-shell,
  body.page-pagenotfound .page {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1980px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Native facets: fixed final state, independent of Bootstrap collapse classes. */
body.page-cart .js-cart-update-alert .alert-success a {
  color: #081416 !important;
  font-weight: 800 !important;
  text-decoration-color: #081416 !important;
  text-decoration-thickness: 1px;
}

body.page-cart .js-cart-update-alert .alert-success a:hover,
body.page-cart .js-cart-update-alert .alert-success a:focus-visible {
  color: #25484b !important;
  text-decoration-color: #25484b !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item:first-child {
  background: #101f21 !important;
  border: 1px solid #32494b !important;
  border-radius: 4px !important;
  display: block !important;
  margin: 0 !important;
  min-height: 0 !important;
  position: static !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[open] {
  border-color: #b7ff00 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[data-type='price'],
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[data-type='manufacturer'] {
  grid-column: span 2;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[open] {
  grid-column: span 2;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button {
  align-items: center !important;
  background: #101f21 !important;
  color: #f4f7f3 !important;
  cursor: pointer;
  display: flex !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  justify-content: space-between;
  line-height: 1.2 !important;
  list-style: none;
  min-height: 52px;
  padding: 14px 16px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button::after {
  color: #b7ff00 !important;
  content: '+';
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin-left: 12px;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details[open] > summary.accordion-button::after { content: '\2212'; }

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button::-webkit-details-marker { display: none; }

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details:not([open]) > .accordion-collapse {
  display: none !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details[open] > .accordion-collapse {
  background: #0d191b !important;
  border-top: 1px solid #32494b !important;
  box-shadow: none !important;
  display: block !important;
  left: auto !important;
  max-height: 300px;
  min-width: 0 !important;
  overflow: auto;
  position: static !important;
  right: auto !important;
  top: auto !important;
}

/* Supersede the legacy price flyout rule: native details owns its open state. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item:first-child[open] > .accordion-collapse,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item:first-child[open]:focus-within > .accordion-collapse,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item:first-child[open]:hover > .accordion-collapse {
  display: block !important;
  left: auto !important;
  min-width: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .accordion-body {
  display: grid !important;
  gap: 6px 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 !important;
  padding: 12px 14px !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .accordion-body > li {
  min-width: 0;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .form-check {
  align-items: center;
  display: flex;
  min-height: 30px;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .form-check-label {
  min-width: 0;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .search-link {
  color: #d7e2df !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .facet-label.active .search-link,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details .search-link:hover {
  color: #b7ff00 !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .js-faceted-filter-slider {
  padding: 18px 18px 14px !important;
}

/* A filter can grow only for its own content, never to match a taller neighbour. */
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters > .accordion,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
  align-items: start !important;
}

body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__filters #search-filters .accordion-item,
body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .accordion-item {
  align-self: start !important;
  height: fit-content !important;
}

@media (max-width: 1100px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[data-type='price'],
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[data-type='manufacturer'],
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details.accordion-item[open] {
    grid-column: span 1;
  }
}

@media (max-width: 640px) {
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters > .accordion {
    grid-template-columns: 1fr !important;
  }
}

/* Cart action alignment must win over earlier module spacing rules. */
@media (min-width: 851px) {
  body.page-cart .cart-grid__products-details {
    align-items: center;
    column-gap: 24px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    row-gap: 16px;
  }

  body.page-cart .cart-grid__products-details > .cart__overview { grid-column: 1 / -1; }

  body.page-cart .cart-grid__products-details > .cart__continue-shopping {
    grid-column: 1;
    justify-self: start;
    margin: 0 0 0 18px !important;
  }

  body.page-cart .cart-grid__products-details > #oblicz-rate {
    grid-column: 2;
    justify-self: stretch;
    margin: 0 22px 0 0 !important;
    max-width: none !important;
    text-align: right !important;
    width: auto !important;
  }
}

/* Mobile audit: keep the universal header and editorial content inside the viewport. */
@media (max-width: 850px) {
  body .velo-global-header { align-items: center; column-gap: 8px; flex-wrap: wrap; min-height: 64px; padding: 12px 16px 0; }
  body .velo-global-header__brand { left: auto; margin-right: auto; position: static; transform: none; }
  body .velo-global-header__brand img { max-height: 30px; max-width: 128px; width: 128px; }
  body .velo-global-header nav {
    border-top: 1px solid #2b3839;
    display: flex;
    gap: 0;
    order: 3;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 10px 0;
    scrollbar-width: none;
    width: 100%;
  }
  body .velo-global-header nav::-webkit-scrollbar { display: none; }
  body .velo-global-header nav a {
    color: #f8faf9;
    flex: 0 0 auto;
    font-size: 13px;
    padding: 4px 12px;
  }
  body .velo-global-header nav a:first-child { padding-left: 0; }
  body .velo-global-header__tools { flex: 0 0 auto; gap: 6px; margin-left: 0; }
  body .velo-global-header__search,
  body .velo-vision-header__search { display: none !important; }
  body .velo-global-header__account,
  body .velo-global-header__cart { flex: 0 0 36px; min-height: 36px; min-width: 36px; }
  body .velo-global-header__account i,
  body .velo-global-header__cart i { font-size: 22px; }

  body .velo-vision-header {
    align-items: center;
    column-gap: 8px;
    flex-wrap: wrap;
    min-height: 64px;
    padding: 12px 16px 0;
  }
  body .velo-vision-header .velo-vision-brand { margin-right: auto; }
  body .velo-vision-header nav {
    border-top: 1px solid #2b3839;
    display: flex;
    gap: 0;
    order: 3;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 10px 0;
    scrollbar-width: none;
    width: 100%;
  }
  body .velo-vision-header nav::-webkit-scrollbar { display: none; }
  body .velo-vision-header nav a {
    color: #f8faf9;
    flex: 0 0 auto;
    font-size: 13px;
    padding: 4px 12px;
  }
  body .velo-vision-header nav a:first-child { padding-left: 0; }
  body .velo-vision-header .velo-vision-header__tools { flex: 0 0 auto; gap: 6px; margin-left: 0; }
  body .velo-vision-header .velo-vision-header__account,
  body .velo-vision-header .velo-vision-header__cart { flex: 0 0 36px; min-height: 36px; min-width: 36px; }
  body.page-contact .velostrada-contact-hero { display: block; min-width: 0; padding: 34px 0 !important; }
  body.page-contact .velostrada-contact-hero > div:first-child,
  body.page-contact .velostrada-contact-hero p { max-width: 100% !important; min-width: 0; }
  body.page-contact .velostrada-rich-layout--contact .page-title-section { font-size: 38px !important; max-width: 100%; overflow-wrap: anywhere; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details > summary.accordion-button { min-height: 48px; padding: 12px 14px !important; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters details[open] > .accordion-collapse { max-height: 260px; }
  body.page-category:has(.velo-catalog-demo) .velo-catalog-demo__facets #search-filters .js-faceted-filter-slider { min-height: 76px; padding: 18px 14px 16px !important; }
}

@media (max-width: 360px) {
  body.page-contact .velostrada-rich-layout--contact .page-title-section { font-size: 32px !important; }
}

/* Optional desktop-only décor must never appear or reserve space on phones. */
@media (max-width: 850px) {
  body .velo-brand-rails { display: none !important; }
}

/* Catalogue photos use a dedicated 4:3 format so every bicycle stays fully in frame. */
body.page-category:has(.velo-catalog-demo) .velo-demo-product-card__image {
  aspect-ratio: 4 / 3;
  background: #101a1c !important;
}

body.page-category .velo-demo-product-card__image img,
body.page-category .velo-demo-product-card:hover .velo-demo-product-card__image img {
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

/* Every bicycle offer represents a single physical item, so the low-stock alert is redundant. */
body.page-product .product__availability {
  display: none !important;
}


/* Velostrada transparent logo: preserve native aspect ratio */
body .velo-global-header__brand img { display: block; height: 62px; max-height: none; width: auto; }
@media (min-width: 851px) and (max-width: 1150px) {
  body .velo-global-header__brand img { height: 42px; max-height: none; width: auto; }
}
@media (min-width: 851px) and (max-width: 1300px) {
  body .velo-global-header__brand img { height: 52px; max-height: none; width: auto; }
}
@media (max-width: 850px) {
  body .velo-global-header__brand img { height: 42px; max-height: none; max-width: none; width: auto; }
}
@media (max-width: 850px) {
  body .velo-global-header__brand img { height: 30px; max-height: none; max-width: none; width: auto; }
}

/* Product photos retain their full available frame instead of an extra CSS zoom. */
body.page-product .product__carousel .carousel-item img {
  transform: none !important;
}

/* Direct pickup information is visible in contact and only after choosing that delivery method. */
body.page-contact .velostrada-contact-quick {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.velo-pickup-address {
  align-items: flex-start;
  background: #102125;
  border: 1px solid #4b6f64;
  border-radius: 4px;
  color: #eef5f1;
  display: flex;
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
}

.velo-pickup-address[hidden] { display: none !important; }
.velo-pickup-address > .material-icons { color: #b7ff00; flex: 0 0 auto; font-size: 23px; line-height: 1.2; }
.velo-pickup-address > div { display: grid; gap: 3px; }
.velo-pickup-address strong { font-size: 15px; }
.velo-pickup-address span { font-size: 16px; font-weight: 700; }
.velo-pickup-address small { color: #b8c6c0; font-size: 13px; }

@media (max-width: 850px) {
  body.page-contact .velostrada-contact-quick { grid-template-columns: 1fr !important; }
}

/* The cart already has its own surface; product rows stay deliberately unframed. */
body.page-cart .cart__item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 10px 0 !important;
}

body.page-cart .cart__item .product-line {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6px 0 !important;
}

body.page-cart .product-line__image,
body.page-cart .product-line__image a,
body.page-cart .product-line__image picture,
body.page-cart .product-line__img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Address entry: remove duplicate helper copy and keep both actions in one toolbar. */
body.page-order #checkout-addresses-step > .step__content > .js-address-form > form > p:not([class]) {
  display: none !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper--split,
body.page-order #checkout-addresses-step .buttons-wrapper--end {
  align-items: center !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper--split > .btn,
body.page-order #checkout-addresses-step .buttons-wrapper--end > .btn {
  align-items: center !important;
  display: inline-flex !important;
  min-height: 42px !important;
}

body.page-order #checkout-addresses-step .checkout-address-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

body.page-order #checkout-addresses-step .checkout-address-actions .btn {
  align-items: center;
  display: inline-flex;
  min-height: 42px;
}

@media (max-width: 600px) {
  body.page-order #checkout-addresses-step .checkout-address-actions .btn {
    justify-content: center;
    width: 100%;
  }
}

/* Checkout totals scan better with a single separator before the final amount. */
body.page-order #js-checkout-summary .cart-summary__top,
body.page-order #js-checkout-summary .cart-summary__products > hr,
body.page-order #js-checkout-summary .cart-summary__line:not(.cart-summary__line--bold) {
  border-bottom: 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__products > hr {
  display: none !important;
}

body.page-order #js-checkout-summary .cart-summary__line:not(.cart-summary__line--bold) {
  padding: 8px 0 !important;
}

body.page-order #js-checkout-summary .payu-separator-reset {
  display: none !important;
}

body.page-order #js-checkout-summary .cart-summary__products-accordion {
  border-top: 0 !important;
}
