/**
 * Footer Styles (Site Options)
 */

/* segurança geral */
.footer,
.footer * {
  box-sizing: border-box;
}

.footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5.25em;
    padding: 0 0 6.8125em;
    margin: 0 2.5em;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .15);
}

/* 🔥 evita que filhos “estourem” no grid */
.footer > * {
  min-width: 0;
}

@media screen and (max-width: 1024px) {
  .footer {
        grid-template-columns: 1fr;
        gap: 4.8125em;

        /* ✅ mobile: não usa margem lateral (pode causar overflow) */
        margin: 0;

        /* ✅ padding interno controla espaçamento sem estourar */
        padding: 0.5em 0.75em;

        /* ✅ última linha de defesa contra scroll horizontal */
        overflow-x: clip; /* se não funcionar no seu browser, troque por hidden */
    }

  /* 🔥 mesmo aqui: deixa o conteúdo encolher */
  .footer > * {
    min-width: 0;
  }
}

.footer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    height: 100%;
    background-color: rgba(0, 0, 0, .15);
}

@media screen and (max-width: 1024px) {
    .footer::after {
        display: none;
    }
}

.block-footer__content {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1.125em;
    padding-top: 2.75em;
    /* 🔥 flex child pode estourar se não permitir encolher */
    min-width: 0;
}

@media screen and (max-width: 1024px) {
    .block-footer__content {
        flex-direction: column;
        align-items: center;
        padding-bottom: 0.609375em;
        border-bottom: 1px solid var(--color-7);
        padding-top: 0;
        min-width: 0;
        width: 100%;
    }
}

.block-footer__figure {
    max-width: 14.625em;
    overflow: hidden;
    height: 100%;
    border-radius: 0.375em;

    min-width: 0;
}

@media screen and (max-width: 1024px) {
    .block-footer__figure {
        max-width: 100%;
        width: 100%;
        height: 18.75em;
    }
}

.block-footer__figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.block-footer__content-description {
    display: flex;
    flex-direction: column;
    gap: 1.6875em;

    min-width: 0;
}

@media screen and (max-width: 1024px) {
    .block-footer__content-description {
        gap: 3.1875em;
        width: 100%;
        min-width: 0;
    }
}

.block-footer__description {
    max-width: 18.675em;

    min-width: 0;
}

@media screen and (max-width: 1024px) {
    .block-footer__description {
        max-width: 100%;
        width: 100%;
    }
}

/* =========================
   LAYOUT GERAL (igual imagem) + ALTURAS IGUAIS
   ========================= */

.block-footer__menu-form{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  padding-top: 7.125em;
  column-gap: 0;
  min-width: 0;
}

@media screen and (max-width: 1024px) {
  .block-footer__menu-form{
    padding: 0;
  }
}

.block-footer__menu-form > *{
  min-width: 0;
}

/* Cada coluna ocupa 100% da altura do row */
.block-footer__menu,
.block-footer__form{
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Coluna esquerda */
.block-footer__menu{
  gap: 7.1875em;
}

/* Coluna direita */
.block-footer__form{
  width: 100%;
  max-width: 16.625em;
  justify-self: start;
  gap: 7.1875em;
  min-width: 0;
}

/* Form ocupa o espaço e o botão pode ir pro “fim” */
.block-footer__form .form-footer{
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

@media (max-width: 1024px){
  .block-footer__form .form-footer{
    margin-bottom: 4.125em;
  }
}

/* botão fica embaixo quando tiver espaço */
.block-footer__form .form__button{
  margin-top: 0.625em;
}

/* Responsivo: empilha */
@media (max-width: 1024px){
  .block-footer__menu-form{
    grid-template-columns: 1fr;
    row-gap: 4em;
    column-gap: 0;

    width: 100%;
    min-width: 0;
  }

  .block-footer__form{
    max-width: 100%;
    width: 100%;
  }

  .block-footer__menu,
  .block-footer__form{
    height: auto;
    min-height: 0;
    gap: 2em;
  }

  .block-footer__form .form__button{
    margin-top: 1em;
    display: flex;
    justify-content: flex-end;
  }
}

.block-footer__eyebrow.eyebrow {
    color: #7D7D79;
}

/* =========================
   EYEBROW
   ========================= */

.block-footer__eyebrow{
  display: inline-flex;
  width: fit-content;
  letter-spacing: 0.12em;
}

/* =========================
   MENU
   ========================= */

.block-footer__menu-content ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.125em;
  min-width: 0;
}

.block-footer__menu-content ul li {
  display: flex;
  height: 14px;
}

@media screen and (max-width: 1024px) {
  .block-footer__menu-content ul{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.125em 2em;
  }

  .block-footer__menu-content {
    display: flex;
    flex-direction: row;
    gap: 1.875em;
    min-width: 0;
  }

  .block-footer__menu-content ul + ul{
    margin-top: 0;
  }
}

.block-footer__menu-content ul + ul{
  margin-top: 2.0625em;
}

@media screen and (max-width: 1024px) {
  .block-footer__menu-content ul + ul{
    margin-top: 0;
    display: flex;
    gap: 1.125em;
  }
}

.block-footer__menu-content .link{
  display: inline-flex;
  align-items: center;
  gap: .45em;
  text-transform: uppercase;
  opacity: 0.95;
  transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.block-footer__menu-content .link:hover{
  color: var(--color-3, #C17F5E);
  opacity: 1;
}

.block-footer__menu-content .link svg{
  width: 0.95em;
  height: 0.95em;
  transform: translateY(1px);
}

/* =========================
   FORM
   ========================= */

.form-footer{
  display: flex;
  flex-direction: column;
  gap: 1.35em;
  width: 100%;
  min-width: 0;
}

.form-footer .field{
  position: relative;
}

.form-footer .field input{
  width: 100%;
  max-width: 100%;
  background: transparent;
  border: 0;
  outline: none;
  border-radius: 0;

  padding: 0 .75em .55em;
  font-size: 0.875em;
  font-weight: 500;
  letter-spacing: 0.06em;
  font-family: var(--font-primary);
  text-transform: uppercase;
  color: var(--color-2);
}

.form-footer .field input::placeholder{
  opacity: 1;
  color: rgba(3, 9, 13, 0.70);
}

.form-footer .field label{
  display: none;
}

.form-footer .field::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: .95em;
  border: 1px solid rgba(3, 9, 13, 0.18);
  border-top: none;
  border-radius: 0 0 .45em .45em;
  pointer-events: none;
}

.form-footer .field:focus-within::after{
  border-color: rgba(3, 9, 13, 0.35);
}

.form-footer .field.is-invalid::after{
  border-color: #e10600;
}

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

.form__button .link{
  display: inline-flex;
  align-items: center;
  gap: .6em;
  font-size: 0.875em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.form__button svg{
  width: 20px;
  height: 20px;
}

/* ===== copyright ===== */

.copyright {
    padding: 2.5em 0;
    margin: 0 2.5em;
}

@media screen and (max-width: 1024px) {
    .copyright {
        padding: 1em 0;
        margin: 0 0.5em;
    }
}

.block-footer__logotype {
    margin-bottom: 1.69125em;
}

.block-footer__logotype img {
    width: 100%;
    height: auto;
}

.copyright-content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    color: var(--color-2);
    opacity: .6;
}

@media screen and (max-width: 1024px) {
    .copyright-content {
        flex-direction: column-reverse;
        gap: .2em;
    }
}

.terms {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 3.3125em;
    text-transform: uppercase;
}

.terms a {
    transition: all .3s ease;
}

.terms a:hover {
    color: var(--color-3, #C17F5E);
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__label {
  width: 100% !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__form {
  padding: 0 !important;
  font-family: var(--font-primary) !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__control {
  font-family: var(--font-primary) !important;
  border: none !important;
  letter-spacing: 0 !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__field {
  max-width: none !important;
  position: relative !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__field::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: .95em;
  border: 1px solid rgba(3, 9, 13, 0.18);
  border-top: none;
  border-radius: 0 0 .45em .45em;
  pointer-events: none;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__title,
[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__subtitle {
  display: none !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__label,
[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__button {
  font-family: var(--font-primary) !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__footer {
  text-align: left !important;
}

[data-ff-el="root"].ff-696fbad62fc2af59ab1e69c3 .ff-696fbad62fc2af59ab1e69c3__button {
  padding: 0 !important;
  font-size: 0.875em !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--color-2) !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all .25s ease !important;
  text-align: right !important;
  background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%2303090D'/%3E%3Cpath d='M5.96159 9.12923L7.52061 9.1595L12.3944 9.17464L12.8561 9.19734L12.8636 9.1595L12.2355 8.68271L9.87427 6.32149L10.4343 5.76145L14.1048 9.43195L14.1048 9.67413L10.4267 13.3522L9.87427 12.7997L12.2506 10.4234L12.8636 9.96171L12.8561 9.90874L12.3793 9.93144L7.70224 9.94658L5.96916 9.96928L5.96159 9.12923Z' fill='%23F8F2E5'/%3E%3C/svg%3E") no-repeat center right !important;
  padding-right: 2em !important;
}