/* =========================
   Minimal Dog Profile Layout
========================= */

.dog-profile {
  max-width: 900px;
  margin: 2.5rem auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem; /* tighter spacing */
  text-align: center;
  font-family: 'Inter', sans-serif;
  line-height: 1.6;
  color: #333;
}

/* -------------------------
   Main Dog Image + Short Info
------------------------- */

.dog-left {
  text-align: center;
}

.dog-left img {
  display: block;
  margin: 0 auto;
  width: auto; /* natural size */
  height: auto;
}

.short-info {
  margin-top: 0.4rem;
  font-size: 1rem;
  opacity: 0.85;
  font-weight: 500;
  color: #444;
}

/* -------------------------
   Extra Pix Section
------------------------- */

.extra-pix-wrapper {
  margin-top: 0.25rem; /* reduced gap */
  text-align: center;
}

.extra-pix-toggle {
  background: none;
  border: none;
  padding: 0;
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  color: inherit;
  margin-bottom: 0.25rem;
  display: inline-block;
}

.extra-pix-toggle:hover {
  opacity: 0.7;
}

/* --- FIXED 3‑ACROSS GRID --- */
.extra-pix-grid {
  display: grid;
  grid-template-columns: repeat(3, auto); /* always 3 per row on desktop */
  gap: 0.4rem; /* tighter spacing */
  justify-content: center;
  margin: 0.25rem auto 1.5rem auto;
}

.extra-pix-grid img {
  display: block;
  width: auto;  /* natural size */
  height: auto;
}

.extra-pix-grid[hidden] {
  display: none;
}

/* -------------------------
   Elegant Divider
------------------------- */

.profile-divider {
  grid-column: 1 / -1;
  position: relative;
  height: 1.5px;
  margin: 2rem auto;
  width: 80%;
  background: linear-gradient(
    to right,
    transparent,
    #0b3d2e 20%,
    #d4b46a 50%,
    #0b3d2e 80%,
    transparent
  );
  border-radius: 2px;
}

.profile-divider::after {
  content: "✦";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: 1rem;
  color: #d4b46a;
  padding: 0 0.25rem;
  background: #fff;
}

/* -------------------------
   Responsive adjustments
------------------------- */

@media (max-width: 700px) {
  .extra-pix-grid {
    grid-template-columns: repeat(2, auto); /* 2 per row */
  }
}

@media (max-width: 450px) {
  .extra-pix-grid {
    grid-template-columns: 1fr; /* 1 per row */
  }

  .extra-pix-grid img {
    width: 100%; /* scale down only on tiny screens */
    height: auto;
  }
}
