/* Carrito con el diseño de /pedido: tarjetas, títulos numerados, resumen, totales y botones.
   Solo la página de revisión del carrito (viewcart.tpl, #order-standard_cart.ah-viewcart).
   La barra de pasos y las garantías vienen del tema (ah-pages.css), igual que en /pedido. */
#order-standard_cart.ah-viewcart { color: var(--ink); }
#order-standard_cart.ah-viewcart .cart-body { width: 1104px !important; max-width: 1104px !important; margin: 0 auto !important; padding: 0 0 56px !important; }
#order-standard_cart.ah-viewcart > .row { display: flex !important; justify-content: center; margin: 0 !important; }
#order-standard_cart.ah-viewcart > .row > .cart-body { flex: 0 0 1104px !important; }
#order-standard_cart.ah-viewcart > .row > .cart-sidebar { display: none !important; }
#order-standard_cart.ah-viewcart .cart-body > .row { display: flex !important; align-items: flex-start; gap: 32px; margin: 32px 0 0 !important; }
#order-standard_cart.ah-viewcart .cart-body > .row > .secondary-cart-body { flex: 0 0 720px !important; width: 720px !important; max-width: none; min-width: 0; padding: 0 !important; margin: 0 !important; }
#order-standard_cart.ah-viewcart .cart-body > .row > .secondary-cart-sidebar { flex: 0 0 352px !important; width: 352px !important; max-width: none; padding: 0 !important; margin: 0 !important; }

#order-standard_cart.ah-viewcart .header-lined { border: 0; padding: 0; margin: 0; }
#order-standard_cart.ah-viewcart h1 { font-size: 36px; font-weight: 600; letter-spacing: -0.025em; line-height: 1.15; margin: 14px 0 0 !important; color: var(--ink); }
#order-standard_cart.ah-viewcart .ah-cart-lead { margin: 12px 0 0; color: var(--muted); font-size: 16px; line-height: 1.5; }

/* Tarjeta de productos, con su título numerado como en /pedido */
#order-standard_cart.ah-viewcart .secondary-cart-body > form { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); padding: 28px; }
#order-standard_cart.ah-viewcart .ah-step { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: var(--ink); font-size: 18px; font-weight: 600; }
#order-standard_cart.ah-viewcart .ah-step::before { content: "1"; display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 14px; font-weight: 600; }
#order-standard_cart.ah-viewcart .view-cart-items { border: 0; border-radius: 0; background: transparent; overflow: visible; }
#order-standard_cart.ah-viewcart .view-cart-items-header { padding: 0 0 10px; color: var(--muted); font-size: 13px; font-weight: 500; border-bottom: 1px solid var(--line); background: transparent; }
#order-standard_cart.ah-viewcart .view-cart-items .item { padding: 16px 0; border-top: 1px solid var(--line); background: transparent !important; }
#order-standard_cart.ah-viewcart .view-cart-items .item:first-of-type { border-top: 0; }
#order-standard_cart.ah-viewcart .item-title { font-size: 16px; font-weight: 600; color: var(--ink); }
#order-standard_cart.ah-viewcart .item-group,
#order-standard_cart.ah-viewcart .item-domain { display: block; color: var(--muted); font-size: 13px; }
#order-standard_cart.ah-viewcart .item-price { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ink); }
#order-standard_cart.ah-viewcart .item-price .cycle { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
#order-standard_cart.ah-viewcart .item-price .renewal { font-size: 12px; font-weight: 400; color: var(--muted); }
#order-standard_cart.ah-viewcart .empty-cart { padding: 14px 0 0; }

/* Promo: tarjeta con pestañas de línea inferior y campo redondo, como las de /pedido */
#order-standard_cart.ah-viewcart .ah-promo { margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); }
#order-standard_cart.ah-viewcart .ah-promo-title { margin: 0 0 12px; color: var(--ink); font-size: 14px; font-weight: 600; }
#order-standard_cart.ah-viewcart .view-cart-tabs { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-tabs { display: none !important; }
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-tabs { display: flex; gap: 24px; border: 0; border-bottom: 1px solid var(--line); margin: 0 0 18px; }
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; border-radius: 0; margin: 0 0 -1px; padding: 0 0 12px; background: none; color: var(--muted); font-size: 14px; }
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-link.active { border-bottom-color: var(--accent-ink); color: var(--ink); font-weight: 600; background: none; }
#order-standard_cart.ah-viewcart .promo .form-control { height: 48px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg); padding: 0 20px; box-shadow: none; }
#order-standard_cart.ah-viewcart .promo .btn-default { width: 100%; height: 48px; margin-top: 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-weight: 600; }

/* Resumen: tarjeta con el círculo de número, como StepTitle en /pedido */
#order-standard_cart.ah-viewcart .order-summary { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); padding: 28px; box-shadow: none; }
#order-standard_cart.ah-viewcart .order-summary h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 0; background: none; color: var(--ink); font-size: 18px; font-weight: 600; }
#order-standard_cart.ah-viewcart .order-summary h2::before { content: "2"; display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 14px; font-weight: 600; }
#order-standard_cart.ah-viewcart .summary-container { padding: 0; color: var(--ink); font-size: 14px; }
#order-standard_cart.ah-viewcart .summary-products .product-name { font-weight: 600; }
#order-standard_cart.ah-viewcart .summary-products .product-group { display: block; color: var(--muted); font-size: 13px; }
#order-standard_cart.ah-viewcart .total-due-today { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 16px; padding: 16px 0 0; border-top: 1px solid var(--line); background: transparent !important; color: var(--ink); font-size: 16px; font-weight: 500; }
#order-standard_cart.ah-viewcart .total-due-today .amt { order: 2; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
#order-standard_cart.ah-viewcart .btn-checkout { display: flex; width: 100%; height: 48px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 16px; font-weight: 600; }
#order-standard_cart.ah-viewcart .btn-checkout:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: var(--on-accent); }
#order-standard_cart.ah-viewcart #continueShopping { display: flex; width: 100%; height: 48px; margin-top: 10px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); color: var(--ink); font-size: 14px; font-weight: 600; }

/* v3: encabezado de la tabla sin forma de píldora, pestaña de promo sin fondo gris */
#order-standard_cart.ah-viewcart .view-cart-items-header { border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-link,
#order-standard_cart.ah-viewcart .view-cart-tabs .nav-link.active { background: transparent !important; }

/* Resumen igual que /pedido: filas etiqueta–cifra, totales con línea, total a pagar en color normal */
#order-standard_cart.ah-viewcart .order-summary h2 { border: 0 !important; border-bottom: 0 !important; }
#order-standard_cart.ah-viewcart .ah-sum-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0 0 12px; color: var(--ink); font-size: 14px; font-weight: 400; }
#order-standard_cart.ah-viewcart .ah-sum-row > span:last-child { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
#order-standard_cart.ah-viewcart .ah-sum-sub { color: var(--muted); font-size: 13px; margin-top: -6px; }
#order-standard_cart.ah-viewcart .ah-sum-muted { color: var(--muted); }
#order-standard_cart.ah-viewcart .ah-sum-muted .recurring-charges { font-weight: 400; }
#order-standard_cart.ah-viewcart .ah-sum-line { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 4px; }
#order-standard_cart.ah-viewcart .total-due-today { border-top: 1px solid var(--line) !important; align-items: center; margin-top: 16px; padding: 18px 0 0; }
#order-standard_cart.ah-viewcart .total-due-today > span:first-child { color: var(--ink); font-size: 16px; font-weight: 500; }
#order-standard_cart.ah-viewcart .total-due-today .amt { order: 0; color: var(--ink) !important; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; }
#order-standard_cart.ah-viewcart .ah-sum-cta { display: grid; gap: 10px; margin-top: 20px; }
#order-standard_cart.ah-viewcart .ah-sum-cta br { display: none; }
#order-standard_cart.ah-viewcart .ah-aside-trust { display: grid; gap: 10px; margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); list-style: none; color: var(--muted); font-size: 14px; }
#order-standard_cart.ah-viewcart .ah-aside-trust li { display: flex; align-items: flex-start; gap: 10px; }
#order-standard_cart.ah-viewcart .ah-aside-trust svg { flex: none; margin-top: 2px; color: var(--accent-ink); }
#order-standard_cart.ah-viewcart .ah-aside-trust a { color: var(--accent-ink); font-weight: 500; text-decoration: none; }

/* v4: el tema pone relleno y márgenes negativos en el resumen; aquí se igualan a /pedido */
#order-standard_cart.ah-viewcart .order-summary { padding: 28px !important; }
#order-standard_cart.ah-viewcart .order-summary .summary-container { padding: 0 !important; margin: 0 !important; }
#order-standard_cart.ah-viewcart .total-due-today { margin: 16px 0 0 !important; padding: 18px 0 0 !important; }
#order-standard_cart.ah-viewcart .total-due-today > span:first-child { font-size: 16px !important; }
#order-standard_cart.ah-viewcart .ah-sum-row > span { font-size: inherit; }
#order-standard_cart.ah-viewcart .ah-sum-cta { margin: 20px 0 0 !important; }
#order-standard_cart.ah-viewcart .btn-checkout { margin: 0 !important; }
#order-standard_cart.ah-viewcart .ah-aside-trust { margin: 20px 0 0 !important; padding: 20px 0 0 !important; }

/* v6: entre productos solo una línea (la del tema se quitaba a medias) */
#order-standard_cart.ah-viewcart .view-cart-items .item { border-bottom: 0 !important; }
#order-standard_cart.ah-viewcart .view-cart-items .item:last-child { border-bottom: 0 !important; }

/* Listo (complete.tpl): misma estructura que Pagar y las mismas tarjetas, 720 + 352 */
#order-standard_cart.ah-complete .secondary-cart-body { display: grid; gap: 24px; }
#order-standard_cart.ah-complete .secondary-cart-sidebar { position: sticky; top: 96px; align-self: flex-start; }
#order-standard_cart.ah-complete .ah-card { margin: 0; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
#order-standard_cart.ah-complete .ah-card > h2 { margin: 0 0 16px; padding: 0; border: 0; color: var(--ink); font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: normal; }
#order-standard_cart.ah-complete .ah-card > p.ah-text { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
#order-standard_cart.ah-complete .ah-card > p.ah-text + .ah-btn { margin-top: 20px; }
#order-standard_cart.ah-complete .ah-mark { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 0 20px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-ink); }

/* Arbo con un consejo del paso (includes/ah-arbo-tip.tpl): va debajo de la frase de cabecera en Revisar, Pagar y Listo */
#order-standard_cart .ah-tip { display: flex; align-items: center; gap: 16px; max-width: 720px; margin: 20px 0 0; padding: 12px 20px 12px 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
#order-standard_cart .ah-tip__arbo { flex: none; width: 52px; height: auto; }
#order-standard_cart .ah-tip__text { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.5; }
#order-standard_cart .ah-tip__text strong { color: var(--accent-ink); font-weight: 600; }
#order-standard_cart.ah-complete .ah-label { margin: 0 0 6px; color: var(--muted); font-size: 13px; font-weight: 500; }
#order-standard_cart.ah-complete .ah-order-no { margin: 0 0 16px; color: var(--ink); font-size: 30px; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
#order-standard_cart.ah-complete .ah-steps-list { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; }
#order-standard_cart.ah-complete .ah-steps-list li { display: flex; align-items: flex-start; gap: 14px; }
#order-standard_cart.ah-complete .ah-num { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 14px; font-weight: 600; }
#order-standard_cart.ah-complete .ah-steps-list strong { display: block; color: var(--ink); font-size: 15px; font-weight: 600; }
#order-standard_cart.ah-complete .ah-steps-list p { margin: 2px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
#order-standard_cart.ah-complete .ah-card .alert { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--ink); font-size: 15px; line-height: 1.6; text-align: left; }
#order-standard_cart.ah-complete .ah-card .alert-link { color: var(--accent-ink); font-weight: 600; }
#order-standard_cart.ah-complete .ah-btn { display: flex; width: 100%; height: 48px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 16px; font-weight: 600; text-decoration: none; transition: background-color .2s ease, transform .16s ease; }
#order-standard_cart.ah-complete .ah-btn:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: var(--on-accent); }
#order-standard_cart.ah-complete .ah-btn:active { transform: scale(.97); }
#order-standard_cart.ah-complete .ah-btn-ghost { display: flex; width: 100%; height: 48px; margin-top: 10px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
#order-standard_cart.ah-complete .ah-btn-ghost:hover { border-color: var(--accent-ink); color: var(--ink); }
@media (max-width: 640px) {
  #order-standard_cart.ah-complete .ah-card { padding: 20px; }
}

@media (max-width: 1100px) {
  #order-standard_cart.ah-viewcart .cart-body { width: auto !important; max-width: 100% !important; padding: 0 16px 40px !important; }
  #order-standard_cart.ah-viewcart > .row > .cart-body { flex: 1 1 auto !important; }
  #order-standard_cart.ah-viewcart .cart-body > .row { flex-direction: column; }
  #order-standard_cart.ah-viewcart .cart-body > .row > .secondary-cart-body,
  #order-standard_cart.ah-viewcart .cart-body > .row > .secondary-cart-sidebar { flex: 1 1 auto !important; width: 100% !important; }
}

/* ===== Pago (checkout.tpl) =====
   Mismas columnas que el carrito (720 + 352). El formulario no es una tarjeta: dentro van
   tarjetas como las de /pedido (título, campos con etiqueta encima, pestañas y opciones). */
#order-standard_cart.ah-checkout #frmCheckout { border: 0; border-radius: 0; background: none; padding: 0; box-shadow: none; }
#order-standard_cart.ah-checkout .cart-body > .row > .secondary-cart-sidebar { position: sticky; top: 96px; align-self: flex-start; }
#order-standard_cart.ah-checkout .order-summary h2::before { content: none; display: none; }
/* scripts.js de WHMCS desplaza el resumen con margin-top al hacer scroll; aquí lo fija el sticky */
#order-standard_cart.ah-checkout #orderSummary { margin-top: 0 !important; }
#order-standard_cart.ah-checkout .checkout-error-feedback { margin: 24px 0 0; border-radius: 16px; }
#order-standard_cart.ah-checkout .ah-submit-original,
#order-standard_cart.ah-checkout .ah-whmcs-btn { display: none !important; }

#order-standard_cart.ah-checkout .ah-card { margin: 0 0 24px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
#order-standard_cart.ah-checkout .ah-card:last-of-type { margin-bottom: 0; }
#order-standard_cart.ah-checkout .ah-card > h2 { margin: 0 0 20px; padding: 0; border: 0; color: var(--ink); font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: normal; }
#order-standard_cart.ah-checkout .ah-card--tight { display: grid; gap: 16px; }
#order-standard_cart.ah-checkout .ah-sub { margin: 28px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); }
#order-standard_cart.ah-checkout .ah-sub.w-hidden { display: none; }
#order-standard_cart.ah-checkout .ah-sub > h3 { margin: 0 0 16px; color: var(--ink); font-size: 15px; font-weight: 600; line-height: 1.4; }

/* Pestañas: las de /pedido (línea inferior, la activa en negrita con subrayado azul) */
#order-standard_cart.ah-checkout .ah-tabs { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 24px; border-bottom: 1px solid var(--line); }
#order-standard_cart.ah-checkout .ah-tab { margin: 0 0 -1px; padding: 0 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--muted); font-size: 14px; font-weight: 400; cursor: pointer; transition: color .2s ease, border-color .2s ease; }
#order-standard_cart.ah-checkout .ah-tab:hover { color: var(--ink); }
#order-standard_cart.ah-checkout .ah-tab[aria-checked="true"] { border-bottom-color: var(--accent-ink); color: var(--ink); font-weight: 600; }
#order-standard_cart.ah-checkout .ah-tab:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; border-radius: 4px; }

/* Campos: etiqueta encima y campo redondo de 48 px, como en /pedido */
#order-standard_cart.ah-checkout .ah-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
#order-standard_cart.ah-checkout .ah-fields--top { margin-top: 16px; }
#order-standard_cart.ah-checkout .ah-field { grid-column: span 3; min-width: 0; margin: 0; }
#order-standard_cart.ah-checkout .ah-field--full { grid-column: 1 / -1; }
#order-standard_cart.ah-checkout .ah-field--2 { grid-column: span 2; }
#order-standard_cart.ah-checkout .ah-field > label,
#order-standard_cart.ah-checkout .ah-label { display: block; margin: 0 0 8px; color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.4; }
#order-standard_cart.ah-checkout .ah-opt { color: var(--muted); font-weight: 400; }
#order-standard_cart.ah-checkout .ah-field .form-control { display: block; width: 100%; height: 48px; margin: 0; padding: 0 20px; border: 1px solid var(--line); border-radius: 999px; background-color: var(--bg); color: var(--ink); font-size: 15px; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
#order-standard_cart.ah-checkout .ah-field select.form-control { padding-right: 44px; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256' fill='%238a8f98'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; background-size: 16px; }
#order-standard_cart.ah-checkout .ah-field textarea.form-control { height: auto; min-height: 96px; padding: 14px 20px; border-radius: 16px; resize: vertical; }
#order-standard_cart.ah-checkout .ah-field .form-control:focus { border-color: var(--accent-ink); box-shadow: 0 0 0 4px var(--accent-soft); outline: 0; }
#order-standard_cart.ah-checkout .ah-field .form-control::placeholder { color: var(--muted); opacity: 1; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input { display: block; width: 100%; }
/* El selector de país va en flujo normal: la bandera, el prefijo y la flecha se colocan en fila sin solaparse */
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .form-control { padding-left: 124px; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .flag-container { top: 0; bottom: 0; left: 0; width: auto; padding: 0; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .selected-flag { display: flex; align-items: center; gap: 8px; width: auto !important; height: 100%; padding: 0 12px 0 20px; border-right: 1px solid var(--line); border-radius: 999px 0 0 999px; background: transparent !important; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .iti-flag { position: static !important; flex: none; margin: 0 !important; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .selected-dial-code { flex: none; padding: 0; color: var(--ink); font-size: 15px; line-height: 1; }
#order-standard_cart.ah-checkout .ah-field .intl-tel-input .iti-arrow { position: static !important; flex: none; margin: 0 !important; }
#order-standard_cart.ah-checkout .ah-field .field-error-msg { display: none; margin: 6px 0 0; color: #b42318; font-size: 13px; }
#order-standard_cart.ah-checkout .ah-field.has-error .field-error-msg { display: block; }
#order-standard_cart.ah-checkout .ah-field.has-error .form-control { border-color: #b42318; }
#order-standard_cart.ah-checkout .ah-hint { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; text-align: left; }
#order-standard_cart.ah-checkout .ah-hint--top { margin: -8px 0 16px; }

/* Botones y enlaces dentro de las tarjetas */
#order-standard_cart.ah-checkout .ah-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 20px 0 0; }
#order-standard_cart.ah-checkout .ah-btn { display: inline-flex; height: 48px; align-items: center; justify-content: center; padding: 0 28px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .2s ease, transform .16s ease; }
#order-standard_cart.ah-checkout .ah-btn:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
#order-standard_cart.ah-checkout .ah-btn:active { transform: scale(.97); }
#order-standard_cart.ah-checkout .ah-link { padding: 0; border: 0; background: none; color: var(--accent-ink); font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; }
#order-standard_cart.ah-checkout .ah-link:hover { text-decoration: underline; }

/* Contraseña: medidor de fuerza fino y "Generar una segura" a la derecha */
#order-standard_cart.ah-checkout .ah-password-tools { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 12px 0 0; }
#order-standard_cart.ah-checkout .password-strength-meter { flex: 1 1 auto; width: auto; max-width: 360px; margin: 0; }
#order-standard_cart.ah-checkout .password-strength-meter .progress { height: 4px; margin: 6px 0 0; border-radius: 999px; background: var(--line); box-shadow: none; overflow: hidden; }
#order-standard_cart.ah-checkout .password-strength-meter .progress-bar { background-image: none; }
#order-standard_cart.ah-checkout .password-strength-meter .ah-hint { margin-top: 6px; }

/* Opciones elegibles: las tarjetas de /pedido (borde, y azul suave cuando está elegida) */
#order-standard_cart.ah-checkout .ah-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0; padding: 0; text-align: left; }
#order-standard_cart.ah-checkout .ah-option,
#order-standard_cart.ah-checkout .ah-option > label { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--ink); font-size: 15px; font-weight: 400; cursor: pointer; }
#order-standard_cart.ah-checkout .ah-option { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); transition: border-color .2s ease, background-color .2s ease; }
#order-standard_cart.ah-checkout .ah-option > label { flex: 1 1 auto; }
#order-standard_cart.ah-checkout .ah-option:hover { border-color: color-mix(in srgb, var(--accent-ink) 60%, transparent); }
#order-standard_cart.ah-checkout .ah-option:has(input:checked),
#order-standard_cart.ah-checkout .ah-option.active { border-color: var(--accent); background: var(--accent-soft); }
#order-standard_cart.ah-checkout .ah-gateway-icon { flex: none; width: 24px; height: 24px; color: var(--accent-ink); }
#order-standard_cart.ah-checkout .ah-option-text { display: grid; gap: 2px; min-width: 0; }
#order-standard_cart.ah-checkout .ah-option-text strong { font-weight: 600; }
#order-standard_cart.ah-checkout .ah-option-text small { color: var(--muted); font-size: 13px; }
#order-standard_cart.ah-checkout #applyCreditContainer { margin: 0 0 20px; }
#order-standard_cart.ah-checkout #applyCreditContainer.w-hidden { display: none; }

/* Radios de WHMCS (iCheck): círculo propio en lugar del sprite azul */
#order-standard_cart.ah-checkout .iradio_square-blue { flex: none; width: 20px !important; height: 20px !important; margin: 0 !important; border: 1.5px solid color-mix(in srgb, var(--muted) 60%, var(--line)); border-radius: 999px; background: var(--bg) !important; transition: border-color .2s ease, border-width .2s ease; }
#order-standard_cart.ah-checkout .iradio_square-blue.checked { border: 6px solid var(--accent); }
#order-standard_cart.ah-checkout .iradio_square-blue.disabled { opacity: .5; }

/* Pasarela (PayPal u otra): su texto y su botón, sin el selector repetido de "cuenta nueva" */
#order-standard_cart.ah-checkout #paymentGatewayInput:empty,
#order-standard_cart.ah-checkout .gateway-errors.w-hidden { display: none; }
#order-standard_cart.ah-checkout .cc-input-container { margin: 20px 0 0; padding: 0; border: 0; background: none; }
/* PayPal pone su propio fondo blanco y borde (payment.min.css y all.css): aquí queda transparente, sobre la tarjeta */
#order-standard_cart.ah-checkout #frmCheckout #creditCardInputFields.cc-input-container { background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
#order-standard_cart.ah-checkout #frmCheckout #paypal_ppcpv_input_container { background: transparent !important; border: 0 !important; padding: 0 !important; }
#order-standard_cart.ah-checkout .cc-input-container.w-hidden { display: none; }
#order-standard_cart.ah-checkout .cc-input-container .payment-instructions { margin: 0 0 16px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 14px; line-height: 1.5; text-align: left; }
#order-standard_cart.ah-checkout .ah-newcard { margin: 0 0 16px; padding: 0; list-style: none; }
#order-standard_cart.ah-checkout #creditCardInputFields:not(:has(.existing-card)) > .ah-newcard { display: none; }
#order-standard_cart.ah-checkout #newCardInfo { margin: 0; }
#order-standard_cart.ah-checkout .gateway-errors { margin: 16px 0 0; border-radius: 12px; }

/* Casillas (boletín, condiciones, guardar tarjeta) */
#order-standard_cart.ah-checkout .ah-check label { display: flex; align-items: flex-start; gap: 12px; margin: 0; color: var(--ink); font-size: 14px; font-weight: 400; line-height: 1.5; cursor: pointer; }
#order-standard_cart.ah-checkout .ah-check input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--accent); cursor: pointer; }
#order-standard_cart.ah-checkout .ah-check a { color: var(--accent-ink); font-weight: 500; }
#order-standard_cart.ah-checkout #inputNoStoreContainer { align-self: end; padding-bottom: 14px; }

/* Nota del pedido: plegada, como los requisitos de transferencia en /pedido */
#order-standard_cart.ah-checkout .ah-details > summary { display: flex; align-items: center; gap: 8px; color: var(--accent-ink); font-size: 14px; font-weight: 500; list-style: none; cursor: pointer; }
#order-standard_cart.ah-checkout .ah-details > summary::-webkit-details-marker { display: none; }
#order-standard_cart.ah-checkout .ah-details > summary::before { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px; border: 1.5px solid currentColor; border-radius: 999px; font-size: 13px; line-height: 1; }
#order-standard_cart.ah-checkout .ah-details[open] > summary::before { content: "−"; }
#order-standard_cart.ah-checkout .ah-details > .ah-field { margin-top: 12px; }

@media (max-width: 1100px) {
  #order-standard_cart.ah-checkout .cart-body > .row > .secondary-cart-sidebar { position: static; }
}
@media (max-width: 640px) {
  #order-standard_cart.ah-checkout .ah-card { padding: 20px; }
  #order-standard_cart.ah-checkout .ah-fields { grid-template-columns: minmax(0, 1fr); }
  #order-standard_cart.ah-checkout .ah-field,
  #order-standard_cart.ah-checkout .ah-field--2 { grid-column: 1 / -1; }
  #order-standard_cart.ah-checkout .ah-password-tools { flex-direction: column; }
}

/* Configuración de dominios (configuredomains.tpl): una tarjeta por dominio, como Revisar y Pagar */
#order-standard_cart.ah-config .ah-card { max-width: 720px; margin: 0 0 24px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
#order-standard_cart.ah-config .ah-card-title { margin: 0 0 20px; padding: 0; border: 0; color: var(--ink); font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: normal; }
#order-standard_cart.ah-config .ah-cart-lead { margin: 0 0 20px; color: var(--muted); font-size: 15px; line-height: 1.6; }
#order-standard_cart.ah-config .form-group { margin: 0 0 16px; }
#order-standard_cart.ah-config .form-group > label { display: block; margin: 0 0 6px; color: var(--ink); font-size: 14px; font-weight: 500; }
#order-standard_cart.ah-config .ah-value { margin: 0; color: var(--ink); font-size: 15px; }
#order-standard_cart.ah-config .ah-value--ok { color: var(--accent-ink); font-weight: 500; }
#order-standard_cart.ah-config .ah-link { color: var(--accent-ink); font-weight: 500; text-decoration: none; }
#order-standard_cart.ah-config .ah-link:hover { text-decoration: underline; }
#order-standard_cart.ah-config .form-control,
#order-standard_cart.ah-config input.field { display: block; width: 100%; height: 48px; padding: 0 20px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); color: var(--ink); font-size: 15px; box-shadow: none; }
#order-standard_cart.ah-config .form-control:focus,
#order-standard_cart.ah-config input.field:focus { border-color: var(--accent-ink); box-shadow: 0 0 0 4px var(--accent-soft); outline: 0; }
#order-standard_cart.ah-config .field-help-text { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
#order-standard_cart.ah-config .ah-field-row { margin: 16px 0 0; }
#order-standard_cart.ah-config .ah-field-label { padding-top: 12px; color: var(--ink); font-size: 14px; font-weight: 500; text-align: left; }
#order-standard_cart.ah-config .addon-products { margin: 8px 0 0; }
#order-standard_cart.ah-config .panel-addon { margin: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); box-shadow: none; overflow: hidden; }
#order-standard_cart.ah-config .panel-addon.panel-addon-selected { border-color: var(--accent-ink); background: var(--accent-soft); }
#order-standard_cart.ah-config .panel-addon .panel-body { padding: 16px 18px 12px; border: 0; background: transparent; color: var(--muted); font-size: 13px; line-height: 1.5; }
#order-standard_cart.ah-config .panel-addon .panel-body label { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--ink); font-size: 14px; font-weight: 600; cursor: pointer; }
#order-standard_cart.ah-config .panel-price { padding: 0 18px 12px; border: 0; background: transparent !important; color: var(--ink); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
#order-standard_cart.ah-config .panel-add { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; border-top: 1px solid var(--line); background: var(--accent-soft) !important; color: var(--accent-ink) !important; font-size: 14px; font-weight: 600; cursor: pointer; }
#order-standard_cart.ah-config .panel-addon-selected .panel-add { background: var(--accent) !important; color: var(--on-accent) !important; }
#order-standard_cart.ah-config .ah-continue { display: flex; justify-content: flex-end; margin: 8px 0 0; }
#order-standard_cart.ah-config .ah-continue .btn { display: inline-flex; height: 48px; min-width: 220px; align-items: center; justify-content: center; padding: 0 28px; border: 1px solid var(--accent) !important; border-radius: 999px; background: var(--accent) !important; color: var(--on-accent) !important; font-size: 16px; font-weight: 600; }
#order-standard_cart.ah-config .ah-continue .btn:hover { background: var(--accent-strong) !important; border-color: var(--accent-strong) !important; }
@media (max-width: 640px) {
  #order-standard_cart.ah-config .ah-card { padding: 20px; }
  #order-standard_cart.ah-config .ah-continue .btn { width: 100%; }
}

/* Configurar el producto (configureproduct.tpl): la misma tarjeta del plan, con bloques separados por línea */
#order-standard_cart.ah-config .secondary-cart-body.ah-card { padding: 28px !important; margin: 0 !important; }
#order-standard_cart.ah-config .secondary-cart-body > p:first-child { margin: 0 0 20px; color: var(--muted); font-size: 15px; line-height: 1.6; }
#order-standard_cart.ah-config .product-info { margin: 0 0 20px; }
#order-standard_cart.ah-config .product-title { margin: 0 0 4px; color: var(--ink); font-size: 18px; font-weight: 600; }
#order-standard_cart.ah-config .sub-heading { display: block; margin: 28px 0 16px; padding: 24px 0 0; border: 0; border-top: 1px solid var(--line); }
#order-standard_cart.ah-config .sub-heading::after { display: none; }
#order-standard_cart.ah-config .sub-heading .primary-bg-color { display: block; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font-size: 15px !important; font-weight: 600; }
#order-standard_cart.ah-config .field-container { margin: 0; }
#order-standard_cart.ah-config .form-group > label { display: block; margin: 0 0 6px; color: var(--ink); font-size: 14px; font-weight: 500; }
#order-standard_cart.ah-config .product-configurable-options .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
#order-standard_cart.ah-config .product-configurable-options .col-sm-6,
#order-standard_cart.ah-config .product-configurable-options .col-sm-12 { width: auto; padding: 0; }
#order-standard_cart.ah-config .product-configurable-options .col-sm-12 { grid-column: 1 / -1; }
#order-standard_cart.ah-config .product-configurable-options .form-group { margin: 0 0 16px; }
#order-standard_cart.ah-config .alert-warning.info-text-sm { margin: 24px 0 0; padding: 14px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg); color: var(--muted); font-size: 14px; line-height: 1.5; box-shadow: none; }
#order-standard_cart.ah-config .alert-warning .alert-link { color: var(--accent-ink); font-weight: 600; }
#order-standard_cart.ah-config .alert-warning .fa-question-circle { color: var(--accent-ink); }
@media (max-width: 640px) {
  #order-standard_cart.ah-config .secondary-cart-body.ah-card { padding: 20px !important; }
  #order-standard_cart.ah-config .product-configurable-options .row { grid-template-columns: minmax(0, 1fr); }
}

/* Configurar el producto: la fila de formulario y resumen va dentro de <form>, así que se fija aquí el mismo 720 + 352 del carrito */
#order-standard_cart.ah-config #frmConfigureProduct > .row { display: flex !important; align-items: flex-start; gap: 32px; margin: 32px 0 0 !important; }
#order-standard_cart.ah-config #frmConfigureProduct > .row > .secondary-cart-body { flex: 0 0 720px !important; width: 720px !important; max-width: none; min-width: 0; padding: 28px !important; margin: 0 !important; }
#order-standard_cart.ah-config #frmConfigureProduct > .row > .secondary-cart-sidebar { flex: 0 0 352px !important; width: 352px !important; max-width: none; margin: 0 !important; padding: 0 !important; position: sticky; top: 96px; align-self: flex-start; }
@media (max-width: 1100px) {
  #order-standard_cart.ah-config #frmConfigureProduct > .row { flex-direction: column; }
  #order-standard_cart.ah-config #frmConfigureProduct > .row > .secondary-cart-body,
  #order-standard_cart.ah-config #frmConfigureProduct > .row > .secondary-cart-sidebar { flex: 1 1 auto !important; width: 100% !important; position: static; }
}
