/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.light-style .menu .app-brand.demo {
  height: 64px;
}

.dark-style .menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -ms-flexbox;
  display: flex;
  width: 34px;
  height: 24px;
}

.app-brand-logo.demo svg {
  width: 35px;
  height: 24px;
}

.app-brand-text.demo {
  font-size: 1.375rem;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 78px !important;
}
/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}

/*
* Premium Dark Red Theme Overrides
******************************************************************************/

:root {
  --bs-primary: #8b0000 !important;
  --bs-primary-rgb: 139, 0, 0 !important;
  --bs-link-color: #8b0000 !important;
  --bs-link-hover-color: #a00000 !important;
}

/* Button Overrides */
.btn-primary {
  background-color: #8b0000 !important;
  border-color: #8b0000 !important;
  color: #ffffff !important;
}
.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active,
.btn-primary.active {
  background-color: #a00000 !important;
  border-color: #a00000 !important;
  color: #ffffff !important;
}
.btn-outline-primary {
  color: #8b0000 !important;
  border-color: #8b0000 !important;
}
.btn-outline-primary:hover, 
.btn-outline-primary:focus, 
.btn-outline-primary:active {
  background-color: #8b0000 !important;
  border-color: #8b0000 !important;
  color: #ffffff !important;
}

/* Text & BG Color Overrides */
.text-primary {
  color: #8b0000 !important;
}
.bg-primary {
  background-color: #8b0000 !important;
}
.bg-label-primary {
  background-color: rgba(139, 0, 0, 0.08) !important;
  color: #8b0000 !important;
}
.badge.bg-label-primary {
  background-color: rgba(139, 0, 0, 0.08) !important;
  color: #8b0000 !important;
}

/* Borders */
.border-primary {
  border-color: #8b0000 !important;
}

/* Menu/Sidebar Overrides */
.menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) {
  background-color: #8b0000 !important;
  color: #ffffff !important;
}
.menu-vertical .menu-item.active:not(.open) > .menu-link {
  background-color: #8b0000 !important;
  color: #ffffff !important;
}
.menu-item.active > .menu-link {
  background-color: #8b0000 !important;
  color: #ffffff !important;
}

/* Form Controls focus state */
.form-control:focus, 
.form-select:focus {
  border-color: #8b0000 !important;
  box-shadow: 0 0 0 0.25rem rgba(139, 0, 0, 0.15) !important;
}
.form-check-input:checked {
  background-color: #8b0000 !important;
  border-color: #8b0000 !important;
}

/* Pagination Overrides */
.page-item.active .page-link {
  background-color: #8b0000 !important;
  border-color: #8b0000 !important;
}

/* Custom Vuexy & Select2 elements */
.select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted[aria-selected] {
  background-color: #8b0000 !important;
}
.select2-container--bootstrap-5.select2-container--focus .select2-selection {
  border-color: #8b0000 !important;
}

/* Extra Robust Purple-to-Red Overrides */
.shadow-primary {
  box-shadow: 0 0.25rem 1rem rgba(139, 0, 0, 0.4) !important;
}
.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0.125rem 0.25rem rgba(139, 0, 0, 0.4) !important;
}
.light-style .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) {
  background: #8b0000 !important;
  color: #ffffff !important;
}
.form-switch .form-check-input:checked {
  background-color: #8b0000 !important;
  border-color: #8b0000 !important;
}
.bg-label-primary {
  background-color: rgba(139, 0, 0, 0.12) !important;
  color: #8b0000 !important;
}
.badge.bg-label-primary {
  background-color: rgba(139, 0, 0, 0.12) !important;
  color: #8b0000 !important;
}
.dropdown-item:hover, .dropdown-item:focus {
  background-color: rgba(139, 0, 0, 0.08) !important;
  color: #8b0000 !important;
}
.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
  background-color: #8b0000 !important;
  color: #ffffff !important;
}
a {
  color: #8b0000;
}
a:hover {
  color: #a00000;
}

/* Dark Style Legibility & Contrast Overrides (Changing Red Text/Writing to White for High-Legibility, Keeping Red Backgrounds intact) */
.dark-style {
  --bs-link-color: #ffffff !important;
  --bs-link-hover-color: #e2e2e2 !important;
}

.dark-style a {
  color: #ffffff !important;
}

.dark-style a:hover {
  color: #e2e2e2 !important;
}

.dark-style .text-primary {
  color: #ffffff !important;
}

.dark-style .bg-label-primary {
  color: #ffffff !important;
}

.dark-style .badge.bg-label-primary {
  color: #ffffff !important;
}

.dark-style .dropdown-item:hover,
.dark-style .dropdown-item:focus {
  color: #ffffff !important;
}

/* Sidebar SVG Logo Red color replacement in dark mode */
.dark-style .app-brand.demo svg path,
.dark-style .app-brand-link svg path {
  fill: #ffffff !important;
}

.dark-style .app-brand-text.demo {
  color: #ffffff !important;
}

/* Document Preview high-contrast white background in dark mode */
.dark-style #previewModal .modal-body,
.dark-style #previewModal .modal-body iframe,
.dark-style #dokumenModal .modal-body,
.dark-style #dokumenModal .modal-body .bg-lighter {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* Document Preview Button color in dark mode (Solid White) */
.dark-style button[data-bs-target="#previewModal"],
.dark-style button[data-bs-target="#dokumenModal"] {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #2f3349 !important;
}

.dark-style button[data-bs-target="#previewModal"]:hover,
.dark-style button[data-bs-target="#dokumenModal"]:hover {
  background-color: #e2e2e2 !important;
  border-color: #e2e2e2 !important;
  color: #2f3349 !important;
}

.dark-style button[data-bs-target="#previewModal"] i,
.dark-style button[data-bs-target="#dokumenModal"] i {
  color: #2f3349 !important;
}
