.hero-banner {
    /* e item de grid în .home-highlights__top — fără min-width:0, lățimea minimă
       implicită ("auto") s-ar calcula după conținut și ar crește cu fiecare
       slide Swiper adăugat, chiar dacă .hero-banner__swiper are overflow:hidden */
    position: relative;
    min-width: 0;
}

.hero-banner__swiper {
    border-radius: var(--radius-lg);
    overflow: hidden;
    min-width: 0;
}

.hero-banner__slide {
    position: relative;
    background-color: var(--color-bg-inverse);
    color: var(--color-content-inverse);
}

.hero-banner__slide-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Caption: badge + titlu + subtitlu + CTA, suprapuse peste imagine (imaginea
   rămâne responsive/naturală în flux normal — doar caption-ul e absolut) */
.hero-banner__slide-content {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 3rem;
}

.hero-banner__badge {
    display: inline-flex;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-pill);
    background-color: var(--color-bg-primary);
    color: var(--color-content-primary);
    font-size: var(--text-s-size);
    font-weight: var(--font-weight-semibold);
    margin-bottom: 1.5rem;
}

.hero-banner__title {
    font-size: var(--heading-xl-size);
    line-height: var(--heading-xl-line);
    color: inherit;
    margin: 0 0 1.5rem;
}

.hero-banner__subtitle {
    font-size: var(--text-l-size);
    line-height: var(--text-l-line);
    color: inherit;
    max-width: 28rem;
    margin: 0 0 2rem;
}

.hero-banner__button {
    background-color: var(--color-bg-button-primary);
    color: var(--color-content-button-primary);
    padding: 0.875rem 1.5rem;
    font-size: var(--text-m-size);
}

.hero-banner__button:hover {
    background-color: var(--color-bg-button-primary-hover);
    color: var(--color-content-button-primary);
}

/* ===== Loader de autoplay (rețetă oficială Swiper: cerc SVG + --progress) ===== */
.hero-banner__autoplay-progress {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 10;
    width: 2.75rem;
    height: 2.75rem;
}

.hero-banner__autoplay-progress svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.hero-banner__autoplay-progress circle {
    fill: none;
    stroke: var(--color-content-inverse);
    stroke-width: 3px;
    stroke-dasharray: 125.6;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress, 0)));
}

/* ===== Bara de navigare (săgeți + dots într-un singur pill alb) ===== */
.hero-banner__nav-group {
    position: absolute;
    left: 50%;
    bottom: 1.5rem;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--color-bg-primary);
    border-radius: var(--radius-lg);
    padding: 0.5rem 0.75rem;
}

.hero-banner__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
}

.hero-banner__nav--prev img {
    transform: rotate(180deg);
}

.hero-banner__pagination.swiper-pagination {
    position: static;
    width: auto;
    display: flex;
    align-items: center;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-vertical-gap: 0px;
    --swiper-pagination-bullet-horizontal-gap: 0.1875rem;
    --swiper-pagination-bullet-inactive-color: var(--color-bg-tertiary);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-color: var(--color-content-primary);
}

/* ===== Tabletă + Mobil (sub lg <992px): bara de navigare capătă umbră (plutește peste imagine) ===== */
@media (max-width: 991.98px) {
    .hero-banner__nav-group {
        box-shadow: 0 8px 24px rgba(16, 24, 40, 0.15);
    }
}

@media (max-width: 767.98px) {
    .hero-banner__slide-content {
        padding: 2rem;
    }

    .hero-banner__subtitle {
        max-width: none;
    }

    /* bara de navigare stă exact pe jumătate pe marginea de jos a imaginii —
       jumătate suprapusă peste imagine, jumătate în afara ei (Slider model.png) */
    .hero-banner__nav-group {
        bottom: 0;
        transform: translate(-50%, 50%);
    }
}
