/* EMEA navy override — primary palette derived from hero #1f3d6e */

:root,
[data-bs-theme=light] {
    --bs-primary: #1f3d6e;
    --bs-primary-rgb: 31, 61, 110;
    --bs-primary-text-emphasis: #162d52;
    --bs-primary-bg-subtle: #e9edf4;
    --bs-primary-border-subtle: #bdc8db;
    --bs-link-color: #1f3d6e;
    --bs-link-color-rgb: 31, 61, 110;
    --bs-link-hover-color: #162d52;
    --bs-link-hover-color-rgb: 22, 45, 82;
    --bs-focus-ring-color: rgba(31, 61, 110, 0.25);
}

[data-bs-theme=dark] {
    --bs-primary-text-emphasis: #8aa1c8;
    --bs-primary-bg-subtle: rgba(31, 61, 110, 0.2);
    --bs-primary-border-subtle: #2c4d80;
    --bs-link-color: #8aa1c8;
    --bs-link-hover-color: #a4b6d4;
}

:root[data-menu-color=light] {
    --bs-menu-item-hover-color: #1f3d6e;
    --bs-menu-item-hover-bg: rgba(31, 61, 110, 0.1);
    --bs-menu-item-active-color: #1f3d6e;
    --bs-menu-item-active-bg: rgba(31, 61, 110, 0.1);
}
:root[data-menu-color=dark],
:root[data-bs-theme=dark][data-menu-color=light] {
    --bs-menu-bg: #0b1d3a;
    --bs-menu-item-color: #a8b8d4;
    --bs-menu-item-hover-color: #ffffff;
    --bs-menu-item-hover-bg: rgba(255, 255, 255, 0.08);
    --bs-menu-item-active-color: #ffffff;
    --bs-menu-item-active-bg: rgba(255, 255, 255, 0.12);
}
:root[data-menu-color=brand] {
    --bs-menu-bg: #1f3d6e;
}
:root[data-topbar-color=light] {
    --bs-topbar-item-hover-color: #1f3d6e;
}
:root[data-topbar-color=brand] {
    --bs-topbar-bg: #1f3d6e;
    --bs-topbar-search-bg: #1a3460;
}

/* Buttons */
.btn-primary {
    --bs-btn-bg: #1f3d6e;
    --bs-btn-border-color: #1f3d6e;
    --bs-btn-hover-bg: #162d52;
    --bs-btn-hover-border-color: #14294a;
    --bs-btn-active-bg: #14294a;
    --bs-btn-active-border-color: #122544;
    --bs-btn-disabled-bg: #1f3d6e;
    --bs-btn-disabled-border-color: #1f3d6e;
}
.btn-outline-primary {
    --bs-btn-color: #1f3d6e;
    --bs-btn-border-color: #1f3d6e;
    --bs-btn-hover-bg: #1f3d6e;
    --bs-btn-hover-border-color: #1f3d6e;
    --bs-btn-active-bg: #1f3d6e;
    --bs-btn-active-border-color: #1f3d6e;
    --bs-btn-disabled-color: #1f3d6e;
    --bs-btn-disabled-border-color: #1f3d6e;
}
.btn-soft-primary {
    --bs-btn-color: #1f3d6e;
    --bs-btn-bg: #e9edf4;
    --bs-btn-border-color: #e9edf4;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1f3d6e;
    --bs-btn-hover-border-color: #1f3d6e;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1f3d6e;
    --bs-btn-active-border-color: #1f3d6e;
}

/* Backgrounds / text helpers */
.bg-primary { background-color: #1f3d6e !important; }
.text-primary { color: #1f3d6e !important; }
.border-primary { border-color: #1f3d6e !important; }

/* Dropdown / nav-pills / pagination active states */
.dropdown-menu { --bs-dropdown-link-active-bg: #1f3d6e; }
.nav-pills { --bs-nav-pills-link-active-bg: #1f3d6e; }
.page-item.active .page-link,
.page-link.active {
    background-color: #1f3d6e;
    border-color: #1f3d6e;
}
.page-link { color: #1f3d6e; }

/* Form controls focus */
.form-check-input:checked {
    background-color: #1f3d6e;
    border-color: #1f3d6e;
}
.form-range::-webkit-slider-thumb { background-color: #1f3d6e; }
.form-range::-moz-range-thumb { background-color: #1f3d6e; }

/* Progress + spinner */
.progress-bar { background-color: #1f3d6e; }

/* Table primary tint */
.table-primary {
    --bs-table-bg: #e9edf4;
    --bs-table-border-color: #bdc8db;
    --bs-table-striped-bg: #dde3ee;
    --bs-table-active-bg: #d2dae8;
    --bs-table-hover-bg: #d8dfeb;
    color: #162d52;
    border-color: #bdc8db;
}

/* Voci sidebar a 2 righe (es. "Connect / Reporting & Insights").
   Allinea icona+testo verticalmente quando il testo è su più righe. */
.side-nav .side-nav-link.connect-multi-line {
    align-items: center;
}
.side-nav .side-nav-link.connect-multi-line .menu-text {
    line-height: 1.15;
    padding: 2px 0;
}

/* ============================================================
   RTL — lingue right-to-left (arabo, ebraico)
   Override del template Hyper (che pubblica regole molto specifiche).
   Per vincere sul template originale usiamo !important sui layout core.
   ============================================================ */
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}

/* === Sidebar (leftside-menu) → posizionata a destra === */
html[dir="rtl"] .leftside-menu {
    right: 0 !important;
    left: auto !important;
}
html[dir="rtl"] .content-page {
    margin-left: 0 !important;
    margin-right: 260px !important;
}
html[dir="rtl"] .navbar-custom {
    left: 0 !important;
    right: 260px !important;
}
html[dir="rtl"] .footer {
    left: 0 !important;
    right: 260px !important;
}

/* Versione condensata della sidebar (collassata) */
html[dir="rtl"] .leftside-menu-sm,
html[dir="rtl"] body[data-sidebar-size="condensed"] .leftside-menu {
    right: 0 !important;
    left: auto !important;
}
html[dir="rtl"] body[data-sidebar-size="condensed"] .content-page {
    margin-right: 70px !important;
    margin-left: 0 !important;
}
html[dir="rtl"] body[data-sidebar-size="condensed"] .navbar-custom,
html[dir="rtl"] body[data-sidebar-size="condensed"] .footer {
    right: 70px !important;
    left: 0 !important;
}

/* Mobile (sidebar nascosta) */
@media (max-width: 767.98px) {
    html[dir="rtl"] .content-page,
    html[dir="rtl"] .navbar-custom,
    html[dir="rtl"] .footer { margin-right: 0 !important; right: 0 !important; }
}

/* === Sidebar items (allineamento icone, padding direzionale) === */
html[dir="rtl"] .side-nav .side-nav-link,
html[dir="rtl"] .side-nav .side-sub-nav-link {
    padding-right: 30px;
    padding-left: 20px;
    text-align: right;
}
html[dir="rtl"] .side-nav .menu-icon {
    margin-right: 0;
    margin-left: 12px;
}
html[dir="rtl"] .side-nav .menu-arrow {
    transform: scaleX(-1);
    left: 25px;
    right: auto;
}
html[dir="rtl"] .side-nav .menu-text {
    text-align: right;
}
html[dir="rtl"] .side-nav .side-nav-second-level,
html[dir="rtl"] .side-nav .side-nav-third-level {
    padding-right: 0;
}

/* === Topbar (notifications, dropdowns, language picker) === */
html[dir="rtl"] .topbar .topbar-menu,
html[dir="rtl"] .topbar-menu {
    flex-direction: row-reverse;
}
html[dir="rtl"] .navbar-custom .topbar-menu li.notification-list {
    margin-right: 0;
    margin-left: 8px;
}
html[dir="rtl"] .navbar-custom .button-menu-mobile {
    float: right;
}
html[dir="rtl"] .navbar-custom .app-search {
    margin-right: 0;
    margin-left: auto;
}
html[dir="rtl"] .app-search input.form-control {
    padding-right: 40px;
    padding-left: 20px;
    text-align: right;
}
html[dir="rtl"] .app-search .input-group-text {
    right: 12px;
    left: auto;
}

/* === Dropdown alignment === */
html[dir="rtl"] .dropdown-menu {
    text-align: right;
}
html[dir="rtl"] .dropdown-menu-end {
    --bs-position: end;
    right: auto;
    left: 0;
}

/* === Specchiamento icone direzionali === */
html[dir="rtl"] .mdi-chevron-right::before { content: "\F0141"; }
html[dir="rtl"] .mdi-chevron-left::before  { content: "\F0142"; }
html[dir="rtl"] .mdi-arrow-right::before   { content: "\F004D"; }
html[dir="rtl"] .mdi-arrow-left::before    { content: "\F0054"; }
html[dir="rtl"] [data-lucide="chevron-right"],
html[dir="rtl"] [data-lucide="chevron-left"],
html[dir="rtl"] [data-lucide="arrow-right"],
html[dir="rtl"] [data-lucide="arrow-left"]    { transform: scaleX(-1); }

/* === Utility margin direzionali (Bootstrap me/ms/ps/pe) in RTL === */
html[dir="rtl"] .me-1 { margin-right: 0 !important; margin-left: .25rem !important; }
html[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: .5rem  !important; }
html[dir="rtl"] .me-3 { margin-right: 0 !important; margin-left: 1rem   !important; }
html[dir="rtl"] .ms-1 { margin-left: 0 !important;  margin-right: .25rem !important; }
html[dir="rtl"] .ms-2 { margin-left: 0 !important;  margin-right: .5rem  !important; }
html[dir="rtl"] .ms-3 { margin-left: 0 !important;  margin-right: 1rem   !important; }
html[dir="rtl"] .pe-1 { padding-right: 0 !important; padding-left: .25rem !important; }
html[dir="rtl"] .pe-2 { padding-right: 0 !important; padding-left: .5rem  !important; }
html[dir="rtl"] .pe-3 { padding-right: 0 !important; padding-left: 1rem   !important; }
html[dir="rtl"] .ps-1 { padding-left: 0 !important; padding-right: .25rem !important; }
html[dir="rtl"] .ps-2 { padding-left: 0 !important; padding-right: .5rem  !important; }
html[dir="rtl"] .ps-3 { padding-left: 0 !important; padding-right: 1rem   !important; }
html[dir="rtl"] .text-end   { text-align: left  !important; }
html[dir="rtl"] .text-start { text-align: right !important; }
html[dir="rtl"] .float-end  { float: left  !important; }
html[dir="rtl"] .float-start{ float: right !important; }

/* === Form: input numerici/email/date restano LTR per leggibilità === */
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="date"],
html[dir="rtl"] input[type="datetime-local"],
html[dir="rtl"] input[type="time"],
html[dir="rtl"] code,
html[dir="rtl"] pre,
html[dir="rtl"] .ltr-content { direction: ltr; text-align: right; unicode-bidi: isolate; }

/* Tabelle: numeri allineati a destra (= start in RTL) restano leggibili */
html[dir="rtl"] table { direction: rtl; }
html[dir="rtl"] table th, html[dir="rtl"] table td { text-align: right; }

/* Cards / panels: header non si rovescino male se hanno icone+testo */
html[dir="rtl"] .card-header { text-align: right; }

/* Pulsanti con icona+testo (es. "icona + Salva") */
html[dir="rtl"] .btn i.me-1,
html[dir="rtl"] .btn i.me-2 { margin-left: .35rem !important; margin-right: 0 !important; }

/* Form-check (checkbox/radio) — il check va a destra del label in RTL */
html[dir="rtl"] .form-check { padding-left: 0; padding-right: 1.5em; }
html[dir="rtl"] .form-check-input { float: right; margin-left: .5em; margin-right: -1.5em; }

/* Modal close button: torna a sinistra in RTL (era a destra in LTR) */
html[dir="rtl"] .btn-close { margin-right: auto; margin-left: 0; }
html[dir="rtl"] .modal-header .btn-close { margin: -0.5rem auto -0.5rem -0.5rem; }
