/* SHAHEEN GLOBAL BOLD v1.0 | 2026-09-26
   Typography-only layer for the web UI. Keeps the luxe color theme, animations,
   Bootstrap modal stacking hotfix and icon-font weights untouched.
   Reversible: remove the stylesheet link from shared views (or this file).
*/
@media screen {
  /* Normal text defaults. The class shaheen-bold is used on standalone pages. */
  body.shaheen-luxe,
  body.shaheen-bold {
    font-weight: 700 !important;
  }

  /* Apply Bold to the UI (including Vue-rendered nodes, dialogs, tables and
     dropdowns), while explicitly avoiding icon fonts and SVG graphics.
     Icons often require 400, 500 or 900 and must keep their original weight. */
  :is(body.shaheen-luxe, body.shaheen-bold) *:not(:is(
    i, svg, svg *, .fa, .fas, .far, .fab, .fal, .fad, .fat,
    .fa-solid, .fa-regular, .fa-brands, .fa-light, .fa-duotone,
    .material-icons, .material-symbols-outlined, .material-symbols-rounded,
    .nav-icon, .iconsmind, .icon, [class^="icon-"], [class*=" icon-"],
    .feather, .oi, .glyphicon
  )) {
    font-weight: 700 !important;
  }

  /* Headers remain visually stronger than normal Bold text. */
  :is(body.shaheen-luxe, body.shaheen-bold) :is(
    h1, h2, h3, h4, h5, h6, .page-title, .card-title,
    .modal-title, .swal2-title, .dropdown-header,
    .table th, .dataTable th
  ) {
    font-weight: 800 !important;
  }

  /* Some native widgets do not inherit font weight from body. */
  :is(body.shaheen-luxe, body.shaheen-bold) :is(
    input, textarea, select, option, optgroup, button, .btn,
    .form-control, .form-select, .custom-select,
    .select2-selection__rendered, .select2-results__option,
    .vs__selected, .vs__dropdown-option, .dropdown-item,
    .swal2-confirm, .swal2-cancel, .dataTables_filter input,
    .dataTables_length select, .dt-button
  ) {
    font-weight: 700 !important;
  }

  :is(body.shaheen-luxe, body.shaheen-bold) :is(input, textarea)::placeholder {
    font-weight: 700 !important;
    opacity: 1;
  }

  /* Restore decorative icon weights only when the icon itself is a child
     of a button/link receiving the bold text rule. */
  :is(body.shaheen-luxe, body.shaheen-bold) :is(.fas, .fa-solid) {
    font-weight: 900 !important;
  }
  :is(body.shaheen-luxe, body.shaheen-bold) :is(.far, .fa-regular, .fab, .fa-brands) {
    font-weight: 400 !important;
  }
}

/* ================================================================
   SHAHEEN UNIFIED DROPDOWNS v1 — 2026-10-01
   Progressive enhancement: native fallback remains usable without JS.
   A clear ivory canvas / dark ink / understated gold focus accent.
   Loaded by all four shared Shaheen layouts through existing styles.
   ================================================================ */
:root {
  --sd-ink: #202a2b;
  --sd-muted: #566160;
  --sd-ivory: #fffefa;
  --sd-border: #c5a05b;
  --sd-gold-bg: #f9efd9;
  --sd-green: #265848;
}

/* Normal select and OPTION fallback; helps when scripts are blocked.
   Native Safari option popups aren't consistently CSS-styleable;
   shaheen-luxe.js enhances eligible ones with an accessible HTML list. */
body.shaheen-luxe .main-content select:not(.shaheen-original-select),
body.shaheen-luxe .main-content .form-select:not(.shaheen-original-select),
body.shaheen-luxe .main-content .custom-select:not(.shaheen-original-select) {
  background-color: var(--sd-ivory) !important;
  color: var(--sd-ink) !important;
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  font-family: Cairo, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  min-height: 42px;
}
body.shaheen-luxe select option,
body.shaheen-luxe select optgroup {
  background: #fffefa !important;
  color: #202a2b !important;
  font-family: Cairo, sans-serif !important;
  font-weight: 700 !important;
}
body.shaheen-luxe select option:checked {
  background: #295744 !important;
  color: white !important;
}
body.shaheen-luxe :is(select,.form-select,.custom-select):focus-visible {
  outline: 2px solid #b78731 !important;
  outline-offset: 2px;
}

/* SELECT2: its popup can be appended directly to <body>. */
body.shaheen-luxe .select2-container--default :is(.select2-selection--single,.select2-selection--multiple) {
  background: var(--sd-ivory) !important;
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  min-height: 42px !important;
  color: var(--sd-ink) !important;
}
body.shaheen-luxe .select2-container--default .select2-selection--single .select2-selection__rendered,
body.shaheen-luxe .select2-container--default .select2-selection--multiple .select2-selection__choice,
body.shaheen-luxe .select2-container--default .select2-selection__placeholder {
  color: var(--sd-ink) !important;
  font-weight: 800 !important;
}
body.shaheen-luxe .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px !important;
  padding-inline: 12px 26px !important;
}
body.shaheen-luxe .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px !important;
  top: 0 !important;
}
body.shaheen-luxe .select2-dropdown,
body.shaheen-luxe .select2-results,
body.shaheen-luxe .select2-results__options {
  background: #fffefa !important;
  color: var(--sd-ink) !important;
  direction: rtl;
}
body.shaheen-luxe .select2-dropdown {
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 38px rgba(26,32,31,.23) !important;
  z-index: 6000 !important;
  overflow: hidden;
}
body.shaheen-luxe .select2-results__option {
  color: var(--sd-ink) !important;
  background: #fffefa !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.8;
  padding: 9px 13px !important;
}
body.shaheen-luxe .select2-results__option--highlighted[aria-selected],
body.shaheen-luxe .select2-results__option--highlighted:not([aria-selected]) {
  background: #f5e1b8 !important;
  color: #172321 !important;
}
body.shaheen-luxe .select2-results__option[aria-selected="true"] {
  background: #295744 !important;
  color: #fff !important;
}
body.shaheen-luxe .select2-search__field {
  background: #fff !important;
  color: #202a2b !important;
  border: 1px solid #c5a05b !important;
  border-radius: 8px !important;
  outline-color: #b78731 !important;
  font-size: 14px !important;
}
body.shaheen-luxe .select2-selection__choice {
  background: #f4e4c4 !important;
  border: 1px solid #ba914b !important;
  border-radius: 8px !important;
}

/* Vue-select and other already-enhanced dropdowns. */
body.shaheen-luxe .vs__dropdown-toggle {
  background: #fffefa !important;
  color: var(--sd-ink) !important;
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  min-height: 42px;
}
body.shaheen-luxe .vs__dropdown-menu {
  background: #fffefa !important;
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 36px rgba(26,32,31,.20) !important;
  z-index: 5500 !important;
  max-height: 330px !important;
}
body.shaheen-luxe .vs__dropdown-option,
body.shaheen-luxe .vs__selected,
body.shaheen-luxe .vs__search,
body.shaheen-luxe .vs__search::placeholder {
  color: var(--sd-ink) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}
body.shaheen-luxe .vs__dropdown-option {padding: 9px 12px !important;white-space: normal !important;}
body.shaheen-luxe .vs__dropdown-option--highlight {background: #f5e1b8 !important;color: #172321 !important;}
body.shaheen-luxe .vs__dropdown-option--selected {background: #295744 !important;color: #fff !important;}
body.shaheen-luxe .vs__open-indicator {fill: #76561d !important;}

body.shaheen-luxe .bootstrap-select .dropdown-menu,
body.shaheen-luxe .choices__list--dropdown,
body.shaheen-luxe .multiselect__content-wrapper {
  background: #fffefa !important;
  color: #202a2b !important;
  border: 1px solid var(--sd-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 36px rgba(26,32,31,.2) !important;
  z-index: 5500 !important;
}
body.shaheen-luxe :is(.choices__item--choice,.multiselect__option,.bootstrap-select .dropdown-item,.dropdown-menu .dropdown-item) {
  color: #202a2b !important;
  font-weight: 800 !important;
  background: #fffefa !important;
}
body.shaheen-luxe :is(.choices__item--choice,.multiselect__option,.bootstrap-select .dropdown-item,.dropdown-menu .dropdown-item):hover {
  color: #172321 !important;
  background: #f5e1b8 !important;
}

/* Accessible custom popup built from untouched native <select> options.
   Real select retains its name, options, validity, event listeners & form submission. */
body.shaheen-luxe .shaheen-original-select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.shaheen-luxe .shaheen-select-host {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-family: Cairo, sans-serif !important;
  direction: rtl;
}
body.shaheen-luxe .shaheen-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
  gap: 9px;
  width: 100%;
  min-height: 44px;
  padding: 9px 13px;
  text-align: right;
  color: #202a2b !important;
  font-size: 14px;
  font-family: Cairo, sans-serif;
  font-weight: 800 !important;
  line-height: 1.65;
  background: #fffefa !important;
  border: 1px solid #bd9447 !important;
  border-radius: 12px;
  box-shadow: inset 0 1px rgba(255,255,255,.7), 0 3px 9px rgba(29,35,30,.08);
  cursor: pointer;
  overflow: hidden;
}
body.shaheen-luxe .shaheen-select-trigger:hover {border-color: #a67a24 !important;background: #fff7e9 !important;}
body.shaheen-luxe .shaheen-select-trigger:focus-visible,
body.shaheen-luxe .shaheen-select-trigger[aria-expanded="true"] {
  outline: 2px solid #bb8d32 !important;
  outline-offset: 2px;
  border-color: #a67a24 !important;
}
body.shaheen-luxe .shaheen-select-trigger:disabled {opacity: .58;cursor: not-allowed;}
body.shaheen-luxe .shaheen-select-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #202a2b !important;
  text-align: right;
  flex: 1 1 auto;
}
body.shaheen-luxe .shaheen-select-chevron {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-right: 2px solid #865f22;
  border-bottom: 2px solid #865f22;
  transform: rotate(45deg) translateY(-2px);
  margin-inline: 5px;
}
body.shaheen-luxe .shaheen-select-trigger[aria-expanded="true"] .shaheen-select-chevron {transform: rotate(225deg) translateY(-1px);}
body.shaheen-luxe .shaheen-select-panel {
  position: fixed;
  display: flex;
  flex-direction: column;
  background: #fffefa !important;
  border: 1px solid #bd9447 !important;
  border-radius: 14px;
  box-shadow: 0 24px 55px rgba(21,31,29,.28);
  padding: 7px;
  color: #202a2b !important;
  direction: rtl;
  isolation: isolate;
  box-sizing: border-box;
  z-index: 7000;
  min-width: 180px;
  overflow: hidden;
  font-family: Cairo, sans-serif;
}
body.shaheen-luxe .shaheen-select-search {
  display: block;
  width: 100%;
  flex: 0 0 auto;
  padding: 11px 13px;
  margin: 0 0 7px;
  min-height: 40px;
  border-radius: 9px;
  border: 1px solid #cbb37e !important;
  color: #202a2b !important;
  background: #fff !important;
  font: 700 14px Cairo, sans-serif !important;
  box-sizing: border-box;
}
body.shaheen-luxe .shaheen-select-search::placeholder {color: #58625f !important;opacity: 1 !important;}
body.shaheen-luxe .shaheen-select-search:focus-visible {outline: 2px solid #bc8c35;outline-offset: 1px;}
body.shaheen-luxe .shaheen-select-options {overflow-y: auto;overscroll-behavior: contain;flex: 1 1 auto;min-height: 35px;scrollbar-color: #c9ad70 #fff9ef;}
body.shaheen-luxe .shaheen-select-option {
  width: 100%;
  border: 0 !important;
  border-radius: 9px;
  padding: 10px 11px;
  background: #fffefa !important;
  color: #202a2b !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  font: 800 14px Cairo, sans-serif !important;
  text-align: right;
  cursor: pointer;
  white-space: normal;
  word-break: break-word;
  line-height: 1.65;
}
body.shaheen-luxe .shaheen-select-option:hover,
body.shaheen-luxe .shaheen-select-option:focus-visible {background: #f6e5c0 !important;color: #172321 !important;outline: 1px solid #e1c48b;}
body.shaheen-luxe .shaheen-select-option[aria-selected="true"] {background: #e7f1ec !important;color: #173f33 !important;}
body.shaheen-luxe .shaheen-select-option[aria-selected="true"]:hover {background: #d5e9dc !important;}
body.shaheen-luxe .shaheen-select-option:disabled {opacity: .45;cursor: not-allowed;}
body.shaheen-luxe .shaheen-select-check {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border: 2px solid #a08046;
  border-radius: 5px;
  background: #fff;
  color: transparent;
}
body.shaheen-luxe .shaheen-select-option[aria-selected="true"] .shaheen-select-check {
  background: #265848 !important;
  border-color: #265848 !important;
  color: white !important;
}
body.shaheen-luxe .shaheen-select-status {padding: 8px 10px 4px;font: 700 12px Cairo,sans-serif;color:#46534b !important;flex:0 0 auto;}
body.shaheen-luxe .shaheen-select-empty {padding: 14px 11px;color:#515a53 !important;font:700 13px Cairo,sans-serif;}
body.shaheen-luxe .shaheen-select-host.shaheen-is-invalid .shaheen-select-trigger {border-color:#aa2634!important;outline:1px solid #aa2634!important;}
@media (max-width: 640px) {
  body.shaheen-luxe .shaheen-select-trigger {min-height: 48px;font-size: 14px;}
  body.shaheen-luxe .shaheen-select-panel {min-width: 0;}
}
