.alignwide {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: auto;
}

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: auto;
}

.wp-block-group {
  margin-bottom: var(--spacing-xl);
}

.wp-block-columns {
  margin-bottom: var(--spacing-xl);
}

.wp-block-column {
  padding: var(--spacing-md);
}

.wp-block-button .wp-block-button__link {
  background-color: var(--color-primary);
  color: white;
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--border-radius);
  text-decoration: none;
  display: inline-block;
  transition: var(--transition);
}

.wp-block-button .wp-block-button__link:hover {
  background-color: var(--color-tertiary);
  transform: translateY(-2px);
}

.wp-block-quote {
  border-left: 4px solid var(--color-primary);
  padding-left: var(--spacing-lg);
  margin: var(--spacing-xl) 0;
  font-style: italic;
}

.wp-block-pullquote {
  border-top: 4px solid var(--color-primary);
  border-bottom: 4px solid var(--color-primary);
  padding: var(--spacing-xl) 0;
  text-align: center;
  font-size: var(--font-size-xl);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: var(--color-background-light);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
	clip: auto !important;
	clip-path: none;
  color: var(--color-text);
	display: block;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
	height: auto;
	left: 5px;
	line-height: normal;
  padding: var(--spacing-sm) var(--spacing-md);
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

@media print {
  .site-header,
  .site-footer,
  .hero-section,
  .cta-section {
    display: none;
  }

  .container {
    max-width: none;
    padding: 0;
  }

  .site-content {
    margin: 0;
  }

  body {
    font-size: 12pt;
    line-height: 1.4;
  }

  h1, h2, h3, h4, h5, h6 {
    color: black;
    page-break-after: avoid;
  }

  p, li {
    page-break-inside: avoid;
  }

  .service-card,
  .service-detail-row {
    page-break-inside: avoid;
    margin-bottom: 1rem;
  }
}
