/* Belfurt newsletter — matches approved 1.0.25 finals.
   Apple Newsroom / apple.com “Get the latest” patterns. */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.bf-sub{
  --a-blue:#0071e3;
  --a-blue-h:#0077ed;
  --a-blue-d:#0077ed;
  --a-ink:#1d1d1f;
  --a-mut:#6e6e73;
  --a-fill:#f5f5f7;
  --a-sf:"Inter Tight",Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  font-family:var(--a-sf);
  color:var(--a-ink);
  -webkit-font-smoothing:antialiased;
}
.bf-sub h2{
  margin:0;
  font-weight:600;
  font-size:40px;
  letter-spacing:-.022em;
  line-height:1.1;
  color:var(--a-ink);
  max-width:none;
}
.bf-sub-lead{
  margin:10px 0 0;
  font-size:17px;
  line-height:1.47059;
  font-weight:400;
  letter-spacing:-.022em;
  color:var(--a-mut);
  max-width:22em;
}
.bf-sub form{margin:0;position:relative}
.bf-sub-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.bf-sub-field{
  position:relative;
  margin-top:22px;
  max-width:440px;
}
.bf-sub-field input{
  width:100%;
  height:52px;
  padding:0 56px 0 18px;
  border:0;
  border-radius:12px;
  background:var(--a-fill);
  font:400 17px/1.2 var(--a-sf);
  letter-spacing:-.011em;
  color:var(--a-ink);
  outline:none;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:none;
  min-height:52px;
}
.bf-sub-field input::placeholder{color:#86868b}
.bf-sub-field input:focus{box-shadow:0 0 0 4px rgba(0,113,227,.28)}
.bf-sub-go{
  position:absolute;
  right:8px;top:50%;
  transform:translateY(-50%);
  width:36px;height:36px;
  border:0;
  border-radius:50%;
  background:var(--a-blue);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  padding:0;
  transition:background .2s ease;
}
.bf-sub-go:hover,
.bf-sub-go:focus-visible{background:var(--a-blue-h)}
.bf-sub-go:focus-visible{outline:2px solid var(--a-blue);outline-offset:2px}
.bf-sub-go:disabled{opacity:.55;cursor:default}
.bf-sub-go svg{width:16px;height:16px;display:block;margin-left:1px}
.bf-sub-consent{
  margin:12px 0 0;
  font-size:12px;
  line-height:1.33337;
  letter-spacing:-.01em;
  color:var(--a-mut);
  max-width:440px;
}
.bf-sub-consent a{
  color:var(--a-mut);
  text-decoration:underline;
  text-underline-offset:2px;
}
.bf-sub-consent a:hover{color:var(--a-ink)}
.bf-sub-err{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.3;
  color:#e1063a;
  display:none;
}
.bf-sub-err.is-on{display:block}

/* Footer placement: white/canvas, no card, no image */
.ftr:has(.bf-ftr-sub) .bottom{margin-top:40px}
.bf-ftr-sub{
  margin-top:56px;
  padding-top:36px;
  border-top:1px solid var(--line);
}
.bf-ftr-sub .bf-sub h2{font-size:32px}
.bf-ftr-sub .bf-sub-lead{font-size:17px}

/* Compact (sheet / exit-intent card) */
.bf-sub--compact h2{font-size:28px}
.bf-sub--compact .bf-sub-lead{font-size:15px;margin-top:8px;max-width:none}
.bf-sub--compact .bf-sub-field{margin-top:18px;max-width:none}
.bf-sub--compact .bf-sub-consent{max-width:none}
.bf-sub.is-success h2{font-size:28px}
.bf-sub.is-success .bf-sub-lead{max-width:none}

/* Gentle prompt: white, no image, no backdrop */
.bf-prompt{
  position:fixed;
  z-index:40;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.04),0 16px 40px rgba(0,0,0,.12);
  color:#1d1d1f;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
  opacity:0;
}
.bf-prompt-x{
  position:absolute;
  top:12px;right:12px;
  width:30px;height:30px;
  border:0;
  border-radius:50%;
  background:#f5f5f7;
  color:#1d1d1f;
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:1;
  padding:0;
}
.bf-prompt-x:hover{background:#e8e8ed}
.bf-prompt-x:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.bf-prompt-x svg{width:10px;height:10px;display:block}
.bf-prompt .bf-sub{padding-right:22px}

@media (min-width:901px){
  .bf-prompt{
    right:24px;
    bottom:24px;
    width:360px;
    border-radius:18px;
    padding:28px 24px 24px;
    transform:translateY(16px);
    transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;
  }
  .bf-prompt.is-open{
    visibility:visible;
    pointer-events:auto;
    opacity:1;
    transform:none;
    transition:opacity .35s ease,transform .35s ease,visibility 0s;
  }
}
@media (max-width:900px){
  .bf-ftr-sub{margin-top:40px;padding-top:28px}
  .bf-ftr-sub .bf-sub h2{font-size:28px}
  .bf-sub-field{max-width:none}
  .bf-sub-field input{height:52px;font-size:16px} /* 16px avoids iOS zoom */
  .bf-sub-consent{max-width:none}
  .bf-prompt{
    left:12px;
    right:12px;
    bottom:12px;
    bottom:max(12px, env(safe-area-inset-bottom, 0px));
    width:auto;
    border-radius:18px;
    padding:24px 20px 20px;
    padding-bottom:max(20px, env(safe-area-inset-bottom, 0px));
    transform:translateY(110%);
    transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s linear .4s;
  }
  .bf-prompt.is-open{
    visibility:visible;
    pointer-events:auto;
    opacity:1;
    transform:none;
    transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s;
  }
  .bf-sub--compact h2,
  .bf-sub.is-success h2{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .bf-prompt,
  .bf-prompt.is-open{
    transform:none;
    transition:opacity .2s ease,visibility 0s;
  }
}

/* Confirm / unsubscribe result pages */
.bf-nl-result{
  --a-ink:#1d1d1f;
  --a-mut:#6e6e73;
  min-height:100vh;
  margin:0;
  background:#fff;
  color:#1d1d1f;
  font-family:"Inter Tight",Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.bf-nl-result .inner{max-width:520px;margin:0 auto;padding:72px 24px 80px}
.bf-nl-result .mark{font-style:italic;font-weight:700;font-size:22px;letter-spacing:-.4px;line-height:1;color:#1d1d1f;margin:0 0 36px}
.bf-nl-result .mark span{color:#e1063a}
.bf-nl-result h1{margin:0;font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.022em}
.bf-nl-result p{margin:14px 0 0;font-size:17px;line-height:1.47;letter-spacing:-.022em;color:#6e6e73}
.bf-nl-result .foot{margin-top:40px;font-size:12px;line-height:1.5;color:#6e6e73}
.bf-nl-result .foot a{color:#6e6e73;text-decoration:underline;text-underline-offset:2px}
