/* Pet Match – Frontend UI (Pastel / minimal) */

:root{
  --pm-bg: #ffffff;
  --pm-text: #1f2937;
  --pm-muted: #6b7280;
  --pm-border: rgba(17, 24, 39, .12);
  --pm-shadow: 0 10px 30px rgba(17, 24, 39, .10);
  --pm-radius: 16px;

  /* Brand accents (pastel) */
  --pm-accent: #f43f5e;      /* rose */
  --pm-accent-2: #8b5cf6;    /* violet */
  --pm-accent-3: #06b6d4;    /* cyan */
  --pm-accent-4: #22c55e;    /* green */

  --pm-card-bg: rgba(255,255,255,.88);
}

.pm-wrap{max-width: 1100px; margin: 0 auto; padding: 24px 16px; color: var(--pm-text);} 
.pm-wrap *{box-sizing:border-box;}

.pm-h1{font-size: clamp(28px, 3vw, 40px); margin: 0 0 10px 0; line-height:1.1;}
.pm-h2{font-size: clamp(22px, 2.2vw, 30px); margin: 28px 0 12px 0;}
.pm-muted{color: var(--pm-muted);}

/* Buttons */
.pm-btn{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--pm-border); background: #fff; color: var(--pm-text); padding: 10px 14px; border-radius: 999px; text-decoration:none; font-weight:600; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-btn:hover{transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17,24,39,.10); border-color: rgba(244,63,94,.35);} 
.pm-btn--primary{background: linear-gradient(135deg, rgba(244,63,94,.18), rgba(139,92,246,.16)); border-color: rgba(244,63,94,.25);} 
.pm-btn--ghost{background: transparent;}

/* HOME CTA cards */
.pm-home-grid{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 14px;}
@media (max-width: 820px){ .pm-home-grid{grid-template-columns: 1fr;} }

.pm-home-card{position:relative; overflow:hidden; border:1px solid var(--pm-border); border-radius: var(--pm-radius); background: var(--pm-card-bg); padding: 18px; min-height: 140px; box-shadow: 0 1px 0 rgba(17,24,39,.04); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-home-card:before{content:""; position:absolute; inset:-40px; background: radial-gradient(closest-side at 20% 20%, rgba(244,63,94,.22), transparent 55%),
  radial-gradient(closest-side at 70% 30%, rgba(139,92,246,.18), transparent 55%),
  radial-gradient(closest-side at 50% 80%, rgba(6,182,212,.16), transparent 55%);
  filter: blur(0px);
  opacity: .9;
  pointer-events:none;
}
.pm-home-card > *{position:relative;}
.pm-home-card:hover{transform: translateY(-2px); box-shadow: var(--pm-shadow); border-color: rgba(244,63,94,.35);} 

.pm-home-kicker{font-size: 12px; letter-spacing:.08em; text-transform:uppercase; color: var(--pm-muted); margin: 0 0 8px 0;}
.pm-home-title{font-size: 22px; margin: 0 0 6px 0;}
.pm-home-desc{margin: 0 0 14px 0; color: var(--pm-muted);}

.pm-home-card .pm-home-actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}

/* Sliders / lists */
.pm-slider{position:relative; border:1px solid var(--pm-border); border-radius: var(--pm-radius); padding: 14px; background:#fff;}
.pm-slider-head{display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom: 10px;}
.pm-slider-title{margin:0; font-size: 20px;}
.pm-slider-nav{display:flex; gap:8px;}
.pm-icon-btn{width:42px; height:42px; border-radius: 12px; border:1px solid var(--pm-border); background:#fff; display:grid; place-items:center; cursor:pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-icon-btn:hover{transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17,24,39,.10); border-color: rgba(6,182,212,.35);} 

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

.pm-case-card{border:1px solid var(--pm-border); border-radius: 18px; overflow:hidden; background:#fff; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-case-card:hover{transform: translateY(-2px); box-shadow: var(--pm-shadow); border-color: rgba(139,92,246,.32);} 

.pm-case-thumb{aspect-ratio: 16/10; background: linear-gradient(135deg, rgba(244,63,94,.14), rgba(6,182,212,.12)); display:block;}
.pm-case-body{padding: 12px 12px 14px 12px;}
.pm-case-title{margin: 0 0 6px 0; font-size: 16px;}
.pm-case-meta{margin: 0; font-size: 13px; color: var(--pm-muted); display:flex; gap:10px; flex-wrap:wrap;}
.pm-badge{display:inline-flex; align-items:center; border:1px solid var(--pm-border); background: rgba(255,255,255,.9); padding: 4px 8px; border-radius: 999px; font-size: 12px; color: var(--pm-muted);} 

.pm-empty{padding: 10px 0; color: var(--pm-muted);} 

/* Forms */
.pm-form{border:1px solid var(--pm-border); border-radius: var(--pm-radius); background:#fff; padding: 18px;}
.pm-form h2{margin-top:0;}
.pm-row{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;}
@media (max-width: 860px){ .pm-row{grid-template-columns: 1fr;} }

.pm-field label{display:block; font-size: 13px; color: var(--pm-muted); margin-bottom: 6px;}
.pm-field input[type="text"],
.pm-field input[type="date"],
.pm-field select,
.pm-field textarea{width:100%; padding: 10px 12px; border-radius: 14px; border:1px solid var(--pm-border); background:#fff; outline:none; transition: box-shadow .15s ease, border-color .15s ease;}
.pm-field textarea{min-height: 110px; resize: vertical;}
.pm-field input:focus,
.pm-field select:focus,
.pm-field textarea:focus{border-color: rgba(244,63,94,.35); box-shadow: 0 0 0 4px rgba(244,63,94,.10);} 

.pm-form-actions{display:flex; flex-wrap:wrap; gap: 10px; margin-top: 14px;}

/* Report sighting (modal-ish area if any) */
.pm-callout{border:1px solid rgba(6,182,212,.25); background: rgba(6,182,212,.08); border-radius: var(--pm-radius); padding: 12px 14px; color: var(--pm-text);} 

/* Ensure Elementor/Theme doesn't shrink inputs */
.pm-wrap input, .pm-wrap select, .pm-wrap textarea, .pm-wrap button{font: inherit;}

/* Compatibility with existing markup */
.pm-home{max-width:1100px; margin:0 auto; padding: 24px 16px;}
.pm-home-grid{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px;}
@media (max-width: 820px){ .pm-home-grid{grid-template-columns:1fr;} }

.pm-home-card{position:relative; display:block; text-decoration:none; color: var(--pm-text); border:1px solid var(--pm-border); border-radius: var(--pm-radius); overflow:hidden; padding:18px; min-height: 150px; background: var(--pm-card-bg); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-home-card:before{content:""; position:absolute; inset:-40px; opacity:.95; pointer-events:none; background:
  radial-gradient(closest-side at 22% 24%, rgba(244,63,94,.22), transparent 55%),
  radial-gradient(closest-side at 78% 30%, rgba(139,92,246,.18), transparent 55%),
  radial-gradient(closest-side at 50% 84%, rgba(6,182,212,.16), transparent 55%);
}
.pm-home-card--publish:before{background:
  radial-gradient(closest-side at 20% 24%, rgba(34,197,94,.18), transparent 55%),
  radial-gradient(closest-side at 78% 30%, rgba(244,63,94,.18), transparent 55%),
  radial-gradient(closest-side at 50% 84%, rgba(139,92,246,.16), transparent 55%);
}
.pm-home-card > *{position:relative;}
.pm-home-card:hover{transform: translateY(-2px); box-shadow: var(--pm-shadow); border-color: rgba(244,63,94,.35);} 

.pm-home-card-title{font-size: 12px; letter-spacing:.08em; text-transform:uppercase; color: var(--pm-muted); margin:0 0 10px 0;}
.pm-home-card-desc{font-size: 20px; font-weight:700; margin: 0; line-height:1.25;}

.pm-home-card-hover{
  /* Reveal-on-hover content without overlaying the title/desc */
  position: static;
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top: 14px;
  padding: 0;
  background: transparent;
  overflow:hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(4px);
  transition: max-height .22s ease, opacity .18s ease, transform .18s ease;
}
.pm-home-card:hover{background:#fff;}
.pm-home-card:hover .pm-home-card-hover{
  max-height: 80px;
  opacity: 1;
  transform: translateY(0);
}
.pm-home-card-cta{font-weight:800; color: var(--pm-text); margin-bottom: 6px;}
.pm-home-card-hint{font-size: 13px; color: var(--pm-muted);} 
.pm-title{font-size: clamp(28px, 3vw, 40px); margin: 0 0 14px 0; line-height:1.1;}
.pm-home h2{font-size: clamp(22px, 2.2vw, 30px); margin: 28px 0 12px 0;}

/* Slider cards (existing classes) */
.pm-cards{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;}
@media (max-width: 980px){ .pm-cards{grid-template-columns: repeat(2, minmax(0,1fr));} }
@media (max-width: 620px){ .pm-cards{grid-template-columns: 1fr;} }

.pm-card{display:block; text-decoration:none; color: var(--pm-text); border:1px solid var(--pm-border); border-radius: 18px; overflow:hidden; background:#fff; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-card:hover{transform: translateY(-2px); box-shadow: var(--pm-shadow); border-color: rgba(139,92,246,.32);} 
.pm-card-img{aspect-ratio: 16/10; background-size:cover; background-position:center; background-color:#f3f4f6;}
.pm-card-body{padding: 12px 12px 14px 12px; display:flex; flex-direction:column; gap:8px;}
.pm-card-title{font-weight:800;}
.pm-badge{display:inline-flex; width: fit-content; align-items:center; border:1px solid var(--pm-border); background: rgba(255,255,255,.9); padding: 4px 8px; border-radius: 999px; font-size: 12px; color: var(--pm-muted);} 

.pm-slider{border:1px solid var(--pm-border); border-radius: var(--pm-radius); padding: 14px; background:#fff;}
.pm-slider-head{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom: 10px;}
.pm-slider-nav{display:flex; gap:8px;}
.pm-slider-nav button{width:42px; height:42px; border-radius: 12px; border:1px solid var(--pm-border); background:#fff; cursor:pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.pm-slider-nav button:hover{transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17,24,39,.10); border-color: rgba(6,182,212,.35);} 

.pm-empty{color: var(--pm-muted); padding: 8px 0;}
.pm-empty a{color: var(--pm-accent); font-weight:700; text-decoration:none;}
.pm-empty a:hover{text-decoration:underline;}

/* Small helper text under fields */
.pm-help{display:block; margin-top:6px; font-size:12px; color: var(--pm-muted);} 

/* Forms existing */
.pm-create-form, .pm-search-form, .pm-alert-form, .pm-sighting-form{border:1px solid var(--pm-border); border-radius: var(--pm-radius); background:#fff; padding: 18px; max-width: 980px; margin: 0 auto;}
.pm-create-form h2, .pm-search-form h2{margin-top:0;}

.pm-create-form .pm-row, .pm-search-form .pm-row{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;}
@media (max-width: 860px){ .pm-create-form .pm-row, .pm-search-form .pm-row{grid-template-columns:1fr;} }

.pm-create-form label, .pm-search-form label{display:block; font-size: 13px; color: var(--pm-muted); margin-bottom: 6px;}
.pm-create-form input[type="text"],
.pm-create-form input[type="date"],
.pm-create-form input[type="email"],
.pm-create-form select,
.pm-search-form input[type="text"],
.pm-search-form input[type="date"],
.pm-search-form select,
.pm-alert-form input[type="email"],
.pm-alert-form select,
.pm-sighting-form input[type="email"],
.pm-sighting-form textarea,
.pm-create-form textarea{
  width:100%; padding: 10px 12px; border-radius: 14px; border:1px solid var(--pm-border); background:#fff; outline:none;
}
.pm-create-form textarea, .pm-sighting-form textarea{min-height: 110px; resize: vertical;}
.pm-create-form input:focus,
.pm-create-form select:focus,
.pm-create-form textarea:focus,
.pm-search-form input:focus,
.pm-search-form select:focus,
.pm-alert-form input:focus,
.pm-alert-form select:focus,
.pm-sighting-form textarea:focus,
.pm-sighting-form input:focus{border-color: rgba(244,63,94,.35); box-shadow: 0 0 0 4px rgba(244,63,94,.10);} 

.pm-create-form button, .pm-search-form button, .pm-alert-form button, .pm-sighting-form button{
  display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--pm-border);
  background: linear-gradient(135deg, rgba(244,63,94,.18), rgba(139,92,246,.16));
  padding: 11px 16px; border-radius: 14px; font-weight:800; cursor:pointer;
}
.pm-create-form button:hover, .pm-search-form button:hover, .pm-alert-form button:hover, .pm-sighting-form button:hover{box-shadow: 0 10px 24px rgba(17,24,39,.10);} 

.pm-ok{border:1px solid rgba(34,197,94,.25); background: rgba(34,197,94,.08); border-radius: var(--pm-radius); padding: 12px 14px;}
.pm-error{border:1px solid rgba(244,63,94,.25); background: rgba(244,63,94,.08); border-radius: var(--pm-radius); padding: 12px 14px;}

/* ------------------------------------------------------------
   UX/UI refresh (Montserrat + Home CTAs + Cards/Carousel)
   ------------------------------------------------------------ */

.pm-app{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#111827;
}

.pm-app a{ text-decoration:none; }

.pm-notice{
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #fff;
  font-size: 14px;
}
.pm-notice-success{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.pm-btn.pm-btn-link{
  margin-left: 8px;
  background: transparent;
  border: 1px solid #111827;
  color: #111827;
  padding: 6px 10px;
  border-radius: 999px;
}

/* Home CTA cards: image background + hover reveal */
.pm-home-hero{margin:10px 0 22px;}
.pm-home-hero h1{letter-spacing:-0.02em;}

.pm-home-grid{gap:16px;}

.pm-home-card{
  position:relative;
  overflow:hidden;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 30px rgba(17,24,39,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  min-height: 150px;
}

.pm-home-card::before{
  content:"";
  position:absolute; inset:0;
  opacity:.95;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
  transition: opacity .18s ease, filter .18s ease;
}

.pm-home-card::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.92));
  transition: opacity .18s ease;
}

/* Lightweight inline SVG backgrounds (no assets required) */
.pm-home-card--search::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600'%3E%3Cdefs%3E%3CradialGradient id='g' cx='30%25' cy='40%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%23ffe4ef'/%3E%3Cstop offset='100%25' stop-color='%23fff7fb'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='1200' height='600' fill='url(%23g)'/%3E%3Cg opacity='.22'%3E%3Ccircle cx='220' cy='180' r='90' fill='%23ff4d8d'/%3E%3Ccircle cx='360' cy='140' r='40' fill='%23ff4d8d'/%3E%3Ccircle cx='410' cy='220' r='35' fill='%23ff4d8d'/%3E%3Ccircle cx='300' cy='255' r='48' fill='%23ff4d8d'/%3E%3C/g%3E%3Cg opacity='.18'%3E%3Cpath d='M860 120c60 0 110 50 110 110s-50 110-110 110-110-50-110-110 50-110 110-110z' fill='%23111827'/%3E%3Cpath d='M860 170c34 0 60 27 60 60s-26 60-60 60-60-27-60-60 26-60 60-60z' fill='%23fff' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");
}

.pm-home-card--publish::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600'%3E%3Cdefs%3E%3CradialGradient id='g2' cx='60%25' cy='40%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%23dbeafe'/%3E%3Cstop offset='100%25' stop-color='%23f5f3ff'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='1200' height='600' fill='url(%23g2)'/%3E%3Cg opacity='.22'%3E%3Ccircle cx='960' cy='180' r='95' fill='%235b21b6'/%3E%3Ccircle cx='810' cy='150' r='42' fill='%235b21b6'/%3E%3Ccircle cx='760' cy='240' r='36' fill='%235b21b6'/%3E%3Ccircle cx='880' cy='265' r='50' fill='%235b21b6'/%3E%3C/g%3E%3Cg opacity='.18'%3E%3Cpath d='M320 140c70 0 125 55 125 125S390 390 320 390 195 335 195 265 250 140 320 140z' fill='%23111827'/%3E%3Cpath d='M320 200c38 0 68 30 68 68s-30 68-68 68-68-30-68-68 30-68 68-68z' fill='%23fff' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");
}

.pm-home-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(17,24,39,.10);
  border-color: #111827;
}

.pm-home-card:hover::before{ opacity: 0; }
.pm-home-card:hover::after{ opacity: 1; background: #f9fafb; }

.pm-home-card-content{
  position:relative;
  z-index: 2;
  padding: 18px 18px 16px;
}

.pm-home-card-title{font-weight:700; letter-spacing:-0.02em;}
.pm-home-card-desc{color:#374151; font-weight:500;}
.pm-home-card-link{color:#111827; font-weight:700;}

/* Cards grid (Search page) */
.pm-grid.pm-grid-cards{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.pm-card{
  display:block;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 10px 30px rgba(17,24,39,.05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pm-card:hover{ transform: translateY(-2px); border-color:#111827; box-shadow: 0 18px 40px rgba(17,24,39,.10); }

.pm-card-img{
  height: 180px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pm-card-body{ padding: 14px 14px 16px; }
.pm-badge{ display:inline-block; font-weight:700; font-size:12px; color:#111827; opacity:.8; margin-bottom:6px; }
.pm-card-title{ font-weight:700; color:#111827; }

/* Tinder-ish carousel: 5 visible on desktop, snap + single-step */
.pm-slider{ position:relative; }
.pm-slider-track{
  display:flex;
  gap: 16px;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  scroll-behavior:smooth;
  padding-bottom: 6px;
}
.pm-slider-track::-webkit-scrollbar{ height: 8px; }
.pm-slider-track::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:999px; }

.pm-slider-track .pm-card{
  flex: 0 0 calc((100% - 64px) / 5);
  scroll-snap-align: start;
}

@media (max-width: 980px){
  .pm-slider-track .pm-card{ flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 640px){
  .pm-slider-track .pm-card{ flex-basis: 85%; }
}

.pm-slider-btn{
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background:#fff;
  width: 42px; height: 42px;
  display:grid; place-items:center;
  transition: border-color .16s ease, transform .16s ease;
}
.pm-slider-btn:hover{ border-color:#111827; transform: translateY(-1px); }


/* ===== UX/UI Patch v0.5.3.12 ===== */
.pm-app{font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
/* Home choice cards: keep info visible on hover */
.pm-home-card{position:relative;overflow:hidden;}
.pm-home-card-top{position:relative;}
.pm-home-card-hover{
  position: static;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  margin-top:14px;
  padding:0;
  background:transparent;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(4px);
  transition:max-height .22s ease, opacity .18s ease, transform .18s ease;
  color:var(--pm-text);
}
.pm-home-card:hover .pm-home-card-hover{max-height:80px;opacity:1;transform:none;}
.pm-home-card-hover h3,
.pm-home-card-hover p{margin:0;color:var(--pm-text);}
.pm-home-card-hover .pm-home-card-pill{color:var(--pm-text);border-color:rgba(30,30,30,.35);background:rgba(255,255,255,.6);}

/* Search bar: one line (input + select + icon button) */
.pm-searchbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.pm-searchbar .pm-field{flex:1 1 320px;}
.pm-searchbar .pm-select{flex:0 0 220px;}
.pm-searchbar .pm-btn-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:44px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:linear-gradient(135deg,#ffe6ef,#eef6ff);
  box-shadow:0 10px 26px rgba(0,0,0,.08);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pm-searchbar .pm-btn-icon:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.10);border-color:rgba(0,0,0,.22);}
.pm-searchbar .pm-btn-icon svg{width:18px;height:18px;}

/* Cards grid: consistent sizing (prevents "huge blank area") */
.pm-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;}
@media (max-width: 980px){.pm-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.pm-searchbar{gap:10px}.pm-searchbar .pm-select{flex:1 1 180px}.pm-cards-grid{grid-template-columns:1fr;}}

.pm-card{height:100%;}
.pm-card-img{width:100%;aspect-ratio: 4/3;background-size:cover;background-position:center;border-radius:18px 18px 0 0;}
.pm-card-body{padding:14px 16px 16px;}
.pm-card-title{font-size:16px;line-height:1.25;margin:0 0 6px;}
.pm-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.7);}

/* WhatsApp CTA */
.pm-wa-cta{margin-top:18px;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:linear-gradient(135deg,#f8fbff,#fff7fb);}
.pm-wa-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.pm-btn--wa{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid rgba(0,0,0,.12);
  background:linear-gradient(135deg,#eafff1,#e9fff7);box-shadow:0 12px 28px rgba(0,0,0,.10);font-weight:700;}
.pm-btn--wa:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.12);border-color:rgba(0,0,0,.22);}
.pm-btn--wa svg{width:18px;height:18px;}

/* Admin gallery */
.pm-admin-gallery{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;}
.pm-admin-preview{width:140px;height:140px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.12);}

/* ===== UX/UI Hotfix v0.5.3.12 (hover + /buscar polish) ===== */
/* Home cards: keep text visible on hover (no white-out) */
.pm-home-card:hover .pm-home-card-top{opacity:1 !important;}
.pm-home-card-hover{pointer-events:none; background: transparent !important;}
.pm-home-card:hover::before{opacity:.95 !important;}
.pm-home-card:hover::after{opacity:.55 !important; background: rgba(255,255,255,.55) !important;}

/* Better contrast for home card text */
.pm-home-card-title{color: rgba(17,24,39,.70) !important;}
.pm-home-card-desc{color: rgba(17,24,39,.92) !important;}

/* /buscar: card grid + form spacing + soft container */
.pm-search.pm-app{max-width: 1180px; margin: 0 auto; padding: 14px 12px;}
.pm-search-form.pm-searchbar{position:sticky; top: 10px; z-index: 10; padding: 12px; border-radius: 18px; border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.86); backdrop-filter: blur(10px);
}
.pm-searchbar .pm-input{height:44px; border-radius: 14px; border:1px solid rgba(0,0,0,.10); padding: 0 14px;}
.pm-searchbar .pm-select{height:44px; border-radius: 14px; border:1px solid rgba(0,0,0,.10); padding: 0 12px; background:#fff;}
.pm-cards-grid{margin-top: 16px;}

/* Empty states */
.pm-empty{padding: 18px; border: 1px dashed rgba(0,0,0,.18); border-radius: 18px; background: rgba(255,255,255,.7); color: rgba(17,24,39,.75);}


/* ===== Hotfix v0.5.3.15 (Home hover + Map height + Single case gallery + Search badges) ===== */

/* Home cards: prevent text overlap and keep text visible on hover */
.pm-home-cards{gap:18px;}
.pm-home-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:140px;
}
.pm-home-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:inherit;
  transition:background .2s ease, opacity .2s ease;
  z-index:0;
}
.pm-home-card-top,
.pm-home-card-hover{position:relative; z-index:1;}
.pm-home-card-top{display:flex; flex-direction:column; gap:8px;}
.pm-home-card-title{margin:0; line-height:1.25;}
.pm-home-card-desc{margin:0;}

/* On hover: background becomes white, text stays readable */
.pm-home-card:hover{background:#fff !important;}
.pm-home-card:hover .pm-home-card-title,
.pm-home-card:hover .pm-home-card-desc{
  color:var(--pm-text) !important;
}

/* Ensure hover section doesn't overlap */
.pm-home-card-hover{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
.pm-home-card:hover .pm-home-card-hover{max-height:140px;}
.pm-home-card-hover .pm-btn{width:100%;}

/* Map container must have height for Leaflet */
#pm-map.pm-map{
  height:280px;
  min-height:280px;
  width:100%;
  border:1px solid var(--pm-border);
  border-radius:16px;
  overflow:hidden;
  background:#f3f4f6;
}
#pm-map.pm-map .leaflet-container{height:100%; width:100%;}

/* Single case: gallery */
.pm-case-wrap{max-width:1100px; margin:0 auto;}
.pm-case-hero{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  margin:18px 0;
}
@media (max-width: 900px){
  .pm-case-hero{grid-template-columns:1fr;}
}
.pm-case-gallery{
  border:1px solid var(--pm-border);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.pm-case-gallery-main img{display:block; width:100%; height:420px; object-fit:cover;}
@media (max-width: 900px){
  .pm-case-gallery-main img{height:320px;}
}
.pm-case-gallery-thumbs{
  display:flex;
  gap:10px;
  padding:12px;
  overflow:auto;
  border-top:1px solid var(--pm-border);
  background:#fafafa;
}
.pm-case-gallery-thumbs img{
  width:78px; height:78px; object-fit:cover;
  border-radius:12px;
  border:1px solid var(--pm-border);
  cursor:pointer;
  flex:0 0 auto;
}

/* Search status badges */
.pm-status-filters{display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 18px;}
.pm-status-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--pm-border);
  background:#fff;
  color:var(--pm-text);
  font-weight:600;
  text-decoration:none !important;
}
.pm-status-badge.is-active{
  border-color: var(--pm-primary);
  box-shadow:0 0 0 3px rgba(246, 44, 109, .12);
}

/* Case page: make meta blocks nicer */
.pm-case-meta{margin-top:14px;}
.pm-case-meta .pm-row{gap:10px; flex-wrap:wrap;}

/* --- v0.5.3.16: Home intent cards hover fix (keep text readable) --- */
.pm-home-card{ position:relative; }
.pm-home-card:hover{ background:#fff !important; border-color: rgba(0,0,0,.08) !important; }
.pm-home-card:hover:before{ opacity:0 !important; }
.pm-home-card:hover .pm-home-kicker,
.pm-home-card:hover .pm-home-title,
.pm-home-card:hover .pm-home-desc{ color: var(--pm-text) !important; }
/* Prevent any weird text rendering artifacts */
.pm-home-title{ text-shadow:none !important; }

/* Remove helper line under WhatsApp field if theme adds extra spacing */
.pm-field-help--email{ display:none !important; }
