/* Sitewide mint CTA banner — one component, three content variants.
   Visual source of truth: homepage #cta-banner (mint, ink + green italic, green fill).
   Selectors are scoped to the banner shells so page-local copies cannot drift. */

#cta-banner,
.bp-cta-full{
  background:var(--green-light);
}

#cta-banner .cta-banner-inner,
.bp-cta-full .bp-cta-inner{
  max-width:1100px;
  margin:0 auto;
  padding:40px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  box-sizing:border-box;
}

#cta-banner .cta-banner-heading,
.bp-cta-full .bp-cta-heading{
  font-family:'DM Serif Display',serif;
  font-size:34px;
  font-weight:400;
  font-style:normal;
  color:var(--ink);
  margin:0 0 6px;
  letter-spacing:-0.3px;
  line-height:1.2;
}

#cta-banner .cta-banner-heading em,
#cta-banner .cta-banner-accent,
.bp-cta-full .bp-cta-heading em{
  display:inline;
  font-style:italic;
  color:var(--green);
  white-space:normal;
}

/* Promotions headline is short — keep one line on mobile (Shop Talk / articles). */
#cta-banner .cta-banner-heading:has(.cta-banner-accent){
  white-space:nowrap;
}

#cta-banner .cta-banner-sub,
.bp-cta-full .bp-cta-sub{
  font-size:14px;
  color:var(--secondary);
  line-height:1.6;
  margin:0;
}

#cta-banner .btn-white-cta,
#cta-banner .btn-cta-article,
.bp-cta-full .btn-green-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-sizing:border-box;
  background:var(--green);
  color:var(--white)!important;
  padding:13px 42px;
  border-radius:var(--radius-sm);
  font-size:15px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
  flex-shrink:0;
  border:1.5px solid var(--green);
  cursor:pointer;
  box-shadow:none;
  transition:background .15s,border-color .15s;
}

#cta-banner .btn-white-cta:hover,
#cta-banner .btn-cta-article:hover,
.bp-cta-full .btn-green-cta:hover{
  background:var(--green-mid);
  border-color:var(--green-mid);
  box-shadow:none;
}

#cta-banner .btn-white-cta:focus-visible,
#cta-banner .btn-cta-article:focus-visible,
.bp-cta-full .btn-green-cta:focus-visible{
  outline:2px solid var(--green-mid);
  outline-offset:3px;
}

@media(max-width:950px){
  #cta-banner .cta-banner-inner,
  .bp-cta-full .bp-cta-inner{
    padding:32px 24px;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:28px;
  }
  #cta-banner .cta-banner-heading,
  .bp-cta-full .bp-cta-heading{
    font-size:clamp(24px,7.5vw,30px);
  }
}

@media(max-width:560px){
  #cta-banner .cta-banner-inner,
  .bp-cta-full .bp-cta-inner{
    padding:36px 24px;
    gap:28px;
  }
  #cta-banner .btn-white-cta,
  #cta-banner .btn-cta-article,
  .bp-cta-full .btn-green-cta{
    width:100%;
    justify-content:center;
  }
}
