/* ==========================================================================
   OMEGATE Clinic — brand theme
   Loaded last on every layout (see resources/views/partials/omegate-brand.blade.php)
   Palette: OMEGATE-Health-Identity/palette.json  (orange scale + ink #1D1D1B)
   ========================================================================== */

:root,
:root[data-bs-theme],
:root[data-bs-theme-color],
[data-bs-theme-color],
[data-bs-theme=light] {
  /* brand scale */
  --og-50: #FFF7F0;  --og-100: #FFEDDD; --og-200: #FFD6B3; --og-300: #FFB880;
  --og-400: #FF994D; --og-500: #FF7A1F; --og-600: #EB620E; --og-700: #C74C0A;
  --og-800: #9E3C0E; --og-900: #7D3211; --og-950: #451805; --og-ink: #1D1D1B;
  --og-75: #FFF2E6;
  --og-500-rgb: 255, 122, 31; --og-600-rgb: 235, 98, 14; --og-800-rgb: 158, 60, 14;
  --og-gradient: linear-gradient(135deg, var(--og-400) 0%, var(--og-500) 55%, var(--og-600) 100%);

  /* bootstrap mapping */
  --bs-primary: var(--og-500) !important;
  --bs-primary-rgb: var(--og-500-rgb) !important;
  --bs-primary-text-emphasis: var(--og-800) !important;
  --bs-primary-bg-subtle: var(--og-100) !important;
  --bs-primary-border-subtle: var(--og-200) !important;
  --bs-primary-hover-bg: var(--og-600) !important;
  --bs-primary-hover-border: var(--og-600) !important;
  --bs-primary-active-bg: var(--og-700) !important;
  --bs-primary-active-border: var(--og-700) !important;
  --bs-primary-shade-80: var(--og-950) !important;
  --bs-primary-shade-60: var(--og-900) !important;
  --bs-primary-shade-40: var(--og-800) !important;
  --bs-primary-shade-20: var(--og-700) !important;
  --bs-primary-tint-90: var(--og-50) !important;
  --bs-primary-tint-80: var(--og-100) !important;
  --bs-primary-tint-60: var(--og-200) !important;
  --bs-primary-tint-40: var(--og-300) !important;
  --bs-primary-tint-20: var(--og-400) !important;

  --bs-secondary: #1D1D1B !important;
  --bs-secondary-rgb: 29, 29, 27 !important;
  --bs-secondary-text-emphasis: #1D1D1B !important;
  --bs-secondary-bg-subtle: #EDEDEB !important;
  --bs-secondary-border-subtle: #D4D4D1 !important;
  --bs-secondary-hover-bg: #000000 !important;
  --bs-secondary-hover-border: #000000 !important;
  --bs-secondary-active-bg: #000000 !important;
  --bs-secondary-active-border: #000000 !important;

  --bs-link-color: var(--og-600) !important;
  --bs-link-color-rgb: var(--og-600-rgb) !important;
  --bs-link-hover-color: var(--og-700) !important;
  --bs-link-hover-color-rgb: 199, 76, 10 !important;
  --bs-focus-ring-color: rgba(var(--og-500-rgb), .25) !important;

  /* text + surfaces */
  --bs-heading-color: #1D1D1B !important;
  --bs-body-color: #3D3D3A !important;
  --bs-body-color-rgb: 61, 61, 58 !important;
  --bs-body-bg: #FAF8F6 !important;
  --bs-body-bg-rgb: 250, 248, 246 !important;
  --bs-border-color: #E8E3DE !important;

  /* type */
  --og-font: "IBM Plex Sans Arabic", "Tajawal", "Segoe UI", Tahoma, sans-serif;
  --bs-font-sans-serif: var(--og-font) !important;
  --bs-font-monospace: var(--og-font) !important;
  --bs-body-font-family: var(--og-font) !important;
  --bs-heading-font-family: var(--og-font) !important;
  --bs-body-font-size: 1rem !important;
  --bs-body-line-height: 1.7 !important;

  /* shape */
  --bs-border-radius: .625rem !important;
  --bs-border-radius-sm: .5rem !important;
  --bs-border-radius-lg: .875rem !important;
  --bs-border-radius-xl: 1.25rem !important;
  --bs-btn-border-radius: .625rem;
}

[data-bs-theme=dark],
:root[data-bs-theme=dark] {
  --bs-heading-color: #F5F3F0 !important;
  --bs-body-color: #CFCBC6 !important;
  --bs-body-color-rgb: 207, 203, 198 !important;
  --bs-body-bg: #141413 !important;
  --bs-body-bg-rgb: 20, 20, 19 !important;
  --bs-border-color: #2E2D2B !important;
  --bs-secondary: #F5F3F0 !important;
  --bs-secondary-rgb: 245, 243, 240 !important;
  --bs-primary-bg-subtle: #3A1C08 !important;
  --bs-primary-text-emphasis: var(--og-300) !important;
}

/* ---------- Large, readable type scale ---------- */
html,
html.theme-fs-sm,
html.theme-fs-md,
html.theme-fs-lg { font-size: 18px !important; }
@media (max-width: 991.98px) {
  html, html.theme-fs-sm, html.theme-fs-md, html.theme-fs-lg { font-size: 17px !important; }
}

body {
  font-family: var(--og-font) !important;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--bs-body-color);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* every element inherits the brand face except icon fonts */
body *:not(i):not([class^="ph"]):not([class*=" ph-"]):not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(svg):not(svg *) {
  font-family: var(--og-font);
}

h1, .h1 { font-size: 2.25rem; }
h2, .h2 { font-size: 1.875rem; }
h3, .h3 { font-size: 1.5rem; }
h4, .h4 { font-size: 1.3rem; }
h5, .h5 { font-size: 1.15rem; }
h6, .h6 { font-size: 1.05rem; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 700;
  color: var(--bs-heading-color);
  line-height: 1.4;
  letter-spacing: 0;
}

small, .small, .text-muted, .form-text { font-size: .9rem !important; }
label, .form-label, .col-form-label { font-size: .98rem !important; font-weight: 600; color: var(--bs-heading-color); }

.form-control, .form-select, .select2-container .select2-selection,
.input-group-text, .vti__input, .multiselect {
  font-size: 1rem !important;
  min-height: 3rem;
  border-radius: var(--bs-border-radius) !important;
}
.form-control::placeholder,
.modal .form-control::placeholder,
.card .form-control::placeholder,
.offcanvas .form-control::placeholder { font-size: .95rem !important; }
.form-control:focus, .form-select:focus {
  border-color: var(--og-400) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--og-500-rgb), .18) !important;
}

/* ---------- Buttons ---------- */
.btn { font-size: 1rem !important; font-weight: 600; padding: .6rem 1.25rem; border-radius: var(--bs-border-radius) !important; }
.btn-sm { font-size: .92rem !important; padding: .4rem .9rem; }
.btn-lg { font-size: 1.12rem !important; padding: .8rem 1.6rem; }

.btn-primary {
  --bs-btn-bg: var(--og-500); --bs-btn-border-color: var(--og-500); --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--og-600); --bs-btn-hover-border-color: var(--og-600); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--og-700); --bs-btn-active-border-color: var(--og-700);
  --bs-btn-disabled-bg: var(--og-300); --bs-btn-disabled-border-color: var(--og-300);
  background: var(--og-gradient) !important; border: 0 !important; color: #fff !important;
  box-shadow: 0 6px 16px -6px rgba(var(--og-600-rgb), .55);
}
.btn-primary:hover, .btn-primary:focus { filter: brightness(.95); }
.btn-outline-primary { --bs-btn-color: var(--og-600); --bs-btn-border-color: var(--og-500); --bs-btn-hover-bg: var(--og-500); --bs-btn-hover-border-color: var(--og-500); --bs-btn-hover-color: #fff; }
.btn-secondary { --bs-btn-bg: #1D1D1B; --bs-btn-border-color: #1D1D1B; --bs-btn-hover-bg: #000; --bs-btn-hover-border-color: #000; --bs-btn-color: #fff; --bs-btn-hover-color: #fff; }
.btn-soft-primary, .btn-primary-subtle { background: var(--og-100) !important; color: var(--og-700) !important; border-color: transparent !important; }

.bg-primary { background-color: var(--og-500) !important; }
.text-primary { color: var(--og-600) !important; }
.border-primary { border-color: var(--og-500) !important; }
.bg-primary-subtle, .bg-soft-primary { background-color: var(--og-100) !important; }
.badge { font-size: .85rem !important; font-weight: 600; padding: .4em .75em; border-radius: .5rem; }

a { color: var(--bs-link-color); }
a:hover { color: var(--bs-link-hover-color); }

/* ---------- Cards / surfaces ---------- */
.card {
  border: 1px solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius-lg) !important;
  box-shadow: 0 1px 2px rgba(29, 29, 27, .04), 0 8px 24px -12px rgba(29, 29, 27, .08) !important;
}
.card .card-header { background: transparent; border-bottom: 1px solid var(--bs-border-color); padding: 1.1rem 1.4rem; }
.card .card-body { padding: 1.4rem; }
.card .card-title, .card-header h4, .card-header .card-title { font-size: 1.2rem !important; font-weight: 700; }

/* ---------- Dashboard stat cards ---------- */
.dashboard-card .card-body { padding: 1.25rem !important; }
.dashboard-card .card-body > .d-flex { align-items: center !important; }
.dashboard-card .card-body > .d-flex > div:first-child { min-width: 0; flex: 1 1 auto; }
.dashboard-card h6 {
  font-size: .95rem !important; font-weight: 600; text-transform: none !important;
  color: #6B6560 !important; margin-bottom: .35rem; line-height: 1.45;
}
.dashboard-card h2 { font-size: 1.85rem !important; line-height: 1.2; overflow-wrap: anywhere; color: var(--og-ink); }
[data-bs-theme=dark] .dashboard-card h2 { color: #fff; }
.dashboard-card .card-icon {
  flex: 0 0 auto; width: 3.6rem; height: 3.6rem; padding: .6rem !important;
  display: grid; place-items: center; background: var(--og-75) !important; border-radius: 1rem !important;
}
.dashboard-card .card-icon img { width: 2.3rem !important; height: 2.3rem !important; }
.dashboard-card { transition: transform .15s ease, box-shadow .15s ease; }
.dashboard-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -14px rgba(var(--og-600-rgb), .35) !important; }
.text-uppercase { text-transform: none !important; letter-spacing: 0 !important; }

/* ---------- Tables ---------- */
.table { font-size: 1rem !important; }
.table > thead th, .table thead tr th, table.dataTable thead th {
  font-size: .95rem !important; font-weight: 700 !important;
  color: var(--og-ink) !important; background: var(--og-50) !important;
  text-transform: none !important; letter-spacing: 0 !important;
  padding: .95rem 1rem !important;
}
[data-bs-theme=dark] .table > thead th, [data-bs-theme=dark] table.dataTable thead th { background: #2A1A0F !important; color: var(--og-200) !important; }
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc { padding-inline-end: 2.2rem !important; }
[dir=rtl] table.dataTable thead th.sorting::before, [dir=rtl] table.dataTable thead th.sorting::after,
[dir=rtl] table.dataTable thead th.sorting_asc::before, [dir=rtl] table.dataTable thead th.sorting_asc::after,
[dir=rtl] table.dataTable thead th.sorting_desc::before, [dir=rtl] table.dataTable thead th.sorting_desc::after { right: auto !important; left: .75rem !important; }
table.dataTable thead th::before, table.dataTable thead th::after { color: var(--og-600); }
.table > tbody td, table.dataTable tbody td { padding: .9rem 1rem !important; vertical-align: middle; }
.dataTables_wrapper, .dataTables_info, .dataTables_length, .dataTables_filter, .pagination { font-size: .98rem !important; }
.page-item.active .page-link, .pagination .active > .page-link { background: var(--og-500) !important; border-color: var(--og-500) !important; color: #fff !important; }
.page-link { color: var(--og-600); }

/* ---------- Sidebar ---------- */
.sidebar, .sidebar-base { font-size: 1rem; }
.sidebar .sidebar-header .logo-title, .sidebar .logo-title { display: none !important; }
.sidebar .navbar-brand img, .sidebar .logo-main img { max-height: 46px; width: auto; }
.sidebar .nav .nav-item .nav-link,
.sidebar-list .navbar-nav .nav-item .nav-link {
  font-size: 1.02rem !important; font-weight: 500;
  padding-block: .7rem !important; border-radius: .625rem !important;
}
.sidebar .nav .nav-item .nav-link i, .sidebar-list .nav-link .icon { font-size: 1.35rem !important; }
.sidebar .nav .nav-item .nav-link.active,
.sidebar-list .navbar-nav .nav-item .nav-link.active,
.sidebar .nav-item .nav-link[aria-expanded=true] {
  background: var(--og-gradient) !important; color: #fff !important;
  box-shadow: 0 8px 18px -10px rgba(var(--og-600-rgb), .8);
}
.sidebar .nav .nav-item .nav-link.active i,
.sidebar-list .navbar-nav .nav-item .nav-link.active .icon { color: #fff !important; }
.sidebar .nav .nav-item .nav-link:not(.active):hover { background: var(--og-75) !important; color: var(--og-700) !important; }
[data-bs-theme=dark] .sidebar .nav .nav-item .nav-link:not(.active):hover { background: #2A1A0F !important; color: var(--og-300) !important; }
.sidebar .nav .static-item .default-icon,
.sidebar .nav .static-item .sidebar-heading,
.sidebar-heading, .static-item .default-icon { font-size: .82rem !important; font-weight: 700; color: #9A938C !important; letter-spacing: .02em; }

/* ---------- Top bar / dropdowns ---------- */
.iq-navbar, .navbar { font-size: 1rem; }
.iq-navbar .navbar-brand img { max-height: 42px; width: auto; }
.dropdown-menu { font-size: 1rem !important; border-radius: .875rem !important; border: 1px solid var(--bs-border-color); box-shadow: 0 16px 40px -16px rgba(29, 29, 27, .22) !important; }
.dropdown-item { padding: .6rem 1.1rem; }
.dropdown-item.active, .dropdown-item:active { background: var(--og-500) !important; color: #fff !important; }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background: var(--og-500) !important; color: #fff !important; border-color: var(--og-500) !important;
}
.nav.tab-pill-design .nav-link, .nav-tabs.custom-tab-pill .nav-link { font-size: .98rem !important; }
.breadcrumb, .iq-banner .iq-navbar-header .iq-container .breadcrumb li { font-size: .95rem !important; }
.footer { font-size: .95rem !important; }

/* ---------- Form controls ---------- */
.form-check-input:checked { background-color: var(--og-500) !important; border-color: var(--og-500) !important; }
.form-check-input:focus { box-shadow: 0 0 0 .2rem rgba(var(--og-500-rgb), .2) !important; border-color: var(--og-300) !important; }
.form-switch .form-check-input { width: 2.6em; height: 1.4em; }
.progress-bar { background-color: var(--og-500) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--og-500) !important; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange { background: var(--og-500) !important; border-color: var(--og-500) !important; }

/* ---------- Modals / offcanvas / toasts ---------- */
.modal-content, .offcanvas { border-radius: 1rem; }
.offcanvas { border-radius: 0; }
.modal-title, .offcanvas-title { font-size: 1.3rem !important; font-weight: 700; }
.swal2-popup { font-family: var(--og-font) !important; font-size: 1.05rem !important; border-radius: 1rem !important; }
.swal2-styled.swal2-confirm { background: var(--og-500) !important; }
#toast-container > div, .toast { font-size: 1rem !important; }

/* ---------- Auth pages ---------- */
.auth-logo img, .login-logo img, .authentication-logo img, .logo-img img { max-height: 64px !important; width: auto !important; }
.logo-normal img, .form-logo { height: 64px !important; max-height: 64px !important; width: auto !important; max-width: 100%; }
.sign-in-btn, .auth-btn .btn-secondary, .btn-secondary[type=submit] {
  background: var(--og-gradient) !important; border: 0 !important; color: #fff !important;
  box-shadow: 0 6px 16px -6px rgba(var(--og-600-rgb), .55);
}
.sign-in-btn:hover, .btn-secondary[type=submit]:hover { filter: brightness(.95); }
em, i:not([class]), .fst-italic, .forgot-pwd, a.fst-italic { font-style: normal !important; }
[dir=rtl] .form-control, [dir=rtl] .form-select { text-align: right; }
[dir=rtl] input[type=email], [dir=rtl] input[type=tel], [dir=rtl] input[type=url] { direction: ltr; text-align: right; }

/* ---------- Frontend (patient website) ---------- */
.header-center-wrapper .navbar-brand img, header .logo-default img, header .navbar-brand img { max-height: 52px !important; width: auto !important; }
.footer .footer-logo img, footer .logo-default img { max-height: 56px !important; width: auto !important; }

img.og-hero-fallback {
  object-fit: cover;
  background:
    radial-gradient(circle at 14% 50%, transparent 0 17%, rgba(255, 255, 255, .38) 17.2% 21%, transparent 21.2%),
    radial-gradient(circle at 14% 50%, transparent 0 9%, rgba(255, 255, 255, .30) 9.2% 11.5%, transparent 11.7%),
    linear-gradient(90deg, var(--og-300) 0%, var(--og-100) 55%, var(--og-50) 100%);
}
.main-banner .slick-item::before { background: linear-gradient(90deg, rgba(29, 29, 27, .28) 0%, rgba(29, 29, 27, .06) 60%) !important; }
.banner-content-wrapper {
  border-radius: 1.5rem !important; overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(var(--og-800-rgb), .45) !important;
}
.banner-content-wrapper::after { background: rgba(255, 255, 255, .92) !important; backdrop-filter: blur(6px); }
.banner-content-title { font-size: 2.2rem !important; line-height: 1.45 !important; color: var(--og-ink) !important; }
.banner-content-wrapper .btn-secondary { background: #1D1D1B !important; }

/* ---------- Quick patient (appointment forms) ---------- */
.qp-label { display: flex !important; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; }
.qp-add { padding: .2rem .6rem !important; font-size: .85rem !important; font-weight: 700; background: var(--og-75) !important; color: var(--og-700) !important; border: 0 !important; box-shadow: none !important; }
.qp-add i { vertical-align: -2px; }
.qp-box { margin-top: .6rem; padding: .85rem; border: 1px solid var(--og-300); border-radius: .875rem; background: var(--bs-body-bg); box-shadow: 0 12px 26px -18px rgba(var(--og-600-rgb), .5); }
.qp-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.qp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
@media (max-width: 575.98px) { .qp-grid { grid-template-columns: 1fr; } }
.qp-gender { display: flex; align-items: center; gap: 1rem; margin-top: .6rem; font-size: .95rem; }
.qp-gender span { font-weight: 600; }
.qp-gender label { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.qp-error { margin-top: .6rem; padding: .45rem .7rem; border-radius: .5rem; background: #FFE9E9; color: #CE2C31; font-size: .9rem; }
.qp-foot { display: flex; gap: .5rem; margin-top: .75rem; }

/* ---------- Scrollbar & selection ---------- */
::selection { background: var(--og-200); color: #1D1D1B; }
* { scrollbar-color: var(--og-300) transparent; }

/* ---------- Loader ---------- */
#loading .loader-body, .iq-loader-box { filter: hue-rotate(0deg); }
