@media (min-width: 360px) {
    .ajustaInputTextComBotao {
        margin-left: -7px;
        margin-top: 20px;
    }

    .botaoInputText {
        zoom: 100%;
    }
}

@media (min-width: 640px) {
    .ajustaInputTextComBotao {
        margin-left: -7px;
        margin-top: -7px;
    }

    .botaoInputText {
        zoom: 80%;
        margin-top: -9px;
    }
}

.centro {
    width: 100px;
    height: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
}

body {
    font-family: sans-serif;
    background-color: #eeeeee;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, .8);
    background-image: url('/Voti-1.0.7/resources/ultima-layout/images/Aguarde.gif');
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .login-body-voti {
        /*background: url("/Voti-1.0.7/javax.faces.resource/images/login/login2x.png.xhtml?ln=ultima-layout") top left repeat;*/
        /*background-size: auto 100%;*/
    }

    .login-body-novo-cliente-voti {
        background: url("/Voti-1.0.7/javax.faces.resource/images/login/fundo_novo_cliente.jpg.xhtml?ln=ultima-layout") top left repeat;
    !important;
        background-size: auto 100%;
    }

    .pricing-body {
        /*background: url("/Voti-1.0.7/javax.faces.resource/images/login/fundo_novo_cliente.jpg.xhtml?ln=ultima-layout") top left repeat;*/
        background-size: auto 100%;
    }
}

.login-body-voti {
    /*background: url("https://voti.s3.sa-east-1.amazonaws.com/Empresa32/login-imagens/background-login.jpeg") top left repeat;*/
    background: url("https://voti.s3.sa-east-1.amazonaws.com/Empresa32/login-imagens/background-login.jpeg?v=1") top left repeat;
!important;
    /*height: 100%;
    width: 100%;
    background-size: 100% 100%;*/
    -webkit-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    -khtml-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
}

.login-body-novo-cliente-voti {
    background: url("/Voti-1.0.7/javax.faces.resource/images/login/fundo_novo_cliente.jpg.xhtml?ln=ultima-layout") top left repeat;
!important;
    height: 100%;
    width: 100%;
    /*background-size:100% 100%;*/
    -webkit-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    -khtml-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
}

/* When the body has the loading class, we turn
 * the scrollbar off with overflow:hidden
*/
body.loading {
    overflow: hidden;
}

/* Anytime the body has the loading class, our
 * modal element will be visible
*/
body.loading .modal {
    display: block;
}

.file-upload {
    background-color: #ffffff;
    width: 600px;
    margin: 0 auto;
    padding: 20px;
}

.file-upload-btn {
    width: 100%;
    margin: 0;
    color: #fff;
    background: #1FB264;
    border: none;
    padding: 10px;
    border-radius: 4px;
    border-bottom: 4px solid #15824B;
    transition: all .2s ease;
    outline: none;
    text-transform: uppercase;
    font-weight: 700;
}

.file-upload-btn:hover {
    background: #1AA059;
    color: #ffffff;
    transition: all .2s ease;
    cursor: pointer;
}

.file-upload-btn:active {
    border: 0;
    transition: all .2s ease;
}

.file-upload-content {
    display: none;
    text-align: center;
}

.file-upload-input {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    outline: none;
    opacity: 0;
    cursor: pointer;
}

.image-upload-wrap {
    margin-top: 20px;
    border: 4px dashed #1FB264;
    position: relative;
}

.image-dropping,
.image-upload-wrap:hover {
    background-color: #1FB264;
    border: 4px dashed #ffffff;
}

.image-title-wrap {
    padding: 0 15px 15px 15px;
    color: #222;
}

.drag-text {
    text-align: center;
}

.drag-text h3 {
    font-weight: 100;
    text-transform: uppercase;
    color: #15824B;
    padding: 60px 0;
}

.file-upload-image {
    max-height: 200px;
    max-width: 200px;
    margin: auto;
    padding: 20px;
}

.remove-image {
    width: 200px;
    margin: 0;
    color: #fff;
    background: #cd4535;
    border: none;
    padding: 10px;
    border-radius: 4px;
    border-bottom: 4px solid #b02818;
    transition: all .2s ease;
    outline: none;
    text-transform: uppercase;
    font-weight: 700;
}

.remove-image:hover {
    background: #c13b2a;
    color: #ffffff;
    transition: all .2s ease;
    cursor: pointer;
}

.remove-image:active {
    border: 0;
    transition: all .2s ease;
}


.background-principal {
    width: 100%;
    min-height: 400px;
    background: url("/Voti-1.0.7/javax.faces.resource/images/login/fundo_novo_cliente.jpg.xhtml?ln=ultima-layout") top left no-repeat !important;
    background-size: 100% auto;
}

.ui-fluid .ui-inputtext[size], .ui-fluid .ui-inputfield[size] {
    width: 100% !important;
}

.ui-fluid .ui-inputtext[size] .width-pad, .ui-fluid .ui-inputfield[size] {
    width: 99% !important;
}

body.layout-compact .pad-texto .ui-inputfield {
    padding-left: 22px !important;
    margin-left: 6px;
}

@media (max-height: 768px) {
    .ui-dialog {
        margin-top: -130px !important;
    }
}

.iconeWhatsApp {
    position: fixed;
    width: 70px;
    height: 70px;
    bottom: 40px;
    right: 40px;
    z-index: 1000;
}

.disbledRow {
    background-color: #F0FFFF !important;
}

.botaoPersonalizadoVoti {
    background: rgb(244, 134, 88);
    background: linear-gradient(90deg, rgba(244, 134, 88, 1) 0%, rgba(241, 108, 121, 1) 99%);
}

.label-input-padrao {
    margin-top: -20px;
    text-align: left !important;
    font-size: 12px;
    color: #607D8B;
}
ui-button,
.btn {
    transition: transform .18s cubic-bezier(.4,2,.3,1);
}

.ui-button:hover,
.btn:hover {
    transform: translateY(-3px) scale(1.04);
}

/* SelectBooleanButton green-btn: ON state green, OFF state red */
body .ui-selectbooleanbutton.green-btn {
    background: #ef4444 !important; /* red for OFF */
    border-color: #ef4444 !important;
    color: #fff !important;
    transition: background 0.2s, border-color 0.2s;
}
body .ui-selectbooleanbutton.green-btn .ui-button-text {
    color: #fff !important;
}
body .ui-selectbooleanbutton.green-btn.ui-state-hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}
body .ui-selectbooleanbutton.green-btn.ui-state-focus {
    box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25);
}
body .ui-selectbooleanbutton.green-btn.ui-state-active {
    background: #22c55e !important; /* green for ON */
    border-color: #22c55e !important;
    color: #fff !important;
}
body .ui-selectbooleanbutton.green-btn.ui-state-active .ui-button-text {
    color: #fff !important;
}
body .ui-selectbooleanbutton.green-btn.ui-state-active.ui-state-hover {
    background: #1fb553 !important;
    border-color: #1fb553 !important;
}
body .ui-selectbooleanbutton.green-btn.ui-state-active.ui-state-focus {
    box-shadow: 0 0 0 0.2rem rgba(34, 197, 94, 0.25);
}

.yellow-btn,
.ui-button.yellow-btn {
    background: linear-gradient(90deg, #FFC107, #FF9800);
    color: white !important;
    border-radius: 2px;
    padding: 10px 16px;
    border: 0;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(255, 152, 0, 0.08);
    transition: transform .18s cubic-bezier(.4,2,.3,1), box-shadow .18s cubic-bezier(.4,2,.3,1), opacity .18s cubic-bezier(.4,2,.3,1);
    animation: btnPulseYellow 2.2s infinite cubic-bezier(.4,2,.3,1);
}

.yellow-btn:hover,
.ui-button.yellow-btn:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 18px 46px rgba(255, 184, 77, 0.18);
    opacity: 0.92;
}

.yellow-btn:active,
.ui-button.yellow-btn:active {
    transform: translateY(0);
}

.yellow-btn.ui-state-focus,
.ui-button.yellow-btn.ui-state-focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 184, 77, 0.18);
}

@keyframes btnPulseYellow {
    0% { box-shadow: 0 10px 30px rgba(255,152,0,0.08); }
    50% { box-shadow: 0 18px 46px rgba(255,184,77,0.18); }
    100% { box-shadow: 0 10px 30px rgba(255,152,0,0.08); }
}

body .ui-selectbooleanbutton.yellow-btn {
    background: #FF9800 !important;
    border-color: #FF9800 !important;
    color: #ffffff !important;
}
body .ui-selectbooleanbutton.yellow-btn.ui-state-active {
    background: #FFC107 !important;
    border-color: #FF9800 !important;
}

/*
 * Split custom (h:link + menubutton): alinha ao split PrimeFaces e anula
 * .ui-fluid .ui-splitbutton .ui-button { width: 100% } na célula da grid.
 */
.ui-splitbutton.pf-oval-btn.pf-edit {
    display: inline-flex;
    flex-direction: row;
    align-items: stretch;
    max-width: 100%;
    vertical-align: middle;
}

.ui-fluid .ui-splitbutton.pf-oval-btn.pf-edit {
    width: auto !important;
}

.ui-fluid .ui-splitbutton.pf-oval-btn.pf-edit > a.ui-button,
.ui-fluid .ui-splitbutton.pf-oval-btn.pf-edit > .ui-button.ui-splitbutton-menubutton {
    width: auto !important;
}

.ui-splitbutton.pf-oval-btn.pf-edit > a.ui-button {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    text-decoration: none;
}

.ui-splitbutton.pf-oval-btn.pf-edit > .ui-button.ui-splitbutton-menubutton {
    flex: 0 0 auto;
}

/* ── Auditoria do Produto: botão Fechar – escopo isolado ── */
.dlg-auditoria-produto .ui-dialog-footer {
    text-align: center !important;
}
.dlg-auditoria-produto .ui-dialog-footer .ui-button {
    width: auto !important;
}
.dlg-auditoria-produto .ui-dialog-footer .ui-button .ui-button-text {
    height: 20px !important;
    line-height: 15px !important;
}
.dlg-auditoria-produto .ui-dialog-footer .ui-button .ui-button-icon-left {
    color: #ffffff !important;
}

/*
 * FIX PF8: botao "+" (ui-icon-add-circle) dos dialogs de quitacao ficava
 * sobreposto ao texto do input apos migracao PF 6.2 -> 8.0 porque a estrutura
 * DOM do p:autoComplete mudou e o "margin-left: -99.5%" inline parou de bater
 * com a borda esquerda do label flutuante.
 *
 * Forca o .md-inputfield a ser position:relative e reposiciona o icone "+"
 * fixo no canto superior esquerdo (junto do label), sobrescrevendo o
 * margin-left inline com !important.
 */
.md-inputfield {
    position: relative;
}
.md-inputfield > a.ui-icon-add-circle,
.md-inputfield > .ui-commandlink.ui-icon-add-circle {
    position: absolute !important;
    left: 0 !important;
    top: -2px !important;
    margin-left: 0 !important;
    z-index: 5;
    color: #4CAF50 !important;
    font-size: 16px;
    line-height: 1;
}

/*
 * FIX PF8: overlay global do jQuery UI Datepicker (#ui-datepicker-div) e o
 * panel do p:calendar (.ui-datepicker) precisam ficar acima de dialogs modais
 * (z-index padrao do p:dialog e 1041). Sem isso o cabecalho do calendario
 * fica visualmente "cortado" por outros overlays na mesma area.
 */
#ui-datepicker-div,
.ui-datepicker:not(.ui-datepicker-inline) {
    z-index: 99999 !important;
}

