/**
 * @file
 * Right-to-left overrides for the dashboard theme.
 *
 * Drupal stamps `dir="rtl"` on <html> when the interface language is RTL
 * (Arabic). Everything here mirrors a physical left/right rule declared in
 * dashboard.css; the Bartik-era component files (header.css, sidebar.css,
 * main-content.css, ...) already ship their own [dir="rtl"] rules, and the
 * solution navigation (apps/solution_navigation.css) uses logical
 * properties, so neither needs anything from this file.
 *
 * Loaded last in the global-styling library so specificity ties resolve in
 * favour of the RTL rule. When adding a new left/right rule to dashboard.css
 * either use a logical property (margin-inline-start, inset-inline-end, ...)
 * or add its mirror here.
 */

/* ---------------------------------------------------------------------
   Base
   --------------------------------------------------------------------- */

/* Bootstrap's reboot pins `text-align: left` on body, which would defeat
   the document direction. */
[dir="rtl"] body {
  text-align: right;
}

[dir="rtl"] table caption,
[dir="rtl"] .branch-coverage th.field-label,
[dir="rtl"] .create-form .site-branding,
[dir="rtl"] #edit-group-item-availability fieldset,
[dir="rtl"] #edit-group-item-availability .field--type-datetime,
[dir="rtl"] #field-item-variation-group-values .form-type-checkbox label {
  text-align: right;
}

/* Native <select> arrow (dashboard.css paints it at the far right). */
[dir="rtl"] select {
  background-position: 10px 15px;
}

[dir="rtl"] .create-form select {
  background-position: 15px 22px;
}

/* Phone inputs (intl-tel-input) keep the flag on the left and digits LTR:
   numbers are read left-to-right in Arabic UIs too. */
[dir="rtl"] .iti {
  direction: ltr;
  text-align: left;
}

/* ---------------------------------------------------------------------
   Header: account menu, breadcrumb, mobile branding + hamburger
   --------------------------------------------------------------------- */

[dir="rtl"] nav#block-dashboard-account-menu {
  margin-left: 0;
  margin-right: auto;
}

[dir="rtl"] nav#block-dashboard-account-menu li.menu-item,
[dir="rtl"] div#block-dashboard-breadcrumbs,
[dir="rtl"] div#block-dashboard-breadcrumbs li,
[dir="rtl"] div#block-mobilemenuholder {
  float: right;
}

[dir="rtl"] div#block-customsitebrandingmobile {
  float: left;
}

[dir="rtl"] .menu-splash {
  right: auto;
  left: 40px;
}

[dir="rtl"] .menu-splash::after {
  left: auto;
  right: -142vmax;
}

[dir="rtl"] ul#menu-mobile {
  left: auto;
  right: -17px;
}

@media only screen and (max-width: 600px) {
  [dir="rtl"] nav#block-dashboard-account-menu li.menu-item {
    padding: 0 7px 0 0;
  }
}

/* ---------------------------------------------------------------------
   Page chrome: title, actions, exposed filters, tools dropdown, messages
   --------------------------------------------------------------------- */

[dir="rtl"] nav.action-links,
[dir="rtl"] div#block-primaryadminactions,
[dir="rtl"] div#block-pagetitle,
[dir="rtl"] #theme-tabs {
  float: right;
}

[dir="rtl"] .views-exposed-form {
  float: left;
}

[dir="rtl"] .tools-dropdown-toggle,
[dir="rtl"] .app-preview {
  float: left;
  margin-left: 0;
  margin-right: 5px;
}

[dir="rtl"] .tools-dropdown-menu.show {
  right: auto;
  left: 0;
}

[dir="rtl"] .tools-dropdown-menu.show .tools-dropdown-menu-item svg {
  margin-right: 0;
  margin-left: 10px;
}

[dir="rtl"] .tools-dropdown-menu.show .tools-dropdown-menu-item .button,
[dir="rtl"] .tools-dropdown-menu.show a {
  text-align: right;
}

[dir="rtl"] .tools-save {
  margin: 0 auto 0 0;
}

[dir="rtl"] .status-messages {
  right: auto;
  left: 20px;
}

[dir="rtl"] .js td .dropbutton-multiple {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 80px;
}

[dir="rtl"] .view-id-invoice.view-display-id-page_1 .views-field.views-field-nothing .print-invoice {
  right: auto;
  left: 20px;
}

/* ---------------------------------------------------------------------
   Forms
   --------------------------------------------------------------------- */

[dir="rtl"] .form-left {
  float: right;
}

[dir="rtl"] .form-right {
  float: left;
}

[dir="rtl"] .field-group-tabs-wrapper li.horizontal-tab-button {
  margin-right: 5px;
  margin-left: 2px;
}

[dir="rtl"] a.tabledrag-handle .handle {
  margin: 0 5px 0 0;
}

[dir="rtl"] .js .field--widget-entity-reference-paragraphs .draggable .tabledrag-handle {
  padding-left: 0;
  margin-left: 0;
  margin-right: 10px;
}

[dir="rtl"] .field--name-field-item-variants .field--name-field-item-variant-name,
[dir="rtl"] .field--name-field-item-variants .field--name-field-item-variant-price,
[dir="rtl"] .field--name-field-item-addons .field--name-field-item-addons-name,
[dir="rtl"] .field--name-field-item-addons .field--name-field-item-addons-price,
[dir="rtl"] .field--type-variant .js-form-item .js-form-item,
[dir="rtl"] .field--type-keyvalue .js-form-item .js-form-item,
[dir="rtl"] div.slot-start,
[dir="rtl"] div.slot-end {
  float: right;
  margin-right: 0;
  margin-left: 1%;
}

/* Checkbox → toggle: the knob glyph sits at the inline end when off and
   slides to the inline start when on. */
[dir="rtl"] .form-type-checkbox input {
  left: auto;
  right: -9999px;
}

[dir="rtl"] .form-type-checkbox label::before {
  text-align: left;
  margin-right: 0;
  margin-left: 10px;
}

[dir="rtl"] .form-type-checkbox input:checked + label::before {
  text-align: right;
}

[dir="rtl"] .form-type-checkbox label:first-of-type {
  transform: translateX(40px);
}

[dir="rtl"] .field--type-image table tbody td:last-child {
  right: auto;
  left: -10px;
}

[dir="rtl"] .field--type-image table tbody td:first-child .tabledrag-handle {
  left: auto;
  right: 0;
}

[dir="rtl"] .field--name-variation-id .form-wrapper .button[value^="Add"],
[dir="rtl"] .field--name-addon-group-id .form-wrapper .button[value^="Add"] {
  background-position: right;
  padding-left: 0;
  padding-right: 30px;
}

[dir="rtl"] .variation-row .field--type-image .image-widget .image-widget-data .button {
  right: auto;
  left: 3px;
}

[dir="rtl"] .input-prefix {
  margin-left: 0;
  margin-right: 1%;
}

/* Builder form (application/builder) */
[dir="rtl"] form#apps-theme-form .custom_vertical_tabs ul.horizontal-tabs-list,
[dir="rtl"] form#apps-theme-form .custom_vertical_tabs .horizontal-tabs-panes,
[dir="rtl"] form#apps-theme-form .form-group.dimen div {
  float: right;
}

[dir="rtl"] form#apps-theme-form .custom_vertical_tabs li.horizontal-tab-button.horizontal-tab-button-0.first {
  margin-left: 2px;
  margin-right: 0;
}

[dir="rtl"] form#apps-theme-form .form-group.dimen select {
  margin-left: 0;
  margin-right: 1rem;
}

/* ---------------------------------------------------------------------
   Login / register / create-application screens
   --------------------------------------------------------------------- */

[dir="rtl"] .login-form .forgot-password {
  text-align: left;
}

[dir="rtl"] .logo-side {
  background-position: 0%;
  border-right: 0;
  border-left: 10px solid #e5e5e5;
}

[dir="rtl"] .create-form .js-form-item label,
[dir="rtl"] .create-form .js-form-item input[type="radio"],
[dir="rtl"] .create-form .step-left {
  float: right;
}

[dir="rtl"] .create-form .step-right {
  float: left;
  text-align: left;
}

[dir="rtl"] .create-form .theme-preview .theme-screen {
  margin-left: 0;
  margin-right: 1.5%;
}

[dir="rtl"] .create-form div.plan .monthly .dollar {
  left: auto;
  right: 3px;
}

[dir="rtl"] .create-form .application-create-section.application-icons .form-type-managed-file .image-widget .image-widget-data .button[value~=Remove] {
  right: auto;
  left: -10px;
}

[dir="rtl"] .create-form .application-create-section.application-icons .form-type-managed-file .js-form-file::before {
  left: auto;
  right: 0;
}

/* Onboarding steps */
[dir="rtl"] .steps .steps-indicator-item {
  margin-right: 0;
  margin-left: 5px;
}

[dir="rtl"] .steps .steps-item-indicator {
  float: right;
  margin: 0 0 0 10px;
}

[dir="rtl"] .steps-item-details {
  padding-left: 0;
  padding-right: 30px;
}

[dir="rtl"] div#congratulation-message {
  padding-left: 0;
  padding-right: 60px;
}

/* ---------------------------------------------------------------------
   Cards, lists, page-specific widgets
   --------------------------------------------------------------------- */

[dir="rtl"] .gateway .gateway-footer .status {
  float: right;
}

[dir="rtl"] .gateway .gateway-footer .configure {
  float: left;
}

[dir="rtl"] .customer-profile span.material-symbols-sharp,
[dir="rtl"] .customer-addresses .form-box .views-label,
[dir="rtl"] .segmentation-pill::before,
[dir="rtl"] .item-card .views-field.views-field-branch-id-target-id li {
  margin-right: 0;
  margin-left: 5px;
}

[dir="rtl"] .item-card .views-field.views-field-branch-id-target-id li {
  margin-left: 10px;
}

[dir="rtl"] .customer-profile .views-field.views-field-operations,
[dir="rtl"] .customer-addresses .form-box .dropbutton-wrapper.dropbutton-multiple {
  margin: 10px auto 0 0;
}

[dir="rtl"] .view-branch-status .branch-status {
  margin: 10px auto 10px 0;
}

[dir="rtl"] .item-card .views-field.views-field-base-price {
  padding: 0 15px 0 0;
}

[dir="rtl"] .item-card .views-field.views-field-category-id-target-id,
[dir="rtl"] .item-card .views-field.views-field-sortable-handle {
  left: auto;
  right: 15px;
}

[dir="rtl"] .views-field.views-field-available {
  right: auto;
  left: 15px;
}

[dir="rtl"] .drivers-tracking-bar {
  flex-direction: row;
}

/* Coverage tree guide lines */
[dir="rtl"] .states-wrapper,
[dir="rtl"] .cities-wrapper,
[dir="rtl"] .areas-wrapper {
  border-left: 0;
  margin-left: 0;
}

[dir="rtl"] .states-wrapper {
  border-right: 2px solid #3d30ee;
  margin-right: 10px;
}

[dir="rtl"] .cities-wrapper {
  border-right: 2px solid #0075ff;
  margin-right: 55px;
}

[dir="rtl"] .areas-wrapper {
  border-right: 2px solid #00cfff;
  margin-right: 50px;
}

/* MOBI assistant chat: the user's bubbles hug the inline end. In LTR that
   is done by flipping the line to rtl; mirror it. */
[dir="rtl"] #chat-container .chat-line {
  direction: rtl;
}

[dir="rtl"] #chat-container .chat-line.user {
  direction: ltr;
}

[dir="rtl"] #chat-container span.message {
  direction: rtl;
  border-radius: 10px 10px 0 10px;
}

[dir="rtl"] #chat-container .chat-line.user span.message {
  border-radius: 10px 10px 10px 0;
}

[dir="rtl"] #chat-container a.action-button {
  padding-right: 0;
  padding-left: 25px;
  background-position: left;
}
