.elementor-2141 .elementor-element.elementor-element-7f27deb > .elementor-container > .elementor-row{align-items:center;}.elementor-2141 .elementor-element.elementor-element-adb8109 > .elementor-container > .elementor-row{align-items:stretch;}.elementor-2141 .elementor-element.elementor-element-2ae0ef1{width:var( --container-widget-width, 22% );max-width:22%;--container-widget-width:22%;--container-widget-flex-grow:0;top:0px;text-align:center;}.elementor-2141 .elementor-element.elementor-element-2ae0ef1 > .elementor-widget-container{background-color:#E7E7E7;padding:5px 5px 5px 5px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:25px 25px 25px 25px;}body:not(.rtl) .elementor-2141 .elementor-element.elementor-element-2ae0ef1{left:430px;}body.rtl .elementor-2141 .elementor-element.elementor-element-2ae0ef1{right:430px;}.elementor-2141 .elementor-element.elementor-element-2ae0ef1 .elementor-heading-title{color:#9333EA;}.elementor-2141 .elementor-element.elementor-element-2ae0ef1 .elementor-widget-container{display:flex;justify-content:center;}.elementor-2141 .elementor-element.elementor-element-0e3d35e{--spacer-size:25px;}.elementor-2141 .elementor-element.elementor-element-b642ec1{text-align:center;}.elementor-2141 .elementor-element.elementor-element-b642ec1 .elementor-heading-title{font-size:30px;font-weight:800;}.elementor-2141 .elementor-element.elementor-element-d900fd6{--spacer-size:10px;}.elementor-2141 .elementor-element.elementor-element-d778c60{text-align:center;}.elementor-2141 .elementor-element.elementor-element-39111a1{text-align:center;}.elementor-2141 .elementor-element.elementor-element-af1e72f{text-align:center;}.elementor-2141 .elementor-element.elementor-element-c90045c{--spacer-size:20px;}/* Start custom CSS for wpforms, class: .elementor-element-a58da09 *//* --- CSS PREMIUM ULTRA PRIORITÁRIO ---
   As classes foram reforçadas com "body" e seletores de ID para 
   garantir a sobreposição total no Elementor/WPForms.
*/

:root {
    --umbanda-primary: #6d28d9;
    --umbanda-accent: #fbbf24;
    --umbanda-text: #1e293b;
    --umbanda-border: #e2e8f0;
}

/* --- AJUSTE SOLICITADO: Tag de Inscrição com fundo ajustado ao texto --- */
body .wpforms-form .inscricao-tag, 
body .wpforms-form .wpforms-field-html-content .inscricao-tag {
    display: inline-block !important; /* Faz o fundo respeitar o tamanho do texto */
    width: auto !important;
    background-color: #f3e8ff !important; /* Roxo clarinho */
    color: #6d28d9 !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.wpforms-field-medium.wpforms-field-required.wpforms-smart-phone-field.wpforms-input-temp-name {
    padding-left: 45px !important;
}

/* Container Principal com especificidade máxima */
body .wpforms-container .wpforms-form {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 24px !important;
    padding: 40px !important;
    max-width: 800px !important;
    margin: 30px auto !important;
}

/* Títulos e Labels */
body .wpforms-form .wpforms-field-label,
body .wpforms-form .wpforms-label-area {
    font-family: 'Plus Jakarta Sans', 'Roboto', sans-serif !important;
    font-weight: 700 !important;
    color: var(--umbanda-text) !important;
    font-size: 16px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

/* Campos de Entrada (Inputs e Selects) */
body .wpforms-form input[type="text"],
body .wpforms-form input[type="email"],
body .wpforms-form input[type="tel"],
body .wpforms-form input[type="number"],
body .wpforms-form input[type="date"],
body .wpforms-form select,
body .wpforms-form textarea {
    background-color: #fcfcfd !important;
    border: 2px solid var(--umbanda-border) !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    height: auto !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-size: 16px !important;
    color: var(--umbanda-text) !important;
    box-shadow: none !important;
    appearance: none !important;
}

/* Efeito de Foco (Focus) */
body .wpforms-form input:focus,
body .wpforms-form select:focus,
body .wpforms-form textarea:focus {
    border-color: var(--umbanda-primary) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.15) !important;
    outline: none !important;
}

/* Botão de Enviar Estilo Premium */
body .wpforms-form .wpforms-submit-container {
    padding-top: 25px !important;
    text-align: center !important;
}

body .wpforms-form button[type="submit"].wpforms-submit {
    background: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 100%) !important;
    border: none !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 20px 40px !important;
    width: 100% !important;
    transition: all 0.4s ease !important;
    cursor: pointer !important;
    box-shadow: 0 10px 20px -5px rgba(109, 40, 217, 0.4) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

body .wpforms-form button[type="submit"].wpforms-submit:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 30px -5px rgba(109, 40, 217, 0.5) !important;
    filter: brightness(1.1) !important;
}

/* Estilo para Radio Buttons (Vencimento como Botões) */
body .wpforms-form .wpforms-field-radio ul {
    display: flex !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .wpforms-form .wpforms-field-radio li {
    flex: 1 !important;
    margin: 0 !important;
    list-style: none !important;
    position: relative !important;
}

body .wpforms-form .wpforms-field-radio label {
    display: block !important;
    text-align: center !important;
    padding: 15px !important;
    border: 2px solid var(--umbanda-border) !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background: #fff !important;
    font-weight: 600 !important;
}

/* Estado Marcado do Radio Button */
body .wpforms-form .wpforms-field-radio input:checked + label {
    background-color: var(--umbanda-accent) !important;
    border-color: var(--umbanda-accent) !important;
    color: #000 !important;
    transform: scale(1.02) !important;
}

/* Esconder o input nativo */
body .wpforms-form .wpforms-field-radio input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
}

/* Ajustes para Dispositivos Móveis */
@media (max-width: 600px) {
    body .wpforms-container .wpforms-form {
        padding: 25px 15px !important;
        border-radius: 16px !important;
    }
    
    body .wpforms-form .wpforms-field-radio ul {
        flex-direction: column !important;
    }
}

.flatpickr-month {
    padding: 60px !important;
    margin-top: -75px !important;
}

/* =========================
   MOBILE PREMIUM (UX REAL)
========================= */
@media (max-width: 600px) {

    /* Container principal */
    body .wpforms-container .wpforms-form {
        padding: 20px 14px !important;
        border-radius: 16px !important;
        margin: 15px 10px !important;
        box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
    }

    /* Tag inscrição */
    body .wpforms-form .inscricao-tag {
        font-size: 11px !important;
        padding: 5px 12px !important;
        margin-bottom: 12px !important;
    }

    /* Labels */
    body .wpforms-form .wpforms-field-label {
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }

    /* Inputs (melhor toque no mobile) */
    body .wpforms-form input,
    body .wpforms-form select,
    body .wpforms-form textarea {
        font-size: 16px !important; /* evita zoom no iOS */
        padding: 14px 14px !important;
        border-radius: 12px !important;
    }

    /* Espaçamento entre campos */
    body .wpforms-form .wpforms-field {
        margin-bottom: 18px !important;
    }

    /* Campo telefone (corrige alinhamento) */
    .wpforms-field-medium.wpforms-smart-phone-field input {
        padding-left: 50px !important;
    }

    /* Botão submit */
    body .wpforms-form button[type="submit"].wpforms-submit {
        font-size: 16px !important;
        padding: 18px !important;
        border-radius: 12px !important;
        letter-spacing: 1px !important;
    }

    /* Radios (transforma em botões grandes clicáveis) */
    body .wpforms-form .wpforms-field-radio ul {
        flex-direction: column !important;
        gap: 10px !important;
    }

    body .wpforms-form .wpforms-field-radio label {
        padding: 14px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    /* Ajuste do calendário (flatpickr bug mobile) */
    .flatpickr-calendar {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 auto !important;
    }

    .flatpickr-month {
        padding: 20px !important;
        margin-top: 0 !important;
    }

    /* Inputs lado a lado (quebra pra 1 coluna) */
    body .wpforms-form .wpforms-field-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

}

/* Remove zoom em inputs no iOS */
@supports (-webkit-touch-callout: none) {
    input, select, textarea {
        font-size: 16px !important;
    }
}

@media (min-width: 768px) {
    .flatpickr-month {
        padding: 60px !important;
        margin-top: -75px !important;
    }
}

/* =========================
   FIX GERAL DE QUEBRA MOBILE
========================= */
@media (max-width: 600px) {

    /* Evita overflow horizontal (CRÍTICO) */
    body, html {
        overflow-x: hidden !important;
    }

    body .wpforms-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    /* Container principal */
    body .wpforms-container .wpforms-form {
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px auto !important;
        padding: 20px 12px !important;
    }

    /* TODOS os elementos respeitam largura */
    body .wpforms-form * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Inputs nunca estouram */
    body .wpforms-form input,
    body .wpforms-form select,
    body .wpforms-form textarea {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Corrige FIELD ROW (muito comum quebrar no WPForms) */
    body .wpforms-form .wpforms-field-row {
        display: block !important;
    }

    body .wpforms-form .wpforms-field-row-block {
        width: 100% !important;
        margin: 0 !important;
    }

    /* Corrige telefone (ESSA É IMPORTANTE) */
    .wpforms-field-medium.wpforms-smart-phone-field {
        width: 100% !important;
    }

    .wpforms-field-medium.wpforms-smart-phone-field input {
        width: 100% !important;
        padding-left: 50px !important;
    }

    /* Remove possíveis larguras fixas do Elementor */
    .elementor-widget-container,
    .elementor-column,
    .elementor-section {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* FLATPICKR (esse aqui costuma quebrar MESMO) */
    .flatpickr-calendar {
        position: fixed !important;
        width: 95% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
    }

}

/* --- ORGANIZAÇÃO DE CAMPOS: ENDEREÇO (LADO A LADO) --- */

/* INSTRUÇÕES DE USO:
   1. No WPForms, edite os campos: CIDADE, ESTADO, CEP e PAÍS.
   2. Em cada um deles, vá em "Avançado" > "Classes CSS".
   3. Digite exatamente: col-metade
*/

@media (min-width: 601px) {
    /* Container flexível para permitir que os itens fiquem na mesma linha */
    body .wpforms-form .wpforms-field-container {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
    }

    /* Campos padrão ocupam a linha inteira */
    body .wpforms-form .wpforms-field {
        width: 100% !important;
        box-sizing: border-box !important;
        clear: both !important;
    }

    /* Regra para os campos que devem ocupar metade da linha */
    body .wpforms-form .wpforms-field.col-metade {
        width: 48.5% !important; /* Espaçamento harmônico entre os dois */
        clear: none !important;
        display: inline-block !important;
        vertical-align: top !important;
        margin-bottom: 20px !important;
    }

    /* Remove margens extras que o WPForms pode injetar */
    body .wpforms-form .wpforms-field.col-metade .wpforms-field-row {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ajuste de preenchimento interno dos inputs para manter a simetria */
    body .wpforms-form .wpforms-field.col-metade input,
    body .wpforms-form .wpforms-field.col-metade select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Ajuste para Mobile: volta a ser um por linha para não esmagar o texto */
@media (max-width: 600px) {
    body .wpforms-form .wpforms-field.col-metade {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}/* End custom CSS */