/**
 * font-overrides.css
 * ---------------------------------------------------------------------------
 * Ensures the Angular-era font sizing, weights, and styles are preserved in
 * the React app. Loaded AFTER Bootstrap 4.5.0 CDN and main.css to guarantee
 * these rules take cascade precedence over Bootstrap 4 defaults.
 *
 * These values are sourced directly from the compiled Angular SASS:
 *   - src/styles/sass/layout/_base.sass       (body)
 *   - src/styles/sass/components/_typography.sass (h1-h6, p, ul/li, .label)
 *   - src/styles/sass/components/_buttons.sass    (buttons)
 *   - Bootstrap 3.3.5 compiled defaults          (.form-control, .btn, .input-sm)
 * ---------------------------------------------------------------------------
 */

/* ── Base body ────────────────────────────────────────────────────────────── */
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 17px;
  color: #6A6A6A;
}

body.high-contrast {
  color: #000000;
}

/* ── Constraint items ─────────────────────────────────────────────────────── */
/* React renders constraints without Angular's <constraint> element, so mirror
   its scoped weights (main.css: `constraint .constraint-description`, etc.). */
.constraint {
  display: block;
}
.constraint .constraint-description {
  font-weight: 400;
}
.constraint.active .constraint-description {
  font-weight: 600;
}
.constraint .constraint-expiration {
  font-weight: 200;
}
.constraint footer {
  font-weight: 200;
  font-style: italic;
}

/* ── Headings ─────────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }

/* ── Paragraphs & lists ───────────────────────────────────────────────────── */
p {
  font-weight: 300;
  margin-top: 12px;
  margin-bottom: 8px;
}

ul li,
ol li {
  font-weight: 300;
}

/* ── Form controls ────────────────────────────────────────────────────────── */
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.form-control {
  font-size: 14px;
  line-height: 1.42857;
  color: #555555;
}

.input-sm,
.form-control-sm {
  font-size: 12px;
  line-height: 1.5;
}

.input-lg,
.form-control-lg {
  font-size: 18px;
  line-height: 1.33333;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.42857;
  letter-spacing: 1px;
}

.btn-sm {
  font-size: 12.8px;
}

.btn-lg {
  font-size: 18px;
  line-height: 1.33333;
}

/* Native button elements (bourbon $all-buttons) */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  letter-spacing: 1px;
  line-height: normal;
}

/* ── Labels & badges ──────────────────────────────────────────────────────── */
.label {
  font-weight: 200;
  font-size: 100%;
  padding: 0.2em 0.5em;
}

label {
  font-weight: 700;
  font-size: 12px;
}

/* ── Tables ───────────────────────────────────────────────────────────────── */
.table {
  font-size: inherit;
  margin-top: 8px;
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857;
  vertical-align: top;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
  padding: 5px 8px;
}

.table > thead > tr > th,
.table > tbody > tr > th {
  font-weight: normal;
  font-size: 12px;
  line-height: 1.42857;
}

.table > tbody > tr > td {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.42857;
}

/* ── ng-table (verify-table) sizing to match Angular _tables.sass ─────────── */
.ng-table {
  min-width: 100.1%;
  border-spacing: 0;
  border: 1px solid #ddd;
}
.ng-table > thead > tr > th {
  letter-spacing: 0.5px;
  font-weight: 400;
  padding: 6px 12px;
}
.ng-table > thead > tr > th + th {
  border-left: 1px solid #ddd;
}
.ng-table > tbody > tr > td {
  font-weight: 300;
  line-height: 1.2em;
  vertical-align: top;
  padding: 10px 20px;
}

/* ── List/comment cells (verify-table 'list' columns) match Angular ───────── */
.table-inline-comment {
  text-align: left;
  white-space: nowrap;
  min-width: 400px;
}
.table-inline-comment + .table-inline-comment {
  margin: 0;
  border-top: none;
  padding: 0;
}
.table-inline-comment span {
  white-space: normal;
}

/* ── Navigation / sidebar ─────────────────────────────────────────────────── */
.nav > li > a {
  font-size: 12px;
  font-weight: 300;
}

.nav-tabs > li > a {
  font-weight: 300;
}

.navbar {
  font-size: 12px;
}

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  background-color: #337ab7;
  border-color: #337ab7;
  color: #fff;
}

.pagination > li > a,
.pagination > li > span {
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
}

.pagination > li > a:hover,
.pagination > li > a:focus {
  color: #23527c;
  background-color: #eee;
  border-color: #ddd;
}

.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus,
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus {
  color: #777;
  background-color: #fff;
  border-color: #ddd;
}

.btn-group > .btn.active {
  background-color: #337ab7;
  border-color: #337ab7;
  color: #fff;
}

/* ── Misc Bootstrap 4 overrides ───────────────────────────────────────────── */
small,
.small {
  font-size: 85%;
}

/* ── Accordion slide animation (matches Angular v-accordion transition) ──── */
.accordion-content-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
.accordion-content-wrap.is-expanded {
  grid-template-rows: 1fr;
}
.accordion-content-wrap > div {
  overflow: hidden;
}

.lead {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  font-size: 90%;
}

/* ── Dropdown menus ───────────────────────────────────────────────────────── */
.dropdown-menu {
  font-size: 12px;
}

.dropdown-menu > li > a {
  font-weight: 300;
}

/* ── Modal / dialog ───────────────────────────────────────────────────────── */
.modal-title {
  font-weight: 300;
  letter-spacing: 1px;
}

/* ── Breadcrumb / page headers ────────────────────────────────────────────── */
.page-header h3,
h3.crud-heading {
  font-size: 24px;
  font-weight: 300;
  line-height: 32px;
  letter-spacing: 1px;
}

/* ── Location directive (dealer address) — matches _location.sass ──────────── */
.location {
  display: block;
  margin: 0;
}

.location h6 {
  font-size: 12px;
  letter-spacing: 0px;
  font-weight: 400;
  margin: 0 0 2px;
  line-height: 20px;
}

.location div {
  margin-top: 2px;
}

.location div > span,
.location div > address {
  display: block;
  margin-left: 20px;
}

.location div .fa {
  float: left;
  margin-top: 1px;
}

.location address {
  margin: 0;
  font-weight: 300;
}

/* ── Blackout Dates (create/edit) — matches _forms.sass + _buttons.sass ─────── */
textarea.blackout-date-title {
  width: 300px;
  height: 100px;
}

textarea.blackout-date-comment {
  width: 300px;
  height: 200px;
}

ul.blackout-date-range-list {
  list-style: none;
}

.bl-date-details-include-exclude {
  margin-left: 35%;
}

.bl-date-details-include-exclude button {
  position: relative;
}

.bl-date-details-include-exclude button:hover .dealer-move-tooltip {
  visibility: visible;
}

.dealer-move-button {
  margin-right: 80px;
  background-color: #e1e4e9;
  color: #6A6A6A;
  border: none;
  padding: 8px 12px;
  letter-spacing: 1px;
  margin-bottom: 6px;
  cursor: pointer;
}

.dealer-move-button:hover,
.dealer-move-button:focus {
  background-color: #d3d7de;
  color: #6A6A6A;
}

.dealer-move-tooltip {
  visibility: hidden;
  background-color: #fff;
  text-align: center;
  border-color: #999;
  border-style: solid;
  bottom: 35px;
  right: -40px;
  width: 150px;
  position: absolute;
  z-index: 25;
  border-width: 1px;
}
