.advert-gallery {
            background: #f4f6f8;
            border-radius: 16px;
            box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
            overflow: hidden;
            position: relative;
        }

        .advert-gallery .carousel-item {
            background: #f4f6f8;
            height: clamp(300px, 46vw, 520px);
        }

        .advert-gallery .advert-gallery-image {
            display: block;
            height: 100%;
            object-fit: contain;
            width: 100%;
        }

        .advert-gallery-open {
            background: transparent;
            border: 0;
            cursor: zoom-in;
            display: block;
            height: 100%;
            padding: 0;
            width: 100%;
        }

        .advert-gallery .carousel-control-prev,
        .advert-gallery .carousel-control-next {
            background: rgba(17, 24, 39, .55);
            border-radius: 50%;
            height: 42px;
            opacity: .9;
            top: 50%;
            transform: translateY(-50%);
            width: 42px;
        }

        .advert-gallery .carousel-control-prev { left: 12px; }
        .advert-gallery .carousel-control-next { right: 12px; }

        .advert-gallery-counter {
            background: rgba(17, 24, 39, .7);
            border-radius: 20px;
            bottom: 12px;
            color: #fff;
            font-size: 12px;
            padding: 5px 10px;
            position: absolute;
            right: 12px;
            z-index: 2;
        }

        .advert-gallery-thumbs {
            display: flex;
            gap: 8px;
            margin-top: 10px;
            overflow-x: auto;
            padding: 2px 2px 6px;
            scrollbar-width: thin;
        }

        .advert-gallery-thumb {
            background: #fff;
            border: 2px solid transparent;
            border-radius: 10px;
            flex: 0 0 64px;
            height: 64px;
            overflow: hidden;
            padding: 0;
        }

        .advert-gallery-thumb:focus,
        .advert-gallery-thumb:hover {
            border-color: #1ab394;
            outline: none;
        }

        .advert-gallery-thumb img {
            height: 100%;
            object-fit: cover;
            width: 100%;
        }

        .advert-lightbox {
            align-items: center;
            background: rgba(5, 10, 18, .96);
            display: none;
            inset: 0;
            justify-content: center;
            padding: 56px 72px 44px;
            position: fixed;
            z-index: 2147483646;
        }

        .advert-lightbox.is-open { display: flex; }

        .advert-lightbox-image {
            height: 100%;
            max-height: calc(100vh - 100px);
            max-width: 100%;
            object-fit: contain;
            user-select: none;
            width: 100%;
        }

        .advert-lightbox-close,
        .advert-lightbox-prev,
        .advert-lightbox-next {
            align-items: center;
            background: rgba(255, 255, 255, .14);
            border: 1px solid rgba(255, 255, 255, .25);
            border-radius: 50%;
            color: #fff;
            display: flex;
            justify-content: center;
            position: absolute;
            transition: background-color .2s ease;
            z-index: 2;
        }

        .advert-lightbox-close:hover,
        .advert-lightbox-prev:hover,
        .advert-lightbox-next:hover {
            background: rgba(255, 255, 255, .28);
            color: #fff;
        }

        .advert-lightbox-close {
            font-size: 28px;
            height: 44px;
            right: 18px;
            top: 16px;
            width: 44px;
        }

        .advert-lightbox-prev,
        .advert-lightbox-next {
            font-size: 20px;
            height: 48px;
            top: 50%;
            transform: translateY(-50%);
            width: 48px;
        }

        .advert-lightbox-prev { left: 16px; }
        .advert-lightbox-next { right: 16px; }

        .advert-lightbox-count {
            background: rgba(255, 255, 255, .14);
            border-radius: 20px;
            bottom: 12px;
            color: #fff;
            font-size: 13px;
            left: 50%;
            padding: 6px 12px;
            position: absolute;
            transform: translateX(-50%);
        }

        body.advert-lightbox-open { overflow: hidden; }

        @media (max-width: 575.98px) {
            .advert-gallery .carousel-item { height: 360px; }
            .advert-gallery .carousel-control-prev,
            .advert-gallery .carousel-control-next { height: 36px; width: 36px; }
            .advert-lightbox { padding: 60px 10px 50px; }
            .advert-lightbox-image { max-height: calc(100vh - 110px); }
            .advert-lightbox-prev,
            .advert-lightbox-next { height: 40px; width: 40px; }
            .advert-lightbox-prev { left: 8px; }
            .advert-lightbox-next { right: 8px; }
        }
