﻿:is(
  .join-cta,
  .price-location,
  .services-document,
  .services-team-button,
  .camp-cta,
  .camp-shift-button
) {
  position: relative;
  transition:
    transform 160ms ease,
    filter 160ms ease,
    box-shadow 160ms ease;
  transform: translateY(0) scale(1);
  transform-origin: center;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
}

:is(
  .join-cta,
  .price-location,
  .services-document,
  .services-team-button,
  .camp-cta,
  .camp-shift-button
):hover {
  z-index: 2;
  filter: brightness(1.12) saturate(1.06) drop-shadow(0 8px 18px rgba(0, 81, 255, 0.34));
  box-shadow: 0 6px 22px rgba(0, 81, 255, 0.24);
  transform: translateY(-2px) scale(1.01);
}

:is(
  .join-cta,
  .price-location,
  .services-document,
  .services-team-button,
  .camp-cta,
  .camp-shift-button
):active {
  filter: brightness(0.94) saturate(1);
  box-shadow: 0 3px 14px rgba(0, 81, 255, 0.3);
  transform: translateY(1px) scale(0.985);
  transition-duration: 70ms;
}

:is(
  .achievements-arrow,
  .news-pagination-arrow,
  .crew-arrow,
  .services-arrow,
  .schedule-title-control button
) {
  position: relative;
  transition:
    transform 140ms ease,
    filter 140ms ease,
    opacity 140ms ease;
  transform: scale(1);
  transform-origin: center;
  -webkit-tap-highlight-color: transparent;
}

:is(
  .achievements-arrow,
  .news-pagination-arrow,
  .crew-arrow,
  .services-arrow,
  .schedule-title-control button
):not(:disabled):hover {
  filter: brightness(1.28) drop-shadow(0 0 8px rgba(0, 81, 255, 0.65));
  transform: scale(1.12);
}

:is(
  .achievements-arrow,
  .news-pagination-arrow,
  .crew-arrow,
  .services-arrow,
  .schedule-title-control button
):not(:disabled):active {
  filter: brightness(0.9);
  transform: scale(0.88);
  transition-duration: 60ms;
}

:is(
  .services-dots button,
  .crew-pagination button,
  .schedule-halls button
) {
  transition:
    transform 140ms ease,
    filter 140ms ease,
    color 140ms ease,
    background-color 140ms ease;
  transform: scale(1);
  transform-origin: center;
  overflow: visible;
}

:is(
  .services-dots button,
  .crew-pagination button,
  .schedule-halls button
):hover {
  z-index: 2;
  filter: brightness(1.18) drop-shadow(0 0 10px rgba(0, 81, 255, 0.38));
  transform: scale(1.08);
}

:is(
  .services-dots button,
  .crew-pagination button,
  .schedule-halls button
):active {
  transform: scale(0.92);
  transition-duration: 60ms;
}

.news-card-link {
  transition:
    transform 150ms ease,
    filter 150ms ease;
}

.news-card-link:hover {
  filter: brightness(1.22);
  transform: translateX(4px);
}

.news-card-link:active {
  filter: brightness(0.9);
  transform: translateX(2px) scale(0.98);
}

.sidebar-phone {
  transition:
    transform 140ms ease,
    filter 140ms ease,
    opacity 140ms ease;
}

.sidebar-phone:hover {
  filter: brightness(1.22) drop-shadow(0 0 6px rgba(0, 81, 255, 0.42));
  transform: translateY(-1px);
}

.sidebar-phone:active {
  filter: brightness(0.9);
  transform: translateY(1px) scale(0.97);
  transition-duration: 60ms;
}

:is(
  .join-cta,
  .price-location,
  .services-document,
  .services-team-button,
  .camp-cta,
  .camp-shift-button,
  .achievements-arrow,
  .news-pagination-arrow,
  .crew-arrow,
  .services-arrow,
  .schedule-title-control button,
  .services-dots button,
  .crew-pagination button,
  .schedule-halls button,
  .news-card-link,
  .sidebar-nav-item,
  .sidebar-logo,
  .sidebar-phone
):focus-visible {
  outline: 3px solid rgba(126, 164, 245, 0.95);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .join-cta,
    .price-location,
    .services-document,
    .services-team-button,
    .camp-cta,
    .camp-shift-button,
    .achievements-arrow,
    .news-pagination-arrow,
    .crew-arrow,
    .services-arrow,
    .schedule-title-control button,
    .services-dots button,
    .crew-pagination button,
    .schedule-halls button,
    .news-card-link,
    .sidebar-nav-item,
    .sidebar-logo,
    .sidebar-phone
  ) {
    transition: none;
  }
}

@media (hover: none), (pointer: coarse) {
  :is(
    .join-cta,
    .price-location,
    .services-document,
    .services-team-button,
    .camp-cta,
    .camp-shift-button
  ):hover {
    filter: brightness(1.08) saturate(1.04);
    box-shadow:
      inset 0 0 18px rgba(141, 187, 255, 0.18),
      0 0 10px rgba(0, 81, 255, 0.18);
    transform: none;
  }

  :is(
    .join-cta,
    .price-location,
    .services-document,
    .services-team-button,
    .camp-cta,
    .camp-shift-button
  ):active {
    filter: brightness(0.96);
    box-shadow:
      inset 0 0 16px rgba(141, 187, 255, 0.14),
      0 0 8px rgba(0, 81, 255, 0.16);
    transform: scale(0.99);
  }

  :is(
    .services-dots button,
    .crew-pagination button,
    .schedule-halls button
  ):hover {
    filter: brightness(1.12);
    transform: none;
  }

  :is(
    .services-dots button,
    .crew-pagination button,
    .schedule-halls button
  ):active {
    filter: brightness(0.96);
    box-shadow: inset 0 0 14px rgba(141, 187, 255, 0.14);
    transform: scale(0.98);
  }
}

@media (max-width: 1199px), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  :is(
    .about-background,
    .camps-background,
    .join-background,
    .news-background,
    .schedule-background,
    .services-background
  ) {
    contain: paint;
  }

  :is(
    .about-glow,
    .camps-glow,
    .join-glow,
    .news-glow,
    .schedule-glow,
    .services-glow
  ) {
    filter: none !important;
    opacity: 0.38 !important;
  }

  :is(
    .camp-price-deadline,
    .camp-table-row,
    .price-row
  ) {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

@media (max-width: 767px) {
  :is(
    .about-glow,
    .camps-glow,
    .join-glow,
    .news-glow,
    .schedule-glow,
    .services-glow
  ) {
    opacity: 0.32 !important;
  }
}

