.elementor-404 .elementor-element.elementor-element-39bbe44.elementor-element{--align-self:stretch;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-row{margin-top:0px;margin-bottom:24px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__label{text-align:left;font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;line-height:160%;letter-spacing:-1%;color:#1D1D1D;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__label .jet-form-builder__required{color:#B9B9B9;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__desc{text-align:left;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:160%;letter-spacing:-1%;color:#5F5F5F;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__fields-group{gap:8px 0px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap label{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;line-height:160%;letter-spacing:-1%;color:#000000;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap span::before{font-size:14px;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E4E4E4;border-radius:2px 2px 2px 2px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap label :not(:disabled):not(:checked):hover + span::before{border-style:solid;border-width:2px 2px 2px 2px;border-color:#DADADA;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap label :focus:not(:checked) + span::before{border-style:solid;border-width:2px 2px 2px 2px;border-color:#000000;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field-wrap label :checked + span::before{border-style:solid;border-width:1px 1px 1px 1px;border-color:#000000;background-color:#000000;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field:not(.checkradio-field):not(.range-field):not(.jet-form-builder-repeater):not(.wysiwyg-field):not([role="switch"]){font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;line-height:160%;letter-spacing:-2%;color:#000000;background-color:#FFFFFF;padding:12px 16px 12px 16px;margin:12px 0px 0px 0px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E4E4E4;border-radius:10px 10px 10px 10px;box-shadow:0px 2px 0px 0px rgba(228, 228, 228, 0.4);}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder ::-webkit-input-placeholder{color:#929292;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder ::-ms-input-placeholder{color:#929292;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder ::-moz-placeholder{color:#929292;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder :-moz-placeholder{color:#929292;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__field.textarea-field{height:96px;min-height:96px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder input{color-scheme:normal;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar .jet-apb-calendar-content{width:100%;min-width:100%;flex:0 0 100%;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar-header{color:#5F5F5F;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:160%;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar-week span{font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:160%;letter-spacing:-2%;color:#313131;padding-top:calc(32px / 2);padding-bottom:calc(32px / 2);}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar-body{font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;line-height:150%;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-slot{font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:160%;letter-spacing:-2%;color:#929292;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-slot.jet-apb-slot--selected{color:#1D1D1D;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar-slots__close{font-size:35px;top:10px;right:10px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-calendar-appointments-list-wrapper .jet-form-builder__label-text{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:160%;color:#5F5F5F;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder .jet-apb-item-time, .jet-apb-item-date{margin:0px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:160%;color:#1D1D1D;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__action-button{background-color:#000000;color:#FFFFFF;transition:all 0.3s;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:160%;letter-spacing:-1%;padding:12px 24px 12px 24px;margin:0px 0px 0px 0px;border-style:none;border-radius:48px 48px 48px 48px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__action-button:hover{background-color:#1A1A1A;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__submit-wrap{justify-content:stretch;align-items:stretch;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__submit-wrap > .jet-form-builder__submit{width:100%;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__submit{justify-content:center;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__next-page-wrap{text-align:left;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__next-page{padding:12px 12px 12px 12px;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:160%;border-style:none;border-radius:120px 120px 120px 120px;color:#FFFFFF;background-color:#000000;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-row .jet-form-builder__action-button-wrapper[data-type="next"]{justify-content:center;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__next-page:hover{background-color:#1D1D1D;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__prev-page{margin:0px 8px 0px 0px;padding:11px 32px 11px 32px;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:160%;border-style:solid;border-width:2px 2px 2px 2px;border-color:#F2F2F2;border-radius:120px 120px 120px 120px;color:#5F5F5F;background-color:#FFFFFF;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-row .jet-form-builder__action-button-wrapper[data-type="prev"]{justify-content:flex-start;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder__prev-page:hover{color:#2A2A2A;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-message--success{margin:0px 0px 0px 0px;padding:6px 6px 6px 6px;text-align:center;font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;background-color:#E1FFD7;border-style:none;border-radius:32px 32px 32px 32px;}.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-message--error{margin:0px 0px 0px 0px;padding:10px 8px 8px 14px;text-align:left;font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;line-height:160%;color:#C40040;background-color:#FFECEF;border-style:solid;border-width:0px 0px 0px 2px;border-color:#C40040;border-radius:2px 2px 2px 2px;}html.elementor-html{position:relative;}html.elementor-html::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin-right:auto;margin-left:auto;pointer-events:none;z-index:9000;min-height:100vh;} html.elementor-html::before{width:calc(100% - (2 * 0px));max-width:1200px;background-size:calc(100% + 14px) 100%;background-image:repeating-linear-gradient( to right, #6A01FE0D, #6A01FE0D calc((100% / 12) - 14px), transparent calc((100% / 12) - 14px), transparent calc(100% / 12) );}/* Start custom CSS for jet-form-builder-form, class: .elementor-element-39bbe44 */.elementor-404 .elementor-element.elementor-element-39bbe44 .jet-form-builder-message--success {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   AGENDAMENTO — PARTE 1: CALENDÁRIO (estrutura, dias e horários)
   ========================================================= */
/* =========================================
   1. ESTRUTURA E HORÁRIOS
========================================= */
.jet-apb-calendar-body {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
}

.jet-apb-calendar-slots:not(.jet-apb-calendar-slots--active) {
    display: none !important;
}

.jet-apb-calendar-slots.jet-apb-calendar-slots--active {
    width: 100% !important;
    max-width: 100% !important;
    order: 99 !important;
    margin-top: 32px;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
}

.jet-apb-calendar-slots__close {
    display: none !important;
}

/* =========================================
   2. HOVER E SELECIONADO: DIAS DO CALENDÁRIO (ALINHADO E CORRETO)
========================================= */
.jet-apb-calendar-body {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    width: 100% !important;
}

.jet-apb-calendar-date {
    /* Força cada dia a ocupar exatamente 1/7 da largura, garantindo colunas perfeitamente verticais */
    flex: 0 0 calc(14.2857% - 3.43px) !important;
    max-width: calc(14.2857% - 3.43px) !important;
    box-sizing: border-box !important;
}

.jet-apb-calendar-date-body {
    padding: 8px 0px 8px 0px !important;
    text-align: center !important;
}

.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body,
.jet-apb-calendar-date--disabled {
    text-decoration: none !important;
    opacity: 1 !important;
    color: #C8C8C8 !important;
}
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body::after,
.jet-apb-calendar-date--disabled::after {
    display: none !important;
}

.jet-apb-calendar-date:not(.jet-apb-calendar-date--disabled):not(.jet-apb-calendar-date--selected) .jet-apb-calendar-date-body:hover {
    background-color: #F2F2F2;
    border-radius: 8px;
    cursor: pointer;
}

.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background-color: #1D1D1D !important;
    color: #FFFFFF !important;
    border-radius: 8px;
}

.jet-apb-calendar-date--today .jet-apb-calendar-date-body {
    position: relative !important;
}

.jet-apb-calendar-date--today .jet-apb-calendar-date-body::after {
    content: "" !important;
    position: absolute !important;
    bottom: 2px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 3px !important;
    height: 3px !important;
    background-color: #787878 !important;
    border-radius: 50% !important;
    display: block !important;
}

/* =========================================
   3. HOVER E SELECIONADO: HORÁRIOS (GRID DE 7 COLUNAS COM LARGURA TOTAL)
========================================= */
.jet-apb-calendar-slots-container {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jet-apb-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    padding: 4px 0px !important;
    margin: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 8px;
    transition: all 0.2s ease;
    text-align: center !important;
    box-sizing: border-box !important;
}

.jet-apb-slot:not(.jet-apb-slot--selected):hover {
    background-color: #fff;
    border-radius: 8px;
    border: 2px solid #E4E4E4 !important;
    color: #484848 !important;
    cursor: pointer;
}

.jet-apb-slot.jet-apb-slot--selected {
    border: 2px solid #1D1D1D !important;
    background-color: transparent !important;
    border-radius: 8px;
}

@media (max-width: 767px) {
    /* Altera o container dos horários para exibir exatamente 5 colunas no mobile */
    .jet-apb-calendar-slots-container {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}


/* =========================================================
   AGENDAMENTO — PARTE 2: RESUMO DO HORÁRIO ESCOLHIDO
   ========================================================= */
.jet-apb-calendar-appointments-list-wrapper {
    border-top: 1px solid #E4E4E4;
    padding-top: 38px;
    padding-bottom: 0 !important;
    margin-top: 40px;
    width: 100%;
}

.jet-apb-calendar-appointments-list,
.jet-apb-appointments-item,
.jet-apb-appointments-item-content {
    padding-left: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
}

.jet-apb-item-service-provider {
    display: none !important;
}

.jet-apb-item-time {
    display: inline-block !important;
}


/* =========================================================
   AGENDAMENTO — PARTE 3: SETAS DO CALENDÁRIO (mês anterior e próximo)
   ========================================================= */
/* --- SETAS DO CABEÇALHO DO CALENDÁRIO --- */
.jet-apb-calendar-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.jet-apb-calendar-btn svg {
    width: 34px !important;
    height: 34px !important;
    max-width: none !important;
    max-height: none !important;
}

.jet-apb-calendar-btn[data-calendar-toggle="previous"] svg {
    background: url("https://masign.com.br/wp-content/uploads/2026/09/arrow-esq.svg") no-repeat center center !important;
    background-size: contain !important;
}
.jet-apb-calendar-btn[data-calendar-toggle="previous"] svg path {
    display: none !important;
}

.jet-apb-calendar-btn[data-calendar-toggle="next"] svg {
    background: url("https://masign.com.br/wp-content/uploads/2026/09/arrow-dir.svg") no-repeat center center !important;
    background-size: contain !important;
}
.jet-apb-calendar-btn[data-calendar-toggle="next"] svg path {
    display: none !important;
}


/* =========================================================
   AGENDAMENTO — PARTE 4: CALENDÁRIO OCUPA O ESPAÇO DA PÁGINA 1
   ========================================================= */
/* Seletor específico para o calendário na página 1 poder ocupar o espaço, sem afetar os inputs da página 2 */
.jet-form-builder-page .jet-form-builder-row.field-type-appointment_date {
    flex-grow: 1 !important;
}


/* =========================================================
   AGENDAMENTO — PARTE 5: BOTÃO E RESUMO SÓ APARECEM DEPOIS DE ESCOLHER UM HORÁRIO
   (depende do script do calendário, que coloca a classe masign-horario-selecionado)
   ========================================================= */
.jet-form-builder__next-page-wrap {
    display: none !important;
    opacity: 0;
}

body.masign-horario-selecionado .jet-form-builder__next-page-wrap {
    display: block !important;
    opacity: 1;
}

.jet-apb-calendar-appointments-list-wrapper {
    display: none !important;
    opacity: 0;
}

body.masign-horario-selecionado .jet-apb-calendar-appointments-list-wrapper {
    display: flex !important;
    opacity: 1;
}


/* =========================================================
   AGENDAMENTO — PARTE 6: FADE DOS HORÁRIOS, DO RESUMO E DO BOTÃO
   ========================================================= */
/* Horários: Fade In puro de 1 segundo */
.jet-apb-calendar-slots.jet-apb-calendar-slots--active .jet-apb-slot {
    animation: masignFadeInPure 1s ease forwards !important;
}

@keyframes masignFadeInPure {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Resumo do agendamento e Botão Continuar: Fade In suave de 1 segundo */
body.masign-horario-selecionado .jet-apb-calendar-appointments-list-wrapper,
body.masign-horario-selecionado .jet-form-builder__next-page-wrap {
    animation: masignFadeInPure 1s ease forwards !important;
}

.jet-apb-calendar-appointments-list-wrapper,
.jet-form-builder__next-page-wrap {
    opacity: 0;
}/* End custom CSS */