.elementor-17901 .elementor-element.elementor-element-f8f16b5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:25px;--padding-left:50px;--padding-right:50px;}.elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__link{background-color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:600;color:var( --e-global-color-text );padding:7px 7px 7px 7px;border-radius:10px 10px 10px 10px;}.elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__link:hover{background-color:var( --e-global-color-22eed2d );color:var( --e-global-color-text );}.elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__icon{color:var( --e-global-color-primary );font-size:20px;}.elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__icon :is(svg, path){fill:var( --e-global-color-primary );}body:not(.rtl) .elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__icon{margin-right:7px;}body.rtl .elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__icon{margin-left:7px;}.elementor-17901 .elementor-element.elementor-element-b814fe0 .jet-listing-dynamic-terms__delimiter{font-size:10px;margin-left:4px;}.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field__content{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:800;text-align:center;}.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field{justify-content:center;}.elementor-17901 .elementor-element.elementor-element-3b61715{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-17901 .elementor-element.elementor-element-2d1ac31{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-17901 .elementor-element.elementor-element-2d1ac31:not(.elementor-motion-effects-element-type-background), .elementor-17901 .elementor-element.elementor-element-2d1ac31 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d1bc259 );}.elementor-17901 .elementor-element.elementor-element-8cde051 > .elementor-widget-container{background-color:var( --e-global-color-text );padding:50px 50px 50px 50px;border-radius:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-8cde051 .jet-listing-dynamic-field__content{line-height:35px;text-align:left;}.elementor-17901 .elementor-element.elementor-element-8cde051 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-17901 .elementor-element.elementor-element-8cde051 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-17901 .elementor-element.elementor-element-8cde051 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-17901 .elementor-element.elementor-element-6875f8f > .elementor-widget-container{background-color:var( --e-global-color-text );padding:50px 50px 50px 50px;border-radius:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-6875f8f .jet-listing-dynamic-field__content{line-height:35px;text-align:left;}.elementor-17901 .elementor-element.elementor-element-6875f8f .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-17901 .elementor-element.elementor-element-6875f8f .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-17901 .elementor-element.elementor-element-6875f8f .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-17901 .elementor-element.elementor-element-23e6533 > .elementor-widget-container{background-color:var( --e-global-color-text );padding:50px 50px 50px 50px;border-radius:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-23e6533 .jet-listing-dynamic-field__content{line-height:35px;text-align:left;}.elementor-17901 .elementor-element.elementor-element-23e6533 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-17901 .elementor-element.elementor-element-23e6533 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-17901 .elementor-element.elementor-element-23e6533 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-17901 .elementor-element.elementor-element-37aadac{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-17901 .elementor-element.elementor-element-37aadac:not(.elementor-motion-effects-element-type-background), .elementor-17901 .elementor-element.elementor-element-37aadac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d1bc259 );}.elementor-17901 .elementor-element.elementor-element-74a72fa > .elementor-widget-container{background-color:var( --e-global-color-text );padding:50px 50px 50px 50px;border-radius:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-74a72fa .jet-listing-dynamic-field__content{line-height:35px;text-align:left;}.elementor-17901 .elementor-element.elementor-element-74a72fa .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-17901 .elementor-element.elementor-element-74a72fa .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-17901 .elementor-element.elementor-element-74a72fa .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-17901 .elementor-element.elementor-element-1e43981{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-17901 .elementor-element.elementor-element-1e43981:not(.elementor-motion-effects-element-type-background), .elementor-17901 .elementor-element.elementor-element-1e43981 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d1bc259 );}.elementor-17901 .elementor-element.elementor-element-fdb943d > .elementor-widget-container{background-color:var( --e-global-color-text );padding:50px 50px 50px 50px;border-radius:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-fdb943d .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:100%;}.elementor-17901 .elementor-element.elementor-element-fdb943d .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:100%;}.elementor-17901 .elementor-element.elementor-element-f10513b{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-17901 .elementor-element.elementor-element-f10513b:not(.elementor-motion-effects-element-type-background), .elementor-17901 .elementor-element.elementor-element-f10513b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#446CA41F;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-17901 .elementor-element.elementor-element-ebd5a9c{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;line-height:35px;color:var( --e-global-color-4e5b445 );}.elementor-17901 .elementor-element.elementor-element-e257840{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;line-height:35px;color:var( --e-global-color-4e5b445 );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button:hover, .elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button:focus{background-color:var( --e-global-color-22eed2d );color:var( --e-global-color-text );}.elementor-17901 .elementor-element.elementor-element-d58a1af > .elementor-widget-container{padding:00px 0px 0px 0px;}.elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button:hover svg, .elementor-17901 .elementor-element.elementor-element-d58a1af .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-17901 .elementor-element.elementor-element-b918a3a{--n-tabs-heading-justify-content:center;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-border-radius:15px 15px 15px 15px;--n-tabs-title-color:var( --e-global-color-primary );--n-tabs-icon-color:var( --e-global-color-primary );}.elementor-17901 .elementor-element.elementor-element-b918a3a.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-primary );border-style:none;}.elementor-17901 .elementor-element.elementor-element-b918a3a.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-17901 .elementor-element.elementor-element-b918a3a.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-primary );}.elementor-17901 .elementor-element.elementor-element-b918a3a.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:0.5px 0.5px 0.5px 0.5px;border-color:#0C1C3C;}.elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button:hover, .elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button:focus{background-color:var( --e-global-color-22eed2d );color:var( --e-global-color-text );}.elementor-17901 .elementor-element.elementor-element-0155a6f > .elementor-widget-container{padding:00px 0px 0px 0px;}.elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button-content-wrapper{flex-direction:row;}.elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button:hover svg, .elementor-17901 .elementor-element.elementor-element-0155a6f .elementor-button:focus svg{fill:var( --e-global-color-text );}@media(max-width:1024px){.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field__content{text-align:center;}}@media(max-width:767px){.elementor-17901 .elementor-element.elementor-element-7c2f1b4 .jet-listing-dynamic-field__content{font-size:24px;text-align:center;}.elementor-17901 .elementor-element.elementor-element-2d1ac31{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-17901 .elementor-element.elementor-element-8cde051 > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-6875f8f > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-23e6533 > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-37aadac{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-17901 .elementor-element.elementor-element-74a72fa > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-17901 .elementor-element.elementor-element-1e43981{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-17901 .elementor-element.elementor-element-fdb943d > .elementor-widget-container{padding:15px 15px 15px 15px;}}/* Start custom CSS for jet-listing-dynamic-field, class: .elementor-element-fdb943d *//* ===============================
   FORMULÁRIOS – ESTILO CLÍNICO
=================================*/

/* ---------- Estrutura geral ---------- */
.jet-form-builder {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Linhas e campos */
.jet-form-builder-row,
.jet-form-builder .field-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
}

/* ===============================
   LABELS E HEADINGS
=================================*/

/* Labels de campos (text, radio, checkbox, select etc.) */
.jet-form-builder__label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Heading field (títulos de seção) */
.jet-form-builder__heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0C1C3C !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

/* Espaçamento extra antes de headings */
.jet-form-builder-field-heading {
    margin-top: 28px !important;
}

/* ===============================
   CAMPOS DE ENTRADA
=================================*/

.jet-form-builder-row input,
.jet-form-builder-row select,
.jet-form-builder-row textarea {
    width: 100% !important;
    background-color: #E0EBF8 !important;
    border: 1.5px solid #C6D6EC !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

/* Placeholder */
.jet-form-builder-row input::placeholder,
.jet-form-builder-row textarea::placeholder {
    color: #5C5C5C !important;
    font-weight: 400 !important;
}

/* Focus */
.jet-form-builder-row input:focus,
.jet-form-builder-row select:focus,
.jet-form-builder-row textarea:focus {
    outline: none !important;
    border-color: #0C1C3C !important;
    background-color: #ffffff !important;
}

/* ===============================
   SELECT FIELD – AJUSTE COMPLETO
=================================*/

.jet-form-builder-row select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230C1C3C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
}

/* Options (onde o browser permitir) */
.jet-form-builder-row select option {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
}

/* ===============================
   RADIO E CHECKBOX
=================================*/

.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jet-form-builder input[type="radio"],
.jet-form-builder input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0C1C3C !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

.jet-form-builder input[type="checkbox"] {
    border-radius: 4px !important;
}

.jet-form-builder input[type="radio"]:checked::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.jet-form-builder input[type="checkbox"]:checked::after {
    content: "✓" !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -55%) !important;
}

/* Texto das opções */
.jet-form-builder .jet-form-builder-choice__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    cursor: pointer !important;
}

/* ===============================
   BOTÃO
=================================*/

.jet-form-builder__submit {
    background: #0C1C3C !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.jet-form-builder__submit:hover {
    opacity: 0.9 !important;
}

/* Centraliza botão */
.jet-form-builder__action-button.jet-form-builder__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Campo obrigatório */
.jet-form-builder__required {
    color: #d10000 !important;
    font-weight: 700 !important;
}

/* ===============================
   RANGE FIELD
=================================*/

input.jet-form-builder__field.range-field[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    background: #C6D6EC !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

input.jet-form-builder__field.range-field[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

input.jet-form-builder__field.range-field[type="range"]::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
}

/* ===============================
   DRAG & DROP / UPLOAD
=================================*/

.jet-form-builder-advanced-media__dropzone {
    width: 100% !important;
    background: #E0EBF8 !important;
    border: 2px dashed #0C1C3C !important;
    border-radius: 14px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
}

.jet-form-builder-advanced-media__dropzone:hover,
.jet-form-builder-advanced-media__dropzone.is-dragover {
    background: #ffffff !important;
}

/* Lista de arquivos */
.jet-form-builder-advanced-media__file {
    background: #ffffff !important;
    border: 1px solid #C6D6EC !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.jet-form-builder-advanced-media__file-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
}

.jet-form-builder-advanced-media__file-remove {
    background: none !important;
    border: none !important;
    color: #d10000 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* ===============================
   MENSAGENS – SUCESSO / ERRO
=================================*/

.jet-form-builder-message {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    animation: jetFadeIn 0.3s ease-in-out;
}

.jet-form-builder-message--success {
    background: #E8F3EC !important;
    border: 1.5px solid #8BC7A1 !important;
    color: #1F5E3B !important;
}

.jet-form-builder-message--error {
    background: #FBEAEA !important;
    border: 1.5px solid #E1A1A1 !important;
    color: #8A1F1F !important;
}

@keyframes jetFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =====================================================
   JET APPOINTMENT – ESTILO CLÍNICO INTEGRADO
===================================================== */

/* Estrutura geral */
.jet-apb-calendar,
.jet-apb-calendar * {
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
}

/* ===============================
   HEADER DO CALENDÁRIO
=================================*/

.jet-apb-calendar-header {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
}

.jet-apb-calendar-header__label {
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

.jet-apb-calendar-header__nav {
    color: #ffffff !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.jet-apb-calendar-header__nav:hover {
    opacity: 0.7;
}

/* ===============================
   DIAS DA SEMANA
=================================*/

.jet-apb-calendar-week-day {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
}

/* ===============================
   DIAS DO CALENDÁRIO
=================================*/

/* Remove qualquer fundo externo estranho */
.jet-apb-calendar-date {
    background: transparent !important;
    box-shadow: none !important;
}

/* Corpo do dia */
.jet-apb-calendar-date-body {
    border-radius: 12px !important;
    padding: 8px 0 !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
}

/* Dias disponíveis */
.jet-apb-calendar-date--available .jet-apb-calendar-date-body {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover elegante */
.jet-apb-calendar-date--available:hover .jet-apb-calendar-date-body {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Dia selecionado */
.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background: #0C1C3C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Dias desabilitados */
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
    color: #c2c2c2 !important;
    background: transparent !important;
}

/* ===============================
   SLOTS DE HORÁRIO
=================================*/

/* Estrutura base */
.jet-apb-slot {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1.5px solid #C6D6EC !important;
}

/* Hover */
.jet-apb-slot:hover {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Slot selecionado (classe real do plugin) */
.jet-apb-slot--selected {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Fallback se usar aria */
.jet-apb-slot[aria-pressed="true"],
.jet-apb-slot[aria-selected="true"] {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
}

/* ===============================
   BOTÃO LIMPAR (X)
=================================*/

.jet-apb-clear {
    color: #0C1C3C !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.jet-apb-clear:hover {
    opacity: 0.6 !important;
}

/* ===============================
   BLOCO DETALHES DO AGENDAMENTO
=================================*/

.jet-apb-appointment-details {
    margin-top: 20px !important;
    padding: 18px !important;
    background: #E0EBF8 !important;
    border-radius: 14px !important;
}

.jet-apb-appointment-details__title {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #0C1C3C !important;
    margin-bottom: 8px !important;
}

/* ===============================
   RESPONSIVO
=================================*/

@media (max-width: 768px) {

    .jet-apb-calendar-header {
        padding: 12px !important;
    }

    .jet-apb-slot {
        padding: 8px 10px !important;
        font-size: 14px !important;
    }
}

/* =====================================
   TRADUÇÃO FORÇADA – JET APPOINTMENT
===================================== */

/* Esconde texto original */
.jet-apb-calendar-notification-service,
.jet-apb-calendar-notification-provider,
.jet-apb-calendar-notification-service-field,
.jet-apb-calendar-notification-max-slots {
    font-size: 0 !important;
    position: relative;
}

/* Service */
.jet-apb-calendar-notification-service::after {
    content: "Por favor, selecione o serviço primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Provider */
.jet-apb-calendar-notification-provider::after {
    content: "Por favor, selecione o profissional primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Campo não configurado */
.jet-apb-calendar-notification-service-field::after {
    content: "Defina o campo de serviço para este calendário.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Máximo de agendamentos */
.jet-apb-calendar-notification-max-slots::after {
    content: "Você atingiu o número máximo de agendamentos.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* =====================================
   PAGE BREAK (MULTIPAGE FORM)
===================================== */

/* Container dos botões */
.jet-form-builder-page-break__controls {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    gap: 12px;
}

/* Botões Next e Previous */
.jet-form-builder__next-page,
.jet-form-builder__prev-page {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 22px !important;
    border-radius: 10px !important; /* menos arredondado */
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Botão Próximo (primário) */
.jet-form-builder__next-page {
    background: #0C1C3C !important;
    color: #ffffff !important;
}

/* Hover */
.jet-form-builder__next-page:hover {
    opacity: 0.9;
}

/* Botão Voltar (secundário) */
.jet-form-builder__prev-page {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover voltar */
.jet-form-builder__prev-page:hover {
    background: #d4e2f4 !important;
}

/* =================================
   ADVANCED CHOICES — PADRÃO GLOBAL
================================= */

/* Container geral */
.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada opção */
.jet-form-builder-choice--item {
    flex-grow: 1 !important; /* largura crescer */
    flex-basis: 0 !important;
    margin-top: 15px !important;
    padding: 14px 10px !important;
    text-align: center !important;
    border-radius: 10px !important;
    border: 1.5px solid #C6D6EC !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* texto */
.jet-form-builder-choice--item p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0C1C3C !important;
}

/* hover */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    border-color: #08184B !important;
}

.jet-form-builder-choice--item:hover p {
    color: #ffffff !important;
}

/* selecionado */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    border-color: #08184B !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.jet-form-builder-choice--item.is-checked p {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* foco acessibilidade */
.jet-form-builder-choice--item:focus-visible {
    outline: 2px solid #08184B !important;
    outline-offset: 2px;
}

/* =====================================
   MENSAGEM – LIMITE DE RESPOSTA ATINGIDO
===================================== */

.jet-form-limit-message.restricted_message {
    background: linear-gradient(135deg, #08184B, #0C1C3C) !important;
    color: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 18px !important;
    box-shadow: 0 6px 18px rgba(8, 24, 75, 0.25);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jetFadeIn 0.35s ease;
}

/* Ícone informativo automático */
.jet-form-limit-message.restricted_message::before {
    content: "ℹ";
    font-size: 20px;
    font-weight: 700;
    opacity: 0.9;
}

/* Links dentro da mensagem */
.jet-form-limit-message.restricted_message a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 600;
}

.jet-form-limit-message.restricted_message a:hover {
    opacity: 0.85;
}

/* ===============================
   ADVANCED CHOICES – IMAGENS
   hover azul + glow elegante
=================================*/

}

/* remove bordas da imagem */
.jet-form-builder-choice--item img {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease;
}

/* HOVER */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    box-shadow: 0 6px 16px rgba(8, 24, 75, 0.18);
}

/* leve destaque da imagem no hover */
.jet-form-builder-choice--item:hover img {
    transform: scale(1.04);
}

/* SELECIONADO */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    box-shadow: 0 8px 20px rgba(8, 24, 75, 0.28);
}

/* mantém consistência ao focar via teclado */
.jet-form-builder-choice--item:focus-visible {
    background: #08184B !important;
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-field, class: .elementor-element-fdb943d *//* ===============================
   FORMULÁRIOS – ESTILO CLÍNICO
=================================*/

/* ---------- Estrutura geral ---------- */
.jet-form-builder {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Linhas e campos */
.jet-form-builder-row,
.jet-form-builder .field-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
}

/* ===============================
   LABELS E HEADINGS
=================================*/

/* Labels de campos (text, radio, checkbox, select etc.) */
.jet-form-builder__label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Heading field (títulos de seção) */
.jet-form-builder__heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0C1C3C !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

/* Espaçamento extra antes de headings */
.jet-form-builder-field-heading {
    margin-top: 28px !important;
}

/* ===============================
   CAMPOS DE ENTRADA
=================================*/

.jet-form-builder-row input,
.jet-form-builder-row select,
.jet-form-builder-row textarea {
    width: 100% !important;
    background-color: #E0EBF8 !important;
    border: 1.5px solid #C6D6EC !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

/* Placeholder */
.jet-form-builder-row input::placeholder,
.jet-form-builder-row textarea::placeholder {
    color: #5C5C5C !important;
    font-weight: 400 !important;
}

/* Focus */
.jet-form-builder-row input:focus,
.jet-form-builder-row select:focus,
.jet-form-builder-row textarea:focus {
    outline: none !important;
    border-color: #0C1C3C !important;
    background-color: #ffffff !important;
}

/* ===============================
   SELECT FIELD – AJUSTE COMPLETO
=================================*/

.jet-form-builder-row select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230C1C3C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
}

/* Options (onde o browser permitir) */
.jet-form-builder-row select option {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
}

/* ===============================
   RADIO E CHECKBOX
=================================*/

.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jet-form-builder input[type="radio"],
.jet-form-builder input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0C1C3C !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

.jet-form-builder input[type="checkbox"] {
    border-radius: 4px !important;
}

.jet-form-builder input[type="radio"]:checked::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.jet-form-builder input[type="checkbox"]:checked::after {
    content: "✓" !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -55%) !important;
}

/* Texto das opções */
.jet-form-builder .jet-form-builder-choice__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    cursor: pointer !important;
}

/* ===============================
   BOTÃO
=================================*/

.jet-form-builder__submit {
    background: #0C1C3C !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.jet-form-builder__submit:hover {
    opacity: 0.9 !important;
}

/* Centraliza botão */
.jet-form-builder__action-button.jet-form-builder__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Campo obrigatório */
.jet-form-builder__required {
    color: #d10000 !important;
    font-weight: 700 !important;
}

/* ===============================
   RANGE FIELD
=================================*/

input.jet-form-builder__field.range-field[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    background: #C6D6EC !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

input.jet-form-builder__field.range-field[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

input.jet-form-builder__field.range-field[type="range"]::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
}

/* ===============================
   DRAG & DROP / UPLOAD
=================================*/

.jet-form-builder-advanced-media__dropzone {
    width: 100% !important;
    background: #E0EBF8 !important;
    border: 2px dashed #0C1C3C !important;
    border-radius: 14px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
}

.jet-form-builder-advanced-media__dropzone:hover,
.jet-form-builder-advanced-media__dropzone.is-dragover {
    background: #ffffff !important;
}

/* Lista de arquivos */
.jet-form-builder-advanced-media__file {
    background: #ffffff !important;
    border: 1px solid #C6D6EC !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.jet-form-builder-advanced-media__file-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
}

.jet-form-builder-advanced-media__file-remove {
    background: none !important;
    border: none !important;
    color: #d10000 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* ===============================
   MENSAGENS – SUCESSO / ERRO
=================================*/

.jet-form-builder-message {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    animation: jetFadeIn 0.3s ease-in-out;
}

.jet-form-builder-message--success {
    background: #E8F3EC !important;
    border: 1.5px solid #8BC7A1 !important;
    color: #1F5E3B !important;
}

.jet-form-builder-message--error {
    background: #FBEAEA !important;
    border: 1.5px solid #E1A1A1 !important;
    color: #8A1F1F !important;
}

@keyframes jetFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =====================================================
   JET APPOINTMENT – ESTILO CLÍNICO INTEGRADO
===================================================== */

/* Estrutura geral */
.jet-apb-calendar,
.jet-apb-calendar * {
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
}

/* ===============================
   HEADER DO CALENDÁRIO
=================================*/

.jet-apb-calendar-header {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
}

.jet-apb-calendar-header__label {
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

.jet-apb-calendar-header__nav {
    color: #ffffff !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.jet-apb-calendar-header__nav:hover {
    opacity: 0.7;
}

/* ===============================
   DIAS DA SEMANA
=================================*/

.jet-apb-calendar-week-day {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
}

/* ===============================
   DIAS DO CALENDÁRIO
=================================*/

/* Remove qualquer fundo externo estranho */
.jet-apb-calendar-date {
    background: transparent !important;
    box-shadow: none !important;
}

/* Corpo do dia */
.jet-apb-calendar-date-body {
    border-radius: 12px !important;
    padding: 8px 0 !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
}

/* Dias disponíveis */
.jet-apb-calendar-date--available .jet-apb-calendar-date-body {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover elegante */
.jet-apb-calendar-date--available:hover .jet-apb-calendar-date-body {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Dia selecionado */
.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background: #0C1C3C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Dias desabilitados */
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
    color: #c2c2c2 !important;
    background: transparent !important;
}

/* ===============================
   SLOTS DE HORÁRIO
=================================*/

/* Estrutura base */
.jet-apb-slot {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1.5px solid #C6D6EC !important;
}

/* Hover */
.jet-apb-slot:hover {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Slot selecionado (classe real do plugin) */
.jet-apb-slot--selected {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Fallback se usar aria */
.jet-apb-slot[aria-pressed="true"],
.jet-apb-slot[aria-selected="true"] {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
}

/* ===============================
   BOTÃO LIMPAR (X)
=================================*/

.jet-apb-clear {
    color: #0C1C3C !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.jet-apb-clear:hover {
    opacity: 0.6 !important;
}

/* ===============================
   BLOCO DETALHES DO AGENDAMENTO
=================================*/

.jet-apb-appointment-details {
    margin-top: 20px !important;
    padding: 18px !important;
    background: #E0EBF8 !important;
    border-radius: 14px !important;
}

.jet-apb-appointment-details__title {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #0C1C3C !important;
    margin-bottom: 8px !important;
}

/* ===============================
   RESPONSIVO
=================================*/

@media (max-width: 768px) {

    .jet-apb-calendar-header {
        padding: 12px !important;
    }

    .jet-apb-slot {
        padding: 8px 10px !important;
        font-size: 14px !important;
    }
}

/* =====================================
   TRADUÇÃO FORÇADA – JET APPOINTMENT
===================================== */

/* Esconde texto original */
.jet-apb-calendar-notification-service,
.jet-apb-calendar-notification-provider,
.jet-apb-calendar-notification-service-field,
.jet-apb-calendar-notification-max-slots {
    font-size: 0 !important;
    position: relative;
}

/* Service */
.jet-apb-calendar-notification-service::after {
    content: "Por favor, selecione o serviço primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Provider */
.jet-apb-calendar-notification-provider::after {
    content: "Por favor, selecione o profissional primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Campo não configurado */
.jet-apb-calendar-notification-service-field::after {
    content: "Defina o campo de serviço para este calendário.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Máximo de agendamentos */
.jet-apb-calendar-notification-max-slots::after {
    content: "Você atingiu o número máximo de agendamentos.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* =====================================
   PAGE BREAK (MULTIPAGE FORM)
===================================== */

/* Container dos botões */
.jet-form-builder-page-break__controls {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    gap: 12px;
}

/* Botões Next e Previous */
.jet-form-builder__next-page,
.jet-form-builder__prev-page {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 22px !important;
    border-radius: 10px !important; /* menos arredondado */
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Botão Próximo (primário) */
.jet-form-builder__next-page {
    background: #0C1C3C !important;
    color: #ffffff !important;
}

/* Hover */
.jet-form-builder__next-page:hover {
    opacity: 0.9;
}

/* Botão Voltar (secundário) */
.jet-form-builder__prev-page {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover voltar */
.jet-form-builder__prev-page:hover {
    background: #d4e2f4 !important;
}

/* =================================
   ADVANCED CHOICES — PADRÃO GLOBAL
================================= */

/* Container geral */
.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada opção */
.jet-form-builder-choice--item {
    flex-grow: 1 !important; /* largura crescer */
    flex-basis: 0 !important;
    margin-top: 15px !important;
    padding: 14px 10px !important;
    text-align: center !important;
    border-radius: 10px !important;
    border: 1.5px solid #C6D6EC !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* texto */
.jet-form-builder-choice--item p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0C1C3C !important;
}

/* hover */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    border-color: #08184B !important;
}

.jet-form-builder-choice--item:hover p {
    color: #ffffff !important;
}

/* selecionado */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    border-color: #08184B !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.jet-form-builder-choice--item.is-checked p {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* foco acessibilidade */
.jet-form-builder-choice--item:focus-visible {
    outline: 2px solid #08184B !important;
    outline-offset: 2px;
}

/* =====================================
   MENSAGEM – LIMITE DE RESPOSTA ATINGIDO
===================================== */

.jet-form-limit-message.restricted_message {
    background: linear-gradient(135deg, #08184B, #0C1C3C) !important;
    color: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 18px !important;
    box-shadow: 0 6px 18px rgba(8, 24, 75, 0.25);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jetFadeIn 0.35s ease;
}

/* Ícone informativo automático */
.jet-form-limit-message.restricted_message::before {
    content: "ℹ";
    font-size: 20px;
    font-weight: 700;
    opacity: 0.9;
}

/* Links dentro da mensagem */
.jet-form-limit-message.restricted_message a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 600;
}

.jet-form-limit-message.restricted_message a:hover {
    opacity: 0.85;
}

/* ===============================
   ADVANCED CHOICES – IMAGENS
   hover azul + glow elegante
=================================*/

}

/* remove bordas da imagem */
.jet-form-builder-choice--item img {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease;
}

/* HOVER */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    box-shadow: 0 6px 16px rgba(8, 24, 75, 0.18);
}

/* leve destaque da imagem no hover */
.jet-form-builder-choice--item:hover img {
    transform: scale(1.04);
}

/* SELECIONADO */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    box-shadow: 0 8px 20px rgba(8, 24, 75, 0.28);
}

/* mantém consistência ao focar via teclado */
.jet-form-builder-choice--item:focus-visible {
    background: #08184B !important;
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-field, class: .elementor-element-fdb943d *//* ===============================
   FORMULÁRIOS – ESTILO CLÍNICO
=================================*/

/* ---------- Estrutura geral ---------- */
.jet-form-builder {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Linhas e campos */
.jet-form-builder-row,
.jet-form-builder .field-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
}

/* ===============================
   LABELS E HEADINGS
=================================*/

/* Labels de campos (text, radio, checkbox, select etc.) */
.jet-form-builder__label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Heading field (títulos de seção) */
.jet-form-builder__heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0C1C3C !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

/* Espaçamento extra antes de headings */
.jet-form-builder-field-heading {
    margin-top: 28px !important;
}

/* ===============================
   CAMPOS DE ENTRADA
=================================*/

.jet-form-builder-row input,
.jet-form-builder-row select,
.jet-form-builder-row textarea {
    width: 100% !important;
    background-color: #E0EBF8 !important;
    border: 1.5px solid #C6D6EC !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

/* Placeholder */
.jet-form-builder-row input::placeholder,
.jet-form-builder-row textarea::placeholder {
    color: #5C5C5C !important;
    font-weight: 400 !important;
}

/* Focus */
.jet-form-builder-row input:focus,
.jet-form-builder-row select:focus,
.jet-form-builder-row textarea:focus {
    outline: none !important;
    border-color: #0C1C3C !important;
    background-color: #ffffff !important;
}

/* ===============================
   SELECT FIELD – AJUSTE COMPLETO
=================================*/

.jet-form-builder-row select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230C1C3C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
}

/* Options (onde o browser permitir) */
.jet-form-builder-row select option {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
}

/* ===============================
   RADIO E CHECKBOX
=================================*/

.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jet-form-builder input[type="radio"],
.jet-form-builder input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0C1C3C !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

.jet-form-builder input[type="checkbox"] {
    border-radius: 4px !important;
}

.jet-form-builder input[type="radio"]:checked::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.jet-form-builder input[type="checkbox"]:checked::after {
    content: "✓" !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -55%) !important;
}

/* Texto das opções */
.jet-form-builder .jet-form-builder-choice__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    cursor: pointer !important;
}

/* ===============================
   BOTÃO
=================================*/

.jet-form-builder__submit {
    background: #0C1C3C !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.jet-form-builder__submit:hover {
    opacity: 0.9 !important;
}

/* Centraliza botão */
.jet-form-builder__action-button.jet-form-builder__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Campo obrigatório */
.jet-form-builder__required {
    color: #d10000 !important;
    font-weight: 700 !important;
}

/* ===============================
   RANGE FIELD
=================================*/

input.jet-form-builder__field.range-field[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    background: #C6D6EC !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

input.jet-form-builder__field.range-field[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

input.jet-form-builder__field.range-field[type="range"]::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
}

/* ===============================
   DRAG & DROP / UPLOAD
=================================*/

.jet-form-builder-advanced-media__dropzone {
    width: 100% !important;
    background: #E0EBF8 !important;
    border: 2px dashed #0C1C3C !important;
    border-radius: 14px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
}

.jet-form-builder-advanced-media__dropzone:hover,
.jet-form-builder-advanced-media__dropzone.is-dragover {
    background: #ffffff !important;
}

/* Lista de arquivos */
.jet-form-builder-advanced-media__file {
    background: #ffffff !important;
    border: 1px solid #C6D6EC !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.jet-form-builder-advanced-media__file-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
}

.jet-form-builder-advanced-media__file-remove {
    background: none !important;
    border: none !important;
    color: #d10000 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* ===============================
   MENSAGENS – SUCESSO / ERRO
=================================*/

.jet-form-builder-message {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    animation: jetFadeIn 0.3s ease-in-out;
}

.jet-form-builder-message--success {
    background: #E8F3EC !important;
    border: 1.5px solid #8BC7A1 !important;
    color: #1F5E3B !important;
}

.jet-form-builder-message--error {
    background: #FBEAEA !important;
    border: 1.5px solid #E1A1A1 !important;
    color: #8A1F1F !important;
}

@keyframes jetFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =====================================================
   JET APPOINTMENT – ESTILO CLÍNICO INTEGRADO
===================================================== */

/* Estrutura geral */
.jet-apb-calendar,
.jet-apb-calendar * {
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
}

/* ===============================
   HEADER DO CALENDÁRIO
=================================*/

.jet-apb-calendar-header {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
}

.jet-apb-calendar-header__label {
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

.jet-apb-calendar-header__nav {
    color: #ffffff !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.jet-apb-calendar-header__nav:hover {
    opacity: 0.7;
}

/* ===============================
   DIAS DA SEMANA
=================================*/

.jet-apb-calendar-week-day {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
}

/* ===============================
   DIAS DO CALENDÁRIO
=================================*/

/* Remove qualquer fundo externo estranho */
.jet-apb-calendar-date {
    background: transparent !important;
    box-shadow: none !important;
}

/* Corpo do dia */
.jet-apb-calendar-date-body {
    border-radius: 12px !important;
    padding: 8px 0 !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
}

/* Dias disponíveis */
.jet-apb-calendar-date--available .jet-apb-calendar-date-body {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover elegante */
.jet-apb-calendar-date--available:hover .jet-apb-calendar-date-body {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Dia selecionado */
.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background: #0C1C3C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Dias desabilitados */
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
    color: #c2c2c2 !important;
    background: transparent !important;
}

/* ===============================
   SLOTS DE HORÁRIO
=================================*/

/* Estrutura base */
.jet-apb-slot {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1.5px solid #C6D6EC !important;
}

/* Hover */
.jet-apb-slot:hover {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Slot selecionado (classe real do plugin) */
.jet-apb-slot--selected {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Fallback se usar aria */
.jet-apb-slot[aria-pressed="true"],
.jet-apb-slot[aria-selected="true"] {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
}

/* ===============================
   BOTÃO LIMPAR (X)
=================================*/

.jet-apb-clear {
    color: #0C1C3C !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.jet-apb-clear:hover {
    opacity: 0.6 !important;
}

/* ===============================
   BLOCO DETALHES DO AGENDAMENTO
=================================*/

.jet-apb-appointment-details {
    margin-top: 20px !important;
    padding: 18px !important;
    background: #E0EBF8 !important;
    border-radius: 14px !important;
}

.jet-apb-appointment-details__title {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #0C1C3C !important;
    margin-bottom: 8px !important;
}

/* ===============================
   RESPONSIVO
=================================*/

@media (max-width: 768px) {

    .jet-apb-calendar-header {
        padding: 12px !important;
    }

    .jet-apb-slot {
        padding: 8px 10px !important;
        font-size: 14px !important;
    }
}

/* =====================================
   TRADUÇÃO FORÇADA – JET APPOINTMENT
===================================== */

/* Esconde texto original */
.jet-apb-calendar-notification-service,
.jet-apb-calendar-notification-provider,
.jet-apb-calendar-notification-service-field,
.jet-apb-calendar-notification-max-slots {
    font-size: 0 !important;
    position: relative;
}

/* Service */
.jet-apb-calendar-notification-service::after {
    content: "Por favor, selecione o serviço primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Provider */
.jet-apb-calendar-notification-provider::after {
    content: "Por favor, selecione o profissional primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Campo não configurado */
.jet-apb-calendar-notification-service-field::after {
    content: "Defina o campo de serviço para este calendário.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Máximo de agendamentos */
.jet-apb-calendar-notification-max-slots::after {
    content: "Você atingiu o número máximo de agendamentos.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* =====================================
   PAGE BREAK (MULTIPAGE FORM)
===================================== */

/* Container dos botões */
.jet-form-builder-page-break__controls {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    gap: 12px;
}

/* Botões Next e Previous */
.jet-form-builder__next-page,
.jet-form-builder__prev-page {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 22px !important;
    border-radius: 10px !important; /* menos arredondado */
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Botão Próximo (primário) */
.jet-form-builder__next-page {
    background: #0C1C3C !important;
    color: #ffffff !important;
}

/* Hover */
.jet-form-builder__next-page:hover {
    opacity: 0.9;
}

/* Botão Voltar (secundário) */
.jet-form-builder__prev-page {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover voltar */
.jet-form-builder__prev-page:hover {
    background: #d4e2f4 !important;
}

/* =================================
   ADVANCED CHOICES — PADRÃO GLOBAL
================================= */

/* Container geral */
.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada opção */
.jet-form-builder-choice--item {
    flex-grow: 1 !important; /* largura crescer */
    flex-basis: 0 !important;
    margin-top: 15px !important;
    padding: 14px 10px !important;
    text-align: center !important;
    border-radius: 10px !important;
    border: 1.5px solid #C6D6EC !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* texto */
.jet-form-builder-choice--item p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0C1C3C !important;
}

/* hover */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    border-color: #08184B !important;
}

.jet-form-builder-choice--item:hover p {
    color: #ffffff !important;
}

/* selecionado */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    border-color: #08184B !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.jet-form-builder-choice--item.is-checked p {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* foco acessibilidade */
.jet-form-builder-choice--item:focus-visible {
    outline: 2px solid #08184B !important;
    outline-offset: 2px;
}

/* =====================================
   MENSAGEM – LIMITE DE RESPOSTA ATINGIDO
===================================== */

.jet-form-limit-message.restricted_message {
    background: linear-gradient(135deg, #08184B, #0C1C3C) !important;
    color: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 18px !important;
    box-shadow: 0 6px 18px rgba(8, 24, 75, 0.25);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jetFadeIn 0.35s ease;
}

/* Ícone informativo automático */
.jet-form-limit-message.restricted_message::before {
    content: "ℹ";
    font-size: 20px;
    font-weight: 700;
    opacity: 0.9;
}

/* Links dentro da mensagem */
.jet-form-limit-message.restricted_message a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 600;
}

.jet-form-limit-message.restricted_message a:hover {
    opacity: 0.85;
}

/* ===============================
   ADVANCED CHOICES – IMAGENS
   hover azul + glow elegante
=================================*/

}

/* remove bordas da imagem */
.jet-form-builder-choice--item img {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease;
}

/* HOVER */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    box-shadow: 0 6px 16px rgba(8, 24, 75, 0.18);
}

/* leve destaque da imagem no hover */
.jet-form-builder-choice--item:hover img {
    transform: scale(1.04);
}

/* SELECIONADO */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    box-shadow: 0 8px 20px rgba(8, 24, 75, 0.28);
}

/* mantém consistência ao focar via teclado */
.jet-form-builder-choice--item:focus-visible {
    background: #08184B !important;
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-field, class: .elementor-element-fdb943d *//* ===============================
   FORMULÁRIOS – ESTILO CLÍNICO
=================================*/

/* ---------- Estrutura geral ---------- */
.jet-form-builder {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Linhas e campos */
.jet-form-builder-row,
.jet-form-builder .field-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
}

/* ===============================
   LABELS E HEADINGS
=================================*/

/* Labels de campos (text, radio, checkbox, select etc.) */
.jet-form-builder__label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Heading field (títulos de seção) */
.jet-form-builder__heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0C1C3C !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

/* Espaçamento extra antes de headings */
.jet-form-builder-field-heading {
    margin-top: 28px !important;
}

/* ===============================
   CAMPOS DE ENTRADA
=================================*/

.jet-form-builder-row input,
.jet-form-builder-row select,
.jet-form-builder-row textarea {
    width: 100% !important;
    background-color: #E0EBF8 !important;
    border: 1.5px solid #C6D6EC !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

/* Placeholder */
.jet-form-builder-row input::placeholder,
.jet-form-builder-row textarea::placeholder {
    color: #5C5C5C !important;
    font-weight: 400 !important;
}

/* Focus */
.jet-form-builder-row input:focus,
.jet-form-builder-row select:focus,
.jet-form-builder-row textarea:focus {
    outline: none !important;
    border-color: #0C1C3C !important;
    background-color: #ffffff !important;
}

/* ===============================
   SELECT FIELD – AJUSTE COMPLETO
=================================*/

.jet-form-builder-row select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230C1C3C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
}

/* Options (onde o browser permitir) */
.jet-form-builder-row select option {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
}

/* ===============================
   RADIO E CHECKBOX
=================================*/

.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jet-form-builder input[type="radio"],
.jet-form-builder input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0C1C3C !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

.jet-form-builder input[type="checkbox"] {
    border-radius: 4px !important;
}

.jet-form-builder input[type="radio"]:checked::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.jet-form-builder input[type="checkbox"]:checked::after {
    content: "✓" !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -55%) !important;
}

/* Texto das opções */
.jet-form-builder .jet-form-builder-choice__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    cursor: pointer !important;
}

/* ===============================
   BOTÃO
=================================*/

.jet-form-builder__submit {
    background: #0C1C3C !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.jet-form-builder__submit:hover {
    opacity: 0.9 !important;
}

/* Centraliza botão */
.jet-form-builder__action-button.jet-form-builder__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Campo obrigatório */
.jet-form-builder__required {
    color: #d10000 !important;
    font-weight: 700 !important;
}

/* ===============================
   RANGE FIELD
=================================*/

input.jet-form-builder__field.range-field[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    background: #C6D6EC !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

input.jet-form-builder__field.range-field[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

input.jet-form-builder__field.range-field[type="range"]::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
}

/* ===============================
   DRAG & DROP / UPLOAD
=================================*/

.jet-form-builder-advanced-media__dropzone {
    width: 100% !important;
    background: #E0EBF8 !important;
    border: 2px dashed #0C1C3C !important;
    border-radius: 14px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
}

.jet-form-builder-advanced-media__dropzone:hover,
.jet-form-builder-advanced-media__dropzone.is-dragover {
    background: #ffffff !important;
}

/* Lista de arquivos */
.jet-form-builder-advanced-media__file {
    background: #ffffff !important;
    border: 1px solid #C6D6EC !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.jet-form-builder-advanced-media__file-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
}

.jet-form-builder-advanced-media__file-remove {
    background: none !important;
    border: none !important;
    color: #d10000 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* ===============================
   MENSAGENS – SUCESSO / ERRO
=================================*/

.jet-form-builder-message {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    animation: jetFadeIn 0.3s ease-in-out;
}

.jet-form-builder-message--success {
    background: #E8F3EC !important;
    border: 1.5px solid #8BC7A1 !important;
    color: #1F5E3B !important;
}

.jet-form-builder-message--error {
    background: #FBEAEA !important;
    border: 1.5px solid #E1A1A1 !important;
    color: #8A1F1F !important;
}

@keyframes jetFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =====================================================
   JET APPOINTMENT – ESTILO CLÍNICO INTEGRADO
===================================================== */

/* Estrutura geral */
.jet-apb-calendar,
.jet-apb-calendar * {
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
}

/* ===============================
   HEADER DO CALENDÁRIO
=================================*/

.jet-apb-calendar-header {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
}

.jet-apb-calendar-header__label {
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

.jet-apb-calendar-header__nav {
    color: #ffffff !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.jet-apb-calendar-header__nav:hover {
    opacity: 0.7;
}

/* ===============================
   DIAS DA SEMANA
=================================*/

.jet-apb-calendar-week-day {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
}

/* ===============================
   DIAS DO CALENDÁRIO
=================================*/

/* Remove qualquer fundo externo estranho */
.jet-apb-calendar-date {
    background: transparent !important;
    box-shadow: none !important;
}

/* Corpo do dia */
.jet-apb-calendar-date-body {
    border-radius: 12px !important;
    padding: 8px 0 !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
}

/* Dias disponíveis */
.jet-apb-calendar-date--available .jet-apb-calendar-date-body {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover elegante */
.jet-apb-calendar-date--available:hover .jet-apb-calendar-date-body {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Dia selecionado */
.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background: #0C1C3C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Dias desabilitados */
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
    color: #c2c2c2 !important;
    background: transparent !important;
}

/* ===============================
   SLOTS DE HORÁRIO
=================================*/

/* Estrutura base */
.jet-apb-slot {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1.5px solid #C6D6EC !important;
}

/* Hover */
.jet-apb-slot:hover {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Slot selecionado (classe real do plugin) */
.jet-apb-slot--selected {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Fallback se usar aria */
.jet-apb-slot[aria-pressed="true"],
.jet-apb-slot[aria-selected="true"] {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
}

/* ===============================
   BOTÃO LIMPAR (X)
=================================*/

.jet-apb-clear {
    color: #0C1C3C !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.jet-apb-clear:hover {
    opacity: 0.6 !important;
}

/* ===============================
   BLOCO DETALHES DO AGENDAMENTO
=================================*/

.jet-apb-appointment-details {
    margin-top: 20px !important;
    padding: 18px !important;
    background: #E0EBF8 !important;
    border-radius: 14px !important;
}

.jet-apb-appointment-details__title {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #0C1C3C !important;
    margin-bottom: 8px !important;
}

/* ===============================
   RESPONSIVO
=================================*/

@media (max-width: 768px) {

    .jet-apb-calendar-header {
        padding: 12px !important;
    }

    .jet-apb-slot {
        padding: 8px 10px !important;
        font-size: 14px !important;
    }
}

/* =====================================
   TRADUÇÃO FORÇADA – JET APPOINTMENT
===================================== */

/* Esconde texto original */
.jet-apb-calendar-notification-service,
.jet-apb-calendar-notification-provider,
.jet-apb-calendar-notification-service-field,
.jet-apb-calendar-notification-max-slots {
    font-size: 0 !important;
    position: relative;
}

/* Service */
.jet-apb-calendar-notification-service::after {
    content: "Por favor, selecione o serviço primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Provider */
.jet-apb-calendar-notification-provider::after {
    content: "Por favor, selecione o profissional primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Campo não configurado */
.jet-apb-calendar-notification-service-field::after {
    content: "Defina o campo de serviço para este calendário.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Máximo de agendamentos */
.jet-apb-calendar-notification-max-slots::after {
    content: "Você atingiu o número máximo de agendamentos.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* =====================================
   PAGE BREAK (MULTIPAGE FORM)
===================================== */

/* Container dos botões */
.jet-form-builder-page-break__controls {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    gap: 12px;
}

/* Botões Next e Previous */
.jet-form-builder__next-page,
.jet-form-builder__prev-page {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 22px !important;
    border-radius: 10px !important; /* menos arredondado */
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Botão Próximo (primário) */
.jet-form-builder__next-page {
    background: #0C1C3C !important;
    color: #ffffff !important;
}

/* Hover */
.jet-form-builder__next-page:hover {
    opacity: 0.9;
}

/* Botão Voltar (secundário) */
.jet-form-builder__prev-page {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover voltar */
.jet-form-builder__prev-page:hover {
    background: #d4e2f4 !important;
}

/* =================================
   ADVANCED CHOICES — PADRÃO GLOBAL
================================= */

/* Container geral */
.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada opção */
.jet-form-builder-choice--item {
    flex-grow: 1 !important; /* largura crescer */
    flex-basis: 0 !important;
    margin-top: 15px !important;
    padding: 14px 10px !important;
    text-align: center !important;
    border-radius: 10px !important;
    border: 1.5px solid #C6D6EC !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* texto */
.jet-form-builder-choice--item p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0C1C3C !important;
}

/* hover */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    border-color: #08184B !important;
}

.jet-form-builder-choice--item:hover p {
    color: #ffffff !important;
}

/* selecionado */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    border-color: #08184B !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.jet-form-builder-choice--item.is-checked p {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* foco acessibilidade */
.jet-form-builder-choice--item:focus-visible {
    outline: 2px solid #08184B !important;
    outline-offset: 2px;
}

/* =====================================
   MENSAGEM – LIMITE DE RESPOSTA ATINGIDO
===================================== */

.jet-form-limit-message.restricted_message {
    background: linear-gradient(135deg, #08184B, #0C1C3C) !important;
    color: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 18px !important;
    box-shadow: 0 6px 18px rgba(8, 24, 75, 0.25);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jetFadeIn 0.35s ease;
}

/* Ícone informativo automático */
.jet-form-limit-message.restricted_message::before {
    content: "ℹ";
    font-size: 20px;
    font-weight: 700;
    opacity: 0.9;
}

/* Links dentro da mensagem */
.jet-form-limit-message.restricted_message a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 600;
}

.jet-form-limit-message.restricted_message a:hover {
    opacity: 0.85;
}

/* ===============================
   ADVANCED CHOICES – IMAGENS
   hover azul + glow elegante
=================================*/

}

/* remove bordas da imagem */
.jet-form-builder-choice--item img {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease;
}

/* HOVER */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    box-shadow: 0 6px 16px rgba(8, 24, 75, 0.18);
}

/* leve destaque da imagem no hover */
.jet-form-builder-choice--item:hover img {
    transform: scale(1.04);
}

/* SELECIONADO */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    box-shadow: 0 8px 20px rgba(8, 24, 75, 0.28);
}

/* mantém consistência ao focar via teclado */
.jet-form-builder-choice--item:focus-visible {
    background: #08184B !important;
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-field, class: .elementor-element-fdb943d *//* ===============================
   FORMULÁRIOS – ESTILO CLÍNICO
=================================*/

/* ---------- Estrutura geral ---------- */
.jet-form-builder {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Linhas e campos */
.jet-form-builder-row,
.jet-form-builder .field-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
}

/* ===============================
   LABELS E HEADINGS
=================================*/

/* Labels de campos (text, radio, checkbox, select etc.) */
.jet-form-builder__label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Heading field (títulos de seção) */
.jet-form-builder__heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0C1C3C !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

/* Espaçamento extra antes de headings */
.jet-form-builder-field-heading {
    margin-top: 28px !important;
}

/* ===============================
   CAMPOS DE ENTRADA
=================================*/

.jet-form-builder-row input,
.jet-form-builder-row select,
.jet-form-builder-row textarea {
    width: 100% !important;
    background-color: #E0EBF8 !important;
    border: 1.5px solid #C6D6EC !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

/* Placeholder */
.jet-form-builder-row input::placeholder,
.jet-form-builder-row textarea::placeholder {
    color: #5C5C5C !important;
    font-weight: 400 !important;
}

/* Focus */
.jet-form-builder-row input:focus,
.jet-form-builder-row select:focus,
.jet-form-builder-row textarea:focus {
    outline: none !important;
    border-color: #0C1C3C !important;
    background-color: #ffffff !important;
}

/* ===============================
   SELECT FIELD – AJUSTE COMPLETO
=================================*/

.jet-form-builder-row select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230C1C3C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
}

/* Options (onde o browser permitir) */
.jet-form-builder-row select option {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
}

/* ===============================
   RADIO E CHECKBOX
=================================*/

.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jet-form-builder input[type="radio"],
.jet-form-builder input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0C1C3C !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

.jet-form-builder input[type="checkbox"] {
    border-radius: 4px !important;
}

.jet-form-builder input[type="radio"]:checked::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.jet-form-builder input[type="checkbox"]:checked::after {
    content: "✓" !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -55%) !important;
}

/* Texto das opções */
.jet-form-builder .jet-form-builder-choice__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #0C1C3C !important;
    cursor: pointer !important;
}

/* ===============================
   BOTÃO
=================================*/

.jet-form-builder__submit {
    background: #0C1C3C !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.jet-form-builder__submit:hover {
    opacity: 0.9 !important;
}

/* Centraliza botão */
.jet-form-builder__action-button.jet-form-builder__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Campo obrigatório */
.jet-form-builder__required {
    color: #d10000 !important;
    font-weight: 700 !important;
}

/* ===============================
   RANGE FIELD
=================================*/

input.jet-form-builder__field.range-field[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    background: #C6D6EC !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

input.jet-form-builder__field.range-field[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

input.jet-form-builder__field.range-field[type="range"]::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    background: #0C1C3C !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
}

/* ===============================
   DRAG & DROP / UPLOAD
=================================*/

.jet-form-builder-advanced-media__dropzone {
    width: 100% !important;
    background: #E0EBF8 !important;
    border: 2px dashed #0C1C3C !important;
    border-radius: 14px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
}

.jet-form-builder-advanced-media__dropzone:hover,
.jet-form-builder-advanced-media__dropzone.is-dragover {
    background: #ffffff !important;
}

/* Lista de arquivos */
.jet-form-builder-advanced-media__file {
    background: #ffffff !important;
    border: 1px solid #C6D6EC !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.jet-form-builder-advanced-media__file-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
}

.jet-form-builder-advanced-media__file-remove {
    background: none !important;
    border: none !important;
    color: #d10000 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* ===============================
   MENSAGENS – SUCESSO / ERRO
=================================*/

.jet-form-builder-message {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    animation: jetFadeIn 0.3s ease-in-out;
}

.jet-form-builder-message--success {
    background: #E8F3EC !important;
    border: 1.5px solid #8BC7A1 !important;
    color: #1F5E3B !important;
}

.jet-form-builder-message--error {
    background: #FBEAEA !important;
    border: 1.5px solid #E1A1A1 !important;
    color: #8A1F1F !important;
}

@keyframes jetFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =====================================================
   JET APPOINTMENT – ESTILO CLÍNICO INTEGRADO
===================================================== */

/* Estrutura geral */
.jet-apb-calendar,
.jet-apb-calendar * {
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
}

/* ===============================
   HEADER DO CALENDÁRIO
=================================*/

.jet-apb-calendar-header {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
}

.jet-apb-calendar-header__label {
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

.jet-apb-calendar-header__nav {
    color: #ffffff !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.jet-apb-calendar-header__nav:hover {
    opacity: 0.7;
}

/* ===============================
   DIAS DA SEMANA
=================================*/

.jet-apb-calendar-week-day {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0C1C3C !important;
    margin-bottom: 6px !important;
}

/* ===============================
   DIAS DO CALENDÁRIO
=================================*/

/* Remove qualquer fundo externo estranho */
.jet-apb-calendar-date {
    background: transparent !important;
    box-shadow: none !important;
}

/* Corpo do dia */
.jet-apb-calendar-date-body {
    border-radius: 12px !important;
    padding: 8px 0 !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
}

/* Dias disponíveis */
.jet-apb-calendar-date--available .jet-apb-calendar-date-body {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover elegante */
.jet-apb-calendar-date--available:hover .jet-apb-calendar-date-body {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Dia selecionado */
.jet-apb-calendar-date--selected .jet-apb-calendar-date-body {
    background: #0C1C3C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Dias desabilitados */
.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
    color: #c2c2c2 !important;
    background: transparent !important;
}

/* ===============================
   SLOTS DE HORÁRIO
=================================*/

/* Estrutura base */
.jet-apb-slot {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1.5px solid #C6D6EC !important;
}

/* Hover */
.jet-apb-slot:hover {
    background: #d4e2f5 !important;
    transform: translateY(-2px);
}

/* Slot selecionado (classe real do plugin) */
.jet-apb-slot--selected {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
    box-shadow: 0 4px 14px rgba(12, 28, 60, 0.25);
}

/* Fallback se usar aria */
.jet-apb-slot[aria-pressed="true"],
.jet-apb-slot[aria-selected="true"] {
    background: #0C1C3C !important;
    color: #ffffff !important;
    border-color: #0C1C3C !important;
}

/* ===============================
   BOTÃO LIMPAR (X)
=================================*/

.jet-apb-clear {
    color: #0C1C3C !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.jet-apb-clear:hover {
    opacity: 0.6 !important;
}

/* ===============================
   BLOCO DETALHES DO AGENDAMENTO
=================================*/

.jet-apb-appointment-details {
    margin-top: 20px !important;
    padding: 18px !important;
    background: #E0EBF8 !important;
    border-radius: 14px !important;
}

.jet-apb-appointment-details__title {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #0C1C3C !important;
    margin-bottom: 8px !important;
}

/* ===============================
   RESPONSIVO
=================================*/

@media (max-width: 768px) {

    .jet-apb-calendar-header {
        padding: 12px !important;
    }

    .jet-apb-slot {
        padding: 8px 10px !important;
        font-size: 14px !important;
    }
}

/* =====================================
   TRADUÇÃO FORÇADA – JET APPOINTMENT
===================================== */

/* Esconde texto original */
.jet-apb-calendar-notification-service,
.jet-apb-calendar-notification-provider,
.jet-apb-calendar-notification-service-field,
.jet-apb-calendar-notification-max-slots {
    font-size: 0 !important;
    position: relative;
}

/* Service */
.jet-apb-calendar-notification-service::after {
    content: "Por favor, selecione o serviço primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Provider */
.jet-apb-calendar-notification-provider::after {
    content: "Por favor, selecione o profissional primeiro.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Campo não configurado */
.jet-apb-calendar-notification-service-field::after {
    content: "Defina o campo de serviço para este calendário.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* Máximo de agendamentos */
.jet-apb-calendar-notification-max-slots::after {
    content: "Você atingiu o número máximo de agendamentos.";
    font-size: 14px;
    color: #8A1F1F;
    font-family: 'Montserrat', sans-serif;
}

/* =====================================
   PAGE BREAK (MULTIPAGE FORM)
===================================== */

/* Container dos botões */
.jet-form-builder-page-break__controls {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    gap: 12px;
}

/* Botões Next e Previous */
.jet-form-builder__next-page,
.jet-form-builder__prev-page {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 22px !important;
    border-radius: 10px !important; /* menos arredondado */
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Botão Próximo (primário) */
.jet-form-builder__next-page {
    background: #0C1C3C !important;
    color: #ffffff !important;
}

/* Hover */
.jet-form-builder__next-page:hover {
    opacity: 0.9;
}

/* Botão Voltar (secundário) */
.jet-form-builder__prev-page {
    background: #E0EBF8 !important;
    color: #0C1C3C !important;
}

/* Hover voltar */
.jet-form-builder__prev-page:hover {
    background: #d4e2f4 !important;
}

/* =================================
   ADVANCED CHOICES — PADRÃO GLOBAL
================================= */

/* Container geral */
.jet-form-builder .jet-form-builder-choice {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada opção */
.jet-form-builder-choice--item {
    flex-grow: 1 !important; /* largura crescer */
    flex-basis: 0 !important;
    margin-top: 15px !important;
    padding: 14px 10px !important;
    text-align: center !important;
    border-radius: 10px !important;
    border: 1.5px solid #C6D6EC !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* texto */
.jet-form-builder-choice--item p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0C1C3C !important;
}

/* hover */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    border-color: #08184B !important;
}

.jet-form-builder-choice--item:hover p {
    color: #ffffff !important;
}

/* selecionado */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    border-color: #08184B !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.jet-form-builder-choice--item.is-checked p {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* foco acessibilidade */
.jet-form-builder-choice--item:focus-visible {
    outline: 2px solid #08184B !important;
    outline-offset: 2px;
}

/* =====================================
   MENSAGEM – LIMITE DE RESPOSTA ATINGIDO
===================================== */

.jet-form-limit-message.restricted_message {
    background: linear-gradient(135deg, #08184B, #0C1C3C) !important;
    color: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 18px !important;
    box-shadow: 0 6px 18px rgba(8, 24, 75, 0.25);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jetFadeIn 0.35s ease;
}

/* Ícone informativo automático */
.jet-form-limit-message.restricted_message::before {
    content: "ℹ";
    font-size: 20px;
    font-weight: 700;
    opacity: 0.9;
}

/* Links dentro da mensagem */
.jet-form-limit-message.restricted_message a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 600;
}

.jet-form-limit-message.restricted_message a:hover {
    opacity: 0.85;
}

/* ===============================
   ADVANCED CHOICES – IMAGENS
   hover azul + glow elegante
=================================*/

}

/* remove bordas da imagem */
.jet-form-builder-choice--item img {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease;
}

/* HOVER */
.jet-form-builder-choice--item:hover {
    background: #08184B !important;
    box-shadow: 0 6px 16px rgba(8, 24, 75, 0.18);
}

/* leve destaque da imagem no hover */
.jet-form-builder-choice--item:hover img {
    transform: scale(1.04);
}

/* SELECIONADO */
.jet-form-builder-choice--item.is-checked {
    background: #08184B !important;
    box-shadow: 0 8px 20px rgba(8, 24, 75, 0.28);
}

/* mantém consistência ao focar via teclado */
.jet-form-builder-choice--item:focus-visible {
    background: #08184B !important;
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-b918a3a *//* Animação de entrada */
@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Aplica somente quando a aba fica ativa */
.elementor-tabs .elementor-tab-content.elementor-active {
    animation: tabFadeIn 0.45s ease;
}/* End custom CSS */