/* Performance + accessibility extras (tap targets, skip link, CLS, contrast, contact FAB) */

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus,
.skip-link:focus-visible {
  position: absolute;
  right: 16px;
  top: 12px;
  z-index: 100000;
}

.mainmenu > li > a,
.footer-bottom-link a,
.breadcrumb a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.my_switcher .setColor,
.header-action .btn-wrap,
.mobile-menu-close {
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
  padding: 8px;
}

.header-logo img,
.mobile-nav-logo img {
  width: 160px;
  height: auto;
  aspect-ratio: 160 / 42;
}

.splash-main-banner .subtitle,
.section-heading p,
.article-card-excerpt {
  color: #334155;
}

.active-dark-mode .splash-main-banner .subtitle,
.active-dark-mode .section-heading p,
.active-dark-mode .article-card-excerpt {
  color: #e2e8f0;
}

.demo-slide,
.demo-slide picture,
.demo-slide .slider-bg-img {
  display: block;
  width: 100%;
}

.demo-slide .slider-bg-img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.count-box .count-number {
  font-size: 32px;
  font-weight: 800;
  margin: 0;
}

.contact-widget {
  position: fixed;
  bottom: 30px;
  left: 30px;
  z-index: 9999;
}

.contact-fab {
  width: 56px;
  height: 56px;
  background: #3B82F6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(59, 130, 246, 0.4);
  transition: transform 0.3s ease, background 0.3s ease;
  border: 2px solid rgba(255, 255, 255, 0.2);
}

.contact-fab:hover,
.contact-fab:focus-visible {
  background: #2563EB;
  outline: 3px solid #F59E0B;
}

.contact-fab.active {
  transform: rotate(45deg);
  background: #2563EB;
}

.contact-menu {
  position: absolute;
  bottom: 80px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
}

.contact-menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.contact-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.contact-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #3B82F6;
  font-size: 20px;
}

.contact-btn.whatsapp { background: #25D366; }
.contact-btn.phone { background: #0078FF; }
.contact-btn.email { background: #EA4335; }
.contact-btn i { color: #fff !important; }

.contact-label {
  margin-right: 10px;
  background: #fff;
  padding: 8px 15px;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  font-size: 14px;
  color: #1e293b;
}

.active-dark-mode .contact-fab {
  background: #3B82F6;
}
.active-dark-mode .contact-label {
  background: #1e293b;
  color: #f8fafc;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

@media (max-width: 767px) {
  .contact-widget {
    bottom: 20px;
    left: 20px;
  }
  .contact-label {
    display: none;
  }
}
