/* Extracted from: /pages/free-sms/index.htm */
/* Specific Styles for Free SMS Page */
        .free-sms-hero {
            text-align: center;
            padding: 40px 20px;
            background: linear-gradient(135deg, #FFF5F2 0%, #FFFFFF 100%);
            border-radius: 20px;
            margin-bottom: 40px;
            border: 1px solid var(--border-color);
        }

        .free-numbers-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
        }

        .free-number-card {
            background: #fff;
            border: 1px solid #eee;
            border-radius: 16px;
            padding: 20px;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .free-number-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(232, 80, 24, 0.1);
            border-color: var(--primary-color);
        }

        .card-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 15px;
        }

        .country-flag {
            font-size: 2rem;
            border-radius: 4px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        }

        .number-display {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--text-main);
        }

        .status-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            font-size: 0.75rem;
            padding: 4px 8px;
            border-radius: 4px;
            font-weight: 600;
        }

        .status-online {
            background: #E8F5E9;
            color: #2E7D32;
        }

        .status-busy {
            background: #FFF3E0;
            color: #EF6C00;
        }

        /* Simulation Modal/Area */
        .simulation-area {
            display: none;
            /* Hidden by default */
            background: #fff;
            border-radius: 20px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
            padding: 0;
            margin-bottom: 40px;
            overflow: hidden;
            animation: slideDown 0.5s ease;
            border: 1px solid var(--border-color);
        }

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .sim-header {
            background: #1C1E21;
            color: white;
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .sim-inbox {
            max-height: 400px;
            overflow-y: auto;
            background: #F9FAFC;
            padding: 20px;
        }

        .sim-message {
            background: white;
            border-radius: 12px;
            padding: 15px;
            margin-bottom: 15px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
            border-left: 4px solid var(--primary-color);
            opacity: 0;
            transform: translateX(-10px);
            animation: msgEnter 0.5s forwards;
        }

        @keyframes msgEnter {
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .msg-sender {
            font-weight: 700;
            font-size: 0.9rem;
            margin-bottom: 5px;
            color: var(--text-main);
        }

        .msg-code {
            font-family: monospace;
            font-size: 1.2rem;
            letter-spacing: 2px;
            color: var(--primary-color);
            background: rgba(232, 80, 24, 0.05);
            padding: 5px 10px;
            border-radius: 6px;
            display: inline-block;
            margin: 5px 0;
        }

        .msg-time {
            font-size: 0.75rem;
            color: #999;
            float: right;
        }

        .upsell-alert {
            background: #FFF3E0;
            border: 1px solid #FFCC80;
            color: #E65100;
            padding: 15px;
            text-align: center;
            font-weight: 500;
            font-size: 0.95rem;
        }

        .upsell-alert a {
            font-weight: 700;
            text-decoration: underline;
            color: #E65100;
        }

        .seo-content {
            font-size: 0.95rem;
            line-height: 1.7;
            color: #555;
            background: #fff;
            padding: 30px;
            border-radius: 20px;
            margin-top: 40px;
        }

        .seo-content h2 {
            font-size: 1.5rem;
            color: var(--text-main);
            margin-bottom: 15px;
            margin-top: 30px;
        }

        .seo-content h2:first-child {
            margin-top: 0;
        }

        .pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #2E7D32;
            display: inline-block;
            margin-right: 5px;
            animation: pulse 1.5s infinite;
        }

        @keyframes pulse {
            0% {
                transform: scale(1);
                opacity: 1;
            }

            50% {
                transform: scale(1.5);
                opacity: 0.5;
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }
