/* Nancy's Own newsletter presentation. UEM owns every form field and action. */
.site-footer .nancysown-newsletter {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  padding-block: clamp(36px, 5vw, 64px);
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.nancysown-newsletter > * { min-width: 0; }
.site-footer .nancysown-newsletter__eyebrow {
  margin: 0 0 14px;
  color: var(--no-gold-bright, #efb54a);
  font: 800 .78rem/1.4 system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.site-footer .nancysown-newsletter h2 {
  margin: 0;
  max-width: 19ch;
  color: #fff;
  font: 700 clamp(1.8rem, 2.9vw, 2.75rem)/1.12 Georgia, Charter, serif;
  letter-spacing: -.025em;
  text-transform: none;
  overflow-wrap: anywhere;
}
.site-footer .nancysown-newsletter__intro {
  margin: 18px 0 0;
  max-width: 49ch;
  color: #eef2e9;
  font-size: 1rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.site-footer a.nancysown-newsletter__privacy {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 8px;
  color: #eef2e9;
  font-size: .85rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer .nancysown-newsletter__form {
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid #e4e8df;
  border-radius: 16px;
  background: #fffdf8;
  color: #17382b;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}
.nancysown-newsletter .uem-newsletter-signup {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 18px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: start;
}
.nancysown-newsletter .uem-newsletter-signup > p {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  color: #30483b;
  font-size: .88rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.nancysown-newsletter .uem-newsletter-signup > p:nth-of-type(1),
.nancysown-newsletter .uem-newsletter-signup > p:nth-of-type(2) { grid-column: auto; }
.nancysown-newsletter .uem-newsletter-signup label {
  display: block;
  margin: 0;
  color: #17382b;
  font-weight: 650;
  line-height: 1.5;
}
.nancysown-newsletter .uem-newsletter-signup input[name="email"],
.nancysown-newsletter .uem-newsletter-signup input[name="first_name"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  margin: 7px 0 0;
  padding: 10px 12px;
  border: 1px solid #819485;
  border-radius: 8px;
  background: #fff;
  color: #17382b;
  font-size: 1rem;
  line-height: 1.4;
}
.nancysown-newsletter .uem-newsletter-signup label > br { display: none; }
.nancysown-newsletter .uem-newsletter-signup > p:nth-of-type(3) label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  font-weight: 400;
}
.nancysown-newsletter .uem-newsletter-signup input[name="consent"] {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  min-width: 19px;
  margin: 2px 0 0;
  accent-color: #24533c;
}
.nancysown-newsletter .uem-newsletter-signup > button[type="submit"] {
  grid-column: 1 / -1;
  justify-self: start;
  max-width: 100%;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid #24533c;
  border-radius: 8px;
  background: #24533c;
  color: #fff;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.nancysown-newsletter .uem-newsletter-signup > button[type="submit"]:hover { background: #17382b; }
.nancysown-newsletter .uem-newsletter-signup :is(input, button):focus-visible {
  outline: 3px solid #a9600a;
  outline-offset: 3px;
}
.nancysown-newsletter .uem-newsletter-signup [hidden] { display: none !important; }
@media (max-width: 980px) {
  .site-footer .nancysown-newsletter { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .site-footer .nancysown-newsletter h2 { max-width: 28ch; }
  .site-footer .nancysown-newsletter__intro { max-width: 65ch; }
}
@media (max-width: 560px) {
  .nancysown-newsletter .uem-newsletter-signup { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .nancysown-newsletter .uem-newsletter-signup > button[type="submit"] { justify-self: stretch; width: 100%; }
  .site-footer .nancysown-newsletter__form { padding: 20px 18px; border-radius: 12px; }
}

/* 0.10.17: opt-in invitations and feedback. The approved footer form is retained. */
[data-nancysown-newsletter-prompt][hidden], [data-newsletter-notice][hidden],
.nancysown-newsletter .uem-newsletter-signup[hidden] { display: none !important; }
.nancysown-newsletter-bar { background: #e6eddc; color: #17382b; border-bottom: 1px solid #c8d4bc; }
.nancysown-newsletter-bar__inner { display: flex; align-items: center; justify-content: center; gap: 6px 18px; position: relative; padding-block: 6px; padding-inline-end: 44px; min-height: 48px; }
.nancysown-newsletter-bar p { margin: 0; font: 650 .83rem/1.5 system-ui, sans-serif; }
.nancysown-newsletter-bar__join { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; color: #17382b; font-size: .82rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; flex-shrink: 0; }
.nancysown-newsletter-bar__close { position: absolute; inset-inline-end: 0; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; display: grid; place-items: center; font: 400 24px/1 system-ui, sans-serif; text-decoration: none; color: #17382b; border-radius: 50%; }
.nancysown-newsletter-bar__close:hover { background: #d7e1cb; }
.nancysown-newsletter-bar a:focus-visible, .nancysown-newsletter-notice a:focus-visible,
.nancysown-newsletter-dialog :is(a,button):focus-visible { outline: 3px solid #a9600a; outline-offset: 3px; }
.nancysown-newsletter-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 28px 0; padding: 24px; border: 1px solid #cdd9c6; border-radius: 12px; background: #edf2e7; }
.nancysown-newsletter-cta h2 { margin: 0 0 6px; color: #17382b; font: 700 1.35rem/1.2 Georgia,serif; }
.nancysown-newsletter-cta p { margin: 0; color: #30483b; font-size: .95rem; }
.nancysown-newsletter-cta > div { flex: 1 1 260px; min-width: 0; }
.nancysown-newsletter-cta .button { flex-shrink: 0; }
.nancysown-newsletter-page { max-width: 760px; padding-block: 44px 64px; }
.nancysown-newsletter-page__form { margin-block: 28px; padding: clamp(18px, 4vw, 32px); border: 1px solid #d3ddd0; border-radius: 14px; background: #fffdf8; }
.nancysown-newsletter-dialog { box-sizing: border-box; width: min(560px, calc(100% - 32px)); max-width: 100%; max-height: calc(100dvh - 32px); margin: auto; padding: clamp(22px, 4vw, 32px); border: 1px solid #cbd6c5; border-radius: 16px; background: #fffdf8; color: #17382b; text-align: start; box-shadow: 0 22px 75px rgba(0,0,0,.25); }
.nancysown-newsletter-dialog:not([open]) { display: none !important; }
.nancysown-newsletter-dialog::backdrop { background: rgba(8,27,19,.58); }
.nancysown-newsletter-dialog h2 { margin: 0 32px 12px 0; color: #17382b; font: 700 clamp(1.6rem, 3vw, 2.1rem)/1.15 Georgia,serif; }
.nancysown-newsletter-dialog > p { font-size: .94rem; line-height: 1.6; }
.nancysown-newsletter-dialog > .nancysown-newsletter { margin-block: 24px; }
.nancysown-newsletter-dialog > a { display: inline-flex; min-height: 36px; align-items: center; color: #24533c; font-size: .83rem; text-decoration: underline; }
.nancysown-newsletter-dialog__close { position: absolute; top: 10px; right: 10px; width: 40px; min-height: 40px; padding: 0; border: 0; background: transparent; color: #17382b; font: 400 26px/1 system-ui,sans-serif; cursor: pointer; }
.nancysown-newsletter__eyebrow { font: 800 .76rem/1.5 system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.nancysown-newsletter-notice { box-sizing: border-box; position: relative; width: min(960px, calc(100% - 32px)); margin: 18px auto; padding: 24px; padding-right: 48px; border: 1px solid #b9cbb1; border-left: 5px solid #24533c; border-radius: 12px; background: #fffdf8; color: #17382b; box-shadow: 0 8px 30px rgba(0,0,0,.15); z-index: 10000; text-align: start; }
.nancysown-newsletter-notice h2 { margin: 0 0 10px; font: 700 1.45rem/1.2 Georgia,serif; color: #17382b; }
.nancysown-newsletter-notice p { margin: 0; font: 400 .94rem/1.6 system-ui,sans-serif; color: #30483b; }
.nancysown-newsletter-notice > a:not(.nancysown-newsletter-notice__close) { display: inline-flex; align-items: center; min-height: 40px; margin-top: 6px; color: #24533c; }
.nancysown-newsletter-notice__close { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 40px; height: 40px; color: #17382b; font: 400 26px/1 system-ui,sans-serif; text-decoration: none; }
.nancysown-newsletter-notice--error { border-left-color: #a34b36; }
.nancysown-newsletter-enhanced .nancysown-newsletter-notice { position: fixed; right: 22px; bottom: 22px; width: min(440px, calc(100% - 32px)); margin: 0; max-height: calc(100dvh - 44px); overflow-y: auto; }
/* Confirmation/preference pages deliberately do not run third-party site scripts. */
.nancysown-newsletter-private { margin: 0; background: #faf8f1; color: #17382b; font: 400 16px/1.65 system-ui,sans-serif; }
.nancysown-newsletter-private * { box-sizing: border-box; }
.nancysown-newsletter-private > header { padding: 22px 24px; background: #102f22; text-align: center; }
.nancysown-newsletter-private > header a { color: #fffdf8; text-decoration: none; font: 700 1.65rem/1.2 Georgia,serif; }
.nancysown-newsletter-private__card { max-width: 600px; width: calc(100% - 32px); margin: clamp(28px, 7vh, 80px) auto; padding: clamp(22px, 4vw, 40px); background: #fffdf8; border: 1px solid #d2dccb; border-radius: 16px; box-shadow: 0 12px 30px rgba(15,45,28,.07); }
.nancysown-newsletter-private h1 { font: 700 clamp(1.8rem, 4vw, 2.4rem)/1.15 Georgia,serif; margin: 10px 0 22px; overflow-wrap: anywhere; }
.nancysown-newsletter-private p { overflow-wrap: anywhere; }
.nancysown-newsletter-private button { min-height: 48px; padding: 12px 22px; border: 1px solid #24533c; border-radius: 8px; background: #24533c; color: #fff; font: 750 1rem/1.4 system-ui,sans-serif; cursor: pointer; }
.nancysown-newsletter-private button:focus-visible, .nancysown-newsletter-private a:focus-visible, .nancysown-newsletter-private input:focus-visible { outline: 3px solid #a9600a; outline-offset: 4px; }
.nancysown-newsletter-private form p label { display: flex; gap: 10px; align-items: center; min-height: 44px; }
.nancysown-newsletter-private input[type="radio"] { width: 18px; height: 18px; accent-color: #24533c; }
.nancysown-newsletter-private__back { padding-top: 18px; margin-top: 26px; border-top: 1px solid #d2dccb; }
.nancysown-newsletter-private__back a { display: inline-flex; min-height: 44px; align-items: center; color: #24533c; }
@media (max-width: 760px) {
  .nancysown-newsletter-bar__inner { flex-wrap: wrap; justify-content: flex-start; gap: 0 12px; padding-block: 7px; }
  .nancysown-newsletter-bar p { flex-basis: 100%; font-size: .78rem; }
  .nancysown-newsletter-bar__join { min-height: 36px; }
  .nancysown-newsletter-enhanced .nancysown-newsletter-notice { right: 16px; bottom: 16px; max-height: calc(100dvh - 32px); }
}
@media (max-width: 380px) {
  .nancysown-newsletter-dialog { padding: 22px 18px; }
  .nancysown-newsletter-dialog h2 { font-size: 1.5rem; }
}

.nancysown-newsletter-bar p, .nancysown-newsletter-bar__join { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.nancysown-newsletter-bar__join { flex-shrink: 1; }
.nancysown-newsletter-dialog .uem-newsletter-signup button:disabled { opacity: .65; cursor: wait; }
