/**
 * Edit Profile Widget Styles
 */

/* Login Required Message */
.cpc-edit-profile-login-required {
    text-align: center;
    padding: 40px 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.cpc-edit-profile-login-required p:first-child {
    font-size: 16px;
    color: #666;
    margin: 0 0 15px 0;
}

.cpc-edit-profile-login-required p:last-child {
    margin: 0;
}

/* .cpc-login-trigger {
    display: inline-block;
    color: #F48120 !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    padding: 12px 24px;
    border: 2px solid #E07B39;
    border-radius: 6px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.cpc-login-trigger:hover {
    background-color: #E07B39;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
} */

.cpc-edit-profile-container {
    font-family: Sinkin Sans;
    max-width: 100%;
    margin: 0 auto;
}

.cpc-edit-profile-form {
    background: #fff;
    padding: 0;
}

/* Section Styles */
.cpc-section {
    margin-bottom: 40px;
    background: #F5F5F5;
    padding: 30px;
    border-radius: 8px;
}

.cpc-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 25px 0;
    letter-spacing: 0.5px;
}

/* Field Row */
.cpc-field-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
}

/* Field Styles */
.cpc-field {
    flex: 1;
    min-width: 200px;
    position: relative;
}

.cpc-field-tipo {
    max-width: 180px;
}

.cpc-field-nome {
    flex: 2;
}

.cpc-field-cpf {
    max-width: 250px;
}

/* Fix CPF field to be editable */
.cpc-field-cpf input.cpf-cnpj-mask[readonly] {
    background-color: #f9f9f9;
    cursor: not-allowed;
    opacity: 0.7;
}

.cpc-field-rg,
.cpc-field-senha,
.cpc-field-confirmar-senha {
    flex: 1;
}

.cpc-field-email {
    flex: 2;
    max-width: 100%;
}

.cpc-field-phone-country {
    flex: 2;
}

.cpc-field-tipo-endereco {
    max-width: 180px;
}

.cpc-field-cep {
    max-width: 250px;
}

.cpc-field-endereco {
    flex: 2;
}

.cpc-field-numero {
    max-width: 150px;
}

.cpc-field-complemento {
    max-width: 200px;
}

.cpc-field-bairro {
    flex: 1;
}

.cpc-field-estado {
    max-width: 200px;
}

.cpc-field-cidade {
    flex: 2;
}

/* Label Styles */
.cpc-field-label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Input Styles */
.cpc-field-edit-input {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #333 !important;
    background: transparent !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.cpc-field-edit-input::placeholder {
    color: #999 !important;
}

.cpc-field-edit-input:focus {
    border-color: #FF6A00 !important;
    box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.1) !important;
}

/* Select Styles */
select.cpc-field-edit-input {
    appearance: none !important;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23333" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* Phone Group */
.cpc-phone-group {
    display: flex;
    gap: 10px;
}

.cpc-phone-country {
    width: 110px !important;
}

.cpc-phone-number {
    flex: 1;
}

/* Field Actions */
.cpc-field-actions {
    display: flex;
    align-items: flex-end;
    padding-bottom: 5px;
}

.cpc-field-actions-address {
    margin-left: auto;
}

/* Remove Button */
.cpcl-btn-remover {
    font-family: Sinkin Sans;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    width: auto;
    min-width: auto;
    color: #642A3B !important;
    border: none !important;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
}

.cpcl-btn-remover svg {
    fill: #642A3B !important;
}

.cpcl-btn-remover:hover {
    color: #FF6A00 !important;
}

.cpcl-btn-remover:hover svg {
    fill: #FF6A00 !important;
}

.cpcl-btn-remover svg {
    width: 16px;
    height: 16px;
}

/* Field Group - Groups related fields together */
.cpc-field-group {
    margin-bottom: 20px;
}

.cpc-field-group .cpc-field-row {
    margin-bottom: 20px;
}

.cpc-field-group #additional-emails-container,
.cpc-field-group #additional-phones-container,
.cpc-field-group #additional-addresses-container {
    margin-bottom: 0;
}

/* Add Field Container */
.cpc-add-field-container {
    margin-top: 15px;
    margin-bottom: 10px;
}

/* Add Field Button Style */
.cpc-btn-add-field {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #642A3B !important;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
    font-family: Sinkin Sans;
    width: auto;
    min-width: auto;
}

.cpc-btn-add-field:hover {
    color: #FF6A00 !important;
    box-shadow: 0 2px 10px rgba(255, 106, 0, 0.2);
}

.cpc-btn-add-field:active {
    transform: translateY(0);
}

.cpc-btn-add-field svg,
.cpc-btn-add-field i {
    width: 16px;
    height: 16px;
    font-size: 16px;
    color: currentColor;
    fill: currentColor;
    flex-shrink: 0;
}

/* Additional Fields */
.cpc-additional-field {
    animation: slideIn 0.3s ease;
}

/* Ensure remove button in additional fields looks the same */
.cpc-additional-field .cpcl-btn-remover {
    display: inline-flex;
    align-items: center;
    position: static;
    transform: none;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Submit Button */
.cpc-form-actions {
    text-align: center;
    margin-top: 40px;
}

.cpc-edit-profile-submit {
    background: #F48120 !important;
    color: white;
    border: none;
    padding: 16px 60px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 1px;
}

.cpc-edit-profile-submit:hover {
    background: #FF6A00;
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(255, 106, 0, 0.3);
}

.cpc-edit-profile-submit:active {
    transform: translateY(0);
}

/* Messages */
.cpc-form-messages {
    margin-top: 20px;
    text-align: center;
}

.cpc-success-message {
    color: #4CAF50;
    background: #E8F5E9;
    padding: 12px 20px;
    border-radius: 8px;
    margin-top: 20px;
}

.cpc-error-message {
    color: #F44336;
    background: #FFEBEE;
    padding: 12px 20px;
    border-radius: 8px;
    margin-top: 20px;
}

/* Validation States */
.cpc-field-edit-input.error {
    border-color: #F44336;
}

/* Loading states */
.cpc-field-edit-input.cpc-loading {
    background-color: #f5f5f5;
    position: relative;
    /* Remove any animation from the input itself */
    animation: none !important;
}

.cpc-field-edit-input.cpc-field-disabled {
    background-color: #f9f9f9;
    cursor: not-allowed;
    opacity: 0.7;
}

.cpc-cep-loading {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 5px;
    color: #FF6A00;
    font-size: 12px;
    font-weight: 500;
    pointer-events: none;
    z-index: 10;
}

.cpc-field {
    position: relative;
}

.cpc-spinner {
    animation: cpc-spin-icon 1s linear infinite;
    color: #FF6A00;
}

@keyframes cpc-spin-icon {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Field messages */
.cpc-field-message {
    display: block;
    font-size: 12px;
    margin-top: 5px;
    padding: 5px 10px;
    border-radius: 4px;
    animation: fadeIn 0.3s ease;
}

.cpc-field-error {
    color: #d32f2f;
    background-color: #ffebee;
    border: 1px solid #ffcdd2;
}

.cpc-field-success {
    color: #388e3c;
    background-color: #e8f5e9;
    border: 1px solid #c8e6c9;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .cpc-field-row {
        flex-direction: column;
    }
    
    .cpc-field {
        min-width: 100%;
    }
    
    .cpc-field-tipo,
    .cpc-field-cpf,
    .cpc-field-tipo-endereco,
    .cpc-field-cep,
    .cpc-field-numero,
    .cpc-field-complemento,
    .cpc-field-estado {
        max-width: 100%;
    }
    
    .cpc-section {
        padding: 20px;
    }
    
    .cpc-edit-profile-submit {
        width: 100%;
        padding: 14px 30px;
    }
}

/* Loading State for forms */
.cpc-edit-profile-form.cpc-loading {
    position: relative;
    opacity: 0.8;
    pointer-events: none;
}

.cpc-edit-profile-form.cpc-loading::after {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    border: 4px solid rgba(255, 106, 0, 0.3);
    border-radius: 50%;
    border-top-color: #FF6A00;
    animation: cpc-form-spin 1s linear infinite;
    z-index: 9999;
}

@keyframes cpc-form-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Ensure inputs with cpc-loading class don't rotate */
.cpc-field-edit-input.cpc-loading {
    transform: none !important;
    animation: none !important;
}

/* Password toggle styles */
.cpc-password-field {
    position: relative;
}

.cpc-password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #666;
    transition: color 0.3s ease;
    background: none;
    border: none;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cpc-password-toggle:hover {
    color: #FF6A00;
}

.cpc-password-toggle svg {
    width: 20px;
    height: 20px;
}

.cpc-field-password input {
    padding-right: 45px;
}