/* ═══════════════════════════════════════════
   Henlivy Subscribe — Block & Frontend CSS
   ═══════════════════════════════════════════ */

/* ── Block Wrapper ── */
.hs-block {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  text-align: center;
  padding: 48px 32px;
  background: #fafafa;
  border: 1px solid #eaeaea;
  max-width: 520px;
}
.hs--dark {
  background: #111;
  border-color: #111;
}
.hs--dark .hs-title,
.hs--dark .hs-desc { color: #fff; }
.hs--dark .hs-input {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: #fff;
}
.hs--dark .hs-input::placeholder { color: #a3a3a3; }
.hs--dark .hs-input:focus { border-color: rgba(255,255,255,.45); }
.hs--dark .hs-btn {
  background: #fff;
  color: #111;
}
.hs--dark .hs-btn:hover { background: #eaeaea; }

/* ── Title ── */
.hs-title {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  font-size: 28px;
  font-weight: 600;
  color: #111;
  margin: 0 0 12px;
  line-height: 1.25;
}

/* ── Description ── */
.hs-desc {
  font-size: 14px;
  color: #737373;
  margin: 0 0 24px;
  line-height: 1.6;
}

/* ── Form Row ── */
.hs-form {
  display: flex;
  max-width: 400px;
  margin: 0 auto;
}
.hs-input {
  flex: 1;
  padding: 14px 18px;
  border: 1.5px solid #d4d4d4;
  border-right: none;
  background: #fff;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .2s;
}
.hs-input:focus { border-color: #111; }
.hs-btn {
  padding: 14px 28px;
  background: #111;
  color: #fff;
  border: none;
  font-size: 12px;
  font-weight: 700;
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 2px;
  cursor: pointer;
  transition: background .2s;
  white-space: nowrap;
}
.hs-btn:hover  { background: #404040; }
.hs-btn:active { transform: scale(.98); }

/* ── Feedback Message ── */
.hs-msg {
  display: none;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
.hs-msg--ok {
  display: block;
  color: #111;
  background: #f5f5f5;
  padding: 10px 16px;
}
.hs--dark .hs-msg--ok {
  background: rgba(255,255,255,.1);
  color: #fff;
}
.hs-msg--err {
  display: block;
  color: #cc3333;
}

/* ── Responsive ── */
@media (max-width: 480px) {
  .hs-block { padding: 32px 20px; }
  .hs-title { font-size: 22px; }
  .hs-form  { flex-direction: column; gap: 10px; }
  .hs-input { border-right: 1.5px solid #d4d4d4; }
  .hs-btn   { width: 100%; }
}
