/* Custom CSS for Next.js reno Theme */

/* Ensure images maintain aspect ratio */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/*
 * Links now navigate client-side (next/link) instead of doing a full page
 * reload, so the browser's default click/focus outline and mobile
 * tap-highlight — previously invisible because the page unloaded the
 * instant you clicked — now stay visible on screen after the click and
 * show up as a blue/black/white box around menu links, the logo, project
 * cards, etc.
 *
 * Remove that default styling everywhere, but keep a visible focus ring
 * for keyboard navigation (:focus-visible only matches keyboard/script
 * focus, not a mouse click), so this doesn't create an accessibility
 * regression.
 */
a {
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

a:focus:not(:focus-visible) {
  outline: none;
}

a:focus-visible {
  outline: 2px solid #583d34;
  outline-offset: 2px;
}

/* Project masonry images */
.project-masonry-wrapper img.s-img-switch {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Project detail slider images */
.project-detail-main-slide img,
.project-detail-thumb-slider img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Ensure slick slider images maintain ratio */
.slick-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Project masonry item background */
.project-masonry-item-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

/* Top banner images */
.top-banner img.s-img-switch {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center;
}

/* Service images and other general images */
.s-img-switch {
  max-width: 100%;
  height: auto;
}

/* Contact page location images */
.adddress-block img.s-img-switch {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Team images */
.reno-team-img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
