/* ========== Ophthalmology Playful Design ========== */
/* Синяя палитра — зрение, ясность, небо */

:root {
  --o-blue: #0288D1;
  --o-blue-dark: #01579B;
  --o-blue-light: #29B6F6;
  --o-cyan: #03A9F4;
  --o-cyan-light: #4FC3F7;
  --o-sky: #81D4FA;
  --o-indigo: #3949AB;
}

.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(2, 136, 209, 0.08) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
  animation: float-bg-o 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(41, 182, 246, 0.08) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
  animation: float-bg-o 8s ease-in-out infinite reverse;
}

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

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

.specialty-hero__title .highlight-ophthalmology {
  color: var(--o-blue) !important; font-weight: 900 !important; position: relative;
}
.specialty-hero__title .highlight-ophthalmology::after {
  content: ' 👁️'; font-size: 0.5em; display: inline-block;
  animation: eye-blink 3s ease-in-out infinite;
}
@keyframes eye-blink {
  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-o 3s ease-in-out infinite;
}
.specialty-hero__title::after {
  content: '✨'; position: absolute; bottom: -20px; right: -25px; font-size: 18px;
  animation: symbol-float-o 3.5s ease-in-out infinite 0.8s;
}
@keyframes symbol-float-o {
  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, #0288D1, #01579B) !important;
}
.specialty-hero__feature:nth-child(2) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #29B6F6, #0288D1) !important;
}
.specialty-hero__feature:nth-child(3) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #03A9F4, #0288D1) !important;
}
.specialty-hero__feature:nth-child(4) .specialty-hero__feature-icon {
  background: linear-gradient(135deg, #4FC3F7, #29B6F6) !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, #0288D1, #29B6F6, #4FC3F7, #81D4FA);
  animation: gradient-shift-o 3s ease-in-out infinite;
  background-size: 200% 100%;
}
@keyframes gradient-shift-o {
  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, #0288D1, #01579B) !important;
}
.why-section__card:nth-child(2) .why-section__card-icon {
  background: linear-gradient(135deg, #29B6F6, #0288D1) !important;
}
.why-section__card:nth-child(3) .why-section__card-icon {
  background: linear-gradient(135deg, #03A9F4, #0288D1) !important;
}
.why-section__card:nth-child(4) .why-section__card-icon {
  background: linear-gradient(135deg, #4FC3F7, #29B6F6) !important;
}
.why-section__card:nth-child(5) .why-section__card-icon {
  background: linear-gradient(135deg, #81D4FA, #4FC3F7) !important;
}
.why-section__card:nth-child(6) .why-section__card-icon {
  background: linear-gradient(135deg, #3949AB, #0288D1) !important;
}
.why-section__card:hover { transform: translateY(-10px) scale(1.03) !important; }
.why-section__card:hover .why-section__card-icon {
  animation: icon-wiggle-o 0.5s ease-in-out !important;
}
@keyframes icon-wiggle-o {
  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: #0288D1 !important; }
.services-section__item:nth-child(2) .services-section__header-icon { color: #29B6F6 !important; }
.services-section__item:nth-child(3) .services-section__header-icon { color: #03A9F4 !important; }
.services-section__item:nth-child(4) .services-section__header-icon { color: #4FC3F7 !important; }
.services-section__item:nth-child(5) .services-section__header-icon { color: #0288D1 !important; }
.services-section__item:nth-child(6) .services-section__header-icon { color: #29B6F6 !important; }
.services-section__item--active .services-section__header-icon {
  color: white !important; animation: icon-pop-o 0.4s ease-out !important;
}
@keyframes icon-pop-o {
  0% { transform: scale(0.8); } 50% { transform: scale(1.2); } 100% { transform: scale(1.1); }
}
.services-section__includes li i { background: #0288D1 !important; color: white !important; }
.services-section__btn {
  background: linear-gradient(135deg, #0288D1, #29B6F6) !important;
  box-shadow: 0 4px 20px rgba(2, 136, 209, 0.3) !important;
}
.services-section__btn:hover { box-shadow: 0 8px 30px rgba(2, 136, 209, 0.5) !important; }

.when-to-visit__icon { background: linear-gradient(135deg, #0288D1, #29B6F6) !important; }

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