/* Zet-Home Hírlevél & Ajánlás — modern card UI */
.zh-newsletter-wrap { max-width: 720px; margin: 18px auto; }
.zh-newsletter-card{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  padding: 20px;
}
.zh-newsletter-header h3{ margin: 8px 0 6px; font-size: 22px; line-height: 1.2; }
.zh-newsletter-header p{ margin: 0 0 14px; color: rgba(0,0,0,.65); }
.zh-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(0,0,0,.05);
  font-weight: 600; font-size: 12px; letter-spacing:.2px;
}
.zh-newsletter-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.zh-span-2{ grid-column: 1 / -1; }
.zh-field label{ display:block; font-size: 13px; margin: 0 0 6px; color: rgba(0,0,0,.75); }
.zh-field input, .zh-field select{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  outline: none;
}
.zh-field input:focus, .zh-field select:focus{
  border-color: rgba(0,0,0,.35);
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
}
.zh-checkbox{
  display:flex; gap:10px; align-items:flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed rgba(0,0,0,.14);
  background: rgba(0,0,0,.02);
  cursor: pointer;
}
.zh-checkbox input{ margin-top: 3px; }
.zh-actions{ display:flex; flex-direction:column; gap:10px; }
.zh-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 12px;
  background: #111;
  color: #fff;
  font-weight: 700;
  cursor:pointer;
}
.zh-btn:disabled{ opacity:.65; cursor:not-allowed; }
.zh-spinner{
  width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,1);
  display:none;
  animation: zhspin .8s linear infinite;
}
.zh-loading .zh-spinner{ display:inline-block; }
.zh-message{
  min-height: 18px;
  font-weight: 600;
}
.zh-message.zh-ok{ color: #0b7a2a; }
.zh-message.zh-err{ color: #b00020; }
.zh-note{ font-size: 12px; color: rgba(0,0,0,.55); }
@keyframes zhspin{ to{ transform: rotate(360deg); } }

@media (max-width: 640px){
  .zh-newsletter-grid{ grid-template-columns: 1fr; }
}
