/* WP Dating Pro — Public Styles (Astra-compatible) */
:root {
    --wdp-primary: #e91e63;
    --wdp-primary-hover: #c2185b;
    --wdp-secondary: #2196f3;
    --wdp-success: #4caf50;
    --wdp-warning: #ff9800;
    --wdp-bg: #fff;
    --wdp-border: #e0e0e0;
    --wdp-radius: 10px;
    --wdp-shadow: 0 2px 12px rgba(0,0,0,0.08);
    --wdp-text: #333;
    --wdp-muted: #888;
    --wdp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.wdp-loading { text-align:center; padding:40px; color:var(--wdp-muted); }

/* ── Auth Wall ──────────────────────── */
.wdp-auth-wall { display:flex; justify-content:center; align-items:center; min-height:300px; }
.wdp-auth-card { text-align:center; max-width:380px; padding:40px; background:var(--wdp-bg); border-radius:var(--wdp-radius); box-shadow:var(--wdp-shadow); }
.wdp-auth-card h2 { color:var(--wdp-primary); margin-bottom:12px; }
.wdp-auth-card p { color:var(--wdp-muted); margin-bottom:20px; }
.wdp-auth-card a { display:block; margin-bottom:8px; }

/* ── Buttons ────────────────────────── */
.wdp-btn { display:inline-block; padding:12px 28px; border:none; border-radius:25px; font-size:15px; font-family:var(--wdp-font); cursor:pointer; text-decoration:none; font-weight:600; transition:all 0.2s; }
.wdp-btn-primary { background:var(--wdp-primary); color:#fff; }
.wdp-btn-primary:hover { background:var(--wdp-primary-hover); }
.wdp-btn-secondary { background:#f5f5f5; color:var(--wdp-primary); }
.wdp-btn-full { width:100%; }
.wdp-btn:disabled { opacity:0.5; cursor:not-allowed; }

/* ── Forms ──────────────────────────── */
.wdp-form-wrapper { max-width:420px; margin:40px auto; padding:30px; background:var(--wdp-bg); border-radius:var(--wdp-radius); box-shadow:var(--wdp-shadow); font-family:var(--wdp-font); }
.wdp-form-wrapper h2 { text-align:center; margin-bottom:24px; }
.wdp-form-wrapper input[type="text"],
.wdp-form-wrapper input[type="email"],
.wdp-form-wrapper input[type="password"],
.wdp-form-wrapper input[type="number"],
.wdp-form-wrapper select,
.wdp-form-wrapper textarea { width:100%; padding:12px; margin-bottom:12px; border:1px solid var(--wdp-border); border-radius:8px; font-size:14px; font-family:var(--wdp-font); box-sizing:border-box; }
.wdp-form-footer { text-align:center; margin-top:12px; font-size:14px; }

.wdp-alert { padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:14px; }
.wdp-alert-error { background:#ffebee; color:#c62828; }
.wdp-alert-success { background:#e8f5e9; color:#2e7d32; }

/* ── Member Grid ────────────────────── */
.wdp-members-app { max-width:1200px; margin:0 auto; padding:20px; font-family:var(--wdp-font); }
.wdp-members-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:20px; }
.wdp-member-card { background:var(--wdp-bg); border-radius:var(--wdp-radius); overflow:hidden; box-shadow:var(--wdp-shadow); transition:transform 0.2s; cursor:pointer; }
.wdp-member-card:hover { transform:translateY(-4px); }
.wdp-member-card img { width:100%; height:280px; object-fit:cover; }
.wdp-member-info { padding:16px; }
.wdp-member-info h4 { margin:0 0 4px; font-size:16px; }
.wdp-member-info .wdp-meta { font-size:13px; color:var(--wdp-muted); }
.wdp-verified-badge { display:inline-block; background:#4caf50; color:#fff; font-size:11px; padding:2px 6px; border-radius:4px; margin-left:6px; }

/* ── Swipe Cards ────────────────────── */
.wdp-swipe-app { max-width:400px; margin:0 auto; padding:20px; text-align:center; font-family:var(--wdp-font); }
.wdp-swipe-card-container { position:relative; min-height:450px; margin-bottom:24px; }
.wdp-swipe-card { background:var(--wdp-bg); border-radius:var(--wdp-radius); overflow:hidden; box-shadow:var(--wdp-shadow); }
.wdp-swipe-card img { width:100%; height:380px; object-fit:cover; }
.wdp-swipe-card-info { padding:20px; text-align:left; }
.wdp-swipe-card-info h3 { margin:0 0 4px; }
.wdp-swipe-card-info .wdp-meta { font-size:14px; color:var(--wdp-muted); margin-bottom:8px; }
.wdp-photo-dots { display:flex; justify-content:center; gap:4px; padding:8px; margin-top:-40px; position:relative; }
.wdp-photo-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5); }
.wdp-photo-dot.active { background:#fff; }
.wdp-swipe-actions { display:flex; justify-content:center; gap:16px; }
.wdp-swipe-btn { width:56px; height:56px; border-radius:50%; border:none; font-size:22px; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.15); transition:transform 0.15s; }
.wdp-swipe-btn:active { transform:scale(0.9); }
.wdp-swipe-btn.wdp-skip { background:#fff; color:#ff5252; }
.wdp-swipe-btn.wdp-wink { background:#fff; color:#ff9800; }
.wdp-swipe-btn.wdp-like { background:#fff; color:var(--wdp-primary); }
.wdp-swipe-btn.wdp-super { background:#fff; color:#2196f3; }

/* ── Packages ────────────────────────── */
.wdp-packages-page { max-width:1100px; margin:0 auto; padding:20px; font-family:var(--wdp-font); }
.wdp-packages-page h2 { text-align:center; margin-bottom:30px; }
.wdp-packages-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:24px; }
.wdp-package-card { position:relative; background:var(--wdp-bg); border:2px solid var(--wdp-border); border-radius:var(--wdp-radius); padding:30px 24px; text-align:center; box-shadow:var(--wdp-shadow); }
.wdp-package-card.wdp-featured { border-color:var(--wdp-primary); transform:scale(1.03); }
.wdp-badge { position:absolute; top:12px; right:12px; background:var(--wdp-primary); color:#fff; padding:4px 12px; border-radius:12px; font-size:11px; font-weight:bold; }
.wdp-price { font-size:36px; font-weight:bold; color:var(--wdp-primary); }
.wdp-duration { color:var(--wdp-muted); margin:8px 0 16px; }
.wdp-features-list { list-style:none; padding:0; margin:0 0 20px; text-align:left; }
.wdp-features-list li { padding:8px 0; border-bottom:1px solid #f0f0f0; font-size:14px; }
.wdp-features-list li::before { content:"✓ "; color:var(--wdp-success); }

/* ── Messages ────────────────────────── */
.wdp-messages-app { display:flex; max-width:900px; margin:0 auto; height:70vh; border:1px solid var(--wdp-border); border-radius:var(--wdp-radius); overflow:hidden; font-family:var(--wdp-font); }
.wdp-chat-list { width:300px; border-right:1px solid var(--wdp-border); overflow-y:auto; }
.wdp-chat-item { display:flex; align-items:center; gap:12px; padding:14px; border-bottom:1px solid #f0f0f0; cursor:pointer; transition:background 0.1s; }
.wdp-chat-item:hover { background:#fafafa; }
.wdp-chat-item.active { background:#fce4ec; }
.wdp-chat-avatar { width:44px; height:44px; border-radius:50%; background:#e0e0e0; flex-shrink:0; object-fit:cover; }
.wdp-chat-preview { flex:1; overflow:hidden; }
.wdp-chat-preview h4 { margin:0; font-size:14px; }
.wdp-chat-preview p { margin:4px 0 0; font-size:13px; color:var(--wdp-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wdp-chat-window { flex:1; display:flex; flex-direction:column; }
.wdp-chat-empty { flex:1; display:flex; align-items:center; justify-content:center; color:var(--wdp-muted); font-size:16px; }
.wdp-chat-messages { flex:1; overflow-y:auto; padding:16px; }
.wdp-msg { margin-bottom:12px; display:flex; }
.wdp-msg-mine { justify-content:flex-end; }
.wdp-msg-bubble { max-width:70%; padding:10px 16px; border-radius:18px; font-size:14px; line-height:1.4; }
.wdp-msg-mine .wdp-msg-bubble { background:var(--wdp-primary); color:#fff; border-bottom-right-radius:4px; }
.wdp-msg-other .wdp-msg-bubble { background:#f0f0f0; border-bottom-left-radius:4px; }
.wdp-msg-time { font-size:11px; color:var(--wdp-muted); margin-top:4px; }
.wdp-chat-input { display:flex; padding:12px; border-top:1px solid var(--wdp-border); }
.wdp-chat-input input { flex:1; padding:10px 16px; border:1px solid var(--wdp-border); border-radius:20px; font-size:14px; outline:none; font-family:var(--wdp-font); }
.wdp-chat-input button { margin-left:8px; padding:10px 20px; background:var(--wdp-primary); color:#fff; border:none; border-radius:20px; cursor:pointer; font-weight:600; }

/* ── Matches ─────────────────────────── */
.wdp-matches-page { max-width:800px; margin:0 auto; padding:20px; font-family:var(--wdp-font); }
.wdp-matches-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:16px; }
.wdp-match-card { background:var(--wdp-bg); border-radius:var(--wdp-radius); overflow:hidden; box-shadow:var(--wdp-shadow); text-align:center; padding:20px; }
.wdp-match-card img { width:100px; height:100px; border-radius:50%; object-fit:cover; margin-bottom:12px; }

/* ── Edit Profile ────────────────────── */
.wdp-edit-profile { max-width:700px; margin:0 auto; padding:20px; font-family:var(--wdp-font); }
.wdp-completion-bar { margin-bottom:20px; }
.wdp-bar-track { height:8px; background:#e0e0e0; border-radius:4px; margin-top:6px; }
.wdp-bar-fill { height:8px; background:var(--wdp-success); border-radius:4px; transition:width 0.3s; }
.wdp-photo-section { margin-bottom:24px; }
.wdp-photo-grid { display:flex; flex-wrap:wrap; gap:12px; }
.wdp-photo-item { position:relative; width:120px; }
.wdp-photo-item img { width:120px; height:120px; object-fit:cover; border-radius:8px; }
.wdp-photo-remove { position:absolute; top:-6px; right:-6px; background:#ff5252; color:#fff; border:none; border-radius:50%; width:22px; height:22px; font-size:14px; cursor:pointer; line-height:1; }
.wdp-photo-primary { display:block; width:100%; font-size:11px; padding:4px; background:#f5f5f5; border:none; border-radius:4px; cursor:pointer; margin-top:4px; }
.wdp-photo-add { width:120px; height:120px; border:2px dashed var(--wdp-border); border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; color:var(--wdp-muted); }
.wdp-photo-add span { font-size:32px; }
.wdp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wdp-form-group label { display:block; margin-bottom:4px; font-weight:500; font-size:13px; }
.wdp-form-group input, .wdp-form-group select, .wdp-form-group textarea { width:100%; padding:10px; border:1px solid var(--wdp-border); border-radius:6px; font-size:14px; box-sizing:border-box; font-family:var(--wdp-font); }

/* ── Notifications ───────────────────── */
.wdp-notif-list { max-width:600px; margin:0 auto; }
.wdp-notif-item { display:flex; align-items:flex-start; gap:12px; padding:14px; border-bottom:1px solid #f0f0f0; font-size:14px; cursor:pointer; }
.wdp-notif-item.unread { background:#fce4ec; font-weight:500; }
.wdp-notif-item .wdp-notif-icon { font-size:20px; }
.wdp-notif-item .wdp-notif-text { flex:1; }
.wdp-notif-item .wdp-notif-time { font-size:11px; color:var(--wdp-muted); }

/* ── Search ──────────────────────────── */
.wdp-search-page { max-width:900px; margin:0 auto; padding:20px; font-family:var(--wdp-font); }
.wdp-filter-row { display:flex; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.wdp-filter-row select, .wdp-filter-row input { padding:10px; border:1px solid var(--wdp-border); border-radius:6px; font-size:14px; }

/* ── Pagination ──────────────────────── */
.wdp-pagination { text-align:center; margin:20px 0; }
.wdp-pagination button { padding:8px 14px; margin:0 4px; border:1px solid var(--wdp-border); background:var(--wdp-bg); border-radius:4px; cursor:pointer; }
.wdp-pagination button.active { background:var(--wdp-primary); color:#fff; border-color:var(--wdp-primary); }

/* ── Match Popup ─────────────────────── */
.wdp-match-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.7); display:flex; align-items:center; justify-content:center; z-index:9999; }
.wdp-match-popup { background:#fff; border-radius:var(--wdp-radius); text-align:center; padding:40px; max-width:360px; width:90%; }
.wdp-match-popup h2 { color:var(--wdp-primary); font-size:28px; margin-bottom:8px; }
.wdp-match-popup .wdp-match-avatars { display:flex; justify-content:center; gap:20px; margin:20px 0; }
.wdp-match-avatars img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:3px solid var(--wdp-primary); }

/* ── Responsive ──────────────────────── */
@media (max-width:768px) {
    .wdp-members-grid { grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); }
    .wdp-messages-app { flex-direction:column; height:auto; }
    .wdp-chat-list { width:100%; max-height:200px; }
    .wdp-form-grid { grid-template-columns:1fr; }
    .wdp-packages-grid { grid-template-columns:1fr; }
}

/* ── Astra Theme Compatibility ────────── */
.wdp-members-app, .wdp-swipe-app, .wdp-messages-app, .wdp-packages-page,
.wdp-matches-page, .wdp-edit-profile, .wdp-form-wrapper, .wdp-search-page,
.wdp-notifications-page, .wdp-favorites-page {
    color: var(--wdp-text);
    line-height: 1.6;
}
.wdp-btn, .wdp-swipe-btn, .wdp-chat-input button { font-family: var(--wdp-font); }
