:root{--card-radius:16px;}
.site-logo{width:300px;height:80px;object-fit:contain}
.card-soft{border-radius:var(--card-radius);box-shadow:0 8px 24px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.06);}
.badge-soft{background:rgba(0,0,0,.06);color:#111;border:1px solid rgba(0,0,0,.08)}
.gallery-thumb{width:100%;height:120px;object-fit:cover;border-radius:12px}
.form-hint{font-size:.9rem;color:#666}


/* Full width sections inside .container (bleed to viewport) */
.full-bleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Smart search */
.smart-search-wrap{
  position:relative;
}
.smart-search-results{
  position:absolute;
  z-index:1050;
  top:100%;
  left:0;
  right:0;
  margin-top:.5rem;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  overflow:hidden;
}
.smart-search-item{
  display:flex;
  gap:.75rem;
  align-items:center;
  padding:.65rem .85rem;
  text-decoration:none;
  color:#111;
}
.smart-search-item:hover{background:rgba(0,0,0,.04);}
.smart-search-thumb{
  width:44px;height:44px;border-radius:10px;object-fit:cover;flex:0 0 auto;
  border:1px solid rgba(0,0,0,.08);
}
.smart-search-meta{font-size:.85rem;color:#666;}
.smart-search-empty{padding:.85rem;color:#666;}

/* Make footer full dark without border clash */
.site-footer{width:100%;}


/* Theme */
.bg-black{background:#000 !important;}

/* Animated menu links */
.navbar .nav-link-anim{
  position:relative;
  padding:.65rem .95rem;
  border-radius:14px;
  transition:background .18s ease, transform .18s ease, color .18s ease;
}
.navbar .nav-link-anim::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:7px;
  height:2px;
  background:rgba(255,255,255,.9);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.navbar .nav-link-anim:hover{
  background:rgba(255,255,255,.09);
  transform:translateY(-1px);
}
.navbar .nav-link-anim:hover::after{transform:scaleX(1);}
.navbar .nav-link-anim.active{background:rgba(255,255,255,.14);}
.navbar .nav-link-anim.active::after{transform:scaleX(1);}
