/* index.html */
html { scroll-behavior: smooth; }
        .logo-main, .logo-mobile { height: 42px; width: auto; object-fit: contain; }
        .product-logo { height: 46px; width: auto; max-width: 240px; object-fit: contain; }
        .product-logo-sm { height: 36px; width: auto; max-width: 205px; object-fit: contain; display:block; }
        .safe-anchor-offset { scroll-margin-top: 120px; }
        .safe-hero .swiper-inner { min-height: 760px; display: flex; align-items: center; background-size: cover; background-position: center; }
        .safe-hero .sw-caption { width: 100%; padding-top: 130px; padding-bottom: 95px; }
        .safe-hero-title { max-width: 760px; font-size: clamp(42px, 5.5vw, 74px); line-height: .96; letter-spacing: -.04em; }
        .safe-hero-lead { max-width: 650px; font-size: 20px; line-height: 1.55; }
        .safe-hero-card { border: 1px solid rgba(255,255,255,.14); background: rgba(8,15,24,.66); backdrop-filter: blur(10px); box-shadow: 0 30px 80px rgba(0,0,0,.24); }
        .safe-hero-card .product-logo { margin-bottom: 28px; }
        .safe-product-card { min-height: 100%; border: 1px solid rgba(255,255,255,.08); box-shadow: none; }
        .safe-product-card .product-logo-sm { margin-bottom: 26px; }
        .safe-product-card .safe-card-icon { margin-top: 8px; margin-bottom: 22px; }
        .safe-product-card p { min-height: 110px; }
        .safe-solution-card { min-height: 100%; border: 1px solid rgba(255,255,255,.10); }
        .safe-solution-card p { line-height: 1.65; }
        .safe-provide-card { min-height: 100%; }
        .safe-provide-card img { min-height: 235px; object-fit: cover; }
        .safe-compliance-card { min-height: 100%; border: 1px solid rgba(255,255,255,.10); }
        .safe-compliance-card .p-4 { min-height: 270px; display: flex; flex-direction: column; }
        .safe-compliance-card p { flex: 1; }
        .safe-contact input, .safe-contact select, .safe-contact textarea { margin-bottom: 15px; }
        .safe-contact-person { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
        .safe-contact-person img { width: 128px; height: 128px; object-fit: cover; border-radius: 50%; }
        .safe-section-breath { padding-top: 105px; padding-bottom: 105px; }
        .footer-logo { height: 38px; width: auto; object-fit: contain; }
        @media (max-width: 991px){
            .product-logo { height: 38px; max-width: 210px; }
            .safe-hero .swiper-inner { min-height: 820px; }
            .safe-hero .sw-caption { padding-top: 110px; padding-bottom: 80px; }
            .safe-product-card p { min-height: auto; }
            .safe-compliance-card .p-4 { min-height: auto; }
        }
        @media (max-width: 575px){
            .safe-hero .swiper-inner { min-height: 900px; }
        }
        /* SAFE overrides */
        .safe-hero .swiper-inner { min-height: 820px; display: flex; align-items: center; background-size: cover; background-position: center; }
        .safe-hero .slider-title { font-size: clamp(44px, 6vw, 78px); line-height: .98; letter-spacing: -.04em; }
        .safe-hero .slider-teaser { max-width: 760px; margin-left: auto; margin-right: auto; line-height: 1.4; }
        .safe-hero .product-logo-hero { height: 54px; width: auto; max-width: 280px; object-fit: contain; margin-bottom: 22px; }
        .safe-hero .slider-extra { margin-top: 18px; }
        .safe-hero .slider-extra p { line-height: 1.55; }
        .safe-solution-card { height: 100%; display: flex; flex-direction: column; }
        .safe-solution-card .btn-line { margin-top: auto; align-self: flex-start; }
        .safe-for-card { min-height: 100%; }
        .safe-contact-heading { max-width: 920px; }
        .safe-contact-card { min-height: 100%; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
        .safe-contact-card .contact-photo { width: 100%; max-height: 360px; object-fit: cover; border-radius: 6px; }
        .safe-about-counter .de_count { height: 100%; }
        @media (max-width: 991px){
            .safe-hero .swiper-inner { min-height: 900px; }
            .safe-hero .product-logo-hero { height: 42px; }
            .safe-contact-card .contact-photo { max-height: 260px; }
        }

        /* v4 refinements */
        .float-text { right: 24px !important; left: auto !important; }
        .safe-hero .swiper-inner {
            min-height: 100vh !important;
            position: relative;
            padding-top: 90px;
            padding-bottom: 70px;
        }
        .safe-hero .swiper-inner::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.72) 46%, rgba(0,0,0,.58) 100%);
            pointer-events: none;
        }
        .safe-hero .sw-caption { position: relative; z-index: 2; padding-top: 150px; padding-bottom: 120px; }
        .safe-hero .sw-overlay { display: none !important; }
        .safe-hero .slider-title { text-shadow: 0 12px 40px rgba(0,0,0,.46); }
        .safe-hero .slider-teaser { text-shadow: 0 8px 28px rgba(0,0,0,.42); }
        .safe-contact-card { display: flex; flex-direction: column; justify-content: flex-start; }
        .safe-contact-card .contact-photo {
            width: 190px;
            height: 190px;
            max-height: none;
            border-radius: 50%;
            object-fit: cover;
            display: block;
            margin: 0 auto 26px auto;
            border: 4px solid rgba(255,255,255,.16);
            box-shadow: 0 25px 70px rgba(0,0,0,.26);
        }
        .safe-contact-intro { font-size: 18px; line-height: 1.65; }
        @media (max-width: 991px){
            .safe-hero .swiper-inner { min-height: 100svh !important; padding-top: 70px; padding-bottom: 55px; }
            .safe-hero .sw-caption { padding-top: 115px; padding-bottom: 90px; }
            .safe-hero .slider-title { font-size: clamp(36px, 10vw, 54px); }
            .safe-hero .slider-teaser { font-size: 18px; }
            .safe-contact-card .contact-photo { width: 160px; height: 160px; margin-left: 0; margin-right: 0; }
        }
        @media (max-width: 575px){
            .safe-hero .swiper-inner { min-height: auto !important; padding-top: 110px; padding-bottom: 80px; }
            .safe-hero .sw-caption { padding-top: 80px; padding-bottom: 70px; }
            .safe-hero .slider-extra { display: none; }
            .float-text { right: 12px !important; }
        }


        /* v5 hero desktop fix */
        .safe-hero,
        .safe-hero .mh-700,
        .safe-hero .swiper,
        .safe-hero .swiper-wrapper,
        .safe-hero .swiper-slide,
        .safe-hero .swiper-inner {
            min-height: 100vh !important;
            height: 100vh !important;
        }
        .safe-hero .swiper-inner {
            display: flex !important;
            align-items: center !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            background-position: center center !important;
        }
        .safe-hero .swiper-inner::before {
            background: linear-gradient(90deg, rgba(3,7,14,.88) 0%, rgba(5,9,20,.78) 48%, rgba(5,9,20,.66) 100%) !important;
        }
        .safe-hero .sw-caption {
            width: 100%;
            padding-top: 170px !important;
            padding-bottom: 115px !important;
            position: relative;
            z-index: 2;
        }
        .safe-hero .slider-title {
            font-size: clamp(40px, 4.8vw, 68px) !important;
            line-height: 1.02 !important;
            max-width: 960px;
            margin-left: auto;
            margin-right: auto;
        }
        .safe-hero .slider-teaser {
            max-width: 820px;
            margin-left: auto;
            margin-right: auto;
            font-size: clamp(18px, 1.55vw, 23px) !important;
            line-height: 1.45 !important;
        }
        .safe-hero .product-logo-hero {
            height: 50px !important;
            max-width: 280px;
        }
        .safe-hero .slider-extra {
            margin-top: 42px;
        }
        .safe-hero .swiper-button-prev,
        .safe-hero .swiper-button-next {
            z-index: 4;
        }
        .safe-claim-strip {
            position: relative;
            z-index: 2;
        }
        .safe-claim-strip h3 {
            max-width: 980px;
        }
        @media (min-width: 1200px) and (max-height: 820px) {
            .safe-hero,
            .safe-hero .mh-700,
            .safe-hero .swiper,
            .safe-hero .swiper-wrapper,
            .safe-hero .swiper-slide,
            .safe-hero .swiper-inner {
                min-height: 820px !important;
                height: 820px !important;
            }
            .safe-hero .sw-caption { padding-top: 145px !important; padding-bottom: 85px !important; }
            .safe-hero .slider-extra { margin-top: 28px; }
            .safe-hero .slider-title { font-size: clamp(38px, 4.4vw, 60px) !important; }
            .safe-hero .slider-teaser { font-size: 19px !important; }
            .safe-hero .product-logo-hero { height: 46px !important; }
        }
        @media (max-width: 991px) {
            .safe-hero,
            .safe-hero .mh-700,
            .safe-hero .swiper,
            .safe-hero .swiper-wrapper,
            .safe-hero .swiper-slide,
            .safe-hero .swiper-inner {
                min-height: 100svh !important;
                height: auto !important;
            }
            .safe-hero .swiper-inner { padding-top: 105px !important; padding-bottom: 85px !important; }
            .safe-hero .sw-caption { padding-top: 90px !important; padding-bottom: 70px !important; }
            .safe-hero .slider-title { font-size: clamp(34px, 9vw, 50px) !important; }
            .safe-hero .slider-teaser { font-size: 17px !important; }
            .safe-hero .product-logo-hero { height: 40px !important; }
        }
        @media (max-width: 575px) {
            .safe-hero,
            .safe-hero .mh-700,
            .safe-hero .swiper,
            .safe-hero .swiper-wrapper,
            .safe-hero .swiper-slide,
            .safe-hero .swiper-inner {
                min-height: auto !important;
                height: auto !important;
            }
            .safe-hero .swiper-inner { padding-top: 120px !important; padding-bottom: 70px !important; }
            .safe-hero .sw-caption { padding-top: 60px !important; padding-bottom: 55px !important; }
            .safe-claim-strip { padding-top: 36px !important; padding-bottom: 34px !important; }
            .safe-claim-strip h3 { font-size: 24px !important; line-height: 1.25; }
        }


        /* v6 hero spacing and readability refinement */
        .safe-hero,
        .safe-hero .mh-700,
        .safe-hero .swiper,
        .safe-hero .swiper-wrapper,
        .safe-hero .swiper-slide,
        .safe-hero .swiper-inner {
            min-height: 100svh !important;
            height: auto !important;
        }
        .safe-hero .swiper-inner {
            align-items: flex-start !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            background-position: center center !important;
        }
        .safe-hero .swiper-inner::before {
            background: linear-gradient(90deg, rgba(3,7,14,.84) 0%, rgba(5,9,20,.74) 48%, rgba(5,9,20,.62) 100%) !important;
        }
        .safe-hero .sw-caption {
            padding-top: clamp(185px, 18vh, 225px) !important;
            padding-bottom: clamp(70px, 9vh, 105px) !important;
        }
        .safe-hero .slider-title {
            max-width: 930px;
            font-size: clamp(40px, 4.45vw, 64px) !important;
            line-height: 1.03 !important;
            margin-bottom: 18px !important;
        }
        .safe-hero .hero-logo-after {
            display: block;
            height: 44px !important;
            width: auto;
            max-width: 260px;
            object-fit: contain;
            margin: 0 auto 18px auto !important;
        }
        .safe-hero .slider-teaser {
            max-width: 780px;
            font-size: clamp(17px, 1.35vw, 21px) !important;
            line-height: 1.45 !important;
            margin-bottom: 18px !important;
        }
        .safe-hero .sw-text-wrapper .spacer-10 { height: 0 !important; min-height: 0 !important; }
        .safe-hero .sw-text-wrapper .btn-main { margin-bottom: 6px !important; }
        .safe-hero .slider-extra {
            margin-top: 8px !important;
        }
        .safe-hero .slider-extra h4 { margin-bottom: 4px; }
        .safe-hero .slider-extra p { margin-bottom: 0; font-size: 15px; line-height: 1.45; }
        @media (min-width: 1200px) and (max-height: 820px) {
            .safe-hero,
            .safe-hero .mh-700,
            .safe-hero .swiper,
            .safe-hero .swiper-wrapper,
            .safe-hero .swiper-slide,
            .safe-hero .swiper-inner { min-height: 820px !important; height: auto !important; }
            .safe-hero .sw-caption { padding-top: 170px !important; padding-bottom: 62px !important; }
            .safe-hero .slider-title { font-size: clamp(36px, 4vw, 56px) !important; }
            .safe-hero .slider-teaser { font-size: 18px !important; }
            .safe-hero .hero-logo-after { height: 38px !important; margin-bottom: 14px !important; }
            .safe-hero .slider-extra { margin-top: 0 !important; }
        }
        @media (max-width: 991px) {
            .safe-hero,
            .safe-hero .mh-700,
            .safe-hero .swiper,
            .safe-hero .swiper-wrapper,
            .safe-hero .swiper-slide,
            .safe-hero .swiper-inner { min-height: 100svh !important; height: auto !important; }
            .safe-hero .sw-caption { padding-top: 145px !important; padding-bottom: 80px !important; }
            .safe-hero .slider-title { font-size: clamp(34px, 8.5vw, 50px) !important; }
            .safe-hero .slider-teaser { font-size: 17px !important; }
            .safe-hero .hero-logo-after { height: 36px !important; max-width: 220px; }
        }
        @media (max-width: 575px) {
            .safe-hero .sw-caption { padding-top: 130px !important; padding-bottom: 70px !important; }
            .safe-hero .slider-extra { display: none !important; }
            .safe-hero .slider-title { font-size: clamp(31px, 9vw, 42px) !important; }
            .safe-hero .slider-teaser { font-size: 16px !important; }
            .safe-hero .hero-logo-after { height: 32px !important; }
        }

    

        /* v7 clean hero reset */
        .safe-hero.safe-hero-clean,
        .safe-hero.safe-hero-clean .mh-700,
        .safe-hero.safe-hero-clean .swiper,
        .safe-hero.safe-hero-clean .swiper-wrapper,
        .safe-hero.safe-hero-clean .swiper-slide {
            height: auto !important;
            min-height: 100svh !important;
        }
        .safe-hero.safe-hero-clean { z-index: 1 !important; }
        .safe-hero.safe-hero-clean .safe-slide {
            position: relative;
            min-height: 100svh;
            display: flex;
            align-items: center;
            background-size: cover;
            background-position: center;
            padding: 165px 0 72px;
            overflow: hidden;
        }
        .safe-hero.safe-hero-clean .safe-slide::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background:
                radial-gradient(circle at 50% 36%, rgba(66, 126, 220, .20), transparent 36%),
                linear-gradient(90deg, rgba(3, 8, 18, .84) 0%, rgba(4, 11, 25, .76) 46%, rgba(4, 11, 25, .70) 100%);
            pointer-events: none;
        }
        .safe-hero.safe-hero-clean .safe-hero-container { position: relative; z-index: 2; }
        .safe-hero.safe-hero-clean .subtitle.s2 {
            letter-spacing: .32em;
            text-transform: uppercase;
            color: #5e91ff;
            font-size: 13px;
            margin-bottom: 14px !important;
        }
        .safe-hero.safe-hero-clean .slider-title {
            font-size: clamp(38px, 4.25vw, 62px) !important;
            line-height: 1.03 !important;
            letter-spacing: -.045em;
            max-width: 980px;
            margin-left: auto;
            margin-right: auto;
            text-shadow: 0 16px 46px rgba(0,0,0,.56);
        }
        .safe-hero.safe-hero-clean .hero-logo-after {
            display: block;
            height: 38px !important;
            width: auto;
            max-width: 270px;
            object-fit: contain;
            margin: 12px auto 16px;
        }
        .safe-hero.safe-hero-clean .slider-teaser {
            max-width: 760px;
            margin-left: auto;
            margin-right: auto;
            font-size: clamp(18px, 1.25vw, 21px) !important;
            line-height: 1.45 !important;
            font-weight: 500;
            text-shadow: 0 10px 34px rgba(0,0,0,.55);
        }
        .safe-hero.safe-hero-clean .safe-hero-buttons {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 22px;
        }
        .safe-hero.safe-hero-clean .safe-hero-buttons .btn-main { margin: 0 !important; }
        .safe-hero.safe-hero-clean .safe-hero-features {
            margin-top: 26px !important;
            align-items: stretch;
        }
        .safe-hero.safe-hero-clean .safe-hero-feature {
            height: 100%;
            display: flex;
            gap: 18px;
            align-items: flex-start;
            padding: 18px 18px;
            border: 1px solid rgba(255,255,255,.12);
            background: rgba(4, 10, 22, .42);
            backdrop-filter: blur(6px);
            border-radius: 8px;
        }
        .safe-hero.safe-hero-clean .safe-hero-feature img {
            width: 54px;
            min-width: 54px;
            height: 54px;
            object-fit: contain;
            padding: 5px;
        }
        .safe-hero.safe-hero-clean .safe-hero-feature h4 {
            font-size: 18px;
            margin: 0 0 5px;
        }
        .safe-hero.safe-hero-clean .safe-hero-feature p {
            margin: 0;
            font-size: 15px;
            line-height: 1.45;
            color: rgba(255,255,255,.82);
        }
        @media (max-width: 1199px) {
            .safe-hero.safe-hero-clean .safe-slide { padding-top: 155px; padding-bottom: 60px; }
            .safe-hero.safe-hero-clean .slider-title { font-size: clamp(34px, 4.7vw, 54px) !important; }
            .safe-hero.safe-hero-clean .slider-teaser { font-size: 18px !important; }
            .safe-hero.safe-hero-clean .safe-hero-feature { padding: 15px; }
        }
        @media (max-width: 991px) {
            .safe-hero.safe-hero-clean,
            .safe-hero.safe-hero-clean .mh-700,
            .safe-hero.safe-hero-clean .swiper,
            .safe-hero.safe-hero-clean .swiper-wrapper,
            .safe-hero.safe-hero-clean .swiper-slide { min-height: auto !important; }
            .safe-hero.safe-hero-clean .safe-slide { min-height: 720px; padding: 145px 0 78px; }
            .safe-hero.safe-hero-clean .hero-logo-after { height: 34px !important; }
            .safe-hero.safe-hero-clean .safe-hero-features { display: none !important; }
        }
        @media (max-width: 575px) {
            .safe-hero.safe-hero-clean .safe-slide { min-height: 690px; padding: 130px 0 68px; }
            .safe-hero.safe-hero-clean .subtitle.s2 { letter-spacing: .22em; font-size: 11px; }
            .safe-hero.safe-hero-clean .slider-title { font-size: clamp(30px, 9vw, 40px) !important; }
            .safe-hero.safe-hero-clean .slider-teaser { font-size: 16px !important; }
            .safe-hero.safe-hero-clean .safe-hero-buttons { gap: 8px; margin-top: 20px; }
        }


        /* v8 final refinements: hero logos, right scroll, contact balance */
        .safe-hero.safe-hero-clean .safe-slide {
            padding-top: 180px !important;
            padding-bottom: 88px !important;
        }
        .safe-hero.safe-hero-clean .hero-logo-after {
            height: 56px !important;
            max-width: 330px !important;
            margin: 24px auto 26px !important;
        }
        .safe-hero.safe-hero-clean .slider-title {
            margin-bottom: 0 !important;
        }
        .safe-hero.safe-hero-clean .safe-hero-buttons {
            margin-top: 24px !important;
        }
        .safe-hero.safe-hero-clean .safe-hero-features {
            margin-top: 22px !important;
        }
        .safe-hero.safe-hero-clean .safe-hero-feature {
            padding: 16px 18px !important;
        }
        .float-text {
            left: auto !important;
            right: 18px !important;
            margin-left: 0 !important;
            transform: translate(50%, -50%) !important;
        }
        .scrollbar-v {
            left: auto !important;
            right: 45px !important;
        }
        #kontakt {
            padding-bottom: 120px !important;
        }
        .safe-contact-card {
            justify-content: flex-start !important;
            gap: 24px;
        }
        .safe-contact-card .contact-photo {
            width: 104px !important;
            height: 104px !important;
            min-width: 104px;
            border-radius: 50% !important;
            object-fit: cover;
            margin: 0 !important;
            border: 3px solid rgba(255,255,255,.16);
            box-shadow: 0 18px 45px rgba(0,0,0,.26);
        }
        .safe-contact-person-row {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-top: 4px;
            padding-top: 24px;
            border-top: 1px solid rgba(255,255,255,.12);
        }
        .safe-contact-intro {
            font-size: 18px !important;
            line-height: 1.72 !important;
            margin-bottom: 0 !important;
        }
        .safe-contact-consent {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            font-size: 12.5px;
            line-height: 1.55;
            color: rgba(255,255,255,.72);
            margin: 4px 0 4px;
        }
        .safe-contact-consent input {
            margin-top: 3px;
            min-width: 15px;
        }
        .safe-contact textarea.form-control {
            min-height: 128px;
        }
        @media (min-width: 1200px) and (max-height: 820px) {
            .safe-hero.safe-hero-clean .safe-slide {
                padding-top: 170px !important;
                padding-bottom: 72px !important;
            }
            .safe-hero.safe-hero-clean .hero-logo-after {
                height: 50px !important;
                margin: 20px auto 22px !important;
            }
            .safe-hero.safe-hero-clean .slider-title {
                font-size: clamp(36px, 4vw, 56px) !important;
            }
            .safe-hero.safe-hero-clean .slider-teaser {
                font-size: 18px !important;
            }
            .safe-hero.safe-hero-clean .safe-hero-features {
                margin-top: 18px !important;
            }
            .safe-hero.safe-hero-clean .safe-hero-feature p {
                font-size: 14px !important;
            }
        }
        @media (max-width: 991px) {
            .safe-hero.safe-hero-clean .safe-slide {
                padding-top: 150px !important;
                padding-bottom: 78px !important;
                min-height: 720px !important;
            }
            .safe-hero.safe-hero-clean .hero-logo-after {
                height: 42px !important;
                max-width: 260px !important;
                margin: 18px auto 20px !important;
            }
            .safe-contact-person-row {
                align-items: flex-start;
            }
        }
        @media (max-width: 575px) {
            .safe-hero.safe-hero-clean .safe-slide {
                padding-top: 132px !important;
                padding-bottom: 64px !important;
                min-height: 690px !important;
            }
            .safe-hero.safe-hero-clean .hero-logo-after {
                height: 36px !important;
                margin: 16px auto 18px !important;
            }
            .safe-contact-person-row {
                flex-direction: column;
                gap: 14px;
            }
            .safe-contact-consent {
                font-size: 11.8px;
                line-height: 1.5;
            }
        }

        /* v9 cleanup: section separation + right-side scroll pair */
        .safe-about-section {
            position: relative;
            overflow: hidden;
            background-color: #07111f;
            padding-top: 115px;
            padding-bottom: 115px;
        }
        .safe-about-section::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(4,10,20,.94) 0%, rgba(8,18,34,.84) 48%, rgba(7,15,28,.64) 100%);
            z-index: 0;
            pointer-events: none;
        }
        .safe-about-section .container { position: relative; z-index: 1; }
        #dla-kogo {
            padding-bottom: 125px !important;
            border-bottom: 1px solid rgba(16,31,52,.08);
        }
        .safe-about-section .safe-about-counter .de_count {
            border: 1px solid rgba(255,255,255,.12);
            background: rgba(255,255,255,.045) !important;
        }
        .safe-contact-section {
            background: radial-gradient(circle at 20% 0%, rgba(55,105,180,.18), transparent 36%), linear-gradient(135deg, #0d1729 0%, #07101d 100%) !important;
            padding-top: 115px !important;
            padding-bottom: 135px !important;
            border-top: 1px solid rgba(255,255,255,.08);
            border-bottom: 1px solid rgba(255,255,255,.10);
        }
        footer.section-dark {
            background: #050a13 !important;
            padding-top: 85px;
        }
        .float-text {
            left: auto !important;
            right: 38px !important;
            margin-left: 0 !important;
            top: 50% !important;
            transform: translate(50%, -50%) !important;
            z-index: 1002 !important;
        }
        .scrollbar-v {
            left: auto !important;
            right: 47px !important;
            top: calc(50% + 72px) !important;
            z-index: 1001 !important;
        }
        .scrollbar-v::before {
            background: rgba(255,255,255,.22) !important;
        }
        .float-text a { color: #ffffff !important; }
        .float-text span { color: #ffffff !important; }
        @media (max-width: 991px) {
            .safe-about-section { padding-top: 95px; padding-bottom: 95px; }
            #dla-kogo { padding-bottom: 100px !important; }
            .safe-contact-section { padding-top: 95px !important; padding-bottom: 110px !important; }
            .float-text, .scrollbar-v { display: none !important; }
        }


        /* v10: right-side scroll indicator like CyberGuard + contact person layout */
        .float-text {
            left: auto !important;
            right: 34px !important;
            top: calc(50% - 70px) !important;
            width: 24px !important;
            margin-left: 0 !important;
            text-align: center !important;
            transform: none !important;
            z-index: 1002 !important;
        }
        .float-text span {
            display: inline-block;
            writing-mode: vertical-rl;
            transform: rotate(-180deg);
            margin: 0 !important;
            letter-spacing: .75px;
            line-height: 1;
        }
        .float-text a, .float-text span {
            color: #ffffff !important;
        }
        .scrollbar-v {
            left: auto !important;
            right: 45px !important;
            top: calc(50% + 32px) !important;
            width: 2px !important;
            z-index: 1001 !important;
        }
        .scrollbar-v::before {
            min-height: 112px !important;
            background: rgba(255,255,255,.28) !important;
        }
        .safe-contact-person-row {
            flex-direction: row-reverse;
            justify-content: space-between;
            align-items: center;
        }
        .safe-contact-person-row > div {
            flex: 1 1 auto;
            padding-right: 18px;
        }
        .safe-contact-card .contact-photo {
            width: 104px !important;
            height: 104px !important;
            min-width: 104px !important;
        }
        @media (max-width: 991px) {
            .float-text, .scrollbar-v { display: none !important; }
        }
        @media (max-width: 575px) {
            .safe-contact-person-row {
                flex-direction: row-reverse !important;
                align-items: center !important;
            }
            .safe-contact-person-row > div { padding-right: 12px; }
            .safe-contact-card .contact-photo {
                width: 84px !important;
                height: 84px !important;
                min-width: 84px !important;
            }
        }


/* safedr/index.html */
html { scroll-behavior: smooth; }
        .logo-main, .logo-mobile { height: 42px; width: auto; object-fit: contain; }
        .footer-logo { height: 38px; width: auto; object-fit: contain; }
        .product-logo { height: 54px; width: auto; max-width: 280px; object-fit: contain; }
        .safe-anchor-offset { scroll-margin-top: 120px; }
        .safe-tight p:last-child { margin-bottom: 0; }
        .safe-dark-card { border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.045); border-radius: 12px; height: 100%; }
        .safe-light-card { border: 1px solid rgba(11,20,36,.08); background: #fff; border-radius: 12px; height: 100%; box-shadow: 0 16px 48px rgba(10,24,52,.06); }
        .safe-light-card p, .safe-dark-card p { line-height: 1.65; }
        .safe-section-pad { padding-top: 105px; padding-bottom: 105px; }
        .safe-section-pad-sm { padding-top: 80px; padding-bottom: 80px; }
        .safe-subtitle { letter-spacing: .35em; text-transform: uppercase; color: var(--primary-color); font-size: 12px; font-weight: 700; margin-bottom: 14px; }
        .safe-chip { display: inline-flex; align-items:center; padding: 9px 14px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); color: #fff; margin: 4px; font-size: 14px; }
        .safe-chip-light { background: rgba(48,100,206,.07); border: 1px solid rgba(48,100,206,.12); color: #182231; }
        .safe-step { position: relative; overflow: hidden; }
        .safe-step .num { font-size: 48px; line-height: 1; opacity: .18; font-weight: 800; }
        .safe-compare-table { border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); }
        .safe-compare-table table { margin:0; }
        .safe-compare-table th { background: rgba(255,255,255,.08); color:#fff; font-weight: 700; }
        .safe-compare-table td { color: rgba(255,255,255,.82); border-color: rgba(255,255,255,.08); vertical-align: middle; }
        .safe-media-card { min-height: 420px; border-radius: 16px; overflow: hidden; background-size: cover; background-position: center; position: relative; }
        .safe-media-card:before { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(3,8,18,.08), rgba(3,8,18,.86)); }
        .safe-media-card .inner { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px; color: #fff; z-index: 1; }
        .safe-play { width: 74px; height: 74px; border-radius: 50%; display:inline-flex; align-items:center; justify-content:center; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.10); color:#fff; font-size: 30px; margin-bottom: 26px; }
        .safe-hero-product { position: relative; min-height: 720px; display:flex; align-items:center; overflow:hidden; background-image:url('../images/slider/1.webp'); background-size:cover; background-position:center; }
        .safe-hero-product:before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(2,6,14,.88) 0%, rgba(4,9,20,.80) 46%, rgba(4,9,20,.68) 100%); z-index:0; }
        .safe-hero-product:after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 70% 45%, rgba(50,96,210,.16), transparent 42%); z-index:0; }
        .safe-hero-product .container { position: relative; z-index: 2; padding-top: 180px; padding-bottom: 95px; }
        .safe-hero-product h1 { font-size: clamp(40px, 5.2vw, 72px); line-height: 1.03; letter-spacing: -.04em; max-width: 920px; margin-left:auto; margin-right:auto; text-shadow: 0 16px 44px rgba(0,0,0,.52); }
        .safe-hero-product .lead { max-width: 820px; margin: 0 auto; color: rgba(255,255,255,.86); font-size: clamp(18px, 1.45vw, 22px); line-height: 1.55; text-shadow: 0 10px 32px rgba(0,0,0,.4); }
        .safe-hero-product .product-logo { margin: 26px auto 22px auto; display:block; }
        .safe-hero-actions { margin-top: 30px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
        .safe-hero-features { margin-top: 46px; }
        .safe-hero-feature { background: rgba(5,11,24,.58); border: 1px solid rgba(255,255,255,.11); backdrop-filter: blur(8px); padding: 25px; height: 100%; border-radius: 12px; }
        .safe-hero-feature i { font-size: 38px; color: var(--primary-color); margin-bottom: 16px; display:block; }
        .safe-hero-feature p { margin-bottom:0; color:rgba(255,255,255,.76); font-size: 15px; line-height:1.55; }
        .safe-claim-strip { background:#243573; color:#fff; padding: 36px 0; }
        .safe-claim-strip h3 { margin: 0; font-size: clamp(25px, 2.2vw, 34px); line-height: 1.25; }
        .safe-contact-section { background: linear-gradient(135deg, #070d18 0%, #111a2d 100%); padding-top: 105px; padding-bottom: 118px; }
        .safe-contact-card { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.045); border-radius: 14px; }
        .safe-contact-person-row { display:flex; gap: 20px; align-items: center; }
        .safe-contact-person-row img { width: 104px; height: 104px; min-width:104px; object-fit: cover; border-radius: 50%; }
        .safe-contact-consent { display:block; font-size: 12px; line-height: 1.55; color: rgba(255,255,255,.68); margin-top: 4px; }
        .safe-contact input, .safe-contact select, .safe-contact textarea { margin-bottom: 0; }
        .float-text { position: fixed; right: 31px; left: auto !important; top: 48%; z-index: 99; writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .05em; }
        .float-text span a { color: #111827; }
        .scrollbar-v { position: fixed; right: 48px; left: auto !important; top: calc(48% + 118px); width: 3px; height: 132px; background: rgba(17,24,39,.22); z-index: 99; }
        .scrollbar-v::before { content:""; display:block; width:3px; height:34px; background: var(--primary-color); }
        @media (max-width: 991px) {
            .safe-hero-product { min-height:auto; }
            .safe-hero-product .container { padding-top: 150px; padding-bottom: 76px; }
            .safe-hero-product h1 { font-size: clamp(34px, 8vw, 54px); }
            .safe-hero-product .product-logo { height: 44px; }
            .safe-hero-features { margin-top: 34px; }
            .float-text, .scrollbar-v { display:none!important; }
        }
        @media (max-width: 575px) {
            .safe-hero-product .container { padding-top: 130px; padding-bottom: 58px; }
            .safe-hero-product .lead { font-size: 17px; }
            .safe-hero-actions { align-items: stretch; }
            .safe-hero-actions a { width:100%; text-align:center; }
            .safe-section-pad { padding-top: 72px; padding-bottom: 72px; }
            .safe-media-card .inner { padding: 28px; }
        }

        /* SafeDR refinements v3 */
        .safe-claim-strip { background: linear-gradient(90deg,#1e327a 0%, #2f55c7 100%); color:#fff; padding: 34px 0; }
        .safe-claim-strip h3 { color:#fff !important; font-weight:700; }
        .safe-hero-product:before { background: linear-gradient(90deg, rgba(1,5,12,.94) 0%, rgba(3,8,20,.88) 46%, rgba(3,8,20,.78) 100%); }
        .safe-hero-product .container { padding-top: 190px; padding-bottom: 110px; }
        .safe-hero-product h1 { font-size: clamp(36px, 4.4vw, 60px); max-width: 860px; }
        .safe-hero-product .product-logo { height: 58px; width:auto; margin: 28px auto 28px; }
        .safe-problem-card { position:relative; padding:34px 32px 32px; border-radius:18px; background:#fff; border:1px solid rgba(10,24,52,.08); box-shadow:0 20px 50px rgba(7,18,42,.07); height:100%; overflow:hidden; transition:.25s ease; }
        .safe-problem-card:hover { transform:translateY(-4px); box-shadow:0 26px 66px rgba(7,18,42,.11); }
        .safe-problem-card .num { position:absolute; top:22px; right:26px; font-size:58px; line-height:1; color:rgba(48,100,206,.08); font-weight:800; }
        .safe-problem-icon { width:58px; height:58px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(48,100,206,.09); color:var(--primary-color); font-size:30px; margin-bottom:24px; }
        .safe-problem-card h3 { margin-bottom:14px; }
        .safe-equal-row { align-items:stretch !important; }
        .safe-equal-media { height:100%; min-height:500px; }
        .safe-card-pad { padding:30px !important; }
        .safe-mini-card { padding:28px; border-radius:14px; height:100%; }
        .safe-source-card { padding:26px 24px; border-radius:14px; background:#fff; border:1px solid rgba(11,20,36,.08); box-shadow:0 16px 44px rgba(10,24,52,.055); height:100%; }
        .safe-source-card i { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(48,100,206,.09); color:var(--primary-color); font-size:24px; margin-bottom:16px; }
        .safe-source-card h4 { margin-bottom:7px; font-size:20px; }
        .safe-source-card p { font-size:15px; line-height:1.55; margin:0; color:#626d7d; }
        .safe-video-card .safe-play { margin-bottom:28px; }
        .safe-video-card { cursor:pointer; }
        .safe-video-card .inner { padding:42px; }
        .safe-compare-table { border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.12); box-shadow:0 25px 70px rgba(0,0,0,.22); }
        .safe-compare-table table { margin:0; border-collapse:separate; border-spacing:0; }
        .safe-compare-table th { background:rgba(255,255,255,.07); color:#fff; padding:22px 24px; font-size:16px; border-color:rgba(255,255,255,.08); }
        .safe-compare-table td { padding:22px 24px; color:rgba(255,255,255,.78); border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.025); }
        .safe-compare-table td:first-child { color:#fff; font-weight:700; width:22%; }
        .safe-compare-table th:nth-child(3), .safe-compare-table td:nth-child(3) { background:rgba(48,100,206,.20); color:#fff; border-left:1px solid rgba(72,130,255,.36); }
        .safe-compare-table th:nth-child(3) { background:linear-gradient(135deg, rgba(48,100,206,.70), rgba(43,79,176,.45)); }
        .safe-brochure { position:relative; overflow:hidden; background:linear-gradient(135deg,#101a31 0%,#1a2a58 55%,#253f8f 100%); color:#fff; }
        .safe-brochure h2, .safe-brochure p { color:#fff; }
        .safe-brochure p { color:rgba(255,255,255,.78); }
        .safe-faq .accordion-item { border:0; margin-bottom:14px; border-radius:14px; overflow:hidden; box-shadow:0 14px 44px rgba(8,18,42,.07); background:#fff; }
        .safe-faq .accordion-button { padding:22px 26px; font-weight:700; font-size:18px; color:#152235; background:#fff; box-shadow:none; }
        .safe-faq .accordion-button:not(.collapsed) { color:#fff; background:linear-gradient(90deg,#243573,#3260ce); }
        .safe-faq .accordion-button:after { filter:none; }
        .safe-faq .accordion-button:not(.collapsed):after { filter:brightness(0) invert(1); }
        .safe-faq .accordion-body { padding:24px 26px 28px; line-height:1.7; color:#566274; }
        .modal.safe-video-modal .modal-content { background:#050912; border:1px solid rgba(255,255,255,.16); }
        .modal.safe-video-modal .modal-body { padding:0; }
        .modal.safe-video-modal video { width:100%; display:block; }
        @media (max-width: 991px){ .safe-equal-media { min-height:360px; } .safe-hero-product .container { padding-top: 155px; padding-bottom: 82px; } .safe-hero-product .product-logo { height:46px; } }
        @media (max-width: 575px){ .safe-problem-card, .safe-source-card { padding:26px 22px; } .safe-compare-table th, .safe-compare-table td { padding:16px; font-size:14px; } }


/* Global sticky header fix */
header.safe-sticky-header{
  position: fixed !important;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10000;
  transition: background .25s ease, backdrop-filter .25s ease, box-shadow .25s ease;
}
header.safe-sticky-header.smaller,
header.safe-sticky-header.safe-scrolled{
  background: rgba(7,13,24,.82) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
}
header.safe-sticky-header #topbar{ transition: all .25s ease; }
header.safe-sticky-header.smaller #topbar,
header.safe-sticky-header.safe-scrolled #topbar{ opacity:0; height:0; overflow:hidden; padding:0; }
.safe-page-spacer{ height:0; }
.safe-product-nav-note{ color: rgba(255,255,255,.74); font-size: 14px; }
.safe-ztrust{ display:flex; align-items:stretch; gap:18px; flex-wrap:wrap; }
.safe-ztrust .item{ flex:1 1 220px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.045); border-radius:14px; padding:24px; }
.safe-ztrust .arrow{ display:flex; align-items:center; color:var(--primary-color); font-size:28px; }
.safe-interface-card{ position:relative; overflow:hidden; min-height:240px; border-radius:16px; background-size:cover; background-position:center; border:1px solid rgba(255,255,255,.12); }
.safe-interface-card:before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,9,20,.05), rgba(4,9,20,.86)); }
.safe-interface-card .inner{ position:absolute; left:0; right:0; bottom:0; padding:28px; z-index:1; color:#fff; }
.safe-interface-card p{ color:rgba(255,255,255,.76); margin-bottom:0; }
.safe-stat-line{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.safe-stat-line .stat{ padding:22px; border-radius:14px; background:#fff; border:1px solid rgba(11,20,36,.08); box-shadow:0 16px 44px rgba(10,24,52,.055); text-align:center; }
.safe-stat-line .num{ display:block; font-size:38px; line-height:1; font-weight:800; color:var(--primary-color); margin-bottom:8px; }
@media (max-width: 991px){ .safe-stat-line{ grid-template-columns:repeat(2,1fr);} .safe-ztrust .arrow{ display:none;} }
@media (max-width: 575px){ .safe-stat-line{ grid-template-columns:1fr;} }


/* SafeGuard page */
.safe-sg-compare { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.safe-sg-compare .box { padding:34px; border-radius:18px; height:100%; border:1px solid rgba(11,20,36,.08); }
.safe-sg-compare .box.dark { background:#101a31; color:#fff; }
.safe-sg-compare .box.light { background:#fff; }
.safe-sg-compare ul { margin:20px 0 0; padding-left:0; list-style:none; }
.safe-sg-compare li { padding:10px 0 10px 30px; position:relative; line-height:1.55; }
.safe-sg-compare li:before { content:"\f105"; font-family:"FontAwesome"; position:absolute; left:2px; top:11px; color:var(--primary-color); }
.safe-sg-feature { padding:30px 28px; background:#fff; border:1px solid rgba(11,20,36,.08); border-radius:16px; height:100%; box-shadow:0 16px 44px rgba(10,24,52,.055); }
.safe-sg-feature i { width:54px; height:54px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:rgba(48,100,206,.09); color:var(--primary-color); font-size:28px; margin-bottom:20px; }
.safe-sg-feature h3, .safe-sg-feature h4 { margin-bottom:12px; }
.safe-sg-feature p { color:#5b6675; line-height:1.62; margin-bottom:0; }
.safe-sg-op-card { padding:26px; border-radius:14px; border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.045); height:100%; }
.safe-sg-op-card h4 { color:#fff; margin-bottom:10px; }
.safe-sg-op-card p { color:rgba(255,255,255,.72); margin:0; line-height:1.6; }
.safe-sg-gallery-card { display:block; position:relative; overflow:hidden; border-radius:18px; min-height:270px; background-size:cover; background-position:center; border:1px solid rgba(11,20,36,.08); box-shadow:0 20px 55px rgba(10,24,52,.09); }
.safe-sg-gallery-card:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,9,20,.06) 0%, rgba(4,9,20,.86) 100%); }
.safe-sg-gallery-card .inner { position:absolute; left:0; right:0; bottom:0; padding:26px; z-index:1; color:#fff; }
.safe-sg-gallery-card .inner p { margin:0; color:rgba(255,255,255,.74); }
.safe-sg-badge-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.safe-sg-badge-row span { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.82); font-size:14px; }
.safe-sg-badge-row span i { color:var(--primary-color); }
@media (max-width: 991px){ .safe-sg-compare{ grid-template-columns:1fr; } }


/* v2 global navigation and product-media corrections */
html body #wrapper header.safe-sticky-header{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 10000 !important;
  transform: none !important;
}
html body #wrapper header.safe-sticky-header.safe-scrolled,
html body #wrapper header.safe-sticky-header.smaller{
  background: rgba(7,13,24,.92) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 14px 38px rgba(0,0,0,.22);
}
html body #wrapper header.safe-sticky-header.safe-scrolled #topbar,
html body #wrapper header.safe-sticky-header.smaller #topbar{
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}
.float-text{
  position: fixed !important;
  right: 31px !important;
  left: auto !important;
  top: 48% !important;
  z-index: 9990 !important;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: .05em;
}
.scrollbar-v{
  position: fixed !important;
  right: 48px !important;
  left: auto !important;
  top: calc(48% + 118px) !important;
  width: 3px !important;
  height: 132px !important;
  background: rgba(255,255,255,.26) !important;
  z-index: 9990 !important;
  overflow: hidden;
}
.scrollbar-v::before{
  content: "";
  display:block;
  width:3px;
  height: var(--safe-scroll-progress, 30%);
  background: var(--primary-color);
  transition: height .12s linear;
}
.float-text a, .float-text span{ color:#fff !important; }
@media(max-width:991px){ .float-text,.scrollbar-v{ display:none!important; } }
.safe-hero-product .container{ padding-top: 185px; padding-bottom: 100px; }
.safe-hero-product h1{ max-width: 980px; margin-left:auto; margin-right:auto; }
.safe-hero-product .lead{ max-width: 860px; margin-left:auto; margin-right:auto; }


/* Safe cookie banner and modal */
.cookie-banner-safe{position:fixed;left:24px;right:24px;bottom:24px;z-index:99999;background:#111827;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.45);padding:20px}.cookie-banner-safe[hidden],.cookie-modal-safe[hidden]{display:none}.cookie-banner-safe-inner{display:flex;gap:24px;align-items:center;justify-content:space-between}.cookie-banner-safe-copy strong{display:block;font-size:18px;margin-bottom:6px}.cookie-banner-safe-copy p{margin:0;max-width:850px;color:rgba(255,255,255,.78);line-height:1.55}.cookie-banner-safe-copy a{color:#fff;text-decoration:underline}.cookie-banner-safe-actions,.cookie-modal-safe-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;line-height:1.2}.cookie-btn-primary{background:var(--primary-color,#4f95d1);color:#fff}.cookie-btn-secondary{background:#fff;color:#111827}.cookie-btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}.cookie-modal-safe{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}.cookie-modal-safe-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.cookie-modal-safe-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;color:#111827;border-radius:18px;padding:34px;box-shadow:0 28px 100px rgba(0,0,0,.5)}.cookie-modal-safe-close{position:absolute;right:18px;top:18px;border:0;background:#f3f4f6;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1}.cookie-modal-safe-head h2{margin-bottom:12px}.cookie-modal-safe-head p{color:#5b6472}.cookie-groups-safe{display:grid;gap:14px;margin:24px 0}.cookie-group-safe{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #e6e8ec;border-radius:14px;padding:18px;background:#fafafa}.cookie-group-safe h3{font-size:18px;margin:0 0 6px}.cookie-group-safe p{margin:0;color:#5b6472;line-height:1.5}.cookie-toggle-static{font-size:12px;font-weight:800;text-transform:uppercase;color:#4f95d1;white-space:nowrap}.cookie-switch-wrap{position:relative;width:56px;height:30px;flex:0 0 auto}.cookie-switch-input{opacity:0;position:absolute;inset:0}.cookie-switch{display:block;width:56px;height:30px;border-radius:999px;background:#d1d5db;transition:.2s}.cookie-switch:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}.cookie-switch-input:checked + .cookie-switch{background:#4f95d1}.cookie-switch-input:checked + .cookie-switch:after{transform:translateX(26px)}body.cookie-modal-open{overflow:hidden}@media(max-width:767px){.cookie-banner-safe{left:12px;right:12px;bottom:12px}.cookie-banner-safe-inner,.cookie-group-safe{display:block}.cookie-banner-safe-actions,.cookie-modal-safe-actions{margin-top:16px}.cookie-btn{width:100%}.cookie-modal-safe-dialog{padding:26px 18px}}
.images-group .safe-sg-gallery-card{cursor:zoom-in}.mfp-title{font-size:15px;font-weight:700;color:#fff}.safe-privacy-content h2{margin-top:32px}.safe-privacy-content p,.safe-privacy-content li{color:#4f5968;line-height:1.75}.safe-contact-page-card{min-height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.08)}

/* v4.1 global fixes: sticky menu, tables, lightbox, brochures */
:root { --safe-header-h: 92px; }
html { scroll-padding-top: 110px; }
body.lightbox-open { overflow: hidden !important; }
body.lightbox-open .float-text,
body.lightbox-open .scrollbar-v { opacity: 0 !important; pointer-events: none !important; }

#wrapper > header.safe-sticky-header,
header.safe-sticky-header,
header.transparent.safe-sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  transform: translateZ(0) !important;
  will-change: background, box-shadow;
  transition: background .22s ease, box-shadow .22s ease, backdrop-filter .22s ease;
}
#wrapper > header.safe-sticky-header.safe-scrolled,
header.safe-sticky-header.safe-scrolled,
header.safe-sticky-header.smaller {
  background: rgba(5, 10, 19, .94) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
header.safe-sticky-header.safe-scrolled #topbar,
header.safe-sticky-header.smaller #topbar {
  height: 0 !important;
  min-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}
.safe-anchor-offset { scroll-margin-top: 120px !important; }

.float-text {
  position: fixed !important;
  left: auto !important;
  right: 31px !important;
  top: 48% !important;
  width: 28px !important;
  z-index: 9980 !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  margin: 0 !important;
  text-align: center !important;
}
.float-text span, .float-text a { color: #fff !important; }
.scrollbar-v {
  position: fixed !important;
  left: auto !important;
  right: 47px !important;
  top: calc(48% + 118px) !important;
  width: 3px !important;
  height: 132px !important;
  z-index: 9979 !important;
  background: rgba(255,255,255,.24) !important;
  overflow: hidden !important;
}
.scrollbar-v::before {
  content: "" !important;
  display: block !important;
  width: 3px !important;
  height: var(--safe-scroll-progress, 0%) !important;
  background: var(--primary-color) !important;
  transition: height .08s linear !important;
}
@media (max-width: 991px){ .float-text, .scrollbar-v { display:none !important; } }

/* Tables */
.safe-compare-table {
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.22) !important;
}
.safe-compare-table.table-responsive { overflow-x: auto !important; }
.safe-compare-table table {
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  min-width: 760px;
}
.safe-compare-table table,
.safe-compare-table .table,
.safe-compare-table .table-dark,
.safe-compare-table .table-bordered { --bs-table-bg: transparent !important; --bs-table-color: rgba(255,255,255,.82) !important; }
.safe-compare-table th {
  padding: 24px 26px !important;
  background: rgba(255,255,255,.09) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-color: rgba(255,255,255,.10) !important;
  vertical-align: middle !important;
}
.safe-compare-table td {
  padding: 22px 26px !important;
  color: rgba(255,255,255,.78) !important;
  border-color: rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.028) !important;
  vertical-align: middle !important;
  line-height: 1.55 !important;
}
.safe-compare-table td:first-child {
  color: #fff !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,.045) !important;
}
.safe-compare-table th:last-child,
.safe-compare-table td:last-child {
  color: #fff !important;
  background: rgba(48,100,206,.20) !important;
  border-left: 1px solid rgba(78,135,255,.38) !important;
}
.safe-compare-table th:last-child {
  background: linear-gradient(135deg, rgba(48,100,206,.78), rgba(31,60,150,.56)) !important;
}
.safe-compare-table td:last-child::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 767px){ .safe-compare-table th, .safe-compare-table td { padding: 17px 18px !important; font-size: 14px; } }

/* Lightbox */
.safe-lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 54px 76px;
  background: rgba(2, 6, 14, .92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.safe-lightbox-overlay.is-open { display: flex; }
.safe-lightbox-stage {
  position: relative;
  width: min(1180px, 100%);
  max-height: calc(100vh - 108px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.safe-lightbox-image {
  max-width: 100%;
  max-height: calc(100vh - 170px);
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 32px 95px rgba(0,0,0,.55);
  background: #0b1220;
}
.safe-lightbox-caption {
  margin-top: 16px;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  text-align: center;
}
.safe-lightbox-close,
.safe-lightbox-prev,
.safe-lightbox-next {
  position: fixed;
  z-index: 20002;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .18s ease, transform .18s ease;
}
.safe-lightbox-close:hover,
.safe-lightbox-prev:hover,
.safe-lightbox-next:hover { background: rgba(255,255,255,.18); transform: scale(1.04); }
.safe-lightbox-close { top: 24px; right: 28px; width: 46px; height: 46px; font-size: 28px; }
.safe-lightbox-prev, .safe-lightbox-next { top: 50%; width: 54px; height: 54px; font-size: 30px; transform: translateY(-50%); }
.safe-lightbox-prev:hover, .safe-lightbox-next:hover { transform: translateY(-50%) scale(1.04); }
.safe-lightbox-prev { left: 24px; }
.safe-lightbox-next { right: 24px; }
@media (max-width: 767px){
  .safe-lightbox-overlay { padding: 48px 18px; }
  .safe-lightbox-prev, .safe-lightbox-next { width: 44px; height: 44px; top: auto; bottom: 26px; font-size: 24px; }
  .safe-lightbox-prev { left: calc(50% - 58px); }
  .safe-lightbox-next { right: calc(50% - 58px); }
  .safe-lightbox-close { top: 14px; right: 14px; }
  .safe-lightbox-image { max-height: calc(100vh - 180px); }
}

/* Brochure download blocks */
.safe-brochure-download { overflow: hidden; }
.safe-brochure-download .safe-brochure-cover {
  max-width: 330px;
  margin-left: auto;
}
.safe-brochure-download .safe-brochure-cover img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 26px 70px rgba(0,0,0,.34);
  background: rgba(255,255,255,.08);
}
.safe-brochure-download .safe-brochure-cover .btn-main {
  width: 100%;
  text-align: center;
  justify-content: center;
  display: inline-flex;
}
.safe-brochure-download .safe-subtitle { color: rgba(255,255,255,.78); }
@media (max-width: 991px){ .safe-brochure-download .safe-brochure-cover { margin: 20px auto 0; } }


/* === Safe portal iteration: sticky menu, product logos in menu, classic go to top === */
html body #wrapper header.safe-sticky-header,
html body header.safe-sticky-header,
header.transparent.safe-sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 10050 !important;
  background: rgba(7, 13, 31, 0.78) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease, padding .25s ease !important;
}
html body header.safe-sticky-header.safe-scrolled,
html body header.safe-sticky-header.smaller {
  background: rgba(7, 13, 31, 0.96) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28) !important;
}
html body header.safe-sticky-header #topbar { transition: all .25s ease !important; }
html body header.safe-sticky-header.safe-scrolled #topbar,
html body header.safe-sticky-header.smaller #topbar {
  opacity: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#mainmenu > li > ul li a.safe-menu-product-logo-link {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 230px !important;
  padding: 13px 18px !important;
}
.safe-menu-product-logo {
  height: 24px !important;
  width: auto !important;
  max-width: 145px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}
.safe-menu-product-label {
  font-size: 0 !important;
  line-height: 0 !important;
}
.float-text,
.scrollbar-v { display: none !important; }
.safe-back-to-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(38, 91, 212, .92);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10040;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease, background .22s ease;
}
.safe-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.safe-back-to-top:hover { background: #1f4eb9; color:#fff; }
body.lightbox-open .safe-back-to-top,
body.cookie-modal-open .safe-back-to-top { opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }
@media (max-width: 991px) {
  .safe-back-to-top { right: 18px; bottom: 18px; width: 44px; height: 44px; }
  #mainmenu > li > ul li a.safe-menu-product-logo-link { min-width: 210px !important; }
  .safe-menu-product-logo { height: 22px !important; max-width: 135px !important; }
}

/* === v5.1: definitive sticky header fix === */
html body header.safe-sticky-header,
html body header.safe-sticky-header.transparent,
html body #wrapper > header.safe-sticky-header,
html body #wrapper > header.safe-sticky-header.transparent,
html body header.safe-sticky-header.smaller,
html body header.safe-sticky-header.clone,
html body header.safe-sticky-header.scroll-down,
html body header.safe-sticky-header.nav-up,
html body header.safe-sticky-header.scrollOn,
html body header.safe-sticky-header.scrollOff {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 78px !important;
  max-height: none !important;
  margin-top: 0 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  z-index: 10050 !important;
  background: rgba(8, 15, 34, .94) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.22) !important;
  transition: background .2s ease, box-shadow .2s ease !important;
}
html body header.safe-sticky-header #topbar {
  height: auto !important;
  max-height: 36px !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
  transition: max-height .25s ease, opacity .2s ease !important;
}
html body header.safe-sticky-header.safe-scrolled #topbar,
html body header.safe-sticky-header.smaller #topbar {
  max-height: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}
html body header.safe-sticky-header .container,
html body header.safe-sticky-header .row,
html body header.safe-sticky-header .de-flex {
  overflow: visible !important;
}
html body header.safe-sticky-header #logo img.logo-main,
html body header.safe-sticky-header #logo img.logo-mobile {
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
}
html body header.safe-sticky-header.safe-scrolled #logo img.logo-main,
html body header.safe-sticky-header.safe-scrolled #logo img.logo-mobile {
  max-height: 36px !important;
}
html body header.safe-sticky-header #mainmenu,
html body header.safe-sticky-header #mainmenu > li,
html body header.safe-sticky-header #mainmenu > li > a {
  overflow: visible !important;
}
@media (max-width: 991px) {
  html body header.safe-sticky-header,
  html body header.safe-sticky-header.transparent,
  html body header.safe-sticky-header.smaller,
  html body header.safe-sticky-header.scroll-down,
  html body header.safe-sticky-header.nav-up {
    min-height: 70px !important;
    background: rgba(8, 15, 34, .98) !important;
  }
}

/* === v6 product navigation, product headers and inline video === */
#mainmenu > li > ul.safe-product-dropdown {
  min-width: 310px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(8, 15, 34, .98) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.38) !important;
}
#mainmenu > li > ul.safe-product-dropdown li { margin: 0 !important; }
#mainmenu > li > ul.safe-product-dropdown li + li { margin-top: 8px !important; }
#mainmenu > li > ul.safe-product-dropdown a.safe-menu-product-card {
  display: flex !important;
  gap: 13px !important;
  align-items: center !important;
  padding: 13px 14px !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  min-width: 0 !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}
#mainmenu > li > ul.safe-product-dropdown a.safe-menu-product-card:hover {
  background: rgba(48, 97, 216, .22) !important;
  border-color: rgba(94, 143, 255, .36) !important;
  transform: translateX(3px);
}
.safe-menu-product-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  color: #fff;
  background: linear-gradient(135deg, rgba(70,128,255,.96), rgba(31,64,153,.72));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.safe-menu-product-card strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
}
.safe-menu-product-card small {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
  color: rgba(255,255,255,.62);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.safe-menu-product-logo-link,
.safe-menu-product-logo,
.safe-menu-product-label { display: none !important; }
html body header.safe-sticky-header #logo img.product-header-logo,
html body header.safe-sticky-header #logo img.logo-main.product-header-logo,
html body header.safe-sticky-header #logo img.logo-mobile.product-header-logo {
  height: 34px !important;
  max-height: 34px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
}
html body header.safe-sticky-header.safe-scrolled #logo img.product-header-logo {
  height: 30px !important;
  max-height: 30px !important;
}
.safe-hero-product .product-logo,
.safe-hero .hero-logo-after { display: none !important; }
.safe-hero .slider-teaser strong,
.safe-hero-product .lead strong { color: #fff; font-weight: 800; }
.safe-inline-video {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #030817;
  box-shadow: 0 26px 75px rgba(0,0,0,.34);
  border: 1px solid rgba(255,255,255,.10);
}
.safe-inline-video video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  background: #030817;
}
@media (max-width: 991px) {
  #mainmenu > li > ul.safe-product-dropdown { min-width: 100% !important; }
  .safe-inline-video video { min-height: 240px; }
  html body header.safe-sticky-header #logo img.product-header-logo,
  html body header.safe-sticky-header #logo img.logo-main.product-header-logo,
  html body header.safe-sticky-header #logo img.logo-mobile.product-header-logo { height: 28px !important; max-height: 28px !important; max-width: 180px !important; }
}


/* === v7 refinements: simple dropdown, larger product logos, unified video and PDF blocks === */
#mainmenu > li > ul.safe-product-dropdown.safe-product-dropdown-simple {
  min-width: 260px !important;
  padding: 8px !important;
  border-radius: 8px !important;
  background: rgba(9, 16, 34, .98) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.32) !important;
}
#mainmenu > li > ul.safe-product-dropdown.safe-product-dropdown-simple li + li { margin-top: 2px !important; }
#mainmenu > li > ul.safe-product-dropdown.safe-product-dropdown-simple a.safe-menu-product-simple {
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  line-height: 1.25 !important;
  transition: background .18s ease, color .18s ease !important;
}
#mainmenu > li > ul.safe-product-dropdown.safe-product-dropdown-simple a.safe-menu-product-simple:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  transform: none !important;
}
.safe-menu-product-name { display:block; font-size:15px; font-weight:700; letter-spacing:.01em; }
.safe-menu-product-simple small { display:block; margin-top:2px; color:rgba(255,255,255,.72); font-size:12px; text-transform:none; letter-spacing:0; }
.safe-menu-product-simple em { display:none; }
html body header.safe-sticky-header #logo img.product-header-logo,
html body header.safe-sticky-header #logo img.logo-main.product-header-logo,
html body header.safe-sticky-header #logo img.logo-mobile.product-header-logo {
  height: 46px !important;
  max-height: 46px !important;
  max-width: 280px !important;
  width: auto !important;
  object-fit: contain !important;
}
html body header.safe-sticky-header.safe-scrolled #logo img.product-header-logo {
  height: 40px !important;
  max-height: 40px !important;
}
.safe-video-section .safe-inline-video,
.safe-video-frame {
  aspect-ratio: 16 / 9;
  min-height: auto !important;
  height: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #030817;
}
.safe-video-section .safe-inline-video video,
.safe-video-frame video {
  width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  background: #030817;
}
.safe-video-benefits .safe-mini-card { height:100%; padding:24px !important; }
.safe-video-benefits .safe-mini-card i { display:block; font-size:34px; color:#4f7cff; margin-bottom:14px; }
.section-dark .safe-video-benefits .safe-mini-card i { color:#78a0ff; }
.safe-brochure-download .safe-brochure-cover img {
  max-height: 280px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 18px 35px rgba(0,0,0,.28));
}
.safe-brochure-download .safe-brochure-points { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:22px; }
.safe-brochure-download .safe-brochure-points span { font-size:14px; color:#4d5b74; }
.safe-brochure-download .safe-brochure-points i { color:#3469e6; margin-right:6px; }
@media (max-width: 991px) {
  html body header.safe-sticky-header #logo img.product-header-logo,
  html body header.safe-sticky-header #logo img.logo-main.product-header-logo,
  html body header.safe-sticky-header #logo img.logo-mobile.product-header-logo { height:32px !important; max-height:32px !important; max-width:210px !important; }
  .safe-video-section .safe-inline-video video, .safe-video-frame video { max-height: 280px !important; }
  .safe-brochure-download .safe-brochure-cover img { max-height:220px !important; margin-top:20px; }
}


/* === v8 product mega menu === */
#mainmenu > li.safe-products-menu { position: relative !important; }
#mainmenu > li.safe-products-menu > ul.safe-product-mega {
  width: min(920px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: rgba(8, 15, 34, .98) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(16px);
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}
#mainmenu > li.safe-products-menu:hover > ul.safe-product-mega,
#mainmenu > li.safe-products-menu:focus-within > ul.safe-product-mega {
  display: grid !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega > li {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  height: 100% !important;
  min-height: 218px !important;
  padding: 22px 20px 20px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #fff !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  white-space: normal !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product:hover {
  transform: translateY(-4px) !important;
  background: linear-gradient(180deg, rgba(65, 112, 255, .20), rgba(255,255,255,.055)) !important;
  border-color: rgba(111, 154, 255, .42) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
}
.safe-mega-product img {
  height: 34px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  margin-bottom: 18px !important;
}
.safe-mega-product span {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.62) !important;
  margin-bottom: 12px !important;
}
.safe-mega-product p {
  margin: 0 0 18px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,.78) !important;
}
.safe-mega-product em {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: auto !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #fff !important;
}
.safe-mega-product em::after { content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; opacity: .85; }
@media (max-width: 991px) {
  #mainmenu > li.safe-products-menu > ul.safe-product-mega {
    width: 100% !important;
    padding: 8px 0 8px 12px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product {
    min-height: 0 !important;
    padding: 13px 12px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.055) !important;
    margin-bottom: 8px !important;
  }
  .safe-mega-product img { height: 28px !important; margin-bottom: 8px !important; }
  .safe-mega-product p { display: none !important; }
  .safe-mega-product span { margin-bottom: 8px !important; }
}


/* === v9 refinement: cleaner megamenu and consistent comparison tables === */
#mainmenu > li.safe-products-menu > ul.safe-product-mega {
  width: min(840px, calc(100vw - 56px)) !important;
  padding: 26px 28px !important;
  border-radius: 18px !important;
  background: rgba(7, 13, 28, .985) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.40) !important;
  gap: 0 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product {
  min-height: 188px !important;
  padding: 4px 24px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega > li:not(:last-child) a.safe-mega-product {
  border-right: 1px solid rgba(255,255,255,.10) !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product:hover {
  transform: none !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
  box-shadow: none !important;
}
.safe-mega-product img {
  height: 32px !important;
  max-width: 180px !important;
  margin-bottom: 18px !important;
}
.safe-mega-product span {
  font-size: 11px !important;
  letter-spacing: .10em !important;
  margin-bottom: 12px !important;
  color: rgba(255,255,255,.54) !important;
}
.safe-mega-product p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,.72) !important;
  margin-bottom: 20px !important;
}
.safe-mega-product em {
  margin-top: auto !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: .01em !important;
}
.safe-mega-product:hover em { background: rgba(70,121,255,.22) !important; }
@media (max-width: 991px) {
  #mainmenu > li.safe-products-menu > ul.safe-product-mega {
    width: 100% !important;
    padding: 8px 0 8px 12px !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-product-mega a.safe-mega-product {
    min-height: 0 !important;
    padding: 12px 14px !important;
    border-right: 0 !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.05) !important;
    margin-bottom: 8px !important;
  }
  .safe-mega-product img { height: 26px !important; margin-bottom: 8px !important; }
}

/* Consistent comparison component across product pages */
.safe-compare-table {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: #071023 !important;
  box-shadow: 0 24px 65px rgba(4, 10, 22, .22) !important;
}
.safe-compare-table.table-responsive { overflow-x: auto !important; }
.safe-compare-table table {
  width: 100% !important;
  min-width: 820px !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #071023 !important;
}
.safe-compare-table .table,
.safe-compare-table .table-dark,
.safe-compare-table .table-bordered,
.safe-compare-table table {
  --bs-table-bg: #071023 !important;
  --bs-table-color: rgba(255,255,255,.86) !important;
  --bs-table-border-color: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.86) !important;
}
.safe-compare-table th,
.safe-compare-table td {
  padding: 21px 24px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: transparent !important;
  color: rgba(255,255,255,.84) !important;
  line-height: 1.52 !important;
  vertical-align: middle !important;
}
.safe-compare-table th {
  background: #101b34 !important;
  color: #fff !important;
  font-weight: 800 !important;
}
.safe-compare-table td:first-child,
.safe-compare-table th:first-child {
  width: 22% !important;
  color: #fff !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,.035) !important;
}
.safe-compare-table th:last-child,
.safe-compare-table td:last-child {
  background: rgba(51, 101, 215, .22) !important;
  color: #fff !important;
  border-left: 1px solid rgba(92, 141, 255, .34) !important;
}
.safe-compare-table th:last-child {
  background: linear-gradient(135deg, rgba(61, 111, 226, .88), rgba(36, 70, 164, .72)) !important;
}
.safe-compare-table td:last-child::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .safe-compare-table table { min-width: 760px !important; }
  .safe-compare-table th,
  .safe-compare-table td { padding: 16px 17px !important; font-size: 14px !important; }
}

/* v10 hero clarity refinements */
.safe-hero.safe-hero-clean .subtitle.s2,
.safe-hero-product .subtitle.s2 {
  color: #5e91ff !important;
  text-decoration: none !important;
  border: 0 !important;
  margin-bottom: 24px !important;
}
.safe-hero.safe-hero-clean .subtitle.s2::after,
.safe-hero.safe-hero-clean .subtitle.s2:after,
.safe-hero-product .subtitle.s2::after,
.safe-hero-product .subtitle.s2:after {
  display: none !important;
  content: none !important;
}
.safe-hero.safe-hero-clean .slider-title {
  margin-bottom: 26px !important;
}
.safe-hero.safe-hero-clean .slider-teaser {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.58 !important;
}
.safe-hero.safe-hero-clean .safe-hero-buttons {
  margin-top: 36px !important;
}
.safe-hero.safe-hero-clean .safe-hero-features {
  margin-top: 44px !important;
}
.safe-hero.safe-hero-clean .safe-slide::before {
  background:
    radial-gradient(circle at 50% 36%, rgba(66,126,220,.18), transparent 38%),
    linear-gradient(90deg, rgba(3,8,18,.82) 0%, rgba(4,11,25,.74) 46%, rgba(4,11,25,.68) 100%) !important;
}
@media (max-width: 1199px) {
  .safe-hero.safe-hero-clean .subtitle.s2 { margin-bottom: 18px !important; }
  .safe-hero.safe-hero-clean .slider-title { margin-bottom: 20px !important; }
  .safe-hero.safe-hero-clean .safe-hero-buttons { margin-top: 28px !important; }
  .safe-hero.safe-hero-clean .safe-hero-features { margin-top: 34px !important; }
}
@media (max-width: 575px) {
  .safe-hero.safe-hero-clean .subtitle.s2 { margin-bottom: 14px !important; }
  .safe-hero.safe-hero-clean .slider-title { margin-bottom: 16px !important; }
  .safe-hero.safe-hero-clean .safe-hero-buttons { margin-top: 22px !important; }
}


/* === v11 cleanup: normal dropdown, mobile menu, contact links, list indentation === */
#mainmenu > li.safe-products-menu { position: relative !important; }
#mainmenu > li.safe-products-menu > ul.safe-product-simple {
  width: 310px !important;
  min-width: 310px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: rgba(7, 13, 28, .98) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.34) !important;
  left: 0 !important;
  right: auto !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-simple > li { display: block !important; width: 100% !important; }
#mainmenu > li.safe-products-menu > ul.safe-product-simple > li > a {
  display: block !important;
  padding: 13px 15px !important;
  border-radius: 10px !important;
  color: #fff !important;
  line-height: 1.25 !important;
  background: transparent !important;
  border: 0 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-simple > li > a:hover { background: rgba(255,255,255,.07) !important; }
#mainmenu > li.safe-products-menu > ul.safe-product-simple strong {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
  color: #fff !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-simple span {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.62) !important;
  font-weight: 500 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-mega,
.safe-mega-product { all: unset; }

/* Product cards: equal CTA alignment */
.safe-product-card,
.safe-solution-card { display: flex !important; flex-direction: column !important; }
.safe-product-card .btn-main,
.safe-solution-card a { margin-top: auto !important; align-self: flex-start !important; }

/* Clean check/list indentation: second and next lines align with text, not with icon */
.safe-compare-table td:last-child {
  position: relative !important;
  padding-left: 58px !important;
}
.safe-compare-table td:last-child::before {
  position: absolute !important;
  left: 24px !important;
  top: 22px !important;
  margin: 0 !important;
}
.safe-compare-table td:last-child { text-indent: 0 !important; }
.safe-material-tags span,
.safe-sg-badge-row span,
.safe-download-tags span,
.safe-pdf-tags span {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.45 !important;
}
.safe-material-tags span i,
.safe-sg-badge-row span i,
.safe-download-tags span i,
.safe-pdf-tags span i { flex: 0 0 auto !important; margin-top: 2px !important; }

/* Sticky header and mobile navigation stabilization */
header.safe-sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 10020 !important;
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
header.safe-sticky-header.safe-scrolled {
  background: rgba(7, 13, 28, .96) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.24) !important;
}
header.safe-sticky-header.nav-up,
header.safe-sticky-header.scroll-down { transform: translateY(0) !important; }
@media (max-width: 991px) {
  header.safe-sticky-header #topbar { display: none !important; }
  header.safe-sticky-header { background: rgba(7, 13, 28, .98) !important; }
  #mainmenu {
    max-height: calc(100vh - 74px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-product-simple {
    width: 100% !important;
    min-width: 0 !important;
    padding: 6px 0 6px 14px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.04) !important;
    border-radius: 10px !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-product-simple > li > a {
    padding: 10px 12px !important;
  }
  .menu_side_area .btn-main { display: none !important; }
}

/* v12 product side panel */
.safe-products-menu .safe-product-dropdown{display:none!important;}
.safe-product-panel-trigger{cursor:pointer;}
.safe-panel-menu-icon{font-size:11px;margin-left:7px;transition:transform .25s ease;}
.safe-product-panel-trigger[aria-expanded="true"] .safe-panel-menu-icon{transform:rotate(180deg);}
.safe-product-panel-overlay{position:fixed;inset:0;background:rgba(3,10,24,.62);backdrop-filter:blur(3px);z-index:9990;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.safe-product-panel{position:fixed;top:0;right:0;width:min(460px,92vw);height:100vh;z-index:9991;background:linear-gradient(180deg,#0b1227 0%,#121b38 54%,#101936 100%);border-left:1px solid rgba(255,255,255,.12);box-shadow:-25px 0 70px rgba(0,0,0,.42);transform:translateX(105%);transition:transform .32s cubic-bezier(.22,.61,.36,1);padding:34px 30px;overflow-y:auto;color:#fff;}
.safe-product-panel-overlay.is-open{opacity:1;pointer-events:auto;}
.safe-product-panel.is-open{transform:translateX(0);}
body.safe-product-panel-open{overflow:hidden;}
.safe-product-panel-head{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.10);}
.safe-panel-eyebrow{display:block;color:#6ea6ff;text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:700;margin-bottom:12px;}
.safe-product-panel-head h3{font-size:28px;line-height:1.12;margin:0 0 12px;color:#fff;}
.safe-product-panel-head p{margin:0;color:rgba(255,255,255,.70);line-height:1.6;font-size:15px;}
.safe-product-panel-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:28px;line-height:1;flex:0 0 auto;transition:background .2s ease,border-color .2s ease;}
.safe-product-panel-close:hover{background:rgba(79,139,255,.22);border-color:rgba(79,139,255,.55);}
.safe-product-panel-list{display:flex;flex-direction:column;gap:16px;}
.safe-product-panel-card{position:relative;display:flex;gap:18px;padding:20px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);overflow:hidden;transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.safe-product-panel-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;opacity:.85;}
.safe-card-safedr:before{background:#5fae9b;}.safe-card-safeconnect:before{background:#4f9bdb;}.safe-card-safeguard:before{background:#e67658;}
.safe-product-panel-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.20);}
.safe-product-panel-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#518bff,#5962d8);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff;font-size:28px;box-shadow:0 15px 34px rgba(61,105,223,.25);}
.safe-product-panel-copy h4{margin:0 0 3px;color:#fff;font-size:22px;line-height:1.1;}
.safe-product-panel-copy span{display:block;color:#75aaff;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin-bottom:9px;}
.safe-product-panel-copy p{margin:0 0 12px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55;}
.safe-product-panel-copy a{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:800;font-size:14px;text-decoration:none;}
.safe-product-panel-copy a i{font-size:12px;transition:transform .2s ease;}.safe-product-panel-copy a:hover i{transform:translateX(3px);}
@media(max-width:767px){.safe-product-panel{width:100vw;padding:28px 22px}.safe-product-panel-head h3{font-size:24px}.safe-product-panel-card{gap:14px;padding:18px}.safe-product-panel-icon{width:48px;height:48px;font-size:24px}.safe-product-panel-copy h4{font-size:20px}}


/* === v13 clean product megamenu === */
.safe-product-panel,
.safe-product-panel-overlay { display: none !important; }
.safe-products-menu { position: relative !important; }
.safe-menu-chevron { font-size: 11px; margin-left: 6px; transition: transform .22s ease; }
.safe-products-menu:hover .safe-menu-chevron,
.safe-products-menu:focus-within .safe-menu-chevron { transform: rotate(180deg); }
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  width: min(880px, calc(100vw - 48px)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 18px !important;
  margin: 0 !important;
  list-style: none !important;
  border-radius: 20px !important;
  background: rgba(9, 15, 34, .98) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.42) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 10080 !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
#mainmenu > li.safe-products-menu:hover > ul.safe-products-mega-strip,
#mainmenu > li.safe-products-menu:focus-within > ul.safe-products-mega-strip {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip:before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 14px;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  height: 100% !important;
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: transform .22s ease, background .22s ease, border-color .22s ease !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card:hover {
  transform: translateY(-3px) !important;
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(93,150,255,.42) !important;
}
.safe-mega-strip-card img {
  height: 30px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 0 18px !important;
}
.safe-mega-strip-card span {
  display: block !important;
  color: #6ea6ff !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
}
.safe-mega-strip-card p {
  color: rgba(255,255,255,.72) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 0 18px !important;
  min-height: 44px !important;
}
.safe-mega-strip-card strong {
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.safe-mega-strip-card strong i { font-size: 12px !important; transition: transform .2s ease; }
.safe-mega-strip-card:hover strong i { transform: translateX(3px); }
@media (max-width: 991px) {
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px 0 6px 12px !important;
    margin: 4px 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.05) !important;
  }
  .safe-mega-strip-card img { height: 24px !important; margin-bottom: 10px !important; }
  .safe-mega-strip-card p { min-height: 0 !important; margin-bottom: 8px !important; }
}

/* === v14 product navigation: no cards, clean text columns === */
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip {
  width: min(920px, calc(100vw - 64px)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 24px 28px !important;
  border-radius: 18px !important;
  background: rgba(9, 15, 34, .985) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.38) !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li {
  padding: 0 26px !important;
  border-right: 1px solid rgba(255,255,255,.10) !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li:first-child { padding-left: 0 !important; }
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li:last-child { padding-right: 0 !important; border-right: 0 !important; }
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card:hover {
  transform: none !important;
  background: transparent !important;
  border-color: transparent !important;
}
#mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card:hover img { opacity: 1 !important; }
.safe-mega-strip-card img {
  height: 26px !important;
  width: auto !important;
  margin: 0 0 16px !important;
  opacity: .94 !important;
}
.safe-mega-strip-card span {
  display: block !important;
  color: #6ea6ff !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
}
.safe-mega-strip-card p {
  min-height: 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}
.safe-mega-strip-card strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  transition: color .2s ease !important;
}
.safe-mega-strip-card strong i { font-size: 11px !important; transition: transform .2s ease !important; }
.safe-mega-strip-card:hover strong { color: #6ea6ff !important; }
.safe-mega-strip-card:hover strong i { transform: translateX(3px) !important; }
@media (max-width: 991px) {
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip {
    position: static !important;
    width: 100% !important;
    display: block !important;
    padding: 8px 0 8px 14px !important;
    margin: 4px 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li {
    padding: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip > li:last-child { border-bottom: 0 !important; }
  #mainmenu > li.safe-products-menu > ul.safe-products-mega-strip a.safe-mega-strip-card {
    padding: 11px 0 !important;
  }
  .safe-mega-strip-card img { height: 22px !important; margin-bottom: 7px !important; }
  .safe-mega-strip-card span { font-size: 9px !important; margin-bottom: 6px !important; }
  .safe-mega-strip-card p { display: none !important; }
  .safe-mega-strip-card strong { font-size: 13px !important; }
}

/* === v15: simple product dropdown, no megamenu / no panel === */
.safe-product-panel,
.safe-product-panel-overlay,
.safe-products-mega-strip,
.safe-product-mega,
.safe-product-simple {
  display: none !important;
}
#mainmenu > li.safe-products-menu {
  position: relative !important;
}
#mainmenu > li.safe-products-menu > a.menu-item {
  cursor: pointer;
}
#mainmenu > li.safe-products-menu > a.menu-item::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 11px;
  margin-left: 7px;
  opacity: .8;
  display: inline-block;
  transition: transform .2s ease;
}
#mainmenu > li.safe-products-menu:hover > a.menu-item::after,
#mainmenu > li.safe-products-menu:focus-within > a.menu-item::after {
  transform: rotate(180deg);
}
#mainmenu > li.safe-products-menu > ul.safe-product-dropdown {
  position: absolute !important;
  top: calc(100% + 14px) !important;
  left: 0 !important;
  min-width: 210px !important;
  padding: 10px !important;
  margin: 0 !important;
  list-style: none !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  border-radius: 14px !important;
  background: rgba(11, 18, 39, .98) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.35) !important;
  z-index: 10020 !important;
}
#mainmenu > li.safe-products-menu:hover > ul.safe-product-dropdown,
#mainmenu > li.safe-products-menu:focus-within > ul.safe-product-dropdown,
#mainmenu > li.safe-products-menu.is-open > ul.safe-product-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-dropdown > li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-dropdown > li > a {
  display: block !important;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, transform .15s ease !important;
}
#mainmenu > li.safe-products-menu > ul.safe-product-dropdown > li > a:hover {
  background: rgba(77,139,255,.16) !important;
  color: #fff !important;
  transform: translateX(2px) !important;
}
@media (max-width: 991px) {
  #mainmenu > li.safe-products-menu > ul.safe-product-dropdown {
    position: static !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 8px 0 8px !important;
    padding: 6px 0 6px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    display: none !important;
  }
  #mainmenu > li.safe-products-menu.is-open > ul.safe-product-dropdown,
  #mainmenu > li.safe-products-menu:hover > ul.safe-product-dropdown,
  #mainmenu > li.safe-products-menu:focus-within > ul.safe-product-dropdown {
    display: block !important;
  }
  #mainmenu > li.safe-products-menu > ul.safe-product-dropdown > li > a {
    padding: 10px 12px !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 15px !important;
  }
}


/* v16 publish cleanup: lists, sticky/menu stability, product menu removed */
#mainmenu > li.safe-products-menu { display: none !important; }
.safe-products-menu, .safe-product-dropdown, .safe-product-mega, .safe-products-mega-strip, .safe-product-simple { display: none !important; }
ul.ul-check, .safe-content ul, .safe-privacy ul, .safe-compare-table ul, .box ul {
  list-style-position: outside;
  padding-left: 1.35rem;
}
ul.ul-check li, .safe-content li, .safe-privacy li, .safe-compare-table li, .box li {
  padding-left: .25rem;
  margin-bottom: .55rem;
  line-height: 1.55;
}
.safe-compare-table td, .safe-compare-table th { vertical-align: top; }
header#main-header, header.header-full, header.transparent, header.autoshow {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 10000 !important;
}
header#main-header.safe-header-scrolled, header.header-full.safe-header-scrolled {
  background: rgba(8,14,30,.94) !important;
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 35px rgba(0,0,0,.24);
}
body { scroll-padding-top: 92px; }
@media (max-width: 991px) {
  body { scroll-padding-top: 78px; }
  #mainmenu li { width: 100%; }
}


/* === v17 global list alignment fix ===
   Cel: spójny odstęp od punktora, poprawne wcięcie zawijanych linii
   i pionowe wyrównanie ikonki do środka pierwszej linii tekstu. */

/* Standardowe listy z checkiem z template'u */
ul.ul-check {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
ul.ul-check li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  column-gap: 16px !important;
  align-items: start !important;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  line-height: 1.55 !important;
  text-indent: 0 !important;
}
ul.ul-check li::before {
  content: "✓" !important;
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: .22em 0 0 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(79, 149, 209, .20) !important;
  color: var(--primary-color, #4f95d1) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}
.dark-scheme ul.ul-check li::before,
.section-dark ul.ul-check li::before,
.bg-dark-2 ul.ul-check li::before {
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}

/* Listy w blokach SafeGuard: light/dark box */
.safe-sg-compare ul,
.box ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.safe-sg-compare li,
.box ul li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  column-gap: 16px !important;
  align-items: start !important;
  padding: 9px 0 !important;
  margin: 0 !important;
  line-height: 1.55 !important;
  text-indent: 0 !important;
}
.safe-sg-compare li::before,
.box ul li::before {
  content: "✓" !important;
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: .22em 0 0 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(79, 149, 209, .18) !important;
  color: var(--primary-color, #4f95d1) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}
.safe-sg-compare .box.dark li::before,
.section-dark .box ul li::before,
.bg-dark-2 .box ul li::before {
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}

/* Check w wyróżnionej kolumnie tabel porównawczych */
.safe-compare-table td:last-child {
  position: relative !important;
  padding-left: 62px !important;
  text-indent: 0 !important;
  vertical-align: top !important;
}
.safe-compare-table td:last-child::before {
  content: "✓" !important;
  position: absolute !important;
  left: 24px !important;
  top: calc(21px + .22em) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.safe-compare-table th:last-child::before { content: none !important; }

/* Krótkie tagi z ikoną: ikona równo do pierwszej linii, tekst zawija się pod tekstem */
.safe-material-tags,
.safe-sg-badge-row,
.safe-download-tags,
.safe-pdf-tags {
  gap: 12px 22px !important;
}
.safe-material-tags span,
.safe-sg-badge-row span,
.safe-download-tags span,
.safe-pdf-tags span {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
  line-height: 1.45 !important;
  text-indent: 0 !important;
}
.safe-material-tags span i,
.safe-sg-badge-row span i,
.safe-download-tags span i,
.safe-pdf-tags span i {
  flex: 0 0 auto !important;
  margin: .18em 0 0 0 !important;
  line-height: 1 !important;
}

/* Formularz / zgody: checkbox nie może nachodzić na tekst */
.safe-contact-consent {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: start !important;
  line-height: 1.45 !important;
}
.safe-contact-consent input[type="checkbox"] {
  margin: .25em 0 0 0 !important;
}

@media (max-width: 767px) {
  ul.ul-check li,
  .safe-sg-compare li,
  .box ul li {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    margin-bottom: 15px !important;
  }
  ul.ul-check li::before,
  .safe-sg-compare li::before,
  .box ul li::before {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    font-size: 13px !important;
    margin-top: .24em !important;
  }
  .safe-compare-table td:last-child {
    padding-left: 54px !important;
  }
  .safe-compare-table td:last-child::before {
    left: 17px !important;
    top: calc(16px + .22em) !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    font-size: 13px !important;
  }
}

/* ── Formularz kontaktowy — komunikaty ── */
.safe-form-ok,
.safe-form-error {
  padding: .6rem 1rem;
  border-radius: 4px;
  font-size: .9rem;
  line-height: 1.4;
}
.safe-form-ok {
  background: rgba(29,158,117,.15);
  color: #0f6e56;
  border: 1px solid rgba(29,158,117,.35);
}
.safe-form-error {
  background: rgba(226,75,74,.12);
  color: #a32d2d;
  border: 1px solid rgba(226,75,74,.3);
}


/* === v1 final targeted fixes from review screenshots ===
   Zakres: strzałki hero, znacznik przy Produkty, mobile header/logo,
   spójne ikony zgodności i profesjonalne checki w listach. */

/* Hero slider: zamiast tekstów prev/next renderujemy czyste strzałki CSS. */
.safe-hero .swiper-button-prev,
.safe-hero .swiper-button-next {
  width: 46px !important;
  height: 46px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: visible !important;
  z-index: 20 !important;
}
.safe-hero .swiper-button-prev::after,
.safe-hero .swiper-button-next::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  border-top: 2px solid rgba(255,255,255,.92) !important;
  border-left: 2px solid rgba(255,255,255,.92) !important;
  font-family: initial !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  transition: border-color .18s ease, transform .18s ease !important;
}
.safe-hero .swiper-button-prev::after { transform: rotate(-45deg) !important; }
.safe-hero .swiper-button-next::after { transform: rotate(135deg) !important; }
.safe-hero .swiper-button-prev:hover::after,
.safe-hero .swiper-button-next:hover::after { border-color: #fff !important; }

/* Produkty: jeden, poprawny znacznik rozwijania. Nie ruszamy linku ani submenu. */
#safe-menu > li.has-drop > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  margin-left: 9px !important;
  opacity: .75 !important;
  vertical-align: middle !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
#safe-menu > li.has-drop:hover > a::after,
#safe-menu > li.has-drop:focus-within > a::after { opacity: 1 !important; }

/* Mobile header: bez topbaru, z widocznym logo i równo ustawionym hamburgerem. */
@media (max-width: 991px) {
  #safe-topbar { display: none !important; }
  #safe-nav {
    min-height: 76px !important;
    padding: 14px 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  #safe-header #logo,
  #safe-header #safe-logo {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  #safe-header #logo img.logo-main,
  #safe-header #logo img.product-header-logo,
  #safe-header #safe-logo img.logo-main,
  #safe-header #safe-logo img.product-header-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: 42px !important;
  }
  #safe-hamburger {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin-left: auto !important;
  }
  #safe-hamburger span { width: 31px !important; height: 3px !important; margin: 4px 0 !important; }
  #safe-menu.open { top: 76px !important; }
}

/* Sekcja Zgodność i audyt: jeden język ikon — stałe pole, rozmiar i kolor. */
.safe-compliance-card i.fs-40,
.safe-compliance-card i[class*="icofont-"] {
  width: 54px !important;
  height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
  border-radius: 16px !important;
  background: rgba(79,149,209,.14) !important;
  color: #4f95d1 !important;
  font-size: 28px !important;
  line-height: 1 !important;
}
.bg-color .safe-compliance-card i.fs-40,
.bg-color .safe-compliance-card i[class*="icofont-"] {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* Profesjonalne checki i stabilne wcięcia list: ikona oddzielona od tekstu, druga linia pod tekstem. */
ul.ul-check,
.safe-sg-compare ul,
.box ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
ul.ul-check li,
.safe-sg-compare li,
.box ul li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  align-items: start !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
  line-height: 1.55 !important;
}
ul.ul-check li::before,
.safe-sg-compare li::before,
.box ul li::before {
  content: "" !important;
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  margin: .20em 0 0 0 !important;
  border-radius: 999px !important;
  background-color: rgba(79,149,209,.16) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234f95d1' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.section-dark ul.ul-check li::before,
.dark-scheme ul.ul-check li::before,
.bg-dark-2 ul.ul-check li::before,
.section-dark .box ul li::before,
.bg-dark-2 .box ul li::before,
.safe-sg-compare .box.dark li::before {
  background-color: rgba(255,255,255,.14) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
}
.safe-compare-table td:last-child::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background-color: rgba(255,255,255,.16) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
  color: transparent !important;
  font-size: 0 !important;
}

@media (max-width: 767px) {
  ul.ul-check li,
  .safe-sg-compare li,
  .box ul li {
    grid-template-columns: 24px minmax(0,1fr) !important;
    column-gap: 16px !important;
  }
  ul.ul-check li::before,
  .safe-sg-compare li::before,
  .box ul li::before {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    margin-top: .22em !important;
  }
}

/* === v.1 hotfix: clean check icon only ===
   Usuwa artefakty/ukośne fragmenty widoczne w znacznikach list.
   Nie zmienia układów, odstępów ani treści. */
ul.ul-check li::before,
.safe-sg-compare li::before,
.box ul li::before,
.safe-compare-table td:last-child::before {
  content: "✓" !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background-image: none !important;
  background: rgba(79, 149, 209, .18) !important;
  color: #4f95d1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  letter-spacing: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  transform: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.section-dark ul.ul-check li::before,
.dark-scheme ul.ul-check li::before,
.bg-dark-2 ul.ul-check li::before,
.section-dark .box ul li::before,
.bg-dark-2 .box ul li::before,
.safe-sg-compare .box.dark li::before,
.safe-compare-table td:last-child::before {
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}

/* v1 color fix: SafeGuard dark comparison heading */
.safe-sg-compare .box.dark h1,
.safe-sg-compare .box.dark h2,
.safe-sg-compare .box.dark h3,
.safe-sg-compare .box.dark h4,
.safe-sg-compare .box.dark h5,
.safe-sg-compare .box.dark h6{
  color:#ffffff !important;
}
.safe-sg-compare .box.dark p,
.safe-sg-compare .box.dark li{
  color:rgba(255,255,255,.92) !important;
}

/* === Ujednolicenie znaczników list i tabel: płaska ikona zamiast checków w kółkach ===
   Jeden spójny język ikon (FontAwesome check), bez kolorowych kółek. */
ul.ul-check li::before,
.safe-sg-compare li::before,
.box ul li::before,
.safe-compare-table td:last-child::before {
  content: "\f00c" !important;
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 20px !important;
  min-width: 20px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: var(--primary-color, #4f95d1) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  text-shadow: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
/* Tabele porównawcze + sekcje ciemne: check w bieli dla kontrastu */
.safe-compare-table td:last-child::before,
.section-dark ul.ul-check li::before,
.dark-scheme ul.ul-check li::before,
.bg-dark-2 ul.ul-check li::before,
.section-dark .box ul li::before,
.bg-dark-2 .box ul li::before,
.safe-sg-compare .box.dark li::before {
  color: #fff !important;
}
/* Pozycja checka w wyróżnionej kolumnie tabeli (bez kółka) */
.safe-compare-table td:last-child::before {
  position: absolute !important;
  left: 26px !important;
  top: calc(22px + .1em) !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}


/* === Mikro-interakcje i animacje (v2) ============================== */
/* 1. Subtelne uniesienie kart na hover — spójne w całym portalu */
.safe-source-card,
.safe-sg-feature,
.safe-for-card,
.safe-solution-card,
.safe-mini-card,
.safe-hero-feature,
.safe-provide-card,
.safe-prod-card{
  transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease !important;
  will-change: transform;
}
.safe-source-card:hover,
.safe-sg-feature:hover,
.safe-for-card:hover,
.safe-solution-card:hover,
.safe-mini-card:hover,
.safe-hero-feature:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 54px rgba(10,24,52,.16);
}
/* 2. Ikony reagują na hover karty */
.safe-source-card > i,
.safe-sg-feature i,
.safe-hero-feature > i,
.safe-mini-card > i{ transition: transform .3s cubic-bezier(.2,.7,.3,1); }
.safe-source-card:hover > i,
.safe-sg-feature:hover i,
.safe-hero-feature:hover > i,
.safe-mini-card:hover > i{ transform: scale(1.12) translateY(-2px); }

/* 3. Reveal na scroll — wzbogacony (klasa .safe-reveal dodawana z JS) */
.safe-reveal{ opacity:0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.safe-reveal.in{ opacity:1; transform:none; }

/* 4. Numerowane kroki procesu — akcent na numerze */
.safe-step{ position:relative; }
.safe-step .safe-step-num,
.safe-step [class*="step-num"]{ transition: transform .3s ease, box-shadow .3s ease; }
.safe-step:hover .safe-step-num,
.safe-step:hover [class*="step-num"]{ transform: scale(1.06); box-shadow:0 10px 26px rgba(48,100,206,.28); }

/* 5. Chipsy w hero — wejście sekwencyjne */
@keyframes safeChipIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }
.safe-hero .safe-hero-chips b,
.safe-hero-chip{ animation: safeChipIn .5s both; }
.safe-hero .safe-hero-chips b:nth-child(2){ animation-delay:.06s; }
.safe-hero .safe-hero-chips b:nth-child(3){ animation-delay:.12s; }
.safe-hero .safe-hero-chips b:nth-child(4){ animation-delay:.18s; }
.safe-hero .safe-hero-chips b:nth-child(5){ animation-delay:.24s; }
.safe-hero .safe-hero-chips b:nth-child(6){ animation-delay:.30s; }

/* 6. Count-up: stabilna szerokość cyfr */
.safe-countup{ font-variant-numeric: tabular-nums; }

/* 7. Przyciski CTA — delikatny „lift" */
.btn-main{ transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn-main:hover{ transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce){
  .safe-source-card,.safe-sg-feature,.safe-for-card,.safe-solution-card,.safe-mini-card,.safe-hero-feature,.safe-provide-card,.safe-prod-card,
  .safe-reveal,.btn-main,.safe-step .safe-step-num{ transition:none !important; animation:none !important; transform:none !important; }
  .safe-reveal{ opacity:1 !important; }
}


/* ── Mobile optimization (final) ─────────────────────────── */
html { overflow-x: hidden; }
body { overflow-x: clip; max-width: 100%; }

/* ── Mikro-animacje kart (hover) ─────────────────────────── */
@media (hover:hover) and (prefers-reduced-motion: no-preference){
  .safe-product-card,.safe-compliance-card,.de_count,.safe-sg-gallery-card{
    transition: transform .38s cubic-bezier(.2,.7,.3,1), box-shadow .38s ease;
    will-change: transform;
  }
  .safe-product-card:hover,.safe-compliance-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(4,12,26,.38);
  }
  .de_count:hover{ transform: translateY(-4px); box-shadow: 0 16px 34px rgba(4,12,26,.32); }
  .de_count:hover i{ transform: scale(1.14); transition: transform .38s cubic-bezier(.2,.7,.3,1); }
  .safe-sg-gallery-card:hover{ transform: translateY(-4px) scale(1.012); }
}
img { max-width: 100%; }
.safe-video-frame, .safe-inline-video, table { max-width: 100%; }

@media (max-width: 991px){
  /* "O I-BS.pl" — sparowane grafiki niższe na tabletach */
  .safe-about-media .relative { min-height: 300px !important; }
  /* wygodniejsze odstępy nagłówków sekcji */
  h1 { line-height: 1.12; }
}

@media (max-width: 575px){
  /* sparowane grafiki O I-BS.pl */
  .safe-about-media .relative { min-height: 190px !important; }
  /* duże liczby / nagłówki */
  .safe-about-section .fs-72 { font-size: 48px !important; }
  .de_count .fs-40 { font-size: 32px !important; }
  .fs-32 { font-size: 24px !important; }
  /* marquee mniejsza */
  .de-marquee-list-2 .fs-32 { font-size: 22px !important; }
  /* wygodne pola dotyku */
  #safe-menu > li > a { padding: 14px 2px !important; }
  .btn-main, .btn-line, #safe-cta a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
  #safe-hamburger { padding: 10px; }
  /* karty i sekcje — mniej powietrza na telefonie */
  .safe-section-breath { padding-top: 60px !important; padding-bottom: 60px !important; }
  .p-40 { padding: 24px !important; }
  /* pola formularza czytelniejsze (bez zoomu iOS) */
  .safe-contact .form-control, .form-control { font-size: 16px; }
  /* badge "100% / producent z Polski" — pełna szerokość, równy układ */
  #polskie .row.g-3 .col-auto { flex: 1 1 46%; }
  #polskie .de_count { width: 100%; }
}
