/* Vibe ADS - Beautiful Dating Theme */

/* Splash page hero */
#bgvid {
  filter: brightness(0.7) saturate(1.2);
}

.login_block {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px);
  border-radius: 20px !important;
  padding: 25px 30px !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Splash text */
.s_bMarg {
  color: #fff !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
  font-size: 2.2em !important;
}

#promo_text {
  color: #fff !important;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}

#promo_text h2 {
  color: #fff !important;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
}

#promo_text a {
  color: #FFE082 !important;
  font-weight: 700;
}

/* Content cards */
#content {
  padding: 20px 15px;
}

.box, .panel, .well {
  background: var(--vibe-card-bg, #fff) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(233, 30, 99, 0.08) !important;
  overflow: hidden;
}

/* Profile cards */
.thumb {
  text-align: center;
  margin: 8px;
}

.thumb a {
  display: inline-block;
  transition: transform 0.3s ease;
}

.thumb a:hover {
  transform: translateY(-3px);
}

/* Sign up form on splash */
#form_join_user .pfbc-label label {
  color: #444 !important;
  font-weight: 600 !important;
}

#form_join_user .pfbc-element {
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Top menu polish */
.top_nav, #menu_logged {
  padding: 5px 0;
}

/* Quick search bar */
.search_form input {
  border-radius: 25px !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}

.search_form input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

/* Animated hearts background effect */
@keyframes float-heart {
  0% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
  10% { opacity: 0.6; }
  90% { opacity: 0.6; }
  100% { transform: translateY(-10vh) rotate(720deg); opacity: 0; }
}

/* Error and success messages */
.success_msg, .msg_ok {
  background: linear-gradient(135deg, #E8F5E9, #C8E6C9) !important;
  border-left: 4px solid #4CAF50 !important;
  border-radius: 12px !important;
  padding: 15px 20px !important;
}

.err_msg, .msg_error {
  background: linear-gradient(135deg, #FFEBEE, #FFCDD2) !important;
  border-left: 4px solid #E91E63 !important;
  border-radius: 12px !important;
  padding: 15px 20px !important;
}

/* Footer polish */
.ft_copy {
  text-align: center;
  padding: 15px 0;
}

.bottom_nav {
  text-align: center;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bottom_nav a {
  margin: 0 8px;
  font-size: 0.9em;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .s_bMarg {
    font-size: 1.5em !important;
  }
  
  .login_block {
    padding: 15px !important;
    margin: 10px !important;
    border-radius: 15px !important;
  }
  
  .btn-primary, button[type="submit"] {
    padding: 8px 20px !important;
    font-size: 0.9em !important;
  }
}

/* Loading animation */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.loading {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* Sweet alert/notification styles */
.apprise-overlay {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(5px);
}

.apprise {
  border-radius: 20px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
}
