/* Redvent Cart: CSS-only child of installed WHMCS standard_cart.
   Parent common.tpl loads this through assetExists; native forms stay inherited. */
#order-standard_cart .cart-sidebar,#order-standard_cart .sidebar-collapsed{display:none!important}
#order-standard_cart .cart-body{float:none;width:100%;padding-left:0}
#order-standard_cart {
  --rv-cart-ink: #0B0B0C;
  --rv-cart-red: #ED1F24;
  --rv-cart-hover: #C8161B;
  --rv-cart-warm: #FAF8F6;
  --rv-cart-line: #F0EDEA;
  --rv-cart-border: #E6E2DE;
  --rv-cart-text: #5C5C58;
  --rv-cart-muted: #8A8783;
  color: var(--rv-cart-text);
  font-family: Inter, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 48px) 22px;
  background: var(--rv-cart-warm);
  border-radius: 24px;
  overflow-wrap: anywhere;
}
#order-standard_cart *,
#order-standard_cart *::before,
#order-standard_cart *::after { box-sizing: border-box; }
#order-standard_cart h1,
#order-standard_cart h2,
#order-standard_cart h3,
#order-standard_cart h4,
#order-standard_cart .product-title,
#order-standard_cart .product-name,
#order-standard_cart .item-title {
  font-family: Poppins, sans-serif;
  font-weight: 600;
  color: var(--rv-cart-ink);
  letter-spacing: -.025em;
}
#order-standard_cart .header-lined { border: 0; margin-bottom: 28px; }
#order-standard_cart .header-lined h1 { font-size: clamp(26px, 3vw, 36px); font-weight: 700; border: 0; }
#order-standard_cart a { color: var(--rv-cart-hover); }
#order-standard_cart a:hover { color: var(--rv-cart-ink); }
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar { min-width: 0; }
#order-standard_cart .panel,
#order-standard_cart .card,
#order-standard_cart .products .product,
#order-standard_cart .product-info,
#order-standard_cart .domain-renewal,
#order-standard_cart .service-renewal,
#order-standard_cart .domain-promo-box,
#order-standard_cart .featured-tld,
#order-standard_cart .spotlight-tld {
  background: #fff;
  border: 1px solid var(--rv-cart-border);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(11,11,12,.05);
  color: var(--rv-cart-text);
}
#order-standard_cart .products .product { margin: 0 0 24px; padding: 24px; }
#order-standard_cart .products .product header { background: transparent; border-bottom: 1px solid var(--rv-cart-line); padding: 0 0 18px; margin-bottom: 18px; }
#order-standard_cart .products .product header span { color: var(--rv-cart-ink); font: 600 20px/1.4 Poppins, sans-serif; }
#order-standard_cart .products .product .product-desc { float: none; width: 100%; padding: 0; }
#order-standard_cart .products .product .product-pricing { float: none; width: 100%; text-align: left; padding: 20px 0 0; }
#order-standard_cart .products .product .price { font: 600 28px/1.3 Poppins, sans-serif; color: var(--rv-cart-ink); }
#order-standard_cart .products .product .btn-order-now { margin-top: 14px; }
#order-standard_cart .product-info { padding: 24px; margin-bottom: 24px; }
#order-standard_cart .product-configurable-options { padding: 12px 0; }
#order-standard_cart .panel-heading,
#order-standard_cart .card-header { background: var(--rv-cart-warm); border-color: var(--rv-cart-line); border-radius: 16px 16px 0 0; color: var(--rv-cart-ink); padding: 16px; }
#order-standard_cart .panel-title { font-size: 15px; font-weight: 600; }
#order-standard_cart .list-group-item { border-color: var(--rv-cart-line); background: #fff; color: var(--rv-cart-text); }
#order-standard_cart .list-group-item.active { background: var(--rv-cart-ink); color: #fff; border-color: var(--rv-cart-ink); }
#order-standard_cart .panel-footer,
#order-standard_cart .card-footer { background: var(--rv-cart-warm); border-color: var(--rv-cart-line); border-radius: 0 0 16px 16px; }
#order-standard_cart .sub-heading { border-color: var(--rv-cart-border); margin: 28px 0 22px; }
#order-standard_cart .sub-heading span { background: var(--rv-cart-warm); color: var(--rv-cart-ink); font: 500 17px/1.5 Poppins, sans-serif; }
#order-standard_cart label { font-weight: 500; color: var(--rv-cart-ink); }
#order-standard_cart .form-group { margin-bottom: 20px; }
#order-standard_cart .form-control,
#order-standard_cart input.field,
#order-standard_cart select.field,
#order-standard_cart textarea.field {
  min-height: 46px;
  border: 1px solid var(--rv-cart-border);
  border-radius: 10px;
  background-color: #fff;
  color: var(--rv-cart-ink);
  box-shadow: none;
  font: 400 14px/1.5 Inter, sans-serif;
  max-width: 100%;
}
#order-standard_cart textarea.form-control { height: auto; min-height: 110px; }
#order-standard_cart .form-control:focus { border-color: var(--rv-cart-hover); box-shadow: 0 0 0 3px rgba(200,22,27,.12); }
#order-standard_cart .form-control:disabled,
#order-standard_cart .form-control[readonly] { background: var(--rv-cart-line); }
#order-standard_cart .prepend-icon .field-icon { height: 46px; line-height: 46px; color: var(--rv-cart-muted); }
#order-standard_cart .input-group-text { border-color: var(--rv-cart-border); background: var(--rv-cart-warm); color: var(--rv-cart-text); }
#order-standard_cart input[type="checkbox"],
#order-standard_cart input[type="radio"] { accent-color: var(--rv-cart-hover); }
#order-standard_cart :focus-visible { outline: 3px solid var(--rv-cart-hover); outline-offset: 3px; }
#order-standard_cart .field-help-text,
#order-standard_cart .text-muted { color: #6A6762 !important; }
#order-standard_cart .btn { border-radius: 10px; font-family: Inter, sans-serif; font-weight: 600; white-space: normal; }
#order-standard_cart .btn-primary,
#order-standard_cart .btn-success,
#order-standard_cart .btn-add-to-cart {
  background: #DC1217;
  border-color: #DC1217;
  color: #fff;
  padding: 12px 20px;
  box-shadow: none;
}
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-add-to-cart:hover { background: var(--rv-cart-hover); border-color: var(--rv-cart-hover); color: #fff; }
#order-standard_cart .btn-default { background: #fff; border: 1px solid var(--rv-cart-border); color: var(--rv-cart-ink); padding: 10px 16px; }
#order-standard_cart .btn-default:hover { background: var(--rv-cart-line); }
#order-standard_cart .btn-link { color: var(--rv-cart-hover); }
#order-standard_cart .btn.disabled,
#order-standard_cart .btn:disabled { opacity: .55; }
#order-standard_cart .panel-addon .panel-add { background: var(--rv-cart-warm); color: var(--rv-cart-hover); border-top: 1px solid var(--rv-cart-line); border-radius: 0 0 16px 16px; }
#order-standard_cart .panel-addon-selected { border-color: var(--rv-cart-hover); }
#order-standard_cart .panel-addon-selected .panel-add { background: var(--rv-cart-ink); color: #fff; }
#order-standard_cart .domain-selection-options .option { border: 1px solid var(--rv-cart-border); background: #fff; border-radius: 12px; padding: 18px; margin-bottom: 12px; }
#order-standard_cart .domain-selection-options .option-selected { border-color: var(--rv-cart-hover); background: #FDECEC; }
#order-standard_cart .domain-checker-container { background: var(--rv-cart-ink); border-radius: 20px; color: #fff; padding: 28px 20px; }
#order-standard_cart .domain-checker-bg { background: transparent; }
#order-standard_cart .domain-checker-container label { color: #fff; }
/* Native category JS toggles badge-success; only these links are filters,
   not operational success/error badges. Keep data-category and anchors native. */
#order-standard_cart .tld-filters a[data-category] {
  display: inline-block;
  background: #fff;
  color: var(--rv-cart-ink);
  border: 1px solid var(--rv-cart-border);
  border-radius: 999px;
  padding: 10px 14px;
  margin: 0 4px 8px 0;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  white-space: normal;
  text-decoration: none;
}
#order-standard_cart .tld-filters a[data-category]:hover {
  background: var(--rv-cart-warm);
  color: var(--rv-cart-ink);
  border-color: var(--rv-cart-ink);
}
#order-standard_cart .tld-filters a[data-category]:focus-visible {
  outline: 3px solid var(--rv-cart-hover);
  outline-offset: 3px;
}
#order-standard_cart .tld-filters a[data-category].badge-success,
#order-standard_cart .tld-filters a[data-category].badge-success:hover,
#order-standard_cart .tld-filters a[data-category].badge-success:focus-visible {
  background: var(--rv-cart-ink);
  border-color: var(--rv-cart-ink);
  color: #fff;
}
/* This warning-class link is a sales CTA, not a warning/status message. */
#order-standard_cart .domain-promo-box .btn-warning {
  background: #DC1217;
  border-color: #DC1217;
  color: #fff;
  padding: 12px 20px;
}
#order-standard_cart .domain-promo-box .btn-warning:hover,
#order-standard_cart .domain-promo-box .btn-warning:focus-visible {
  background: var(--rv-cart-hover);
  border-color: var(--rv-cart-hover);
  color: #fff;
}
#order-standard_cart .domain-pricing { border: 1px solid var(--rv-cart-border); border-radius: 16px; background: #fff; }
#order-standard_cart .domain-pricing .tld-pricing-header { background: var(--rv-cart-ink); color: #fff; border-radius: 16px 16px 0 0; padding: 14px 0; }
#order-standard_cart .domain-pricing .tld-row { border-color: var(--rv-cart-line); padding: 12px 0; }
#order-standard_cart .suggested-domains .panel-heading { background: var(--rv-cart-warm); color: var(--rv-cart-ink); }
#order-standard_cart .domain-suggestion { padding: 16px; }
#order-standard_cart .domain-checker-available { color: #33771C; }
#order-standard_cart .domain-checker-unavailable,
#order-standard_cart .field-error-msg,
#order-standard_cart .text-danger { color: var(--rv-cart-hover); }
#order-standard_cart .domain-renewal,
#order-standard_cart .service-renewal { padding: 20px; margin-bottom: 14px; }
#order-standard_cart .view-cart-items { border: 1px solid var(--rv-cart-border); border-radius: 16px; background: #fff; margin-bottom: 24px; }
#order-standard_cart .view-cart-items-header { background: var(--rv-cart-ink); color: #fff; border-radius: 16px 16px 0 0; padding: 16px; }
#order-standard_cart .view-cart-items .item { background: #fff; border-bottom: 1px solid var(--rv-cart-line); padding: 20px 16px; }
#order-standard_cart .view-cart-items .item:last-child { border-bottom: 0; border-radius: 0 0 16px 16px; }
#order-standard_cart .view-cart-items .item-price { color: var(--rv-cart-ink); font-variant-numeric: tabular-nums; }
#order-standard_cart .view-cart-tabs .nav-tabs { border-color: var(--rv-cart-border); }
#order-standard_cart .view-cart-tabs .nav-link.active { color: var(--rv-cart-hover); background: #fff; border-color: var(--rv-cart-border); border-radius: 10px 10px 0 0; }
#order-standard_cart .view-cart-tabs .tab-content { background: #fff; border: 1px solid var(--rv-cart-border); border-top: 0; padding: 20px; border-radius: 0 0 16px 16px; }
#order-standard_cart .order-summary { background: var(--rv-cart-ink); border: 1px solid var(--rv-cart-ink); border-radius: 20px; box-shadow: none; padding: 6px; }
#order-standard_cart .order-summary h2 { color: #fff; font-size: 20px; padding: 16px 12px; margin: 0; }
#order-standard_cart .summary-container { background: #fff; color: var(--rv-cart-text); border-radius: 14px; padding: 20px; font-size: 14px; }
#order-standard_cart .order-summary .product-name { font-size: 17px; }
#order-standard_cart .order-summary .product-group { color: #6A6762; }
#order-standard_cart .order-summary .summary-totals,
#order-standard_cart .order-summary .bordered-totals { border-color: var(--rv-cart-border); }
#order-standard_cart .order-summary .total-due-today { background: var(--rv-cart-warm); color: var(--rv-cart-ink); border-radius: 12px; padding: 18px 12px; margin-top: 16px; }
#order-standard_cart .order-summary .amt { font: 600 28px/1.3 Poppins, sans-serif; color: var(--rv-cart-ink); font-variant-numeric: tabular-nums; }
#order-standard_cart .empty-cart,
#order-standard_cart .view-cart-empty { padding: 24px; color: var(--rv-cart-text); }
#order-standard_cart .payment-methods { padding: 12px 14px; border: 1px solid var(--rv-cart-border); background: #fff; border-radius: 10px; margin: 0 8px 12px 0; }
#order-standard_cart .cc-input-container { background: #fff; border: 1px solid var(--rv-cart-border); border-radius: 16px; padding: 22px; }
#order-standard_cart .account-select { border: 1px solid var(--rv-cart-border); border-radius: 12px; background: #fff; padding: 16px; margin-bottom: 12px; }
#order-standard_cart .account.active { border-color: var(--rv-cart-hover); background: #FDECEC; }
#order-standard_cart .already-registered,
#order-standard_cart .marketing-email-optin { background: #fff; border: 1px solid var(--rv-cart-border); border-radius: 12px; padding: 20px; color: var(--rv-cart-text); }
#order-standard_cart .alert { border-radius: 12px; padding: 18px 20px; line-height: 1.65; }
#order-standard_cart .alert-danger,
#order-standard_cart .error-heading { background: #FDECEC; color: #A80E12; border: 1px solid #F2C7C8; }
#order-standard_cart .alert-success { background: #EAF6E4; color: #33771C; border: 1px solid #C9E3BE; }
#order-standard_cart .alert-warning { background: #FFF6E5; color: #785512; border: 1px solid #EAD8B2; }
#order-standard_cart .alert-info { background: var(--rv-cart-warm); color: var(--rv-cart-ink); border: 1px solid var(--rv-cart-border); }
#order-standard_cart .order-confirmation { border-radius: 20px; padding: 32px 24px; text-align: center; }
#order-standard_cart .modal-content { background: #fff; border: 1px solid var(--rv-cart-border); border-radius: 20px; }
#order-standard_cart .modal-header,
#order-standard_cart .modal-footer { border-color: var(--rv-cart-line); }
/* Never restyle visibility utilities, gateway iframe internals, iCheck state,
   CAPTCHA dimensions, loader display, modal positioning or native JS hooks. */
@media (max-width: 991px) {
  #order-standard_cart .secondary-cart-body,
  #order-standard_cart .secondary-cart-sidebar { float: none; width: 100%; padding: 0; }
  #order-standard_cart .secondary-cart-sidebar { margin-top: 24px; }
}
@media (max-width: 767px) {
  #order-standard_cart { padding: 28px 22px; border-radius: 16px; }
  #order-standard_cart .cart-body { float: none; width: 100%; padding: 0 15px; }
  #order-standard_cart .header-lined h1 { font-size: 26px; }
  #order-standard_cart .products .product { padding: 20px; }
  #order-standard_cart .form-control { font-size: 16px; }
  #order-standard_cart .domain-checker-container { padding: 22px 12px; }
  #order-standard_cart .domain-checker-container .domain-checker-bg { padding: 12px 0; }
  /* Reclaim the inherited 10/12 search column and offset on phones only.
     First child is the search group; the separate CAPTCHA column stays native. */
  #order-standard_cart #frmDomainChecker > .row > .col-10:first-child {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
    padding-left: 15px;
    padding-right: 15px;
  }
  #order-standard_cart .domain-checker-container .input-group-box { padding: 6px; }
  #order-standard_cart .domain-checker-container .input-group-lg > .form-control { min-width: 0; }
  #order-standard_cart .domain-checker-container .input-group-lg .btn { padding: 12px 10px; font-size: 14px; }
  #order-standard_cart .domain-suggestion .domain,
  #order-standard_cart .domain-suggestion .actions { float: none; max-width: 100%; white-space: normal; }
  #order-standard_cart .domain-suggestion .actions { margin-top: 10px; }
  #order-standard_cart .spotlight-tlds-container { max-width: 100%; overflow-x: auto; }
  #order-standard_cart .cc-input-container { padding: 16px; }
  #order-standard_cart .payment-methods { max-width: 100%; }
  #order-standard_cart .order-summary .amt { font-size: 26px; }
  #order-standard_cart .view-cart-items .item-price { text-align: left; }
  #order-standard_cart .domain-pricing .no-wrap { white-space: normal; }
  #order-standard_cart .domain-pricing .font-size-24 { font-size: 18px; }
}
#order-standard_cart {
  padding-bottom: 0px;
  padding-top: 0px;
}
/* Hosting domain selection only: keep the ONE native submit reachable on
   phones after WHMCS enables it. Never override native hidden/disabled state,
   standalone Add to Cart/Checkout, or desktop placement. */
@media (max-width: 767px) {
  #order-standard_cart #frmProductDomainSelections #btnDomainContinue:not(:disabled) {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: calc(100% - 32px);
    min-height: 48px;
    z-index: 1030;
    box-shadow: 0 0 0 6px #fff, 0 4px 24px rgba(11,11,12,.25);
  }
  #order-standard_cart #frmProductDomainSelections:has(#btnDomainContinue:not(:disabled)) {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  #order-standard_cart .btn,
  #order-standard_cart .form-control { transition: none; }
}
