/* === Label & la Bête — Enhancement Pack (enhanced.css) ===
   Plug-in stylesheet to layer on top of your existing site.css
   Safe: only adds classes / minor hover effects; does not break layout.
*/

/* Card hover & depth */
.card {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 14px 40px rgba(0,0,0,.55);
  border-color: rgba(240,198,116,.35);
}

/* Subtle image lift on hover */
.card img,
.thumb, .avatar, .square-img, img[data-square="1"] {
  transition: transform .35s ease, filter .35s ease;
}
.card:hover img,
.card:hover .thumb,
.card:hover .avatar,
.card:hover .square-img,
.card:hover img[data-square="1"] {
  transform: translateY(-2px) scale(1.015);
  filter: saturate(1.05) contrast(1.02);
}

/* Buttons */
.btn, button, .button {
  padding: 10px 20px;
  border-radius: 10px;
  border: 1px solid #2a2a2a;
  background: linear-gradient(135deg,#f093fb,#f5576c);
  color: #fff;
  font-weight: 700;
  letter-spacing: .2px;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
  display: inline-flex; align-items: center; gap: .5rem;
}
.btn:hover, button:hover, .button:hover {
  transform: translateY(-1px) scale(1.03);
  filter: brightness(1.15);
}

/* Fancy underline links */
.link-underline {
  position: relative;
  text-decoration: none;
}
.link-underline::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, #f093fb, #f5576c);
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .25s ease-out;
}
.link-underline:hover::after { transform-origin: left; transform: scaleX(1); }

/* Fade-in on scroll */
.fade-in {
  opacity: 0; transform: translateY(18px);
  will-change: opacity, transform;
}
.fade-in.is-visible {
  opacity: 1; transform: translateY(0);
  transition: opacity .6s ease, transform .6s ease;
}

/* Soft glow for headings */
h1.glow, h2.glow, h3.glow {
  text-shadow: 0 0 12px rgba(240,198,116,.28);
}

/* Navbar polish */
nav#navbar {
  transition: background .3s ease, box-shadow .3s ease, padding .3s ease;
}
nav#navbar.scrolled {
  background: rgba(10,10,10,.92);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
}

/* Utility badges */
.badge {
  display: inline-block;
  padding: .25rem .6rem;
  border-radius: 999px;
  border: 1px solid #2a2a2a;
  background: #151515;
  font-size: .8rem;
  color: #ddd;
}
.badge--accent { border-color: rgba(240,198,116,.5); color: #ffe5a3; }
