/* PromoUhul Fale Conosco — Frontend */
.promouhul-fc-wrap {
  --puh-primary: #560DC9;
  --puh-accent: #F2A63B;
  --puh-bg: #f6f7fb;
  --puh-text: #0f172a;
  --puh-muted: #64748b;
  --puh-border: rgba(15,23,42,.10);
  --puh-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.promouhul-fc-card {
  background: #fff;
  border: 1px solid var(--puh-border);
  border-radius: 18px;
  box-shadow: var(--puh-shadow);
  overflow: hidden;
}

.promouhul-fc-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 22px 18px;
  background:
    radial-gradient(1200px 220px at 20% 0%, rgba(242,166,59,.25), transparent 60%),
    linear-gradient(135deg, rgba(86,13,201,.12), rgba(86,13,201,0));
  border-bottom: 1px solid var(--puh-border);
}

.promouhul-fc-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  color: var(--puh-text);
}

.promouhul-fc-subtitle {
  margin: 6px 0 0;
  color: var(--puh-muted);
  font-size: 14px;
}

.promouhul-fc-badge {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  background: var(--puh-primary);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 14px;
  box-shadow: 0 10px 26px rgba(86,13,201,.22);
}

.promouhul-fc-form {
  padding: 18px 22px 22px;
}

.promouhul-fc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.promouhul-fc-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.promouhul-fc-field label {
  font-size: 13px;
  color: var(--puh-text);
  font-weight: 700;
}

.promouhul-fc-field .req {
  color: var(--puh-accent);
}

.promouhul-fc-field input,
.promouhul-fc-field textarea {
  width: 100%;
  border: 1px solid var(--puh-border);
  border-radius: 12px;
  padding: 12px 12px;
  font-size: 14px;
  color: var(--puh-text);
  background: #fff;
  outline: none;
  transition: box-shadow .18s ease, border-color .18s ease;
}

.promouhul-fc-field input:focus,
.promouhul-fc-field textarea:focus {
  border-color: rgba(86,13,201,.45);
  box-shadow: 0 0 0 4px rgba(86,13,201,.10);
}

.promouhul-fc-field--full {
  grid-column: 1 / -1;
}

.promouhul-fc-actions {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.promouhul-fc-feedback {
  font-size: 14px;
  color: var(--puh-muted);
  min-height: 20px;
}

.promouhul-fc-feedback.is-error { color: #b91c1c; }
.promouhul-fc-feedback.is-success { color: #166534; }

.promouhul-fc-btn {
  border: 0;
  cursor: pointer;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 800;
  font-size: 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--puh-primary), #7a2dff);
  box-shadow: 0 14px 30px rgba(86,13,201,.28);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.promouhul-fc-btn:hover { transform: translateY(-1px); filter: brightness(1.03); }
.promouhul-fc-btn:active { transform: translateY(0); box-shadow: 0 10px 22px rgba(86,13,201,.22); }
.promouhul-fc-btn[disabled] { opacity: .75; cursor: not-allowed; transform: none; }

.promouhul-fc-btn .spinner {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  display: none;
  animation: promouhul-spin .8s linear infinite;
}

.promouhul-fc-btn.is-loading .spinner { display: inline-block; }

.promouhul-fc-privacy {
  margin: 14px 0 0;
  font-size: 12px;
  color: var(--puh-muted);
}

.promouhul-fc-hp {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
}

@keyframes promouhul-spin { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .promouhul-fc-grid { grid-template-columns: 1fr; }
  .promouhul-fc-head { flex-direction: column; align-items: flex-start; }
  .promouhul-fc-badge { padding: 8px 12px; }
}
