/* Keep the Aurora storefront on the same baseline as the ZJMF home page. */
html:has(.aurora-cart-page),
body:has(.aurora-cart-page) {
  margin: 0 !important;
  min-width: 0 !important;
}

body:has(.aurora-cart-page) {
  color: #10213f;
  background: #f5f9ff;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

body:has(.aurora-cart-page) .aurora-console,
body:has(.aurora-cart-page) .aurora-console-main,
body:has(.aurora-cart-page) .aurora-console-content {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Some authenticated sessions render the cart marker before the page shell
   finishes switching templates. Use the topbar as a second, stable marker. */
body:has(.aurora-cart-topbar) .aurora-console,
body:has(.aurora-cart-topbar) .aurora-console-main,
body:has(.aurora-cart-topbar) .aurora-console-content {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.aurora-cart-page) .aurora-console-sidebar,
body:has(.aurora-cart-page) .aurora-console-topbar,
body:has(.aurora-cart-page) .aurora-page-head {
  display: none !important;
}

body:has(.aurora-cart-topbar) .aurora-console-sidebar,
body:has(.aurora-cart-topbar) .aurora-console-topbar,
body:has(.aurora-cart-topbar) .aurora-page-head {
  display: none !important;
}

body:has(.aurora-cart-topbar) .aurora-cart-topbar {
  display: block !important;
  height: 119px !important;
  min-height: 119px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body:has(.aurora-cart-topbar) .aurora-cart-page,
body:has(.aurora-cart-topbar) .aurora-catalog-layout,
body:has(.aurora-cart-topbar) .aurora-catalog-main,
body:has(.aurora-cart-topbar) .aurora-product-board,
body:has(.aurora-cart-topbar) .aurora-plan-list {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body:has(.aurora-cart-topbar) .aurora-catalog-layout {
  display: grid !important;
}

body:has(.aurora-cart-topbar) .aurora-plan-list {
  display: grid !important;
}

body:has(.aurora-cart-page) > .aurora-cart-topbar {
  display: block !important;
  width: 100%;
  min-height: 119px;
}

body:has(.aurora-cart-page) .aurora-cart-page .aurora-cart-topbar {
  display: none !important;
}

body:has(.aurora-cart-page) .aurora-console-content > .aurora-cart-topbar {
  display: none !important;
}

body:has(.aurora-cart-page) .aurora-cart-topbar-inner {
  width: min(calc(100% - 30px), 1440px);
  min-height: 119px;
  grid-template-columns: 120px minmax(0, 1fr) 126px;
  gap: 28px;
}

body:has(.aurora-cart-page) .aurora-cart-heading {
  min-width: 0;
  padding: 8px 0;
}

body:has(.aurora-cart-page) .aurora-cart-heading h1 {
  margin: 3px 0 4px;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body:has(.aurora-cart-page) .aurora-cart-heading p {
  overflow: hidden;
  max-width: 670px;
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

body:has(.aurora-cart-page) .aurora-cart-eyebrow {
  font-size: 9px;
  letter-spacing: .14em;
}

body:has(.aurora-cart-page) .aurora-cart-page {
  min-height: 60vh;
  padding: 26px 0 72px;
  background:
    radial-gradient(circle at 8% 2%, rgba(120, 200, 255, .16), transparent 27rem),
    linear-gradient(180deg, #eef5ff 0, #f5f9ff 260px, #f8faff 100%);
}

body:has(.aurora-cart-page) .aurora-cart-shell {
  width: 100%;
  margin: 0;
}

body:has(.aurora-cart-page) .aurora-catalog-layout {
  width: 100%;
  margin: 0;
}

body:has(.aurora-cart-page) .aurora-console-footer {
  box-sizing: border-box;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 16px max(15px, calc((100% - 1440px) / 2));
  color: rgba(255, 255, 255, .72);
  border: 0;
  background: #0b1d3a;
  font-size: 11px;
}

body:has(.aurora-cart-page) .aurora-console-footer div {
  display: flex;
  gap: 14px;
}

body:has(.aurora-cart-page) .aurora-console-footer a {
  color: rgba(255, 255, 255, .72);
}

body:has(.aurora-cart-page) .aurora-console-footer a:hover {
  color: #fff;
}

/* Keep the dynamically rendered configurator total aligned with the card. */
body:has(.aurora-configure-page) .aurora-order-summary {
  box-sizing: border-box;
  width: 100%;
  margin: 18px 0 0;
  overflow: visible;
}

body:has(.aurora-configure-page) .aurora-api-summary-inner {
  min-height: 62px;
  box-sizing: border-box;
  align-items: center;
  padding: 10px 22px;
}

body:has(.aurora-configure-page) .aurora-api-summary-inner > div:first-child {
  min-width: 0;
}

body:has(.aurora-configure-page) .aurora-api-summary-price {
  margin-top: 3px;
}

body:has(.aurora-configure-page) .aurora-api-summary-price strong {
  color: #fff;
}

body:has(.aurora-configure-page) .aurora-api-summary-price span,
body:has(.aurora-configure-page) .aurora-api-summary-price small {
  color: rgba(255, 255, 255, .78);
}

body:has(.aurora-configure-page) .aurora-summary-loading {
  box-sizing: border-box;
  min-height: 78px;
  padding: 26px 22px;
}

body:has(.aurora-configure-page) .aurora-api-breakdown {
  position: relative;
  z-index: 40;
}

body:has(.aurora-configure-page) .aurora-api-breakdown-list {
  top: auto;
  right: 0;
  bottom: calc(100% + 12px);
  z-index: 100;
  max-height: min(420px, 60vh);
  overflow: auto;
  color: #10213f;
  border-radius: 10px;
  background: #fff;
}

body:has(.aurora-configure-page) > a[href*="idcsmart.com"] {
  display: none !important;
}

body:has(.aurora-configure-page) .aurora-console-footer {
  position: relative;
}

body:has(.aurora-configure-page) .aurora-console-powered {
  margin-left: auto;
  color: rgba(255, 255, 255, .72);
  white-space: nowrap;
}

body:has(.aurora-configure-page) .aurora-console-powered:hover {
  color: #fff;
}

/* The cart shell does not load Bootstrap's modal base rules. Keep dialogs out
   of normal document flow until the checkout script explicitly opens them. */
body:has(.aurora-cart-page) .modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

body:has(.aurora-cart-page) .modal.show {
  display: block;
}

body:has(.aurora-cart-page) .modal-dialog {
  position: relative;
  width: auto;
  max-width: 500px;
  margin: 1.75rem auto;
  pointer-events: none;
}

body:has(.aurora-cart-page) .modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}

body:has(.aurora-cart-page) .modal-content {
  position: relative;
  width: 100%;
  pointer-events: auto;
}

body:has(.aurora-cart-page) .modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: #071b45;
}

body:has(.aurora-cart-page) .modal-backdrop.show {
  opacity: .42;
}

body:has(.aurora-cart-page) > a[href*="idcsmart.com"] {
  display: none !important;
}

@media (max-width: 720px) {
  body:has(.aurora-cart-page) .aurora-cart-topbar-inner {
    width: calc(100% - 24px);
    min-height: 112px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 10px;
    padding-top: 10px;
  }

  body:has(.aurora-cart-page) .aurora-cart-page {
    padding-top: 14px;
  }

  body:has(.aurora-cart-page) .aurora-catalog-layout {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
  }

  body:has(.aurora-cart-page) .aurora-cart-heading h1 {
    font-size: 25px;
  }

  body:has(.aurora-cart-page) .aurora-console-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px 12px;
  }

  body:has(.aurora-cart-page) .aurora-mobile-catalog-button {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
  }

  body:has(.aurora-configure-page) .aurora-api-summary-inner {
    align-items: stretch;
    flex-direction: column;
    padding: 15px;
  }

  body:has(.aurora-configure-page) .aurora-summary-loading {
    min-height: 72px;
    padding: 24px 15px;
  }

  body:has(.aurora-configure-page) .aurora-api-breakdown-list {
    right: auto;
    left: 0;
    width: min(300px, calc(100vw - 48px));
  }

  body:has(.aurora-configure-page) .aurora-console-powered {
    margin-left: 0;
  }
}
