/* =====================================================
   CONTACT PAGE — extends components/forms.css
   ===================================================== */

/* Intro section */
.contact-intro {
  max-width: 700px;
  font-size: var(--text-lg);
  color: var(--color-grey-700);
  line-height: 1.8;
  margin-bottom: var(--space-12);
}

/* Opening hours banner */
.hours-banner {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--color-cream);
  border: 2px solid var(--color-primary);
  border-radius: var(--radius-full);
  padding: var(--space-2) var(--space-5);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: var(--space-10);
}

.hours-banner__dot {
  width: 10px;
  height: 10px;
  background: #22c55e; /* green status */
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.4); }
  50%       { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
}

/* Thank you message (hidden by default, shown on success) */
.contact-success-message {
  display: none;
  background: rgba(27,67,50,0.06);
  border: 2px solid var(--color-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-10);
  text-align: center;
}

.contact-success-message.is-visible {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .hours-banner__dot {
    animation: none;
    box-shadow: 0 0 0 2px rgba(34,197,94,0.4);
  }
}

.contact-success-message h3 {
  margin-bottom: var(--space-3);
}

.contact-success-message p {
  color: var(--color-grey-700);
  margin-bottom: 0;
}
