/* Vien Noir / Brevo. Load AFTER assets/css/site.css.
   All rules are scoped to the newsletter. Keep the normal Brevo CSS before site.css.
   No changes to your page heading, footer background or global font definitions. */
#vn-newsletter,
#vn-newsletter #sib-form-container,
#vn-newsletter #sib-container {
  width: 100%; min-width: 0; max-width: none;
  margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; text-align: left;
  font-family: var(--sans, "Manrope", "Helvetica Neue", Arial, sans-serif);
  font-size: 1rem; line-height: 1.7; color: var(--cream, #f3e9dc);
}
#vn-newsletter { align-self: end; }
#vn-newsletter *, #vn-newsletter *::before, #vn-newsletter *::after { box-sizing: border-box; }
#vn-newsletter #sib-form { display: block; width: 100%; margin: 0; padding: 0; }
#vn-newsletter .sib-form-block,
#vn-newsletter .form__entry,
#vn-newsletter .form__label-row,
#vn-newsletter .entry__choice { min-width: 0; margin: 0; padding: 0; text-align: left; }
#vn-newsletter .vn-newsletter__row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: end; gap: 12px;
}
#vn-newsletter .vn-newsletter__submit { padding-top: 25px; align-self: start; }
#vn-newsletter .entry__label {
  display: block; margin: 0 0 9px; padding: 0;
  font-family: inherit; font-size: 0.625rem; font-weight: 700;
  letter-spacing: 0.17em; line-height: 1.6; text-transform: uppercase;
  color: var(--muted, #aa9ba2);
}
#vn-newsletter .entry__label::after { color: var(--gold-light, #f0d79e); }
#vn-newsletter .entry__field {
  display: block; width: 100%; margin: 0; padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
#vn-newsletter #EMAIL {
  display: block; width: 100%; min-width: 0; height: 54px; min-height: 54px;
  margin: 0; padding: 10px 0; border: 0;
  border-bottom: 1px solid var(--line-strong, rgba(243, 233, 220, 0.26));
  border-radius: 0; color: var(--cream, #f3e9dc); background: transparent;
  font-family: inherit; font-size: 1rem; font-weight: 400;
  letter-spacing: 0; line-height: 1.5; text-transform: none;
  outline: none; box-shadow: none;
  transition: border-color 0.25s ease;
}
#vn-newsletter #EMAIL::placeholder { color: var(--muted, #aa9ba2); font: inherit; text-align: left; opacity: 0.8; }
#vn-newsletter #EMAIL:focus { border-bottom-color: var(--gold-light, #f0d79e); }
#vn-newsletter #EMAIL:-webkit-autofill {
  -webkit-text-fill-color: var(--cream, #f3e9dc);
  caret-color: var(--cream, #f3e9dc);
  -webkit-box-shadow: 0 0 0 1000px #0b080b inset;
}
/* Match the existing .button--gold rather than the provider's default button. */
#vn-newsletter .sib-form-block__button {
  display: inline-flex; align-items: center; justify-content: center; gap: 13px;
  width: auto; min-height: 54px; margin: 0; padding: 13px 24px;
  border: 1px solid var(--gold-light, #f0d79e); border-radius: 0;
  color: var(--void, #08070a); background: var(--gold-light, #f0d79e);
  font-family: inherit; font-size: 0.69rem; font-weight: 800;
  letter-spacing: 0.2em; line-height: 1.2; text-transform: uppercase;
  white-space: nowrap; cursor: pointer;
}
#vn-newsletter .sib-form-block__button:hover { color: var(--void, #08070a); border-color: var(--cream, #f3e9dc); }
#vn-newsletter .sib-form-block__button:disabled { opacity: 0.65; cursor: wait; transform: none; }
#vn-newsletter .progress-indicator__icon { width: 16px; height: 16px; flex: 0 0 16px; fill: currentColor; animation: vn-newsletter-spin 1s linear infinite; }
#vn-newsletter .sib-hide-loader-icon { display: none !important; }
@keyframes vn-newsletter-spin { to { transform: rotate(360deg); } }
/* Consent: a reserved checkbox column keeps every text line aligned.
   Explicitly reset Brevo's generic .entry__choice/.checkbox layout here.
   The real input stays focusable and clickable; only its visual skin is replaced. */
#vn-newsletter .vn-newsletter__consent { margin-top: 20px; }
#vn-newsletter #sib-form .vn-newsletter__consent .entry__choice {
  display: block; position: relative; width: 100%; min-width: 0;
  margin: 0; padding: 0;
}
#vn-newsletter #sib-form label.vn-newsletter__consent-label {
  position: relative !important; display: block !important;
  width: 100%; min-width: 0; min-height: 22px;
  margin: 0 !important; padding: 0 0 0 30px !important;
  color: var(--muted, #aa9ba2); font-family: inherit;
  font-size: 0.75rem; font-weight: 400; line-height: 1.75;
  letter-spacing: 0; text-transform: none; text-align: left;
  text-indent: 0 !important; cursor: pointer;
}
#vn-newsletter #sib-form .vn-newsletter__consent-text {
  display: block !important; position: static !important;
  float: none !important; clear: none; width: auto; min-width: 0;
  margin: 0 !important; padding: 0 !important; border: 0;
  color: inherit; background: transparent;
  font: inherit; line-height: inherit; letter-spacing: inherit;
  text-align: left; text-transform: none; text-indent: 0 !important;
  overflow-wrap: break-word;
}
#vn-newsletter #sib-form #OPT_IN {
  position: absolute !important; display: block !important;
  top: 2px !important; left: 0 !important; right: auto !important; bottom: auto !important;
  width: 18px !important; height: 18px !important;
  min-width: 18px; min-height: 18px; max-width: 18px; max-height: 18px;
  margin: 0 !important; padding: 0 !important; border: 0;
  opacity: 0 !important; visibility: visible !important;
  clip: auto !important; clip-path: none !important; transform: none !important;
  z-index: 2; cursor: pointer; pointer-events: auto;
}
#vn-newsletter #sib-form .vn-newsletter__consent-box {
  position: absolute !important; display: block !important; float: none !important;
  top: 2px !important; left: 0 !important; right: auto !important; bottom: auto !important;
  width: 18px !important; height: 18px !important;
  min-width: 18px; min-height: 18px;
  margin: 0 !important; padding: 0 !important;
  border: 1px solid rgba(240, 215, 158, 0.5); border-radius: 2px;
  background: transparent !important; box-shadow: none;
  transform: none !important; pointer-events: none;
}
#vn-newsletter #sib-form .vn-newsletter__consent-box::before {
  content: none !important; display: none !important;
}
#vn-newsletter #sib-form .vn-newsletter__consent-box::after {
  content: "" !important; position: absolute; display: block;
  top: 4px; left: 3px; right: auto; bottom: auto;
  width: 9px; height: 5px; margin: 0; padding: 0; border: 0;
  border-left: 2px solid var(--void, #08070a);
  border-bottom: 2px solid var(--void, #08070a);
  background: none !important; box-shadow: none; opacity: 0;
  transform: rotate(-45deg);
}
#vn-newsletter #sib-form #OPT_IN:checked + .vn-newsletter__consent-box {
  background: var(--gold-light, #f0d79e) !important;
  border-color: var(--gold-light, #f0d79e);
}
#vn-newsletter #sib-form #OPT_IN:checked + .vn-newsletter__consent-box::after { opacity: 1; }
#vn-newsletter #sib-form #OPT_IN:focus-visible + .vn-newsletter__consent-box {
  outline: 2px solid var(--gold-light, #f0d79e); outline-offset: 4px;
}
#vn-newsletter a { color: var(--gold-light, #f0d79e); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
#vn-newsletter a:hover { color: var(--cream, #f3e9dc); }
#vn-newsletter .vn-newsletter__noscript {
  margin: 9px 0 0 29px; padding: 0; color: var(--muted, #aa9ba2);
  font-family: inherit; font-size: 0.7rem; font-weight: 400;
  line-height: 1.6; letter-spacing: 0; text-transform: none;
}
#vn-newsletter .input--hidden { display: none !important; }
/* Keep Brevo's functional message classes and loading behaviour intact. */
#vn-newsletter .sib-form-message-panel {
  display: none; width: 100%; max-width: none; margin: 0 0 20px; padding: 13px 15px;
  border: 1px solid var(--line-strong, rgba(243, 233, 220, 0.26)); border-radius: 0;
  background: rgba(240, 215, 158, 0.06); color: var(--cream, #f3e9dc);
  font-family: inherit; font-size: 0.8125rem; line-height: 1.6; text-align: left;
}
#vn-newsletter .sib-form-message-panel--active { display: block; }
#vn-newsletter #success-message { border-color: rgba(240, 215, 158, 0.45); }
#vn-newsletter #error-message { border-color: rgba(228, 133, 139, 0.6); background: rgba(182, 44, 59, 0.09); color: #f0bac0; }
#vn-newsletter .sib-form-message-panel__text { display: flex; align-items: flex-start; justify-content: flex-start; gap: 10px; padding: 0; }
#vn-newsletter .sib-notification__icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; }
#vn-newsletter .entry__error {
  display: block; margin: 8px 0 0; padding: 0; border: 0; background: transparent;
  color: #f0bac0; font-family: inherit; font-size: 0.75rem; font-weight: 400;
  letter-spacing: 0; line-height: 1.6; text-transform: none;
}
#vn-newsletter .entry__error:empty { display: none; }
@media (max-width: 650px) {
  #vn-newsletter .vn-newsletter__row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #vn-newsletter .vn-newsletter__submit { padding-top: 0; }
  #vn-newsletter .sib-form-block__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #vn-newsletter *, #vn-newsletter *::before, #vn-newsletter *::after { animation: none !important; transition: none !important; }
}
