:root {
  --wb-primary: #37abc8;
  --wb-primary-glow: #56d4f5;
  --wb-dark: #164450;
  --wb-darker: #0c252c;
  --wb-text: #333333;
  --wb-light-bg: #f4f7f9;
  --wb-accent: #f39c12;
  
  --glass-bg: rgba(255, 255, 255, 0.1);
  --glass-border: rgba(255, 255, 255, 0.2);
  --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  --glass-blur: blur(12px);
}

body.wb-premium-bg {
  background: linear-gradient(135deg, var(--wb-darker) 0%, var(--wb-dark) 100%);
  color: #fff;
  font-family: 'Roboto', sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.font-roboto { font-family: 'Roboto', sans-serif; }
.font-quicksand { font-family: 'Quicksand', sans-serif; }
.letter-spacing-1 { letter-spacing: 1px; }
.text-primary-glow { color: var(--wb-primary-glow) !important; }

/* Header & Glassmorphism */
.glass-header {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.glass-header.scrolled {
  background-color: var(--wb-darker);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  border-radius: 16px;
  padding: 2rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.glass-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.45);
}

/* Typography & Links */
.hover-glow {
  position: relative;
  transition: color 0.3s ease;
}

.hover-glow::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  display: block;
  margin-top: 2px;
  right: 0;
  background: var(--wb-primary-glow);
  transition: width 0.3s ease;
  -webkit-transition: width 0.3s ease;
}

.hover-glow:hover::after {
  width: 100%;
  left: 0;
  background: var(--wb-primary-glow);
}

.hover-white { transition: color 0.2s ease; }
.hover-white:hover { color: #fff !important; }
.transition-all { transition: all 0.3s ease; }
.hover-opacity-100:hover { opacity: 1 !important; }

/* Buttons */
.btn-premium-action {
  background-color: var(--wb-primary);
  border: none;
  box-shadow: none;
  transition: all 0.3s ease;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.btn-premium-action:hover {
  transform: scale(1.05);
  box-shadow: none;
  text-shadow: none !important;
  background-color: var(--wb-primary-glow);
}

.btn-download {
  background-color: var(--wb-accent);
  border: none;
  box-shadow: none;
  transition: all 0.3s ease;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.btn-download:hover {
  transform: scale(1.05);
  box-shadow: none;
  text-shadow: none !important;
  background-color: #f5b041;
}

.btn-glass {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  transition: all 0.3s ease;
  text-shadow: none !important;
}

.btn-glass:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  text-shadow: none !important;
}

/* Content Layout */
.content-wrapper {
  flex: 1 0 auto;
  padding: 3rem 0;
}

/* Footer */
.glass-footer {
  background: var(--wb-darker);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  margin-top: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.footer-links a {
  transition: transform 0.2s ease, color 0.2s ease;
  display: inline-block;
}

.footer-links a:hover {
  transform: translateX(5px);
}

/* Forms */
.form-control.glass-input {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
}

.form-control.glass-input:focus {
  background: rgba(255, 255, 255, 0.15);
  border-color: var(--wb-primary-glow);
  box-shadow: 0 0 0 0.25rem rgba(86, 212, 245, 0.25);
  color: #fff;
}

.form-control.glass-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}/* Subpage Layout Classes */
.subpage-hero {
    background: url('../images/banner-1920x500.jpg') center/cover no-repeat;
    position: relative;
}

.subpage-hero > * {
    position: relative;
    z-index: 1;
}
.card-light {
    background-color: #ffffff;
    border-radius: 0.5rem;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.05);
    color: #333333;
}
.bg-dark-header {
    background-color: var(--wb-dark);
}



.text-wb-primary {
    color: var(--wb-primary) !important;
}
.text-wb-dark {
    color: var(--wb-dark) !important;
}
