.pam-form-container {
    max-width: 900px;
    margin: 40px auto;
    background: #fff;
    padding: 30px;
    border: 1px solid #eaeaea;
    box-shadow: 7px 7px 5px 1px rgba(0, 0, 0, 0.1);
}

/* ===== STEPPER ===== */
.pam-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.pam-step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 160px;
}

.pam-step-circle {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: #ddd;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
}

.pam-step-item span {
    margin-top: 8px;
    font-size: 13px;
    text-align: center;
}

.pam-step-item.pam-completed .pam-step-circle,
.pam-step-item.pam-active .pam-step-circle {
    background: #f7941d;
}

.pam-step-line {
    flex: 1;
    height: 2px;
    background: #ddd;
    margin: 0 10px;
}

.pam-step-line.pam-active {
    background: #f7941d;
}

.pam-active span {
    font-weight: 600;
}

/* ===== FORM ===== */
.pam-step {
    display: none;
}

.pam-step.pam-active {
    display: block;
}

.pam-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    row-gap: 25px;
}

.pam-grid div {
    width: 100%;
}

.pam-grid label {
    color: #757575;
}

.pam-grid input,
.pam-grid select {
    width: 100%;
    border: 1px solid #F1F1F1;
    background-color: #F1F1F1;
    border-radius: 5px;
}

.pam-grid input[type="checkbox"] {
    width: auto !important;
}

.pam-grid input[type="date"] {
    background: #F1F1F1;
    color: #666;
    border-radius: 0;
    padding: 10px 15px;
    box-sizing: border-box;
    max-width: calc(100% - 190px);
    float: right;
    border-radius: 5px;
}

.pam-full {
    grid-column: 1 / -1;
}

.pam-label {
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 5px;
    display: block;
    color: #757575;
}

.pam-checkbox-label {
    line-height: 1.3em;
}

.pam-input,
.pam-select {
    width: 100% !important;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.pam-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.pam-actions.pam-right {
    justify-content: flex-end;
}

.pam-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
}

.pam-btn-next {
    background: #f7941d;
    color: #fff;
    font-size: 19px;
    font-weight: bolder;
}

.pam-btn-back {
    background: #ddd;
    font-size: 19px;
    color: #000;
    font-weight: bolder;
}

.pam-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.pam-col-left h4 {
    font-weight: bolder;
    text-transform: uppercase;
    color: #757575;
    margin-bottom: 0px;
}

.pam-col-polo-presencial {
    margin-top: -25px;
}

/* ===== MOBILE - OCULTA STEPS NÃO ATIVOS ===== */
@media (max-width: 768px) {
    .pam-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .pam-col-left {
        order: 1;
    }

    .pam-col-right {
        order: 2;
    }

    .pam-actions {
        flex-direction: column;
        gap: 10px;
    }

    .pam-actions .pam-btn {
        width: 100%;
    }

    /* STEPPER MOBILE - SÓ MOSTRA ATIVO */
    .pam-stepper {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 15px !important;
        padding: 15px 10px !important;
        margin-bottom: 25px !important;
    }

    /* OCULTA TODOS OS STEPS POR PADRÃO */
    .pam-step-item:not(.pam-active) {
        display: none !important;
    }

    /* SÓ O ATIVO FICA VISÍVEL - MAIOR */
    .pam-step-item.pam-active {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 8px 16px !important;
        background: rgba(247, 148, 29, 0.1);
        border-radius: 5px;
        border: 2px solid #f7941d;
        flex: none !important;
        min-width: auto !important;
    }

    .pam-step-item.pam-active .pam-step-circle {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
        background: #f7941d !important;
        box-shadow: 0 2px 8px rgba(247, 148, 29, 0.4);
    }

    .pam-step-item.pam-active span {
        margin-top: 0 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #f7941d !important;
        white-space: nowrap !important;
    }

    .pam-step-line {
        display: none !important;
    }

    .pam-grid input[type="date"] {
        max-width: 100%;
    }

    .pam-col-polo-presencial {
        margin-top: auto !important;
    }

    .pam-step-success {
        margin: 15px;
        padding: 20px;
        font-size: 16px;
    }

    .pam-step-success::before {
        font-size: 36px;
    }
}

.pam-form-group {
    margin-bottom: 20px;
}

.pam-form-group:last-child {
    margin-bottom: 0;
}

/* ===== ERROS DE CAMPO ===== */
.pam-field-error {
    font-size: 12px;
    color: #ff0000;
    margin-top: 2px;
    position: absolute;
}

.pam-input-error {
    border: 1px solid #ff4d4f;
}

/* ===== ALERTA GERAL ===== */
.pam-step-alert {
    margin-top: 35px;
    background: #ff9f2d;
    color: #fff;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 16px;
    display: none;
    align-items: center;
    gap: 8px;
}

.pam-step-alert.pam-show {
    display: flex;
}

#voucher {
    width: calc(100% - 90px);
}

#btn_validar_voucher {
    float: right;
    font-size: 16px;
    padding: 12px 15px !important;
}

.sucesso-voucher-desconto {
    display: none;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    color: green;
    margin-top: 5px !important;
}

.pam-checkbox-label {
    margin-bottom: 15px;
}

.pam-checkbox-label .pam-field-error {
    margin-top: -5px;
}

.pam-checkbox-label a {
    font-size: 12px;
    text-align:right;
}

.pam-step-success {
    display: none;
    background-color: #f7941d;
    color: white;
    padding: 25px 30px;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 8px 25px rgb(167 93 40 / 30%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin: 30px 0;
    animation: pamSuccessSlideIn 0.6s ease-out;
    font-weight: 600;
}

.pam-step-success h4 {
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 10px;
}

.pam-step-success p {
    font-size: 16px;
    font-weight: 500;
}

.pam-step-success.pam-show {
    display: block;
}

.pam-step-success::before {
    content: "👏";
    display: block;
    font-size: 48px;
    margin-bottom: 12px;
    line-height: 1;
}

/* ===== ANIMAÇÃO ===== */
@keyframes pamSuccessSlideIn {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.pam-btn-loading {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.pam-btn-loading::after {
    content: " ⏳";
    animation: spin 1s infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
