/*
* appmain.css
* File include app pages specific css only
******************************************************************************/

.menu .app-brand.logo {
    height: 64px;
    margin-top: 12px;
    transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}

.app-brand-logo.logo40 img {
    width: 40px;
    transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}

.app-brand-logo.logo200 img{
    width: 200px;   
}

.app-brand-logo.logo300 img {
    width: 300px;
}

.app-brand-text.logo {
    font-size: 25px;
    letter-spacing: 0.1px;
    color: #c9012f !important;
}

.app-brand-name {
    font-size: 22px;
}

/* ! For .layout-navbar-fixed added fix padding top to .layout-page */

/* For internal layout */
/* Detached navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 74px !important;
}
/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.docs-page .layout-navbar-fixed.layout-wrapper:not(.layout-without-menu) .layout-page,
.docs-page .layout-menu-fixed.layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 62px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}


/* For customer layout */
.layout-content-navbar .layout-page {
    padding-top: 74px !important;
}

/* Dropdown menu minimum width */
.menuwidth260 {
    min-width: 260px !important;
}

/*
* Content
******************************************************************************/
.logo-blocks > * {
    display: block !important;
}

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

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

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

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

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-logo .btn-group .text-truncate {
    width: 231px;
    position: relative;
  }
  #dropdown-variation-logo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}

/*
* Layout logo
******************************************************************************/

.layout-logo-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-logo-placeholder img {
  width: 900px;
}
.layout-logo-info {
  text-align: center;
  margin-top: 1rem;
}

/*
* Page styles for app
******************************************************************************/

.pointer{
    cursor:pointer;
}

.requiredfield {
    color: red;
    font-weight: 600;
}
.bottommargin0{
    margin-bottom:0px;
}
.bottommargin6 {
    margin-bottom: 6px;
}
.topmargin30{
    margin-top:30px;
}
.validation-message {
    color: #dc3545; /* Bootstrap danger color */
    font-size: 0.875rem; /* Smaller font size (14px) */
    margin-top: 0.25rem; /* Small spacing from the input */
}
.width100 {
    min-width: 100px;
    flex-grow: 0;
}
.width150 {
    min-width: 150px;
    flex-grow: 0;
}
.width60 {
    min-width: 60px;
    flex-grow: 0;
}
.width200 {
    min-width: 200px;
    flex-grow: 0;
}
.width99p {
    max-width: min(99%, 1400px);
}
.width80p {
    max-width: min(80%, 1400px);
}
.width70p {
    max-width: min(70%, 1400px);
}
.width60p {
    max-width: min(60%, 1400px);
}
@media (max-width: 576px) {
    .width99p,
    .width80p,
    .width70p,
    .width60p {
        max-width: 100%;
    }
}

@media (min-width: 577px) and (max-width: 992px) {
    .width80p {
        max-width: 90%;
    }

    .width70p {
        max-width: 85%;
    }

    .width60p {
        max-width: 80%;
    }
}

.pad1{
    padding:1px;
}

.pad5 {
    padding: 5px !important;
}

.padl5{
    padding-left:5px;
}

.padr5{
    padding-right:5px;
}

.padtb10{
    padding-bottom:10px;
    padding-top:10px;
}

.marginr2{
    margin-right:2px;
}

.marginl2 {
    margin-left: 2px;
}

.marginr4 {
    margin-right: 4px;
}

.shadow-sm {
    box-shadow: 0 0.0625rem 0.3175rem 0 rgb(55 55 55 / 16%) !important
}

.border2 {
    border-width: 2px !important;
}

.wraptext {
    text-wrap: auto;
}

.nodisplay{
    display:none;
    visibility:hidden;
}

/** CSS to hide the up/down arrows (spin buttons) on number inputs.*/

.no-spin-buttons::-webkit-outer-spin-button,
.no-spin-buttons::-webkit-inner-spin-button {
    /* For WebKit browsers (Chrome, Safari, etc.) */
    -webkit-appearance: none;
    margin: 0;
}

.no-spin-buttons {
    /* For Firefox */
    -moz-appearance: textfield;
}

/* For orders list */
.bg-new {
    background-color: #7160ff;
}
.bg-pending {
    background-color: #ca9700;
}
.bg-ready {
    background-color: #59aa03;
}
.bg-served {
    background-color: #ea4c89;
}
.bg-closed {
    background-color: #6c757d;
}
.bg-cancelled {
    background-color: #ff4500;
}

/* Remove Sneat's default sub-menu dot */
.menu .menu-sub > .menu-item > .menu-link::before {
    content: none !important;
}

/* Align icon and text neatly */
.menu .menu-sub > .menu-item > .menu-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Set left padding foe sub menu items */
.menu-vertical .menu-sub .menu-link {
    padding-inline-start: 2.5rem !important;
}

/* POS Order list hover */
[data-bs-theme="light"] .list-group-item-action:hover {
    background-color: #ade4ff;
    border: 2px solid #0d6efd !important
}

/* Dark mode hover */
[data-bs-theme="dark"] .list-group-item-action:hover {
    background-color: #153d55; /* dark bluish tone for contrast */
    border: 2px solid #0d6efd !important
}

.card-hover:hover {
    /*Offset-x | Offset-y | Blur-radius | Spread-radius | Color*/
    box-shadow: 6px 7px 0px 0px rgb(231, 231, 231, 0.7);
    border: 1px solid #0d6efd !important;
    transform: translateY(-5px);
    transition: all 0.2s ease-in-out;
}

/* Card selected state for both themes */
.card-selected {
    border: 2px solid #0d6efd !important;
    box-shadow: 6px 7px 0px 0px rgb(231, 231, 231, 0.7);
}

/* --- Light Theme Styles --- */
[data-bs-theme="light"] .card-hover:hover {
    background-color: rgb(241 250 255 / 85%);
}

[data-bs-theme="light"] .card-selected {
    background-color: rgb(241 250 255 / 85%);
}

/* --- Dark Theme Styles --- */
[data-bs-theme="dark"] .card-hover:hover {
    background-color: #153d55;
    box-shadow: 6px 7px 0px 0px rgb(46 66 106 / 84%);
}

[data-bs-theme="dark"] .card-selected {
    background-color: #153d55;
    box-shadow: 6px 7px 0px 0px rgb(46 66 106 / 84%);
}

[data-bs-theme="dark"] .card-header {
    --bs-text-opacity: 1;
    color: var(--bs-white) !important;
}

/* Color variables (reusable) */
.mud-outline-primary {
    --outline-color: var(--mud-palette-primary) !important;
    --outline-contrast: var(--mud-palette-primary-text) !important;
}

.mud-outline-success {
    --outline-color: var(--mud-palette-success) !important;
    --outline-contrast: var(--mud-palette-success-text) !important;
}

.mud-outline-warning {
    --outline-color: var(--mud-palette-warning) !important;
    --outline-contrast: var(--mud-palette-warning-text) !important;
}

.mud-outline-error {
    --outline-color: var(--mud-palette-error) !important;
    --outline-contrast: var(--mud-palette-error-text) !important;
}


/* Base reusable outline hover style */
.mud-icon-btn-outline-hover.mud-button-root {
    --outline-color: var(--mud-palette-success);
    --outline-contrast: var(--mud-palette-success-text);
    color: var(--outline-color) !important;
    border: 1px solid var(--outline-color) !important;
}

    /* Hover / Focus */
    .mud-icon-btn-outline-hover.mud-button-root:hover,
    .mud-icon-btn-outline-hover.mud-button-root:focus-visible {
        background-color: color-mix(in srgb, #000 10%, var(--outline-color)) !important;
        border-color: color-mix(in srgb, #000 10%, var(--outline-color)) !important;
        color: var(--outline-contrast) !important;
    }

    /* Active */
    .mud-icon-btn-outline-hover.mud-button-root:active {
        background-color: color-mix(in srgb, #000 15%, var(--outline-color)) !important;
        border-color: color-mix(in srgb, #000 15%, var(--outline-color)) !important;
        color: var(--outline-contrast) !important;
    }

/* Disabled */
.mud-icon-btn-outline-hover.mud-disabled {
    background-color: transparent !important;
    color: var(--outline-color) !important;
    border-color: var(--outline-color) !important;
}

/* mud-typography caption font size override */
.mud-typography-caption {
    font-size: .80rem !important;
}

/* button icon */
.iconinbtn {
    transform: scale(1.5);
}

/* Customer layout page cart count */
.cart-wrapper-lyt {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cart-icon-lyt {
    font-size: 28px;
    line-height: 1;
}

.cart-count-badge-lyt {
    position: absolute;
    top: -6px;
    right: -6px;
    background-color: var(--bs-danger);
    color: var(--bs-white);
    border-radius: 12px;
    padding: 2px 6px;
    font-size: 0.75rem;
    min-width: 22px;
    text-align: center;
    font-weight: 600;
}

/* Layout page navigation div button */
.nav-button-lyt {
    width: 40px;
    height: 40px;
    border: none;
    margin-right: 12px;
}

/* Order list SELF order bg color */
[data-bs-theme="light"] .bg-self {
    background-color: #fffe94;
}

/* Order list SELF order bg color */
[data-bs-theme="dark"] .bg-self {
    background-color: #686224;
    --bs-text-opacity: 1;
    color: var(--bs-white) !important;
}

/* Wrap word to next line*/
.text-wrap-safe {
    white-space: normal;
    word-break: break-word;
}

/* Font size 0.8rem */
.fs-8{
    font-size:0.8rem;
}

/* Footer row - aggregate row - styles for MudDataGrid */
.mud-data-grid tfoot tr {
    background: #aeff94;
    font-weight: 600;
}
