/******** Footer con fondo en DESKTOP ********/
@media (min-width:1200px){
  .bs-footer.bs-footer--desktop-bg{
    position:relative;
    color:#fff;
    background:#021818 url("https://dojiw2m9tvv09.cloudfront.net/4/18/fondo-verde.png")
             center/cover no-repeat !important;
    padding-top:16px; padding-bottom:16px;
    overflow:hidden;
  }
  /* overlay para mejorar contraste */
  .bs-footer.bs-footer--desktop-bg::after{
    content:""; position:absolute; inset:0; z-index:0;
    background:rgba(2,24,24,.55);
  }
  /* todo el contenido del footer por encima del overlay */
  .bs-footer.bs-footer--desktop-bg > *{ position:relative; z-index:1; }

  /* Evitar franjas blancas heredadas */
  .bs-footer--desktop-bg .container,
  .bs-footer--desktop-bg .container-xxl,
  .bs-footer--desktop-bg .bs-footer__top-section,
  .bs-footer--desktop-bg .bs-copyright{
    background:transparent !important;
  }

  /* CTA sólo mobile, en desktop se oculta */
  .footer-cta-inline{ display:none !important; }
}

/******** Formulario dentro del footer ********/
.footer-subscribe .bs-footer__title{
  color:#fff;
  font-weight:var(--title-weight);
  text-transform:var(--title-transform);
}

/* layout y estilo del form */
.footer-subscribe .form-grid form{
  display:flex !important;
  align-items:stretch;
  gap:0;
}
.footer-subscribe .form-grid .form-group{ margin-bottom:0 !important; }

/* inputs y botón con estética sobre fondo oscuro */
.footer-subscribe .form-grid .form-control{
  height:54px;
  background:rgba(0,0,0,.22);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  border-radius:var(--default-border-radius) 0 0 var(--default-border-radius);
}
.footer-subscribe .form-grid .form-control::placeholder{ color:rgba(255,255,255,.8); }

.footer-subscribe .form-grid .btn{
  height:54px;
  background:var(--secondary-color);
  color:var(--secondary-contrast);
  border:1px solid var(--secondary-border);
  border-radius:0 var(--default-border-radius) var(--default-border-radius) 0;
  text-transform:uppercase;
  font-weight:var(--font-bold);
  letter-spacing:.02em;
}

/******** CTA inline (sólo mobile) ********/
.footer-cta-inline{
  display:none;
  padding:12px 12px 16px;
  background:linear-gradient(180deg,
             rgba(2,24,24,0) 0%,
             rgba(2,24,24,.35) 16%,
             rgba(2,24,24,.90) 100%);
}
@media (max-width:1199.98px){
  .footer-cta-inline{ display:block; }
}
.footer-cta-inline__btn{
  display:block; width:100%; text-align:center;
  padding:.95rem 1.25rem;
  border-radius:var(--btn-border-radius);
  background:#fff; color:var(--primary-color);
  border:3px solid var(--secondary-color);
  font-weight:var(--font-bold); text-transform:uppercase; letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.footer-cta-inline__copy{
  margin-top:.5rem; background:transparent; color:#fff;
  font-size:.85rem; line-height:1.2; text-align:center;
}
.footer-cta-inline__copy a{ color:#fff; text-decoration:underline; }

/******** Limpieza de reglas que estorbaban ********/
/* si aún existen en tu CSS, anúlalas */
.bs-footer__top-section .form-grid form{ grid-template-columns:unset !important; }
.bs-copyright{ background:transparent; }
@media (max-width:1199.98px){ .bs-copyright{ background:var(--primary-color); } }