/* ==========================================================================
   Tema CeHis (hijo de twenty-one) — hoja de estilos del área de cliente.

   twenty-one/includes/head.tpl carga UN solo custom.css: el de este tema
   reemplaza al del padre. Por eso el bloque Nexus de abajo es copia literal del
   custom.css que tenía twenty-one en producción (2026-10-13); el aspecto CeHis
   va después, con variables propias (--ch-*) para no chocar con las de Nexus.
   ========================================================================== */

/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Cart
 *
 * This block allows you to customize theme colors and styles for the entire Nexus Cart template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

html {
    font-size: 14px;
}

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --primary-50: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* var(--primary-800) */

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* ==========================================================================
   CeHis — tokens (valores de tokens.json del sistema de diseño CeHis, tema claro)
   ========================================================================== */
@font-face{font-family:"Mulish";font-style:normal;font-weight:200 1000;font-display:swap;src:url("../fonts/mulish-latin.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:italic;font-weight:200 1000;font-display:swap;src:url("../fonts/mulish-italic-latin.woff2") format("woff2")}

:root{
  --ch-bg:#FFFFFF; --ch-bg-soft:#EFF2F7; --ch-surface:#FFFFFF; --ch-quote-bg:#EDF0F2;
  --ch-text:#232323; --ch-text-body:#616161;
  --ch-brand:#0C5ADB; --ch-brand-soft:#EDEBFF; --ch-bar:#AEC6EF; --ch-line:#D5D8DC; --ch-field-line:#828CA0;
  --ch-action:#0C5ADB; --ch-action-hover:#0A4BB8; --ch-on-action:#FFFFFF;
  --ch-critical:#C62828; --ch-focus:#0C5ADB;
  --ch-navy:#111A3A; --ch-on-dark:#FFFFFF; --ch-on-dark-body:#F8F9FE; --ch-on-dark-accent:#64D0FA;
  /* Estado "al día": el sistema no trae verde; uno oscuro que pasa 4,5:1 sobre blanco. */
  --ch-ok:#1E6B2F; --ch-ok-soft:#E6F4EA; --ch-critical-soft:#FDECEC; --ch-warn:#8A5A00; --ch-warn-soft:#FFF4D6;
  --ch-radius-sm:3px; --ch-font:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ch-ease:cubic-bezier(0.4,0,0.2,1); --ch-duration:200ms;
}

/* ---------- Base ---------- */
body,.primary-bg-color{background:var(--ch-bg-soft);font-family:var(--ch-font);color:var(--ch-text-body)}
body,button,input,select,textarea,.btn,.form-control,.tooltip,.popover{font-family:var(--ch-font)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--ch-font);color:var(--ch-text);font-weight:800}
strong,b,th,dt{color:var(--ch-text)}
a{color:var(--ch-brand)} a:hover,a:focus{color:var(--ch-action-hover)}
:focus-visible{outline:2px solid var(--ch-focus);outline-offset:3px}
.text-muted{color:var(--ch-text-body)!important}
hr{border-top-color:var(--ch-line)}

/* ---------- Encabezado ---------- */
#header .topbar{background:var(--ch-navy);color:var(--ch-on-dark-body)}
#header .topbar .btn,#header .topbar .input-group-text,#header .topbar a{color:var(--ch-on-dark-body)}
#header .topbar .btn-active-client{color:var(--ch-on-dark);text-decoration:underline}
#header .topbar .input-group-text{background:transparent;border:0}
#header .navbar-light{background:var(--ch-surface)}
#header .navbar-brand .logo-img{max-height:56px;width:auto}
#header .search .form-control,#header .search .btn{border-color:var(--ch-line)}
#header .cart-btn{color:var(--ch-text)}
#header .cart-btn .badge{background:var(--ch-action);color:var(--ch-on-action)}
.main-navbar-wrapper{background:var(--ch-surface);border-bottom:1px solid var(--ch-line)}
.main-navbar-wrapper .navbar-nav .nav-link{color:var(--ch-text);font-weight:600;transition:color var(--ch-duration) var(--ch-ease)}
.main-navbar-wrapper .navbar-nav .nav-link:hover,.main-navbar-wrapper .navbar-nav .nav-link:focus,.main-navbar-wrapper .navbar-nav .active>.nav-link{color:var(--ch-brand)}
.dropdown-menu{border:1px solid var(--ch-line);border-radius:0;box-shadow:0 0 15px 0 rgba(51,51,51,.1)}
.dropdown-item{color:var(--ch-text)} .dropdown-item:hover,.dropdown-item:focus{background:var(--ch-bg-soft);color:var(--ch-brand)}
.dropdown-item.active,.dropdown-item:active{background:var(--ch-action);color:var(--ch-on-action)}
.master-breadcrumb{background:var(--ch-bg-soft);border-bottom:1px solid var(--ch-line)}
.master-breadcrumb .breadcrumb{background:transparent;font-size:.95rem}
.master-breadcrumb .breadcrumb-item.active{color:var(--ch-text-body)}

/* ---------- Cuerpo, barra lateral y tarjetas ---------- */
#main-body{background:var(--ch-bg-soft)}
.card{border:1px solid var(--ch-line);border-radius:0;box-shadow:none;background:var(--ch-surface)}
.card-header{background:var(--ch-surface);border-bottom:1px solid var(--ch-line);border-radius:0!important}
.card-header .card-title,.card-title{color:var(--ch-text);font-weight:800}
.card-footer{background:var(--ch-surface);border-top:1px solid var(--ch-line)}
.sidebar .card .card-header{background:var(--ch-surface)}
.sidebar .card .card-title{font-size:1.05rem}
.sidebar .card .card-title i{color:var(--ch-brand)}
.list-group-item{border-color:var(--ch-line);color:var(--ch-text-body)}
.list-group-item-action:hover,.list-group-item-action:focus{background:var(--ch-bg-soft);color:var(--ch-brand)}
.list-group-item.active,.sidebar .list-group-item.active{background:var(--ch-surface);color:var(--ch-brand);font-weight:700;border-color:var(--ch-line);box-shadow:inset 3px 0 0 var(--ch-brand)}
.list-group-item.active .badge{background:var(--ch-brand);color:var(--ch-on-action)}

/* ---------- Botones (sistema CeHis: un solo color de acción) ---------- */
.btn{border-radius:var(--ch-radius-sm);font-weight:700;border-width:2px;transition:background-color var(--ch-duration) var(--ch-ease),border-color var(--ch-duration) var(--ch-ease),color var(--ch-duration) var(--ch-ease)}
.btn-primary,.btn-success,.btn-checkout{background:var(--ch-action);border-color:var(--ch-action);color:var(--ch-on-action)}
.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus,.btn-checkout:hover,.btn-primary:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled):active{background:var(--ch-action-hover);border-color:var(--ch-action-hover);color:var(--ch-on-action)}
.btn-default,.btn-secondary,.btn-outline-primary,.btn-outline-secondary{background:transparent;border-color:var(--ch-brand);color:var(--ch-brand)}
.btn-default:hover,.btn-default:focus,.btn-secondary:hover,.btn-outline-primary:hover,.btn-outline-secondary:hover{background:var(--ch-brand-soft);border-color:var(--ch-brand);color:var(--ch-brand)}
.btn-link{color:var(--ch-brand);font-weight:600}
.btn-danger{background:var(--ch-critical);border-color:var(--ch-critical)}

/* ---------- Formularios ---------- */
.form-control,.custom-select{border:1px solid var(--ch-field-line);border-radius:var(--ch-radius-sm);color:var(--ch-text)}
.form-control:focus,.custom-select:focus{border-color:var(--ch-focus);box-shadow:none;outline:2px solid var(--ch-focus);outline-offset:2px}
.input-group-text{background:var(--ch-bg-soft);border-color:var(--ch-field-line);color:var(--ch-text-body)}
label,.control-label,.col-form-label{color:var(--ch-text);font-weight:600}
.custom-control-input:checked~.custom-control-label::before{background:var(--ch-action);border-color:var(--ch-action)}

/* ---------- Tablas y estados ---------- */
.table{color:var(--ch-text-body)}
.table thead th,.table thead td{border-bottom:2px solid var(--ch-text);border-top:0;color:var(--ch-text);font-weight:700}
.table td,.table th{border-top-color:var(--ch-line)}
.table-list>tbody>tr:hover>td,.table-hover tbody tr:hover{background:var(--ch-bg-soft)}
.label,.status{border-radius:var(--ch-radius-sm);font-weight:700}
.status-active,.status-paid,.status-completed,.status-open,.label-success{background:var(--ch-ok-soft)!important;color:var(--ch-ok)!important}
.status-unpaid,.status-overdue,.status-cancelled,.status-terminated,.status-fraud,.label-danger{background:var(--ch-critical-soft)!important;color:var(--ch-critical)!important}
.status-pending,.status-suspended,.status-customer-reply,.label-warning{background:var(--ch-warn-soft)!important;color:var(--ch-warn)!important}
.status-answered,.status-in-progress,.label-info{background:var(--ch-brand-soft)!important;color:var(--ch-brand)!important}
.badge-info,.badge-primary{background:var(--ch-action);color:var(--ch-on-action)}
.page-item.active .page-link{background:var(--ch-action);border-color:var(--ch-action);color:var(--ch-on-action)}
.page-link{color:var(--ch-brand);border-color:var(--ch-line)}

/* ---------- Alertas, pestañas, modales ---------- */
.alert{border-radius:0;border-width:0 0 0 5px}
.alert-info{background:var(--ch-brand-soft);border-color:var(--ch-brand);color:var(--ch-text)}
.alert-success{background:var(--ch-ok-soft);border-color:var(--ch-ok);color:var(--ch-text)}
.alert-danger{background:var(--ch-critical-soft);border-color:var(--ch-critical);color:var(--ch-text)}
.alert-warning{background:var(--ch-warn-soft);border-color:var(--ch-warn);color:var(--ch-text)}
.nav-tabs{border-bottom-color:var(--ch-line)}
.nav-tabs .nav-link{color:var(--ch-text-body);font-weight:600;border-radius:0}
.nav-tabs .nav-link.active{color:var(--ch-brand);border-color:var(--ch-line) var(--ch-line) var(--ch-surface);box-shadow:inset 0 3px 0 var(--ch-brand)}
.modal-content{border-radius:0;border:1px solid var(--ch-line)}
.modal-header{border-bottom-color:var(--ch-line)} .modal-footer{border-top-color:var(--ch-line)}

/* ---------- Portada del área de cliente ---------- */
.tiles .tile{background:var(--ch-surface);border:1px solid var(--ch-line);transition:border-color var(--ch-duration) var(--ch-ease)}
.tiles .tile:hover{border-color:var(--ch-brand)}
.tiles .tile i{color:var(--ch-brand)!important;opacity:.9}
.tiles .tile .stat{color:var(--ch-text);font-weight:700;font-variant-numeric:tabular-nums}
.tiles .tile .title{color:var(--ch-text-body);font-weight:600}
.tiles .tile .highlight{background:var(--ch-brand)!important}
.client-home-cards .card-header .btn,.client-home-panels .card-header .btn{border-width:2px}

/* ---------- Pie ---------- */
#footer.footer{background:var(--ch-navy);color:var(--ch-on-dark-body);padding-top:56px}
#footer .footer-brand{margin-bottom:24px}
#footer .footer-brand img{width:300px;max-width:100%;height:auto;display:block}
#footer .nav-link,#footer a{color:var(--ch-on-dark-accent)}
#footer .nav-link:hover,#footer a:hover{color:var(--ch-on-dark)}
#footer .btn{color:var(--ch-on-dark-body);border-color:rgba(255,255,255,.35)}
#footer .copyright{color:var(--ch-on-dark-body)}

/* ==========================================================================
   Factura (viewinvoice.tpl del tema)
   ========================================================================== */
.ch-invoice{color:var(--ch-text-body);font-size:1rem}
.ch-invoice__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.ch-eyebrow{margin:0 0 8px;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:3px;color:var(--ch-brand)}
.ch-invoice__title{margin:0 0 14px;font-size:clamp(28px,3.6vw,39px);line-height:1.2;font-weight:800;color:var(--ch-text)}
.ch-invoice__title em{font-style:normal;color:var(--ch-brand)}
.ch-divider{position:relative;display:block;width:90px;height:5px;border-radius:30px;background:var(--ch-bar)}
.ch-divider::before{content:"";position:absolute;top:50%;left:58px;width:10px;height:10px;border-radius:50%;background:var(--ch-brand);transform:translateY(-50%)}
.ch-invoice__actions{display:flex;flex-wrap:wrap;gap:8px}
.ch-invoice__actions .btn{display:inline-flex;align-items:center;gap:8px;padding:9px 20px}
.ch-invoice__layout{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start}
.ch-invoice__doc{flex:999 1 560px;min-width:0;background:var(--ch-surface);border:1px solid var(--ch-line)}
.ch-invoice__aside{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.ch-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 30px;border-bottom:1px solid var(--ch-line)}
.ch-meta span{display:block;font-size:.9rem}
.ch-meta strong{display:block;font-size:1rem;color:var(--ch-text)}
.ch-meta .is-overdue{color:var(--ch-critical)}
.ch-parties{display:flex;flex-wrap:wrap;gap:24px 40px;padding:30px}
.ch-parties>div{flex:1 1 240px;min-width:0}
.ch-label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:700;color:var(--ch-brand)}
.ch-parties address{margin:0;font-style:normal;line-height:1.6}
.ch-parties address::first-line{font-size:1.15rem;font-weight:700;color:var(--ch-text)}
.ch-parties .ch-name{display:block;font-size:1.15rem;line-height:1.35;font-weight:700;color:var(--ch-text)}
.ch-items{padding:0 30px;overflow-x:auto}
.ch-items table{width:100%;border-collapse:collapse}
.ch-items th{padding:12px 0;border-bottom:2px solid var(--ch-text);font-size:.9rem;font-weight:700;color:var(--ch-text);text-align:left}
.ch-items th.num,.ch-items td.num{text-align:right;white-space:nowrap;width:170px}
.ch-items td{padding:16px 16px 16px 0;border-bottom:1px solid var(--ch-line);vertical-align:top}
.ch-items td.num{padding-right:0;color:var(--ch-text)}
.ch-items .ch-item-desc::first-line{font-weight:700;color:var(--ch-text)}
.ch-totals{display:flex;justify-content:flex-end;padding:24px 30px 8px}
.ch-totals dl{margin:0;width:340px;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px}
.ch-totals dt{font-weight:400;color:var(--ch-text-body)} .ch-totals dd{margin:0;text-align:right;color:var(--ch-text);font-variant-numeric:tabular-nums}
.ch-totals .is-total{padding-top:12px;border-top:1px solid var(--ch-line);font-weight:800;color:var(--ch-text)}
.ch-totals dd.is-total{font-size:1.35rem}
.ch-band{margin:24px 30px 0;padding:16px 24px;background:var(--ch-bg-soft)}
.ch-ledger{margin:24px 30px 0}
.ch-ledger h2{margin:0 0 8px;font-size:1rem;font-weight:800}
.ch-ledger table{width:100%;border-collapse:collapse;font-size:.92rem}
.ch-ledger th{padding:8px 12px 8px 0;border-bottom:1px solid var(--ch-text);text-align:left;color:var(--ch-text)}
.ch-ledger td{padding:10px 12px 10px 0;border-bottom:1px solid var(--ch-line)}
.ch-ledger .num{text-align:right;padding-right:0;white-space:nowrap}
.ch-ledger tfoot td{border-bottom:0;font-weight:700;color:var(--ch-text)}
.ch-legal{margin:0;padding:24px 30px 30px;font-size:.88rem}
.ch-pay{background:var(--ch-surface);border:1px solid var(--ch-line);border-top:5px solid var(--ch-brand);padding:30px;display:flex;flex-direction:column;gap:16px}
.ch-pay__amount{display:block;margin:4px 0 6px;font-size:25px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--ch-text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-pay__amount small{font-size:1rem;font-weight:700;color:var(--ch-text-body)}
.ch-status{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800}
.ch-status--unpaid,.ch-status--collections{color:var(--ch-critical)}
.ch-status--paid{color:var(--ch-ok)}
.ch-status--draft,.ch-status--cancelled{color:var(--ch-text-body)}
.ch-status--refunded,.ch-status--payment-pending{color:var(--ch-brand)}
.ch-pay form{margin:0}
.ch-pay select{width:100%}
.ch-card{background:var(--ch-surface);border:1px solid var(--ch-line);padding:24px}
.ch-card__title{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:1rem;font-weight:800;color:var(--ch-text)}
.ch-card__title i{color:var(--ch-brand)}
.ch-card p{margin:0;font-size:.92rem}
.ch-credit{margin:24px 30px 0;padding:20px 24px;border:1px solid var(--ch-line);border-left:5px solid var(--ch-brand)}
.ch-qr{margin:0 30px;text-align:right} .ch-qr img{max-width:180px}
@media (max-width:575px){.ch-meta{grid-template-columns:1fr}.ch-parties,.ch-items,.ch-totals{padding-left:16px;padding-right:16px}.ch-meta{padding:16px}.ch-band,.ch-ledger,.ch-credit{margin-left:16px;margin-right:16px}.ch-legal{padding:16px}}
@media print{.ch-invoice__aside,.ch-invoice__actions,#header,#footer,.master-breadcrumb{display:none!important}.ch-invoice__doc{border:0}}

/* ---------- Tarjeta de pago del módulo ePayco, integrada en .ch-pay ---------- */
.ch-pay .epayco-pay{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:transparent!important;max-width:none!important}
.ch-pay .epayco-pay__header{display:none!important}
.ch-pay .epayco-pay__body{padding:0!important}
.ch-pay .epayco-pay__amount{display:none!important}
.ch-pay .epayco-pay__btn,.ch-pay .epayco-pay .btn-success{width:100%;min-height:48px;background:var(--ch-action)!important;border-color:var(--ch-action)!important;color:var(--ch-on-action)!important;font-weight:700;border-radius:var(--ch-radius-sm)!important}
.ch-pay .epayco-pay__btn:hover{background:var(--ch-action-hover)!important;border-color:var(--ch-action-hover)!important}
.ch-pay .epayco-pay__footer{padding:16px 0 0!important;margin-top:16px;border-top:1px solid var(--ch-line);background:transparent!important;text-align:left!important;font-size:.88rem;color:var(--ch-text-body)!important}

/* ---------- Ajustes tras la primera revisión en dev ---------- */
/* El pie navy llega hasta el borde inferior aunque la página sea corta. */
html{background:var(--ch-navy)}
/* Íconos de los encabezados de tarjeta (barra lateral, carrito) en brand. */
.card-header .card-title>i,.card-header .card-title .fas,.card-header .card-title .far,.card-header .card-title .fad,.card-header>i,.sidebar .card-header i:not(.card-minimise){color:var(--ch-brand)}
/* Carrito estándar: tarjetas de producto y resumen del pedido. */
#order-standard_cart .products .product{border:1px solid var(--ch-line);border-radius:0;background:var(--ch-surface)}
#order-standard_cart .products .product header{background:var(--ch-surface);border-bottom:1px solid var(--ch-line);color:var(--ch-text);font-weight:800}
#order-standard_cart .products .product .price{color:var(--ch-text);font-weight:700}
#order-standard_cart .order-summary,#order-standard_cart .summary-container{border-radius:0}
#order-standard_cart .order-summary h2{background:var(--ch-navy);color:var(--ch-on-dark);font-weight:800}
#order-standard_cart .order-summary .summary-container{background:var(--ch-surface);border:1px solid var(--ch-line)}
#order-standard_cart .order-summary .total-due-today .amt{color:var(--ch-text);font-weight:800}
#order-standard_cart .sub-heading span{background:var(--ch-bg-soft);color:var(--ch-brand);font-weight:700}
#order-standard_cart .sub-heading{border-top-color:var(--ch-line)}
.ch-facts{margin:0;padding-top:16px;border-top:1px solid var(--ch-line);display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.ch-facts>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px}
.ch-facts dt{font-weight:400;color:var(--ch-text-body)} .ch-facts dd{margin:0;color:var(--ch-text);text-align:right}
/* En pantallas angostas el pago va primero: con la factura antes, había que bajar todo el documento para pagar. */
@media (max-width:991px){.ch-invoice__aside{order:-1}}
/* Impresión desde el navegador ("Imprimir"): logo arriba y fondos de las franjas. */
.ch-print-logo{display:none}
@media print{
  .ch-print-logo{display:block;width:260px;height:auto;margin:0 0 20px}
  body,#main-body,.primary-bg-color{background:#fff!important}
  .ch-invoice,.ch-band,.ch-meta{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .ch-invoice__head{margin-bottom:16px}
}
