/* Shared adjustments for Casa de Campo and Criadouro. */
.topbar,
.shop-header {
  background: rgba(23, 42, 31, .7);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.topbar nav > a { font-size: .88rem; }
.shop-header nav { font-size: .858rem; }
.topbar nav > a,
.shop-header nav > a { transition: color .2s ease; }
.shop-header nav > a:hover { color: #e3c395; }

.nav-socials {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding-left: 1rem;
  border-left: 1px solid #ffffff40;
}
.nav-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ffffff35;
  border-radius: 50%;
  color: white;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.nav-social svg { width: 21px; height: 21px; }
.nav-social:not([aria-disabled="true"]):hover,
.nav-social:focus-visible {
  background: #e3c395;
  border-color: #e3c395;
  color: #172a1f;
  transform: translateY(-2px);
}
.nav-social[aria-disabled="true"] { cursor: default; }
.socials a {
  padding: .6rem .9rem;
  border: 1px solid #253b3033;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.socials a:hover,
.socials a:focus-visible { background: #253b30; color: #fff; transform: translateY(-2px); }

.explore-button {
  margin-top: 1rem;
  border-radius: 999px;
  box-shadow: 0 6px 18px #253b3018;
}
.explore-button:hover { background: #405846; box-shadow: 0 10px 24px #253b3026; }
.intro-photo {
  margin: 0;
  height: 490px;
  overflow: hidden;
  border-radius: 160px 160px 4px 4px;
  box-shadow: 0 18px 40px #253b301f;
}
.intro .intro-photo img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  transition: transform .8s ease, filter .8s ease;
}
.intro-photo:hover img { transform: scale(1.055); filter: saturate(1.08); }

.reception-carousel {
  position: relative;
  height: 570px;
  overflow: hidden;
  border-radius: 12px;
  background: #172a1f;
}
.reception-frame { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 1.2s ease; }
.reception-frame.is-active { opacity: 1; visibility: visible; }
.reception-frame img { width: 100%; height: 100%; }
.reception-frame figcaption { padding-bottom: 5rem; }
.reception-carousel__controls {
  position: absolute;
  z-index: 2;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  gap: .5rem;
  align-items: center;
}
.reception-carousel__controls button {
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff70;
  border-radius: 50%;
  background: #172a1fb3;
  color: white;
  transition: background .2s ease;
}
.reception-carousel__controls button:hover { background: #405846; }
.reception-carousel__count { margin-left: auto; color: white; font-size: .8rem; }

@media (max-width: 800px) {
  .topbar nav > a { font-size: .748rem; }
  .shop-header { flex-wrap: wrap; }
  .shop-header nav { font-size: .715rem; flex-wrap: wrap; justify-content: flex-end; }
  .shop-header .nav-socials { padding-left: .6rem; }
  .topbar .nav-socials { width: 100%; justify-content: flex-end; border: 0; padding: 0; }
  .nav-social { width: 36px; height: 36px; }
  .intro-photo { height: 380px; }
  .reception-carousel { height: 350px; }
}
@media (max-width: 480px) {
  .shop-header nav { width: 100%; justify-content: space-between; gap: .5rem; }
  .shop-header .nav-socials { gap: .35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .intro-photo:hover img { transform: none; filter: none; }
  .nav-social:hover, .socials a:hover { transform: none; }
  .reception-frame { transition: none; }
}
