/* ========== Gastroenterology Playful Design ========== */
/* Зелёная палитра — здоровье пищеварения */

:root {
  --g-green: #4CAF50;
  --g-green-dark: #2E7D32;
  --g-green-light: #66BB6A;
  --g-green-pale: #A5D6A7;
  --g-lime: #8BC34A;
  --g-orange: #FF9800;
  --g-amber: #FFC107;
}

.specialty-hero { position: relative; }

.why-section { position: relative; overflow: hidden; }
.why-section::after {
  content: ''; position: absolute; top: 10%; right: -2%;
  width: 130px; height: 130px;
  background: radial-gradient(circle, rgba(76, 175, 80, 0.08) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
  animation: float-bg-g 7s ease-in-out infinite;
}

.services-section { position: relative; overflow: hidden; }
.services-section::after {
  content: ''; position: absolute; bottom: 5%; left: -2%;
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(139, 195, 74, 0.08) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
  animation: float-bg-g 8s ease-in-out infinite reverse;
}

.diagnostics-promo { position: relative; overflow: hidden; }
.diagnostics-promo .container { position: relative; }
.diagnostics-promo .container::after {
  content: ''; position: absolute; top: 25%; right: -4%;
  width: 90px; height: 90px;
  background: radial-gradient(circle, rgba(255, 152, 0, 0.1) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
  animation: float-bg-g 6s ease-in-out infinite;
}

@keyframes float-bg-g {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.5; }
  50% { transform: translateY(-20px) scale(1.1); opacity: 0.8; }
}

.specialty-hero__title .highlight-gastroenterology {
  color: var(--g-green) !important; font-weight: 900 !important; position: relative;
}
.specialty-hero__title .highlight-gastroenterology::after {
  content: ' 🥗'; font-size: 0.5em; display: inline-block;
  animation: food-sway 3s ease-in-out infinite;
}
@keyframes food-sway {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.15) rotate(5deg); }
}
.specialty-hero__title::before {
  content: '🍎'; position: absolute; top: -25px; left: -35px; font-size: 22px;
  animation: symbol-float-g 3s ease-in-out infinite;
}
.specialty-hero__title::after {
  content: '✨'; position: absolute; bottom: -20px; right: -25px; font-size: 18px;
  animation: symbol-float-g 3.5s ease-in-out infinite 0.8s;
}
@keyframes symbol-float-g {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.7; }
  50% { transform: translateY(-10px) rotate(10deg); opacity: 1; }
}

.specialty-hero__feature:nth-child(1) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #4CAF50, #2E7D32) !important;
}
.specialty-hero__feature:nth-child(2) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #66BB6A, #43A047) !important;
}
.specialty-hero__feature:nth-child(3) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #8BC34A, #689F38) !important;
}
.specialty-hero__feature:nth-child(4) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #FF9800, #F57C00) !important;
}

.section-title { position: relative; display: inline-block; }
.section-title::after {
  content: ''; display: block; width: 80px; height: 5px; margin: 12px auto 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #4CAF50, #8BC34A, #A5D6A7, #FF9800);
  animation: gradient-shift-g 3s ease-in-out infinite;
  background-size: 200% 100%;
}
@keyframes gradient-shift-g {
  0%, 100% { background-position: 0% 50%; width: 80px; }
  50% { background-position: 100% 50%; width: 120px; }
}

.why-section__card:nth-child(1) .why-section__card-icon {
  background: linear-gradient(135deg, #4CAF50, #2E7D32) !important;
}
.why-section__card:nth-child(2) .why-section__card-icon {
  background: linear-gradient(135deg, #66BB6A, #43A047) !important;
}
.why-section__card:nth-child(3) .why-section__card-icon {
  background: linear-gradient(135deg, #8BC34A, #689F38) !important;
}
.why-section__card:nth-child(4) .why-section__card-icon {
  background: linear-gradient(135deg, #FF9800, #F57C00) !important;
}
.why-section__card:nth-child(5) .why-section__card-icon {
  background: linear-gradient(135deg, #4CAF50, #66BB6A) !important;
}
.why-section__card:nth-child(6) .why-section__card-icon {
  background: linear-gradient(135deg, #A5D6A7, #66BB6A) !important;
}
.why-section__card:hover { transform: translateY(-10px) scale(1.03) !important; }
.why-section__card:hover .why-section__card-icon {
  animation: icon-wiggle-g 0.5s ease-in-out !important;
}
@keyframes icon-wiggle-g {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-8deg) scale(1.1); }
  50% { transform: rotate(8deg) scale(1.15); }
  75% { transform: rotate(-5deg) scale(1.1); }
}

.services-section__item:nth-child(1) .services-section__header-icon { color: #4CAF50 !important; }
.services-section__item:nth-child(2) .services-section__header-icon { color: #66BB6A !important; }
.services-section__item:nth-child(3) .services-section__header-icon { color: #8BC34A !important; }
.services-section__item:nth-child(4) .services-section__header-icon { color: #FF9800 !important; }
.services-section__item:nth-child(5) .services-section__header-icon { color: #4CAF50 !important; }
.services-section__item:nth-child(6) .services-section__header-icon { color: #66BB6A !important; }
.services-section__item--active .services-section__header-icon {
  color: white !important; animation: icon-pop-g 0.4s ease-out !important;
}
@keyframes icon-pop-g {
  0% { transform: scale(0.8); } 50% { transform: scale(1.2); } 100% { transform: scale(1.1); }
}
.services-section__includes li i { background: #4CAF50 !important; color: white !important; }
.services-section__btn {
  background: linear-gradient(135deg, #4CAF50, #66BB6A) !important;
  box-shadow: 0 4px 20px rgba(76, 175, 80, 0.3) !important;
}
.services-section__btn:hover { box-shadow: 0 8px 30px rgba(76, 175, 80, 0.5) !important; }

.when-to-visit__icon { background: linear-gradient(135deg, #4CAF50, #66BB6A) !important; }

@media (max-width: 768px) {
  .specialty-hero__title::before, .specialty-hero__title::after { display: none; }
}