/* Luxurious theme enhancements — non-intrusive styles */
:root{
  --primary:#7c3aed;
  --accent:#60a5fa;
  --muted:#94a3b8;
  --glass: rgba(255,255,255,0.03);
}
html,body{height:100%;}
body{transition:background-color .45s ease,color .3s ease}
/* smooth fade in for main containers */
.fade-in{opacity:0;transform:translateY(6px);animation:fadeInUp .6s ease forwards}
@keyframes fadeInUp{to{opacity:1;transform:none}}

/* Cards */
.card{transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease;border-radius:12px}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(2,6,23,0.5)}

/* Buttons */
.btn{transition:transform .18s cubic-bezier(.2,.9,.2,1),box-shadow .18s ease}
.btn:active{transform:translateY(1px)}

/* Inputs */
.form-control{transition:box-shadow .18s ease, border-color .18s ease}
.form-control:focus{box-shadow:0 6px 20px rgba(99,102,241,0.12);border-color:var(--primary);}

/* Small UI touches */
.input-group-text{background:transparent;border:0;color:var(--muted)}
.navbar-brand{font-weight:700}

/* subtle animated underline for links */
.a-underline{position:relative;color:inherit}
.a-underline:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));bottom:-3px;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.a-underline:hover:after{transform:scaleX(1)}

/* responsive utility for centralized content */
.center-card{display:flex;align-items:center;justify-content:center;min-height:60vh}

/* Form focus glow */
.form-focus:focus{outline:none;box-shadow:0 10px 30px rgba(96,165,250,0.08)}

/* small helpers */
.small-muted{color:var(--muted)}

/* make images crisp and transparent background */
img{background:transparent !important}
