/* ==========================================================================
   Devon Rex Adoption — Badge logo

   The supplied artwork is a circular badge that already contains the name, so
   it stands alone rather than sitting beside a duplicate wordmark.

   The header badge is Astra's native custom logo, so the client can swap it
   from the Customizer. Sizes are also pinned here so the header cannot
   collapse or balloon if that setting is ever cleared.

   The footer uses the cream cut-out of the same artwork, because the brown
   original would disappear against #171412.
   ========================================================================== */

/* ------------------------------------------------------------- Header */

.site-header .custom-logo-link,
.ast-site-identity .custom-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  border-radius: 50%;
  transition: transform .34s var(--dr-ease);
}

.site-header .custom-logo,
.ast-site-identity .custom-logo {
  display: block;
  width: 64px;
  height: 64px;
  max-width: none;
  object-fit: contain;
}

.site-header .custom-logo-link:hover { transform: translateY(-1px) scale(1.02); }
.site-header .custom-logo-link:active { transform: translateY(0) scale(.99); }
.site-header .custom-logo-link:focus-visible {
  outline: 2px solid var(--dr-copper);
  outline-offset: 4px;
}

/* The badge already carries the name, so the text title is hidden visually
   but kept in the accessibility tree - collapsing its line-height alone left
   the text painting outside a zero-height box. */
.ast-site-identity .site-title,
.site-header .site-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ast-site-identity { padding: 0; }
.ast-site-identity .site-logo-img { line-height: 0; }

/* ------------------------------------------------- Header, smaller screens */

@media (max-width: 1100px) {
  .site-header .custom-logo, .ast-site-identity .custom-logo { width: 58px; height: 58px; }
}
@media (max-width: 921px) {
  .site-header .custom-logo, .ast-site-identity .custom-logo { width: 54px; height: 54px; }
}
@media (max-width: 480px) {
  .site-header .custom-logo, .ast-site-identity .custom-logo { width: 50px; height: 50px; }
}
@media (max-width: 360px) {
  .site-header .custom-logo, .ast-site-identity .custom-logo { width: 46px; height: 46px; }
}

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

.dr-logo--footer {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  margin-bottom: 1.15rem;
  border-radius: 50%;
  transition: transform .34s var(--dr-ease);
}
.dr-logo--footer:hover { transform: translateY(-1px) scale(1.02); }
.dr-logo--footer:focus-visible {
  outline: 2px solid var(--dr-copper-soft);
  outline-offset: 4px;
}

.dr-logo__badge {
  display: block;
  width: 104px;
  height: 104px;
  max-width: none;
  object-fit: contain;
}

@media (max-width: 921px) {
  .dr-logo--footer .dr-logo__badge { width: 92px; height: 92px; }
}
@media (max-width: 480px) {
  .dr-logo--footer .dr-logo__badge { width: 84px; height: 84px; }
}

/* ----------------------------------------------------------- Print / HC */

@media print {
  .site-header .custom-logo { width: 76px; height: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .custom-logo-link:hover,
  .site-header .custom-logo-link:active,
  .dr-logo--footer:hover { transform: none; }
}

@media (forced-colors: active) {
  .site-header .custom-logo,
  .dr-logo__badge { forced-color-adjust: none; }
}
