/* =============================================================================
   RCS order-form harmonisation layer
   -----------------------------------------------------------------------------
   The RCS theme renders bespoke templates for the product listing, product
   configuration, cart and checkout. A few order-form steps remain on WHMCS's
   stock standard_cart markup because they are tightly coupled to that order
   form's JavaScript (the live AJAX domain availability checker, add-to-cart
   buttons, continue-button enablement, payment gateway handling). Rewriting
   their markup would break that behaviour, so instead this stylesheet re-skins
   the stock markup to match the RCS design system.

   EVERYTHING is scoped under .rcs-body #order-standard_cart (the wrapper stock steps
   render inside) so it can never leak into the bespoke RCS pages or the client
   area. It is loaded by common.tpl AFTER standard_cart's all.min.css, so equal-
   specificity rules win on load order without needing !important.

   Tokens (colours, radii, spacing, fonts) come from the RCS theme.css, which
   loads in <head> on every page, so var(--brand) etc. are always defined here.
   ============================================================================ */

.rcs-body #order-standard_cart {
  font-family: var(--font-sans);
  color: var(--text-primary);
}

/* ---- Headings --------------------------------------------------------------- */
.rcs-body #order-standard_cart .header-lined,
.rcs-body #order-standard_cart .header-lined h1,
.rcs-body #order-standard_cart h1.font-size-36 {
  font-family: var(--font-display, var(--font-sans));
  color: var(--text-primary);
  border-color: var(--border-subtle);
}
.rcs-body #order-standard_cart h1,
.rcs-body #order-standard_cart h2,
.rcs-body #order-standard_cart h3 {
  font-family: var(--font-display, var(--font-sans));
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

/* ---- Links ------------------------------------------------------------------ */
.rcs-body #order-standard_cart a { color: var(--brand-text); }
.rcs-body #order-standard_cart a:hover { color: var(--brand-hover); }

/* ---- Buttons ---------------------------------------------------------------- */
.rcs-body #order-standard_cart .btn {
  border-radius: var(--radius-md);
  font-family: var(--font-sans);
  font-weight: 600;
  border-width: 1px;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.rcs-body #order-standard_cart .btn-primary,
.rcs-body #order-standard_cart .btn-add-to-cart {
  background-color: var(--brand);
  border-color: var(--brand);
  color: var(--brand-contrast);
}
.rcs-body #order-standard_cart .btn-primary:hover,
.rcs-body #order-standard_cart .btn-primary:focus,
.rcs-body #order-standard_cart .btn-add-to-cart:hover {
  background-color: var(--brand-hover);
  border-color: var(--brand-hover);
  color: var(--brand-contrast);
}
.rcs-body #order-standard_cart .btn-primary:active {
  background-color: var(--brand-active);
  border-color: var(--brand-active);
}
.rcs-body #order-standard_cart .btn-default,
.rcs-body #order-standard_cart .btn-secondary {
  background-color: var(--surface-raised);
  border-color: var(--border-default);
  color: var(--text-primary);
}
.rcs-body #order-standard_cart .btn-default:hover {
  background-color: var(--surface-sunken);
  border-color: var(--border-strong);
}

/* ---- Form controls ---------------------------------------------------------- */
.rcs-body #order-standard_cart .form-control,
.rcs-body #order-standard_cart select.form-control,
.rcs-body #order-standard_cart input[type="text"],
.rcs-body #order-standard_cart input[type="email"],
.rcs-body #order-standard_cart input[type="password"],
.rcs-body #order-standard_cart select,
.rcs-body #order-standard_cart textarea {
  background-color: var(--surface-base);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  color: var(--text-primary);
}
.rcs-body #order-standard_cart .form-control:focus,
.rcs-body #order-standard_cart select:focus,
.rcs-body #order-standard_cart textarea:focus {
  border-color: var(--brand-border);
  box-shadow: 0 0 0 3px var(--brand-subtle);
  outline: none;
}
.rcs-body #order-standard_cart .form-control::placeholder { color: var(--text-tertiary); }

/* Input-group addons (the www. / tld prefixes on the domain fields) */
.rcs-body #order-standard_cart .input-group-addon,
.rcs-body #order-standard_cart .input-group-text {
  background-color: var(--surface-sunken);
  border: 1px solid var(--border-default);
  color: var(--text-secondary);
}

/* ---- Domain selection options ---------------------------------------------- */
.rcs-body #order-standard_cart .domain-selection-options .option {
  background-color: var(--surface-raised);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  margin-block-end: var(--space-4);
  box-shadow: var(--shadow-xs);
}
.rcs-body #order-standard_cart .domain-selection-options .option > label {
  font-weight: 600;
  color: var(--text-primary);
}

/* ---- Domain lookup result states ------------------------------------------- */
.rcs-body #order-standard_cart .domain-checker-available,
.rcs-body #order-standard_cart .domain-available { color: var(--success); }
.rcs-body #order-standard_cart .domain-checker-unavailable,
.rcs-body #order-standard_cart .domain-unavailable,
.rcs-body #order-standard_cart .domain-error { color: var(--danger-text, var(--danger)); }
.rcs-body #order-standard_cart .domain-price .price,
.rcs-body #order-standard_cart .price { color: var(--brand-text); font-weight: 700; }

/* ---- Panels / cards (suggestions, spotlight, summary) ----------------------- */
.rcs-body #order-standard_cart .panel,
.rcs-body #order-standard_cart .card,
.rcs-body #order-standard_cart .list-group-item,
.rcs-body #order-standard_cart .order-summary {
  background-color: var(--surface-raised);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
}
.rcs-body #order-standard_cart .panel-heading,
.rcs-body #order-standard_cart .card-header {
  background-color: var(--surface-sunken);
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-weight: 600;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.rcs-body #order-standard_cart .panel-footer,
.rcs-body #order-standard_cart .card-footer {
  background-color: var(--surface-sunken);
  border-top: 1px solid var(--border-subtle);
}

/* ---- Order summary sidebar -------------------------------------------------- */
.rcs-body #order-standard_cart .cart-sidebar .order-summary { box-shadow: var(--shadow-sm); }
.rcs-body #order-standard_cart .order-summary .total,
.rcs-body #order-standard_cart .order-summary .cart-total { color: var(--text-primary); font-weight: 700; }

/* ---- Muted text ------------------------------------------------------------- */
.rcs-body #order-standard_cart .text-muted,
.rcs-body #order-standard_cart small { color: var(--text-tertiary); }

/* ---- Alerts ----------------------------------------------------------------- */
.rcs-body #order-standard_cart .alert {
  border-radius: var(--radius-md);
  border: 1px solid var(--border-default);
}
.rcs-body #order-standard_cart .alert-danger {
  background-color: var(--danger-subtle);
  border-color: var(--danger);
  color: var(--danger-text, var(--danger));
}
