/* Contact Us – Page specific styles (lean, leveraging base.css) */
.hero-contact {
  background: linear-gradient(135deg, var(--color-warm-light), #fff);
}

.contact-cards .card .card-body p + p { margin-top: var(--spacing-2); }

.service-hours li { margin-bottom: var(--spacing-2); }

.social-inline { display: flex; gap: var(--spacing-4); flex-wrap: wrap; }
.social-inline a { display: inline-flex; align-items: center; gap: var(--spacing-2); }
.social-inline i { color: var(--color-secondary); }

/* Reviews */
.rating { display: inline-flex; gap: 0.25rem; font-size: 1.25rem; }
.star { color: var(--color-gray-300); transition: color var(--transition-base) var(--transition-ease); }
.star[aria-pressed="true"], .star.active { color: var(--color-secondary); }
.star:hover { color: var(--color-secondary-light); }

/* FAQ */
.faq details { border: 1px solid var(--color-gray-200); border-radius: var(--radius-lg); padding: var(--spacing-4) var(--spacing-5); margin-bottom: var(--spacing-4); background-color: #fff; }
.faq summary { cursor: pointer; font-weight: var(--font-weight-semibold); outline: none; }
.faq summary:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: 2px; border-radius: var(--radius-sm); }
.faq details[open] { box-shadow: var(--shadow-md); }
.faq p { margin-top: var(--spacing-3); }

/* Newsletter alignment helper */
.align-end { display: flex; align-items: flex-end; }
