/* ================================================================
   INNER PAGES — matching home aesthetics
   ================================================================ */

/* Map --rule alias to --line for compatibility */
:root { --rule: var(--line); --surface: var(--paper-2); }

/* Flash alerts */
.alert { padding:12px 18px;border-radius:6px;font-size:13.5px;line-height:1.5;margin-bottom:20px;border:1px solid transparent; }
.alert-success { background:#F0FBF6;border-color:#9DE0C0;color:#1F6B4D; }
.alert-error   { background:#FDF2F4;border-color:#F4A0B0;color:#7A0F37; }
.alert-info    { background:#F0F4FF;border-color:#B0C4F4;color:#1E3A7A; }
.alert-warning { background:#FFF9EC;border-color:#F0D080;color:#7A5C00; }
.alert ul { margin:0;padding:0 0 0 16px; }

/* Modal alert */
.modal-alert { background:#FDF2F4;border:1px solid #F4A0B0;color:#7A0F37;padding:10px 13px;border-radius:6px;font-size:13px;line-height:1.5;margin-bottom:4px; }

/* Page inner header */
.page-header { background:var(--ink);color:#fff;padding:52px 0 48px;position:relative;overflow:hidden; }
.page-header::before { content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(151,24,70,.45),transparent 55%),radial-gradient(circle at 85% 30%,rgba(192,154,78,.15),transparent 50%); }
.page-header .container { position:relative; }
.page-header-eyebrow { font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-300);margin-bottom:10px;display:block; }
.page-header h1 { font-family:"Playfair Display",serif;font-size:42px;font-weight:700;line-height:1.1;margin:0;letter-spacing:-.02em; }
.page-header h1 em { font-style:italic;color:var(--gold-300);font-weight:500; }
.page-header p { color:rgba(255,255,255,.75);font-size:15px;margin:12px 0 0;max-width:560px; }

/* Card */
.card { background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden; }
.card-head { padding:20px 24px 16px;border-bottom:1px solid var(--line); }
.card-title { font-family:"Playfair Display",serif;font-size:22px;font-weight:700;color:var(--ink);margin:0;line-height:1.2; }
.card-body { padding:24px; }

/* Badges */
.badge { display:inline-flex;align-items:center;gap:5px;font:700 10.5px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid; }
.badge-green  { background:#F0FBF6;border-color:#9DE0C0;color:#1F6B4D; }
.badge-amber  { background:#FFF9EC;border-color:#F0D080;color:#7A5C00; }
.badge-rose   { background:var(--rose-50);border-color:var(--rose-100);color:var(--rose-700); }
.badge-ink    { background:var(--paper-2);border-color:var(--line);color:var(--ink-2); }
.badge-gold   { background:#FDF8EC;border-color:var(--gold-300);color:var(--gold-700); }

/* Form page (auth/payment) */
.form-page { min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--paper); }
.form-box { background:#fff;border:1px solid var(--line);border-radius:10px;width:100%;max-width:480px;box-shadow:0 20px 50px -20px rgba(15,8,16,.18); }
.form-box-head { padding:28px 32px 22px;border-bottom:1px solid var(--line); }
.form-box-head .eyebrow-sm { font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-700);display:block;margin-bottom:8px; }
.form-box-head h2 { font-family:"Playfair Display",serif;font-size:28px;font-weight:700;margin:0;color:var(--ink);line-height:1.2; }
.form-box-head p { font-size:13.5px;color:var(--ink-3);margin:8px 0 0;line-height:1.5; }
.form-box-body { padding:26px 32px 30px;display:flex;flex-direction:column;gap:14px; }
.form-box-foot { padding:16px 32px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);text-align:center; }
.form-box-foot a { color:var(--rose-700);font-weight:600; }

/* Dashboard layout */
.dash-wrap { display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start; }
.dash-sidebar { display:flex;flex-direction:column;gap:16px; }
.dash-nav { background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden; }
.dash-nav-item { display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:14px;font-weight:500;color:var(--ink-2);border-bottom:1px solid var(--line);transition:background .15s,color .15s;text-decoration:none; }
.dash-nav-item:last-child { border-bottom:0; }
.dash-nav-item:hover,.dash-nav-item.active { background:var(--rose-50);color:var(--rose-700); }
.dash-nav-item i { width:18px;text-align:center;color:var(--ink-3); }
.dash-nav-item.active i { color:var(--rose-700); }
.dash-main { display:flex;flex-direction:column;gap:20px; }

/* Browse profiles grid */
.profile-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.profile-card { background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column;text-decoration:none;color:inherit; }
.profile-card:hover { transform:translateY(-3px);box-shadow:0 18px 32px -22px rgba(28,16,20,.25); }
.profile-card-photo { width:100%;height:0;padding-bottom:100%;background:var(--paper-2);position:relative;border-bottom:1px solid var(--line);overflow:hidden; }
.profile-card-photo img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block; }
.photo-lock { text-align:center;color:var(--ink-3); }
.photo-lock i { font-size:32px;display:block;margin-bottom:6px; }
.photo-lock span { font-size:11px;letter-spacing:.08em; }
.profile-card-body { padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1; }
.profile-card-name { font-family:"Playfair Display",serif;font-size:20px;font-weight:700;color:var(--ink);line-height:1.1; }
.profile-card-meta { font-size:13px;color:var(--ink-3);font-weight:500; }

/* Search filters */
.filters-bar { background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:24px; }
.filters-bar .fgroup { display:flex;flex-direction:column;gap:5px;flex:1;min-width:110px; }
.filters-bar .fgroup label { font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:700; }
.filters-bar .fgroup input,.filters-bar .fgroup select { padding:9px 10px;border:1px solid var(--line-2);border-radius:4px;font:500 13px/1 "Plus Jakarta Sans",sans-serif;color:var(--ink);background:#fff;outline:none;width:100%; }
.filters-bar .fgroup input:focus,.filters-bar .fgroup select:focus { border-color:var(--rose-700); }

/* Messages / chat */
.chat-wrap { display:grid;grid-template-columns:280px 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;min-height:540px; }
.chat-list { border-right:1px solid var(--line);overflow-y:auto; }
.chat-list-item { display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s;text-decoration:none;color:inherit; }
.chat-list-item:hover,.chat-list-item.active { background:var(--rose-50); }
.chat-avatar { width:42px;height:42px;border-radius:50%;background:var(--rose-100);color:var(--rose-700);font-weight:700;font-size:16px;display:grid;place-items:center;flex-shrink:0;font-family:"Playfair Display",serif; }
.chat-preview-name { font-size:14px;font-weight:600;color:var(--ink); }
.chat-preview-text { font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.chat-pane { display:flex;flex-direction:column; }
.chat-pane-head { padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px; }
.chat-messages { flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;max-height:420px; }
.chat-bubble-wrap { display:flex; }
.chat-bubble-wrap.mine { justify-content:flex-end; }
.chat-bubble { max-width:72%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5; }
.chat-bubble.theirs { background:var(--paper-2);color:var(--ink);border-bottom-left-radius:4px; }
.chat-bubble.mine { background:var(--rose-700);color:#fff;border-bottom-right-radius:4px; }
.chat-bubble-time { font-size:10.5px;margin-top:4px;text-align:right;color:rgba(255,255,255,.65); }
.chat-bubble.theirs .chat-bubble-time { color:var(--ink-3); }
.chat-input-bar { padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center; }
.chat-input-bar input { flex:1;padding:10px 14px;border:1px solid var(--line-2);border-radius:20px;font:500 14px/1 "Plus Jakarta Sans",sans-serif;color:var(--ink);outline:none; }
.chat-input-bar input:focus { border-color:var(--rose-700); }

/* Premium lock */
.premium-lock { text-align:center;padding:48px 24px;border:1px dashed var(--line-2);border-radius:8px;background:var(--paper); }
.premium-lock-icon { font-size:48px;color:var(--line-2);margin-bottom:14px; }
.premium-lock h3 { font-family:"Playfair Display",serif;font-size:22px;font-weight:700;color:var(--ink);margin:0 0 8px; }
.premium-lock p { font-size:14px;color:var(--ink-3);margin:0 0 20px;max-width:340px;margin-left:auto;margin-right:auto; }

/* Profile detail page */
.profile-detail-header { background:var(--ink);color:#fff;padding:40px 0;position:relative;overflow:hidden; }
.profile-detail-header::before { content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(151,24,70,.4),transparent 55%); }
.profile-detail-header .container { position:relative;display:flex;align-items:center;gap:28px; }
.profile-avatar-lg { width:96px;height:96px;border-radius:8px;background:var(--rose-900);border:3px solid rgba(255,255,255,.15);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:38px;font-weight:700;color:rgba(255,255,255,.5); }
.profile-avatar-lg img { width:100%;height:100%;object-fit:cover; }

/* Bank / payment box */
.bank-box { background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:22px 24px;margin-bottom:24px; }
.bank-box-title { font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px; }
.bank-row { display:flex;gap:12px;margin-bottom:10px;align-items:baseline; }
.bank-row:last-child { margin-bottom:0; }
.bank-key { font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);width:120px;flex-shrink:0; }
.bank-val { font-size:14.5px;font-weight:600;color:var(--ink); }
.bank-val.highlight { color:var(--rose-700);font-family:"Playfair Display",serif;font-size:22px;font-weight:700; }
.bank-val.mono { font-family:"JetBrains Mono",monospace;font-size:15px;letter-spacing:.06em; }

/* Responsive */
@media(max-width:880px){
  .dash-wrap{grid-template-columns:1fr}
  .dash-sidebar{display:none}
  .profile-grid{grid-template-columns:1fr 1fr 1fr}
  .chat-wrap{grid-template-columns:1fr}
  .chat-list{display:none}
  .page-header h1{font-size:28px}
}
@media(max-width:639px){
  .profile-grid{grid-template-columns:1fr}
  .form-box-head,.form-box-body,.form-box-foot{padding-left:20px;padding-right:20px}
  .form-page{padding:20px 16px}
}
