﻿/* ═══ 个人页面（底部导航）profile 样式 ═══ */
#page-profile { display: block; overflow-y: auto; align-items: initial; justify-content: initial; background: #F0F1F3; }
#profileLoggedInView { display: flex; flex-direction: column; min-height: 100%; }
#page-profile .ph-banner { width: 100%; height: 240px; background: #5B6572; flex-shrink: 0; position: relative; overflow: hidden; }
#page-profile .ph-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.04), rgba(0,0,0,0.5)); pointer-events: none; }
#page-profile .ph-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#page-profile .ph-info { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 38px; display: flex; align-items: center; gap: 14px; }
#page-profile .ph-avatar-wrap { width: 108px; height: 108px; position: relative; flex-shrink: 0; }
#page-profile .ph-avatar { width: 108px; height: 108px; border-radius: 50%; border: 3px solid #fff; background: #E8EAED; object-fit: cover; display: block; }
#page-profile .ph-camera-btn { position: absolute; right: 2px; bottom: 2px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid #fff; background: #1A1C1E; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 14px; }
#page-profile .ph-camera-btn:active { background: #34383D; }
#page-profile .ph-info-right { flex: 1; min-width: 0; }
#page-profile .ph-name { min-width: 0; font-size: 22px; font-weight: 700; color: #fff; display: flex; align-items: center; text-shadow: 0 1px 4px rgba(0,0,0,0.45); }
#page-profile .ph-name-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page-profile .ph-register-time { margin-top: 8px; color: rgba(255,255,255,0.92); font-size: 13px; text-shadow: 0 1px 3px rgba(0,0,0,0.45); }
#page-profile .ph-card { flex: 1 0 auto; margin-top: -24px; padding: 20px 16px calc(24px + env(safe-area-inset-bottom, 0px)); background: #fff; border-radius: 18px 18px 0 0; position: relative; z-index: 2; display: flex; flex-direction: column; }
#page-profile .ph-collection-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 18px; }
#page-profile .ph-collection-stats button { min-width: 0; border: none; background: none; display: flex; flex-direction: column; align-items: center; gap: 5px; cursor: pointer; color: #1A1C1E; }
#page-profile .ph-collection-stats button + button { border-left: 1px solid #F0F1F3; }
#page-profile .ph-collection-stats strong { font-size: 20px; line-height: 1; }
#page-profile .ph-collection-stats span { font-size: 13px; color: #8E96A3; }
#page-profile .ph-account-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
#page-profile .ph-account-actions button { min-width: 0; height: 38px; padding: 0 4px; border: 1px solid #E0E3E8; border-radius: 8px; background: #fff; color: #3A3C40; font-size: 12px; cursor: pointer; white-space: nowrap; }
#page-profile .ph-account-actions button:active { background: #F7F8FA; }
#page-profile .ph-account-actions #logoutBtn { color: #FF3B30; }
#page-profile .ph-divider { height: 1px; background: #E8EAED; margin: 20px 0 0; }
#page-profile .ph-tabs { height: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid #F0F1F3; }
#page-profile .ph-tabs button { position: relative; border: none; background: none; color: #8E96A3; font-size: 14px; cursor: pointer; }
#page-profile .ph-tabs button.active { color: #1A1C1E; font-weight: 600; }
#page-profile .ph-tabs button.active::after { content: ''; position: absolute; left: 30%; right: 30%; bottom: -1px; height: 2px; background: #FF5C39; }
#page-profile .ph-favorite-content { flex: 1 0 auto; padding-top: 14px; }
#page-profile .ph-favorite-content .product-grid { padding: 0; }
#page-profile .ph-favorite-content.notice-mode { margin: 0 -16px; padding: 0 0 calc(24px + env(safe-area-inset-bottom, 0px)); background: #F0F1F3; }
#page-profile .ph-card.notice-mode { padding-bottom: 0; }
#page-profile .profile-favorite-post { cursor: pointer; }
#page-profile .ph-empty { padding: 54px 20px; text-align: center; color: #A0A4A8; font-size: 14px; }
#page-profile .ph-overlay { display: none; position: fixed; inset: 0; z-index: 520; background: rgba(0,0,0,0.5); align-items: center; justify-content: center; }
#page-profile .ph-overlay.show { display: flex; }
#page-profile .ph-dialog { width: 75%; max-width: 300px; background: #fff; border-radius: 12px; padding: 20px 16px 0; display: flex; flex-direction: column; gap: 14px; }
#page-profile .ph-dialog-title { color: #1A1C1E; font-size: 17px; font-weight: 600; text-align: center; }
#page-profile .ph-dialog-body { color: #8E96A3; font-size: 14px; line-height: 1.55; text-align: center; padding-bottom: 6px; }
#page-profile .ph-input { width: 100%; height: 42px; box-sizing: border-box; border: 1px solid #E0E3E8; border-radius: 8px; padding: 0 12px; font-size: 15px; outline: none; background: #F7F8FA; color: #1A1C1E; }
#page-profile .ph-input:focus { background: #fff; border-color: #81D8D0; }
#page-profile .password-wrapper .ph-input { padding-right: 40px; }
#page-profile .ph-input-error { display: block; min-height: 16px; color: #FF3B30; font-size: 12px; line-height: 16px; }
#page-profile .ph-field { display: flex; flex-direction: column; gap: 6px; color: #3A3C40; font-size: 13px; }
#page-profile .ph-password-dialog { gap: 10px; }
#page-profile .ph-dialog-actions { display: flex; border-top: 1px solid #F0F1F3; margin: 0 -16px; }
#page-profile .ph-dialog-actions button { flex: 1; height: 44px; border: none; background: #fff; font-size: 16px; cursor: pointer; }
#page-profile .ph-dialog-actions button + button { border-left: 1px solid #F0F1F3; }
#page-profile .ph-dialog-actions .cancel { color: #1A1C1E; border-radius: 0 0 0 12px; }
#page-profile .ph-dialog-actions .ok { color: #2BB3A8; font-weight: 600; border-radius: 0 0 12px 0; }
#page-profile .ph-dialog-actions .danger { color: #FF3B30; font-weight: 600; border-radius: 0 0 12px 0; }
#page-profile .ph-dialog-actions button:active { background: #F8F9FA; }
#page-profile .ph-logout-dialog { gap: 12px; }
#page-profile .profile-name-error { min-height: 16px; color: #FF3B30; font-size: 12px; line-height: 16px; }
#page-profile .profile-name-error:empty { display: none; }
#profileNameOverlay { z-index: 520; }
#page-profile .ph-logged-out { min-height: 100%; background: #fff; display: grid; place-items: center; padding: 32px; box-sizing: border-box; }
#page-profile .ph-logged-out[hidden] { display: none; }
#profileLoggedInView[hidden] { display: none; }
#page-profile .ph-logged-out-inner { width: 100%; max-width: 300px; text-align: center; }
#page-profile .ph-logged-out-mark { width: 58px; height: 58px; margin: 0 auto; border: 1px solid #DDE1E6; border-radius: 50%; display: grid; place-items: center; color: #8E96A3; font-size: 22px; }
#page-profile .ph-logged-out-line { width: 36px; height: 1px; margin: 22px auto; background: #DDE1E6; }
#page-profile .ph-logged-out h2 { font-size: 17px; font-weight: 600; color: #1A1C1E; }
#page-profile .ph-logged-out p { margin-top: 8px; font-size: 14px; color: #8E96A3; }
#page-profile .ph-logged-out #profileLoginBtn { margin-top: 26px; width: 100%; max-width: 260px; height: 44px; border: none; border-radius: 22px; background: #FF5C39; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
#page-profile .ph-logged-out #profileLoginBtn:active { opacity: 0.9; }
