/* Site developed and built by sitethreesixty.com */

/* ============================================================
   containers.css — Container internal layout styles
   Layout only. No colours. No media queries. No grid-column.
   ============================================================ */

/* hero-content: in home-critical.css (above-fold) */
/* hero-cta-group: in home-critical.css (above-fold) */
/* page-banner: in inner-critical.css (above-fold) */
/* nav-container: in critical files (above-fold) */

/* --- Services container --- */

.services-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

/* --- Card grid --- */

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-lg);
}

/* --- Split content --- */

.split-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-xl);
  align-items: start;
}

/* --- About text --- */

.about-text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* --- Trust block --- */

.trust-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  text-align: center;
}

/* --- Trust grid --- */

.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-lg);
}

/* --- Reviews container --- */

.reviews-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

/* --- Testimonial grid --- */

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-lg);
}

/* --- Contact container --- */

.contact-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

/* --- Contact split --- */

.contact-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-xl);
  align-items: start;
}

/* --- Contact form --- */

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* --- Form group --- */

.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.form-group label {
  font-size: var(--font-small);
  font-weight: var(--weight-bold);
}

/* --- Contact details --- */

.contact-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

/* --- Contact info block --- */

.contact-info-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.contact-info-block address {
  font-style: normal;
  line-height: var(--leading-loose);
}

/* --- Hours list --- */

.hours-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.hours-row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-md);
}

.hours-row dt {
  font-weight: var(--weight-bold);
  font-size: var(--font-small);
}

.hours-row dd {
  font-size: var(--font-small);
}

/* --- Text block --- */

.text-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* --- CTA block --- */

.cta-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-lg);
}

/* --- Footer grid --- */

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-lg);
}

/* --- Footer attribution --- */

.footer-attribution-block {
  text-align: center;
  padding-top: var(--space-lg);
  font-size: var(--font-caption);
}

/* https://www.sitethreesixty.com */
