.pm-search-pop {
  right: 0px !important;
}

.pm-search{max-width:1100px;}
.pm-search-form{margin:0 0 18px 0}
.pm-search-inputwrap{position:relative}
.pm-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.55}
.pm-search-icon svg{display:block;fill:currentColor}
.pm-search-input{width:350px;max-width:80vw;padding:12px 16px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;font-size:16px;line-height:20px;box-shadow:0 12px 28px rgba(0,0,0,.10)}
.pm-search-input:focus{outline:none;box-shadow:0 0 0 3px rgba(240,183,76,.35);border-color:rgba(240,183,76,.9)}

.pm-search-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.pm-search-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.pm-search-grid{grid-template-columns:1fr}}

.pm-search-card{display:block;text-decoration:none;border:1px solid rgba(0,0,0,.10);border-radius:16px;overflow:hidden;background:#fff;transition:transform .12s ease, box-shadow .12s ease}
.pm-search-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.08)}

.pm-search-card-img{position:relative;width:100%;aspect-ratio:1/1;background-size:cover;background-position:top center;background-color:rgba(0,0,0,.06)}
.pm-search-card-img.pm-is-dimmed::before{content:"";position:absolute;inset:0;background: rgba(255,255,255,.65);z-index:1}

.pm-search-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;padding:10%}
.pm-search-overlay img{max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;display:block;}

.pm-search-badge{position:absolute;top:12px;left:12px;z-index:3;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.6px}
.pm-search-badge-archived{background:rgba(0,0,0,.70);color:#fff}

.pm-search-card-body{padding:12px 12px 14px}
.pm-search-card-name{font-weight:900;font-size:15px;line-height:19px;color:#111}
.pm-search-card-breed{margin-top:6px;font-weight:700;opacity:.75;color:#111}

.pm-search-empty{padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff}
pm-search-card-gender{font-weight:800;opacity:.75}

.pm-search-card-img{position:relative}
.pm-is-dimmed::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 60%);z-index:2}
.pm-search-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}
.pm-search-overlay img{max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;display:block;}

.pm-search-card-disabled{cursor:default;pointer-events:none}

/* Icon-only search that expands on hover/focus without affecting layout */
.pm-search{max-width:1100px;}
.pm-search-form{margin:0 0 18px 0}
.pm-search-float{position:relative;display:inline-block;z-index:9999}
.pm-search-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.pm-search-btn svg{display:block;fill:currentColor;opacity:.8}
.pm-search-pop {
  position: absolute;
right: -40px;
  transform: none;
  z-index: 10001;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.pm-search-float:hover .pm-search-pop,
.pm-search-float:focus-within .pm-search-pop,
.pm-search-float.pm-open .pm-search-pop{opacity:1;visibility:visible;pointer-events:auto}
.pm-search-input{width:350px;max-width:80vw;padding:12px 16px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;font-size:16px;line-height:20px;box-shadow:0 12px 28px rgba(0,0,0,.10)}
.pm-search-input:focus{outline:none;box-shadow:0 0 0 3px rgba(240,183,76,.35), 0 12px 28px rgba(0,0,0,.10);border-color:rgba(240,183,76,.9)}

/* --- Search UI overrides (v1.5.16) --- */
.pm-search-float{position:relative;display:inline-block;z-index:9999}
.pm-search-btn{position:relative;z-index:10000}
.pm-search-pop{
  position:absolute;
  top:calc(100% + 8px);
  right:-40px;
  transform:none;
  z-index:10001;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.pm-search-float:hover .pm-search-pop,
.pm-search-float:focus-within .pm-search-pop,
.pm-search-float.pm-open .pm-search-pop{opacity:1;visibility:visible;pointer-events:auto}
.pm-search-input{
  width:350px !important;
  max-width:80vw !important;
  display:block;
}

/* --- Search UI polish (v1.5.17) --- */
.pm-search-form-full{margin:0 0 18px 0}
.pm-search-fullwrap{position:relative;max-width:1100px}
.pm-search-fullicon{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.6}
.pm-search-input-full{width:100% !important;max-width:none !important;padding:14px 16px;}
.pm-search-btn{border:1px solid rgba(0,0,0,.10);background:#fff}
.pm-search-btn:hover{box-shadow:0 12px 28px rgba(0,0,0,.10)}
.pm-search-btn svg{opacity:.85}

/* --- Results page filters + Go button (v1.5.32) --- */
.pm-search-fullwrap{display:flex;align-items:center;gap:10px}
.pm-search-go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(0,0,0,.10);background:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.pm-search-go:hover{box-shadow:0 12px 28px rgba(0,0,0,.10)}
.pm-search-go svg{opacity:.85}
.pm-search-filters{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.pm-search-select{min-width:180px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.14);background:#fff;font-size:14px;line-height:18px}
@media (max-width:620px){.pm-search-select{min-width:140px}}

/* --- Single-line results filters (v1.5.33) --- */
.pm-search-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pm-search-input-full{flex:1 1 320px;width:auto !important}
.pm-search-select{flex:0 0 auto;min-width:170px}
.pm-search-go{flex:0 0 auto}
@media (max-width:900px){.pm-search-select{min-width:140px}}

/* --- Layout fixes (v1.5.34) --- */
.pm-search-form-full .pm-search-bar{flex-wrap:nowrap}
.pm-search-form-full .pm-search-select{width:auto !important;display:inline-block !important;min-width:170px;max-width:240px}
.pm-search-form-full .pm-search-go{flex:0 0 auto}
@media (max-width:900px){
  .pm-search-form-full .pm-search-bar{flex-wrap:wrap}
  .pm-search-form-full .pm-search-select{min-width:140px;max-width:none}
}








/* --- Remove dim/white overlays for archived grid (v1.5.44) --- */
.pm-archived-results .pm-search-overlay{ display:none !important; }
.pm-archived-results .pm-search-card-img.pm-is-dimmed{ filter:none !important; }
.pm-archived-results .pm-search-card-img.pm-is-dimmed::before,
.pm-archived-results .pm-search-card-img.pm-is-dimmed::after{
    content:none !important;
    background:none !important;
    display:none !important;
}


/* --- Remove 'Archived' label for archived shortcode only (v1.5.46) --- */
.pm-archived-results .pm-archived-label,
.pm-archived-results .pm-search-archived-label,
.pm-archived-results .pm-archived-badge{
    display:none !important;
}


/* --- Hide ARCHIVED badge on archived shortcode only (v1.5.47) --- */
.pm-archived-results .pm-search-badge-archived{
    display:none !important;
}



/* --- Sticky hover search (v1.0.1) --- */
.pm-search-float{
  display:inline-flex;
  align-items:center;
  position:relative;
  z-index:9999;
}
.pm-search-btn{
  position:relative;
  z-index:10001;
  flex-shrink:0;
}
.pm-search-pop{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:10000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  min-width:320px;
}
.pm-search-float:hover .pm-search-pop,
.pm-search-float:focus-within .pm-search-pop,
.pm-search-float.pm-open .pm-search-pop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.pm-search-pop .pm-search-results{
  margin-top:10px;
}

/* --- Ensure hover search does not overlap icon (v1.5.50) --- */
.pm-search-float{display:inline-flex;align-items:center}
.pm-search-btn{position:relative;z-index:10001}
.pm-search-pop{z-index:10000}


/* --- Hover input should end at icon's LEFT edge (v1.5.51) --- */
.pm-search-float{position:relative}


/* --- Force consistent search icon size to 32px (v1.5.52) --- */
.pm-search-btn svg{
    width:32px !important;
    height:32px !important;
}


/* --- Ensure popup never overlaps icon (v1.5.52) --- */
.pm-search-btn{
    position:relative;
    z-index:10001;
}
.pm-search-pop{
    z-index:10000;
}


/* --- Square icon button + improved popup spacing (v1.5.53) --- */
.pm-search-btn{
    width:44px !important;
    height:44px !important;
    border-radius:12px !important; /* square-ish with slight rounding */
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
}

/* Move popup a bit further so field never sits behind the icon */
.pm-search-pop{ right: 0 !important; /* 44px button + 10px gap */
}


/* --- Search button color styling (v1.5.55, icon white v1.0.2) --- */
.pm-search-btn{
    background:#81B9A8 !important;
    color:#fff !important;
    border:1px solid #81B9A8 !important;
}

.pm-search-btn svg{
    stroke:#fff !important;
    color:#fff !important;
    opacity:1 !important;
}

.pm-search-btn:hover{
    background:#81B9A8 !important;
    color:#fff !important;
}


/* --- Guardianship badge on cards (v1.5.59) --- */
.pm-search-badge-guardianship{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(0,0,0,0.35);
  color:#fff;
  font-size:12px;
  font-weight:600;
  padding:6px 10px;
  border-radius:999px;
  letter-spacing:0.2px;
  pointer-events:none;
}


.pm-search-section-title{margin:50px 0 50px 0;font-size:28px;line-height:1.2;font-weight:800;text-align:center;}


/* --- Guardianship gallery grouping layout --- */
.pm-guardianship-gallery .pm-search-section-title{margin:50px 0 50px 0;font-size:28px;line-height:1.2;font-weight:800;text-align:center;}

.pm-guardianship-gallery .pm-search-grid{
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* centers last row when <4 */
  gap: 24px;
}

.pm-guardianship-gallery .pm-search-card{
  flex: 0 1 calc(25% - 18px); /* 4 per row */
  max-width: calc(25% - 18px);
}

/* Responsive */
@media (max-width: 1200px){
  .pm-guardianship-gallery .pm-search-card{
    flex-basis: calc(33.333% - 16px);
    max-width: calc(33.333% - 16px);
  }
}
@media (max-width: 900px){
  .pm-guardianship-gallery .pm-search-card{
    flex-basis: calc(50% - 12px);
    max-width: calc(50% - 12px);
  }
}
@media (max-width: 520px){
  .pm-guardianship-gallery .pm-search-card{
    flex-basis: 100%;
    max-width: 100%;
  }
}
/* Responsive */
@media (max-width: 1200px){
  .pm-guardianship-gallery .pm-search-grid{
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 300px));
  justify-content: center;
  gap: 24px;
}
}
@media (max-width: 900px){
  .pm-guardianship-gallery .pm-search-grid{
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 300px));
  justify-content: center;
  gap: 24px;
}
}
@media (max-width: 520px){
  .pm-guardianship-gallery .pm-search-grid{
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 300px));
  justify-content: center;
  gap: 24px;
}
}

/* --- Alternating background per breed section (Guardianship gallery) --- */
.pm-guardianship-gallery{
  --bbx-studs-row-bg-odd: #c8e6f0;
  --bbx-studs-row-bg-even: #b7d9e6;
}

.pm-guardianship-gallery .pm-breed-section{
  position: relative;
  padding: 28px 0 36px 0;
}

.pm-guardianship-gallery .pm-breed-section::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--bbx-studs-row-bg-odd);
  z-index: 0;
  pointer-events: none;
}

.pm-guardianship-gallery .pm-breed-section:nth-of-type(even)::before{
  background: var(--bbx-studs-row-bg-even);
}

.pm-guardianship-gallery .pm-breed-section-inner{
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

/* ── Search results page (v1.0.6) ─────────────────────────────── */
.dpms-search-results-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

/* h1 uses Amatic SC to match litters page headings */
.dpms-results-heading {
  text-align: center;
  margin: 0 0 32px;
  font-family: "Amatic SC", sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 1.1;
}

.dpms-results-heading em {
  font-style: normal;
  color: #81B9A8;
}

/* Ensure the grid centres correctly on the results page */
.dpms-search-result-grid {
  justify-content: center;
}

/* Puppy name + gender: Open Sans, centred under the 300px card image */
.dpms-search-results-page .bbx-puppy-card,
.dpms-search-results-page .bbx-puppy-card * {
  text-decoration: none;
}

.dpms-search-results-page .bbx-puppy-name {
  width: 300px;
  text-align: center;
  font-family: "Open Sans", sans-serif;
}

.dpms-search-results-page .bbx-puppy-name p {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 400;
  margin: 6px 0 2px;
  text-align: center;
  text-decoration: none;
}

/* Breed sub-label under puppy name on results cards */
.dpms-result-breed {
  font-family: "Open Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600;
  opacity: 0.65;
  margin: 0 !important;
  text-align: center;
}

/* Dropdown: loading indicator */
.pm-search-loading {
  padding: 10px 14px;
  font-size: 14px;
  color: #888;
}

/* Dropdown mini-card list */
.pm-search-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 340px;
  overflow-y: auto;
}

.pm-search-card-mini {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 10px;
  text-decoration: none;
  color: #111;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  transition: background .12s;
}

.pm-search-card-mini:hover {
  background: #f5faf8;
}

.pm-search-card-mini-img {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f0f0;
}

.pm-search-card-mini-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pm-search-card-mini-title {
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
}

.pm-search-card-mini-breed {
  font-size: 12px;
  opacity: .65;
  margin-top: 2px;
}

/* ── Results page filter bar (v1.0.7) ─────────────────────────── */
.dpms-filter-bar {
  background: #f7faf9;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 20px 24px;
  margin-bottom: 36px;
}

.dpms-filter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-end;
}

.dpms-filter-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1 1 180px;
  min-width: 150px;
}

.dpms-filter-field.dpms-filter-search {
  flex: 2 1 240px;
}

.dpms-filter-field.dpms-filter-actions {
  flex: 0 0 auto;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
}

.dpms-filter-label {
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #555;
}

.dpms-filter-input-wrap {
  position: relative;
}

.dpms-filter-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #aaa;
  pointer-events: none;
}

.dpms-filter-text {
  width: 100%;
  padding: 10px 12px 10px 36px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  background: #fff;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.dpms-filter-text:focus {
  outline: none;
  border-color: #81B9A8;
  box-shadow: 0 0 0 3px rgba(129,185,168,.2);
}

.dpms-filter-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  background: #fff;
  appearance: auto;
  transition: border-color .15s, box-shadow .15s;
}

.dpms-filter-select:focus {
  outline: none;
  border-color: #81B9A8;
  box-shadow: 0 0 0 3px rgba(129,185,168,.2);
}

.dpms-filter-btn {
  padding: 10px 22px;
  background: #81B9A8;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
}

.dpms-filter-btn:hover {
  background: #6da897;
}

.dpms-filter-clear {
  padding: 10px 14px;
  color: #888;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  text-decoration: none;
  border-radius: 10px;
  white-space: nowrap;
  transition: color .12s;
}

.dpms-filter-clear:hover {
  color: #333;
}

.dpms-results-count {
  text-align: center;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  color: #888;
  margin: 0 0 20px;
}

@media (max-width: 680px) {
  .dpms-filter-field,
  .dpms-filter-field.dpms-filter-search {
    flex: 1 1 100%;
  }
  .dpms-filter-field.dpms-filter-actions {
    flex: 1 1 100%;
    justify-content: flex-start;
  }
}
