/**
 * Dash Horizon Cart presentation layer (Standard Cart base).
 * Keeps #order-standard_cart JS contracts. Full-width flex layout (no absolute main layout).
 */
@import url("dh-tokens.css");

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Quattrocento+Sans:wght@400;700&display=swap");

/* Full-width cart shell */
#order-standard_cart.dh-cart,
#order-standard_cart {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 48px;
  font-family: var(--dh-font-body);
  color: var(--dh-ink);
  box-sizing: border-box;
}

#order-standard_cart > .row {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* One category nav: desktop sidebar */
#order-standard_cart .cart-sidebar {
  float: none;
  position: static;
  width: 22%;
  max-width: 280px;
  flex: 0 0 22%;
  padding: 0 16px 0 0;
  box-sizing: border-box;
}

#order-standard_cart .cart-body {
  float: none;
  position: static;
  width: auto;
  flex: 1 1 0;
  min-width: 0;
  padding: 0 0 0 8px;
  box-sizing: border-box;
}

#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar {
  float: none;
  position: static;
}

#order-standard_cart .secondary-cart-body {
  width: auto;
  flex: 1 1 0;
  min-width: 0;
}

#order-standard_cart .secondary-cart-sidebar {
  width: 34%;
  max-width: 360px;
  flex: 0 0 34%;
}

/* Mobile: hide desktop category sidebar; show collapsed selector only */
@media (max-width: 1199px) {
  #order-standard_cart .cart-sidebar {
    display: none !important;
  }
  #order-standard_cart .cart-body {
    width: 100%;
    flex: 1 1 100%;
    padding: 0;
  }
  #order-standard_cart .sidebar-collapsed {
    display: block;
    margin-bottom: 16px;
  }
}

@media (min-width: 1200px) {
  /* Prevent duplicate mobile category UI on desktop */
  #order-standard_cart .sidebar-collapsed,
  #order-standard_cart .cart-sidebar .d-md-none.panel,
  #order-standard_cart .cart-sidebar .hidden-lg.hidden-md {
    display: none !important;
  }
}

@media (max-width: 991px) {
  #order-standard_cart .secondary-cart-body,
  #order-standard_cart .secondary-cart-sidebar {
    width: 100%;
    flex: 1 1 100%;
    max-width: none;
  }
}

/* Glass panels */
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .cart-sidebar .card,
#order-standard_cart .sidebar-collapsed,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .view-cart-items,
#order-standard_cart .view-cart-tabs,
#order-standard_cart .panel-addon,
#order-standard_cart .domain-selection-options .option,
#order-standard_cart .products .product,
#order-standard_cart .cc-input-container,
#order-standard_cart .card,
#order-standard_cart .panel {
  background: var(--dh-glass) !important;
  border: 1px solid var(--dh-glass-border) !important;
  border-radius: var(--dh-radius-lg) !important;
  box-shadow: var(--dh-shadow-soft) !important;
  backdrop-filter: blur(12px);
  color: var(--dh-ink);
}

#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header,
#order-standard_cart .products .product header {
  background: var(--dh-gradient-hero) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--dh-radius-lg) var(--dh-radius-lg) 0 0 !important;
}

#order-standard_cart .products .product header *,
#order-standard_cart .cart-sidebar .panel-title,
#order-standard_cart .cart-sidebar h3 {
  color: #fff !important;
}

#order-standard_cart .products {
  margin: 0;
}

#order-standard_cart .products .row,
#order-standard_cart .products .row-eq-height {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -12px !important;
  margin-right: -12px !important;
}

#order-standard_cart .products .row > [class*="col-"],
#order-standard_cart .products .row-eq-height > [class*="col-"] {
  float: none !important;
  position: static !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  #order-standard_cart .products .row > [class*="col-"],
  #order-standard_cart .products .row-eq-height > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

#order-standard_cart .products .product {
  overflow: visible;
  margin-bottom: 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform var(--dh-transition), box-shadow var(--dh-transition);
}

#order-standard_cart .products .product:hover {
  transform: translateY(-3px);
  box-shadow: var(--dh-shadow) !important;
}

#order-standard_cart .products .product div.product-desc {
  flex: 1 1 auto;
  color: var(--dh-ink);
  min-height: 0;
}

#order-standard_cart .products .product footer {
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column;
  gap: 12px;
  visibility: visible !important;
  padding: 16px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-top: 1px solid var(--dh-border) !important;
}

#order-standard_cart .products .product .btn-order-now {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  padding: 12px 16px !important;
  min-height: 46px;
}

#order-standard_cart .products .product .btn-order-now i {
  margin: 0 !important;
}

/* Configure product / descriptions — dark readable, not pale-on-white */
#order-standard_cart .product-info,
#order-standard_cart .product-details,
#order-standard_cart .product-configurable-options,
#order-standard_cart #productConfigurableOptions,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .panel-addon,
#order-standard_cart .domain-selection-options .option {
  background: var(--dh-glass) !important;
  border: 1px solid var(--dh-glass-border) !important;
  color: var(--dh-ink) !important;
}

#order-standard_cart .product-info p,
#order-standard_cart .product-info li,
#order-standard_cart .product-details p,
#order-standard_cart .product-details li {
  color: var(--dh-ink) !important;
}

#order-standard_cart .products .product div.product-pricing span.price,
#order-standard_cart .order-summary .total-due-today .amt,
#order-standard_cart .total-due-today {
  color: var(--dh-accent) !important;
  font-family: var(--dh-font-sans);
  font-weight: 800;
}

#order-standard_cart .list-group-item {
  background: transparent !important;
  border-color: var(--dh-border) !important;
  color: var(--dh-ink) !important;
}

#order-standard_cart .list-group-item.active,
#order-standard_cart .list-group-item:hover {
  background: rgba(56, 189, 248, 0.12) !important;
  color: #fff !important;
}

#order-standard_cart .header-lined h1,
#order-standard_cart .font-size-36,
#order-standard_cart .font-size-30,
#order-standard_cart .sub-heading span {
  color: var(--dh-ink-strong);
  font-family: var(--dh-font-sans);
  /* Background corrected in dashhorizon-checkout.css — do not leave #f1f1f1 */
}

#order-standard_cart .field,
#order-standard_cart .form-control {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--dh-border-strong) !important;
  border-radius: var(--dh-radius-sm) !important;
  color: var(--dh-ink-strong) !important;
  min-height: 44px;
}

#order-standard_cart .form-control:focus {
  border-color: var(--dh-accent) !important;
  box-shadow: var(--dh-focus) !important;
}

#order-standard_cart label {
  color: var(--dh-ink);
}

#order-standard_cart .btn-success,
#order-standard_cart .btn-primary,
#order-standard_cart .btn-checkout,
#order-standard_cart .products .product .btn-order-now {
  background: var(--dh-gradient-btn) !important;
  border-color: transparent !important;
  border-radius: var(--dh-radius) !important;
  font-weight: 700;
  min-height: 42px;
  color: #fff !important;
}

#order-standard_cart .btn-default,
#order-standard_cart .btn-link {
  color: var(--dh-accent-2) !important;
}

#order-standard_cart .domain-checker-container,
#order-standard_cart .domain-checker-bg {
  background: var(--dh-gradient-hero) !important;
  border-radius: var(--dh-radius-xl) !important;
  border: 1px solid var(--dh-glass-border);
  box-shadow: var(--dh-shadow);
  overflow: hidden;
}

#order-standard_cart .alert {
  border-radius: var(--dh-radius);
}

#order-standard_cart .view-cart-items .item {
  border-color: var(--dh-border) !important;
  background: transparent !important;
}

#order-standard_cart .view-cart-items .item:nth-child(even) {
  background: rgba(255, 255, 255, 0.03) !important;
}

/* Ensure cart uses available content width inside WHMCS container */
body.dh-theme #main-body .primary-content:has(#order-standard_cart),
body.dh-theme #main-body .container:has(#order-standard_cart) {
  max-width: min(100%, 1400px);
}

body.dh-theme #order-standard_cart {
  width: 100%;
}
