/* ConferenceHub - Main Stylesheet */
:root {
  --ch-primary: #0D1B3D;
  --ch-primary-hover: #0b1633;
  --ch-primary-subtle: #e1e3e7;
  --ch-secondary: #00A88E;
  --ch-secondary-hover: #008e78;
  --ch-secondary-subtle: #e0f4f1;
  --ch-accent: #00A88E;
  --ch-success: #10b981;
  --ch-danger: #ef4444;
}
body { font-family: 'Inter', sans-serif; }
.hover-lift { transition: transform .2s, box-shadow .2s; }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.cursor-pointer { cursor: pointer; }

/* Primary (navy) - main brand color */
.text-primary { color: var(--ch-primary) !important; }
.bg-primary { background-color: var(--ch-primary) !important; }
.bg-primary-subtle { background: var(--ch-primary-subtle) !important; }
.btn-primary { background: var(--ch-primary); border-color: var(--ch-primary); color: #fff; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--ch-primary-hover); border-color: var(--ch-primary-hover); color: #fff; }
.btn-outline-primary { color: var(--ch-primary); border-color: var(--ch-primary); }
.btn-outline-primary:hover { background: var(--ch-primary); border-color: var(--ch-primary); color: #fff; }
.border-primary { border-color: var(--ch-primary) !important; }

/* Secondary (teal) - accent/CTA color */
.text-secondary-brand { color: var(--ch-secondary) !important; }
.bg-secondary-brand { background-color: var(--ch-secondary) !important; }
.bg-secondary-subtle { background: var(--ch-secondary-subtle) !important; color: var(--ch-secondary-hover) !important; }
.btn-accent, .btn-secondary-brand { background: var(--ch-secondary); border-color: var(--ch-secondary); color: #0D1B3D; font-weight: 600; }
.btn-accent:hover, .btn-secondary-brand:hover { background: var(--ch-secondary-hover); border-color: var(--ch-secondary-hover); color: #0D1B3D; }
.btn-outline-secondary-brand { color: var(--ch-secondary-hover); border-color: var(--ch-secondary); }
.btn-outline-secondary-brand:hover { background: var(--ch-secondary); border-color: var(--ch-secondary); color: #0D1B3D; }

/* Warning/accent buttons (used for CTAs in templates) recolored to brand teal,
   with dark text per accessibility contrast check (teal fails AA with white text) */
.btn-warning { background: var(--ch-secondary); border-color: var(--ch-secondary); color: #0D1B3D; font-weight: 600; }
.btn-warning:hover { background: var(--ch-secondary-hover); border-color: var(--ch-secondary-hover); color: #0D1B3D; }

.min-vh-100 { min-height: 100vh; }

/* Status badges - semantic colors kept distinct from brand colors for clarity */
.badge.bg-primary-subtle { background: var(--ch-primary-subtle) !important; color: var(--ch-primary) !important; }
.badge.bg-success-subtle { background: #d1fae5 !important; color: #065f46 !important; }
.badge.bg-warning-subtle { background: #fef3c7 !important; color: #92400e !important; }
.badge.bg-danger-subtle { background: #fee2e2 !important; color: #991b1b !important; }
.badge.bg-info-subtle { background: var(--ch-secondary-subtle) !important; color: var(--ch-secondary-hover) !important; }
.badge.bg-secondary-subtle { background: #f1f5f9 !important; color: #475569 !important; }

.card { border-radius: 10px; }
.form-control:focus, .form-select:focus { border-color: var(--ch-primary); box-shadow: 0 0 0 .2rem rgba(13,27,61,.15); }
.pagination .page-item.active .page-link { background: var(--ch-primary); border-color: var(--ch-primary); }
.pagination .page-link { color: var(--ch-primary); }

/* Links */
a { color: var(--ch-primary); }
a:hover { color: var(--ch-secondary-hover); }
