/* PET BRO partners: Book a pro + Partners admin */
.pb-kind{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.pb-kind button{font-size:13px;padding:0 6px}
.pb-pro-filters{grid-template-columns:1fr 2fr;gap:12px}
.pb-vet-only{display:flex;flex-wrap:wrap;gap:4px 18px;margin:4px 0 10px}
.pb-vet-only[hidden]{display:none}
.pb-pro-list{display:grid;gap:14px;margin-top:16px}
.pb-pro{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px;border:1px solid var(--pb-line,#E6E7EA);border-radius:16px;background:var(--pb-card,#fff)}
.pb-pro-photo{width:120px;height:120px;border-radius:12px;object-fit:cover;background:var(--pb-surface,#F4F5F7)}
.pb-pro-initial{display:grid;place-items:center;font-size:44px;font-weight:800;color:var(--pb-accent,#C2410C);background:var(--pb-tint,#FFF1E8)}
.pb-pro-body h3{margin:0 0 4px;font-size:18px}
.pb-stars{display:inline-block;font-size:13px;font-weight:700;color:#B45309;margin-bottom:6px}
.pb-stars small{font-weight:500;color:var(--pb-muted,#5B5F68)}
.pb-stars.pb-new{color:var(--pb-muted,#5B5F68);font-weight:600}
.pb-badges{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.pb-badges .tag{font-size:12px}
html body .pb-badges .pb-top{background:var(--pb-accent,#C2410C);color:#fff;border-color:var(--pb-accent,#C2410C)}
html body .pb-badges .pb-verified{background:#E7F6EC;color:#166534;border-color:#BBE5C8}
html[data-theme=dark] body .pb-badges .pb-verified{background:#123322;color:#86EFAC;border-color:#1F5135}
.pb-areas{margin:0 0 6px;font-size:13px;color:var(--pb-muted,#5B5F68)}
.pb-bio{margin:0 0 8px;font-size:14px;line-height:1.5}
.pb-fee{margin:6px 0 8px;font-weight:800;color:var(--pb-accent,#C2410C)}
.pb-fee small{display:block;font-weight:500;font-size:12px;color:var(--pb-muted,#5B5F68)}
html[data-theme=dark] .pb-fee{color:var(--pb-accent-text)}
.pb-services{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--pb-line,#E6E7EA)}
.pb-services li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--pb-line,#E6E7EA);font-size:14px}
.pb-services b{white-space:nowrap}
.pb-services small{font-weight:500;color:var(--pb-muted,#5B5F68)}
.pb-request-form{margin-top:12px;padding-top:12px;border-top:1px dashed var(--pb-line,#E6E7EA)}
.pb-booking{padding:12px 0;border-bottom:1px solid var(--pb-line,#E6E7EA)}
.pb-booking:last-child{border-bottom:0}
.pb-booking-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pb-booking small{display:block;margin-top:4px;color:var(--pb-muted,#5B5F68)}
.pb-booking-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pb-booking-actions .btn{min-height:40px;padding:8px 14px;font-size:13px}
html body .pb-st-quoted,html body .pb-st-confirmed{background:var(--pb-tint,#FFF1E8);color:var(--pb-accent,#C2410C);border-color:var(--pb-accent,#C2410C)}
html body .pb-st-completed{background:#E7F6EC;color:#166534;border-color:#BBE5C8}
html body .pb-st-declined,html body .pb-st-cancelled{opacity:.7}
.pb-review{margin-top:10px}
.pb-rate{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0}
.pb-rate label{display:flex;align-items:center;gap:4px;min-height:36px;font-weight:700}
.pb-review textarea{width:100%;margin-bottom:8px}
.pa-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pa-checks{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0}
.pa-photo{cursor:pointer}
#pa-filter{max-width:180px}
@media(max-width:600px){
  .pb-pro{grid-template-columns:1fr}
  .pb-pro-photo{width:100%;height:180px}
  .pb-kind{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pb-pro-filters{grid-template-columns:1fr}
}

/* Showcase: partner photos and videos */
.pb-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pb-photo-btn{position:relative;padding:0;border:0;background:none;cursor:pointer;border-radius:12px;align-self:start}
.pb-photo-btn:focus-visible{outline:3px solid var(--pb-accent,#C2410C);outline-offset:2px}
.pb-play{position:absolute;top:8px;left:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.6);color:#fff;font-size:12px}
.pb-media-count{position:absolute;left:6px;right:6px;bottom:6px;padding:3px 6px;border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:700;text-align:center}
html.pb-sc-open,html.pb-sc-open body{overflow:hidden}
.pb-sc{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,12,.62)}
.pb-sc[hidden]{display:none}
.pb-sc-box{position:relative;width:min(720px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:20px;background:var(--pb-card,#fff);color:inherit;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.pb-sc-close{position:sticky;top:10px;float:right;margin:10px 10px 0 0;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--pb-line,#E6E7EA);background:var(--pb-card,#fff);font-size:16px;cursor:pointer}
.pb-sc-body{padding:20px}
.pb-sc-head h2{margin:2px 0 4px;font-size:24px}
.pb-gallery{position:relative;margin:14px -20px;background:#0d0d0f}
.pb-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pb-track::-webkit-scrollbar{display:none}
.pb-slide{position:relative;flex:0 0 100%;margin:0;scroll-snap-align:center;aspect-ratio:4/3;max-height:62vh;overflow:hidden}
.pb-slide img,.pb-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0d0d0f}
.pb-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#111;font-size:26px;line-height:1;cursor:pointer}
.pb-prev{left:10px}.pb-next{right:10px}
.pb-counter{position:absolute;right:12px;bottom:10px;padding:3px 10px;border-radius:12px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700}
.pb-sc-reviews h3{margin:16px 0 8px;font-size:16px}
.pb-rev{padding:10px 0;border-bottom:1px solid var(--pb-line,#E6E7EA)}
.pb-rev b{color:#B45309;letter-spacing:1px}
.pb-rev p{margin:4px 0;font-size:14px}
.pb-rev small{color:var(--pb-muted,#5B5F68)}
.pb-sc-actions{position:sticky;bottom:0;margin:16px -20px -20px;padding:14px 20px;background:var(--pb-card,#fff);border-top:1px solid var(--pb-line,#E6E7EA)}
.pb-sc-actions .btn{width:100%}
.pa-video{cursor:pointer}
@media(max-width:600px){
  .pb-sc{padding:0;align-items:flex-end}
  .pb-sc-box{max-height:94vh;border-radius:20px 20px 0 0}
  .pb-slide{aspect-ratio:1/1}
  .pb-nav{display:none}
  .pb-card-actions .btn{flex:1 1 auto}
}
