
.mt-70 {
    margin-top: 70px;
}
.lh-2{
    line-height: 2!important;
}
.lh-1{
    line-height: 1!important;
}

.px-2-5{
    padding-left: 2.5rem!important;
    padding-right: 2.5rem!important;
}

@media (max-width: 991.98px) {
    .px-2-5{
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }
}

.input-group.input-group-outline.is-filled .form-label + .form-control 

{
    border-color: var(--bs-gray-500)!important;
    border-top-color: transparent !important;
    box-shadow: none!important;
} 

.input-group.input-group-outline.is-filled .form-label { 


    color: var(--bs-gray-900)!important;
}

.input-group.input-group-outline.is-filled .form-label:before {
    border-top-color: var(--bs-gray-500)!important;
    box-shadow: inset 0 0px var(--bs-gray-500)!important;
}

.input-group.input-group-outline.is-filled .form-label:after {
    border-top-color: var(--bs-gray-500)!important;
    box-shadow: inset 0 0px var(--bs-gray-500)!important;
}
 /* Fieldset styling: minimal margins/padding */
 .compact-fieldset {
    border: 1px solid #adb5bd;
    /* same border style as before */
    border-radius: 0.25rem;
    /* reduce space between fieldsets */
    padding: 1em;
    /* minimal padding around input */
    position: relative;
    margin-top: -0.40rem;
}

/* Legend styling: smaller font, minimal padding around text */
.compact-fieldset legend {
    font-size: 0.6875rem !important;
    line-height: 1.25 !important;
    margin: 0;
    padding: 0 0.3rem;
    width: auto;
    float: none;
    color: #212529;
}

/* Input styling: smaller font, narrower width, smaller height */
.compact-input {
    font-size: 0.7rem;
    height: 1.2rem;
    width: 60%;
    border: 0;
    margin: 0.1rem 0;
}

.page-item.active .page-link{
    background-color: var(--bs-pagination)!important;
    border-color: var(--bs-pagination)!important;

}
.visibility-hidden{
    visibility: hidden;
}
.display-block{
    display: block;
}

.custom-dropdown {
    max-height: 250px; /* Set max height */
    overflow: hidden; /* Hide overflow outside */
}

.dropdown-scroll {
    max-height: 200px; /* Adjust height as needed */
    overflow-y: auto; /* Enable vertical scroll */
}

.selected-crops {
    display: inline-block;
    max-width: 100%; /* Adjust width as needed */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.input-group.input-group-outline.is-focused .form-label:before {
    border-top-color: var(--bs-dark)!important;
    box-shadow: inset 0 0px var(--bs-gray-500)!important;
}

.input-group.input-group-outline.is-focused .form-label:after {
    border-top-color: var(--bs-dark)!important;
    box-shadow: inset 0 0px var(--bs-gray-500)!important;
}

.input-group.input-group-outline.is-focused .form-label + .form-control 

{
    border-color: var(--bs-dark)!important;
    border-top-color: transparent !important;
    box-shadow: none!important;
} 

.input-group.input-group-outline button.form-control {
    border-left-color: var(--bs-gray-500)!important;
    border-right-color: var(--bs-gray-500)!important;
    border-bottom-color: var(--bs-gray-500)!important;
}

.input-group.input-group-outline button.form-control.show {

    border-left-color: var(--bs-primary)!important;
    border-right-color: var(--bs-primary)!important;
    border-bottom-color: var(--bs-primary)!important;
    
}

.input-group.input-group-outline button.form-control.show label::after {

    border-left-color: var(--bs-primary)!important;
    
}

.input-group.input-group-outline.is-filled:has(.show) > .form-label:before {
   
    border-top-color:  var(--bs-primary)!important;
}
.input-group.input-group-outline.is-filled:has(.show) > .form-label:after {
   
    border-top-color:  var(--bs-primary)!important;
}
.auto-complete-field {
    
}

.table-secondary {
    --bs-table-bg: var(--bs-dark);
    color: #ffffff;
}

.input-group .input-group-text {
    right: 7px !important;
}

.input-group .input-group-left {
    left: 1px !important;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){
   border-top-right-radius: 0.375rem !important;   
   border-bottom-right-radius: 0.375rem !important;
}


.btn-primary,
.btn.bg-gradient-primary {
  box-shadow: none !important;
  background-image: none !important;
  background-color:var(--bs-dark) !important; /* or your base color */
  border-color: var(--bs-dark)!important;
}

.btn-primary:hover,
.btn.bg-gradient-primary:hover,
.btn-primary:focus,
.btn.bg-gradient-primary:focus,
.btn-primary:active,
.btn.bg-gradient-primary:active,
.btn-primary:focus-visible,
.btn.bg-gradient-primary:focus-visible {
  box-shadow: none !important;
  background-color: var(--bs-dark) !important;  /* same color as base to avoid change */
  border-color: var(--bs-dark) !important;
  outline: none !important;
}
.text-primary {
  color: var(--bs-dark) !important;
}

a:hover {
  color: var(--bs-dark);
  text-decoration: none;
}


.sidenav .nav-link.active {
    background-color:var(--bs-dark) !important; /* Or use #0d6efd */
    color: #fff !important; /* Ensure text is visible */
    border-radius: 0.375rem; /* Optional rounding */
  }

.accordion-button-alignment {
    padding: 0.5rem !important;
}

.modal.d-block {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.5);
    z-index: 1050;
}


.modal-dialog {
    max-height: 90vh;
    overflow: hidden;
}

.modal-body {
    flex: 1;
    overflow-y: auto;
    max-height: 80vh;
}

.alert-success{
    color: #ffffff;
}


  

/* 


.input-group.input-group-outline.is-focused .form-label + .form-control, .input-group.input-group-outline.is-filled .form-label + .form-control:focus{
    border-color: #922790 !important;
    border-radius: 5px;
}
.form-control:focus {
    border-color: #922790 !important;
    border-top:0!important;
    border-radius: 5px;
}
label.form-check-label,.dropdown.dropdown-hover .dropdown-menu, .dropdown .dropdown-menu{
    transform:none !important;
    color:#212529;
    will-change: auto  !important;
}
 */

  /* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield !important;
}

.modal-dialog{
    width: 100% !important;
}

@media (min-width: 1200px) {
    .modal-xl {
        max-width: 100% !important;
    }
}

.modal-header h5.modal-title {
    margin-bottom: 0; 
}

.modal-header .btn {
    margin-bottom: 0; 
}


/* Styles for the row container */
.stair-step-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

/* Base styles for each card (for smaller screens) */
.stair-step-card {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 1rem;
    box-sizing: border-box;
}

/* Media query for desktop resolutions (e.g., 992px and up) */
@media (min-width: 992px) {
    .stair-step-card {
        width: 50%;
    }
}

/* Custom styles for iPad responsiveness */
/* Targeting iPads */
@media (min-width: 768px) and (max-width: 1024px) {
    .ipad-modal-responsive {
        max-width: 95%;
        margin: 0 auto;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .div-handrail-bent {
        width: 50%;
    }
}

/* Targeting iPad Pro and larger tablets */
@media (min-width: 1025px) {
    .ipad-modal-responsive {
        max-width: 90%;
        margin: 0 auto;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .div-handrail-bent {
        width: 50%;
    }
}

.modal-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Custom CSS for table responsiveness */

/* --- Adjustments for general tablet sizes (up to iPad Pro portrait) --- */
@media (max-width: 1024px) {
    .table th,
    .table td {
        padding-left: 0.75rem !important; 
        padding-right: 0.75rem !important;
        font-size: 0.9rem; 
    }
    .div-handrail-bent {
        width: 50%;
    }
}

/* --- Adjustments for iPad Air Portrait and similar (e.g., 820px wide) --- */
@media (max-width: 820px) {
    .table th,
    .table td {
        padding-left: 0.5rem !important; 
        padding-right: 0.5rem !important;
        font-size: 0.85rem;
    }

    /* Ensure text within contact details wraps */
    .contact-details-cell {
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* For date/time, ensure they don't force width */
    .date-time-cell {
        white-space: nowrap;
    }
    .div-handrail-bent {
        width: 50%;
    }
}

/* --- Adjustments for iPad Mini Portrait and similar (e.g., 768px wide) --- */
@media (max-width: 768px) {
    .table th,
    .table td {
        padding-left: 0.3rem !important;
        padding-right: 0.3rem !important;
        font-size: 0.8rem;
        white-space: normal !important;   /* Allow wrapping */
        overflow: visible !important;     /* Let content flow */
        text-overflow: unset !important;
        word-break: break-word;  
    }

    .contact-details-cell .full-address-line {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 150px;
    }
   
}

.edit-steps-modal .modal-header {
    flex-wrap: nowrap;
}

.edit-steps-modal .modal-header > .d-flex:first-child {
    flex-shrink: 1;
    min-width: 0;
    flex-wrap: nowrap;
}

/* Media Query for iPads and similar tablets (e.g., Bootstrap's md breakpoint: < 992px) */
@media (max-width: 991.98px) {
    .edit-steps-modal .modal-header .d-flex.gap-3 {
        gap: 0.5rem;
    }

    .edit-steps-modal .modal-header .btn {
        padding: 0.375rem 0.75rem;
        font-size: 0.875rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 1;
        min-width: 0;
    }

    .edit-steps-modal .modal-header .d-flex.align-items-center .numStepsToAdd {
        width: 60px;
        min-width: 60px;
        max-width: 80px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        height: 34px;
        flex-shrink: 1;
    }

    /* Ensure the "shorter text" span is visible on sm and below md */
    .edit-steps-modal .btn-primary span.d-sm-inline-block.d-md-none,
    .edit-steps-modal .btn-info span.d-sm-inline-block.d-md-none {
        display: inline-block !important;
    }

    /* Ensure the "shortest text/icon" span is visible on xs (below sm) */
    .edit-steps-modal .btn-primary span.d-sm-none,
    .edit-steps-modal .btn-info span.d-sm-none {
        display: inline-block !important;
    }

    /* Hide the "full text" span on screens smaller than md */
    .edit-steps-modal .btn-primary span.d-none.d-md-inline-block,
    .edit-steps-modal .btn-info span.d-none.d-md-inline-block {
        display: none !important;
    }

    .edit-steps-modal .livewire-input-field label {
        display: none;
    }
}

/* Media Query for smaller phones (e.g., Bootstrap's sm breakpoint: < 768px) */
@media (max-width: 767.98px) {
    .edit-steps-modal .modal-header .btn {
        padding: 0.25rem 0.5rem;
        font-size: 0.8rem;
    }

    .edit-steps-modal .modal-header .d-flex.align-items-center .numStepsToAdd {
        width: 50px;
        min-width: 50px;
    }

    /* On very small screens, hide the "shorter text" span, only "shortest text/icon" should be visible */
    .edit-steps-modal .btn-primary span.d-sm-inline-block.d-md-none,
    .edit-steps-modal .btn-info span.d-sm-inline-block.d-md-none {
        display: none !important;
    }
}

#confirmDeleteModal .modal-dialog {
    margin-top:10rem;
}
#confirmFloorDeleteModal .modal-dialog {
    margin-top: 10rem; 
}

.label { color: #004488; }

.borderless-top{
    border-top:none !important;
}
.borderless-bottom{
    border-bottom:none !important;
}

.greyed {
    background-color: #A6C0D7 !important;
    border: 5px solid #A6C0D7 !important;
}

.text-italic {
    font-style: italic !important;
}

.border-color{
    border: 1px solid #004488 !important;
}

.border-solid-color{
    border: 4px solid #004488 !important;
}

#salesAdvisorSignatureModal .modal-dialog {
    margin-top: 10rem; 
}

#customerSignatureModal .modal-dialog {
    margin-top: 10rem; 
}

.alert-danger { color: #ffffff; }
.alert-info{ color: #ffffff; }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .nav-tabs {
        display: flex;
        flex-wrap: wrap;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
        margin-bottom: 0;
    }

    .nav-item {
        flex-shrink: 0;
        margin-right: 2px;
        margin-bottom: 2px;
        line-height: 1;
    }

    .nav-link {
        font-size: 0.8em !important;
        padding: 0.5rem 0.75rem !important;
    }

    .card {
        padding: 10px !important;
    }

    .card-header {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 0.5rem 0 !important;
        background-color: white;
        width: 100%;
    }

    @media only screen and (max-device-width: 820px) {
        .nav-link {
            font-size: 0.75em !important;
            padding: 0.4rem 0.6rem !important;
        }
    }
}


.select-readonly {
  background-color: #726f6f40; 
  cursor: not-allowed !important;
}

.borderless-right{
    border-right:none;
}

.borderless-left{
    border-left:none;
}

.table-border-color{
        border: 1px solid #004488;
}

.input-disabled  {
  background-color: #aaa7a740 !important; 
  cursor: not-allowed;
  pointer-events: none;  /* Prevents user interaction */
}

.confirmFloorDeleteModal
{
    margin-top: 12rem; 
}

.alert-info
{ 
    background-image: none !important;
    background-color: #fd7e14 !important;
}

/* Ensures the dropdown itself doesn't shrink below a certain width */
.stair-step-card .form-select {
    min-width: 140px; 
    flex-shrink: 0;
    width: auto;
}

/* Ensures the container holding the dropdown and 'x' button has enough space */
.stair-step-card .col-2 {
    flex-shrink: 0;
    min-width: 180px;
}

.no-x-button-present {
    /* Remove the gap */
    gap: 0 !important;
    justify-content: flex-end;
}

.no-x-button-present .form-select {
    width: 100%;
    max-width: 100%;
}

.div-handrail-bent {
    width: 30%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .div-handrail-bent {
        width: 50%;
    }
}

@media only screen and (min-width: 834px) and (max-width: 1194px) {
    .div-handrail-bent {
        width: 50%;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1366px) {
    .div-handrail-bent {
        width: 50%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1366px) {
    .div-handrail-bent {
        width: 50%;
    }
}

.stair-tab-button {
    border: 1px solid #1D56A5 !important;
    border-radius: 5px !important;
    margin-bottom: 0.5rem !important;
    padding: 0.5rem 1rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 32% !important;
}
.color-black{
    color:black;
}
/*  */

.swal2-styled.swal2-confirm {
    background-image: linear-gradient(195deg, #1D56A5 0%, #1D56A5 100%);
}

.swal2-styled.swal2-confirm:hover, .swal2-styled.swal2-confirm:focus {
    background-image: linear-gradient(195deg, #1D56A5 0%, #1D56A5 100%) !important;
}

.swal2-icon.swal2-info{
    border-color: #fd7e14;
    color: #fd7e14;
}

#deleteCustomerSignatureModal .modal-dialog {
    margin-top: 10rem; 
}

#deleteSalesAdvisorSignatureModal .modal-dialog {
    margin-top: 10rem; 
}

.border-header-color
{
    border: 1px solid #1D56A5;
}



.custom-margin-left
{
    margin-left: 1rem !important;
    
}

.custom-margin-right
{
    margin-right: 1rem !important;
    margin-left: 5rem !important;
}

#addStairDecisionModal .modal-dialog {
    margin-top: 10rem; 
}

#moveStairCreateOrder .modal-dialog {
    margin-top: 10rem; 
}

.borderless {
    border:none; 
}

.border-bottom-right {
    border-bottom: red; 
    border-right: red;
    border-left: red;

}

.borderless-bottom {
    border-bottom:none !important;
}

.borderless-left {
    border-left:none !important;
}

.borderless-right {
    border-right:none !important;
}

.borderless-top {
    border-top:none !important;
}
.remark-underlined {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.underline-fill {
    display: inline-block;
    border-bottom: 1px solid #004488;
    width: 100%;
    height: 1.2em;
    margin-left: 8px;
}

.underline-line {
    border-bottom: 1px solid #004488;
    width: 100%;
    height: 1.2em;
}
.text-black {
    color: #000000 !important;
}
.show-label-color label {
    color: #004488 !important;
}

#salesMarginPricesModal .modal-dialog {
    margin-top: 10rem; 
}

.page-item.active .page-link {
    background-color: #004488 !important;
    border-color: #004488 !important;
}

.stair-form-container {
    position: relative; /* This is the key for positioning the button */
    padding-top: 50px; /* Add padding to prevent the button from overlapping content */
}

.responsive-stair-layout {
    display: flex;
    flex-wrap: wrap;
}

/* Desktop and higher resolutions (min-width: 1025px) */
@media (min-width: 1025px) {
    .move-order-button {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 10;
    }

    .left-col {
        order: 1;
    }

    .middle-col {
        order: 2;
    }

    .right-col {
        order: 3;
    }
}

/* iPad and smaller screens (max-width: 1024px) */
@media (max-width: 1024px) {
    .stair-form-container {
        padding-top: 10px; /* Reset padding for smaller screens */
    }
    
    .responsive-stair-layout {
        flex-direction: column; /* Stack columns vertically */
    }
    
    /* The button should be at the bottom */
    .move-order-button {
        position: static; /* <-- THIS IS THE KEY FIX */
        order: 5; /* Place button at the bottom of the flex container */
        margin-top: 1rem;
        text-align: right;
        width: 100%;
    }

    .left-col {
        order: 1;
    }

    .middle-col {
        order: 2;
    }

    .right-col {
        order: 3;
    }
}

.error-container {
    min-height: 1.25rem;
}

#orderVersioningModalBox .modal-dialog {
    margin-top:10rem;
}
.group-order-select {
    border-color: #1D56A5 !important;
}

.btn-outline-primary.active {
    color: #ffffff !important;
}
.dropdown-item.active, .dropdown-item:active {
    color: #1D56A5;
    text-decoration: none;
    background-color: transparent;
}
.dropdown-item:hover, .dropdown-item:focus {
    color: #ffffff;
    background-color: #1D56A5;
}