/* Ahi Hayat Color System — Yeşil tonları */
:root {
  /* Primary — #295440 (koyu) / #8AA554 (açık) */
  --color-primary: #295440;
  --color-primary-dark: #1f4032;
  --color-primary-light: #8AA554;
  --color-primary-50:  #f3f7f0;
  --color-primary-100: #e4eedc;
  --color-primary-200: #c8ddb8;
  --color-primary-300: #a8c88a;
  --color-primary-400: #8AA554;
  --color-primary-500: #295440;
  --color-primary-600: #234836;
  --color-primary-700: #1d3c2d;
  --color-primary-800: #173024;
  --color-primary-900: #11241b;

  /* Secondary — yumuşak yeşil-krem arka planlar */
  --color-secondary: #f4f7f1;
  --color-secondary-dark: #e4ebe0;
  --color-secondary-light: #fafcf8;
  --color-beige-50: #fafcf8;
  --color-beige-100: #f4f7f1;
  --color-beige-200: #e8efe4;
  --color-beige-300: #d5e0cf;
  --color-beige-400: #b8c9ae;
  --color-beige-500: #9aaf8c;

  /* Orange (cluster / uyarı yardımcıları) */
  --color-orange-50: #FFF7ED;
  --color-orange-100: #FFEDD5;
  --color-orange-200: #FED7AA;
  --color-orange-300: #FDBA74;
  --color-orange-400: #FB923C;
  --color-orange-500: #F97316;
  --color-orange-600: #EA580C;
  --color-orange-700: #C2410C;

  /* Accent — açık yeşil vurgu */
  --color-gold: #8AA554;
  --color-gold-light: #a3bd6e;
  --color-gold-dark: #6f8a3f;

  /* Helper Colors */
  --color-success: #3d9a5f;
  --color-error: #FF3827;
  --color-warning: #FFA500;
  --color-info: #3B82F6;

  /* App Background */
  --color-app-bg: #fafcf8;

  /* Text Colors */
  --color-text-primary: #1a2e24;
  --color-text-secondary: #4a5c52;
  --color-text-light: #7a8f84;

  /* Swiper / legacy aliases */
  --swiper-theme-color: var(--color-primary);
  --ss-primary-color: var(--color-primary);
  --primary-color: var(--color-primary);

  /* RGB helpers for opacity utilities */
  --rgb-primary-50: 243 247 240;
  --rgb-primary-100: 228 238 220;
  --rgb-primary-200: 200 221 184;
  --rgb-primary-300: 168 200 138;
  --rgb-primary-400: 138 165 84;
  --rgb-primary-500: 41 84 64;
  --rgb-secondary: 244 247 241;
}

/* Body background */
body {
  background-color: var(--color-app-bg);
  color: var(--color-text-primary);
}

/* Primary button styles */
.btn-primary {
  background: linear-gradient(135deg, var(--color-primary-400) 0%, var(--color-primary-500) 55%, var(--color-primary-700) 100%);
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 18px 0 rgb(41 84 64 / 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-700) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px 0 rgb(41 84 64 / 0.4);
}

.btn-primary.outlined {
  background: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  box-shadow: none;
}

.btn-primary.outlined:hover {
  background: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

/* Text colors */
.text-primary-300 {
  color: var(--color-primary-300) !important;
}

.text-primary-400 {
  color: var(--color-primary-400) !important;
}

.text-primary-500 {
  color: var(--color-primary-500) !important;
}

.text-primary-600 {
  color: var(--color-primary-600) !important;
}

/* Background colors */
.bg-primary-50 {
  background-color: var(--color-primary-50) !important;
}

.bg-primary-75 {
  background-color: var(--color-beige-100) !important;
}

.bg-primary-100 {
  background-color: var(--color-primary-100) !important;
}

.bg-primary-200 {
  background-color: var(--color-primary-200) !important;
}

.bg-primary-300 {
  background-color: var(--color-primary-300) !important;
}

.bg-primary-400 {
  background-color: var(--color-primary-400) !important;
}

.bg-primary-500 {
  background-color: var(--color-primary-500) !important;
}

.bg-primary-600 {
  background-color: var(--color-primary-600) !important;
}

/* Border colors */
.border-primary-100 {
  border-color: var(--color-primary-100) !important;
}

.border-primary-200 {
  border-color: var(--color-primary-200) !important;
}

.border-primary-300 {
  border-color: var(--color-primary-300) !important;
}

.border-primary-400 {
  border-color: var(--color-primary-400) !important;
}

.border-primary-500 {
  border-color: var(--color-primary-500) !important;
}

/* Hover states */
.hover\:text-primary-300:hover {
  color: var(--color-primary-300) !important;
}

.hover\:text-primary-400:hover {
  color: var(--color-primary-400) !important;
}

.hover\:text-primary-500:hover {
  color: var(--color-primary-500) !important;
}

.hover\:bg-primary-50:hover {
  background-color: var(--color-primary-50) !important;
}

.hover\:bg-primary-400:hover {
  background-color: var(--color-primary-400) !important;
}

.hover\:bg-primary-500:hover {
  background-color: var(--color-primary-500) !important;
}

.hover\:bg-primary-600:hover {
  background-color: var(--color-primary-600) !important;
}

.hover\:border-primary-200:hover {
  border-color: var(--color-primary-200) !important;
}

.hover\:border-primary-300:hover {
  border-color: var(--color-primary-300) !important;
}

/* Gradient backgrounds */
.bg-gradient-to-r.from-primary-300 {
  --tw-gradient-from: var(--color-primary-300);
  --tw-gradient-to: rgb(168 200 138 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.bg-gradient-to-r.from-primary-400 {
  --tw-gradient-from: var(--color-primary-400);
  --tw-gradient-to: rgb(138 165 84 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.bg-gradient-to-r.to-primary-300 {
  --tw-gradient-to: var(--color-primary-300);
}

.bg-gradient-to-r.to-primary-500 {
  --tw-gradient-to: var(--color-primary-500);
}

.bg-gradient-to-br.from-primary-300 {
  --tw-gradient-from: var(--color-primary-300);
  --tw-gradient-to: rgb(168 200 138 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.bg-gradient-to-br.from-primary-400 {
  --tw-gradient-from: var(--color-primary-400);
  --tw-gradient-to: rgb(138 165 84 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.bg-gradient-to-br.from-primary-500 {
  --tw-gradient-from: var(--color-primary-500);
  --tw-gradient-to: rgb(41 84 64 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.bg-gradient-to-br.to-primary-600 {
  --tw-gradient-to: var(--color-primary-600);
}

.bg-gradient-to-tr.from-primary-500 {
  --tw-gradient-from: var(--color-primary-500);
  --tw-gradient-to: rgb(41 84 64 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

/* Shadow colors */
.shadow-primary-200\/50 {
  --tw-shadow-color: rgb(200 221 184 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary-300\/20 {
  --tw-shadow-color: rgb(168 200 138 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary-300\/40 {
  --tw-shadow-color: rgb(168 200 138 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary-400\/20 {
  --tw-shadow-color: rgb(138 165 84 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary-400\/30 {
  --tw-shadow-color: rgb(138 165 84 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary-500\/40 {
  --tw-shadow-color: rgb(41 84 64 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-primary-300\/30:hover {
  --tw-shadow-color: rgb(168 200 138 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-primary-400\/40:hover {
  --tw-shadow-color: rgb(138 165 84 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-primary-400\/50:hover {
  --tw-shadow-color: rgb(138 165 84 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-primary-500\/50:hover {
  --tw-shadow-color: rgb(41 84 64 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

/* Gold / accent */
.text-gold {
  color: var(--color-gold) !important;
}

.bg-gold {
  background-color: var(--color-gold) !important;
}

/* Secondary / soft green */
.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.from-secondary {
  --tw-gradient-from: var(--color-secondary);
}

.to-secondary {
  --tw-gradient-to: var(--color-secondary);
}

/* Helper colors */
.text-success {
  color: var(--color-success) !important;
}

.text-error {
  color: var(--color-error) !important;
}

.bg-success {
  background-color: var(--color-success) !important;
}

.bg-error {
  background-color: var(--color-error) !important;
}

/* Opacity variants */
.bg-primary-200\/20 {
  background-color: rgb(200 221 184 / 0.2) !important;
}

.bg-primary-300\/10 {
  background-color: rgb(168 200 138 / 0.1) !important;
}

.bg-primary-300\/15 {
  background-color: rgb(168 200 138 / 0.15) !important;
}

.bg-primary-300\/20 {
  background-color: rgb(168 200 138 / 0.2) !important;
}

.bg-primary-400\/10 {
  background-color: rgb(138 165 84 / 0.1) !important;
}

.bg-primary-400\/20 {
  background-color: rgb(138 165 84 / 0.2) !important;
}

.bg-primary-400\/30 {
  background-color: rgb(138 165 84 / 0.3) !important;
}

.bg-primary-50\/50 {
  background-color: rgb(243 247 240 / 0.5) !important;
}

.bg-primary-50\/60 {
  background-color: rgb(243 247 240 / 0.6) !important;
}

.bg-primary-75\/30 {
  background-color: rgb(244 247 241 / 0.3) !important;
}

/* From/To opacity variants for gradients */
.from-primary-50\/50 {
  --tw-gradient-from: rgb(243 247 240 / 0.5);
  --tw-gradient-to: rgb(243 247 240 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary-300\/20 {
  --tw-gradient-from: rgb(168 200 138 / 0.2);
  --tw-gradient-to: rgb(168 200 138 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-primary-75\/30 {
  --tw-gradient-to: rgb(244 247 241 / 0.3);
}

.to-secondary\/5 {
  --tw-gradient-to: rgb(244 247 241 / 0.05);
}

.to-secondary\/10 {
  --tw-gradient-to: rgb(244 247 241 / 0.1);
}

.to-secondary\/30 {
  --tw-gradient-to: rgb(244 247 241 / 0.3);
}

.via-secondary\/10 {
  --tw-gradient-to: rgb(244 247 241 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(244 247 241 / 0.1), var(--tw-gradient-to);
}

/* Group hover variants */
.group-hover\:bg-primary-400:hover {
  background-color: var(--color-primary-400) !important;
}

.group-hover\:text-primary-300:hover {
  color: var(--color-primary-300) !important;
}

.group-hover\:text-primary-400:hover {
  color: var(--color-primary-400) !important;
}

.group-hover\:text-primary-500:hover {
  color: var(--color-primary-500) !important;
}

.group:hover .group-hover\:bg-primary-400 {
  background-color: var(--color-primary-400) !important;
}

.group:hover .group-hover\:text-primary-300 {
  color: var(--color-primary-300) !important;
}

.group:hover .group-hover\:text-primary-400 {
  color: var(--color-primary-400) !important;
}

.group:hover .group-hover\:text-primary-500 {
  color: var(--color-primary-500) !important;
}

/* Opacity for decorative elements */
.opacity-20 {
  opacity: 0.2;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-50 {
  opacity: 0.5;
}

.group-hover\:opacity-100:hover {
  opacity: 1;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-30 {
  opacity: 0.3;
}

.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}

/* ——— Site design polish ——— */
.site-footer {
  
  color: #333;
}

.site-footer a {
  transition: color 0.2s ease, transform 0.2s ease;
}

.banner-nav-btn {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #295440 !important;
  border-color: rgba(138, 165, 84, 0.35) !important;
  box-shadow: 0 8px 24px rgb(41 84 64 / 0.18);
}

.banner-nav-btn:hover {
  background: #295440 !important;
  color: #ffffff !important;
}

.hero-title-accent {
  background: linear-gradient(120deg, #295440 0%, #8AA554 55%, #295440 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: hero-gradient-shift 8s ease infinite;
}

@keyframes hero-gradient-shift {
  0%, 100% { background-position: 0% center; }
  50% { background-position: 100% center; }
}

.topbar-link {
  color: #ffffff !important;
  opacity: 0.95;
  transition: opacity 0.2s ease;
}

.topbar-link:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-header-banner {
  background: linear-gradient(135deg, #295440 0%, #3a6b52 50%, #8AA554 160%) !important;
}

.faq-item-enhanced {
  border-color: rgb(200 221 184 / 0.8) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faq-item-enhanced:hover,
.faq-item-enhanced:focus-within {
  border-color: #8AA554 !important;
  box-shadow: 0 8px 24px rgb(41 84 64 / 0.08);
}
