.home-page-backdrop {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background-image:
    linear-gradient(rgba(14, 20, 20, .66), rgba(10, 15, 16, .82)),
    var(--home-page-backdrop, url("/assets/img/theme/hero/hero-1-1600.jpg"));
  background-position: 80% center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.home-page-surface {
  position: relative;
  z-index: 1;
  width: min(100%, var(--container-max));
  min-height: 100%;
  margin-inline: auto;
  overflow: hidden;
  background: transparent;
  box-shadow:
    0 0 46px rgba(0, 0, 0, .28),
    0 0 120px 24px rgba(210, 222, 208, .10);
}

.home-content-surface {
  --home-content-alpha: .90;
  --home-section-gap: 60px;
  background:
    radial-gradient(ellipse 72% 520px at 6% 4%,
      rgb(169 207 101 / calc(var(--home-content-alpha) * .22)) 0,
      transparent 72%),
    radial-gradient(ellipse 62% 680px at 96% 42%,
      rgb(47 78 83 / calc(var(--home-content-alpha) * .15)) 0,
      transparent 74%),
    linear-gradient(135deg,
      rgb(247 249 244 / var(--home-content-alpha)) 0,
      rgb(222 230 222 / var(--home-content-alpha)) 46%,
      rgb(243 245 239 / var(--home-content-alpha)) 100%);
}

.home-content-surface .section--muted {
  background: transparent;
}

.home-content-surface .catalog-invitation,
.home-content-surface .home-seo-summary {
  background: transparent;
}

.home-content-surface .category-tile,
.home-content-surface .rail .card {
  background: transparent;
  backdrop-filter: blur(3px);
}

.home-content-surface .home-seo-summary__panel {
  background:
    linear-gradient(135deg, rgba(163, 255, 0, .08), transparent 34%),
    rgba(10, 17, 20, .76);
  backdrop-filter: blur(8px);
}

body.public-theme:has(#main > .home-page-backdrop) .site-footer {
  margin-top: 0;
}

.home-side-slogan {
  display: none;
}

@media (min-width: 1700px) {
  .home-side-slogan {
    position: fixed;
    z-index: 1;
    top: 230px;
    display: block;
    width: 180px;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-family: 'TT Lakes Neue Condensed', var(--font-heading);
    font-size: clamp(1.7rem, 2vw, 2.25rem);
    font-style: italic;
    font-weight: 800;
    line-height: .95;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .55);
  }

  .home-side-slogan::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    margin-top: 28px;
    background: var(--color-accent);
    transform: skewX(-28deg);
  }

  .home-side-slogan strong {
    display: block;
    margin-top: 4px;
    color: var(--color-accent);
  }

  .home-side-slogan--left {
    left: max(26px, calc(50% - 890px));
  }

  .home-side-slogan--right {
    top: 350px;
    right: max(26px, calc(50% - 890px));
  }
}

@media (max-width: 767px) {
  .home-page-backdrop {
    background-attachment: scroll;
  }
}

.hero-carousel {
  position: relative;
  overflow: hidden;
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.hero-carousel__viewport {
  position: relative;
  height: 360px;
}

@media (min-width: 768px) {
  .hero-carousel__viewport {
    height: 400px;
  }
}

@media (min-width: 1024px) {
  .hero-carousel__viewport {
    height: 520px;
  }
}

.hero-carousel__track {
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
}

.hero-carousel__slide {
  position: absolute;
  inset: 0;
}

.hero-carousel__slide[hidden] {
  display: none;
}

.hero-carousel.is-enhanced .hero-carousel__slide,
.hero-carousel.is-enhanced .hero-carousel__slide[hidden] {
  display: block;
  opacity: 0;
  transform: scale(1.025);
  pointer-events: none;
  transition: opacity 360ms var(--ease-out), transform 620ms var(--ease-out);
}

.hero-carousel.is-enhanced .hero-carousel__slide.is-active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.hero-carousel__media,
.hero-carousel__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Keep the composition right-weighted while allowing a small right-side crop. */
  object-position: 80% 42%;
}

.hero-carousel__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 10, 11, .76) 0%, rgba(8, 10, 11, .45) 28%, rgba(8, 10, 11, .08) 47%, transparent 58%);
}

.hero-carousel__copy {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  max-width: 46ch;
  padding: var(--space-5);
}

@media (min-width: 768px) {
  .hero-carousel__copy {
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 540px;
    padding: var(--space-6) var(--space-7);
  }

  .hero-carousel__actions {
    flex-wrap: nowrap;
  }
}

@media (min-width: 1024px) {
  .hero-carousel__copy {
    max-width: 640px;
  }
}

.hero-carousel__copy h1 {
  font-family: 'TT Lakes Neue Condensed', var(--font-heading);
  color: var(--color-on-primary);
  font-style: italic;
  margin-bottom: var(--space-2);
  max-width: 10ch;
  font-size: clamp(2.1rem, 6vw, 2.6rem);
  line-height: .88;
  transform: skewY(-5deg);
  transform-origin: left center;
}

.hero-carousel__copy h1 span {
  display: block;
}

.hero-carousel__copy h1 small {
  display: block;
  margin-top: var(--space-2);
  color: var(--color-on-primary);
  font-family: var(--font-heading);
  font-size: .38em;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .11em;
  text-transform: uppercase;
  transform: skewY(5deg);
  transform-origin: left center;
}

.hero-carousel__topics {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-on-primary);
  opacity: .88;
  max-width: none;
  font-family: var(--font-heading);
  font-weight: 700;
  font-style: italic;
  font-size: clamp(.92rem, .86rem + .2vw, 1.08rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: scaleX(1.08);
  transform-origin: left center;
  margin-bottom: var(--space-4);
}

.hero-carousel__topics span:not(:last-child)::after {
  content: "•";
  margin-inline-start: var(--space-2);
  color: var(--color-accent);
}

.hero-carousel__showroom {
  display: none;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .25rem .55rem;
  width: fit-content;
  margin: calc(-1 * var(--space-2)) 0 var(--space-4);
  padding: .45rem .75rem;
  border-inline-start: 3px solid var(--color-accent);
  background: rgb(8 10 11 / .58);
  color: var(--color-on-primary);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.hero-carousel__showroom strong {
  color: var(--color-accent);
  font-weight: 800;
}

/* The two desktop layouts have enough room for the showroom note. */
@media (min-width: 1024px) {
  .hero-carousel__showroom {
    display: flex;
  }
}

@media (max-width: 767px) {
  .hero-carousel__topics {
    flex-wrap: wrap;
    white-space: normal;
  }
}

.hero-carousel__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero-carousel__actions .btn {
  position: relative;
  isolation: isolate;
  align-self: flex-start;
  margin-inline-start: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  min-width: 152px;
  min-height: 40px;
  padding: 6px var(--space-3);
  font-family: 'TT Lakes Neue Condensed', var(--font-heading);
  font-size: .8rem;
  font-weight: 800;
  font-style: italic;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.hero-carousel__actions .btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -90%;
  bottom: -90%;
  left: -42%;
  width: 24%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .46), transparent);
  transform: translateX(-220%) skewX(-18deg);
  transition: transform 680ms var(--ease-out);
  pointer-events: none;
}

.hero-carousel__actions .btn:hover::before,
.hero-carousel__actions .btn:focus-visible::before {
  transform: translateX(690%) skewX(-18deg);
}

.hero-carousel__actions .btn + .btn {
  margin-inline-start: 0;
}

.hero-carousel__copy .btn--primary {
  box-shadow: none;
}

.hero-carousel__copy .btn--primary:hover:not(:disabled) {
  border-color: var(--color-accent);
  background: rgba(163, 255, 0, .07);
  color: var(--color-accent-text);
  box-shadow: none;
  transform: none;
}

.hero-carousel__copy .btn--hero-secondary {
  border: 1px solid rgba(255, 255, 255, .72);
  background: transparent;
  color: var(--color-on-primary);
  box-shadow: none;
}

.hero-carousel__copy .btn--hero-secondary:hover:not(:disabled) {
  background: transparent;
  color: var(--color-on-primary);
  border-color: var(--color-accent);
  box-shadow: none;
  transform: none;
}

/* Compact tablet layout: keep the copy balanced within the 400px carousel. */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-carousel__copy {
    max-width: 500px;
    padding: var(--space-5) var(--space-6);
  }

  .hero-carousel__copy h1 {
    margin-bottom: var(--space-1);
    font-size: clamp(2.62rem, 1.9rem + 1.5vw, 2.9rem);
  }

  .hero-carousel__copy h1 small {
    margin-top: var(--space-1);
  }

  .hero-carousel__topics {
    margin-bottom: var(--space-3);
    font-size: .88rem;
  }

  .hero-carousel__actions {
    gap: var(--space-2);
  }
}

/* Desktop headings match the upper end of the compact tablet scale. */
@media (min-width: 1024px) {
  .hero-carousel__copy h1 {
    font-size: 2.9rem;
  }
}

@media (max-width: 767px) {
  .hero-carousel__copy {
    padding: var(--space-4) var(--space-5) 18px;
  }

  .hero-carousel__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .hero-carousel__actions .btn,
  .hero-carousel__copy .btn--hero-secondary {
    min-width: 0;
  }
}

.hero-carousel__copy .text-accent {
  color: var(--color-accent);
}

.hero-carousel__control {
  /* Slide dots and touch swipes remain available; arrow buttons are intentionally hidden. */
  display: none !important;
}

.hero-carousel__dots {
  position: absolute;
  z-index: 2;
  right: var(--space-4);
  bottom: var(--space-3);
  display: flex;
  gap: var(--space-2);
}

.hero-carousel__dot {
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero-carousel__dot::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: var(--radius-full);
  background: rgba(243, 246, 241, .5);
  transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.hero-carousel__dot[aria-current="true"]::before {
  background: var(--color-accent);
  transform: scale(1.2);
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel.is-enhanced .hero-carousel__slide,
  .hero-carousel.is-enhanced .hero-carousel__slide[hidden] {
    transition: none;
  }

  .hero-carousel__dot::before {
    transition: none;
  }
}

.advantages {
  padding-block: 0;
  color: var(--color-on-primary);
  background: #050708;
}

.advantages .container {
  max-width: none;
  padding-inline: 0;
}

.advantages__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: none;
}

.advantages__list > li {
  min-width: 0;
}

@media (min-width: 1024px) {
  .advantages__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1023px) {
  .advantages__item {
    justify-content: center;
  }

  .advantages__list > li:nth-child(odd) {
    border-inline-end: 1px solid rgba(255, 255, 255, .18);
  }

  .advantages__list > li:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }
}

.advantages__item {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 76px;
  height: 100%;
  padding: 12px clamp(10px, 1.5vw, 22px);
  overflow: hidden;
  border-radius: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  box-shadow: inset 0 1px 0 transparent, inset 0 -1px 0 transparent;
  color: var(--color-on-primary);
  text-decoration: none;
  transition: background var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out);
}

.advantages__item:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .018) 62%, rgba(163, 255, 0, .035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(163, 255, 0, .12);
  color: var(--color-on-primary);
}

.advantages__item::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -40%;
  bottom: -40%;
  left: -38%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
  transform: translateX(-180%) skewX(-18deg);
  transition: transform 680ms var(--ease-out);
  pointer-events: none;
}

.advantages__item:hover::after,
.advantages__item:focus-visible::after {
  transform: translateX(620%) skewX(-18deg);
}

@media (min-width: 1024px) {
  .advantages__item {
    justify-content: center;
  }

  .advantages__list > li:not(:last-child) {
    border-inline-end: 1px solid rgba(255, 255, 255, .18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .advantages__item {
    transition: none;
  }

  .advantages__item::after {
    display: none;
  }
}

.advantages__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--color-accent);
}

.advantages__icon .icon {
  width: 25px;
  height: 25px;
}

.advantages__title {
  display: block;
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-on-primary);
}

.advantages__text {
  display: block;
  margin-top: 2px;
  font-size: var(--text-xs);
  color: rgba(255, 255, 255, .6);
}

@media (max-width: 767px) {
  .advantages .container {
    padding-inline: 0;
  }

  .advantages__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    gap: 0;
    overflow: visible;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }

  .advantages__item {
    min-height: 44px;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 0;
  }

  .advantages__icon {
    width: 20px;
    height: 20px;
  }

  .advantages__icon .icon {
    width: 18px;
    height: 18px;
  }

  .advantages__title {
    font-size: .7rem;
    line-height: 1.06;
  }

  .advantages__text {
    display: none;
  }
}

.category-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: none;
}

/* Flex wrapping keeps an incomplete final category row centred. */
@media (max-width: 1023px) {
  .category-tiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .category-tiles > li {
    flex: 0 0 calc(50% - 8px);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .category-tiles > li {
    flex-basis: calc(33.3333% - 10.667px);
  }
}

@media (min-width: 1024px) {
  .category-tiles {
    grid-template-columns: repeat(5, 1fr);
  }
}

.category-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-card, 16px);
  overflow: hidden;
  background: transparent;
  color: #14181A;
  text-decoration: none;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card, 0 18px 45px rgba(15, 23, 42, .08));
  transition: border-color var(--dur-base) var(--ease-out),
              box-shadow var(--dur-base) var(--ease-out),
              transform var(--dur-base) var(--ease-out);
}

.category-tile:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-card-hover, 0 24px 60px rgba(15, 23, 42, .13));
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
  .category-tile {
    transition: none;
  }

  .category-tile:hover {
    transform: none;
  }
}

.category-tile__media {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 8px 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #D7DEE0;
  border-radius: 10px;
  background: transparent;
}

.category-tile__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 80% center;
}

.category-tile__name {
  padding: var(--space-2) var(--space-3) 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--text-base);
  text-align: left;
  color: #14181A;
}

.category-tile__count {
  padding: 0 var(--space-3) var(--space-3);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-muted-foreground);
}

.category-tile--plain .category-tile__count {
  color: rgba(255, 255, 255, .6);
}

.category-tile--plain {
  background: var(--color-secondary);
  color: var(--color-on-secondary);
}

.category-tile--plain .category-tile__media {
  background: var(--color-secondary);
}

.category-tile--plain .category-tile__media .icon {
  width: 40px;
  height: 40px;
  color: var(--color-accent);
}

.category-tile--plain .category-tile__name {
  color: var(--color-on-secondary);
}

.home-seo-summary {
  background: transparent;
}

.home-seo-summary__panel {
  position: relative;
  display: grid;
  overflow: hidden;
  gap: var(--space-5);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid rgba(163, 255, 0, .22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(163, 255, 0, .08), transparent 34%),
    rgba(10, 17, 20, .76);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .04);
  backdrop-filter: blur(8px);
}

.home-seo-summary__panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--color-accent), rgba(163, 255, 0, .06));
}

.home-seo-summary__copy h2 {
  max-width: 19ch;
  margin: 0 0 var(--space-4);
  font-size: clamp(1.7rem, 1.25rem + 1.25vw, 2.55rem);
  line-height: 1.02;
  color: #fff;
}

.home-seo-summary .section__eyebrow {
  color: var(--color-accent);
}

.home-seo-summary__copy p:not(.section__eyebrow) {
  max-width: 68ch;
  margin: 0;
  color: rgba(241, 245, 243, .78);
  line-height: 1.65;
}

.home-seo-summary__copy p + p {
  margin-top: var(--space-3);
}

.home-seo-summary__links {
  align-self: center;
  border-block: 1px solid rgba(255, 255, 255, .14);
}

.home-seo-summary__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 48px;
  padding: var(--space-2) var(--space-1);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  color: rgba(255, 255, 255, .9);
  font-size: var(--text-sm);
  font-weight: 700;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out), padding-inline var(--dur-fast) var(--ease-out);
}

.home-seo-summary__links a:last-child {
  border-bottom: 0;
}

.home-seo-summary__links a:hover {
  padding-inline: var(--space-2);
  color: var(--color-accent);
}

.home-seo-summary__links .icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: var(--color-accent);
}

@media (min-width: 900px) {
  .home-seo-summary__panel {
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, .75fr);
    gap: clamp(var(--space-6), 5vw, var(--space-8));
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-seo-summary__links a {
    transition: none;
  }
}

.section {
  padding-block: clamp(var(--space-6), 4vw, var(--space-8));
}

.home-categories {
  padding-top: 30px;
  padding-bottom: 0;
}

.home-categories .home-section-header,
.home-showcase .home-section-header,
.home-product-rail .home-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 40px auto;
  align-items: start;
  column-gap: var(--space-3);
  row-gap: 0;
  margin-bottom: var(--space-4);
}

.home-section-header .section__eyebrow {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  align-self: start;
}

.home-section-header h2 {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
}

.home-section-header .section__more {
  grid-column: 2;
  grid-row: 1;
  height: 40px;
  margin-top: 0;
  box-sizing: border-box;
}

@media (max-width: 479px) {
  .home-categories .home-section-header,
  .home-showcase .home-section-header,
  .home-product-rail .home-section-header {
    column-gap: 8px;
  }

  .home-section-header .section__more {
    padding-inline: 10px;
    font-size: .7rem;
  }

  .home-section-header h2 {
    font-size: clamp(1.35rem, 7vw, 1.65rem);
    line-height: 1;
  }
}

.home-showcase {
  padding-top: var(--home-section-gap);
  padding-bottom: 0;
}

.home-product-rail {
  padding: var(--home-section-gap) 0 0;
}

.catalog-invitation {
  padding: var(--home-section-gap) 0 0;
  background: var(--color-background);
}

.catalog-invitation__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(20px, 2.6vw, 34px);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background-color: rgba(7, 12, 14, .70);
  background-image: url("/assets/img/theme/categories/hero-wszystkie-pojazdy-v3.jpg");
  background-position: 80% center;
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  box-shadow: var(--shadow-card);
  color: #fff;
  text-align: center;
}

.catalog-invitation__panel h2 {
  margin: 0;
  font-size: clamp(1.65rem, 1.25rem + 1.1vw, 2.4rem);
  text-shadow: 0 3px 18px rgba(0, 0, 0, .9);
}

.catalog-invitation__panel h2 span {
  display: block;
  color: var(--color-accent);
}

.catalog-invitation__panel > p:not(.section__eyebrow) {
  margin: var(--space-2) 0 var(--space-4);
  color: rgba(255, 255, 255, .88);
  text-shadow: 0 2px 12px rgba(0, 0, 0, .85);
}

body.public-theme .catalog-invitation__btn {
  min-height: 48px;
  padding-inline: var(--space-5);
  border-color: rgba(163, 255, 0, .55);
  color: #fff;
}

body.public-theme .catalog-invitation__btn:hover {
  color: var(--color-accent);
}

@media (min-width: 900px) {
  .catalog-invitation__panel > p {
    white-space: nowrap;
  }
}

.section--muted {
  background: var(--color-muted);
}

.section__header h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: var(--space-2);
  border-radius: var(--radius-full);
  background: var(--color-accent);
}

.home-seo-summary {
  padding: var(--home-section-gap) 0;
}

.home-showcase .rail__track,
.home-product-rail .rail__track {
  padding-bottom: 0;
}

.section__more {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: var(--color-accent);
  font-size: var(--text-sm);
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}

.section__more:hover {
  color: var(--color-accent-hover);
}

.js-reveal [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms var(--ease-out), transform 520ms var(--ease-out);
}

.js-reveal [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .js-reveal [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.rail {
  position: relative;
}

.rail__track {
  display: flex;
  gap: var(--space-4);
  margin: -8px 0 0;
  padding: 8px 0 var(--space-3);
  max-width: none;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.rail__track:focus-visible {
  outline: 2px solid var(--color-ring);
  outline-offset: 4px;
}

.rail__track::-webkit-scrollbar {
  display: none;
}

.rail__item {
  flex: 0 0 44%;
  min-width: 0;
  scroll-snap-align: start;
}

@media (min-width: 860px) {
  .rail__item { flex-basis: 30%; }
}

@media (min-width: 1100px) {
  .rail__item { flex-basis: 23%; }
}

@media (min-width: 1360px) {

  .rail__item { flex-basis: calc((100% - 4 * var(--space-4)) / 5); }
}

.rail__control {
  position: absolute;
  z-index: 2;
  top: 38%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-card);
  color: var(--color-card-foreground);
  box-shadow: var(--shadow-md);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out),
              opacity var(--dur-fast) var(--ease-out);
}

.rail__control:hover:not(:disabled) {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-on-accent);
}

.rail__control:disabled {
  opacity: .35;
  cursor: default;
}

.rail__control .icon {
  width: 20px;
  height: 20px;
}

.rail__control--prev { left: -14px; }
.rail__control--next { right: -14px; }

@media (min-width: 1360px) {
  .rail__control--prev { left: -22px; }
  .rail__control--next { right: -22px; }
}

@media (max-width: 559px) {
  .rail__control {
    width: 36px;
    height: 36px;
  }

  .rail__control .icon {
    width: 18px;
    height: 18px;
  }

  .rail__control--prev { left: 6px; }
  .rail__control--next { right: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .rail__control { transition: none; }
}

.rail-more {
  display: flex;
  height: 100%;
  min-height: 260px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-card, 16px);
  background: var(--color-card);
  color: var(--color-card-foreground);
  text-align: center;
  text-decoration: none;
  transition: border-color var(--dur-base) var(--ease-out),
              background var(--dur-base) var(--ease-out),
              transform var(--dur-base) var(--ease-out);
}

/* The final catalogue CTA belongs to the same light, translucent surface as the new-product
   cards instead of reading as a separate solid tile. */
.home-showcase .rail-more,
.home-product-rail .rail-more {
  background: transparent;
}

.rail-more:hover {
  border-style: solid;
  border-color: var(--color-accent);
  background: var(--color-muted);
  transform: translateY(-3px);
}

.rail-more__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--color-accent);
  color: var(--color-on-accent);
}

.rail-more__icon .icon {
  width: 24px;
  height: 24px;
}

.rail-more__label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--text-base);
}

@media (prefers-reduced-motion: reduce) {
  .rail-more { transition: none; }
  .rail-more:hover { transform: none; }
}

.section__more {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 8px var(--space-4);
  border: 1px solid var(--color-border-strong);
  border-radius: 10px;
  color: var(--color-foreground);
  font-family: 'TT Lakes Neue Condensed', var(--font-heading);
  font-size: .82rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}

.section__more:hover {
  border-color: var(--color-accent);
  background: rgba(163, 255, 0, .07);
  color: var(--color-accent-text);
}

.section__more::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -100%;
  bottom: -100%;
  left: -42%;
  width: 25%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), transparent);
  transform: translateX(-220%) skewX(-18deg);
  transition: transform 680ms var(--ease-out);
  pointer-events: none;
}

.section__more:hover::before,
.section__more:focus-visible::before {
  transform: translateX(690%) skewX(-18deg);
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel__actions .btn::before,
  .section__more::before {
    display: none;
  }
}
