/**
 * NuvemClin — identidade visual oficial (alinhada à logo nuvemclin)
 * Verde Água #14A697 · Azul Céu #2E9FD4 · Coral #F47C5D
 */
:root {
  --nc-teal: #14a697;        /* primária — verde-água da nuvem/wordmark */
  --nc-teal-deep: #0c8678;
  --nc-teal-soft: #d7f3ee;
  --nc-blue: #2e9fd4;        /* apoio — azul céu da nuvem */
  --nc-blue-deep: #1b7fb0;
  --nc-sky: #5bb8e6;
  --nc-coral: #f47c5d;       /* destaque/ação — batimento + "clin" */
  --nc-coral-deep: #e85f3d;
  --nc-coral-soft: #ffe7df;
  --nc-green-soft: #b6efe0;
  --nc-ice: #e9f5fb;
  --nc-neutral: #f2f6f9;
  --nc-slate: #0f1f2e;
  --nc-gray: #6e7b8a;
  --nc-border: #e2e9f0;

  --nc-gradient-brand: linear-gradient(135deg, var(--nc-blue-deep) 0%, var(--nc-teal) 100%);
  --nc-gradient-cloud: linear-gradient(135deg, var(--nc-sky) 0%, var(--nc-teal) 100%);
  --nc-gradient-coral: linear-gradient(135deg, #f9926f 0%, var(--nc-coral-deep) 100%);
  --nc-gradient-hero: linear-gradient(155deg, #0f2433 0%, #14506b 48%, var(--nc-teal-deep) 100%);
  --nc-shadow-brand: 0 4px 20px rgba(20, 166, 151, 0.24);
  --nc-shadow-coral: 0 6px 20px rgba(244, 124, 93, 0.32);
  --nc-shadow-soft: 0 8px 32px rgba(15, 31, 46, 0.08);

  --mc-font-display: "Poppins", system-ui, sans-serif;
  --mc-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --mc-blue: var(--nc-blue);
  --mc-blue-dark: var(--nc-blue-deep);
  --mc-blue-2: var(--nc-ice);
  --mc-green: var(--nc-teal);
  --mc-green-soft: var(--nc-green-soft);
  --mc-coral: var(--nc-coral);
  --mc-coral-dark: var(--nc-coral-deep);
  --mc-gray-50: var(--nc-neutral);
  --mc-gray-100: #eef2f7;
  --mc-gray-200: var(--nc-border);
  --mc-gray-500: var(--nc-gray);
  --mc-gray-700: #334155;
  --mc-radius: 0.75rem;
  --mc-radius-sm: 0.5rem;
  --mc-shadow: var(--nc-shadow-soft);
  --mc-shadow-lg: 0 12px 40px rgba(13, 71, 161, 0.12);

  --mc-sidebar: #0f172a;
  --mc-sidebar-2: #111c33;
}

/* Tipografia de marca */
h1, h2, h3, h4, h5, h6,
.mc-auth-title,
.mc-signup-head h1,
.mc-btn,
.mc-navbar .navbar-brand,
.btn-hero-primary,
.btn-nav-cta {
  font-family: var(--mc-font-display);
}

/* ——— Logo ——— */
.nc-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: inherit;
}

.nc-brand:hover {
  color: inherit;
  text-decoration: none;
}

.nc-brand--vertical {
  flex-direction: column;
  text-align: center;
  gap: 0.5rem;
}

.nc-brand-mark {
  flex-shrink: 0;
  display: block;
}

.nc-brand-mark--sm { width: 36px; height: 36px; }
.nc-brand-mark--md { width: 44px; height: 44px; }
.nc-brand-mark--lg { width: 56px; height: 56px; }

/* Logo oficial (PNG transparente) */
.nc-brand-img {
  display: block;
  object-fit: contain;
  height: auto;
  max-width: 100%;
}

.nc-brand-img--horizontal.nc-brand-img--sm { max-height: 40px; width: auto; max-width: 168px; }
.nc-brand-img--horizontal.nc-brand-img--md { max-height: 48px; width: auto; max-width: 200px; }
.nc-brand-img--horizontal.nc-brand-img--lg { max-height: 56px; width: auto; max-width: 240px; }

.nc-brand-img--vertical.nc-brand-img--sm { max-height: 88px; width: auto; max-width: 220px; }
.nc-brand-img--vertical.nc-brand-img--md { max-height: 112px; width: auto; max-width: 260px; }
.nc-brand-img--vertical.nc-brand-img--lg { max-height: 140px; width: auto; max-width: 300px; }

.nc-brand-img--icon.nc-brand-img--sm { max-height: 36px; max-width: 36px; width: auto; }
.nc-brand-img--icon.nc-brand-img--md { max-height: 44px; max-width: 44px; width: auto; }
.nc-brand-img--icon.nc-brand-img--lg { max-height: 52px; max-width: 52px; width: auto; }

.nc-brand--light .nc-brand-img {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.18));
}

.mc-sidebar-brand-wrap .nc-brand-img--horizontal.nc-brand-img--md {
  max-height: 44px;
  max-width: 178px;
}

body.mc-app--sidebar-collapsed .mc-sidebar-brand-wrap .nc-brand-img--icon {
  max-height: 42px;
  max-width: 42px;
}

.nc-brand-word {
  font-family: var(--mc-font-display);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-size: 1.25rem;
}

.nc-brand-word--lg { font-size: 1.5rem; }
.nc-brand-word--sm { font-size: 1.05rem; }

.nc-brand-nuvem { color: var(--nc-teal); }
.nc-brand-clin { color: var(--nc-coral); }

.nc-brand--light .nc-brand-nuvem { color: #fff; }
.nc-brand--light .nc-brand-clin { color: var(--nc-coral); }

.nc-brand-tagline {
  font-family: var(--mc-font);
  font-size: 0.8rem;
  color: var(--nc-gray);
  line-height: 1.45;
  margin: 0;
  max-width: 28rem;
}

.nc-brand--light .nc-brand-tagline {
  color: rgba(255, 255, 255, 0.88);
}

.nc-brand-icon-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--nc-gradient-brand);
  box-shadow: var(--nc-shadow-brand);
}

.nc-brand-icon-tile--sm { width: 40px; height: 40px; border-radius: 12px; }
.nc-brand-icon-tile--md { width: 48px; height: 48px; }
.nc-brand-icon-tile--lg { width: 56px; height: 56px; border-radius: 16px; }

/* Marca legada (ícone quadrado) */
.mc-brand,
.mc-brand-sm {
  background: var(--nc-gradient-brand);
  box-shadow: var(--nc-shadow-brand);
}

.mc-guest {
  background: radial-gradient(1100px 520px at 15% 0%, var(--nc-ice) 0%, var(--nc-neutral) 48%, #fff 100%);
}

.mc-btn-primary,
.mc-signup-submit {
  background: var(--nc-gradient-brand);
  box-shadow: var(--nc-shadow-brand);
}

.mc-btn-primary:hover,
.mc-signup-submit:hover {
  box-shadow: 0 6px 22px rgba(20, 166, 151, 0.38);
}

/* ——— Acentos coral (cor de ação da marca) ——— */
.nc-coral { color: var(--nc-coral) !important; }
.nc-bg-coral { background: var(--nc-coral) !important; }
.nc-grad-coral { background: var(--nc-gradient-coral) !important; }

/* ——— Animações de marca ——— */
@media (prefers-reduced-motion: no-preference) {
  /* batimento sutil e contínuo no símbolo da logo */
  .nc-brand:hover .nc-brand-mark,
  .nc-brand-mark { transition: transform .45s cubic-bezier(.34,1.56,.64,1); }
  .nc-brand:hover .nc-brand-mark { transform: scale(1.08) rotate(-2deg); }

  .nc-brand-icon-tile { transition: transform .35s ease, box-shadow .35s ease; }
  .nc-brand:hover .nc-brand-icon-tile {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(20, 166, 151, 0.35);
  }

  /* brilho que cruza botões primários no hover */
  .mc-btn-primary,
  .mc-signup-submit { position: relative; overflow: hidden; }
  .mc-btn-primary::after,
  .mc-signup-submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .7s ease;
  }
  .mc-btn-primary:hover::after,
  .mc-signup-submit:hover::after { transform: translateX(120%); }
}

@keyframes nc-heartbeat {
  0%, 100% { transform: scale(1); }
  15% { transform: scale(1.12); }
  30% { transform: scale(1); }
  45% { transform: scale(1.08); }
  60% { transform: scale(1); }
}
