
/* =============== Filo Theme v1.1.4 =============== */
body.filo-theme { background:#0d1117 !important; color:#f2f4f8 !important; }

/* Texts (excluimos .form-control para controlar aparte) */
body.filo-theme h1, body.filo-theme h2, body.filo-theme h3, body.filo-theme h4, body.filo-theme h5, body.filo-theme h6,
body.filo-theme p, body.filo-theme label, body.filo-theme legend, body.filo-theme .question-text, body.filo-theme .question-title,
body.filo-theme .card, body.filo-theme .panel, body.filo-theme .ls-answers, body.filo-theme .alert, body.filo-theme .modal, body.filo-theme .dropdown-menu,
body.filo-theme .table, body.filo-theme .table th, body.filo-theme .table td,
body.filo-theme .btn-link { color:#f2f4f8 !important; }

/* Help text readable */
body.filo-theme small, body.filo-theme .small, body.filo-theme .text-muted, body.filo-theme .text-secondary,
body.filo-theme .form-text, body.filo-theme .help-block, body.filo-theme .ls-questionhelp,
body.filo-theme .ls-after-question-text, body.filo-theme .em_description_class, body.filo-theme .ls-em-help,
body.filo-theme .question-container .ls-questionhelp *, body.filo-theme .question-container .help-block * { color:#f2f4f8 !important; opacity:1 !important; background:transparent !important; }

/* Containers */
body.filo-theme .question-container, body.filo-theme .question-title-container, body.filo-theme .answer-container,
body.filo-theme .panel, body.filo-theme .card, body.filo-theme .ls-answers, body.filo-theme .ls-questionhelp {
  background:#121821 !important; border:1px solid #1f2732 !important; border-radius:12px !important; box-shadow:0 6px 20px rgba(0,0,0,.04);
}

/* Focus + progress */
body.filo-theme .progress{ height:6px; border-radius:9999px; background:#233; }
body.filo-theme .progress-bar{ background-color:#0B5ED7 !important; }
body.filo-theme .form-control:focus, body.filo-theme .form-select:focus{ border-color:#5aa0ff !important; box-shadow:0 0 0 .2rem rgba(11,94,215,.15) !important; }

/* Navbar baseline */
body.filo-theme .navbar { border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.12); border:1px solid rgba(0,0,0,.08); background:#fff !important; position:relative; }
body.filo-theme .navbar .navbar-brand img { max-height:150px !important; height:auto !important; width:auto !important; object-fit:contain; }
body.filo-theme .navbar .nav-link, body.filo-theme .navbar .navbar-text, body.filo-theme .navbar .navbar-brand { color:#111 !important; }

/* Centered title element styling */
body.filo-theme #filo-banner-title{
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  font-weight:800; font-size:2rem; color:#111; white-space:nowrap; letter-spacing:.2px;
  pointer-events:none; z-index:5;
}
@media (min-width: 992px){ body.filo-theme #filo-banner-title{ font-size:2.2rem; } }

/* Vertical centering for button groups inside answers */
body.filo-theme .answer-container{ display:flex; flex-direction:column; }
body.filo-theme .answer-container .btn-group, 
body.filo-theme .answer-container .btn-group-vertical,
body.filo-theme .answer-container .btn-toolbar{
  display:flex; align-items:center; justify-content:center; min-height:64px;
}

/* Selection buttons */
body.filo-theme .ls-answers .btn-group .btn, body.filo-theme .answer-item .btn, body.filo-theme .ls-answers .btn { background:#16a34a !important; border-color:#16a34a !important; color:#fff !important; }
body.filo-theme .btn-check:checked + .btn, body.filo-theme .ls-answers .btn.active, body.filo-theme .ls-answers .btn:active, body.filo-theme .ls-answers .btn:focus, body.filo-theme .ls-answers .btn:hover { background:#15803d !important; border-color:#15803d !important; color:#fff !important; }

/* Navigation buttons */
body.filo-theme .ls-move-previous-btn, body.filo-theme .btn-move-previous, body.filo-theme button[name="movePrevious"], body.filo-theme input[name="movePrevious"] { background:#0B5ED7 !important; border-color:#0B5ED7 !important; color:#fff !important; }
body.filo-theme .ls-move-next-btn, body.filo-theme .btn-move-next, body.filo-theme button[name="moveNext"], body.filo-theme input[name="moveNext"] { background:#198754 !important; border-color:#198754 !important; color:#fff !important; }

/* Spacing */
body.filo-theme{ padding:16px !important; }

/* ===== Alertas amarillas: texto oscuro (incluye hijos) ===== */
body.filo-theme .alert-warning,
body.filo-theme .alert-warning *,
body.filo-theme .alert-warning .alert-link,
body.filo-theme .alert-warning .btn-close,
body.filo-theme .alert-warning .close{ color:#111 !important; }
body.filo-theme .alert-warning{ background:#ffe995 !important; border-color:#ffd466 !important; }
body.filo-theme .alert-warning .alert-link{ text-decoration: underline; }
body.filo-theme .alert-warning .btn-close, body.filo-theme .alert-warning .close{ filter:none !important; opacity:.85; }

/* ===== Inputs texto oscuro sobre fondo blanco ===== */
body.filo-theme input.form-control,
body.filo-theme input[type="text"],
body.filo-theme input[type="email"],
body.filo-theme input[type="number"],
body.filo-theme input[type="tel"],
body.filo-theme input[type="url"],
body.filo-theme input[type="search"],
body.filo-theme textarea.form-control{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}
body.filo-theme .form-control::placeholder{ color:#8b9bb0 !important; opacity:1 !important; }
body.filo-theme input:-webkit-autofill,
body.filo-theme textarea:-webkit-autofill,
body.filo-theme select:-webkit-autofill{
  -webkit-text-fill-color:#111 !important;
  box-shadow: 0 0 0px 1000px #ffffff inset !important;
  caret-color:#111 !important;
  transition: background-color 9999s ease-out 0s !important;
}

/* ===== STRONG: Modales oscuros (Bootstrap) ===== */
body.filo-theme .modal-backdrop.show{ background:rgba(0,0,0,.75) !important; }
body.filo-theme .modal-content{
  background:#121821 !important; color:#f2f4f8 !important; border:1px solid #1f2732 !important;
  border-radius:16px !important; box-shadow:0 18px 60px rgba(0,0,0,.5) !important;
}
body.filo-theme .modal-header, body.filo-theme .modal-footer{
  border-color:#1f2732 !important; color:#f2f4f8 !important; background:#121821 !important;
}
body.filo-theme .modal-title{ color:#f2f4f8 !important; }
body.filo-theme .modal .btn-close{ filter: invert(1) brightness(1.4) !important; opacity:.9 !important; }
body.filo-theme .modal a{ color:#cfe0ff !important; }
body.filo-theme .modal .btn-primary{ background:#198754 !important; border-color:#198754 !important; }
body.filo-theme .modal .btn-secondary{ background:#0B5ED7 !important; border-color:#0B5ED7 !important; }
body.filo-theme .modal .text-muted{ color:#d8dee9 !important; }

/* ===== Fallback: jQuery UI dialogs ===== */
body.filo-theme .ui-widget-overlay{ background:rgba(0,0,0,.75) !important; opacity:1 !important; }
body.filo-theme .ui-dialog{
  background:#121821 !important; color:#f2f4f8 !important;
  border:1px solid #1f2732 !important; border-radius:16px !important;
  box-shadow:0 18px 60px rgba(0,0,0,.5) !important;
}
body.filo-theme .ui-dialog-titlebar{ background:#121821 !important; border-bottom:1px solid #1f2732 !important; }
body.filo-theme .ui-dialog-title{ color:#f2f4f8 !important; }
body.filo-theme .ui-dialog .ui-button, body.filo-theme .ui-dialog .btn{ background:#198754 !important; border-color:#198754 !important; color:#fff !important; }
