.promo-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.75);
            backdrop-filter: blur(4px);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            animation: fadeIn 0.25s ease-out;
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .promo-container {
            background: #ffffff;
            max-width: 520px;
            width: 90%;
            border-radius: 12px;
            box-shadow: 0 25px 45px -12px rgba(0, 0, 0, 0.4);
            overflow: hidden;
            animation: slideUp 0.3s ease-out;
        }

        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        .close-btn {
            position: absolute;
            top: 12px;
            right: 18px;
            background: rgba(0,0,0,0.5);
            border: none;
            font-size: 18px;
            cursor: pointer;
            color: white;
            width: 32px;
            height: 32px;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: 0.2s;
            z-index: 10;
        }
        .close-btn i {
            font-size: 16px;
        }
        .close-btn:hover {
            background: #c77d4a;
            transform: scale(1.05);
        }

        /* Фото номера */
        .promo-photo {
            width: 100%;
            height: 180px;
            overflow: hidden;
            background: #d9cbbc;
        }
        .promo-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .promo-content {
            padding: 18px 24px 24px;
            text-align: center;
        }

        h2 {
            font-size: 1.4rem;
            font-weight: 700;
            color: #1a3a34;
            margin-bottom: 4px;
        }
        h2 i {
            color: #c77d4a;
            margin-right: 8px;
        }

        .promo-badge {
            background: #c77d4a;
            color: white;
            font-size: 0.7rem;
            font-weight: 600;
            display: inline-block;
            padding: 4px 14px;
            border-radius: 20px;
            margin-bottom: 12px;
            letter-spacing: 0.5px;
        }
        .promo-badge i {
            margin-right: 6px;
            font-size: 11px;
        }

        .discount {
            font-size: 3.2rem;
            font-weight: 800;
            color: #c77d4a;
            line-height: 1;
            margin: 5px 0 8px;
        }
        .discount i {
            font-size: 2.2rem;
            margin-right: 5px;
            vertical-align: middle;
        }

        .date-line {
            background: #f5efe8;
            padding: 6px 12px;
            border-radius: 30px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.8rem;
            font-weight: 600;
            color: #1a3a34;
            margin: 8px 0 12px;
        }
        .date-line i {
            color: #c77d4a;
            font-size: 13px;
        }
        .date-line span {
            background: #1a3a34;
            color: white;
            padding: 2px 12px;
            border-radius: 20px;
            font-size: 0.75rem;
        }

        .promo-text {
            font-size: 0.8rem;
            color: #4a4a4a;
            margin: 8px 0;
            line-height: 1.4;
        }
        .promo-text i {
            color: #c77d4a;
            margin-right: 6px;
            font-size: 12px;
        }

        .restriction {
            background: #fef1e8;
            border-left: 3px solid #c77d4a;
            padding: 8px 12px;
            margin: 10px 0;
            font-size: 0.75rem;
            text-align: left;
            border-radius: 8px;
            color: #5a4a3a;
        }
        .restriction i {
            color: #c77d4a;
            margin-right: 6px;
            font-size: 13px;
        }
        .restriction strong {
            color: #c77d4a;
        }

        .code-phrase {
            background: #1a3a34;
            color: #ffdfb8;
            padding: 6px 16px;
            border-radius: 30px;
            font-weight: 700;
            font-size: 0.85rem;
            display: inline-block;
            margin: 5px 0 8px;
            letter-spacing: 0.5px;
        }
        .code-phrase i {
            margin-right: 6px;
            font-size: 12px;
        }

        .promo-btn {
            display: inline-block;
            background: #c77d4a;
            color: white;
            text-decoration: none;
            padding: 10px 28px;
            font-size: 0.85rem;
            font-weight: 700;
            border-radius: 30px;
            margin-top: 12px;
            transition: all 0.2s;
            box-shadow: 0 6px 14px rgba(199, 125, 74, 0.3);
            border: none;
            cursor: pointer;
        }
        .promo-btn i {
            margin-right: 8px;
            font-size: 13px;
        }
        .promo-btn:hover {
            background: #a55d32;
            transform: scale(1.02);
        }

        .small-note {
            font-size: 0.65rem;
            color: #aa9a88;
            margin-top: 12px;
        }
        .small-note i {
            margin-right: 4px;
        }

        /* Адаптация */
        @media (max-width: 550px) {
            .promo-container {
                width: 92%;
            }
            .promo-photo {
                height: 150px;
            }
            .promo-content {
                padding: 14px 18px 20px;
            }
            h2 {
                font-size: 1.2rem;
            }
            .discount {
                font-size: 2.6rem;
            }
        }

        @media (max-height: 620px) {
            .promo-photo {
                height: 130px;
            }
            .promo-content {
                padding: 12px 20px 18px;
            }
            .restriction {
                margin: 6px 0;
                padding: 6px 10px;
            }
        }