/*
 * AI Assistant — diseño del área de cliente, la tienda, el carrito y el pago (plantilla «AI Assistant», creada a partir
 * de twenty-one, o encima de la plantilla clásica). Colores índigo, violeta y rosa; tarjetas redondeadas; iconos
 * en degradado; modo claro, oscuro y automático (botón ◐ de abajo a la derecha).
 * Selectores del HTML de twenty-one y standard_cart de WHMCS 8.11 a 8.13.
 * PENDIENTE DE PROBAR EN UN WHMCS REAL página por página (Jorge, 8.13.7).
 */
:root {
  /* Los colores de la marca (el módulo los cambia desde Acceso → «Colores del diseño»): principal, secundario,
     compras (botones de comprar y pagar) y detalles. Todo lo demás sale de estos cuatro. */
  --aia-p: #006688;
  --aia-p2: #5dc5f6;
  --aia-hot: #fd6b2b;
  --aia-sun: #ffc531;
}
:root {
  --aia-accent: var(--aia-p);
  --aia-accent-2: color-mix(in srgb, var(--aia-p) 82%, #000);
  --aia-accent-soft: color-mix(in srgb, var(--aia-p) 9%, #fff);
  --aia-grad: linear-gradient(135deg, var(--aia-p) 0%, var(--aia-p2) 100%);
  --aia-grad-soft: linear-gradient(135deg, color-mix(in srgb, var(--aia-p) 12%, transparent), color-mix(in srgb, var(--aia-p2) 10%, transparent));
  --aia-hot-grad: linear-gradient(135deg, var(--aia-hot) 0%, color-mix(in srgb, var(--aia-hot) 55%, var(--aia-sun)) 100%);
  --aia-hot-glow: 0 8px 20px -8px color-mix(in srgb, var(--aia-hot) 70%, transparent);
  --aia-glow: 0 6px 18px -6px color-mix(in srgb, var(--aia-p) 55%, transparent);
  --aia-bg: #f4f5fb;
  --aia-surface: #ffffff;
  --aia-surface-2: #f8f9fd;
  --aia-text: #1f2430;
  --aia-muted: #6b7280;
  --aia-line: #e4e7f0;
  --aia-ok: #0f7b4f; --aia-ok-bg: #e4f5ec;
  --aia-warn: #92590a; --aia-warn-bg: #fff4dd;
  --aia-bad: #b42318; --aia-bad-bg: #fde8e6;
  --aia-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px -8px rgba(16, 24, 40, .12);
  --aia-shadow-lift: 0 14px 34px -12px color-mix(in srgb, var(--aia-p) 35%, transparent);
  --aia-radius: 16px;
  --aia-radius-sm: 10px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-aia-theme="light"]) {
    --aia-accent: color-mix(in srgb, color-mix(in srgb, var(--aia-p) 50%, var(--aia-p2)) 62%, #fff); --aia-accent-2: color-mix(in srgb, var(--aia-p2) 50%, #fff); --aia-accent-soft: color-mix(in srgb, var(--aia-p) 28%, #1a202b);
    --aia-grad-soft: linear-gradient(135deg, color-mix(in srgb, var(--aia-p) 22%, transparent), color-mix(in srgb, var(--aia-p2) 16%, transparent));
    --aia-bg: #0f131a; --aia-surface: #1a202b; --aia-surface-2: #151b25; --aia-text: #e5e8ee; --aia-muted: #97a1b2; --aia-line: #2e3646;
    --aia-ok: #5fd39c; --aia-ok-bg: #12301f; --aia-warn: #f2b45a; --aia-warn-bg: #3a2a10; --aia-bad: #ff8a80; --aia-bad-bg: #3d1714;
    --aia-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -10px rgba(0, 0, 0, .6); --aia-shadow-lift: 0 14px 34px -12px rgba(0, 0, 0, .7);
    color-scheme: dark;
  }
}
:root[data-aia-theme="dark"] {
  --aia-accent: color-mix(in srgb, color-mix(in srgb, var(--aia-p) 50%, var(--aia-p2)) 62%, #fff); --aia-accent-2: color-mix(in srgb, var(--aia-p2) 50%, #fff); --aia-accent-soft: color-mix(in srgb, var(--aia-p) 28%, #1a202b);
  --aia-grad-soft: linear-gradient(135deg, color-mix(in srgb, var(--aia-p) 22%, transparent), color-mix(in srgb, var(--aia-p2) 16%, transparent));
  --aia-bg: #0f131a; --aia-surface: #1a202b; --aia-surface-2: #151b25; --aia-text: #e5e8ee; --aia-muted: #97a1b2; --aia-line: #2e3646;
  --aia-ok: #5fd39c; --aia-ok-bg: #12301f; --aia-warn: #f2b45a; --aia-warn-bg: #3a2a10; --aia-bad: #ff8a80; --aia-bad-bg: #3d1714;
  --aia-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -10px rgba(0, 0, 0, .6); --aia-shadow-lift: 0 14px 34px -12px rgba(0, 0, 0, .7);
  color-scheme: dark;
}

/* ---------- Base ---------- */
body { background: var(--aia-bg) !important; color: var(--aia-text); font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: var(--aia-accent); }
a:hover, a:focus { color: var(--aia-accent-2); }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4 { color: var(--aia-text); font-weight: 750; letter-spacing: -.01em; }
.text-muted, small.text-muted, .help-block, .form-text { color: var(--aia-muted) !important; }
hr { border-color: var(--aia-line); }
::selection { background: color-mix(in srgb, var(--aia-p) 25%, transparent); }
:focus-visible { outline: 2px solid var(--aia-accent); outline-offset: 2px; }

/* ---------- Cabecera (topbar, logo y buscador, menú principal) ---------- */
#header, .header { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#header .topbar, .header .topbar { background: var(--aia-grad) !important; border: 0; padding: 4px 0; font-size: 13px; }
#header .topbar, #header .topbar a, #header .topbar .btn, #header .topbar .input-group-text { color: #fff !important; }
#header .topbar .btn { background: rgba(255, 255, 255, .14) !important; border: 0 !important; border-radius: 999px; padding: 3px 12px; }
#header .topbar .btn:hover { background: rgba(255, 255, 255, .28) !important; }
#header .navbar-light, #header > .navbar, .header .navbar-light { background: var(--aia-surface) !important; border-bottom: 1px solid var(--aia-line); padding-top: 14px; padding-bottom: 14px; }
#header .navbar-brand, .header .navbar-brand { font-weight: 800; color: var(--aia-text) !important; letter-spacing: -.02em; }
#header .navbar-brand img, .header .logo-img { max-height: 44px; }
#header .search .form-control, #header .search input, .header .search .form-control { background: var(--aia-surface-2) !important; border: 1px solid var(--aia-line) !important; color: var(--aia-text); border-radius: 999px !important; padding-left: 16px; }
#header .search .btn, .header .search .btn { border-radius: 999px !important; background: transparent !important; border: 0 !important; color: var(--aia-muted) !important; }
#header .toolbar .nav-link, #header .toolbar .btn, .header .toolbar .nav-link { color: var(--aia-text) !important; border-radius: 999px; }
#header .cart-btn, .header .cart-btn { background: var(--aia-accent-soft) !important; color: var(--aia-accent) !important; border-radius: 999px !important; }
#header .cart-btn .badge, .header .cart-btn .badge { background: var(--aia-grad) !important; color: #fff !important; }
#header .main-navbar-wrapper, .header .main-navbar-wrapper { background: var(--aia-surface) !important; border-bottom: 1px solid var(--aia-line) !important; box-shadow: var(--aia-shadow); padding: 4px 0; }
#header .main-navbar-wrapper .navbar-nav > li > a, #header .main-navbar-wrapper .navbar-nav .nav-link, .header .main-navbar-wrapper .nav-link {
  color: var(--aia-text) !important; font-weight: 600; border-radius: 999px; padding: 8px 14px !important; margin: 0 2px; transition: background-color .15s, color .15s; }
#header .main-navbar-wrapper .navbar-nav .nav-link:hover, #header .main-navbar-wrapper .navbar-nav .active > .nav-link, #header .main-navbar-wrapper .navbar-nav .show > .nav-link {
  background: var(--aia-accent-soft) !important; color: var(--aia-accent) !important; }
.dropdown-menu { background: var(--aia-surface); border: 1px solid var(--aia-line); border-radius: 14px; box-shadow: var(--aia-shadow-lift); padding: 6px; }
.dropdown-item { color: var(--aia-text); border-radius: 8px; padding: 8px 12px; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { background: var(--aia-accent-soft); color: var(--aia-accent); }
.dropdown-divider { border-color: var(--aia-line); }
.master-breadcrumb { background: transparent !important; border: 0 !important; padding-top: 14px; }
.master-breadcrumb .breadcrumb { background: transparent; padding: 0; margin: 0; font-size: 13px; }
.breadcrumb-item a { color: var(--aia-muted); }
.breadcrumb-item.active { color: var(--aia-text); font-weight: 600; }

/* ---------- Página: contenido, barra lateral y tarjetas ---------- */
#main-body, .main-body { background: transparent !important; padding-top: 18px; padding-bottom: 40px; }
.card, .panel, .well, .card-accent-blue, .card-accent-green, .card-accent-red, .card-accent-gold { background: var(--aia-surface); border: 1px solid var(--aia-line) !important; border-radius: var(--aia-radius) !important; box-shadow: var(--aia-shadow); color: var(--aia-text); overflow: hidden; }
.card-header, .panel-heading { background: var(--aia-surface) !important; border-bottom: 1px solid var(--aia-line) !important; color: var(--aia-text); padding: 14px 18px; }
.card-header .card-title, .card-title, .panel-title { font-size: 15px; font-weight: 750; color: var(--aia-text); margin: 0; }
.card-header .card-title i, .card-title .fas, .card-title .far { background: var(--aia-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.card-body, .panel-body { color: var(--aia-text); }
.card-footer, .panel-footer { background: var(--aia-surface-2) !important; border-top: 1px solid var(--aia-line) !important; }
.card-sidebar, .sidebar .card { border-radius: var(--aia-radius) !important; }
.card-sidebar .card-header { background: var(--aia-grad-soft) !important; }
.list-group-item { background: var(--aia-surface); border-color: var(--aia-line) !important; color: var(--aia-text); padding: 10px 18px; }
.list-group-item-action:hover, .list-group-item-action:focus { background: var(--aia-surface-2); color: var(--aia-accent); }
.list-group-item.active, .card-sidebar .list-group-item.active, .list-group-item.active:hover { background: var(--aia-accent-soft) !important; color: var(--aia-accent) !important; border-color: var(--aia-line) !important; font-weight: 650; box-shadow: inset 3px 0 0 var(--aia-accent); }
.list-group-item .badge { background: var(--aia-accent-soft); color: var(--aia-accent); }

/* Inicio del área de cliente: las tarjetas de números con iconos en degradado */
.tiles { margin-bottom: 20px; }
.tiles .row { margin: 0 -7px; }
.tiles .row > [class*="col-"] { padding: 7px; }
.tiles .tile { display: block; background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-radius); box-shadow: var(--aia-shadow); padding: 18px 18px 16px; position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; text-decoration: none !important; }
.tiles .tile:hover { transform: translateY(-3px); box-shadow: var(--aia-shadow-lift); }
.tiles .tile i { font-size: 26px; background: var(--aia-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; opacity: 1 !important; }
.tiles .tile .stat { color: var(--aia-text) !important; font-size: 30px; font-weight: 800; }
.tiles .tile .title { color: var(--aia-muted) !important; font-weight: 600; text-transform: none; }
.tiles .tile .highlight { background: var(--aia-grad) !important; height: 4px !important; position: absolute; left: 0; right: 0; bottom: 0; }
.client-home-cards .card, .client-home-panels .card { margin-bottom: 18px; }
.primary-bg-color, .bg-primary, .bg-color-blue, .bg-color-green, .bg-color-red, .bg-color-gold, .bg-color-purple, .bg-color-pink { background: var(--aia-grad) !important; }
.text-primary, .primary-color { color: var(--aia-accent) !important; }

/* Etiquetas de estado, insignias y avisos */
.badge, .label { border-radius: 999px; font-weight: 650; padding: .35em .75em; }
.badge-primary, .badge-info, .label-info { background: var(--aia-accent-soft); color: var(--aia-accent); }
.badge-success, .label-success, .status-active, .status-paid, .status-open, .status-completed { background: var(--aia-ok-bg) !important; color: var(--aia-ok) !important; }
.badge-warning, .label-warning, .status-pending, .status-unpaid, .status-customer-reply, .status-answered { background: var(--aia-warn-bg) !important; color: var(--aia-warn) !important; }
.badge-danger, .label-danger, .status-suspended, .status-cancelled, .status-terminated, .status-overdue, .status-closed, .status-fraud { background: var(--aia-bad-bg) !important; color: var(--aia-bad) !important; }
.alert { border-radius: 14px; border: 1px solid transparent; }
.alert-info { background: var(--aia-accent-soft); color: var(--aia-accent-2); border-color: transparent; }
.alert-success { background: var(--aia-ok-bg); color: var(--aia-ok); }
.alert-warning { background: var(--aia-warn-bg); color: var(--aia-warn); }
.alert-danger { background: var(--aia-bad-bg); color: var(--aia-bad); }

/* Botones */
.btn { border-radius: 10px; font-weight: 600; padding-left: 15px; padding-right: 15px; transition: transform .12s, box-shadow .15s, filter .15s; }
.btn-sm, .btn-group-sm > .btn { padding-left: 12px; padding-right: 12px; }
.btn-primary, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .btn-info, .btn-success, .btn-checkout, .btn-order-now, .btn-success:not(:disabled):not(.disabled):active {
  background: var(--aia-grad) !important; border-color: transparent !important; color: #fff !important; box-shadow: var(--aia-glow); }
.btn-primary:hover, .btn-info:hover, .btn-success:hover, .btn-checkout:hover, .btn-order-now:hover { filter: brightness(1.06); transform: translateY(-1px); }
/* Comprar y pagar: el color de «compras» (en una marca de hosting, el naranja), que destaca sobre el resto. */
.btn-checkout, .btn-order-now, #btnCompleteOrder, #order-standard_cart .btn-checkout, #order-standard_cart .products .product footer .btn,
#order-standard_cart .domain-checker-container .btn, #order-standard_cart #btnCompleteProductConfig, #order-standard_cart .spotlight-tld .btn-add-to-cart,
#order-standard_cart .domain-suggestion .btn-add-to-cart, #order-standard_cart .btn-add-to-cart, .mc-promo .btn-add {
  background: var(--aia-hot-grad) !important; border-color: transparent !important; color: #fff !important; box-shadow: var(--aia-hot-glow) !important;
}
.btn-default, .btn-light, .btn-secondary, .btn-outline-secondary, .btn-outline-primary { background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; color: var(--aia-text) !important; }
.btn-default:hover, .btn-light:hover, .btn-secondary:hover, .btn-outline-secondary:hover, .btn-outline-primary:hover { border-color: var(--aia-accent) !important; color: var(--aia-accent) !important; }
.btn-danger { border-radius: 999px; }
.btn-link { color: var(--aia-accent); }

/* Formularios */
.form-control, .custom-select, select.form-control, .field, textarea.form-control { background-color: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; color: var(--aia-text) !important; border-radius: var(--aia-radius-sm) !important; min-height: 42px; }
.form-control:focus, .custom-select:focus, .field:focus { border-color: var(--aia-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--aia-p) 20%, transparent) !important; }
.form-control::placeholder { color: var(--aia-muted); }
label, .control-label, .col-form-label { font-weight: 600; color: var(--aia-text); }
.input-group-text { background: var(--aia-surface-2); border-color: var(--aia-line); color: var(--aia-muted); }
.input-group > .form-control:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.input-group > .form-control:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--aia-accent); border-color: var(--aia-accent); }
.nav-tabs { border-color: var(--aia-line); }
.nav-tabs .nav-link { border-radius: 10px 10px 0 0; color: var(--aia-muted); font-weight: 600; }
.nav-tabs .nav-link.active { color: var(--aia-accent); border-color: var(--aia-line) var(--aia-line) var(--aia-surface); background: var(--aia-surface); }
.nav-pills .nav-link.active { background: var(--aia-grad); }
.page-item.active .page-link { background: var(--aia-grad); border-color: transparent; color: #fff; }
.page-link { background: var(--aia-surface); border-color: var(--aia-line); color: var(--aia-accent); border-radius: 8px; margin: 0 2px; }
.progress { background: var(--aia-surface-2); border-radius: 999px; }
.progress-bar { background: var(--aia-grad); }

/* Tablas (servicios, dominios, facturas, tickets…) */
.table { color: var(--aia-text); }
.table th, .table td { border-color: var(--aia-line) !important; vertical-align: middle; }
.table thead th, .table-list thead th { background: var(--aia-surface-2) !important; color: var(--aia-muted) !important; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; border-bottom-width: 1px !important; }
.table-list { border-radius: var(--aia-radius); overflow: hidden; }
.table-list > tbody > tr > td { background: var(--aia-surface); }
.table-list > tbody > tr:hover > td, .table-hover tbody tr:hover { background: var(--aia-accent-soft) !important; cursor: pointer; }
.table-container, .dataTables_wrapper { background: var(--aia-surface); border: 1px solid var(--aia-line); border-radius: var(--aia-radius); box-shadow: var(--aia-shadow); padding: 12px; }
.dataTables_wrapper .dataTables_info, .dataTables_wrapper label, .dataTables_wrapper .dataTables_length { color: var(--aia-muted); }
.dataTables_wrapper .dataTables_filter input { border-radius: 999px !important; }

/* Inicio de sesión, registro y contraseña */
.login-form, .card.mw-540, .login-container .card, .card.login { border-radius: 22px !important; box-shadow: var(--aia-shadow-lift) !important; border: 0 !important; }
.login-form .card-body, .card.mw-540 .card-body { padding: 32px; }
.login-form h6, .card.mw-540 h6 { color: var(--aia-muted); }
.providerLinkingFeedback, .social-signin-btns .btn { border-radius: 999px; }

/* Tickets: hilo de mensajes */
.ticket-reply, .view-ticket .reply { border: 1px solid var(--aia-line); border-radius: var(--aia-radius); background: var(--aia-surface); overflow: hidden; margin-bottom: 14px; }
.ticket-reply .posted-by, .view-ticket .reply .user { background: var(--aia-surface-2); border-bottom: 1px solid var(--aia-line); }
.ticket-reply.staff, .view-ticket .reply.staff { border-color: color-mix(in srgb, var(--aia-p) 35%, transparent); }
.ticket-reply.staff .posted-by, .view-ticket .reply.staff .user { background: var(--aia-grad-soft); }

/* Factura (viewinvoice) y presupuestos */
.invoice-container, .quote-container { background: var(--aia-surface) !important; border-radius: var(--aia-radius); box-shadow: var(--aia-shadow); border: 1px solid var(--aia-line); }
.invoice-container .invoice-status .paid { color: var(--aia-ok); }
.invoice-container .invoice-status .unpaid, .invoice-container .invoice-status .overdue { color: var(--aia-bad); }

/* ---------- Tienda y carrito (standard_cart), con el aspecto del portal del asistente ----------
   Lo que importa de WHMCS es que funcione; el aspecto es el del portal: letra de 14 px, tarjetas blancas con borde
   fino, esquinas de 10-14 px, botones compactos, etiquetas pequeñas en mayúsculas y los iconos en cuadraditos de
   color (los pone theme.js). */
#order-standard_cart .cart-sidebar, #order-standard_cart .sidebar-collapsed { display: none !important; }
#order-standard_cart .cart-body { float: none !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-left: 0; padding-right: 0; background: transparent !important; box-shadow: none !important; border: 0 !important; }
#order-standard_cart { --aia-cr: 14px; --aia-cs: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08); color: var(--aia-text); font-size: 14px; line-height: 1.5; }
#order-standard_cart .card, #order-standard_cart .panel { border-radius: var(--aia-cr) !important; box-shadow: var(--aia-cs) !important; }
#order-standard_cart .btn { border-radius: 10px !important; padding: 8px 15px; font-size: 14px; font-weight: 600; box-shadow: none; }
#order-standard_cart .btn-lg { padding: 10px 18px; font-size: 15px; }
#order-standard_cart .form-control, #order-standard_cart .field, #order-standard_cart select, #order-standard_cart .custom-select { border-radius: 10px !important; border: 1px solid var(--aia-line) !important; box-shadow: none !important; font-size: 14px; }
#order-standard_cart .form-control:focus, #order-standard_cart .field:focus { border-color: var(--aia-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--aia-p) 22%, transparent) !important; }
#order-standard_cart label, #order-standard_cart .control-label { font-size: 11.5px; font-weight: 650; color: var(--aia-muted); text-transform: uppercase; letter-spacing: .04em; }

/* Los iconos en cuadradito (como en el portal) */
.aia-cico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px; vertical-align: middle;
  background: color-mix(in srgb, var(--aia-p) 10%, #fff); color: var(--aia-p); }
.aia-cico.alt { background: color-mix(in srgb, var(--aia-p2) 18%, #fff); color: color-mix(in srgb, var(--aia-p2) 55%, #000); }
.aia-cico.hot { background: color-mix(in srgb, var(--aia-hot) 13%, #fff); color: var(--aia-hot); }
.aia-cico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* El título de cada paso */
#order-standard_cart .header-lined { border: 0 !important; margin: 4px 0 18px; padding: 0; }
#order-standard_cart .header-lined h1 { display: flex; align-items: center; gap: 12px; font-size: 22px !important; font-weight: 750; letter-spacing: -.01em; color: var(--aia-text); margin: 0 0 4px; line-height: 1.2; }
#order-standard_cart .header-lined h1 .aia-cico { width: 44px; height: 44px; border-radius: 12px; }
#order-standard_cart .header-lined p, #order-standard_cart .header-lined + p { color: var(--aia-muted); font-size: 14px; margin: 6px 0 0; }
/* Los apartados: etiqueta pequeña con su icono, como «Mi cuenta» en el portal */
#order-standard_cart .sub-heading, #order-standard_cart .sub-heading-borderless { border: 0 !important; height: auto; margin: 22px 0 10px; text-align: left; }
#order-standard_cart .sub-heading span, #order-standard_cart .sub-heading-borderless span {
  display: inline-flex; align-items: center; gap: 10px; position: static; background: transparent !important; color: var(--aia-text) !important;
  font-size: 16px; font-weight: 700; padding: 0 !important;
}
#order-standard_cart .sub-heading, #order-standard_cart .sub-heading-borderless { text-align: left !important; }
#order-standard_cart .sub-heading > span, #order-standard_cart .sub-heading-borderless > span { display: inline-flex !important; align-items: center !important; gap: 10px !important; flex-direction: row !important; }
#order-standard_cart .sub-heading .aia-cico, #order-standard_cart .sub-heading-borderless .aia-cico {
  display: inline-flex !important; width: 34px !important; height: 34px !important; margin: 0 !important; padding: 0 !important; border-radius: 10px !important; position: static !important;
  background: color-mix(in srgb, var(--aia-p) 10%, #fff) !important; color: var(--aia-p) !important;
}
#order-standard_cart .sub-heading .aia-cico.alt { background: color-mix(in srgb, var(--aia-p2) 18%, #fff) !important; color: color-mix(in srgb, var(--aia-p2) 55%, #000) !important; }
#order-standard_cart .sub-heading .aia-cico.hot { background: color-mix(in srgb, var(--aia-hot) 13%, #fff) !important; color: var(--aia-hot) !important; }
#order-standard_cart .sub-heading .aia-cico svg { width: 19px; height: 19px; }

/* Las tarjetas de los productos, como las tarjetas del portal */
#order-standard_cart .products > .row, #order-standard_cart .products .row-eq-height { row-gap: 14px; }
#order-standard_cart .products .product {
  display: flex; flex-direction: column; height: calc(100% - 14px); background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important;
  border-radius: var(--aia-cr) !important; box-shadow: var(--aia-cs); overflow: hidden; transition: transform .15s, box-shadow .15s, border-color .15s; margin-bottom: 14px; padding: 0 !important;
}
#order-standard_cart .products .product:hover { transform: translateY(-2px); box-shadow: var(--aia-shadow-lift); border-color: transparent !important; }
#order-standard_cart .products .product header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: transparent !important; color: var(--aia-text) !important; border: 0 !important; border-bottom: 1px solid var(--aia-line) !important; padding: 14px 16px !important; margin: 0 !important; }
#order-standard_cart .products .product header span { color: var(--aia-text) !important; font-size: 16px; font-weight: 700; }
#order-standard_cart .products .product header .qty { margin-left: auto; color: #3d2c00 !important; background: color-mix(in srgb, var(--aia-sun) 35%, #fff); border-radius: 999px; padding: 2px 9px; font-size: 11.5px; font-weight: 650; }
#order-standard_cart .products .product div.product-desc { flex: 1; float: none !important; width: auto !important; color: var(--aia-text); padding: 12px 16px !important; font-size: 13px; }
#order-standard_cart .products .product div.product-desc ul { list-style: none; padding: 0; margin: 0; }
#order-standard_cart .product-desc ul br, #order-standard_cart .product-desc ul + br, #order-standard_cart .product-info ul br, #order-standard_cart .product-info ul + br { display: none; }
#order-standard_cart .product-desc li, #order-standard_cart .product-info li { line-height: 1.45; margin: 0; }
#order-standard_cart .product-desc p { margin: 0; }
#order-standard_cart .product-desc > p:empty { display: none; }
#order-standard_cart .products .product div.product-desc ul li { position: relative; border: 0; padding: 4px 0 4px 24px; }
#order-standard_cart .products .product div.product-desc ul li::before {
  content: ""; position: absolute; left: 0; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: color-mix(in srgb, var(--aia-p) 12%, #fff)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 10px no-repeat;
}
#order-standard_cart .products .product footer {
  float: none !important; width: auto !important; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; text-align: left;
  background: var(--aia-surface-2); border-top: 1px solid var(--aia-line); padding: 12px 16px !important; margin: 0 !important;
}
#order-standard_cart .products .product footer .product-pricing { text-align: left; }
#order-standard_cart .products .product .price, #order-standard_cart .product-pricing .price { color: var(--aia-p) !important; font-weight: 800; font-size: 20px; letter-spacing: -.01em; line-height: 1.1; }
#order-standard_cart .product-pricing { color: var(--aia-muted); font-size: 12px; }
#order-standard_cart .products .product footer .btn { padding: 8px 15px; }

/* Configurar el producto */
#order-standard_cart .product-info { background: var(--aia-surface) !important; border: 1px solid var(--aia-line); border-radius: var(--aia-cr); box-shadow: var(--aia-cs); color: var(--aia-text); padding: 14px 16px !important; margin-bottom: 14px; }
#order-standard_cart .product-info .product-title { font-size: 16px; font-weight: 700; background: transparent; border: 0; }
#order-standard_cart .product-info ul { list-style: none; padding: 0; margin: 8px 0 0; columns: 2 220px; column-gap: 24px; font-size: 13px; }
#order-standard_cart .product-info ul li { position: relative; padding: 3px 0 3px 22px; break-inside: avoid; }
#order-standard_cart .product-info ul li::before { content: "✓"; position: absolute; left: 0; color: var(--aia-p); font-weight: 800; }
#order-standard_cart .field-container, #order-standard_cart .panel-addon, #order-standard_cart .addon-products .panel-addon {
  background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-cr) !important; color: var(--aia-text); box-shadow: var(--aia-cs); padding: 14px 16px !important;
}
#order-standard_cart .panel-addon { padding: 0 !important; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
#order-standard_cart .panel-addon .panel-addon-content, #order-standard_cart .panel-addon .panel-body { padding: 12px 14px; }
#order-standard_cart .panel-addon-selected { border-color: var(--aia-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--aia-p) 18%, transparent) !important; }
#order-standard_cart .panel-addon .panel-price { background: var(--aia-surface-2); color: var(--aia-p); font-weight: 700; border-top: 1px solid var(--aia-line); }
#order-standard_cart .panel-addon .panel-add { background: var(--aia-p) !important; color: #fff; }
#order-standard_cart .addon-promo-container { background: var(--aia-surface) !important; border: 1px solid var(--aia-line); border-radius: var(--aia-cr); box-shadow: var(--aia-cs); padding: 14px 16px !important; margin-bottom: 12px; color: var(--aia-text); }
#order-standard_cart .addon-promo-container h3 { font-size: 15px; font-weight: 700; margin: 0 0 4px; }
#order-standard_cart .addon-promo-container p { color: var(--aia-muted); font-size: 13px; }
#order-standard_cart .addon-promo-container .logo img { max-height: 36px; width: auto; }
#order-standard_cart .addon-promo-container label { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 12px; margin: 0 0 6px; border: 1px solid var(--aia-line); border-radius: 10px; cursor: pointer; text-transform: none; letter-spacing: 0; font-size: 13.5px; font-weight: 550; color: var(--aia-text); }
#order-standard_cart .addon-promo-container label:hover { border-color: var(--aia-accent); background: var(--aia-accent-soft); }

/* El buscador de dominios: la tarjeta del portal, con la línea de color arriba */
#order-standard_cart .domain-checker-container, #order-standard_cart .domain-checker-bg {
  background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-cr); box-shadow: var(--aia-cs); position: relative; overflow: hidden; padding: 18px 16px 16px !important; margin-bottom: 14px;
}
#order-standard_cart .domain-checker-bg::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--aia-p), var(--aia-p2) 60%, var(--aia-hot) 85%, var(--aia-sun)); }
#order-standard_cart .domain-checker-bg::after { display: none; }
#order-standard_cart .domain-checker-container .input-group-box { background: transparent !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none; display: flex; gap: 8px; }
#order-standard_cart .domain-checker-container .form-control { border: 1px solid var(--aia-line) !important; border-radius: 10px !important; font-size: 15px; height: 44px; padding: 0 14px; color: var(--aia-text); background: var(--aia-surface) !important; }
#order-standard_cart .domain-checker-container .btn { border-radius: 10px !important; height: 44px; padding: 0 20px; font-size: 14px; }
#order-standard_cart .domain-checker-result-headline { font-size: 16px; font-weight: 700; margin: 14px 0; }
#order-standard_cart .domain-checker-result-headline .domain-available, #order-standard_cart .domain-checker-available { color: var(--aia-ok); }
#order-standard_cart .domain-checker-result-headline .domain-unavailable, #order-standard_cart .domain-checker-unavailable { color: var(--aia-bad); }
#order-standard_cart .spotlight-tlds { margin: 14px 0 4px; }
#order-standard_cart .spotlight-tlds .spotlight-tld, #order-standard_cart .domain-suggestions .domain-suggestion {
  background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: 12px !important; color: var(--aia-text); box-shadow: var(--aia-cs);
  font-size: 16px; font-weight: 750; padding: 12px 10px !important; transition: transform .15s;
}
#order-standard_cart .spotlight-tlds .spotlight-tld:hover { transform: translateY(-2px); }
#order-standard_cart .domain-suggestions .domain-suggestion { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
#order-standard_cart .domain-pricing { margin-top: 24px; }
#order-standard_cart .domain-pricing h4, #order-standard_cart .domain-pricing h3 { font-size: 16px; font-weight: 700; }
#order-standard_cart .domain-pricing .tld-filters a, #order-standard_cart .tld-filters .badge { background: var(--aia-surface) !important; color: var(--aia-text) !important; border: 1px solid var(--aia-line); border-radius: 999px !important; padding: 4px 10px; font-weight: 600; font-size: 12.5px; }
#order-standard_cart .domain-pricing .tld-filters a.active, #order-standard_cart .tld-filters .badge-success { background: var(--aia-p) !important; color: #fff !important; border-color: transparent; }
#order-standard_cart .tld-pricing-header { background: transparent !important; color: var(--aia-muted); font-weight: 650; text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
#order-standard_cart .tld-pricing-header div, #order-standard_cart .tld-pricing-header .col-xs-2 { border: 0 !important; background: transparent !important; }
#order-standard_cart .tld-row { background: var(--aia-surface) !important; border: 1px solid var(--aia-line); border-radius: 10px; margin-bottom: 6px !important; box-shadow: none; font-size: 13.5px; }
#order-standard_cart .tld-row:hover { border-color: var(--aia-accent); }
#order-standard_cart .tld-row strong { font-size: 14px; }
#order-standard_cart .tld-row .two-row-center { border: 0 !important; }

/* El carrito: cada producto, una fila de tarjeta */
#order-standard_cart .view-cart-items-header { background: transparent !important; color: var(--aia-muted) !important; border: 0; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
#order-standard_cart .view-cart-items { border: 0 !important; background: transparent; }
#order-standard_cart .view-cart-items .item { background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-cr); margin-bottom: 8px; padding: 12px 16px !important; box-shadow: var(--aia-cs); color: var(--aia-text); }
#order-standard_cart .view-cart-items .item .item-title { color: var(--aia-text); font-weight: 700; font-size: 15px; }
#order-standard_cart .view-cart-items .item .item-group, #order-standard_cart .view-cart-items .item .item-domain { color: var(--aia-muted); font-size: 12.5px; }
#order-standard_cart .view-cart-items .item .item-price span:first-child { color: var(--aia-p); font-weight: 800; font-size: 16px; }
#order-standard_cart .view-cart-empty { background: var(--aia-surface); border: 1px dashed var(--aia-line); border-radius: var(--aia-cr); padding: 28px; color: var(--aia-muted); text-align: center; }
#order-standard_cart .empty-cart .btn { background: var(--aia-surface) !important; color: var(--aia-bad) !important; border: 1px solid var(--aia-line) !important; box-shadow: none !important; font-size: 12.5px; padding: 4px 10px; }
#order-standard_cart .empty-cart .btn:hover { background: var(--aia-bad-bg) !important; }
#order-standard_cart .view-cart-tabs .nav-tabs { border: 0; gap: 6px; }
#order-standard_cart .view-cart-tabs .nav-tabs li, #order-standard_cart .view-cart-tabs .nav-tabs .active { border-radius: 10px !important; overflow: hidden; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link, #order-standard_cart .view-cart-tabs .nav-tabs a { border: 1px solid var(--aia-line) !important; border-radius: 10px !important; background: var(--aia-surface); color: var(--aia-text) !important; font-weight: 600; font-size: 13px; padding: 6px 12px; }
#order-standard_cart .view-cart-tabs .nav-tabs .active, #order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active { background: var(--aia-accent-soft) !important; color: var(--aia-p) !important; border-color: var(--aia-accent) !important; }
#order-standard_cart .view-cart-tabs .tab-content { background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-cr) !important; padding: 14px !important; margin-top: 8px; box-shadow: var(--aia-cs); }

/* El resumen del pedido: tarjeta del portal con su cabecera, fija al bajar */
#order-standard_cart .secondary-cart-sidebar { position: sticky; top: calc(var(--aia-sh-top, 60px) + 16px); }
#order-standard_cart .order-summary { background: var(--aia-surface) !important; border: 1px solid var(--aia-line) !important; border-radius: var(--aia-cr) !important; box-shadow: var(--aia-cs); color: var(--aia-text) !important; overflow: hidden; }
#order-standard_cart .order-summary h2 { background: transparent !important; color: var(--aia-text) !important; font-size: 15px !important; font-weight: 700 !important; padding: 12px 16px !important; margin: 0 !important; text-align: left !important; border-bottom: 1px solid var(--aia-line); }
#order-standard_cart .summary-container { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 14px 16px !important; color: var(--aia-text) !important; }
#order-standard_cart .summary-container .subtotal, #order-standard_cart .summary-container .bordered-totals { border-color: var(--aia-line) !important; font-size: 13.5px; }
#order-standard_cart .summary-container .total-due-today { padding-top: 10px; margin-top: 6px; box-shadow: inset 0 3px 0 color-mix(in srgb, var(--aia-sun) 85%, transparent); border-radius: 3px; }
#order-standard_cart .summary-container .total-due-today .amt, #order-standard_cart .total-due-today .amt { color: var(--aia-p) !important; font-weight: 800; font-size: 26px; letter-spacing: -.01em; }
#order-standard_cart .order-summary .btn-checkout, #order-standard_cart .summary-container .btn-checkout { width: 100%; }
#order-standard_cart .order-summary .btn-continue-shopping, #order-standard_cart #continueShopping { color: var(--aia-muted) !important; font-weight: 600; font-size: 13px; }

/* El pago (checkout): cada parte, una tarjeta */
#order-standard_cart .already-registered { background: var(--aia-accent-soft) !important; border: 1px solid var(--aia-line); border-radius: var(--aia-cr); padding: 12px 16px !important; margin-bottom: 6px; font-size: 13.5px; }
#order-standard_cart #containerExistingUserSignin, #order-standard_cart #containerNewUserSignup, #order-standard_cart #containerNewUserSecurity, #order-standard_cart #paymentGatewaysContainer,
#order-standard_cart .account-select-container, #order-standard_cart #domainRegistrantInputFields {
  background: var(--aia-surface); border: 1px solid var(--aia-line); border-radius: var(--aia-cr); padding: 14px 16px 4px; box-shadow: var(--aia-cs); margin-bottom: 6px;
}
#order-standard_cart .prepend-icon .field { padding-left: 40px; }
#order-standard_cart .prepend-icon .field-icon { color: var(--aia-muted); }
#order-standard_cart .field { height: 42px; }
#order-standard_cart #paymentGatewaysContainer label, #order-standard_cart .account-select-container label.radio-inline { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--aia-line); border-radius: 10px; padding: 8px 12px; margin: 0 6px 8px 0; background: var(--aia-surface); font-weight: 600; font-size: 13.5px; text-transform: none; letter-spacing: 0; color: var(--aia-text); }
#order-standard_cart .checkout-security-msg, #order-standard_cart .alert-success.checkout-security-msg { background: var(--aia-ok-bg); color: var(--aia-ok); border: 0; border-radius: 10px; font-size: 13px; }
#order-standard_cart .alert { border-radius: 10px; font-size: 13.5px; }
#order-standard_cart .cc-input-container, #order-standard_cart #creditCardInputFields { background: var(--aia-surface-2); border-radius: 10px; }
#order-standard_cart .btn-checkout, #order-standard_cart #btnCompleteOrder { padding: 11px 22px; font-size: 15px; font-weight: 700; }
#order-standard_cart #btnCompleteOrder { min-width: 240px; }

/* «Recommended for you» (carrito) y «Last Chance» (pago): las promociones de MarketConnect, retiradas por ahora con
   el diseño nuevo (ahí irá el marketplace). Para volver a mostrarlas, borre estas dos líneas. */
#order-standard_cart div:has(> .mc-promos) { display: none !important; }
#order-standard_cart .mc-promos { display: none !important; }
.order-steps, .cart-steps { counter-reset: aia; }

/* ---------- Pie ---------- */
#footer, .footer { background: var(--aia-surface) !important; border-top: 1px solid var(--aia-line) !important; color: var(--aia-muted) !important; padding: 26px 0 !important; margin-top: 30px; }
#footer .nav-link, .footer .nav-link, #footer a, .footer a { color: var(--aia-muted) !important; }
#footer a:hover, .footer a:hover { color: var(--aia-accent) !important; }
#footer .copyright, .footer .copyright { color: var(--aia-muted); }
.btn-return-to-admin { border-radius: 999px !important; background: var(--aia-grad) !important; color: #fff !important; }

/* Ventanas (modales) */
.modal-content { background: var(--aia-surface); color: var(--aia-text); border: 0; border-radius: 20px; box-shadow: var(--aia-shadow-lift); }
.modal-header, .modal-footer { border-color: var(--aia-line); }
.modal-header .close { color: var(--aia-text); }

/* ---------- Botones de abajo a la derecha (asistente, tema, diseño clásico) ---------- */
.aia-dock .aia-dock-theme { width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--aia-line); background: var(--aia-surface); color: var(--aia-text); font-size: 17px; cursor: pointer; box-shadow: var(--aia-shadow); }
.aia-dock .aia-dock-switch { background: var(--aia-surface) !important; color: var(--aia-accent) !important; border-color: var(--aia-line) !important; }
.aia-dock .aia-dock-chat { background: var(--aia-grad) !important; box-shadow: var(--aia-glow) !important; }

@media (max-width: 991px) {
  #header .main-navbar-wrapper .navbar-nav .nav-link { border-radius: 10px; }
}
@media (max-width: 575px) {
  .aia-dock { left: 16px; right: 16px !important; justify-content: flex-end; flex-wrap: wrap; }
  .tiles .tile .stat { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .tiles .tile, #order-standard_cart .products .product, .btn { transition: none; }
  .tiles .tile:hover, #order-standard_cart .products .product:hover, .btn:hover { transform: none; }
}

/* Detalles con el color de «detalles» (amarillo): lo gratis, lo destacado y el total. */
.label-success.free, .badge-free, #order-standard_cart .domain-price .free, #order-standard_cart .free-domain-label { background: color-mix(in srgb, var(--aia-sun) 40%, #fff) !important; color: #3d2c00 !important; }
