/* Container */
.formap-frontend-container { position: relative; overflow: hidden; transition: height 0.3s ease; }

/* Loader */
.formap-initial-loader { display:flex; justify-content:center; padding:50px 0; color:#888; }
.spinner-elegant { width:30px; height:30px; border:2px solid #eee; border-top-color:#333; border-radius:50%; animation:spin 0.8s linear infinite; }

/* Progresso */
.formap-progress-bar { position:absolute; top:0; left:0; width:100%; height:4px; background:rgba(0,0,0,0.05); }
.formap-progress-fill { height:100%; background:#333; transition:width 0.5s; }

/* Elementos (Sem cores, apenas layout) */
.formap-public-header { margin-bottom: 30px; }
.formap-main-title { margin: 0 0 10px 0; }
.formap-question { margin: 0 0 15px 0; }
.formap-input-wrapper { margin-bottom: 20px; }

/* Botões (Layout base, cores via Elementor) */
.formap-premium-btn {
    padding: 12px 30px; border: none; cursor: pointer; text-align: center;
    display: inline-block; transition: 0.3s;
    /* Fallback discreto caso não configure no elementor */
    background: #eee; color: #333;
}

/* Inputs */
.formap-input-field { width: 100%; padding: 10px; border: 1px solid #ccc; background: transparent; }
.formap-option-label { display: flex; align-items: center; padding: 10px; border: 1px solid #eee; margin-bottom: 5px; cursor: pointer; }
.formap-option-label input { margin-right: 10px; }

@keyframes spin { to { transform: rotate(360deg); } }
.fade-in { animation: fadeIn 0.4s ease-out forwards; }
@keyframes fadeIn { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }