/* =====================================================================
   SovaHost order-form brand layer (child of Standard Cart).
   Loads LAST in the cart's common.tpl, after the system theme. The cart
   also inherits the SovaHost client-area brand (fonts, links, .btn-primary).

   IMPORTANT: Standard Cart scopes ALL of its own rules under the wrapper
   id #order-standard_cart (present on every order page). Bare-class
   overrides (0,0,x,0) lose to that id (0,1,x,y), so EVERY rule here is
   prefixed with #order-standard_cart to match/beat the parent specificity.
   Selectors verified against WHMCS/orderforms-standard_cart.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Roboto:wght@300;400;500;700&display=swap');

:root {
  --sova-violet: #613cda;
  --sova-wine: #810e54;
  --sova-wine-700: #6a0a45;
  --sova-orange: #ff8c1a;        /* CTA fill */
  --sova-orange-600: #f57c00;    /* CTA fill hover */
  --sova-orange-ink: #b35400;    /* AA-safe orange for TEXT on light (~5:1 on #fff) */
  --sova-dark-ink: #1a0d4d;      /* dark text for AA contrast on orange fills (~6.5:1) */
  --sova-lilac: #efe2f0;
  --sova-heading: #333333;
}

#order-standard_cart .cart-body,
#order-standard_cart h1, #order-standard_cart h2, #order-standard_cart h3 {
  font-family: 'Montserrat', 'Roboto', system-ui, sans-serif;
}

/* ---- Order / checkout CTAs (standard_cart uses .btn-success) ---------- */
/* Brand orange fill + DARK text: white-on-#ff8c1a is only 2.3:1 (fails AA);
   dark ink keeps the exact brand hue and clears AA. */
#order-standard_cart .btn-order-now,
#order-standard_cart .btn-checkout,
#order-standard_cart .btn-primary,
#order-standard_cart .btn-success {
  background-color: var(--sova-orange);
  border-color: var(--sova-orange);
  color: var(--sova-dark-ink);
  border-radius: 50rem;
  text-transform: uppercase;
  letter-spacing: .02em;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(255,140,26,.35);
}
#order-standard_cart .btn-order-now:hover,
#order-standard_cart .btn-checkout:hover,
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-order-now:focus,
#order-standard_cart .btn-checkout:focus,
#order-standard_cart .btn-primary:focus {
  background-color: var(--sova-orange-600);
  border-color: var(--sova-orange-600);
  color: var(--sova-dark-ink);
}
#order-standard_cart .btn-remove-from-cart { color: var(--sova-wine); }

/* ---- Product boxes --------------------------------------------------- */
#order-standard_cart .products .product {
  border: 1px solid var(--sova-lilac);
  border-radius: .75rem;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
#order-standard_cart .products .product:hover {
  border-color: var(--sova-violet);
  box-shadow: 0 8px 24px rgba(97,60,218,.15);
  transform: translateY(-2px);
}
/* product name is rendered as <header><span>, not h3/.product-title */
#order-standard_cart .products .product header span {
  font-family: 'Montserrat', sans-serif;
  color: var(--sova-wine);
}
/* configure-product page heading lives at .product-info .product-title */
#order-standard_cart .product-info .product-title {
  font-family: 'Montserrat', sans-serif;
  color: var(--sova-wine);
}
#order-standard_cart .product-pricing .price .amount,
#order-standard_cart .price .amount {
  color: var(--sova-orange-ink);   /* AA-safe orange on light */
  font-weight: 700;
}

/* ---- Order summary / view cart sidebar ------------------------------- */
#order-standard_cart .order-summary .summary-container,
#order-standard_cart .cart-sidebar .order-summary {
  border-radius: .75rem;
}
/* items header is white-on-blue (#058) by default — rebrand to a wine bar */
#order-standard_cart .view-cart-items-header {
  background-color: var(--sova-wine);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
}
/* "Order Summary" box: the parent header is white text on a #666 gray bar
   (low contrast once tinted). Recolour the BAR itself to wine and keep the
   heading white — clear contrast, on-brand. */
#order-standard_cart .order-summary {
  background-color: var(--sova-wine);
  border-bottom-color: var(--sova-wine);
}
#order-standard_cart .order-summary h2 {
  font-family: 'Montserrat', sans-serif;
  color: #fff;
}
#order-standard_cart .total-due-today {
  color: var(--sova-orange-ink);   /* AA-safe orange on light */
  font-weight: 700;
}
#order-standard_cart .bordered-totals { border-color: var(--sova-lilac); }

/* ---- Cart step tabs / promo box -------------------------------------- */
#order-standard_cart .view-cart-tabs .nav-link.active {
  color: var(--sova-wine);
  border-color: var(--sova-wine);
}
#order-standard_cart .view-cart-promotion-code .alert,
#order-standard_cart .promo-box {
  background-color: var(--sova-lilac);
  border-color: #d7c2da;
  color: var(--sova-wine-700);
}
