/**
 * QR Rest — shared branding (loaded via brand_head_tags()).
 */
.brand-cluster {
  align-items: center;
}
.brand-wordmark .font-semibold {
  letter-spacing: -0.02em;
}
.brand-sidebar-head h1 {
  margin: 0;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

.brand-mark img,
.brand-mark svg {
  display: block;
}

.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

nav a,
.brand-cluster,
.brand-platform-admin a {
  transition: color 0.2s ease, opacity 0.2s ease;
}

nav a:hover,
.brand-cluster:hover,
.brand-platform-admin a:hover {
  color: #00e0c6;
}

:where(.button, .btn-motion, .btn, button[type="submit"], button[type="button"]) {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  transform-origin: center;
}

:where(.button, .btn-motion, .btn, button[type="submit"], button[type="button"]):active {
  transform: scale(0.97);
}

:where(.card, .feature-card, .feature-card-hover, .dashboard-card, .card-motion) {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.app-loaded .fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
  :where(.button, .btn-motion, .btn, button[type="submit"], button[type="button"]):hover {
    transform: scale(1.03);
    box-shadow: 0 0 12px rgba(0, 224, 198, 0.4);
  }

  :where(.card, .feature-card, .feature-card-hover, .dashboard-card, .card-motion):hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    border-color: rgba(0, 224, 198, 0.3);
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.button, .btn-motion, .btn, button[type="submit"], button[type="button"]),
  :where(.card, .feature-card, .feature-card-hover, .dashboard-card, .card-motion),
  nav a,
  .brand-cluster,
  .brand-platform-admin a,
  .fade-in {
    transition: none !important;
    transform: none !important;
  }
}
