/* ============================================================
               DentalHolding / product hero slider – układ jak na referencji
               ============================================================ */
            .product-hero {
                --hero-bg: #626269;
                --hero-accent: #58c45f;
                background: var(--hero-bg);
                min-height: 760px;

                /* Navbar jest fixed-top, więc rezerwujemy dla niego miejsce.
                   Tło hero nadal dochodzi pod menu, ale treść slidera już nie. */
                padding-top: 88px;
                box-sizing: border-box;
            }

            /* Menu zawsze nad sliderem i jego animacjami */
            .header-transparent,
            .header-transparent .navbar.fixed-top {
                z-index: 1050;
            }

            .product-hero .swiper-classic,
            .product-hero .swiper-classic .swiper-wrapper,
            .product-hero .swiper-classic .swiper-slide {
                min-height: 760px;
            }

            .product-hero .swiper-slide {
                background: var(--hero-bg);
                display: flex;
                align-items: center;
                padding: 64px 0 130px;
            }

            .product-hero .product-slide-row {
                min-height: 540px;
            }

            .product-hero .product-copy {
                color: #fff;
            }

            .product-hero .product-copy h2 {
                color: #fff;
                font-size: clamp(1.65rem, 2.25vw, 2.25rem);
                line-height: 1.12;
                letter-spacing: -0.02em;
                margin-bottom: 1.15rem;
                font-weight: 600;
            }

            .product-hero .product-copy .hero-lead {
                color: var(--hero-accent);
                font-size: 1.05rem;
                line-height: 1.55;
                font-weight: 500;
                margin-bottom: 1rem;
                max-width: 690px;
            }

            .product-hero .product-copy .benefits-title {
                display: block;
                margin-bottom: .55rem;
                font-weight: 700;
                color: #fff;
            }

            .product-hero .product-copy ul {
                margin-bottom: 1.35rem;
                padding-left: 1.35rem;
                color: #fff;
                line-height: 1.55;
            }

            .product-hero .product-copy .btn {
                background: #fff;
                color: #273042;
                border-color: #fff;
                border-radius: .28rem;
                font-weight: 500;
                padding: .8rem 1.45rem;
                box-shadow: none;
            }

            .product-hero .product-copy .btn:hover {
                background: #f2f2f2;
                border-color: #f2f2f2;
                color: #111827;
            }

            .product-hero .product-image-wrap {
                display: flex;
                justify-content: center;
                align-items: center;
            }

            .product-hero .product-image {
                display: block;
                width: min(100%, 585px);
                max-height: 585px;
                object-fit: contain;
            }

            .product-hero .progress-swiper-thumbs {
                left: 50% !important;
                transform: translateX(-50%);
                width: min(1180px, calc(100% - 48px)) !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
                padding-bottom: 28px !important;
                z-index: 5;
            }

            .product-hero .progress-swiper-thumbs .swiper-slide {
                min-height: 0;
                padding: 0;
                display: block;
                opacity: .48;
                cursor: pointer;
                transition: opacity .2s ease;
            }

            .product-hero .progress-swiper-thumbs .swiper-slide-thumb-active {
                opacity: 1;
            }

            .product-hero .progress-swiper-thumbs .swiper-pagination-progress-bar {
                height: 2px;
                background: rgba(255,255,255,.22);
                margin-bottom: .75rem !important;
                overflow: hidden;
            }

            .product-hero .progress-swiper-thumbs .swiper-pagination-progress-inner {
                height: 100%;
                width: 0;
                background: #fff;
            }

            .product-hero .progress-swiper-thumbs .swiper-slide-thumb-active .swiper-pagination-progress-inner {
                width: 100%;
            }

            .product-hero .progress-swiper-thumbs span {
                color: #fff;
                font-size: .98rem;
                line-height: 1.35;
                white-space: normal;
            }

            @media (max-width: 991.98px) {
                .product-hero,
                .product-hero .swiper-classic,
                .product-hero .swiper-classic .swiper-wrapper,
                .product-hero .swiper-classic .swiper-slide {
                    min-height: 900px;
                }

                .product-hero .swiper-slide {
                    padding: 55px 0 150px;
                }

                .product-hero .product-slide-row {
                    min-height: auto;
                }

                .product-hero .product-copy {
                    margin-top: 1rem;
                }

                .product-hero .product-image {
                    width: min(100%, 470px);
                    max-height: 470px;
                }
            }

            @media (max-width: 575.98px) {
                .product-hero {
                    padding-top: 76px;
                }

                .product-hero,
                .product-hero .swiper-classic,
                .product-hero .swiper-classic .swiper-wrapper,
                .product-hero .swiper-classic .swiper-slide {
                    min-height: 980px;
                }

                .product-hero .swiper-slide {
                    padding: 38px 0 160px;
                }

                .product-hero .product-copy h2 {
                    font-size: 1.55rem;
                }

                .product-hero .product-copy .hero-lead {
                    font-size: .98rem;
                }

                .product-hero .product-copy ul {
                    font-size: .92rem;
                }

                .product-hero .progress-swiper-thumbs {
                    width: calc(100% - 28px) !important;
                }
            }

/* ============================================================
   MEDPARK – formularz, oferta i poprawki kontrastu
   ============================================================ */
.cardx {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    border-radius: 1.25rem;
    padding: clamp(1.4rem, 3vw, 2.25rem);
}

.offer {
    height: 100%;
    border-radius: 1.25rem;
    padding: clamp(1.4rem, 3vw, 2.25rem);
    background: var(--bs-dark);
    color: #fff;
}

.offer h3,
.offer strong,
.offer p { color: #fff; }

.promo,
.package {
    border-radius: 1rem;
    padding: 1rem 1.2rem;
    color: var(--bs-body-color);
}

.promo {
    background: rgba(var(--bs-primary-rgb), .07);
    border: 1px solid rgba(var(--bs-primary-rgb), .24);
}

.package {
    background: rgba(var(--bs-success-rgb), .07);
    border: 1px solid rgba(var(--bs-success-rgb), .22);
}

.cta {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    font-weight: 700;
    border-radius: 999px;
}

.cta:hover,
.cta:focus {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    filter: brightness(.92);
}

/* Menu czytelne zarówno nad ciemnym hero, jak i po przyklejeniu. */
.header-transparent .navbar:not(.navbar-sticky) .navbar-nav > .nav-item > .nav-link {
    color: #fff;
}

.header-transparent .navbar:not(.navbar-sticky) .navbar-toggler-icon i,
.header-transparent .navbar:not(.navbar-sticky) .navbar-toggler-icon::before,
.header-transparent .navbar:not(.navbar-sticky) .navbar-toggler-icon::after {
    color: #fff;
}

.header-transparent .navbar.navbar-sticky .navbar-nav > .nav-item > .nav-link,
.header-transparent .navbar.navbar-sticky .navbar-toggler-icon i {
    color: var(--bs-body-color);
}

/* Dropdowny mają własne tło, więc tekst nie dziedziczy bieli z nagłówka. */
.header-transparent .dropdown-menu,
.header-transparent .dropdown-menu .dropdown-item,
.header-transparent .dropdown-menu .dropdown-header {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .header-transparent .navbar.navbar-sticky,
[data-bs-theme="dark"] .header-transparent .navbar.navbar-sticky .navbar-fixed-bg {
    background: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .header-transparent .navbar.navbar-sticky .navbar-nav > .nav-item > .nav-link,
[data-bs-theme="dark"] .header-transparent .navbar.navbar-sticky .navbar-toggler-icon i {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .header-transparent .dropdown-menu {
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .header-transparent .dropdown-menu .dropdown-item,
[data-bs-theme="dark"] .header-transparent .dropdown-menu .dropdown-header,
[data-bs-theme="dark"] .header-transparent .dropdown-menu h5 {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .header-transparent .dropdown-menu .dropdown-item:hover,
[data-bs-theme="dark"] .header-transparent .dropdown-menu .dropdown-item:focus {
    background: rgba(255,255,255,.06);
}

[data-bs-theme="dark"] .cardx {
    background: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .promo,
[data-bs-theme="dark"] .package {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .table-light {
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-color: var(--bs-body-color);
}

/* Formularze – wymuszamy poprawny kontrast placeholderów. */
.form-control,
.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
}

.form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: .8;
}

/* Drobne zabezpieczenie layoutu obrazów. */
#medpark-oferta img,
#formindex img,
.product-hero img {
    max-width: 100%;
    height: auto;
}


/* ===== STICKY MENU FIX ===== */
/* Sticky menu - tryb jasny */
html[data-bs-theme="light"] body.nav-scrolled .header-transparent .navbar .navbar-nav > .nav-item > .nav-link:not(.text-success) {
    color: #363030 !important;
}

html[data-bs-theme="light"] body.nav-scrolled .header-transparent .navbar .navbar-nav > .nav-item > .nav-link.text-success {
    color: var(--bs-success) !important;
}

/* =========================================================
   FORMULARZ - DARK MODE FIX
   ========================================================= */
html[data-bs-theme="dark"] .cardx,
html[data-bs-theme="dark"] .cardx h1,
html[data-bs-theme="dark"] .cardx h2,
html[data-bs-theme="dark"] .cardx h3,
html[data-bs-theme="dark"] .cardx h4,
html[data-bs-theme="dark"] .cardx h5,
html[data-bs-theme="dark"] .cardx h6,
html[data-bs-theme="dark"] .cardx label,
html[data-bs-theme="dark"] .cardx p,
html[data-bs-theme="dark"] .cardx small,
html[data-bs-theme="dark"] .cardx strong,
html[data-bs-theme="dark"] .cardx .form-check-label {
    color: #f8f9fa !important;
    -webkit-text-fill-color: #f8f9fa !important;
}
html[data-bs-theme="dark"] .cardx .text-body-secondary,
html[data-bs-theme="dark"] .cardx .fw-normal.text-body-secondary {
    color: rgba(255,255,255,.68) !important;
    -webkit-text-fill-color: rgba(255,255,255,.68) !important;
}
html[data-bs-theme="dark"] .cardx .form-control,
html[data-bs-theme="dark"] .cardx .form-select {
    background-color: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}
html[data-bs-theme="dark"] .cardx .form-control::placeholder {
    color: #6c757d !important;
    -webkit-text-fill-color: #6c757d !important;
    opacity: 1 !important;
}

/* Grafitowe menu na bialym tle po scrollowaniu */
html[data-bs-theme="light"] body.nav-scrolled .header-transparent .navbar .navbar-nav > .nav-item > .nav-link:not(.text-success),
html[data-bs-theme="light"] body.nav-scrolled .header-transparent .navbar .dropdown-toggle::after {
    color: #232829 !important;
}
