/* Pavitra Setu Core - frontend widget styles (theme overrides these via its own CSS) */
.ps-search-form { display:flex; flex-direction:column; gap:12px; background:#fff; padding:20px; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.ps-form-row { display:flex; gap:10px; flex-wrap:wrap; }
.ps-form-row select, .ps-form-row input { flex:1; min-width:140px; padding:10px 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
.ps-btn { display:inline-block; padding:10px 20px; border-radius:8px; border:none; cursor:pointer; font-weight:600; text-decoration:none; }
.ps-btn-primary { background:#b8264e; color:#fff; }
.ps-btn-sm { padding:6px 14px; font-size:13px; }
.ps-btn-outline { background:transparent; border:1px solid #b8264e; color:#b8264e; }

.ps-results-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; margin-top:20px; }
.ps-profile-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:transform .2s; }
.ps-profile-card:hover { transform:translateY(-4px); }
.ps-card-photo { position:relative; aspect-ratio:1/1; background:#f3e9ec; }
.ps-card-photo img { width:100%; height:100%; object-fit:cover; }
.ps-photo-blurred img { filter:blur(14px); }
.ps-photo-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:48px; color:#b8264e; background:#f8eef1; }
.ps-verified-badge { position:absolute; top:10px; right:10px; background:#2e9e5b; color:#fff; border-radius:50%; width:24px; height:24px; display:flex; align-items:center; justify-content:center; font-size:13px; }
.ps-card-body { padding:14px; }
.ps-card-body h3 { margin:0 0 4px; font-size:17px; }
.ps-card-meta, .ps-card-occ { margin:2px 0; color:#666; font-size:13px; }

.ps-dashboard { display:flex; flex-direction:column; gap:24px; }
.ps-dashboard-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.ps-tab-block { background:#fff; border-radius:12px; padding:16px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.ps-request-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid #eee; gap:8px; flex-wrap:wrap; }

.ps-plans-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.ps-plan-card { background:#fff; border-radius:14px; padding:24px; text-align:center; box-shadow:0 2px 12px rgba(0,0,0,.06); border:2px solid transparent; }
.ps-plan-active { border-color:#b8264e; }
.ps-plan-price { font-size:28px; font-weight:700; color:#b8264e; margin:10px 0; }
.ps-plan-card ul { list-style:none; padding:0; text-align:left; margin:16px 0; }
.ps-plan-card ul li { padding:6px 0; border-bottom:1px solid #f2f2f2; font-size:14px; }

.ps-kundli-widget { background:#fff8ee; border:1px solid #f0d9a8; border-radius:12px; padding:18px; }
.ps-kundli-score { display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.ps-kundli-total { font-size:24px; font-weight:700; color:#b8264e; }
.ps-kundli-verdict { padding:4px 12px; border-radius:20px; font-size:13px; font-weight:600; }
.ps-verdict-excellent { background:#dcf5e3; color:#1c7a3a; }
.ps-verdict-good { background:#e4f0fc; color:#1a5fa8; }
.ps-verdict-average { background:#fff3d6; color:#8a6100; }
.ps-verdict-low { background:#fbe0e0; color:#a02020; }
.ps-kundli-breakdown { width:100%; border-collapse:collapse; margin-top:10px; }
.ps-kundli-breakdown td { padding:6px 0; border-bottom:1px solid #f0e2c8; font-size:13px; }
.ps-nadi-dosha-note { color:#a02020; font-size:13px; }

.ps-messages-ui { display:grid; grid-template-columns:260px 1fr; gap:0; background:#fff; border-radius:12px; overflow:hidden; min-height:400px; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.ps-conv-list { border-right:1px solid #eee; padding:10px; }
.ps-conv-item { padding:10px; border-radius:8px; cursor:pointer; }
.ps-conv-item:hover, .ps-conv-item.active { background:#f8eef1; }
.ps-conv-thread { padding:16px; display:flex; flex-direction:column; }

.ps-success-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.ps-success-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); padding-bottom:14px; }
.ps-success-photo img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.ps-success-card h3, .ps-success-excerpt { padding:0 14px; }

.ps-error { background:#fbe0e0; color:#a02020; padding:12px; border-radius:8px; margin-bottom:14px; }
