/* Selector de sucursal (/order/<dominio>/). Reusa order-tokens.css + order-base.css
   (navbar, badges, loader, footer, th-closed) y agrega solo la lista de sucursales.
   La marca del comercio (colores, fuente, radio) la aplica company.js sobre <body>. */

.th-company { padding-bottom: calc(var(--space-6) + env(safe-area-inset-bottom, 0px)); }
.th-company .th-shell { padding-left: max(var(--space-4), env(safe-area-inset-left, 0px)); padding-right: max(var(--space-4), env(safe-area-inset-right, 0px)); }

.cp-main { display: grid; gap: var(--space-4); padding-top: var(--space-4); }

.cp-hero {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-sm);
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-5) var(--space-4);
}
.cp-hero__img { max-height: 96px; max-width: 70%; object-fit: contain; }

.cp-intro { display: grid; gap: var(--space-1); }
.cp-title { font-size: 22px; font-weight: 700; margin: 0; font-family: var(--font-display); }
.cp-sub { margin: 0; color: var(--text-muted); font-size: 14px; }
.cp-link {
  background: none; border: none; padding: 0; font: inherit; cursor: pointer;
  color: var(--accent); font-weight: 600;
}
.cp-link:hover { text-decoration: underline; }

.cp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }

.cp-card {
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-4);
  background: var(--card); color: var(--text); text-decoration: none;
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), border-color var(--transition), transform var(--transition);
  -webkit-tap-highlight-color: transparent;
}
.cp-card:active { transform: scale(0.99); }
.cp-card:hover { box-shadow: var(--shadow-md); }
.cp-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cp-card--nearest { border-color: var(--accent); }

.cp-card__main { flex: 1; min-width: 0; display: grid; gap: var(--space-2); }
.cp-card__top { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.cp-card__name { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.25; }
.cp-card__addr { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 1.4; }
.cp-card__addr .fa { width: 14px; text-align: center; margin-right: 2px; }
.cp-card__meta { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.cp-card__chev { color: var(--text-muted); font-size: 14px; flex: none; }

.cp-chip {
  font-size: 11px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 999px;
  background: var(--accent); color: var(--accent-fg, var(--accent-contrast, #fff));
}
.cp-km { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--text); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .cp-card, .cp-card:active { transition: none; transform: none; }
}

.cp-card--loading { border-color: var(--accent); }
.cp-card--loading .cp-card__chev { color: var(--accent); }
.cp-card--dim { opacity: .55; pointer-events: none; }
