/* =========================================================
   OPIX - CONDOMÍNIOS V1
   Página isolada.
   ========================================================= */

.condo-live-section {
  background: var(--soft);
}

.condo-live-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 32px;
  align-items: start;
}

.condo-search-card {
  background: #fff;
  border-radius: 22px;
  padding: 30px;
  box-shadow: 0 16px 45px rgba(0, 0, 0, .08);
}

.condo-search-card h2 {
  margin-top: 0;
  margin-bottom: 10px;
}

.condo-search-card > p {
  margin-top: 0;
}

.condo-search-form {
  margin-top: 24px;
}

.condo-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.condo-search-row .field {
  margin: 0;
}

.condo-search-row input {
  width: 100%;
}

.condo-status {
  min-height: 24px;
  margin-top: 14px;
  font-size: .92rem;
}

.condo-status.is-loading {
  opacity: .75;
}

.condo-status.is-error {
  color: #a92020;
}

.condo-status.is-success {
  color: #237a45;
}

.condo-results {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.condo-result {
  appearance: none;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, .1);
  background: #fff;
  border-radius: 14px;
  padding: 15px 16px;
  text-align: left;
  cursor: pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease;
}

.condo-result:hover,
.condo-result:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(115, 46, 143, .45);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .07);
  outline: none;
}

.condo-result-name {
  display: block;
  font-weight: 700;
  line-height: 1.35;
}

.condo-result-hint {
  display: block;
  margin-top: 4px;
  font-size: .83rem;
  opacity: .67;
}

.condo-selected {
  display: none;
  margin-top: 20px;
  border-radius: 16px;
  padding: 18px;
  background: rgba(115, 46, 143, .07);
  border: 1px solid rgba(115, 46, 143, .16);
}

.condo-selected.is-visible {
  display: block;
}

.condo-selected-label {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .65;
  margin-bottom: 5px;
}

.condo-selected-name {
  font-weight: 800;
  font-size: 1.05rem;
}

.condo-selected p {
  margin: 8px 0 0;
}

.condo-selected-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.condo-info-card {
  background:
    linear-gradient(
      145deg,
      rgba(115, 46, 143, .96),
      rgba(70, 28, 92, .98)
    );
  color: #fff;
  border-radius: 22px;
  padding: 30px;
}

.condo-info-card h3 {
  margin-top: 0;
  color: #fff;
}

.condo-info-card p {
  color: rgba(255, 255, 255, .84);
}

.condo-info-list {
  display: grid;
  gap: 15px;
  margin-top: 24px;
}

.condo-info-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: start;
}

.condo-info-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(255, 255, 255, .14);
}

.condo-info-item strong {
  display: block;
  margin-bottom: 3px;
}

.condo-info-item span:last-child {
  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
}

.condo-not-found {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, .08);
}

.condo-not-found p {
  margin: 0 0 12px;
}

@media (max-width: 820px) {
  .condo-live-grid {
    grid-template-columns: 1fr;
  }

  .condo-search-card,
  .condo-info-card {
    padding: 22px;
  }

  .condo-search-row {
    grid-template-columns: 1fr;
  }

  .condo-search-row .btn {
    width: 100%;
  }
}


/* =========================================================
   OPIX CONDOMINIO WHATSAPP V1
   Botão secundário da seleção de condomínio
   ========================================================= */

#condoSelectedWhatsapp {
  background: #ffffff;
  color: #8b00a8;
  border: 2px solid #8b00a8;
  box-shadow: none;
  opacity: 1;
}

#condoSelectedWhatsapp:hover,
#condoSelectedWhatsapp:focus-visible {
  background: #f8ecfb;
  color: #72008b;
  border-color: #72008b;
  transform: translateY(-1px);
}

#condoSelectedWhatsapp:visited {
  color: #8b00a8;
}



/* =========================================================
   OPIX CONDOMINIOS MOTION V2
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.condominios-page .page-hero {
  isolation: isolate;
}


/*
 * Glow ambiental atrás da órbita.
 */

.condominios-page .page-hero::before {
  content: "";

  position: absolute;

  width: 430px;
  height: 430px;

  right: -170px;
  top: -220px;

  border-radius: 50%;

  pointer-events: none;

  z-index: 0;

  background:
    radial-gradient(
      circle,
      rgba(217, 72, 248, .20) 0%,
      rgba(179, 45, 221, .07) 43%,
      transparent 70%
    );

  animation:
    opixCondoHeroGlow
    8s
    ease-in-out
    infinite
    alternate;
}


@keyframes opixCondoHeroGlow {

  from {
    transform:
      translate3d(0, 0, 0)
      scale(1);

    opacity:
      .62;
  }

  to {
    transform:
      translate3d(-80px, 55px, 0)
      scale(1.17);

    opacity:
      1;
  }

}


/*
 * A elipse já existente no page-hero agora se movimenta.
 */

.condominios-page .page-hero::after {
  animation:
    opixCondoHeroOrbit
    7s
    ease-in-out
    infinite
    alternate;

  transform-origin:
    center;

  will-change:
    transform,
    opacity,
    filter;
}


@keyframes opixCondoHeroOrbit {

  0% {
    transform:
      translate3d(-18px, 8px, 0)
      rotate(-16deg)
      scale(.97);

    opacity:
      .48;

    filter:
      drop-shadow(
        0 0 8px
        rgba(220, 82, 248, .20)
      );
  }


  50% {
    transform:
      translate3d(24px, -10px, 0)
      rotate(-10deg)
      scale(1.035);

    opacity:
      .92;

    filter:
      drop-shadow(
        0 0 22px
        rgba(220, 82, 248, .55)
      );
  }


  100% {
    transform:
      translate3d(46px, 12px, 0)
      rotate(-13deg)
      scale(1);

    opacity:
      .62;

    filter:
      drop-shadow(
        0 0 13px
        rgba(220, 82, 248, .34)
      );
  }

}


/* =========================================================
   ÁREA PRINCIPAL
   ========================================================= */

.condominios-page
.condo-live-section {
  position: relative;
  overflow: hidden;
}


.condominios-page
.condo-live-section::before {
  content: "";

  position: absolute;

  width: 500px;
  height: 500px;

  left: -330px;
  top: 80px;

  border-radius: 50%;

  pointer-events: none;

  background:
    radial-gradient(
      circle,
      rgba(170, 35, 211, .07),
      transparent 68%
    );
}


/* =========================================================
   CARD DE BUSCA
   ========================================================= */

.condominios-page
.condo-search-card {
  position: relative;

  border:
    1px solid
    rgba(129, 32, 165, .10);

  box-shadow:
    0 22px 60px
    rgba(47, 8, 67, .09);

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}


@media (hover:hover) {

  .condominios-page
  .condo-search-card:hover {

    transform:
      translateY(-3px);

    border-color:
      rgba(162, 36, 204, .17);

    box-shadow:
      0 28px 68px
      rgba(47, 8, 67, .12);

  }

}


/* =========================================================
   CAMPO DE BUSCA
   ========================================================= */

.condominios-page
#condoSearchInput {

  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}


.condominios-page
#condoSearchInput:focus {

  transform:
    translateY(-1px);

  box-shadow:
    0 0 0 4px
    rgba(164, 35, 211, .09),
    0 9px 24px
    rgba(72, 15, 96, .06);

}


/* =========================================================
   BOTÃO BUSCAR
   ========================================================= */

.condominios-page
#condoSearchButton {

  position: relative;

  overflow: hidden;
}


.condominios-page
#condoSearchButton::after {

  content: "";

  position: absolute;

  top: -70%;
  left: -80%;

  width: 38%;
  height: 240%;

  pointer-events: none;

  transform:
    rotate(20deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.24),
      transparent
    );

  transition:
    left .55s ease;
}


@media (hover:hover) {

  .condominios-page
  #condoSearchButton:hover::after {

    left:
      145%;

  }

}


/* =========================================================
   RESULTADOS DA BUSCA
   ========================================================= */

.condominios-page
.condo-result {

  animation:
    opixCondoResultIn
    .42s
    cubic-bezier(.16,1,.3,1)
    both;

}


@keyframes opixCondoResultIn {

  from {
    opacity: 0;

    transform:
      translateY(13px)
      scale(.985);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }

}


.condominios-page
.condo-result-name {

  transition:
    color .20s ease;

}


@media (hover:hover) {

  .condominios-page
  .condo-result:hover
  .condo-result-name {

    color:
      #8612b0;

  }

}


/* =========================================================
   CONDOMÍNIO SELECIONADO
   ========================================================= */

.condominios-page
.condo-selected.is-visible {

  animation:
    opixCondoSelectedIn
    .55s
    cubic-bezier(.16,1,.3,1)
    both;

}


@keyframes opixCondoSelectedIn {

  from {
    opacity: 0;

    transform:
      translateY(18px)
      scale(.985);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }

}


.condominios-page
.condo-selected.is-visible {

  box-shadow:
    0 15px 36px
    rgba(100, 19, 132, .07);

}


/* =========================================================
   COMO FUNCIONA
   ========================================================= */

.condominios-page
.condo-info-card {

  position: relative;

  overflow: hidden;

  box-shadow:
    0 26px 60px
    rgba(57, 5, 80, .18);
}


.condominios-page
.condo-info-card::before {

  content: "";

  position: absolute;

  width: 260px;
  height: 260px;

  right: -130px;
  top: -150px;

  border-radius: 50%;

  pointer-events: none;

  background:
    radial-gradient(
      circle,
      rgba(242, 121, 255, .22),
      transparent 67%
    );

  animation:
    opixCondoInfoGlow
    6s
    ease-in-out
    infinite
    alternate;

}


@keyframes opixCondoInfoGlow {

  from {
    transform:
      translate3d(0,0,0)
      scale(1);
  }

  to {
    transform:
      translate3d(-40px,35px,0)
      scale(1.16);
  }

}


.condominios-page
.condo-info-card > * {

  position: relative;
  z-index: 2;

}


/* =========================================================
   PASSOS 1 / 2 / 3
   ========================================================= */

.condominios-page
.condo-info-item {

  transition:
    transform .25s ease,
    background-color .25s ease;

  padding:
    9px;

  margin:
    0 -9px;

  border-radius:
    14px;
}


@media (hover:hover) {

  .condominios-page
  .condo-info-item:hover {

    transform:
      translateX(6px);

    background:
      rgba(255,255,255,.055);

  }


  .condominios-page
  .condo-info-item:hover
  .condo-info-icon {

    transform:
      rotate(-5deg)
      scale(1.08);

  }

}


.condominios-page
.condo-info-icon {

  transition:
    transform .25s ease;

}


/* =========================================================
   CARDS DE VANTAGENS
   ========================================================= */

.condominios-page
.grid.cards
.card {

  transition:
    transform .30s ease,
    box-shadow .30s ease,
    border-color .30s ease;

}


@media (hover:hover) {

  .condominios-page
  .grid.cards
  .card:hover {

    transform:
      translateY(-7px);

    border-color:
      rgba(163, 35, 207, .20);

    box-shadow:
      0 24px 54px
      rgba(56, 9, 77, .105);

  }


  .condominios-page
  .grid.cards
  .card > span:first-child {

    display:
      inline-block;

    transition:
      transform .28s ease;

  }


  .condominios-page
  .grid.cards
  .card:hover
  > span:first-child {

    transform:
      translateY(-3px)
      scale(1.08);

  }

}


/* =========================================================
   VISUAL PANEL FINAL
   ========================================================= */

.condominios-page
.visual-panel::before,

.condominios-page
.visual-panel::after {

  animation:
    opixCondoVisualOrbit
    8s
    ease-in-out
    infinite
    alternate;

}


.condominios-page
.visual-panel::after {

  animation-delay:
    -3s;

  animation-direction:
    alternate-reverse;

}


@keyframes opixCondoVisualOrbit {

  from {
    transform:
      rotate(-25deg)
      translate3d(-10px,0,0)
      scale(.98);
  }

  to {
    transform:
      rotate(-18deg)
      translate3d(20px,-8px,0)
      scale(1.03);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

  .condominios-page
  .page-hero::before {

    width:
      300px;

    height:
      300px;

  }


  .condominios-page
  .condo-search-card:hover {

    transform:
      none;

  }

}


/* =========================================================
   ACESSIBILIDADE
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .condominios-page
  .page-hero::before,

  .condominios-page
  .page-hero::after,

  .condominios-page
  .condo-info-card::before,

  .condominios-page
  .condo-result,

  .condominios-page
  .condo-selected.is-visible,

  .condominios-page
  .visual-panel::before,

  .condominios-page
  .visual-panel::after {

    animation:
      none !important;

  }

}

