/*
 * Child theme styles - Intagono
 */

:root {
  --intelman-accent: #2BAAE2;
  --intelman-accent-glow: rgba(43, 170, 226, 0.45);
}

/* ==========================================================================
   Floating Back to Top Button
   ========================================================================== */
.intelman-back-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%);
  border: 1.5px solid rgba(43, 170, 226, 0.4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 
              0 0 20px rgba(43, 170, 226, 0.22), 
              inset 0 1px 1px rgba(255, 255, 255, 0.3);
  color: #ffffff;
  cursor: pointer;
  z-index: 99999;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px) scale(0.8);
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.4s,
              background 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.35s ease,
              color 0.25s ease;
}

.intelman-back-to-top::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(43, 170, 226, 0.55);
  opacity: 0;
  animation: intelmanPulse 3s cubic-bezier(0.25, 1, 0.5, 1) infinite;
  pointer-events: none;
}

@keyframes intelmanPulse {
  0% {
    transform: scale(0.92);
    opacity: 0.8;
  }
  60%, 100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

.intelman-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.intelman-back-to-top:hover {
  transform: translateY(-5px) scale(1.08);
  background: linear-gradient(135deg, #2BAAE2 0%, #177CB0 100%);
  border-color: #72d3ff;
  color: #ffffff;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 
              0 0 32px rgba(43, 170, 226, 0.65),
              inset 0 1px 1px rgba(255, 255, 255, 0.45);
}

.intelman-back-to-top:hover::before {
  animation: none;
  opacity: 0;
}

.intelman-back-to-top:active {
  transform: translateY(-1px) scale(0.95);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 
              0 0 15px rgba(43, 170, 226, 0.4);
}

.intelman-back-to-top.is-launching .intelman-back-to-top-icon {
  animation: intelmanRocket 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes intelmanRocket {
  0% { transform: translateY(0); opacity: 1; }
  40% { transform: translateY(-18px); opacity: 0; }
  41% { transform: translateY(18px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

.intelman-back-to-top-icon {
  display: block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.intelman-back-to-top:hover .intelman-back-to-top-icon {
  transform: translateY(-3px);
}

.intelman-back-to-top:focus-visible {
  outline: 2px solid #2BAAE2;
  outline-offset: 4px;
}

@media (max-width: 767px) {
  .intelman-back-to-top {
    bottom: 24px;
    right: 24px;
    width: 46px;
    height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intelman-back-to-top,
  .intelman-back-to-top::before,
  .intelman-back-to-top-icon {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   Clients and Partners Carousel Styling (Balanced Prominence)
   ========================================================================== */
.intelman-clients-carousel {
  width: 100%;
  max-width: 1216px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 32px;
  padding-bottom: 26px;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}

.intelman-clients-carousel .swiper {
  padding: 14px 0;
  overflow: hidden;
}

.intelman-clients-carousel .swiper-wrapper {
  display: flex;
  align-items: center;
}

.intelman-clients-carousel .swiper-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 128px;
  padding: 0 16px;
}

.intelman-clients-carousel .swiper-slide-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.intelman-clients-carousel .swiper-slide-image {
  max-height: 98px !important;
  width: auto !important;
  max-width: 265px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  filter: none !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.intelman-clients-carousel .swiper-slide:hover .swiper-slide-image {
  transform: scale(1.08);
}

@media (max-width: 1024px) {
  .intelman-clients-carousel .swiper-slide {
    height: 105px;
    padding: 0 12px;
  }
  .intelman-clients-carousel .swiper-slide-image {
    max-height: 78px !important;
    max-width: 210px !important;
  }
}

@media (max-width: 767px) {
  .intelman-clients-carousel {
    padding-top: 22px;
    padding-bottom: 18px;
  }
  .intelman-clients-carousel .swiper-slide {
    height: 85px;
    padding: 0 8px;
  }
  .intelman-clients-carousel .swiper-slide-image {
    max-height: 64px !important;
    max-width: 165px !important;
  }
}