 :root {
            --ig-primary: #123c69;
            --ig-accent: #2f80ed;
            --ig-success: #1f9d55;
            --ig-danger: #d93025;
            --ig-text: #243447;
            --ig-border: #d9e2ec;
            --ig-surface: #ffffff;
            --ig-shadow: 0 12px 30px rgba(18, 60, 105, 0.1);
        }

        body {
            font-family: 'Raleway', sans-serif;
            background-color: #f0f4f8;
            color: var(--ig-text);
        }

        #regForm {
            background: var(--ig-surface);
            margin: 40px auto;
            padding: 0;
            width: min(95%, 1000px);
            border-radius: 16px;
            box-shadow: var(--ig-shadow);
            overflow: hidden;
        }

        .form-header {
            padding: 40px;
            background: linear-gradient(135deg, var(--ig-primary), var(--ig-accent));
            color: white;
            text-align: center;
        }

        .form-header h1 { font-weight: 800; margin-bottom: 8px; font-size: 2.2rem; }
        .form-header p { opacity: 0.9; font-size: 1.1rem; }

        .tab { display: none; padding: 40px; animation: fadeIn 0.3s; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        .tab-title {
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--ig-primary);
            margin-bottom: 25px;
            padding-bottom: 10px;
            border-bottom: 3px solid var(--ig-accent);
            display: inline-block;
        }

        .form-section {
            background: #fff;
            border: 1px solid var(--ig-border);
            border-radius: 12px;
            padding: 25px;
            margin-bottom: 25px;
            transition: 0.2s;
        }

        .form-section:hover { border-color: var(--ig-accent); }

        .form-section h5, .form-section legend {
            font-weight: 800;
            color: var(--ig-primary);
            margin-bottom: 5px;
            font-size: 1.1rem;
        }

        .form-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            padding: 5px 0;
            border-bottom: 1px solid #f0f4f8;
        }

        .form-row:last-child { border-bottom: none; }

        .form-label-cell { flex: 0 0 30%; font-weight: 600; color: #444; }
        .form-input-cell { flex: 1; display: flex; gap: 10px; align-items: center; }

        input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="date"], select, textarea {
            width: 100%;
            padding: 5px;
            border: 1px solid var(--ig-border);
            border-radius: 8px;
            outline: none;
            transition: 0.2s;
        }

        input:focus, select:focus, textarea:focus { border-color: var(--ig-accent); box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.1); }

        .invalid { background-color: #fff1f0 !important; border-color: var(--ig-danger) !important; }

        .checkbox-grid, .radio-inline-group {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
            gap: 12px;
        }

        .checkbox-item, .radio-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px;
            background: #f8fafc;
            border-radius: 8px;
            cursor: pointer;
        }

        .checkbox-item:hover { background: #edf2f7; }

        .step {
            height: 10px;
            width: 40px;
            margin: 0 5px;
            background-color: #d1d5db;
            border-radius: 5px;
            display: inline-block;
            transition: 0.3s;
        }

        .step.active { background-color: var(--ig-accent); width: 60px; }
        .step.finish { background-color: var(--ig-success); }

        button {
            padding: 12px 30px;
            border-radius: 30px;
            font-weight: 700;
            transition: 0.2s;
            cursor: pointer;
            border: none;
        }

        #nextBtn { background: var(--ig-primary); color: white; }
        #nextBtn:hover { background: var(--ig-accent); transform: translateY(-2px); }
        #prevBtn { background: #e2e8f0; color: #475569; }

        .hint { font-size: 0.85rem; color: #64748b; margin-top: 4px; }
        .required { color: var(--ig-danger); font-weight: bold; }

        @media (max-width: 600px) {
            .form-label-cell { flex: 0 0 100%; margin-bottom: 8px; }
            .tab { padding: 20px; }
        }
        

    /* Estilo moderno para os botões de rádio (Chips) */
    .radio-card-group {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
    }

    .radio-card {
        flex: 1;
        min-width: 200px;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 16px;
        transition: all 0.3s ease;
    }

    .radio-card:hover {
        border-color: #2f80ed;
        box-shadow: 0 4px 12px rgba(47, 128, 237, 0.08);
    }

    .radio-card label {
        display: block;
        font-weight: 800;
        color: #123c69;
        margin-bottom: 12px;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .options-container {
        display: flex;
        gap: 8px;
    }

    /* Esconde o rádio original e estiliza o label como botão */
    .option-chip {
        flex: 1;
        position: relative;
    }

    .option-chip input[type="radio"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
    }

    .option-chip span {
        display: block;
        text-align: center;
        padding: 5px 8px;
        border: 2px solid #edf2f7;
        border-radius: 8px;
        font-weight: 200;
        color: #64748b;
        cursor: pointer;
        transition: all 0.2s;
    }

    /* Estilo quando selecionado */
    .option-chip input[type="radio"]:checked + span {
        background-color: #2f80ed;
        border-color: #2f80ed;
        color: #ffffff;
        box-shadow: 0 4px 10px rgba(47, 128, 237, 0.3);
    }

    .option-chip:hover span {
        border-color: #cbd5e1;
    }
