/* ==========================================================================
   Additional Component Styles
   ========================================================================== */

/* Scroll reveal animations */
.dc-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.dc-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--dc-orange);
  outline-offset: 2px;
}

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* WordPress alignments */
.alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.aligncenter {
  display: block;
  margin: 0 auto 1em;
}

/* WordPress gallery fix */
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}

/* WP Admin Bar offset */
.admin-bar .dc-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .dc-header {
    top: 46px;
  }
}
