/* auth.css v7 - Versão melhorada com responsividade */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Nunito Sans', sans-serif; background:#f5f5f5; color:#333; }
.container { max-width:1280px; margin:0 auto; width:100%; overflow-x:hidden; }
.header { background:#ff8000; display:flex; justify-content:space-between; align-items:center; padding:0.5rem 1rem; flex-wrap:wrap; }
.header-profile-left { display:none; }
.header-profile-center { flex:1; text-align:center; min-width:120px; }
.header-profile-right { display:flex; align-items:center; }
.header-profile-phones, .header-profile-links { display:flex; align-items:center; gap:1rem; }
.header-profile-phones-item { display:flex; flex-direction:column; }
.header-profile-phones-item-text, .header-profile-phones-item-number { color:#fff; font-size:0.875rem; }
.header-profile-links .icon { filter: invert(1); width:24px; height:24px; }
.menu-nav { background:#fff; border-bottom:1px solid #ddd; overflow-x:auto; }
.menu-nav-links { list-style:none; display:flex; gap:1.5rem; justify-content:center; padding:0.5rem 0; min-width:480px; }
.menu-nav-links li a { color:#333; text-decoration:none; font-weight:500; font-size:0.875rem; white-space:nowrap; }
.content { display:flex; justify-content:center; padding:1rem; gap:2rem; flex-wrap:wrap; }
.container-webmail-login { flex:1 1 320px; max-width:320px; border:1px solid #eb6100; border-radius:4px; background:#fff; padding:1.5rem; margin:0 auto; }
.header-webmail-login { font-size:1.25rem; margin-bottom:1rem; }
.email-header-webmail-login, .password-header-webmail-login { font-weight:600; margin-bottom:0.5rem; }
.email-input-webmail-login, .password-input-webmail-login { width:100%; padding:0.5rem; border:1px solid #ccc; border-radius:4px; margin-bottom:0.5rem; }
.password-wraper-container { position:relative; }
.password-input-eye-webmail-login { position:absolute; top:50%; transform:translateY(-50%); right:0.5rem; width:1rem; cursor:pointer; }
.forgot-password-webmail-login { display:block; text-align:right; color:#eb6100; text-decoration:none; font-size:0.875rem; margin-bottom:1rem; }
.submit-button-webmail-login { width:100%; padding:0.75rem; background:#eb6100; color:#fff; border:none; border-radius:4px; font-size:1rem; cursor:pointer; transition:background 0.3s ease; }
.submit-button-webmail-login:hover { background:#d55500; }
.container-webmail-info { flex:1 1 618px; max-width:618px; }
.welcome-message { border:1px solid #0073e6; border-radius:4px; background:#fff; padding:1rem; margin-bottom:1rem; }
.welcome-message-link { display:inline-block; margin-top:0.5rem; padding:0.5rem 1rem; background:#0073e6; color:#fff; border-radius:4px; text-decoration:none; transition:background 0.3s ease; }
.welcome-message-link:hover { background:#0060c0; }
.banner-desk, .banner-mob { margin-bottom:1rem; }
#banner-slider-wrapper, #banner-slider-wrapper-mob { position:relative; }
#banner-slider-wrapper ul, #banner-slider-wrapper-mob ul { list-style:none; padding:0; margin:0; display:flex; overflow:hidden; }
#banner-slider-wrapper li, #banner-slider-wrapper-mob li { flex:none; width:100%; }
#banner-slider-wrapper img { width:100%; max-width:618px; height:auto; max-height:226px; object-fit:cover; }
#banner-slider-wrapper-mob img { width:100%; max-width:300px; height:auto; max-height:250px; object-fit:cover; }
.banner-pagination { display:flex; justify-content:center; gap:0.5rem; margin-top:0.5rem; }
.banner-pagination li { width:8px; height:8px; background:#ccc; border-radius:50%; cursor:pointer; }
.banner-pagination li.active { background:#ff8000; }
.banner-ad-label, .banner-ad-label-mob { display:block; margin-top:0.5rem; font-size:0.75rem; color:#666; }
.contact-phones { display:flex; gap:2rem; margin-top:1rem; justify-content:flex-start; flex-wrap:wrap; }
.contact-phones-item { margin-bottom:0.5rem; }
.contact-phones-item-text { margin-right:0.5rem; }
.footer-webmail-login { background:#eaeaea; text-align:center; padding:1rem; }
.footer-webmail-login-logo { margin-bottom:0.5rem; }
.information-footer-webmail-login p { font-size:0.75rem; color:#333; margin:0.25rem 0; }
.footer-webmail-login-social { list-style:none; display:flex; justify-content:center; gap:1rem; margin-top:0.5rem; }
.footer-webmail-login-social img { width:24px; height:24px; }

/* Estilos para modal e overlay */
#loading-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.8); z-index:9998; align-items:center; justify-content:center; }
#loading-overlay.active { display:flex; }
#loading-overlay .spinner { width:50px; height:50px; border:6px solid #ccc; border-top-color:#ff6200; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

#expired-modal { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center; font-family:'Nunito Sans',sans-serif; }
#expired-modal.show { display:flex; }
#expired-modal .modal-box { background:#fff; padding:2rem; border-radius:8px; max-width:360px; width:90%; text-align:center; box-shadow:0 4px 12px rgba(0,0,0,0.3); }
#expired-modal h3 { margin-bottom:1rem; font-size:1.25rem; color:#333; }
#expired-modal p { margin-bottom:1.5rem; color:#555; }
#expired-modal a.btn-renovar { display:inline-block; background:#ff6200; color:#fff; text-decoration:none; padding:.75rem 1.5rem; font-size:1rem; border-radius:4px; transition:background 0.3s ease; }
#expired-modal a.btn-renovar:hover { background:#e55a00; }

/* Estilos para formulário de renovação */
.renew-container { max-width:480px; margin:2rem auto; background:#fff; padding:1.5rem; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.1); width:90%; }
.renew-container h2 { text-align:center; color:#333; margin-bottom:1rem; font-size:1.5rem; }
.form-step { display:none; }
.form-step.active { display:block; }
.form-group { margin-bottom:1rem; position:relative; }
.form-group label { display:block; margin-bottom:.5rem; color:#555; }
.form-group input, .form-group select { width:100%; padding:.6rem; border:1px solid #ccc; border-radius:4px; font-size:1rem; }
.form-row { display:flex; gap:1rem; flex-wrap:wrap; }
.form-row .form-group { flex:1 1 45%; }
.error { color:#d9534f; font-size:.9rem; display:none; margin-top:.25rem; }
.buttons { display:flex; justify-content:space-between; margin-top:1.5rem; flex-wrap:wrap; gap:0.5rem; }
.buttons button { flex:1 1 48%; padding:.6rem 1.2rem; border:none; border-radius:4px; font-size:1rem; cursor:pointer; color:#fff; transition:background 0.3s ease; }
.btn-next, .btn-submit { background:#ff6200; }
.btn-next:hover, .btn-submit:hover { background:#e55a00; }
.btn-back { background:#6c757d; }
.btn-back:hover { background:#5a6268; }

/* Media queries melhoradas */
@media(max-width:992px) {
    .container-webmail-info { max-width:100%; }
    #banner-slider-wrapper img { max-width:100%; }
}

@media(max-width:768px) {
    .content { flex-direction:column; align-items:center; }
    .menu-nav-links { justify-content:space-around; }
    .header-profile-phones { display:none; }
    .container-webmail-login { margin-bottom:1.5rem; }
    .contact-phones { justify-content:center; }
}

@media(max-width:576px) {
    .header { justify-content:center; }
    .header-profile-right { margin-top:0.5rem; width:100%; justify-content:center; }
    .header-profile-links { width:100%; justify-content:center; }
    .menu-nav { overflow-x:auto; }
    .menu-nav-links { padding:0.5rem; }
    .container-webmail-login { max-width:100%; }
    .form-row .form-group { flex:1 1 100%; }
    .buttons button { flex:1 1 100%; margin-bottom:0.5rem; }
    .buttons button:last-child { margin-bottom:0; }
    .progress-step { font-size:0.8rem; }
    .progress-steps { margin-bottom:1rem; }
    .step-number { width:24px; height:24px; line-height:24px; font-size:0.8rem; }
    .renew-container { padding:1rem; }
}

@media(max-width:375px) {
    .header-profile-center { min-width:100px; }
    .header-profile-logo { width:70px; height:auto; }
    .menu-nav-links li a { font-size:0.75rem; }
    .header-webmail-login { font-size:1.1rem; }
    .footer-webmail-login-social { gap:0.5rem; }
}
