* {
  scroll-behavior: smooth;
}

.glass {
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.gradient-bg {
  background: linear-gradient(135deg, #115e59 0%, #0d9488 50%, #2dd4bf 100%);
}

.gradient-text {
  background: linear-gradient(135deg, #0f766e, #0d9488);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -12px rgba(13, 148, 136, 0.25);
}

.btn-primary {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
  transition: all 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(13, 148, 136, 0.5);
}

.btn-accent {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  transition: all 0.3s ease;
}

.btn-accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.5);
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.service-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 24px;
}

.service-card {
  border-top-width: 4px;
}

.service-icon-circle {
  border-radius: 9999px;
}

.service-card-general {
  border-top-color: #0d9488;
}

.service-card-general .service-icon-circle {
  background: #ccfbf1;
  color: #0f766e;
}

.service-card-chronic {
  border-top-color: #dc2626;
}

.service-card-chronic .service-icon-circle {
  background: #fee2e2;
  color: #b91c1c;
}

.service-card-infection {
  border-top-color: #ea580c;
}

.service-card-infection .service-icon-circle {
  background: #ffedd5;
  color: #c2410c;
}

.service-card-lifestyle {
  border-top-color: #16a34a;
}

.service-card-lifestyle .service-icon-circle {
  background: #dcfce7;
  color: #15803d;
}

.service-card-seasonal {
  border-top-color: #7c3aed;
}

.service-card-seasonal .service-icon-circle {
  background: #ede9fe;
  color: #6d28d9;
}

.service-card-other {
  border-top-color: #0891b2;
}

.service-card-other .service-icon-circle {
  background: #cffafe;
  color: #0e7490;
}

.whatsapp-float {
  box-shadow: 0 16px 30px -12px rgba(34, 197, 94, 0.55);
}

.faq-item {
  border-left: 4px solid transparent;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.faq-item[open] {
  border-left-color: #0d9488;
  box-shadow: 0 10px 24px -16px rgba(13, 148, 136, 0.45);
}

.faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.faq-content-inner {
  overflow: hidden;
}

.faq-item[open] .faq-content {
  grid-template-rows: 1fr;
}

/* Chrome / Extension Overrides Reset */
/* Forces Chrome (or user-agent styles/accessibility themes) to respect Tailwind button design */
button, input[type="button"], input[type="submit"], .btn-primary, .btn-accent {
  outline: none !important;
  border-width: 0 !important;
  border-color: transparent !important;
}

/* Force links to have no underline unless explicitly defined, overcoming forced Chrome underlines */
a:not(.hover\:underline) {
  text-decoration: none !important;
}

/* Rescue classes hidden accidentally by injected '.hidden { display: none !important }' scripts */
@media (min-width: 640px) {
  .sm\:block { display: block !important; }
  .sm\:inline { display: inline !important; }
  .sm\:flex { display: flex !important; }
}

@media (min-width: 768px) {
  .md\:flex { display: flex !important; }
  .md\:block { display: block !important; }
}

@media (min-width: 1024px) {
  .lg\:flex { display: flex !important; }
}
