/* Dabwali Parivar — /parivar, /parivar/<slug>, /sanstha/<slug> */
.pv-wrap{ max-width:880px; margin:0 auto; padding:18px 16px 60px }
.pv-hero{ text-align:center; padding:34px 16px 22px; background:linear-gradient(180deg,#FFF7ED 0%,#fff 100%); border-bottom:1px solid var(--line) }
.pv-hero h1{ font-family:'Manrope','Noto Sans Devanagari',sans-serif; font-size:clamp(1.7rem,4.4vw,2.5rem); font-weight:900; letter-spacing:-.02em; margin:0 0 6px }
.pv-hero p{ color:var(--ink-2); margin:0 auto; max-width:560px; font-size:.98rem }
.pv-search{ max-width:560px; margin:18px auto 0; display:flex; gap:8px }
.pv-search input{ flex:1; border:1.5px solid #CBD5E1; border-radius:12px; padding:13px 14px; font-size:1rem; font-family:inherit; background:#fff }
.pv-search input:focus{ outline:none; border-color:#FF6B1A; box-shadow:0 0 0 3px rgba(255,107,26,.15) }
.pv-h2{ font-family:'Manrope','Noto Sans Devanagari',sans-serif; font-size:1.05rem; font-weight:800; margin:22px 0 10px; color:var(--ink) }
.pv-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px }
.pv-card{ display:flex; gap:12px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; text-decoration:none; color:var(--ink); transition:transform .15s, box-shadow .15s }
.pv-card:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(15,23,42,.07); text-decoration:none }
.pv-card .t{ font-weight:800; font-size:.96rem; line-height:1.3 }
.pv-card .s{ font-size:.8rem; color:var(--muted); margin-top:2px }
.pv-box{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; margin-bottom:14px }
.pv-head{ display:flex; gap:14px; align-items:center }
.pv-head h1{ font-family:'Manrope','Noto Sans Devanagari',sans-serif; font-size:clamp(1.4rem,3.6vw,1.9rem); font-weight:900; margin:0; line-height:1.15 }
.pv-head .sub{ color:var(--muted); font-size:.86rem; margin-top:4px }
.pv-ok{ color:#15803D; font-weight:700 }
.pv-tag{ display:inline-block; background:#F1F5F9; color:#475569; border-radius:99px; padding:2px 9px; font-size:.72rem; font-weight:700 }
.pv-num{ font-size:1.15rem; font-weight:800; margin:14px 0 8px; letter-spacing:.01em }
.pv-acts{ display:flex; gap:8px; margin-top:12px; flex-wrap:wrap }
.pv-btn{ flex:1; min-width:130px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:11px 14px; border-radius:11px; font-weight:800; font-size:.9rem; text-decoration:none }
.pv-btn:hover{ text-decoration:none; filter:brightness(1.05) }
.pv-wa{ background:#25D366; color:#fff }
.pv-call{ background:#fff; color:var(--ink); border:1.5px solid #CBD5E1 }
.pv-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; margin-bottom:8px; text-decoration:none; color:var(--ink) }
a.pv-row:hover{ border-color:#FDBA74; text-decoration:none }
.pv-row .n{ font-weight:800; font-size:.94rem }
.pv-row .m{ font-size:.76rem; color:var(--muted); margin-top:1px }
.pv-role{ flex:0 0 auto; border-radius:99px; padding:3px 10px; font-size:.74rem; font-weight:800; background:#ECFDF5; color:#065F46 }
.pv-role.f{ background:#FFF7ED; color:#9A3412 }
.pv-role.m{ background:#F1F5F9; color:#475569 }
.pv-past{ font-size:.8rem; color:var(--muted); margin-top:8px; line-height:1.6 }
.pv-bearers{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px }
.pv-bearer{ display:flex; gap:10px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:10px; text-decoration:none; color:var(--ink) }
.pv-bearer:hover{ border-color:#FDBA74; text-decoration:none }
.pv-bearer .r{ font-size:.72rem; font-weight:800; color:#047857 }
.pv-bearer .n{ font-weight:800; font-size:.92rem; line-height:1.25 }
.pv-members a, .pv-members span.x{ display:flex; justify-content:space-between; gap:8px; padding:9px 4px; border-bottom:1px dashed var(--line); color:var(--ink); text-decoration:none; font-size:.92rem }
.pv-members a:hover{ color:#C2410C }
.pv-members small{ color:var(--muted); font-size:.72rem }
.pv-empty{ text-align:center; color:var(--muted); padding:30px 10px; background:#F8FAFC; border:1px dashed #CBD5E1; border-radius:14px }
.pv-note{ font-size:.8rem; color:var(--muted); line-height:1.5 }
.pv-join{ background:linear-gradient(135deg,#FFF7ED,#FFEDD5); border:1px solid #FED7AA; border-radius:16px; padding:16px; margin-top:20px; text-align:center }
.pv-join b{ display:block; font-size:1rem; margin-bottom:4px }
html[data-lang="hi"] .pv-hero h1, html[data-lang="hi"] .pv-head h1{ font-family:'Noto Sans Devanagari','Manrope',sans-serif }

/* v365: member cards on the organisation page */
.pv-mgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px }
.pv-mcard{ display:flex; gap:11px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:13px; padding:11px 12px; cursor:pointer; transition:border-color .15s, transform .15s }
.pv-mcard:hover{ border-color:#FDBA74; transform:translateY(-1px) }
.pv-mcard .mc-b{ min-width:0; flex:1 }
.pv-mcard .mc-n{ font-weight:800; font-size:.94rem; line-height:1.3 }
.pv-mcard .mc-n a{ color:var(--ink); text-decoration:none }
.pv-mcard .mc-p{ font-size:.8rem; color:var(--ink-2); font-weight:600; margin-top:2px }
.pv-mcard .mc-f{ font-size:.78rem; color:var(--muted); margin-top:2px; line-height:1.4; overflow-wrap:anywhere }
.pv-mcard .mc-f a{ color:#C2410C; font-weight:700; text-decoration:none }
.pv-mcard .mc-s{ font-size:.72rem; color:var(--muted); margin-top:2px }
@media (max-width:560px){ .pv-mgrid{ grid-template-columns:1fr } }
.pv-mcard .mc-acts{ display:flex; gap:6px; margin-top:8px }
.pv-mcard .mc-acts a{ display:inline-flex; align-items:center; gap:4px; padding:5px 11px; border-radius:99px; font-size:.76rem; font-weight:800; text-decoration:none; line-height:1.2 }
.pv-mcard .mc-call{ background:#fff; color:var(--ink); border:1.5px solid #CBD5E1 }
.pv-mcard .mc-wa{ background:#25D366; color:#fff; border:1.5px solid #25D366 }
.pv-mcard .mc-acts a:hover{ filter:brightness(1.05); text-decoration:none }

/* v372: person search cards + person page header — firm and every organisation */
.pv-pcard{ align-items:flex-start }
.pv-card .pf, .pv-head .pf{ font-size:.8rem; color:var(--muted); margin-top:3px; line-height:1.4 }
.pv-card .pf{ color:#C2410C; font-weight:700 }
.pv-card .pf span, .pv-head .pf span{ color:var(--muted); font-weight:600 }
.pv-head .pf a{ color:#C2410C; font-weight:700; text-decoration:none }
.pv-ocs{ display:flex; flex-wrap:wrap; gap:4px; margin-top:6px }
.pv-oc{ font-size:.7rem; font-weight:700; background:#F1F5F9; color:#475569; border-radius:99px; padding:2px 9px; text-decoration:none; line-height:1.5 }
.pv-oc.o{ background:#ECFDF5; color:#065F46 }
a.pv-oc:hover{ filter:brightness(.96); text-decoration:none }

/* v373: firm cards on the person page — like "Recently viewed" */
.pv-fcs{ display:flex; flex-direction:column; gap:10px }
.pv-fc{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:14px; padding:10px; box-shadow:0 1px 3px rgba(15,23,42,.04); transition:.15s; min-width:0 }
.pv-fc:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08) }
.pv-fc .fc-main{ display:grid; grid-template-columns:72px 1fr; gap:12px; align-items:center; text-decoration:none; color:inherit; min-width:0 }
.pv-fc .fc-th{ width:72px; height:72px; border-radius:11px; background:linear-gradient(135deg,#F8FAFC,#E2E8F0); display:grid; place-items:center; font-size:1.8rem; overflow:hidden }
.pv-fc .fc-th img{ width:100%; height:100%; object-fit:cover; display:block }
.pv-fc .fc-mid{ min-width:0; display:flex; flex-direction:column; gap:4px }
.pv-fc .fc-n{ font-size:.98rem; font-weight:800; color:var(--ink); line-height:1.25 }
.pv-fc .fc-l2{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.75rem; color:#64748B; font-weight:600 }
.pv-fc .fc-cat{ background:#F1F5F9; color:#475569; padding:2px 8px; border-radius:99px; font-size:.7rem; font-weight:700 }
.pv-fc .fc-rate{ color:#F59E0B; font-weight:800 }
.pv-fc .fc-ok{ color:#059669; font-weight:800 }
.pv-fc .fc-l3{ display:flex; align-items:center; gap:8px; font-size:.74rem; color:#64748B; font-weight:600 }
.pv-fc .fc-l3 .pv-role{ font-size:.68rem; padding:1px 8px }
.pv-fc .fc-acts{ display:flex; gap:6px }
.pv-fc .fc-btn{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; text-decoration:none; font-size:.95rem; color:#fff }
.pv-fc .fc-btn.call{ background:linear-gradient(135deg,#10B981,#059669); box-shadow:0 3px 8px rgba(16,185,129,.3) }
.pv-fc .fc-btn.wa{ background:linear-gradient(135deg,#25D366,#128C7E); box-shadow:0 3px 8px rgba(37,211,102,.3) }
.pv-fc .fc-btn:hover{ text-decoration:none; filter:brightness(1.05) }
@media (max-width:480px){ .pv-fc .fc-acts{ flex-direction:column } }
.pv-mcard .mc-f .mc-shop{ color:#C2410C; font-weight:700 }

/* v388: person page — save/share row, organisation rows with logo, "is this you?" box */
.pv-acts2{ margin-top:8px }
.pv-acts2 .pv-btn{ font-size:.84rem; padding:9px 12px; cursor:pointer; font-family:inherit }
.pv-orow{ justify-content:flex-start; gap:12px }
.pv-claim{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:20px; padding:14px 16px; border-radius:14px; background:linear-gradient(135deg,#FFF7ED,#FFEDD5); border:1px solid #FED7AA }
.pv-claim b{ font-size:.98rem }

/* v388: Parivar page — counts, profession chips, type filter, head of organisation, recently joined */
.pv-stats{ margin:14px auto 0; color:var(--ink-2); font-size:.92rem; display:flex; gap:8px; justify-content:center; flex-wrap:wrap }
.pv-stats b{ color:#C2410C; font-size:1.02rem }
.pv-stats > span{ color:#CBD5E1 }
.pv-stats:empty, .pv-chips:empty, .pv-kinds:empty{ display:none }
.pv-chips{ max-width:720px; margin:12px auto 0; display:flex; gap:6px; flex-wrap:wrap; justify-content:center; align-items:center }
.pv-chips .lbl{ font-size:.78rem; color:var(--muted); font-weight:700; margin-right:2px }
.pv-chips button, .pv-kinds button{ border:1px solid #FED7AA; background:#fff; color:#9A3412; border-radius:99px; padding:5px 11px; font-size:.8rem; font-weight:700; cursor:pointer; font-family:inherit }
.pv-chips button small{ color:#94A3B8; font-weight:700; margin-left:2px }
.pv-chips button:hover, .pv-kinds button:hover{ background:#FFF7ED; border-color:#FB923C }
.pv-kinds{ display:flex; gap:6px; flex-wrap:wrap; margin:-2px 0 10px }
.pv-kinds button{ border-color:#E2E8F0; color:#334155 }
.pv-kinds button.on{ background:#0F172A; color:#fff; border-color:#0F172A }
.pv-head-n{ color:#065F46 !important }
.pv-head-n b{ color:var(--ink) }
.pv-recent{ display:flex; gap:10px; overflow-x:auto; padding:2px 2px 8px; -webkit-overflow-scrolling:touch }
.pv-recent a{ flex:0 0 112px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 8px; text-decoration:none; color:var(--ink) }
.pv-recent a:hover{ border-color:#FDBA74 }
.pv-recent b{ font-size:.82rem; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.pv-recent span{ font-size:.7rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100% }

/* v389: Parivar hero — logo, warm background with a faint dot pattern, bigger search, stat cards */
.pv-hero2{ padding:22px 16px 26px; background:
    radial-gradient(circle at 1px 1px, rgba(234,88,12,.10) 1px, transparent 1.5px) 0 0/18px 18px,
    radial-gradient(ellipse at 50% -10%, #FFE7CC 0%, rgba(255,231,204,0) 60%),
    linear-gradient(180deg,#FFF7ED 0%,#FFFBF5 70%,#fff 100%); }
.pv-logo-h1{ margin:0 auto; line-height:0 }
.pv-logo-h1 img{ display:block; width:min(540px, 92vw); height:auto; margin:0 auto; filter:drop-shadow(0 6px 14px rgba(15,23,42,.08)) }
.pv-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.pv-sub2{ color:var(--ink-2); margin:10px auto 0; max-width:600px; font-size:.95rem; line-height:1.5 }
.pv-search2{ position:relative; max-width:620px }
.pv-search2 .pv-sico{ position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:1.05rem; opacity:.6; pointer-events:none }
.pv-search2 input{ padding:15px 16px 15px 46px; font-size:1.02rem; border:2px solid #FDBA74; border-radius:14px; box-shadow:0 8px 24px rgba(234,88,12,.10) }
.pv-search2 input:focus{ border-color:#EA580C; box-shadow:0 0 0 4px rgba(234,88,12,.15), 0 8px 24px rgba(234,88,12,.12) }
.pv-hero2 .pv-stats{ gap:10px; margin-top:16px }
.pv-stat{ display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #FED7AA; border-radius:14px; padding:9px 14px; text-decoration:none; color:var(--ink); box-shadow:0 2px 8px rgba(234,88,12,.08); transition:transform .15s, box-shadow .15s }
.pv-stat:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(234,88,12,.15); text-decoration:none }
.pv-stat .i{ font-size:1.15rem }
.pv-stat b{ font-size:1.25rem; font-weight:900; color:#C2410C; line-height:1 }
.pv-stat .l{ font-size:.82rem; font-weight:700; color:#334155 }
@media (max-width:560px){
  .pv-hero2{ padding:14px 12px 20px }
  .pv-sub2{ font-size:.86rem }
  .pv-stat{ padding:7px 10px; gap:6px }
  .pv-stat b{ font-size:1.05rem }
  .pv-stat .l{ font-size:.74rem }
}

/* v390: back link on person / organisation pages; selected profession chip; clear-search button */
.pv-crumb{ max-width:880px; margin:0 auto; padding:12px 16px 0 }
.pv-crumb a{ display:inline-flex; align-items:center; gap:4px; font-size:.86rem; font-weight:800; color:#C2410C; text-decoration:none; background:#FFF7ED; border:1px solid #FED7AA; border-radius:99px; padding:6px 12px }
.pv-crumb a:hover{ background:#FFEDD5; text-decoration:none }
.pv-crumb + .pv-wrap{ padding-top:10px }
.pv-chips button.on{ background:#EA580C; border-color:#EA580C; color:#fff }
.pv-chips button.on small{ color:#FFEDD5 }
.pv-chips button.on::after{ content:' ×'; font-weight:900 }
.pv-search2 input::-webkit-search-cancel-button{ display:none }
.pv-qx{ position:absolute; right:10px; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; border:0; background:#F1F5F9; color:#475569; font-size:.95rem; font-weight:800; cursor:pointer; z-index:1 }
.pv-qx:hover{ background:#FFEDD5; color:#C2410C }
.pv-search2 input{ padding-right:50px }

/* v392: team poster button, past events gallery */
.pv-poster-btn{ border:1px solid #FED7AA; background:linear-gradient(135deg,#FFF7ED,#FFEDD5); color:#C2410C; border-radius:99px; padding:6px 13px; font-size:.8rem; font-weight:800; cursor:pointer; font-family:inherit }
.pv-poster-btn:hover{ border-color:#FB923C }
.pv-past-ev{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px; margin-bottom:10px }
.pv-past-ev .h{ display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:8px }
.pv-past-ev .h span{ font-size:.78rem; color:var(--muted) }
.pv-past-ev .g{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px }
.pv-past-ev .g button{ padding:0; border:0; background:none; cursor:pointer; border-radius:9px; overflow:hidden; aspect-ratio:1 }
.pv-past-ev .g img{ width:100%; height:100%; object-fit:cover; display:block }
@media (max-width:480px){ .pv-past-ev .g{ grid-template-columns:repeat(3,1fr) } }
/* v392: "I'll come" + calendar inside the event pop-up */
.pve-rsvp{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap }
.pve-rsvp button{ flex:1; min-width:140px; padding:10px 12px; border-radius:11px; font-weight:800; font-size:.86rem; cursor:pointer; font-family:inherit; border:1.5px solid #FDBA74; background:#FFF7ED; color:#9A3412 }
.pve-rsvp button.on{ background:#16A34A; border-color:#16A34A; color:#fff }

/* v393: birthdays today, member offers */
.pv-bday{ background:linear-gradient(135deg,#FDF2F8,#FFF7ED); border:1px solid #FBCFE8; border-radius:16px; padding:12px 14px; margin:14px 0 4px }
.pv-bday > b{ font-size:1rem }
.pv-bday-l{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px }
.pv-bday-p{ display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #FBCFE8; border-radius:14px; padding:6px 8px }
.pv-bday-p > a{ display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--ink) }
.pv-bday-p span{ display:flex; flex-direction:column }
.pv-bday-p small{ font-size:.72rem; color:var(--muted) }
.pv-wish{ background:#25D366; color:#fff; border-radius:99px; padding:5px 10px; font-size:.76rem; font-weight:800; text-decoration:none; white-space:nowrap }
.pv-offers{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:10px }
.pv-offer{ display:flex; gap:10px; align-items:center; background:linear-gradient(135deg,#F0FDF4,#fff); border:1px solid #BBF7D0; border-radius:14px; padding:10px; text-decoration:none; color:var(--ink) }
.pv-offer:hover{ border-color:#4ADE80; text-decoration:none }
.pv-offer img{ width:56px; height:56px; border-radius:10px; object-fit:cover; flex:0 0 auto }
.pv-offer .ic{ width:56px; height:56px; border-radius:10px; background:#DCFCE7; display:grid; place-items:center; font-size:1.5rem; flex:0 0 auto }
.pv-offer > span{ display:flex; flex-direction:column; gap:2px; min-width:0 }
.pv-offer b{ color:#166534; font-size:.95rem; line-height:1.3 }
.pv-offer small{ font-size:.74rem; color:var(--muted) }
