/* public/assets/css/theme.css - modern theme overrides */
:root{
  --accent-1: #0b5ed7;
  --accent-2: #084ea8;
  --bg-1: linear-gradient(180deg, #f8fbff, #f5f7fb);
  --muted: #6b7280;
  --glass: rgba(255,255,255,0.72);
  --card-shadow: 0 12px 32px rgba(8,78,168,0.08);
  --radius: 14px;
}

/* Apply nice font stack loaded in header */
.modern-ui body, .modern-ui { font-family: "Inter", "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }

/* Navigation */
.nav-modern{ padding:0.9rem 0; position:sticky; top:0; z-index:60; backdrop-filter: blur(6px); }
.nav-modern .container{ display:flex; align-items:center; gap:1rem; }
.nav-modern .navbar-brand{ display:flex; align-items:center; gap:.6rem; }
.logo-rounded{ border-radius:10px; box-shadow:0 8px 22px rgba(11,94,215,0.08); }
.tut-logo{ border-radius:6px; box-shadow:0 6px 18px rgba(0,0,0,0.06); }
/* small SMP logo in navbar */
.logo-smp-nav{ border-radius:8px; box-shadow:0 8px 20px rgba(11,94,215,0.06); max-height:48px; object-fit:contain; }
@media (max-width:576px){ .logo-smp-nav{ display:none; } }
.logo-smp-nav{ border-radius:8px; box-shadow:0 8px 20px rgba(11,94,215,0.06); max-height:64px; object-fit:contain; }
.nav-modern .nav-link{ color:#0f1724; font-weight:600; padding:.6rem .8rem; }
.nav-modern .nav-link:hover{ color:var(--accent-1); }

/* CTA button */
.btn-cta{
  display:inline-block;
  padding:.6rem 1.05rem;
  border-radius:12px;
  color:#fff !important;
  background: linear-gradient(90deg,var(--accent-1),var(--accent-2));
  box-shadow: 0 10px 30px rgba(11,94,215,0.16);
  font-weight:700;
}
.btn-cta:hover{ transform:translateY(-3px); box-shadow:0 16px 48px rgba(11,94,215,0.18); }

/* Hero tweaks to make it standout */
.hero{ border-radius:18px; padding:3.5rem; background: radial-gradient(1200px 300px at 10% 20%, rgba(11,94,215,0.06), transparent 12%), var(--bg-1); box-shadow:var(--card-shadow); }
.hero .display-5{ font-family: "Poppins", sans-serif; letter-spacing:-0.6px; }

/* Cards and forms */
.card{ border-radius:var(--radius); box-shadow:var(--card-shadow); }
.form-bg{ border-radius:16px; padding:0.6rem; background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,255,0.7)); border:1px solid rgba(11,94,215,0.04); }

.form-control{ border-radius:10px; transition:box-shadow .18s ease, transform .12s ease; }
.form-control:focus{ box-shadow:0 10px 30px rgba(11,94,215,0.08); transform:translateY(-1px); border-color:var(--accent-1); }

/* Footer modern look */
footer.site-footer{ padding:2.5rem 0; color:#fff; background: linear-gradient(90deg,var(--accent-1),var(--accent-2)); border-top-left-radius:20px; border-top-right-radius:20px; }
footer.site-footer h5, footer.site-footer h6{ color:#fff; }

/* Buttons neutral */
.btn-outline-light{ border-radius:10px; padding:.6rem .9rem; }

/* Small utilities */
.text-muted{ color:var(--muted) !important; }

/* Floating helper for small screens: quick register */
@media (max-width:992px){
  .floating-register{ position:fixed; right:18px; bottom:18px; z-index:120; }
}

/* Subtle animations */
.fade-in{ animation: fadeIn .5s cubic-bezier(.2,.9,.2,1) both; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }

/* Accessibility: focus outline for keyboard users */
a:focus, button:focus, .form-control:focus{ outline:3px solid rgba(11,94,215,0.12); outline-offset:2px; }

/* Responsive & mobile-friendly tweaks */
:root{ --touch-size: 48px; }

/* Ensure images scale */
img{ max-width:100%; height:auto; }

/* Larger tap targets on small devices */
.btn, .btn-cta{ min-height:44px; padding-top:.55rem; padding-bottom:.55rem; }

/* Make CTA more prominent on mobile */
.btn-cta{ padding-left:1rem; padding-right:1rem; }

/* Forms comfortable on touch devices */
.form-control{ font-size:1rem; padding:.72rem .9rem; }
@media (max-width:576px){
  .form-control{ font-size:1.05rem; padding:.8rem 1rem; }
  .hero .display-5{ font-size:2rem; }
  .hero .h4, .hero h4{ font-size:1.05rem; }
}

/* Floating register button */
.floating-register{ position:fixed; right:18px; bottom:18px; z-index:200; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; box-shadow:0 18px 40px rgba(11,94,215,0.18); }
.floating-register .icon{ font-size:20px; }

/* Ensure footer links have enough touch area */
footer.site-footer a{ display:inline-block; padding:6px 0; }

/* High-contrast mode support */
@media (prefers-contrast: more){
  :root{ --accent-1: #08306b; }
  .btn-cta{ box-shadow:none; }
}

/* Subtle faster pulse animation for floating button (reduced motion respected) */
.floating-register{ animation: pulse 1.6s ease-in-out infinite; transition: transform .12s ease; }
.floating-register:hover{ transform: translateY(-4px) scale(1.03); }
@keyframes pulse{ 0%{ transform: translateY(0) scale(1);} 50%{ transform: translateY(-2px) scale(1.02);} 100%{ transform: translateY(0) scale(1);} }
.floating-register .icon svg{ width:22px; height:22px; display:block; color:#fff; }

@media (prefers-reduced-motion: reduce){
  .floating-register{ animation: none !important; }
}
