/* Order tracking timeline */
.order-tracking {
  text-align: center;
  width: 25%;
  position: relative;
  display: block;
}
.order-tracking .is-complete {
  display: block;
  position: relative;
  border-radius: 50%;
  height: 15px;
  width: 15px;
  border: 0px solid #afafaf;
  background-color: #eeeeee;
  margin: 0 auto;
  transition: background 0.25s linear;
  -webkit-transition: background 0.25s linear;
  z-index: 2;
}
.order-tracking .is-complete:after {
  display: block;
  position: absolute;
  content: "";
  height: 8px;
  width: 7px;
  top: 0px;
  bottom: 0;
  left: 5px;
  margin: auto 0;
  border: 0px solid #afafaf;
  border-width: 0px 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.order-tracking.completed .is-complete {
  border-color: #27aa80;
  border-width: 0px;
  background-color: #27aa80;
}
.order-tracking.completed .is-complete:after {
  border-color: #fff;
  border-width: 0px 2px 2px 0;
  width: 5px;
  left: 5px;
  opacity: 1;
}
.order-tracking p {
  color: #a4a4a4;
  font-size: 12px;
  margin-top: 2px;
  margin-bottom: 0;
}
.order-tracking p span {
  font-size: 14px;
}
.order-tracking.completed p {
  color: #000;
}
.order-tracking::before {
  content: "";
  display: block;
  height: 1px;
  width: calc(100% - 24px);
  background-color: #eeeeee;
  top: 8px;
  position: absolute;
  left: calc(-50% + 12px);
  z-index: 0;
}
.order-tracking:first-child:before {
  display: none;
}
.order-tracking.completed:before {
  background-color: #27aa80;
}

.btn-close-editor {
  min-width: auto !important;
}

.card-payment-method .form-check-label {
  margin-bottom: 15px;
}

#imeiserviceDetails .page-title {
  padding: 0;
}

.tpl-cart .page-title,
.tpl-client_retail_group .page-title,
.tpl-cart_item_config .page-title {
  display: none;
}

.tpl-cart .page-title.inner-page-title,
.tpl-client_retail_group .page-title.inner-page-title,
.tpl-cart_item_config .page-title.inner-page-title {
  display: block !important;
}
.tpl-cart_checkout .card-registration {
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.wizard > .steps .current-info,
.wizard > .steps .number {
  display: none;
}

section h5 {
  display: none;
}
.wizard-title {
  font-weight: 200;
  font-size: 1.5rem;
  text-transform: uppercase;
}
.steps ul {
  display: flex;
  position: relative;
  list-style: none;
  justify-content: space-between;
  padding: 0;
  flex-wrap: nowrap;
  border: none;
}
.steps ul li {
  width: 100%;
  margin: 2px;
}
.steps ul li a {
  display: inline-block;
  width: 100%;
  height: 4px;
  background: #e6e6e6;
  border-radius: 3.5px;
}
.steps ul li.first a,
.steps ul li.checked a {
  background: #f3d4b7;
  transition: all 0.5s ease;
}

.nav-tabs.nav-wizard .nav-link {
  border: none !important;
  height: 5px;
  padding: 0;
  border-radius: 10px;
}

.big-badge .badge {
  font-size: 35px;
  font-weight: 100;
}

.paymentbtn {
  width: 100%;
}

.ordertheme img {
  border-radius: 5px;
}

address {
  opacity: 0.6;
}

.service-list h3.title {
  margin-top: 10px;
}
.colon {
  min-width: 50px;
  text-align: center;
}
.services .table h5 {
  padding-bottom: 0;
}

.btn-primary.disabled,
.btn-primary:disabled {
  border-color: transparent;
}

.loadinfo {
  font-size: 80%;
}

.loadinfo p {
  margin-top: 1rem;
}

.btn-cartview-next {
  max-width: 380px;
}

.cart-gallery {
  border: #d0d2d5 solid 1px;
  height: 100%;
  border-radius: 5px;
}

.col-product {
  margin-top: 12px;
  margin-bottom: 12px;
}

.btn.focus,
.btn:focus {
  box-shadow: none;
}

/* Mobile action bar */
.d-actionbar-mobile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 8px 8px;
  background: var(--actionbar-bg);
  color: var(--actionbar-text);
  transform: translateY(0);
  transition: transform 0.28s ease;
}
.d-actionbar-mobile .col {
  padding: 0 6px;
  margin: 0;
  flex: 1 1 0;
}
.d-actionbar-mobile > * {
  display: flex;
  align-items: center;
}
.d-actionbar-mobile .btn {
  flex: 0 0 auto;
}
.page-checkout .container {
  padding: 0 !important;
}

/* Moved from legacy theme.css (keep selectors stable) */
.reload-cartitems {
  position: sticky;
  top: 1rem;
}

.quick-checkout {
  width: 360px;
}

hr.dashed {
  border-top: #eee dashed 1px;
}

.price-details {
  float: right;
  padding-top: 1rem;
  border-top: #f3f3f3 solid 3px;
}

.clearfix {
  clear: both;
}

/* Mobile adjustments and cart/wizard responsiveness */
@media (max-width: 992px) {
  body {
    font-size: 0.9rem;
    background: #f5f5f5;
  }
  .carousel.index-banner,
  .clientarea-balance {
    margin: 0;
  }
  .text-muted1 {
    border: none !important;
  }
  .dropdown-menu.onclick {
    display: block;
    position: absolute;
    top: 0px;
  }
  .card-product .product-info {
    position: relative;
    left: 0;
    right: 0;
    z-index: 99;
    bottom: 0;
    padding: 0px 10px 10px 15px;
    opacity: 1;
    margin-top: 1rem;
  }
  .card-body {
    padding: 0;
    height: 100%;
  }

  .d-none-modal,
  .chat-icon-position,
  .d-actionbar-mobile .text-muted,
  .d-actionbar-mobile .form-label,
  .card-product .quick-view {
    display: none !important;
  }
  .d-block-modal {
    display: block !important;
  }
  .search-bar .dropdown-menu {
    opacity: 1;
    visibility: visible;
    padding: 0 0 1rem;
    border-radius: 0 !important;
  }
  .h1,
  h1 {
    font-size: 1.5rem;
  }
  .d-actionbar-mobile {
    /*position: fixed;
  bottom: 0;
  background: whitesmoke;
  z-index: 999;
  left: 0;
  right: 0;
  text-align: center !important;
  padding: 10px !important;*/
  }
  .d-actionbar-mobile .btn {
    min-height: 44px;
    border-radius: 12px;
    font-weight: 700;
  }
  .d-actionbar-mobile .btn-primary {
    background: var(--actionbar-cta-bg);
    color: #fff;
    border: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  }
  .d-actionbar-mobile .btn-primary:hover,
  .d-actionbar-mobile .btn-primary:focus {
    background: var(--actionbar-cta-bg-hover);
    transform: translateY(-1px);
  }

  /* sticky behaviour on mobile */
  @media (max-width: 991px) {
    .d-actionbar-mobile {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      /* Keep below modal z-index (Bootstrap modal default 1050) */
      z-index: 1030;
      padding: 10px;
      height: var(--actionbar-height);
      align-items: center;
      box-shadow: 0 -6px 28px rgba(0, 0, 0, 0.12);
    }
    body.has-actionbar {
      padding-bottom: calc(var(--actionbar-height) + 8px);
    }

    /* Ensure modals reserve space for actionbar on mobile */
    .has-actionbar .modal.show .modal-body {
      padding-bottom: calc(var(--actionbar-height) + 20px) !important;
      max-height: calc(100vh - (var(--actionbar-height) + 24px)) !important;
      overflow-y: auto !important;
    }
    .has-actionbar .modal.show .modal-content {
      margin-bottom: calc(var(--actionbar-height) + 8px) !important;
    }
    /* If placeorder is inside modal, provide additional bottom spacing */
    .has-actionbar .modal.show .placeorder-field,
    .has-actionbar .modal.show .placeorder-details,
    .has-actionbar .modal.show .modal-footer {
      margin-bottom: calc(var(--actionbar-height) + 8px) !important;
      padding-bottom: calc(var(--actionbar-height) + 8px) !important;
    }

    /* Ensure any actionbar inside a modal stays within modal layout (not fixed to viewport). */
    .modal .d-actionbar-mobile {
      position: static !important;
      left: auto !important;
      right: auto !important;
      bottom: auto !important;
      z-index: auto !important;
      box-shadow: none !important;
      height: auto !important;
      transform: none !important;
      padding: 8px 0.5rem !important;
      align-items: center;
    }
    /* Ensure modal-local actionbars retain readable spacing and button size */
    .modal .d-actionbar-mobile .btn {
      min-height: 44px !important;
      width: 100% !important;
      border-radius: 12px !important;
    }
  }

  /* Hide state for scroll down */
  .d-actionbar-mobile.is-hidden {
    transform: translateY(110%);
  }

  /* CTA alignment & icon handling */
  .d-actionbar-mobile .btn-primary.actionbar-cta {
    margin-left: auto;
    flex: 0 0 auto;
  }
  .d-actionbar-mobile .btn-primary.no-icon::after {
    content: "\2192"; /* Unicode arrow */
    display: inline-block;
    margin-left: 10px;
    font-weight: 700;
  }
  .carousel.slide-products {
    min-height: auto;
  }
  .pagination .pages-dropdown,
  #autorefresh {
    display: none;
  }
  h3.h3 span {
    padding: 20px;
  }
  .service-list,
  .service-information,
  .bg-svg2 {
    height: auto !important;
  }
  .btn:not(:disabled):not(.disabled) {
    color: black;
  }
  .table th h5 {
    padding: 0;
  }
  .table tbody tr:first-child td,
  .table th {
    min-width: auto;
  }

  .card-img-top {
    min-width: 50px;
    max-width: 150px;
  }
  .form-inline .w-25 {
    width: 100% !important;
  }
  .card {
    padding: 1rem;
    border-radius: 15px; /* Preserve rounded corners on mobile */
  }
  .card-product .quick-view {
    bottom: 0;
    opacity: 1;
    visibility: visible;
    background: #f4f4f4;
  }

  .max-360 {
    max-width: 100%;
  }
  .mw-360 {
    max-width: 100%;
  }

  .min-height {
    min-height: calc(100vh - 187px) !important;
  }
  .mw-100 {
    min-width: auto;
  }

  .cart .breadcrumb {
    padding: 0;
  }
  .h3,
  h3,
  .homepagegroups ul.nav-pills.flex-nowrap .nav-link,
  .homepagegroups ul.nav-pills.flex-nowrap .nav-item-parent .nav-link {
    font-size: 1.2rem;
  }
  .h-100 {
    height: auto !important;
  }
  .pagination .page-item:first-child,
  .menu-item-1007,
  .menu-item-1015 {
    display: none;
  }

  .card-retail-order .retail-item {
    padding-bottom: 40px;
  }

  .card-retail-order .retail-item .track-order {
    margin-top: 0rem;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 10px;
    z-index: 99;
  }

  .card-retail-order .retail-item h5 {
    font-size: 1rem;
  }

  .card-retail-order .retail-item .col-img {
    padding: 0;
  }
  .card-retail-order .retail-item .col-detail {
    padding-right: 0;
  }
  .page-container {
    padding: 0;
  }
  .table.table-cart-items tbody tr .delete-icon {
    opacity: 1;
    visibility: visible;
  }
  table td.double-border h5 {
    font-size: 1rem;
  }
  .page-checkout .card.card-registration {
    margin-bottom: 0 !important;
  }
  .col-product {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .index-content {
    padding: 0 !important;
    margin: 0 !important;
  }
  .homepagegroups
    ul.nav-pills.flex-nowrap
    .nav-item:not(.nav-item-parent)
    .nav-link {
    font-size: 12px;
    padding: 5px 10px 5px 0;
  }
  .cart-item-detail {
    border: none !important;
  }
  .price {
    padding: 0.5rem 0 0 0;
  }
  .page-title {
    padding: 0;
  }
  .price-details {
    width: 100%;
  }
  .reload-cartitems {
    margin-bottom: 1rem;
  }
  .big-badge .badge {
    margin-bottom: 1rem;
    font-size: 18px;
  }
  .min-height {
    padding-bottom: 2rem;
  }
  .btn-cartview-next {
    margin-top: 0rem;
  }
  .card-search .form-group,
  .card-search .mb-3 {
    margin-bottom: 1rem;
  }
  .card,
  .card-search,
  .col-order-area {
    margin-bottom: 1rem !important;
  }

  .col-product .card {
    margin-bottom: 0 !important;
  }
  .services .table h5 {
    font-size: 18px;
  }
  .card-body.border-left {
    border: none !important;
  }

  .group.row {
    margin-top: 10px;
  }
  .service.mb-4 {
    margin: 0 !important;
    padding: 0;
  }
  .col-auto.col-group-icon {
    display: none;
  }
  .card ul.nav-pills.flex-nowrap {
    overflow: auto;
  }
  .card ul.nav-pills.flex-nowrap .nav-item .nav-link {
    white-space: nowrap;
  }
  .deposit-total {
    border-bottom: none !important;
  }
  .api-access-btns {
    display: block !important;
  }
  .imagemode .card-group .card-info {
    opacity: 1;
    visibility: visible;
    position: relative;
  }
  .nav-registration {
    background: black;
  }
  .nav-login {
    background: #483198;
    color: black;
  }
  .placeorder-details,
  .placeorder-field {
    border-left: none !important;
    border-right: none !important;
  }
  h3.h3:after,
  h3.h3:before {
    margin-top: 14px;
  }
  .modal-body {
    max-height: calc(100vh - 0px);
  }
}

.modal-content {
  border-radius: 1rem;
  background: transparent;
}

@media (max-width: 480px) {
  .default .min-height {
    padding-bottom: 0;
  }
  .modal-dialog.mx-auto {
    margin: 0rem !important;
  }
  .card {
    border-radius: 0px;
    padding: 10px;
    margin-bottom: 10px !important;
  }
  .card,
  .card-search,
  .col-order-area {
    margin-bottom: 0.5rem;
  }
  .body-container > .container {
    padding: 0;
  }
  .page-title.inner-page-title {
    padding: 0 15px !important;
  }
  .col-product {
    padding: 0;
  }
  .page-container .row {
    margin: 0;
  }
  .table td,
  .table th {
    padding: 7px;
  }
}

.homepagegroups .tab-content .tab-pane {
  padding: 0;
}

.cart-item-detail .text-muted {
  text-transform: uppercase;
}

.paypal-checkout-sandbox-iframe {
  border: none;
}
.text-muted.font-normal {
  text-transform: uppercase;
}

.index-items-homepagegroup {
  background: #fafafa;
}

.default .index-items-homepagegroup {
  background: transparent;
  padding: 0;
}

.modal-dialog .form-group.col-lg-4 {
  max-width: 100%;
}

.tab-content .container {
  padding: 0;
}
.modal-open .modal {
  padding-right: 0 !important;
}

.input-daterange input:last-child {
  border-radius: 3px;
}
