/* =============================================================================
   BirdEssentials — Contact Form (frontend)
   ============================================================================= */

.bird-cf {
  --cf-bg:       #ffffff;
  --cf-border:   #e2e8f0;
  --cf-accent:   #0ea5e9;
  --cf-text:     #0f172a;
  --cf-muted:    #64748b;
  --cf-radius:   0.5rem;
  max-width:     560px;
  font-family:   -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.bird-cf__title {
  font-size:   1.25rem;
  font-weight: 700;
  margin:      0 0 20px;
  color:       var(--cf-text);
}

.bird-cf__row { margin-bottom: 16px; }

.bird-cf__label {
  display:      block;
  font-size:    0.85rem;
  font-weight:  600;
  margin-bottom: 6px;
  color:        var(--cf-text);
}
.bird-cf__label span { color: #ef4444; margin-left: 2px; }

.bird-cf__input,
.bird-cf__textarea {
  width:            100%;
  padding:          9px 12px;
  border:           1px solid var(--cf-border);
  border-radius:    var(--cf-radius);
  font-size:        0.9rem;
  color:            var(--cf-text);
  background:       var(--cf-bg);
  box-sizing:       border-box;
  transition:       border-color .15s, box-shadow .15s;
  font-family:      inherit;
}
.bird-cf__input:focus,
.bird-cf__textarea:focus {
  outline:      none;
  border-color: var(--cf-accent);
  box-shadow:   0 0 0 3px rgb(14 165 233 / .15);
}
.bird-cf__textarea { resize: vertical; min-height: 130px; }

/* Honeypot — hide visually */
.bird-cf__hp {
  position:   absolute;
  left:       -9999px;
  width:      1px;
  height:     1px;
  overflow:   hidden;
}

.bird-cf__btn {
  display:       inline-flex;
  align-items:   center;
  padding:       9px 22px;
  background:    var(--cf-accent);
  color:         #fff;
  border:        none;
  border-radius: var(--cf-radius);
  font-size:     0.9rem;
  font-weight:   600;
  cursor:        pointer;
  transition:    background .15s, opacity .15s;
}
.bird-cf__btn:hover   { background: #0284c7; }
.bird-cf__btn:disabled { opacity: .65; cursor: wait; }

.bird-cf__feedback {
  margin-top:    14px;
  padding:       10px 14px;
  border-radius: var(--cf-radius);
  font-size:     0.875rem;
  display:       none;
}
.bird-cf__feedback.is-success {
  display:      block;
  background:   #f0fdf4;
  border:       1px solid #bbf7d0;
  color:        #166534;
}
.bird-cf__feedback.is-error {
  display:      block;
  background:   #fef2f2;
  border:       1px solid #fecaca;
  color:        #991b1b;
}
