/* SS University CMS — Extra Styles */
:root {
  --primary: #FF7926;
  --primary-dark: #0a1628;
  --secondary: #c62828;
  --primary-light: rgba(255,121,38,.1);
  --transition: all .3s ease;
}

/* =================== Utility =================== */
.text-primary { color: var(--primary) !important; }
.bg-primary { background-color: var(--primary) !important; }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: #e56b1f; border-color: #e56b1f; }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover { background: var(--primary); border-color: var(--primary); }

/* =================== Page Banner =================== */
.page-banner { position: relative; }
.page-banner .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.5); }
.page-banner a { text-decoration: none; }

/* =================== Cards =================== */
.card { border: 1px solid #eef0f3; border-radius: 12px; overflow: hidden; }
.card-header { border-bottom: 1px solid #eef0f3; }
.card.border-start.border-4 { border-radius: 8px; }

/* =================== Notices Board =================== */
.notice-item { border-left: 3px solid var(--primary); padding-left: 12px; margin-bottom: 12px; transition: var(--transition); }
.notice-item:hover { border-left-width: 5px; }
.notice-item.important { border-color: var(--secondary); }
.notice-badge-new { animation: pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

/* =================== Gallery Grid =================== */
#gallery-grid .gallery-item { cursor: pointer; }

/* =================== Admission Form =================== */
.step-indicator { display: flex; align-items: center; margin-bottom: 2rem; }
.step { display: flex; align-items: center; flex: 1; }
.step-circle { width: 36px; height: 36px; border-radius: 50%; background: #dee2e6; color: #6c757d; display: flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.step.active .step-circle { background: var(--primary); color: white; }
.step.done .step-circle { background: #198754; color: white; }
.step-line { flex: 1; height: 2px; background: #dee2e6; margin: 0 8px; }
.step.done .step-line, .step.active .step-line { background: var(--primary); }

/* =================== Faculty Card =================== */
.faculty-card { border-radius: 12px; }
.faculty-card img { transition: transform .3s; }
.faculty-card:hover img { transform: scale(1.05); }

/* =================== Department Cards =================== */
.dept-card { border-left: 4px solid var(--primary); }

/* =================== Ticker =================== */
.ticker-wrap { background: var(--primary-dark); padding: 8px 0; overflow: hidden; }
.ticker-content { display: inline-block; white-space: nowrap; animation: ticker 30s linear infinite; }
.ticker-content:hover { animation-play-state: paused; }
@keyframes ticker { 0%{transform:translateX(100vw)} 100%{transform:translateX(-100%)} }

/* =================== Responsive Nav =================== */
@media (max-width: 991.98px) {
  .page-banner h1 { font-size: 1.75rem; }
}

/* =================== Admin Panel Extras =================== */
.admin-sidebar .nav-link { border-radius: 8px; margin: 2px 8px; transition: var(--transition); }
.admin-sidebar .nav-link:hover { background: rgba(255,121,38,.1); color: var(--primary) !important; }
.admin-sidebar .nav-link.active { background: var(--primary); color: white !important; }

/* =================== Print / Receipt =================== */
@media print {
  .admin-sidebar, .admin-topbar, .no-print { display: none !important; }
  .card { box-shadow: none !important; border: 1px solid #ccc !important; }
}

/* =================== Form Focus =================== */
.form-control:focus, .form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 .2rem rgba(255,121,38,.25);
}

/* =================== Pagination =================== */
.pagination .page-link { color: var(--primary); border-color: #dee2e6; }
.pagination .page-link:hover { background: var(--primary-light); color: var(--primary); }
.pagination .page-item.active .page-link { background: var(--primary); border-color: var(--primary); color: white; }

/* =================== Alerts =================== */
.alert-success { border-left: 4px solid #198754; }
.alert-danger { border-left: 4px solid #dc3545; }
.alert-info { border-left: 4px solid #0dcaf0; }
.alert-warning { border-left: 4px solid #ffc107; }
