/* ============================================================
   Claudify Newsletter — Framer SectionNewsletter recreation
   Dark card: left text+form | right rotated product images
   ============================================================ */

/* ---- Section shell ----
   padding: 128px 96px 0px 96px
   SectionProduct has 0 bottom → 128px top = 128px gap
   ------------------------------------------------------------ */
.claudify-newsletter {
  background-color: var(--bera-color-soft-neutral);
  padding: var(--sp-pt, 128px) var(--sp-pr, 96px) var(--sp-pb, 0px) var(--sp-pl, 96px);
}

.claudify-newsletter__container {
  max-width: 1400px;
  margin: 0 auto;
}

/* ---- Card: 550px tall, rounded, overflow hidden ----
   Light cream base so the dark (#0b2615) text stays readable even before the
   background image paints or if it fails to load. The image (object-fit: cover)
   sits on top and fills the card normally. */
.claudify-newsletter__card {
  position: relative;
  background-color: var(--bera-color-soft-neutral);
  border-radius: 32px;
  height: 550px;
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

/* ---- Full-bleed background image (art-directed) ---- */
.claudify-newsletter__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
}

.claudify-newsletter__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* When a background image is present, text sits on the left ~half (no reserved
   right column); the image fills the rest of the card. No overlay — the light
   image carries the dark (#0b2615) text directly. (The old dark-green overlay
   was removed: ad-blocker annoyance lists hide "newsletter overlay" elements,
   so it only rendered for SOME visitors — and made the dark text unreadable
   for them.) */
.claudify-newsletter__card--bg .claudify-newsletter__content {
  padding: 80px 96px;
  max-width: 760px;
}

/* ---- Left content: padding 80px 450px 80px 96px, gap 64px ----
   450px right padding reserves space for the right image column
   ------------------------------------------------------------ */
.claudify-newsletter__content {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 64px;
  padding: 80px 450px 80px 96px;
}

/* ---- Heading block ---- */
.claudify-newsletter__heading {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: var(--sp-heading-gap, 16px);
}

/* Cormorant Garamond Bold 80px */
.claudify-newsletter__heading-line1 {
  display: block;
  font-family: var(--sp-heading-font, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 6vw, var(--sp-heading-size, 80px));
  font-weight: var(--sp-heading-weight, 500);
  font-style: normal;
  line-height: 100%;
  letter-spacing: 0;
  color: #0b2615;
}

/* Cormorant Garamond Bold Italic 80px */
.claudify-newsletter__heading-line2 {
  display: block;
  font-family: var(--sp-heading-font, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 6vw, var(--sp-heading-size, 80px));
  font-weight: var(--sp-heading-weight, 500);
  font-style: italic;
  line-height: 100%;
  letter-spacing: 0;
  color: #0b2615;
}

/* Body text: Jost Regular 22px, max-width 400px */
.claudify-newsletter__body {
  font-family: var(--sp-body-font, 'Jost', sans-serif);
  font-size: var(--sp-body-size, clamp(16px, 1.6vw, 22px));
  font-weight: var(--sp-body-weight, 400);
  line-height: 150%;
  color: rgba(11, 38, 21, 0.8);
  max-width: 400px;
  margin: 0;
}

/* ---- Email form: white pill, max-width 350px ---- */
.claudify-newsletter__form {
  max-width: 350px;
}

.claudify-newsletter__form-inner {
  display: flex;
  align-items: center;
  background: rgb(255, 255, 255);
  border-radius: 500px;
  padding: 6px;
  gap: 0;
  overflow: hidden;
}

.claudify-newsletter__input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Jost', sans-serif;
  font-size: 15px;
  color: rgb(26, 28, 24);
  padding: 6px 12px 6px 16px;
  min-width: 0;
}

.claudify-newsletter__input::placeholder {
  color: rgba(26, 28, 24, 0.4);
}

/* Subscribe button: dark green pill, padding 12px 20px */
.claudify-newsletter__btn {
  background: rgb(11, 38, 21);
  color: rgb(255, 255, 255);
  border: none;
  border-radius: 500px;
  padding: 12px 20px;
  font-family: var(--sp-btn-font, 'Jost', sans-serif);
  font-size: var(--sp-btn-size, 16px);
  font-weight: var(--sp-btn-weight, 600);
  text-transform: none;
  line-height: 120%;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s;
}

.claudify-newsletter__btn:hover {
  background: rgb(37, 60, 28);
}

/* ============================================================
   Tablet (750px – 989px)
   Framer: padding 96px 64px 0, images repositioned
   ============================================================ */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .claudify-newsletter {
    padding: 96px 40px 0;
  }

  .claudify-newsletter__card {
    height: auto;
    min-height: 480px;
  }

  .claudify-newsletter__content {
    padding: 64px 300px 64px 64px;
    gap: 40px;
  }

}

/* ============================================================
   Mobile (< 750px)
   Framer: padding 64px 32px 0, images hidden or below
   ============================================================ */
@media screen and (max-width: 749px) {
  .claudify-newsletter {
    padding: 64px 16px 0;
  }

  .claudify-newsletter__card {
    height: auto;
    flex-direction: column;
    overflow: hidden;
  }

  .claudify-newsletter__content {
    padding: 48px 32px 48px 32px;
    gap: 32px;
  }

  .claudify-newsletter__heading-line1,
  .claudify-newsletter__heading-line2 {
    letter-spacing: 0;
    font-size: clamp(36px, 9vw, 54px) !important;
  }

  .claudify-newsletter__body {
    max-width: 100%;
  }

  .claudify-newsletter__form {
    max-width: 100%;
  }

  .claudify-newsletter__card--bg .claudify-newsletter__content {
    padding: 48px 32px;
    max-width: 100%;
  }

  /* Prevent iOS Safari auto-zoom on input focus (requires >= 16px) */
  .claudify-newsletter__input {
    font-size: 16px !important;
  }
}
