/* ===== Bloc newsletter du footer ===== */

/* En dessous de 1440px : carte en pleine largeur sous le reste */
.footer-newsletter { grid-column: 2 / -2; margin-top: 24px; }

/* À partir de 1440px : carte en haut à droite, menus juste dessous */
@media (min-width: 1440px) {
  .footer .footer-grid { grid-template-rows: auto 1fr; }
  .footer .footer-grid-main { grid-row: 1 / span 2; }

  /* Colonne de droite : 9 colonnes (de la 12 à la 20) au lieu de 11 */
  .footer .footer-newsletter {
    grid-column: 12 / span 9;
    grid-row: 1;
    align-self: start;
    margin: 0 0 32px;
  }
  .footer .footer-grid-menu { grid-row: 2; grid-column: 12 / span 5; }                 /* menu de gauche */
  .footer .footer-grid-menu ~ .footer-grid-menu { grid-column: 17 / span 4; }          /* menu de droite */
}

.footer .footer-newsletter-inner {
  display: flex; flex-direction: column; flex-wrap: nowrap;
  align-items: stretch; justify-content: flex-start; gap: 14px;
  padding: 32px; border-radius: 20px; text-align: left;
  background: var(--color-soft-green, #e9ffd6); color: var(--color-dark-green, #081c11);
}
.footer .footer-newsletter-badge {
  align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: #fff;
  font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase;
}
.footer .footer-newsletter-title { margin: 0; font-size: 34px; line-height: 1.05; letter-spacing: -.02em; }
.footer .footer-newsletter-desc { margin: 0; max-width: 46ch; line-height: 1.5; }
.footer .footer-newsletter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 6px; }
.footer .footer-newsletter-btn {
  display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 26px;
  border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 600;
  background: var(--color-dark-green, #081c11); color: #fff;
}
.footer .footer-newsletter-icon { width: 17px; height: auto; }
.footer .footer-newsletter-note { margin: 0; font-size: 13px; line-height: 1.4; opacity: .85; }

/* ===== Modale ===== */
.newsletter-dialog {
  margin: auto; padding: 0; border: 0; border-radius: 32px;
  width: 100%; max-width: min(560px, calc(100vw - 32px));
  background: var(--color-beige-orange, #fff6f3); color: var(--color-dark-green, #081c11);
}
.newsletter-dialog::backdrop { background: rgba(8, 28, 17, .6); }
.newsletter-dialog-box { position: relative; padding: 40px; max-height: calc(100vh - 32px); overflow: auto; text-align: left; }
.newsletter-dialog-close {
  position: absolute; top: 20px; right: 20px; width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: var(--color-soft-green, #e9ffd6); color: inherit; font-size: 24px; line-height: 1; cursor: pointer;
}

/* Pastille tout en haut, puis titre et intro */
.newsletter-dialog-badge {
  display: inline-block; margin: 0 0 16px; padding: 5px 12px; border-radius: 999px;
  background: var(--color-soft-green, #e9ffd6);
  font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase;
}
.newsletter-dialog-title { margin: 0 0 12px; padding-right: 48px; font-size: 36px; line-height: 1.05; letter-spacing: -.025em; }
.newsletter-dialog-text { margin: 0 0 24px; line-height: 1.5; color: #274d3d; }

/* Formulaire Brevo (style « Current Theme ») */
.newsletter-dialog form p { margin: 0 0 16px; }
.newsletter-dialog .sib-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
@media (max-width: 520px) { .newsletter-dialog .sib-row { grid-template-columns: 1fr; } }
.newsletter-dialog label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.newsletter-dialog label span { font-weight: 400; opacity: .7; }
.newsletter-dialog input[type="email"],
.newsletter-dialog input[type="text"] {
  width: 100%; height: 48px; box-sizing: border-box; padding: 0 16px;
  border: 1px solid #9db3a6; border-radius: 14px; background: #fff; color: inherit; font: inherit;
}
.newsletter-dialog .sib-default-btn {
  width: 100%; min-height: 52px; border: 0; border-radius: 999px; cursor: pointer;
  font: inherit; font-weight: 600;
  background: #b9f59c; color: #0e3b2c;
}
.newsletter-dialog .sib-default-btn:hover { background: #a6ee86; }
.newsletter-dialog .sib-legal { margin: 0; font-size: 12px; line-height: 1.5; text-align: center; opacity: .8; }
.newsletter-dialog .sib_msg_disp { margin: 0 0 16px; }