.hl-subscriber-wrap{width:100%;min-width:0}
.hl-subscriber-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;align-items:center;width:100%;min-width:0}
.hl-subscriber-form__email{min-width:0}

/* Deliberately high specificity: HealthLine theme/form styles must not wash out the field. */
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 18px!important;
  border:2px solid #c7d3e0!important;
  border-radius:14px!important;
  background:#fff!important;
  background-image:none!important;
  color:#102f4f!important;
  -webkit-text-fill-color:#102f4f!important;
  caret-color:#d61747!important;
  font:inherit!important;
  font-size:16px!important;
  line-height:1.2!important;
  opacity:1!important;
  outline:none!important;
  box-shadow:none!important;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]::placeholder{
  color:#7b8da1!important;
  -webkit-text-fill-color:#7b8da1!important;
  opacity:1!important;
}
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:hover{border-color:#9fb2c7!important}
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:focus,
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:focus-visible{
  border-color:#d61747!important;
  box-shadow:0 0 0 3px rgba(214,23,71,.14)!important;
  background:#fff!important;
  color:#102f4f!important;
  -webkit-text-fill-color:#102f4f!important;
}
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:-webkit-autofill,
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:-webkit-autofill:hover,
.hl-subscriber-wrap .hl-subscriber-form input[type="email"]:-webkit-autofill:focus{
  -webkit-text-fill-color:#102f4f!important;
  caret-color:#d61747!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  border:2px solid #c7d3e0!important;
}

.hl-subscriber-form__button{box-sizing:border-box;min-height:54px;padding:0 28px;border:0;border-radius:14px;background:#d61747;color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;transition:filter .18s ease,transform .18s ease}
.hl-subscriber-form__button:hover{filter:brightness(.96)}
.hl-subscriber-form__button:focus-visible{outline:3px solid rgba(214,23,71,.25);outline-offset:2px}
.hl-subscriber-form__privacy{grid-column:1/-1;margin:0;color:inherit;font-size:13px;line-height:1.45;opacity:.78}
.hl-subscriber-form__privacy a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hl-subscriber-form__message{grid-column:1/-1;margin:2px 0 0;font-size:14px;line-height:1.45}
.hl-subscriber-form__message--success,.hl-subscriber-form__message--error,.hl-subscriber-form__message--info{font-weight:700}
.hl-subscriber-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Homepage-only presentation: keep the article-footer component unchanged. */
.hl-subscriber-wrap--homepage{width:100%;max-width:620px;margin-left:auto;min-width:0}
.hl-subscriber-wrap--homepage .hl-subscriber-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:620px;
  margin:0!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__email,
.hl-subscriber-wrap--homepage .hl-subscriber-form__button,
.hl-subscriber-wrap--homepage .hl-subscriber-form__privacy,
.hl-subscriber-wrap--homepage .hl-subscriber-form__message{grid-column:1!important;width:100%;min-width:0}
.hl-subscriber-wrap--homepage .hl-subscriber-form input[type="email"]{
  min-height:66px!important;
  padding:0 22px!important;
  border-radius:15px!important;
  border-color:#c7d3e0!important;
  box-shadow:0 8px 24px rgba(5,27,51,.08)!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__button{
  min-height:66px!important;
  padding:0 28px!important;
  border-radius:15px!important;
  background:#d61747!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.2!important;
  box-shadow:0 10px 24px rgba(214,23,71,.16);
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__button:hover{filter:brightness(.97);transform:translateY(-1px)}
.hl-subscriber-wrap--homepage .hl-subscriber-form__privacy{
  max-width:590px;
  margin:12px 0 0!important;
  color:rgba(255,255,255,.76)!important;
  font-size:13px!important;
  line-height:1.62!important;
  opacity:1!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__privacy a{color:rgba(255,255,255,.92)!important;text-decoration-color:rgba(255,255,255,.55)}
.hl-subscriber-wrap--homepage .hl-subscriber-form__message{margin:4px 0 0!important;color:#fff!important}

.hl-subscriber-wrap--post .hl-subscriber-form{grid-template-columns:1fr}
.hl-subscriber-wrap--post .hl-subscriber-form__button,.hl-subscriber-wrap--post .hl-subscriber-form__privacy,.hl-subscriber-wrap--post .hl-subscriber-form__message{grid-column:1}
/* Keep the post-footer field light for maximum legibility on the dark newsletter panel. */
.hl-subscriber-wrap--post .hl-subscriber-form input[type="email"]{background:#fff!important;border-color:#c7d3e0!important;color:#102f4f!important;-webkit-text-fill-color:#102f4f!important}
.hl-subscriber-wrap--post .hl-subscriber-form input[type="email"]::placeholder{color:#7b8da1!important;-webkit-text-fill-color:#7b8da1!important}
.hl-subscriber-wrap--post .hl-subscriber-form__privacy{color:rgba(255,255,255,.86)}
.hl-subscriber-wrap--compact .hl-subscriber-form{grid-template-columns:minmax(0,1fr) auto}

@media(max-width:640px){
  .hl-subscriber-wrap--homepage{max-width:none;margin-left:0}
  .hl-subscriber-wrap--homepage .hl-subscriber-form{gap:13px!important;max-width:none}
  .hl-subscriber-wrap--homepage .hl-subscriber-form input[type="email"],
  .hl-subscriber-wrap--homepage .hl-subscriber-form__button{min-height:58px!important}
  .hl-subscriber-wrap--homepage .hl-subscriber-form__button{font-size:17px!important}
  .hl-subscriber-wrap--homepage .hl-subscriber-form__privacy{margin-top:8px!important;font-size:12.5px!important;line-height:1.55!important}
  .hl-subscriber-form,.hl-subscriber-wrap--compact .hl-subscriber-form{grid-template-columns:1fr}
  .hl-subscriber-form__button,.hl-subscriber-form__privacy,.hl-subscriber-form__message{grid-column:1}
  .hl-subscriber-form__button{width:100%}
}

/* v1.2.3: homepage section polish only. The accepted article-footer treatment is untouched. */
@supports selector(section:has(*)) {
  body.home section:has(.hl-subscriber-wrap--homepage),
  body.front-page section:has(.hl-subscriber-wrap--homepage) {
    margin-top:-64px!important;
    padding-top:clamp(46px,4vw,64px)!important;
    padding-bottom:clamp(52px,4.5vw,72px)!important;
    background:linear-gradient(135deg,#f7fbfe 0%,#eef6fb 100%)!important;
    border-top:1px solid rgba(16,47,79,.06);
    border-bottom:1px solid rgba(16,47,79,.06);
  }
}

/* Give the homepage form its own restrained surface so the CTA reads as one unit. */
.hl-subscriber-wrap--homepage{
  padding:26px!important;
  border:1px solid #dce7f1!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 16px 42px rgba(16,47,79,.08)!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__privacy{
  color:#5c6e82!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__privacy a{
  color:#40566e!important;
  text-decoration-color:rgba(64,86,110,.45)!important;
}
.hl-subscriber-wrap--homepage .hl-subscriber-form__message{
  color:#102f4f!important;
}

@media(max-width:768px){
  @supports selector(section:has(*)) {
    body.home section:has(.hl-subscriber-wrap--homepage),
    body.front-page section:has(.hl-subscriber-wrap--homepage) {
      margin-top:-24px!important;
      padding-top:38px!important;
      padding-bottom:44px!important;
    }
  }
  .hl-subscriber-wrap--homepage{
    padding:20px!important;
    border-radius:18px!important;
  }
}
