/* Overrides loaded last. Keep changes for the new Deviz page here. */

/* Global font consistency across the platform */
/* Use the same font family and size everywhere, including inputs */
body,
input,
select,
textarea,
button,
.form-control,
.form-select,
.input-group-text,
.form-check-label {
  font-family: var(--bs-body-font-family) !important;
  font-size: var(--bs-body-font-size) !important;
  line-height: var(--bs-body-line-height) !important;
}
/* Headings use the same family to keep consistency */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--bs-body-font-family) !important;
}

/* Reserve space for fixed footer (taller, two rows) */
body.deviz-has-sticky { padding-bottom: var(--page-bottom-pad, 0px) !important; }

/* Fixed, white footer centered at bottom */
.deviz-sticky-footer {
  position: fixed !important;
  left: 0;
  bottom: 0 !important;
  width: 100% !important;
  z-index: 2000 !important;
  background: #ffffff !important;
  border-top: 1px solid #dee2e6 !important;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.06) !important;
  border-top-left-radius: .25rem !important;
  border-top-right-radius: .25rem !important;
}
.deviz-sticky-footer .inner { padding: .75rem 1rem !important; }
.deviz-sticky-footer .input-group-text { font-weight: 600 !important; }
.deviz-page-footer { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: .5rem !important; }

/* Fix vendor absolute font paths (ensure /static prefix) */
@font-face {
  font-family: "boxicons";
  font-weight: normal;
  font-style: normal;
  src: url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.eot");
  src: url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.eot") format("embedded-opentype"),
       url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.woff2") format("woff2"),
       url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.woff") format("woff"),
       url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.ttf") format("truetype"),
       url("/static/pixinvent/assets/vendor/fonts/boxicons/boxicons.svg?#boxicons") format("svg");
}

/* Full-width layout: make all Bootstrap containers span 100% */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: 100% !important;
  width: 100% !important;
}

/* Ensure theme wrappers don't constrain width */
.layout-wrapper,
.layout-container,
.layout-page,
.content-wrapper,
#layout-navbar .container-xxl,
.content-header .container-xxl {
  max-width: 100% !important;
  width: 100% !important;
}
/* Maintain reasonable side padding instead of centering by width */
#layout-navbar .container-xxl,
.content-header .container-xxl,
.container-xxl {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Header logo: ensure it never exceeds navbar height and remove legacy padding */
#layout-navbar .app-brand-logo.demo { width: auto !important; height: auto !important; overflow: hidden !important; }
#layout-navbar .app-brand-logo.demo img {
  max-height: 80px !important; /* keep within navbar */
  height: auto !important;
  width: auto !important;
  padding-top: 0 !important;
  display: block !important;
  object-fit: contain !important;
  margin-top: 40px;    
}

/* Global table header/footer styling (higher specificity) */
.table thead { --bs-bg-opacity: 1; }
.table thead th, .table thead td, .table > thead > tr > th, .table > thead > tr > td {
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
  color: #fff !important;
}
.table tfoot th, .table tfoot td, .table > tfoot > tr > th, .table > tfoot > tr > td {
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
  color: #fff !important;
}

/* Ensure all table headers across the app use white text */
thead, thead th, thead td { color: #fff !important; }
/* Also force any content inside headers (links, spans, icons) */
thead *, .table thead *, table thead * { color: #fff !important; }
/* Common DataTables header classes */
table.dataTable thead th, table.dataTable thead td { color: #fff !important; }

/* Stronger, last-loaded overrides for readonly/disabled fields */
body .form-control[readonly],
body .form-control:read-only,
body input.form-control[readonly],
body textarea.form-control[readonly],
body .form-control:disabled,
body .form-select:disabled,
body .form-check-input:disabled {
  background-color: #f5f6f8 !important;
  color: #334155 !important;
  border-color: #5e7591 !important; /* same as normal inputs */
  box-shadow: none !important;
  opacity: 1 !important;
}
body .form-control:disabled,
body .form-select:disabled,
body .form-check-input:disabled { cursor: not-allowed !important; }
body .form-control[readonly], body .form-control:read-only { cursor: default !important; }
body .form-control[readonly]:focus,
body .form-control:read-only:focus,
body .form-control:disabled:focus,
body .form-select:disabled:focus {
  background-color: #f5f6f8 !important;
  border-color: #5e7591 !important;
  box-shadow: none !important;
}
body .input-group .form-control[readonly],
body .input-group .form-control:read-only,
body .input-group .form-control:disabled { background-color: #f5f6f8 !important; }
body .form-control[readonly]::placeholder,
body .form-control:read-only::placeholder,
body .form-control:disabled::placeholder { color: #7c8795 !important; }
