/* Close Connect Landing System · base.css
   Tokens por defecto. Cada negocio los sobreescribe desde config/business.json (js/lib/theme.js). */
:root {
  color-scheme: light;
  --cc-text: #17131f;
  --cc-muted: #5f5a6b;
  --cc-button: #17131f;
  --cc-button-text: #ffffff;
  --cc-surface: rgba(255, 255, 255, 0.7);
  --cc-border: rgba(0, 0, 0, 0.14);
  --cc-accent: #9b7bff;
  --cc-bg-color: #ffffff;
  --cc-content-max: 560px;
  --cc-gap: 18px;
  --cc-logo-w: 180px;
  --cc-logo-h: 140px;
  --cc-logo-radius: 0px;
  --cc-logo-shadow: none;
  --cc-logo-ratio: auto;
  --cc-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
html[data-font="serif"] { --cc-font: Georgia, "Times New Roman", serif; }
html[data-font="mono"]  { --cc-font: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  font-family: var(--cc-font);
  color: var(--cc-text);
  background-color: var(--cc-bg-color);
  background-image: var(--cc-bg-gradient, none);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.cc-page {
  flex: 1 0 auto;
  width: 100%;
  max-width: var(--cc-content-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(var(--cc-gap) + 6px);
  padding: clamp(32px, 9vh, 80px) max(24px, env(safe-area-inset-right)) 24px max(24px, env(safe-area-inset-left));
}

.cc-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--cc-gap);
  text-align: center;
}

.cc-brand { margin: 0; display: flex; justify-content: center; }

.cc-logo {
  display: block;
  width: var(--cc-logo-w);
  max-width: 100%;
  max-height: var(--cc-logo-h);
  height: auto;
  aspect-ratio: var(--cc-logo-ratio);
  object-fit: contain;
  border-radius: var(--cc-logo-radius);
  box-shadow: var(--cc-logo-shadow);
}
.cc-logo:not([src]) { visibility: hidden; }

.cc-description {
  margin: 0;
  max-width: 34ch;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--cc-muted);
  text-wrap: balance;
}

.cc-status {
  margin: 0;
  text-align: center;
  font-size: 0.9375rem;
  color: var(--cc-muted);
}

.cc-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

[hidden] { display: none !important; }
