/* === LimeSurvey custom.css — FINAL (B/W only, Montserrat, left-aligned, sizes homog., titles UPPERCASE, inverted buttons) === */

/* 0) Google Font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

/* 1) Global: force monochrome + typography + left align */
html { }
html, body {
  background: #fff !important;
  color: #111 !important;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 1.1rem !important; /* base homogénea desde 1.1rem */
  line-height: 1.65 !important; /* un poco más de interlínea */
  text-align: left !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
*, *::before, *::after { text-shadow: none !important; box-shadow: none !important; }

/* 2) Titles UPPERCASE + progressive sizes + left aligned */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4,
.group-title, .question-title, .panel-title, .navbar-brand {
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #111 !important;
  font-weight: 600 !important;
  text-align: left !important;
}
/* Progressive sizes */
h1, .h1 { font-size: 2.2rem !important; }
h2, .h2 { font-size: 1.8rem !important; }
h3, .h3 { font-size: 1.4rem !important; }
/* From user snippet, but LEFT and with margins requested later */
h4, .h4 { font-size: 15px !important; line-height: 1.4 !important; text-align: left !important; }
/* Headings margins (from user snippet) */
h1, .h1, h2, .h2, h3, .h3 { margin-top: 70px !important; margin-bottom: 50px !important; }
/* h4 margins (from later request) */
h4, .h4 { margin-top: 40px !important; margin-bottom: 40px !important; }

/* 3) Body text line-height (from user snippet) */
p, li, label, .help-block, .ls-questionhelp,
.question-title-container, .question-help-container, .answer-container,
.navbar-default .navbar-nav > li > a {
  line-height: 1.5 !important;
  text-align: left !important;
}

/* 4) Links */
a, a:visited { color: #a72580 !important; text-decoration: none !important; }
a:hover, a:focus { color: ##a72580 !important; text-decoration: underline !important; }
::selection { background: #000 !important; color: #fff !important; }

/* 5) Buttons — BLACK default, WHITE on hover (invert) */
.btn,
.btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger,
.btn-outline-primary, .btn-outline-success, .btn-outline-info, .btn-outline-warning, .btn-outline-danger,
.btn-group .btn, .btn-link {
  font-family: inherit !important;
  border-radius: 0 !important;
  border: 1px solid #000 !important;
  background: #000 !important;
  color: #fff !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
.btn:hover, .btn:focus, .btn:active, .btn.active,
.open .dropdown-toggle.btn, .btn:focus-visible {
  background: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
  opacity: .5 !important;
  background: #000 !important; color: #fff !important; border-color: #000 !important;
}
.btn-link { background: transparent !important; color: #000 !important; border-color: transparent !important; }
.btn-link:hover, .btn-link:focus { text-decoration: underline !important; background: transparent !important; color: #000 !important; }

/* 6) Forms & controls (pure B/W) */
.form-control {
  background: #fff !important; color: #111 !important;
  border: 1px solid #000 !important; border-radius: 0 !important;
  font-family: inherit !important;
}
.form-control:focus { outline: 2px solid #000 !important; outline-offset: 0 !important; box-shadow: none !important; }
input[type="radio"], input[type="checkbox"] { accent-color: #000 !important; }

/* 7) Kill all theme colors (primary/success/info/warning/danger) */
.text-primary, .text-success, .text-info, .text-warning, .text-danger { color: #000 !important; }
.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-danger { background: #fff !important; color: #000 !important; }
.border-primary, .border-success, .border-info, .border-warning, .border-danger { border-color: #000 !important; }
.label, .badge,
.label-default, .label-primary, .label-success, .label-info, .label-warning, .label-danger,
.badge-default, .badge-primary, .badge-success, .badge-info, .badge-warning, .badge-danger {
  background: #000 !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
}
.alert, .alert-success, .alert-info, .alert-warning, .alert-danger {
  background: #fff !important; color: #000 !important; border: 1px solid #000 !important; border-radius: 0 !important;
}
.panel, .panel-default, .panel-primary, .panel-success, .panel-info, .panel-warning, .panel-danger {
  background: #fff !important; border: 1px solid #000 !important; border-radius: 0 !important;
}
.panel > .panel-heading {
  background: #fff !important; color: #111 !important; border-bottom: 1px solid #000 !important;
}

/* 8) Progress */
.progress { background: #f2f2f2 !important; height: 6px !important; border-radius: 0 !important; }
.progress-bar,
.progress-bar-success, .progress-bar-info, .progress-bar-warning, .progress-bar-danger { background: #000 !important; }

/* 9) Tables & lists */
.table, .table-bordered { border-color: #000 !important; border-collapse: collapse !important; }
.table > thead > tr > th, .table > tbody > tr > td { border: 1px solid #000 !important; color: #111 !important; }
.table-striped > tbody > tr:nth-of-type(odd), .ls-even { background: #fafafa !important; }
.table > thead > tr.success > th,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table-success, .table-success > th, .table-success > td { background: #fff !important; color: #000 !important; }
.list-group-item-success, .list-group-item-info, .list-group-item-warning, .list-group-item-danger {
  background: #fff !important; color: #000 !important; border-color: #000 !important; }

/* 10) Navbar items: uppercase, max 0.7rem (LI/links) */
.navbar .nav.navbar-nav > li,
.navbar .nav.navbar-nav > li > a,
.navbar .nav.navbar-nav.navbar-right > li,
.navbar .nav.navbar-nav.navbar-right > li > a,
.navbar .navbar-right > li,
.navbar .navbar-right > li > a,
.navbar .navbar-action-link {
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  letter-spacing: .06em;
  line-height: 1.6 !important;
  text-align: left !important;
}

/* 11) Nav, dropdowns, pagination (left-aligned) */
.navbar, .navbar-default, .navbar-inverse,
.navbar-default .navbar-collapse, .navbar-default .navbar-form { background: #fff !important; border: none !important; }
.navbar-default .navbar-brand, .navbar-default .navbar-nav > li > a { color: #111 !important; text-align: left !important; }
.navbar-default .navbar-brand:hover, .navbar-default .navbar-nav > li > a:hover { text-decoration: underline !important; }
.dropdown-menu { background: #fff !important; border: 1px solid #000 !important; border-radius: 0 !important; text-align: left !important; }
.dropdown-menu > li > a { color: #000 !important; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background: #000 !important; color: #fff !important; }
.pagination > li > a, .pagination > li > span { color: #000 !important; border: 1px solid #000 !important; background: #fff !important; }
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover { background: #000 !important; color: #fff !important; border-color: #000 !important; }

/* 12) Replace any remaining #328637 (green) with black */
.fruity input[type="checkbox"]:checked::after,
.fruity .checkbox input[type="checkbox"]:checked::after,
.fruity .checkbox-inline input[type="checkbox"]:checked::after {
  background-color: #000 !important; border-color: #000 !important;
}
.fruity .navbar a.animate::after {
  text-align: right; content: ''; display: block; width: 0; height: 2px;
  background-color: #000 !important;
}
.fruity [style*="#328637"] {
  color: #000 !important; background-color: #000 !important; border-color: #000 !important;
  fill: #000 !important; stroke: #000 !important;
}

/* 13) Question count text — LEFT (overrides earlier center) */
.question-count-text {
  display: block;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 14) Misc */
hr { border: 0; border-top: 1px solid #000 !important; }
.well { background: #fff !important; border: 1px solid #000 !important; border-radius: 0 !important; }
:focus { outline: 2px solid #000 !important; outline-offset: 2px !important; }
