/* 2026 Redesign - Korpshåndboka Coherent Theme */

:root {
  /* Retaining original Korpshåndboka colors but upgrading their usage */
  --bg-white: #ffffff;
  --bg-light: #f8fafc; /* slightly cooler light gray */
  --bg-blue-soft: #eaf6fd;
  --bg-dark: #1a2332;
  --text-dark: #1e293b; /* Deeper slate for sharper contrast */
  --text-body: #475569;
  --blue: #35baf2;
  --blue-dark: #2a9fd4;
  --blue-glow: rgba(53,186,242,0.15);
  --blue-soft: rgba(53,186,242,0.08);
  --orange: #e27245;
  --orange-glow: rgba(226,114,69,0.15);
  --mint: #77cab3;
  --gold: #f0cf5f;
  
  /* Modern 2026 geometry and shadows */
  --radius: 28px;
  --radius-sm: 16px;
  --shadow-sm: 0 4px 10px rgba(0,0,0,0.03);
  --shadow-md: 0 10px 30px rgba(0,0,0,0.04);
  --shadow-lg: 0 20px 40px rgba(44, 62, 80, 0.08), 0 0 20px var(--blue-glow);
  
  /* Glass constants */
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-border: rgba(255, 255, 255, 0.8);
}

body {
  background: var(--bg-light);
  overflow-x: hidden;
}

/* ── Dynamic Mesh Background ── */
body::before {
  content: '';
  position: fixed;
  top: -20vh; left: -10vw;
  width: 70vw; height: 70vh;
  background: radial-gradient(circle, var(--bg-blue-soft) 0%, transparent 70%);
  z-index: -1; pointer-events: none;
}
body::after {
  content: '';
  position: fixed;
  bottom: -20vh; right: -10vw;
  width: 60vw; height: 60vh;
  background: radial-gradient(circle, rgba(119, 202, 179, 0.1) 0%, transparent 70%); /* subtle mint */
  z-index: -1; pointer-events: none;
}

/* ── Glassmorphism Nav ── */
nav {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.4) !important;
}

nav.scrolled {
  box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
}

/* ── Hero Refinements ── */
.hero {
  background: transparent !important;
  position: relative;
  padding-top: 160px;
}
.hero h1 {
  font-size: clamp(2.8rem, 6vw, 4.5rem);
  letter-spacing: -0.02em;
  color: var(--text-dark);
}
.hero h1 span {
  background: linear-gradient(135deg, var(--blue) 0%, #2563eb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.hero-icon {
  animation: float 6s ease-in-out infinite;
  box-shadow: 0 20px 40px rgba(53, 186, 242, 0.25) !important;
  border-radius: 28px;
}
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0px); }
}

/* ── Premium Light Glass Cards ── */
.feature-card, .korps-card, .price-card, .howto-card, .book-banner {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius) !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  position: relative;
  overflow: hidden;
}

/* Subtle white shine inside cards */
.feature-card::before, .korps-card::before, .price-card::before, .howto-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.9), transparent);
  opacity: 0.5;
}

.feature-card:hover, .korps-card:hover, .price-card:hover, .howto-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-lg) !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

/* ── Badges & Tags ── */
.instrument-tag {
  background: rgba(255, 255, 255, 0.5) !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.02);
  transition: all 0.2s;
}
.instrument-tag:hover {
  background: var(--bg-white) !important;
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  transform: translateY(-2px);
}

.price-card.featured {
  border: 2px solid var(--blue) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.6) 100%) !important;
  box-shadow: 0 20px 50px rgba(53,186,242,0.15) !important;
}

/* Fix pricing badge clipping from overflow: hidden */
.price-badge {
  top: 16px !important;
  right: 16px !important;
  z-index: 10 !important;
}

/* ── Modern Buttons ── */
.btn-primary, .nav-cta {
  background: linear-gradient(135deg, var(--blue) 0%, #2563eb 100%) !important;
  box-shadow: 0 4px 15px rgba(53,186,242,0.3) !important;
  border: none !important;
  border-radius: 12px;
}
.btn-primary:hover, .nav-cta:hover {
  box-shadow: 0 8px 25px rgba(53,186,242,0.4) !important;
  transform: translateY(-2px);
}

/* ── Section Adjustments ── */
.alt-bg { background: transparent !important; }

/* ── Phones Gallery Reflection ── */
.phone-frame {
  border-radius: 32px !important;
  border: 4px solid #1a2332 !important;
  box-shadow: var(--shadow-lg) !important;
  position: relative;
}
/* Screen glare */
.phone-frame::after {
  content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
  background: linear-gradient(to bottom right, rgba(255,255,255,0.8), rgba(255,255,255,0) 40%, transparent);
  transform: rotate(30deg); pointer-events: none; opacity: 0.15;
}
.phone-frame:hover {
  transform: scale(1.05) translateY(-5px) !important;
  box-shadow: 0 30px 60px rgba(0,0,0,0.15), 0 0 40px var(--blue-glow) !important;
}

/* ── CTA Banner ── */
.cta-banner {
  background: linear-gradient(135deg, var(--bg-dark) 0%, #0f172a 100%) !important;
  border-radius: 32px !important;
  box-shadow: 0 30px 60px rgba(0,0,0,0.2) !important;
  border: 1px solid rgba(255,255,255,0.05);
  position: relative;
  overflow: hidden;
}
.cta-banner::before {
  content: ''; position: absolute;
  top: -50%; right: -20%; width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(53,186,242,0.15) 0%, transparent 60%);
  pointer-events: none;
}
