/* Load alongside js/newsletter.js. All styles are scoped to the embed component. */
.linvilla-newsletter { color: #173f2a; font-family: brandon-grotesque, sans-serif; text-align: left; }
.linvilla-newsletter__step[hidden] { display: none; }
.linvilla-newsletter__step { padding: .5rem 0; }
.linvilla-newsletter__fields, .linvilla-newsletter__options { display: grid; gap: .75rem; }
.linvilla-newsletter__details-row { display: flex; align-items: end; justify-content: center; gap: .75rem; }
.linvilla-newsletter__step[data-newsletter-step='details']:has(> .linvilla-newsletter__fields) { display: flex; align-items: end; justify-content: center; gap: .75rem; }
.linvilla-newsletter__field { display: grid; gap: .35rem; margin: 0 0 0; font-size: .875rem; font-weight: 600; }
.linvilla-newsletter__details-row .linvilla-newsletter__fields,
.linvilla-newsletter__step[data-newsletter-step='details'] > .linvilla-newsletter__fields { flex: 0 1 15.625rem; max-width: 15.625rem; }
.linvilla-newsletter input[type='email'], .linvilla-newsletter select, .linvilla-newsletter__button { box-sizing: border-box; min-height: 2.75rem; padding: .5rem .75rem; border: 1px solid var(--black); border-radius: 5px; background-color: var(--white); color: var(--black); font: inherit; font-size: 1rem; line-height: 1.6; }
.linvilla-newsletter input[type='email'] { width: 100%; min-width: 0; padding: .75rem; }
.linvilla-newsletter input:focus-visible, .linvilla-newsletter select:focus-visible, .linvilla-newsletter button:focus-visible { outline: 3px solid #f2bd4c; outline-offset: 2px; }
.linvilla-newsletter__intro { margin: 0 0 1.25rem; }
.linvilla-newsletter__title { margin: 0 0 .4rem; font-size: 1.45rem; line-height: 1.1; }
.linvilla-newsletter__copy { margin: 0; line-height: 1.45; }
.linvilla-newsletter__category { margin: 0 0 1rem; padding: 0; border: 0; }
.linvilla-newsletter__category legend { margin-bottom: .65rem; font-weight: 700; }
.linvilla-newsletter__option { display: flex; align-items: center; gap: .6rem; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid rgba(23, 63, 42, .25); background: #fff; cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease; }
.linvilla-newsletter__option:hover { border-color: #04783e; background: #f4f8f3; }
.linvilla-newsletter__option input { accent-color: #04783e; }
.linvilla-newsletter__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.linvilla-newsletter__details-row .linvilla-newsletter__actions,
.linvilla-newsletter__step[data-newsletter-step='details'] > .linvilla-newsletter__actions { margin-top: 0; }
.linvilla-newsletter__button { cursor: pointer; border-color: var(--dark-green); background-color: var(--white); color: var(--dark-green); text-align: center; padding: .75rem 1.5rem; font-family: brandon-grotesque, sans-serif; font-size: 16px; line-height: 1.6; text-decoration: none; font-weight: 700; transition: all .3s; }
.linvilla-newsletter__button:hover { background-color: var(--dark-green); color: var(--white); }
.linvilla-newsletter__button--secondary { background: transparent; color: #04783e; }
.linvilla-newsletter__button--secondary:hover { background: #f4f8f3; }
.linvilla-newsletter__button:disabled { cursor: wait; opacity: .65; }
.linvilla-newsletter__message { margin: 1rem 0 0; font-weight: 600; }
.linvilla-newsletter__message[data-state='error'] { color: #a2251d; }
.linvilla-newsletter__message[data-state='success'] { color: #04783e; }
@media (max-width: 767px) {
  .linvilla-newsletter__details-row,
  .linvilla-newsletter__step[data-newsletter-step='details']:has(> .linvilla-newsletter__fields),
  .linvilla-newsletter__actions { display: grid; }
  .linvilla-newsletter__details-row .linvilla-newsletter__fields,
  .linvilla-newsletter__step[data-newsletter-step='details'] > .linvilla-newsletter__fields { width: 100%; max-width: none; }
  .linvilla-newsletter input[type='email'], .linvilla-newsletter__button { width: 100%; min-width: 0; }
}
