:root {
  --cop-blue: #233f7e;
  --cop-blue-deep: #142955;
  --cop-blue-soft: #eaf0fb;
  --cop-red: #ed0016;
  --cop-orange: #ff781d;
  --cop-white: #ffffff;
  --cop-ink: #14213d;
  --cop-muted: #52617a;
  --cop-line: #dce4f2;
  --cop-shadow: 0 18px 50px rgba(35, 63, 126, .14);
  --accent: var(--cop-blue);
  --accent-strong: var(--cop-blue-deep);
  --accent-pill: var(--cop-orange);
  --black-pill: var(--cop-blue-deep);
  --page-bg: #f5f7fb;
  --panel-bg: var(--cop-white);
  --panel-line: var(--cop-line);
  --text: var(--cop-ink);
  --muted: var(--cop-muted);
  --danger: var(--cop-red);
  color-scheme: light;
}

/* Footer shortcuts: brand palette and local vector icons (no image requests). */
html[data-brand="copdigital"] .distrib-footer-links { gap: 22px; }
html[data-brand="copdigital"] .distrib-footer-link { color: var(--cop-blue); gap: 10px; }
html[data-brand="copdigital"] .distrib-footer-link-badge {
  width: 64px;
  height: 64px;
  box-sizing: border-box;
  border: 1px solid var(--cop-line);
  background: linear-gradient(145deg, var(--cop-white), var(--cop-blue-soft));
  color: var(--cop-blue);
  box-shadow: 0 4px 12px rgba(35, 63, 126, .08);
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
html[data-brand="copdigital"] .distrib-footer-link-badge svg { width: 28px; height: 28px; display: block; }
html[data-brand="copdigital"] .distrib-footer-link:hover .distrib-footer-link-badge,
html[data-brand="copdigital"] .distrib-footer-link:focus-visible .distrib-footer-link-badge {
  background: var(--cop-blue);
  border-color: var(--cop-blue);
  color: var(--cop-white);
}
html[data-brand="copdigital"] .distrib-footer-link:focus-visible { outline: 2px solid var(--cop-blue); outline-offset: 6px; border-radius: 8px; }
html[data-brand="copdigital"] .distrib-footer-link-text { font-size: 11px; font-weight: 700; letter-spacing: .05em; }
html[data-brand="copdigital"] .distrib-footer-copy { color: var(--cop-muted); font-size: 13px; font-weight: 500; }
@media (max-width: 480px) {
  html[data-brand="copdigital"] .distrib-footer-links { gap: 14px; }
  html[data-brand="copdigital"] .distrib-footer-link-badge { width: 54px; height: 54px; }
  html[data-brand="copdigital"] .distrib-footer-link-text { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-brand="copdigital"] .distrib-footer-link-badge { transition: none; }
}

html[data-brand="copdigital"] body {
  color: var(--cop-ink);
  background: #f5f7fb;
}

html[data-brand="copdigital"] body::before {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 120, 29, .14), transparent 24%),
    radial-gradient(circle at 92% 4%, rgba(237, 0, 22, .09), transparent 25%),
    linear-gradient(145deg, #eef3fc 0%, #ffffff 48%, #f4f7fc 100%) !important;
}

html[data-brand="copdigital"] body::after {
  background: transparent !important;
}

html[data-brand="copdigital"] .brand-logo {
  width: 220px;
  max-height: 76px;
  object-fit: contain;
}

html[data-brand="copdigital"] .shell-header,
html[data-brand="copdigital"] .topbar,
html[data-brand="copdigital"] .login-card,
html[data-brand="copdigital"] .panel,
html[data-brand="copdigital"] .dashboard-card,
html[data-brand="copdigital"] .chart-card,
html[data-brand="copdigital"] .ranking-card,
html[data-brand="copdigital"] .modal-card {
  border-color: var(--cop-line);
  box-shadow: var(--cop-shadow);
}

html[data-brand="copdigital"] .login-card {
  background: rgba(255, 255, 255, .97);
}

html[data-brand="copdigital"] .login-header h1,
html[data-brand="copdigital"] .login-footer,
html[data-brand="copdigital"] .page-footer,
html[data-brand="copdigital"] label {
  color: var(--cop-ink);
}

html[data-brand="copdigital"] .copdigital-login-logo {
  display: block;
  width: min(310px, 88%);
  height: auto;
  margin: 0 auto 16px;
}

html[data-brand="copdigital"] .login-header h1 {
  color: var(--cop-blue);
}

html[data-brand="copdigital"] .brand-chip {
  border-color: var(--cop-line);
  background: var(--cop-blue-soft);
  color: var(--cop-blue);
}

html[data-brand="copdigital"] .help-bubble {
  border-color: rgba(35, 63, 126, .2);
  background: var(--cop-blue-deep);
  color: var(--cop-white);
}

html[data-brand="copdigital"] .help-bubble strong,
html[data-brand="copdigital"] .help-bubble span {
  color: var(--cop-white);
}

html[data-brand="copdigital"] .btn-register {
  border-color: var(--cop-orange);
  background: var(--cop-white);
  color: var(--cop-blue);
  box-shadow: 0 8px 20px rgba(255, 120, 29, .12);
}

html[data-brand="copdigital"] .shell-header,
html[data-brand="copdigital"] .topbar {
  background: rgba(255, 255, 255, .96);
}

html[data-brand="copdigital"] .panel,
html[data-brand="copdigital"] .dashboard-card,
html[data-brand="copdigital"] .chart-card,
html[data-brand="copdigital"] .ranking-card,
html[data-brand="copdigital"] .modal-card,
html[data-brand="copdigital"] .item {
  background-color: var(--cop-white);
}

html[data-brand="copdigital"] button,
html[data-brand="copdigital"] .btn,
html[data-brand="copdigital"] a.btn {
  border-color: var(--cop-blue);
  background: linear-gradient(135deg, var(--cop-blue), var(--cop-blue-deep));
  color: var(--cop-white);
  box-shadow: 0 8px 20px rgba(35, 63, 126, .18);
}

html[data-brand="copdigital"] button:hover,
html[data-brand="copdigital"] .btn:hover,
html[data-brand="copdigital"] a.btn:hover {
  filter: brightness(1.08);
}

html[data-brand="copdigital"] button.secondary,
html[data-brand="copdigital"] .btn.secondary,
html[data-brand="copdigital"] .btn-secondary,
html[data-brand="copdigital"] a.btn.secondary {
  border-color: var(--cop-blue);
  background: var(--cop-white);
  color: var(--cop-blue);
  box-shadow: none;
}

html[data-brand="copdigital"] button.danger,
html[data-brand="copdigital"] .btn.danger {
  border-color: var(--cop-red);
  background: var(--cop-white);
  color: var(--cop-red);
}

html[data-brand="copdigital"] input:focus,
html[data-brand="copdigital"] select:focus,
html[data-brand="copdigital"] textarea:focus,
html[data-brand="copdigital"] button:focus-visible,
html[data-brand="copdigital"] a:focus-visible {
  outline: 3px solid rgba(255, 120, 29, .32);
  outline-offset: 2px;
  border-color: var(--cop-orange) !important;
}

html[data-brand="copdigital"] .field input,
html[data-brand="copdigital"] .field select,
html[data-brand="copdigital"] .field textarea,
html[data-brand="copdigital"] .form-control,
html[data-brand="copdigital"] .readonly-field-box {
  border: 1px solid var(--cop-line);
  background: #f8faff;
  color: var(--cop-ink);
}

html[data-brand="copdigital"] .shell-nav-link:hover,
html[data-brand="copdigital"] .shell-dropdown-link:hover,
html[data-brand="copdigital"] .shell-dropdown-button:hover,
html[data-brand="copdigital"] .shell-notification-item:hover {
  background: var(--cop-blue-soft);
  color: var(--cop-blue);
}

html[data-brand="copdigital"] .shell-nav-link.is-active,
html[data-brand="copdigital"] .tag.is-active,
html[data-brand="copdigital"] .pager-button.is-active {
  border-color: var(--cop-blue);
  background: var(--cop-blue);
  color: var(--cop-white);
}

html[data-brand="copdigital"] .metric-pill-accent,
html[data-brand="copdigital"] .service-country-note {
  border-color: rgba(255, 120, 29, .35);
  background: #fff4ea;
  color: #91410d;
}

html[data-brand="copdigital"] a,
html[data-brand="copdigital"] .table-link,
html[data-brand="copdigital"] .fallo-chat-attachment {
  color: var(--cop-blue);
}

html[data-brand="copdigital"] .status.ok { border-color: #92d2ad; color: #176b3a; background: #effaf4; }
html[data-brand="copdigital"] .status.error { border-color: #f0aab1; color: #9d1423; background: #fff3f4; }
html[data-brand="copdigital"] .status.info { border-color: #abc0e8; color: var(--cop-blue); background: var(--cop-blue-soft); }

html[data-brand="copdigital"] ::selection {
  background: var(--cop-orange);
  color: var(--cop-ink);
}

/* Shared light palette: override legacy dark-page variables consistently. */
html[data-brand="copdigital"] {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --card: #ffffff;
  --text: #14213d;
  --muted: #52617a;
  --soft-pill: #eaf0fb;
  --ok: #176b3a;
  --error: #a51c30;
  --danger: #a51c30;
  --cop-success-bg: #effaf4;
  --cop-error-bg: #fff1f3;
  --cop-warning-bg: #fff2e6;
  --cop-warning-ink: #8a380c;
}

/* Loading must remain legible before the authenticated screen appears. */
html[data-brand="copdigital"] .page-loader {
  background: rgba(234, 240, 251, .97);
}
html[data-brand="copdigital"] .page-loader-card {
  background: var(--cop-white);
  border-color: var(--cop-line);
  color: var(--cop-ink);
  box-shadow: var(--cop-shadow);
}
html[data-brand="copdigital"] .page-loader-card strong { color: var(--cop-blue); }
html[data-brand="copdigital"] .page-loader-card span { color: var(--cop-muted); }
html[data-brand="copdigital"] .page-loader-mark {
  background: var(--cop-blue-soft);
  border-color: #becdea;
}
html[data-brand="copdigital"] .page-loader-mark::after {
  border-color: #becdea;
  border-top-color: var(--cop-blue);
}

/* All menus use the same treatment, whether rendered as <a> or <button>. */
html[data-brand="copdigital"] .shell-nav { gap: 8px; }
html[data-brand="copdigital"] :is(.shell-nav-link, .shell-nav-toggle, .shell-user-button) {
  background: transparent;
  color: var(--cop-blue-deep);
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 14px;
  min-height: 42px;
  box-shadow: none;
  font-weight: 700;
  opacity: 1;
}
html[data-brand="copdigital"] :is(.shell-nav-link, .shell-nav-toggle, .shell-user-button):hover {
  background: var(--cop-blue-soft);
  color: var(--cop-blue-deep);
  opacity: 1;
  filter: none;
}
html[data-brand="copdigital"] :is(.shell-nav-link, .shell-nav-toggle).is-active,
html[data-brand="copdigital"] .shell-user-button {
  background: var(--cop-blue);
  color: var(--cop-white);
  border-color: var(--cop-blue);
}
html[data-brand="copdigital"] .shell-dropdown {
  background: var(--cop-white);
  border-color: var(--cop-line);
  box-shadow: var(--cop-shadow);
}
html[data-brand="copdigital"] :is(.shell-dropdown-link, .shell-dropdown-button) {
  background: transparent;
  color: var(--cop-ink);
  box-shadow: none;
}
html[data-brand="copdigital"] :is(.shell-dropdown-link, .shell-dropdown-button):hover {
  background: var(--cop-blue-soft);
  color: var(--cop-blue);
}

/* Financial indicators are not generic action buttons. */
html[data-brand="copdigital"] .metric-pill {
  min-height: 44px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  border: 1px solid var(--cop-line);
  box-shadow: none;
}
html[data-brand="copdigital"] .metric-pill-dark {
  background: var(--cop-blue-deep);
  color: var(--cop-white);
  border-color: var(--cop-blue-deep);
}
html[data-brand="copdigital"] .metric-pill-accent {
  background: var(--cop-warning-bg);
  color: var(--cop-warning-ink);
  border-color: #e9b78c;
}
html[data-brand="copdigital"] .metric-pill-light {
  background: var(--cop-blue-soft);
  color: var(--cop-blue-deep);
  border-color: #becdea;
}

/* Explicit foreground/background pairs for both public and private forms. */
html[data-brand="copdigital"] :is(.status, .status-box) {
  background: var(--cop-blue-soft);
  color: var(--cop-blue-deep);
  border-color: #becdea;
}
html[data-brand="copdigital"] :is(.status, .status-box).ok {
  background: var(--cop-success-bg);
  color: var(--ok);
  border-color: #85b59a;
}
html[data-brand="copdigital"] :is(.status, .status-box).error {
  background: var(--cop-error-bg);
  color: var(--error);
  border-color: #d4939c;
}
html[data-brand="copdigital"] :is(.status, .status-box).warning {
  background: var(--cop-warning-bg);
  color: var(--cop-warning-ink);
  border-color: #e9b78c;
}
html[data-brand="copdigital"] .error-message { color: var(--error); }
html[data-brand="copdigital"] :is(.status, .status-box):empty { display: none; }
html[data-brand="copdigital"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea, .readonly-field-box) {
  color: var(--cop-ink);
  background-color: #f8faff;
  border-color: #8697b6;
}
html[data-brand="copdigital"] ::placeholder { color: #5c6b83; opacity: 1; }
html[data-brand="copdigital"] :is(input, select, textarea):disabled {
  background-color: #eaf0f7;
  color: var(--cop-muted);
  opacity: 1;
}
html[data-brand="copdigital"] :is(button, .btn):disabled {
  background: #e3e9f2;
  color: var(--cop-muted);
  border-color: #bec8d8;
  box-shadow: none;
  opacity: 1;
  filter: none;
  cursor: not-allowed;
}
html[data-brand="copdigital"] :is(.btn-register, .table-action-neutral) {
  background: var(--cop-white);
  color: var(--cop-blue);
  border-color: var(--cop-blue);
  box-shadow: none;
}
html[data-brand="copdigital"] :is(.table-action, button.danger, .btn.danger) {
  background: var(--cop-error-bg);
  color: var(--error);
  border-color: #d4939c;
}
html[data-brand="copdigital"] :is(.item p, .summary, .admin-home-empty) { color: var(--cop-muted); }
html[data-brand="copdigital"] .summary { padding: 16px 18px; }
html[data-brand="copdigital"] :is(.admin-home-carousel, .admin-home-slide, .admin-home-empty) {
  background: var(--cop-blue-soft);
  border-color: var(--cop-line);
}
html[data-brand="copdigital"] .admin-home-slide.is-loading {
  background: linear-gradient(90deg, #e2eaf7 25%, #f5f8ff 37%, #e2eaf7 63%);
  background-size: 400% 100%;
}
html[data-brand="copdigital"] :is(th, .table-wrap thead) {
  background-color: var(--cop-blue-soft);
  color: var(--cop-blue-deep);
}
html[data-brand="copdigital"] td { border-color: var(--cop-line); }
html[data-brand="copdigital"] :is(code, .tag:not(.is-active)) {
  background: var(--cop-blue-soft);
  color: var(--cop-blue-deep);
  border-color: #becdea;
}
html[data-brand="copdigital"] .swal2-popup { background: #ffffff; color: var(--cop-ink); }
html[data-brand="copdigital"] :is(.swal2-title, .swal2-html-container) { color: var(--cop-ink); }
html[data-brand="copdigital"] .swal2-cancel { background: #eaf0fb; color: var(--cop-blue); box-shadow: none; }
html[data-brand="copdigital"] :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--cop-blue);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  html[data-brand="copdigital"] .page-loader-mark::after,
  html[data-brand="copdigital"] .admin-home-slide.is-loading { animation: none; }
}

@media (max-width: 720px) {
  html[data-brand="copdigital"] .brand-logo { width: 168px; }
  html[data-brand="copdigital"] .shell-header { border-radius: 0 0 20px 20px; }
}
/* Service launch cards: neutral surfaces keep the original icons visible. */
html[data-brand="copdigital"] .media-entry-card {
  background: var(--cop-white);
  color: var(--cop-ink);
  border: 1px solid #c5d1e5;
  box-shadow: 0 4px 14px rgba(20, 41, 85, .06);
}
html[data-brand="copdigital"] .media-entry-card strong { color: var(--cop-ink); }
html[data-brand="copdigital"] .media-entry-card :is(span, small) { color: var(--cop-muted); }
html[data-brand="copdigital"] .media-entry-card img {
  background: var(--cop-white);
  border: 1px solid var(--cop-line);
  border-radius: 16px;
  padding: 8px;
  object-fit: contain;
  filter: none;
  opacity: 1;
}
html[data-brand="copdigital"] .media-entry-card:not(:disabled):hover {
  background: #f8faff;
  border-color: #8697b6;
  box-shadow: 0 6px 18px rgba(20, 41, 85, .1);
  filter: none;
}
html[data-brand="copdigital"] .media-entry-card:is(.is-active, .is-selected) {
  background: #f8faff;
  border-color: var(--cop-blue);
  box-shadow: 0 0 0 2px var(--cop-blue-soft);
}
html[data-brand="copdigital"] .media-entry-card:disabled {
  background: #edf1f7;
  color: var(--cop-muted);
  box-shadow: none;
  cursor: not-allowed;
}

/* Multimedia products must not inherit the blue action-button background. */
html[data-brand="copdigital"] .media-product-tile {
  background: #fff;
  color: var(--cop-ink);
  border: 1px solid #dce3ed;
  border-radius: 20px;
  box-shadow: 0 3px 12px rgba(20, 41, 85, .05);
  opacity: 1;
}
html[data-brand="copdigital"] .media-product-tile strong { color: var(--cop-ink); }
html[data-brand="copdigital"] .media-product-tile > span:not(.media-stock-badge) {
  color: var(--cop-blue-deep);
  font-weight: 700;
}
html[data-brand="copdigital"] .media-product-tile .media-product-logo {
  background: #fff;
  border-color: #e5e9f0;
}
html[data-brand="copdigital"] .media-product-tile:hover {
  background: #fff;
  filter: none;
  border-color: #aabbd5;
  box-shadow: 0 8px 20px rgba(20, 41, 85, .09);
}
html[data-brand="copdigital"] .media-product-tile.is-sold-out {
  background: #f8fafc;
  border-color: #e2e7ee;
  box-shadow: none;
  opacity: 1;
}
html[data-brand="copdigital"] .media-product-tile .media-stock-badge {
  background: #eff8f2;
  color: #24613d;
  border-color: #cce5d5;
}
html[data-brand="copdigital"] .media-product-tile .media-stock-badge.is-empty {
  background: #eef1f5;
  color: #536176;
  border-color: #dce2ea;
}
@media (prefers-reduced-motion: reduce) {
  html[data-brand="copdigital"] .media-product-tile { transition: none; }
  html[data-brand="copdigital"] .media-product-tile:hover { transform: none; }
}

/* Catalog cards: light surfaces, readable details and explicit selection. */
html[data-brand="copdigital"] :is(.pin-operator-card, .pin-product-card) {
  background: #ffffff;
  color: var(--cop-ink);
  border: 1px solid #c5d1e5;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(20, 41, 85, .05);
  transition: border-color .15s ease, box-shadow .15s ease;
}
html[data-brand="copdigital"] .pin-operator-card { gap: 12px; padding: 16px 12px; }
html[data-brand="copdigital"] .pin-operator-card img {
  background: #ffffff;
  border-radius: 14px;
  object-fit: contain;
}
html[data-brand="copdigital"] :is(.pin-operator-card, .pin-product-card) :is(strong, span) { color: var(--cop-ink); }
html[data-brand="copdigital"] .pin-product-card small { color: var(--cop-muted); line-height: 1.5; }
html[data-brand="copdigital"] .pin-product-card { padding: 18px; gap: 14px; }
html[data-brand="copdigital"] .pin-product-card .pin-store-card-price {
  color: var(--cop-blue);
  font-size: 1.12rem;
  font-weight: 800;
  padding-top: 10px;
  border-top: 1px solid var(--cop-line);
  width: 100%;
}
html[data-brand="copdigital"] :is(.pin-operator-card, .pin-product-card):not(:disabled):hover {
  background: #f8faff;
  border-color: #8697b6;
  box-shadow: 0 5px 16px rgba(20, 41, 85, .1);
  filter: none;
}
html[data-brand="copdigital"] :is(.pin-operator-card, .pin-product-card):is(.is-active, .is-selected) {
  background: #eaf0fb;
  border-color: var(--cop-blue);
  box-shadow: 0 0 0 2px var(--cop-blue);
  transform: none;
}
html[data-brand="copdigital"] :is(.pin-operator-card, .pin-product-card):disabled {
  background: #edf1f7;
  box-shadow: none;
  cursor: not-allowed;
}

/* Scroll the catalog, never compress a product below its content height. */
html[data-brand="copdigital"] .pin-product-catalog-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  grid-auto-rows: max-content;
  align-content: start;
  gap: 14px;
  padding: 4px 8px 8px 4px;
  scrollbar-gutter: stable;
}
html[data-brand="copdigital"] .pin-product-catalog-grid .pin-product-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: auto;
  min-height: 160px;
  min-width: 0;
  box-sizing: border-box;
  white-space: normal;
  overflow-wrap: anywhere;
}
html[data-brand="copdigital"] .pin-product-catalog-grid .pin-store-card-head {
  align-items: flex-start;
}
html[data-brand="copdigital"] .pin-product-catalog-grid .pin-store-card-price {
  margin-top: auto;
  flex-shrink: 0;
}
@media (max-width: 540px) {
  html[data-brand="copdigital"] .pin-product-catalog-grid { grid-template-columns: 1fr; }
}

/* COPDIG: TCA services; provider 2 is exclusively a payment gateway. */
#pinCountryTabs [data-country="mx"],
#pinCountryTabs [data-country="ed"],
#pinCoProviderTabs [data-provider="2"],
[data-service-tab="certificados"],
[data-ach-action="cashin"],
[data-recharge-opc="2"] {
  display: none !important;
}
