@import url('../../css/style.css');

/* =====================================================================
   Rentpply · Roommate Matching
   Page-specific styles for the match results screen.
   ===================================================================== */

/* Card fade-in (initial mount) */
#match-list .match-card,
#match-reason > div {
  animation: match-fade-in 0.32s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes match-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------------------------------------------------------------------
   Match card
   --------------------------------------------------------------------- */
.match-card {
  position: relative;
  border-radius: 1rem;
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid var(--border-color);
}
.match-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -16px color-mix(in srgb, var(--hero-bg) 35%, transparent);
  border-color: color-mix(in srgb, var(--hero-bg) 35%, var(--border-color));
}

/* ---------------------------------------------------------------------
   Action buttons (Call / Email)
   --------------------------------------------------------------------- */
.match-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.65rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-transform: none;
  background: var(--bg-body);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}
.match-btn:hover {
  border-color: color-mix(in srgb, var(--hero-bg) 35%, var(--border-color));
  background: color-mix(in srgb, var(--hero-bg) 6%, var(--bg-body));
}
.match-btn:active { transform: scale(0.97); }

.match-btn-primary {
  background: var(--hero-bg);
  color: #fff;
  border-color: var(--hero-bg);
}
.match-btn-primary:hover {
  filter: brightness(1.05);
  border-color: var(--hero-bg);
  background: var(--hero-bg);
  color: #fff;
}

/* ---------------------------------------------------------------------
   Skeleton pulse (avoids re-using tailwind's animate-pulse inside JS)
   --------------------------------------------------------------------- */
#match-loading .surface > div {
  background: linear-gradient(
    90deg,
    var(--bg-muted) 0%,
    color-mix(in srgb, var(--bg-muted) 60%, transparent) 50%,
    var(--bg-muted) 100%
  );
  background-size: 200% 100%;
  animation: skel-shimmer 1.2s ease-in-out infinite;
}
@keyframes skel-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ---------------------------------------------------------------------
   Nav active state
   --------------------------------------------------------------------- */
.nav-link {
  padding: 0.5rem 0.85rem;
  border-radius: 0.55rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--text-muted);
  transition: background 0.15s, color 0.15s;
}
.nav-link:hover {
  background: var(--bg-muted);
  color: var(--text-primary);
}
.nav-link.is-active {
  color: var(--hero-bg);
  background: color-mix(in srgb, var(--hero-bg) 10%, transparent);
}

/* ---------------------------------------------------------------------
   Brand mark
   --------------------------------------------------------------------- */
.brand-mark {
  background: linear-gradient(135deg,
    var(--hero-bg) 0%,
    color-mix(in srgb, var(--hero-bg) 60%, white) 100%);
  box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--hero-bg) 60%, transparent);
}

/* ---------------------------------------------------------------------
   Header / footer (consistent with main site)
   --------------------------------------------------------------------- */
.site-header {
  background: color-mix(in srgb, var(--bg-card) 92%, transparent);
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  border-bottom: 1px solid var(--border-color);
}
.site-footer {
  border-top: 1px solid var(--border-color);
  background: color-mix(in srgb, var(--bg-card) 60%, transparent);
}

/* ---------------------------------------------------------------------
   Mobile tweaks
   --------------------------------------------------------------------- */
@media (max-width: 640px) {
  .match-card { padding: 1rem; }
  .nav-link   { padding: 0.45rem 0.6rem; font-size: 0.78rem; }
}

/* ---------------------------------------------------------------------
   Dashboard Redesign & Modal Styles
   --------------------------------------------------------------------- */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}
.scrollbar-none {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.dashboard-tab {
  cursor: pointer;
}
.dashboard-tab.active {
  border-color: var(--hero-bg);
  color: var(--text-primary);
  font-weight: 800;
}

/* Custom CSS for compatibility modal overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}
.modal-content {
  transform: scale(0.92);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.modal-overlay.active .modal-content {
  transform: scale(1);
}

.habit-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 1rem;
  transition: border-color 0.2s, background-color 0.2s;
}
.habit-item.is-match {
  border-color: color-mix(in srgb, #10b981 40%, var(--border-color));
  background: color-mix(in srgb, #10b981 6%, var(--bg-card));
}
.habit-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 800;
}
.habit-badge.match {
  background: #10b981;
  color: #fff;
}
.habit-badge.diff {
  background: var(--bg-muted);
  color: var(--text-muted);
}
.badge-pulse {
  animation: badge-pulse-anim 1.5s infinite alternate;
}
@keyframes badge-pulse-anim {
  from { transform: scale(1); }
  to { transform: scale(1.05); }
}

