.toast, #toast, .toast-container, #toast-container {
  z-index: 9999 !important;
}

/* Vaccine tags */
.pet-vaccine-tag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 14px; border-radius: 50px; cursor: pointer;
  font-size: .78rem; font-weight: 600; font-family: 'DM Sans', sans-serif;
  border: 1.5px solid var(--border); background: var(--soft); color: var(--muted);
  transition: all .18s; white-space: nowrap;
}
.pet-vaccine-tag:hover { border-color: var(--terra); color: var(--terra); }
.pet-vaccine-tag.active {
  background: var(--terra); border-color: var(--terra); color: #fff;
  box-shadow: 0 2px 8px rgba(200,88,46,.3);
}

/* Pet cards */
.pet-card {
  background: #fff; border: 1.5px solid var(--border); border-radius: var(--r);
  overflow: hidden; cursor: pointer;
  transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s, border-color .25s;
}
.pet-card:hover { transform: translateY(-5px); box-shadow: var(--sh-m); border-color: var(--terra); }
.pet-card-img { width:100%; height:170px; object-fit:cover; background:var(--soft); display:block; }
.pet-card-body { padding:14px; }
.pet-card-name { font-family:'Fraunces',serif; font-size:1.25rem; font-weight:700; color:var(--dark); margin-bottom:5px; }
.pet-card-tags { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:10px; }
.pet-card-tag  {
  padding:2px 9px; border-radius:10px; font-size:0.65rem; font-weight:600;
  background:var(--soft); color:var(--muted); border:1px solid var(--border);
}
.pet-card-desc {
  font-size:.78rem; color:var(--muted); line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* Privacy blur */
.pets-private-blur {
  filter: blur(6px); pointer-events: none; user-select: none;
  opacity: .5; min-height: 160px;
}
.pets-private-overlay {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 12px;
  background: rgba(251,246,238,.75); backdrop-filter: blur(2px);
  border-radius: var(--r); z-index: 2;
}

/* Pet modal overlay */
.pet-overlay {
  position: fixed; inset: 0; background: rgba(16,8,2,.82);
  z-index: 500; display: flex; align-items: center; justify-content: center;
  padding: 20px; opacity: 0; pointer-events: none;
  transition: opacity .28s;
}
.pet-overlay.open { opacity: 1; pointer-events: all; }
.pet-modal {
  width: 100%; max-width: 580px; max-height: 90vh; background: #fff;
  border-radius: 20px; overflow-y: auto; box-shadow: 0 20px 80px rgba(16,8,2,.4);
  transform: scale(.96) translateY(18px);
  transition: transform .35s cubic-bezier(.34,1.2,.64,1);
}
.pet-overlay.open .pet-modal { transform: scale(1) translateY(0); }

.pet-detail-modal {
  width: 100%; max-width: 720px; max-height: 92vh; background: #fff;
  border-radius: 20px; overflow-y: auto; box-shadow: 0 20px 80px rgba(16,8,2,.4);
  transform: scale(.96) translateY(18px);
  transition: transform .35s cubic-bezier(.34,1.2,.64,1);
}
.pet-overlay.open .pet-detail-modal { transform: scale(1) translateY(0); }

/* Image input */
.pet-img-input-wrap {
  border: 2px dashed var(--border); border-radius: var(--r-s);
  background: var(--soft); display: flex; align-items: center;
  justify-content: center; min-height: 52px; cursor: pointer; position: relative;
  transition: border-color .2s;
}
.pet-img-input-wrap:hover { border-color: var(--terra); }
.pet-img-input-wrap input[type=file] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; border: none; padding: 0;
}

.pet-overlay.open {
  opacity: 1 !important;
  pointer-events: all !important;
  display: flex !important;
}

#petDetailGalImg {
    cursor: zoom-in;
    transition: filter 0.3s;
}
#petDetailGalImg:hover {
    filter: brightness(0.9);
}

.toast, #toast, .toast-container, #toast-container {
  z-index: 2147483647 !important;
}