/* ============================================================
   FOOTER
   Espelho de Footer/styles.ts
   ============================================================ */

.pc-footer {
  margin-top: 4rem;
  padding: 6.4rem 0 6rem;
  background-color: var(--pc-secondary-darkest);
}

/* Grid: Info | Menu | Newsletter */
.pc-footer__grid {
  display: flex;
  justify-content: space-between;
  gap: var(--pc-space-md);
  flex-wrap: wrap;
}

/* ── Coluna Info ─────────────────────────────────────────────── */
.pc-footer__info {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  flex: 0 0 auto;
  max-width: 26rem;
}

.pc-footer__logo {
  max-width: 23.4rem;
  height: auto;
  cursor: pointer;
}

.pc-footer__address {
  font-style: normal;
}

.pc-footer__socials {
  display: flex;
  gap: 2.4rem;
  align-items: center;
}

.pc-footer__social-link {
  color: var(--pc-llight);
  opacity: 0.85;
  transition: opacity var(--pc-transition-fast);
  display: flex;
  align-items: center;
}

.pc-footer__social-link:hover {
  opacity: 1;
}

.pc-footer__copy {
  line-height: 1.5;
}

/* Desktop: aparece na coluna Info; Mobile: some */
.pc-footer__copy--desktop {
  display: block;
}

.pc-footer__copy--mobile {
  display: none;
  text-align: center;
}

/* ── Coluna Menu ─────────────────────────────────────────────── */
.pc-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  flex: 0 0 auto;
}

.pc-footer__menu-link {
  display: block;
  transition: opacity var(--pc-transition);
}

.pc-footer__menu:hover .pc-footer__menu-link {
  opacity: 0.3;
}

.pc-footer__menu-link:hover {
  opacity: 1 !important;
}

/* ── Coluna Newsletter ───────────────────────────────────────── */
.pc-footer__newsletter {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  flex: 1 1 28rem;
  max-width: 36rem;
}

.pc-footer__newsletter-title {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 0.8rem;
}

.pc-footer__newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.pc-footer__field-wrap {
  position: relative;
}

.pc-footer__input {
  width: 100%;
  padding: 1rem 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--pc-radius);
  background: rgba(255, 255, 255, 0.1);
  color: var(--pc-llight);
  font-family: var(--pc-font-family);
  font-size: var(--pc-font-md);
  outline: none;
  transition: border-color var(--pc-transition-fast), background var(--pc-transition-fast);
}

.pc-footer__input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.pc-footer__input:focus {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.15);
}

.pc-footer__input.has-error {
  border-color: var(--pc-error-medium);
}

.pc-footer__field-error {
  color: var(--pc-error-light);
  font-size: var(--pc-font-sm);
  margin-top: 0.4rem;
  display: block;
}

.pc-footer__newsletter-success {
  color: var(--pc-success-darkest);
  font-size: var(--pc-font-md);
  background: rgba(255, 255, 255, 0.1);
  padding: 0.8rem 1.2rem;
  border-radius: var(--pc-radius);
}

.pc-footer__newsletter-btn {
  width: 100%;
  justify-content: center;
  /* Reforço explícito de visual (não depende de in-live.css carregar antes) */
  background: var(--pc-primary-darkest);
  color: var(--pc-llight);
  border: 2px solid var(--pc-secondary-darkest);
  padding: 1rem 1.6rem;
  border-radius: var(--pc-radius);
  font-weight: var(--pc-weight-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background var(--pc-transition-fast), border-color var(--pc-transition-fast);
}

.pc-footer__newsletter-btn:hover {
  background: var(--pc-secondary-dark);
  border-color: var(--pc-secondary-dark);
}

.pc-footer__newsletter-btn[hidden] {
  display: none;
}

/* Spinner loading state */
.pc-footer__newsletter-btn.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.pc-footer__newsletter-btn.is-loading::after {
  content: '';
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: pc-spin 0.7s linear infinite;
  margin-left: 0.8rem;
}

@keyframes pc-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .pc-footer__grid {
    flex-direction: column;
    gap: 6.4rem;
  }

  .pc-footer__info {
    order: 2;
    gap: 2.4rem;
    max-width: 100%;
  }

  .pc-footer__menu {
    order: 3;
  }

  .pc-footer__newsletter {
    order: 1;
    max-width: 100%;
  }

  .pc-footer__copy--desktop {
    display: none;
  }

  .pc-footer__copy--mobile {
    display: block;
    order: 4;
  }
}