body:has(.member-page) { margin: 0; background: radial-gradient(circle at 85% 10%, #7ec8ff, transparent 35%), #071426; font-family: Arial, sans-serif; min-height: 100vh; }
.member-page { min-height: 100vh; padding: 40px 20px 70px; }
.member-logo { display: block; width: min(80vw, 255px); margin: 0 auto 30px; }
.member-logo img { width: 100%; height: auto; }
.member-card { width: min(1120px, 100%); margin: auto; background: #fff; border-radius: 22px; padding: clamp(28px,4.5vw,60px); box-shadow: 0 30px 90px rgba(26,0,40,.35); box-sizing: border-box; }
.member-back { color: #667085; font-size: 13px; text-decoration: none; }
.member-card h1 { font: 400 clamp(38px,6vw,55px)/1.05 Georgia,serif; letter-spacing: -.035em; color: #071426; margin: 24px 0 14px; }
.member-lead { color: #667085; line-height: 1.65; margin-bottom: 28px; }
.member-form { display: grid; gap: 17px; }
.member-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.member-form label { color: #2e3a4f; font-size: 13px; font-weight: 700; display: grid; gap: 7px; }
.member-form small { color: #737d91; font-weight: 400; }
.member-form input, .member-form select, .member-form textarea { width: 100%; border: 1px solid #d9d0dc; background: #fff; border-radius: 10px; padding: 13px 14px; font: inherit; box-sizing: border-box; color: #071426; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 48px; }
.password-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 37px; height: 37px; border: 0; border-radius: 8px; background: #edf1f7; color: #1f5eff; font-size: 17px; }
.password-toggle.is-visible { background: #1f5eff; color: #fff; }
.password-eye { position: relative; display: block; width: 19px; height: 13px; margin: auto; border: 2px solid currentColor; border-radius: 70% 15% 70% 15%; transform: rotate(45deg); box-sizing: border-box; }
.password-eye::after { content: ""; position: absolute; width: 5px; height: 5px; left: 5px; top: 2px; border-radius: 50%; background: currentColor; }
.password-toggle.is-visible .password-eye::before { content: ""; position: absolute; width: 23px; height: 2px; left: -4px; top: 4px; background: currentColor; transform: rotate(-90deg); }
.member-form .field-invalid { border-color: #d7264f !important; box-shadow: 0 0 0 3px rgba(215,38,79,.12); }
.member-form .field-error { color: #b5183c; font-weight: 800; }
.upload-progress { display: grid; gap: 7px; padding: 12px; border-radius: 10px; color: #1f5eff; background: #edf4ff; }
.upload-progress[hidden] { display: none; }
.upload-progress > div { height: 9px; overflow: hidden; border-radius: 99px; background: #dbe5f2; }
.upload-progress > div span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1f5eff,#d94691); transition: width .15s linear; }
.upload-progress strong { font-size: 11px; }
.member-check { display: flex !important; grid-template-columns: 20px 1fr; align-items: flex-start; font-weight: 400 !important; line-height: 1.5; }
.member-check input { width: 18px; margin-top: 1px; }
.member-submit { display: block; border: 0; background: #ff684f; color: #fff !important; border-radius: 10px; padding: 16px 20px; text-align: center; font-weight: 800; text-decoration: none; cursor: pointer; }
.member-switch { text-align: center; color: #667085; margin: 24px 0 0; }
.member-switch a, .profile-actions a { color: #1f5eff; font-weight: 700; }
.member-alert { padding: 13px 15px; border-radius: 9px; background: #fff0ed; color: #a42f1c; }
.member-alert.success { background: #e7f8ee; color: #17733d; }
.account-created { display:flex; align-items:flex-start; gap:14px; margin:0 0 24px; padding:18px; border:1px solid #bfe8cf; border-radius:14px; color:#165f36; background:#eaf9f0; }
.account-created > span { flex:0 0 38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#1b9b57; font-size:21px; font-weight:900; }
.account-created strong { display:block; margin:1px 0 5px; font-size:16px; }
.account-created p { margin:0; color:#246b44; font-size:13px; line-height:1.5; }
.birthdate-field { position:relative; display:block; }
.birthdate-field .birthdate-display { padding-right:58px; cursor:pointer; background:#fff; }
.birthdate-open { position:absolute; right:6px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:9px; color:#fff; background:#1f5eff; cursor:pointer; }
.birthdate-open span { position:relative; width:20px; height:18px; border:2px solid currentColor; border-radius:4px; }
.birthdate-open span::before { content:""; position:absolute; left:-2px; right:-2px; top:3px; border-top:2px solid currentColor; }
.birthdate-open span::after { content:""; position:absolute; left:4px; top:-5px; width:8px; height:5px; border-left:2px solid currentColor; border-right:2px solid currentColor; }
.birthdate-backdrop { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:18px; background:rgba(8,8,12,.82); backdrop-filter:blur(4px); }
.birthdate-backdrop[hidden] { display:none; }
.birthdate-dialog { width:min(390px,100%); padding:28px 26px 22px; border-radius:2px; color:#fff; background:#1f2c3a; box-shadow:0 30px 85px rgba(0,0,0,.52); }
.birthdate-dialog h2 { margin:0 0 8px; color:#fff; font:400 27px/1.15 Arial,sans-serif; }
.birthdate-dialog p { margin:0 0 18px; color:#cbd3db; font-size:12px; line-height:1.45; }
.birthdate-columns { display:grid; grid-template-columns:.8fr 1.25fr 1fr; gap:12px; }
.birthdate-columns > div { position:relative; }
.birthdate-columns > div > span { display:block; margin-bottom:4px; color:#94a0ab; text-align:center; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.birthdate-wheel { height:156px; overflow-y:auto; overscroll-behavior:contain; scroll-snap-type:y mandatory; scrollbar-width:none; touch-action:pan-y; background:linear-gradient(to bottom,transparent 51px,#e9edf1 51px,#e9edf1 53px,transparent 53px,transparent 103px,#e9edf1 103px,#e9edf1 105px,transparent 105px); }
.birthdate-wheel::-webkit-scrollbar { display:none; }
.birthdate-wheel button, .birthdate-spacer { display:grid; place-items:center; width:100%; height:52px; border:0; padding:0; scroll-snap-align:center; color:#77838e; background:transparent; font:400 17px/1 Arial,sans-serif; cursor:pointer; transition:color .15s,transform .15s; }
.birthdate-wheel button.selected { color:#fff; transform:scale(1.04); }
.birthdate-wheel button:focus-visible { outline:2px solid #d94691; outline-offset:-3px; }
.birthdate-spacer { pointer-events:none; }
.birthdate-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
.birthdate-actions button { border:0; padding:11px 10px; color:#fff; background:transparent; font-weight:700; text-transform:uppercase; cursor:pointer; }
.birthdate-actions button:hover, .birthdate-actions button:focus-visible { color:#f18abb; }
.birthdate-actions .birthdate-confirm { background:transparent; }
body.birthdate-opened { overflow:hidden; }
.points-bank-summary { display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; margin: -4px 0 22px; padding: 18px 20px; border-radius: 14px; color: #fff; background: linear-gradient(135deg,#1f5eff,#315eff); box-shadow: 0 14px 30px rgba(31,94,255,.2); text-decoration: none; }
.points-bank-summary span { font-size: 13px; font-weight: 800; }
.points-bank-summary span b { color: #ffd66e; }
.points-bank-summary strong { grid-row: 1/3; grid-column: 2; align-self: center; font-size: clamp(22px,3vw,32px); }
.points-bank-summary small { color: #fff; opacity: .86; }
.points-hero { display: grid; grid-template-columns: minmax(260px,.85fr) 1.15fr; gap: 25px; align-items: center; margin: 24px 0; padding: clamp(22px,4vw,38px); border-radius: 19px; color: #fff; background: radial-gradient(circle at 100% 0,#7ec8ff,transparent 38%),#1f5eff; }
.points-hero > div { display: grid; }
.points-hero span { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.points-hero strong { margin: 8px 0 0; font-size: clamp(44px,7vw,76px); line-height: 1; }
.points-hero small { color: #ffd66e; font-weight: 800; }
.points-hero p { margin: 0; line-height: 1.65; }
.points-section { margin-top: 20px; padding: 22px; border: 1px solid #e4e9f2; border-radius: 15px; }
.points-section h2 { margin: 0 0 7px; color: #111c2e; font: 400 25px/1.2 Georgia,serif; }
.points-section > p { color: #596579; line-height: 1.55; }
.points-plan-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.points-plan-groups h3 { color: #1f5eff; }
.points-plan { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid #edf1f7; }
.points-plan span { display: grid; gap: 3px; }
.points-plan small { color: #667085; }
.points-plan button { border: 0; padding: 10px 12px; border-radius: 8px; color: #fff; background: #d94691; font-weight: 800; cursor: pointer; }
.points-plan button:disabled { color: #667085; background: #e8edf5; cursor: not-allowed; }
.topup-methods { display: flex; gap: 9px; flex-wrap: wrap; margin: 17px 0; }
.topup-methods span { padding: 9px 12px; border-radius: 99px; color: #1f5eff; background: #edf4ff; font-size: 12px; font-weight: 800; }
.points-topup .member-submit:disabled { opacity: .58; cursor: not-allowed; }
.member-location-card { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0; padding:16px 18px; border:1px solid #e3ebf7; border-radius:16px; background:#fbf6ff; color:#071426; }
.member-location-card div { display:grid; gap:4px; }
.member-location-card b { color:#1f5eff; }
.member-location-card span { font-size:13px; }
.member-location-card button, .location-permission-prompt [data-enable-location] { border:0; border-radius:999px; padding:11px 16px; background:#e34b9b; color:#fff; font-weight:800; cursor:pointer; white-space:nowrap; }
.member-location-card button:disabled, .location-permission-prompt button:disabled { opacity:.6; cursor:wait; }
button, a.primary, a.member-submit, .profile-actions a { transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, background-color .16s ease; }
button:hover, a.primary:hover, a.member-submit:hover, .profile-actions a:hover { filter:brightness(1.06); }
button.is-pressed, a.is-pressed { transform:translateY(2px) scale(.98) !important; filter:brightness(.95); }
button.is-loading { position:relative; cursor:wait; opacity:.82; pointer-events:none; }
button.is-loading::after { content:""; display:inline-block; width:13px; height:13px; margin-left:8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; vertical-align:-2px; animation:pampam-spin .65s linear infinite; }
@keyframes pampam-spin { to { transform:rotate(360deg); } }
.private-request-pending { display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:13px 18px; border-radius:999px; color:#fff; background:#b47700; font-weight:900; }
.private-request .member-submit.is-pending { background:#b47700; }
.private-access-countdown { width:max-content; margin:14px 0; padding:10px 14px; border-radius:999px; color:#fff; background:#16854a; font-size:12px; }
.private-decision-form { align-items:end; flex-wrap:wrap; }
.private-decision-form label { display:grid; gap:4px; color:#4b3b51; font-size:11px; font-weight:800; }
.private-decision-form select { min-width:125px; padding:8px; border:1px solid #ddd0e1; border-radius:8px; background:#fff; }
[data-location-status][data-state="error"] { color:#a01845; }
[data-location-status][data-state="success"] { color:#147142; }
.profile-distance { color:#e34b9b; font-weight:800; }
.location-permission-prompt { position:fixed; right:20px; bottom:20px; z-index:99999; display:flex; gap:14px; width:min(430px,calc(100% - 32px)); padding:22px; border:1px solid rgba(255,255,255,.32); border-radius:22px; color:#fff; background:linear-gradient(135deg,#1f5eff,#7800ad); box-shadow:0 24px 65px rgba(7,20,38,.38); }
.location-permission-prompt>span { display:grid; place-items:center; flex:0 0 48px; height:48px; border-radius:50%; background:#fff; color:#1f5eff; font-size:28px; font-weight:900; }
.location-permission-prompt strong { display:block; padding-right:22px; font-size:18px; }
.location-permission-prompt p { margin:6px 0 14px; color:#fff; font-size:13px; line-height:1.45; }
.location-prompt-close { position:absolute; top:8px; right:10px; border:0; background:transparent; color:#fff; font-size:25px; cursor:pointer; }
.points-ledger { display: grid; }
.points-ledger article { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid #edf1f7; }
.points-ledger article div { display: grid; gap: 3px; }
.points-ledger time { color: #737d91; font-size: 11px; }
.points-ledger strong.credit { color: #16854a; }
.points-ledger strong.debit { color: #c02d62; }
.pampam-session-warning { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 24px; color: #fff; background: #1f5eff; text-align: center; font: 700 17px/1.5 Arial,sans-serif; }
.profile-summary { background: #f5f8ff; padding: 18px; border-radius: 14px; display: flex; align-items: center; gap: 18px; margin: 24px 0; }
.profile-summary img { width: 90px; height: 90px; object-fit: cover; border-radius: 50%; }
.profile-summary span { color: #7e6e84; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.profile-summary h2 { margin: 6px 0 3px; color: #111c2e; }
.profile-summary p { margin: 0; color: #796b7d; }
.protected-content, .protected-content img { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.public-albums .album-photo-card figure { position:relative; }
.public-albums .album-photo-card figure::after { content:"Lendolo"; position:absolute; right:8px; bottom:8px; padding:3px 7px; border-radius:999px; color:rgba(255,255,255,.88); background:rgba(31,94,255,.46); font-size:8px; font-weight:900; pointer-events:none; }
.capture-protection-active .protected-content, .capture-protection-active .clickable-profile img { filter:blur(24px); opacity:.08; }
@media print { .protected-content { display:none !important; } }
@media (max-width:600px) { .member-location-card { align-items:stretch; flex-direction:column; } .member-location-card button { width:100%; } .location-permission-prompt { right:16px; bottom:16px; } }
.profile-actions { margin-top: 25px; display: flex; justify-content: space-between; }
.profile-section-title { margin: 18px 0 0 !important; padding-top: 22px; border-top: 1px solid #e4e9f2; font: 400 25px/1.2 Georgia,serif !important; color: #111c2e !important; }
.member-dashboard-head { display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 18px; margin: 25px 0 20px; padding: 18px; background: #f5f8ff; border-radius: 16px; }
.member-dashboard-head img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.profile-photo-edit-link { position: relative; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; }
.profile-photo-edit-link span { position: absolute; right: 4px; bottom: 4px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #1f5eff; background: #fff; font-size: 14px; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.avatar-picker { margin: 0 0 22px; padding: 18px; border: 1px solid #e4e9f2; border-radius: 14px; }
.avatar-picker h2 { margin: 0 0 7px; color: #111c2e; font: 400 24px/1.2 Georgia,serif; }
.avatar-picker p { color: #596579; }
.avatar-picker-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.avatar-picker-grid button { position: relative; padding: 0; aspect-ratio: 1; overflow: hidden; border: 3px solid transparent; border-radius: 12px; background: #edf1f7; cursor: pointer; }
.avatar-picker-grid button:hover { border-color: #d94691; }
.avatar-picker-grid img { width: 100%; height: 100%; object-fit: cover; }
.avatar-picker-grid span { position: absolute; inset:auto 5px 5px; padding: 5px; border-radius: 6px; color:#fff; background:rgba(48,10,60,.8); font-size:10px; font-weight:800; }
.member-dashboard-head span { color: #737d91; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.member-dashboard-head h2 { margin: 6px 0 !important; padding: 0 !important; border: 0 !important; font-size: 28px !important; }
.member-dashboard-head p { margin: 0; color: #667085; }
.member-dashboard-head > a { padding: 10px 14px; border-radius: 8px; background: #1f5eff; color: #fff; text-decoration: none; font-weight: 800; font-size: 12px; }
.member-notification-button { position: relative; display: flex; align-items: center; gap: 9px; margin: -5px 0 20px; padding: 14px 17px; border: 1px solid #e5d9e8; border-radius: 12px; color: #2e3a4f; background: #fff; text-decoration: none; }
.member-notification-button > span { color: #d94691; font-size: 24px; }
.member-notification-button > strong { margin-left: auto; min-width: 25px; height: 25px; display: grid; place-items: center; padding: 0 5px; border-radius: 99px; color: #fff; background: #d94691; font-size: 11px; }
.member-notification-button > small { margin-left: auto; color: #737d91; }
.notification-permission-button { border: 1px solid #d9c8df; border-radius: 10px; padding: 13px 15px; color: #1f5eff; background: #f5f8ff; font-weight: 800; cursor: pointer; }
.member-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 10px; margin-bottom: 22px; border-bottom: 1px solid #e4e9f2; }
.member-tabs a { white-space: nowrap; padding: 10px 13px; border-radius: 8px; color: #667085; text-decoration: none; font-size: 12px; font-weight: 800; }
.member-tabs a.active { color: #fff; background: #1f5eff; }
.member-tabs a b { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:3px; padding:0 4px; border-radius:99px; color:#fff; background:#d94691; font-size:9px; }
.profile-overview { display: grid; grid-template-columns: 260px 1fr; gap: 25px; }
.profile-main-photo { position: relative; min-height: 350px; overflow: hidden; border-radius: 16px; background: #edf1f7; }
.profile-main-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.profile-main-photo span { position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 14px; padding: 12px; color: #fff; background: rgba(34,8,43,.72); border-radius: 9px; font-size: 12px; }
.profile-details { display: grid; gap: 13px; }
.profile-details section { padding: 17px; border: 1px solid #ebe3ed; border-radius: 13px; }
.profile-details h3, .gallery-manager h2 { margin: 0 0 10px; color: #111c2e; font: 400 22px/1.2 Georgia,serif; }
.profile-details p, .gallery-manager > p { color: #667085; line-height: 1.6; margin: 0; }
.profile-details dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.profile-details dl div { padding: 9px; background: #f7f9fc; border-radius: 8px; }
.profile-details dt { color: #737d91; font-size: 9px; text-transform: uppercase; }
.profile-details dd { margin: 4px 0 0; color: #2e3a4f; font-size: 12px; font-weight: 700; }
.dashboard-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 20px; }
.dashboard-cards a { min-height: 125px; display: flex; flex-direction: column; gap: 6px; padding: 15px; border: 1px solid #e4e9f2; border-radius: 13px; text-decoration: none; }
.dashboard-cards b { color: #ff684f; font-size: 23px; }
.dashboard-cards strong { color: #2e3a4f; font-size: 13px; }
.dashboard-cards span { color: #887b8c; font-size: 10px; line-height: 1.4; }
.member-gallery { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin: 20px 0; }
.member-gallery figure { margin: 0; aspect-ratio: .78; overflow: hidden; border-radius: 11px; background: #edf1f7; }
.member-gallery figure { position: relative; }
.member-gallery img { width: 100%; height: 100%; object-fit: cover; }
.member-gallery img[data-full] { cursor: zoom-in; transition: transform .25s ease, filter .25s ease; }
.member-gallery img[data-full]:hover { transform: scale(1.035); filter: brightness(1.04); }
.member-gallery img[data-full]:focus-visible { outline: 4px solid #d94691; outline-offset: -4px; }
.member-gallery figcaption { position: absolute; left: 7px; bottom: 7px; padding: 5px 7px; border-radius: 99px; color: #fff; background: rgba(25,8,32,.72); font-size: 9px; }
.member-gallery figure.is-private { box-shadow: 0 0 0 3px #7c25a8; }
.independent-albums { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 20px; }
.album-panel { padding: 18px; border: 1px solid #e4e9f2; border-radius: 14px; background: #fff; }
.album-panel.private-album { background: #f5f8ff; border-color: #d6bce2; }
.album-panel h3 { margin: 0 0 6px; color: #111c2e; font: 400 23px/1.2 Georgia,serif; }
.album-panel > p { color: #667085; font-size: 12px; line-height: 1.5; }
.member-gallery figure.blurred img { filter: blur(27px) brightness(.76) saturate(.68); transform: scale(1.22); }
.notification-avatar.blurred img { filter: blur(18px) brightness(.58); transform: scale(1.18); }
.member-gallery figure.blurred span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,rgba(7,20,38,.18),rgba(31,94,255,.34)); text-shadow: 0 2px 10px rgba(20,0,28,.72); font-weight: 800; }
.premium-lock { margin: 16px 0; padding: 14px; border-radius: 10px; color: #526079; background: #edf4ff; font-size: 12px; line-height: 1.5; }
.premium-message-gate { max-width:680px; margin:28px auto 8px; display:grid; justify-items:center; gap:12px; padding:clamp(30px,6vw,58px); border-radius:24px; color:#fff; background:linear-gradient(145deg,#2c004b,#1f5eff 58%,#9c1c85); text-align:center; box-shadow:0 24px 65px rgba(7,20,38,.3); }
.premium-message-gate > span { width:74px; height:74px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.14); font-size:36px; }
.premium-message-gate small { color:#f5b5d4; font-weight:900; letter-spacing:.16em; }
.premium-message-gate h2 { max-width:560px; margin:5px 0; color:#fff; font:400 clamp(30px,5vw,48px)/1.05 Georgia,serif; }
.premium-message-gate strong { font-size:18px; }
.premium-message-gate p { max-width:520px; margin:0 0 7px; color:#fff; line-height:1.6; }
.premium-message-gate .member-submit { width:min(100%,360px); color:#fff !important; background:#d94691; box-shadow:0 12px 28px rgba(22,0,34,.28); }
.premium-message-gate > a:last-child { color:#fff; font-weight:800; }
.locale-preferences-card { margin:20px 0; padding:22px; border:1px solid #decbe7; border-radius:16px; background:#faf6fc; }
.locale-preferences-card > h2 { margin:0 0 7px; color:#111c2e; font:400 27px/1.15 Georgia,serif; }
.locale-preferences-card > p { margin:0 0 16px; color:#67596c; }
.automatic-timezone, .automatic-language { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:12px 0; padding:13px 15px; border:1px solid #e2d5e7; border-radius:11px; color:#47374d; background:#fff; }
.automatic-timezone span, .automatic-language span { font-weight:700; }
.automatic-timezone strong, .automatic-language strong { color:#1f5eff; text-align:right; }
.public-profile-hero { display: flex; align-items: center; gap: 20px; margin: 24px 0; padding: 20px; border-radius: 16px; background: #f5f8ff; }
.public-avatar-wrap { position:relative; width:132px; height:132px; flex:0 0 132px; border-radius:50%; }
.public-profile-hero .public-profile-photo { width:100%; height:100%; object-fit:cover; border-radius:13px; cursor:zoom-in; transition:transform .22s ease,filter .22s ease; }
.public-avatar-wrap .public-profile-photo { border-radius:50%; box-shadow:0 0 0 4px #fff,0 0 0 7px rgba(217,70,145,.28); }
.public-profile-hero .public-profile-photo:hover { transform:scale(1.025); filter:brightness(1.04); }
.public-profile-hero .public-profile-photo:focus-visible { outline:4px solid #d94691; outline-offset:3px; }
.public-online-dot { display:none !important; }
.public-profile-name { display:flex; align-items:center; gap:10px; min-width:0; }
.public-profile-name-text { min-width:0; display:block; white-space:nowrap; }
.name-online-dot { display:inline-block; order:-1; flex:0 0 19px; width:19px; height:19px; border:4px solid #fff; border-radius:50%; background:#28c76f; box-shadow:0 2px 9px rgba(20,100,54,.32); }
.member-tier-badge { display:inline-flex; width:max-content; margin-left:9px; padding:5px 9px; border-radius:999px; color:#fff; background:#1f5eff; font-size:9px; line-height:1; vertical-align:middle; }
.member-tier-badge.is-premium { background:linear-gradient(135deg,#1f5eff,#315eff); }
.member-tier-badge.is-boosted { color:#3b154c; background:#ffd66e; }
.member-tier-badge.is-vip { color:#342044; background:linear-gradient(135deg,#ffeaa0,#ffc445); box-shadow:0 5px 14px rgba(181,123,0,.2); }
.public-profile-hero h2 { margin: 6px 0 !important; font-size: 34px !important; }
.public-profile-hero span { color: #737d91; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.profile-message-link { display: inline-block; margin-top: 12px; padding: 10px 14px; border-radius: 9px; color: #fff; background: #d94691; text-decoration: none; font-size: 12px; font-weight: 800; }
.public-profile-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:13px; }
.public-profile-actions .profile-message-link { margin-top:0; }
.profile-like-button { border:0; padding:10px 14px; border-radius:9px; color:#fff; background:#1f5eff; cursor:pointer; font-size:12px; font-weight:800; }
.profile-like-button.is-liked { color:#7b3155; background:#f8d8e8; cursor:default; }
.message-match-lock { flex-basis:100%; color:#735f79; font-size:10px; }
.guest-profile-gate { max-width: 560px; margin: 30px auto 5px; display: grid; justify-items: center; gap: 13px; padding: 32px; border-radius: 18px; background: #f5f8ff; text-align: center; }
.guest-profile-gate > span { font-size: 40px; }
.guest-profile-gate h2 { margin: 0; color: #111c2e; }
.guest-profile-gate p { margin: 0 0 8px; color: #6d6072; line-height: 1.6; }
.guest-profile-gate > a:last-child { color: #1f5eff; font-weight: 800; }
.public-about, .public-albums { margin-top: 20px; padding: 20px; border: 1px solid #e4e9f2; border-radius: 14px; }
.public-about h3, .public-albums h3 { margin: 0 0 12px; color: #111c2e; font: 400 23px/1.2 Georgia,serif; }
.public-about dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.public-about dl div { padding: 10px; border-radius: 9px; background: #f7f9fc; }
.public-about dt { color: #737d91; font-size: 9px; text-transform: uppercase; }
.public-about dd { margin: 4px 0 0; font-weight: 700; }
.notifications-list { display: grid; gap: 10px; margin-top: 20px; }
.notifications-list article { display: grid; grid-template-columns: 64px 1fr; gap: 14px; padding: 15px; border: 1px solid #e4e9f2; border-radius: 13px; }
.notifications-list article.notification-action { border-color: #d94691; background: #fff5fa; }
.notifications-list article.is-unread { border-color: #d94691; background: #fff0f7; box-shadow: inset 4px 0 #d94691; }
.notifications-list article.is-read { background: #fff; }
.notifications-list article.is-read .notification-main-link strong { color: #2e3a4f; font-weight: 700; }
.notification-main-link { display: grid; gap: 6px; color: #1f5eff; text-decoration: none; }
.notification-main-link span { color: #d94691; font-size: 11px; font-weight: 800; }
.notifications-list strong a, .notifications-list p a { color: #1f5eff; text-decoration: none; }
.notifications-list strong a:hover, .notifications-list p a:hover { text-decoration: underline; }
.notification-avatar { width: 64px; height: 64px; overflow: hidden; display: grid; place-items: center; border-radius: 50%; background: #eee3f1; }
.notification-avatar img { width: 100%; height: 100%; object-fit: cover; }
.notification-avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #d94691; transition: transform .2s ease; }
.notification-avatar:hover { transform: scale(1.06); }
.notification-private .notification-locked { color:#1f5eff; background:linear-gradient(145deg,#f5eafd,#fff); box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(31,94,255,.18); font-size:23px; }
.notification-private .notification-locked:hover { transform:none; }
.free-notification-explainer { display:flex; align-items:center; gap:13px; margin:18px 0 2px; padding:15px 17px; border:1px solid #ead9f1; border-radius:14px; color:#3c2745; background:#faf5fc; }
.free-notification-explainer > span { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#1f5eff; }
.free-notification-explainer strong, .free-notification-explainer p { margin:0; }
.free-notification-explainer p { margin-top:3px; color:#6d5b74; font-size:11px; line-height:1.5; }
.premium-notification-paywall { display:grid; justify-items:center; gap:13px; margin:5px 0 22px; padding:30px 24px; overflow:hidden; position:relative; border-radius:20px; color:#fff; background:radial-gradient(circle at 85% 10%,rgba(217,70,145,.75),transparent 34%),linear-gradient(135deg,#071426,#1f5eff 58%,#2d58d8); box-shadow:0 22px 55px rgba(7,20,38,.24); text-align:center; }
.premium-notification-paywall > span { color:#f5b8d5; font-size:10px; font-weight:900; letter-spacing:.16em; }
.premium-notification-paywall h2 { max-width:610px; margin:0; color:#fff; font:400 clamp(28px,5vw,43px)/1.05 Georgia,serif; }
.premium-notification-paywall p { max-width:620px; margin:0; color:#fff; font-size:14px; line-height:1.65; }
.premium-notification-paywall a.member-submit { margin-top:5px; color:#fff !important; background:#d94691; box-shadow:0 12px 28px rgba(18,0,31,.26); }
.premium-paywall-lock { width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(255,255,255,.12); font-size:26px; }
.premium-subscription-hero { display:grid; gap:14px; padding:34px; border-radius:21px; color:#fff; background:radial-gradient(circle at 86% 12%,rgba(217,70,145,.78),transparent 36%),linear-gradient(135deg,#071426,#1f5eff 60%,#2d58d8); box-shadow:0 22px 55px rgba(7,20,38,.2); }
.premium-subscription-hero > span { color:#f6bad7; font-size:10px; font-weight:900; letter-spacing:.16em; }
.premium-subscription-hero h2 { max-width:680px; margin:0; color:#fff; font:400 clamp(34px,5vw,52px)/1.04 Georgia,serif; }
.premium-subscription-hero p { max-width:650px; margin:0; color:#fff; line-height:1.65; }
.premium-subscription-hero strong { width:max-content; max-width:100%; padding:10px 14px; border-radius:999px; color:#071426; background:#ffd66e; font-size:11px; }
.premium-subscription-plans > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.premium-subscription-plans > header h2, .premium-subscription-plans > header p { margin:0; }
.premium-subscription-plans > header p { margin-top:5px; }
.premium-subscription-plans > header > a { color:#1f5eff; font-size:11px; font-weight:900; }
.premium-subscription-plans .points-plan-groups { grid-template-columns:1fr; }
.notifications-list p { margin: 5px 0; color: #667085; }
.notifications-list time { color: #948899; font-size: 10px; }
.notifications-list form { display: flex; gap: 7px; margin-top: 8px; }
.notifications-list form button { border: 0; padding: 8px 10px; border-radius: 7px; color: #fff; background: #1f5eff; }
.empty-gallery { grid-column: 1/-1; padding: 25px; color: #737d91; background: #f7f2f8; border-radius: 12px; text-align: center; }
.remove-photos { border: 1px solid #e4e9f2; border-radius: 10px; display: flex; gap: 16px; flex-wrap: wrap; padding: 14px; }
.remove-photos legend { color: #4f3c56; font-weight: 800; font-size: 12px; }
.remove-photos label { display: flex; align-items: center; gap: 6px; font-weight: 400; }
.remove-photos input { width: auto; }
.section-anchor { display:block; scroll-margin-top:110px; }
.matches-panel { margin-top:22px; }
.matches-panel > header { display:flex; align-items:center; gap:15px; margin-bottom:20px; padding:20px; border-radius:17px; color:#fff; background:linear-gradient(135deg,#1f5eff,#315eff 62%,#d94691); }
.matches-panel > header > span { font-size:38px; }
.matches-panel > header h2, .matches-panel > header p { margin:0; color:#fff; }
.matches-panel > header p { margin-top:5px; opacity:.82; font-size:12px; }
.matches-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.matches-grid article { min-width:0; display:grid; grid-template-columns:105px 1fr; gap:14px; align-items:center; padding:13px; border:1px solid #e4e9f2; border-radius:17px; background:#fff; box-shadow:0 10px 28px rgba(53,17,67,.08); }
.match-avatar { position:relative; width:105px; height:120px; overflow:hidden; border-radius:13px; }
.match-avatar img { width:100%; height:100%; object-fit:cover; }
.match-avatar span { position:absolute; left:7px; bottom:7px; padding:5px 8px; border-radius:99px; color:#fff; background:#d94691; font-size:9px; font-weight:900; }
.matches-grid h3 { margin:0 0 5px; color:#111c2e; font:400 23px/1.15 Georgia,serif; overflow-wrap:anywhere; }
.matches-grid p { margin:0 0 12px; color:#667085; font-size:11px; }
.matches-grid article > div > a { color:#d94691; font-size:11px; font-weight:900; text-decoration:none; }
.matches-empty { display:grid; justify-items:center; gap:9px; padding:48px 20px; border:1px dashed #d9c7df; border-radius:18px; background:#faf6fb; text-align:center; }
.matches-empty > b { color:#d94691; font-size:50px; }
.matches-empty h3, .matches-empty p { margin:0; }
.matches-empty p { max-width:560px; color:#667085; line-height:1.6; }
.discussion-index, .conversation-page { min-height:560px; overflow:hidden; border:1px solid #e4e9f2; border-radius:18px; background:#fff; }
.discussion-index > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px; border-bottom:1px solid #e4e9f2; background:#f8faff; }
.discussion-index > header > div { display:flex; align-items:center; gap:13px; }
.discussion-index > header > div > span { display:grid; place-items:center; width:45px; height:45px; border-radius:50%; color:#fff; background:#1f5eff; font-size:20px; }
.discussion-index h2, .discussion-index p { margin:0; }
.discussion-index header p { margin-top:3px; color:#737d91; font-size:11px; }
.discussion-index header > a { color:#d94691; font-size:11px; font-weight:900; text-decoration:none; }
.discussion-list { display:grid; }
.discussion-list > a { position:relative; min-width:0; display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 18px; border-bottom:1px solid #edf1f7; color:#2e3a4f; text-decoration:none; transition:background .16s ease; }
.discussion-list > a:hover { background:#faf3fc; }
.discussion-list img { width:58px; height:58px; object-fit:cover; border-radius:50%; box-shadow:0 0 0 3px #f0e4f4; }
.discussion-list span { min-width:0; display:grid; gap:5px; }
.discussion-list b, .discussion-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.discussion-list b { font-size:14px; }
.discussion-list small { color:#737d91; font-size:11px; }
.discussion-list time { align-self:start; color:#9a8a9f; font-size:9px; }
.discussion-list > a > strong { position:absolute; right:18px; bottom:14px; min-width:20px; height:20px; display:grid; place-items:center; padding:0 5px; border-radius:99px; color:#fff; background:#d94691; font-size:9px; }
.conversation-page .conversation-panel { min-height:560px; }
.conversation-panel > header { display:flex; align-items:center; gap:12px; }
.conversation-panel > header .conversation-back { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#1f5eff; background:#edf4ff; font-size:22px; font-weight:900; }
.conversation-panel > header .conversation-person { min-width:0; }
.match-celebration { position:fixed; z-index:100000; inset:0; display:grid; place-items:center; padding:20px; background:rgba(31,5,42,.78); backdrop-filter:blur(9px); }
.match-celebration[hidden] { display:none; }
.match-celebration > section { position:relative; width:min(450px,100%); overflow:hidden; display:grid; justify-items:center; gap:11px; padding:42px 28px 30px; border:1px solid rgba(255,255,255,.45); border-radius:30px; color:#fff; background:radial-gradient(circle at 50% 0,#b728c6 0,#6d079b 42%,#3d005f 100%); box-shadow:0 30px 100px rgba(0,0,0,.42); text-align:center; }
.match-close { position:absolute; right:15px; top:13px; width:36px; height:36px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.14); cursor:pointer; font-size:22px; }
.match-hearts { position:absolute; inset:-35px 0 auto; color:rgba(255,255,255,.08); font-size:190px; }
.match-avatars { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; margin-bottom:8px; }
.match-avatars img { width:104px; height:104px; object-fit:cover; border:5px solid #fff; border-radius:50%; box-shadow:0 14px 32px rgba(0,0,0,.25); }
.match-avatars img:last-child { margin-left:-18px; }
.match-avatars span { z-index:2; width:40px; height:40px; display:grid; place-items:center; margin-right:-18px; border:3px solid #fff; border-radius:50%; color:#fff; background:#d94691; }
.match-celebration p, .match-celebration h2, .match-celebration strong { position:relative; z-index:1; margin:0; color:#fff; }
.match-celebration p { color:#f1b7da; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.match-celebration h2 { font:700 clamp(38px,9vw,58px)/1 Georgia,serif; }
.match-celebration strong { max-width:310px; font-size:13px; line-height:1.5; }
.match-celebration a, .match-continue { position:relative; z-index:1; width:min(280px,100%); box-sizing:border-box; margin-top:8px; padding:13px 18px; border:0; border-radius:99px; text-decoration:none; font-weight:900; }
.match-celebration a { color:#6a087f; background:#fff; }
.match-continue { margin-top:0; color:#fff; background:transparent; cursor:pointer; }
.messages-layout { min-height: 560px; display: grid; grid-template-columns: 280px minmax(0,1fr); overflow: hidden; border: 1px solid #e4e9f2; border-radius: 18px; background: #fff; }
.conversation-list { padding: 17px; border-right: 1px solid #e4e9f2; background: #f8faff; }
.conversation-list h2 { margin: 0 0 14px; color: #111c2e; font: 400 24px/1.2 Georgia,serif; }
.conversation-list > a { display: flex; align-items: center; gap: 11px; margin-bottom: 7px; padding: 10px; border-radius: 11px; color: #2e3a4f; text-decoration: none; }
.conversation-list > a:hover, .conversation-list > a.active { background: #eee1f4; }
.conversation-list img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.conversation-list span { min-width: 0; display: grid; gap: 3px; }
.conversation-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversation-list small { color: #737d91; font-size: 10px; }
.conversation-panel { min-width: 0; display: grid; grid-template-rows: auto minmax(250px,1fr) auto; }
.conversation-panel > header { padding: 13px 17px; border-bottom: 1px solid #e4e9f2; }
.conversation-panel > header a { display: inline-flex; align-items: center; gap: 11px; color: #2e3a4f; text-decoration: none; }
.conversation-panel > header img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.conversation-panel > header span { display: grid; gap: 2px; }
.conversation-panel > header small { color: #737d91; font-size: 10px; }
.message-thread { max-height: 560px; overflow-y: auto; display: flex; flex-direction: column; gap: 9px; padding: 18px; background: linear-gradient(180deg,#fdfbfe,#f5f8ff); }
.message-bubble { max-width: 76%; padding: 11px 13px; border-radius: 15px 15px 15px 4px; color: #332639; background: #fff; box-shadow: 0 5px 16px rgba(48,15,61,.08); }
.message-bubble.mine { align-self: flex-end; border-radius: 15px 15px 4px 15px; color: #fff; background: #1f5eff; }
.message-bubble.is-sending { opacity:.7; transform:translateY(2px); }
.message-bubble.send-failed { color:#fff; background:#a52b4e; }
.message-bubble p { margin: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.message-bubble time { display: block; margin-top: 5px; opacity: .68; font-size: 9px; }
.message-bubble blockquote { margin: 0 0 8px; padding: 7px 9px; border-left: 3px solid #d94691; border-radius: 6px; color: #66516f; background: #f4edf7; font-size: 10px; }
.message-bubble.mine blockquote { color: #fff; background: rgba(255,255,255,.16); }
.message-reactions { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 7px; }
.message-reactions span { padding: 3px 6px; border-radius: 99px; color: #2e3a4f; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.12); font-size: 11px; }
.message-context-actions { display: flex; align-items: center; gap: 4px; margin-top: 8px; padding: 6px; border-radius: 10px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(28,4,38,.2); }
.message-context-actions[hidden] { display: none; }
.message-context-actions button { border: 0; padding: 6px; border-radius: 7px; background: #edf4ff; cursor: pointer; }
.message-context-actions .message-reply-button { color: #1f5eff; font-weight: 800; }
.reply-preview { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 11px; border-left: 3px solid #d94691; border-radius: 8px; color: #513958; background: #f6eef8; font-size: 11px; }
.reply-preview[hidden] { display: none; }
.reply-preview button { border: 0; color: #1f5eff; background: transparent; font-size: 20px; cursor: pointer; }
.conversation-empty, .conversation-placeholder { margin: auto; color: #667085; text-align: center; }
.conversation-placeholder { align-self: center; padding: 40px; }
.conversation-placeholder > span { font-size: 46px; }
.message-composer { display: grid; gap: 9px; padding: 14px 17px; border-top: 0; background: #f5f8ff; }
.message-composer label { color: #46374c; font-size: 11px; font-weight: 800; }
.message-composer textarea { width: 100%; box-sizing: border-box; resize: vertical; border: 1px solid #d8cddd; border-radius: 11px; padding: 12px; font: inherit; }
.message-composer .member-submit { justify-self: end; min-width: 130px; padding: 12px 18px; background: #d94691; }
.social-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.album-photo-card { min-width: 0; border: 1px solid #e8ddea; border-radius: 13px; overflow: hidden; background: #fff; }
.album-photo-card > figure { border-radius: 0; }
.photo-social { padding: 10px; }
.photo-reaction-summary { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-bottom:8px; }
.photo-reaction-summary span { display:inline-flex; align-items:center; gap:4px; min-height:27px; padding:3px 8px; border:1px solid #e5d9e9; border-radius:999px; color:#536076; background:#fff; box-shadow:0 2px 7px rgba(7,20,38,.08); }
.photo-reaction-summary b { font-size:15px; line-height:1; }
.photo-reaction-summary strong { font-size:10px; }
.photo-activity { display: grid; gap: 5px; margin-bottom: 8px; }
.photo-activity p { margin: 0; color: #536076; font-size: 10px; overflow-wrap: anywhere; }
.photo-activity a { color: #1f5eff; font-weight: 800; text-decoration: none; }
.photo-reaction-form { display: grid; gap: 7px; }
.photo-emoji-row { display:flex; gap:5px; overflow-x:auto; padding:2px 0; }
.photo-emoji-row button { flex:0 0 auto; min-width:36px; height:34px; display:inline-flex; align-items:center; justify-content:center; padding:3px 7px; border:1px solid transparent; border-radius:999px; background:#f4ebf8; cursor:pointer; }
.photo-emoji-row button span { font-size:16px; line-height:1; }
.photo-emoji-row button.is-selected { border-color:#d94691; background:#fbe3ef; box-shadow:0 0 0 2px rgba(217,70,145,.11); }
.photo-comment-row { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.photo-comment-row input { min-width: 0; border: 1px solid #ddcfdf; border-radius: 8px; padding: 8px; font: inherit; font-size: 10px; }
.photo-comment-row button { border: 0; border-radius: 8px; padding: 8px; color: #fff; background: #d94691; font-size: 10px; font-weight: 800; }
.photo-submit-status { min-height:14px; color:#16854a; font-size:10px; }
.blocked-members-panel { margin-top:22px; padding:22px; border:1px solid #eadff2; border-radius:22px; background:#fff; }
.blocked-members-panel h2 { margin:0 0 6px; }
.blocked-members-panel>p,.blocked-members-empty { color:#455268; }
.blocked-members-list { display:grid; gap:10px; margin-top:16px; }
.blocked-members-list article { display:flex; align-items:center; gap:12px; padding:10px; border:1px solid #eee4f3; border-radius:16px; }
.blocked-members-list img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.blocked-members-list span { display:grid; min-width:0; margin-right:auto; }
.blocked-members-list small { color:#455268; }
.blocked-members-list button { border:0; border-radius:999px; padding:9px 13px; background:#f0e7f5; color:#4f007f; font-weight:800; cursor:pointer; }
.member-block-form { flex-basis:100%; margin-top:3px; }
.member-block-form button { border:0; padding:8px 0; color:#a32643; background:transparent; font-size:10px; font-weight:800; cursor:pointer; }
.blocked-member-gate { display:grid; justify-items:center; gap:12px; padding:34px; text-align:center; }
.blocked-member-gate > span { font-size:42px; }
.blocked-member-gate h2, .blocked-member-gate p { margin:0; }
.visitors-panel > header { display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.visitors-panel > header > span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#1f5eff; font-size:22px; }
.visitors-panel h2, .visitors-panel p { margin:0; }
.visitors-panel header p { margin-top:4px; color:#667085; font-size:11px; }
.visitors-list { display:grid; gap:9px; }
.visitors-list > a { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e4e9f2; border-radius:13px; color:#2e3a4f; background:#fff; text-decoration:none; }
.visitors-list img { width:58px; height:58px; object-fit:cover; border-radius:50%; }
.visitors-list span { min-width:0; display:grid; gap:4px; }
.visitors-list b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.visitors-list small, .visitors-list time { color:#7d6c82; font-size:10px; }
.geo-location-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; }
.geo-field { position:relative; min-width:0; display:grid; align-content:start; gap:7px; }
.geo-combobox { position:relative; display:block; min-width:0; }
.geo-combobox > input[type="search"] { width:100%; min-width:0; min-height:46px; padding:12px 42px 12px 13px; border:1px solid #d9cddd; border-radius:10px; color:#071426; background:#fff; font:inherit; -webkit-appearance:none; appearance:none; }
.geo-combobox > input[type="search"]::-webkit-search-cancel-button { display:none; }
.geo-combobox::after { content:"⌕"; position:absolute; z-index:1; top:50%; right:14px; transform:translateY(-50%); color:#7d6288; font-size:20px; line-height:1; pointer-events:none; }
.geo-combobox > input[type="search"]:focus { outline:0; border-color:#8d3bbd; box-shadow:0 0 0 3px rgba(31,94,255,.12); }
.geo-combobox > input[type="search"]:disabled { cursor:not-allowed; color:#796e7d; background:#f1edf2; opacity:.72; }
.geo-suggestions { position:absolute; z-index:10020; top:calc(100% + 6px); left:0; right:0; max-height:min(310px,48vh); overflow-y:auto; padding:6px; border:1px solid rgba(31,94,255,.2); border-radius:12px; background:#fff; box-shadow:0 20px 50px rgba(7,20,38,.22); }
.geo-suggestions[hidden] { display:none; }
.geo-suggestions button { width:100%; min-height:44px; display:block; padding:10px 12px; border:0; border-radius:8px; color:#071426; background:transparent; text-align:left; font:inherit; font-size:13px; line-height:1.35; cursor:pointer; }
.geo-suggestions button:hover, .geo-suggestions button:focus, .geo-suggestions button.is-active { outline:0; color:#fff; background:#1f5eff; }
.geo-status { min-height:16px; display:block; color:#5a465f; font-size:10px; line-height:1.4; }
.geo-status[data-state="loading"] { color:#1f5eff; }
.geo-status[data-state="loading"]::before { content:""; width:11px; height:11px; display:inline-block; margin-right:6px; border:2px solid rgba(31,94,255,.2); border-top-color:#1f5eff; border-radius:50%; vertical-align:-2px; animation:geo-spin .7s linear infinite; }
.geo-status[data-state="error"] { color:#b42318; }
.geo-status[data-state="empty"] { color:#7a465e; }
@keyframes geo-spin { to { transform:rotate(360deg); } }
.lightbox-open { overflow: hidden; }
.pampam-lightbox { position: fixed; z-index: 1000000; inset: 0; display: none; grid-template-columns: 70px minmax(0,1fr) 70px; align-items: center; gap: 12px; padding: 30px; color: #fff; background: rgba(20,4,27,.94); backdrop-filter: blur(12px); }
.pampam-lightbox.is-open { display: grid; animation: lightbox-in .2s ease-out; }
.pampam-lightbox figure { grid-column: 2; min-width: 0; max-width: min(1100px,100%); max-height: calc(100vh - 60px); margin: auto; display: grid; justify-items: center; gap: 12px; }
.pampam-lightbox figure img { display: block; max-width: 100%; max-height: calc(100vh - 115px); width: auto; height: auto; object-fit: contain; border-radius: 12px; box-shadow: 0 25px 80px rgba(0,0,0,.55); }
.pampam-lightbox figcaption { display: flex; align-items: center; justify-content: center; gap: 12px; color: #fff; font-size: 12px; }
.pampam-lightbox figcaption span { color: #f3afd0; font-weight: 800; }
.lightbox-close, .lightbox-nav { border: 0; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.14); cursor: pointer; backdrop-filter: blur(8px); }
.lightbox-close { position: absolute; right: 20px; top: 20px; width: 46px; height: 46px; border-radius: 50%; font-size: 32px; line-height: 1; }
.lightbox-nav { width: 58px; height: 58px; border-radius: 50%; font-size: 45px; line-height: 1; }
.lightbox-prev { grid-column: 1; }
.lightbox-next { grid-column: 3; }
.lightbox-nav[hidden] { display: none; }
.lightbox-nav:hover, .lightbox-close:hover { background: #d94691; }
@keyframes lightbox-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width:600px) { .geo-location-fields { grid-template-columns:1fr; } .geo-suggestions { max-height:42vh; } .member-grid { grid-template-columns: 1fr; } .profile-actions { flex-direction: column; gap: 15px; } .member-dashboard-head { grid-template-columns: 72px 1fr; } .member-dashboard-head img { width: 72px; height: 72px; } .member-dashboard-head > a { grid-column: 1/-1; text-align: center; } .points-bank-summary { grid-template-columns: 1fr; } .points-bank-summary strong { grid-row:auto; grid-column:auto; } .points-hero, .points-plan-groups { grid-template-columns: 1fr; } .points-plan { grid-template-columns: 1fr; } .points-plan button { width: 100%; } .profile-overview { grid-template-columns: 1fr; } .profile-main-photo { min-height: 430px; } .dashboard-cards { grid-template-columns: 1fr 1fr; } .member-gallery { grid-template-columns: repeat(2,1fr); } .member-gallery.social-gallery { grid-template-columns: 1fr; } .public-about dl { grid-template-columns: 1fr; } }
@media (max-width:600px) { .public-profile-hero { align-items:flex-start; gap:14px; padding:15px; } .public-avatar-wrap { width:96px; height:96px; flex-basis:96px; } .public-profile-hero > div:last-child { min-width:0; flex:1; } .public-profile-hero h2.public-profile-name { max-width:100%; gap:7px; font-size:clamp(18px,6vw,28px) !important; line-height:1.05; white-space:nowrap; } .public-profile-name-text { white-space:nowrap; } .name-online-dot { flex-basis:16px; width:16px; height:16px; border-width:3px; } }
@media (max-width:600px) { .independent-albums { grid-template-columns: 1fr; } }
@media (max-width:600px) { .pampam-lightbox { grid-template-columns: 1fr; padding: 64px 14px 70px; } .pampam-lightbox figure { grid-column: 1; grid-row: 1; max-height: calc(100vh - 135px); } .pampam-lightbox figure img { max-height: calc(100vh - 165px); } .lightbox-nav { position: absolute; bottom: 17px; width: 48px; height: 48px; font-size: 38px; } .lightbox-prev { left: calc(50% - 58px); } .lightbox-next { right: calc(50% - 58px); } .lightbox-close { right: 14px; top: 14px; } }
@media (max-width:760px) { .messages-layout { grid-template-columns: 1fr; } .conversation-list { border-right: 0; border-bottom: 1px solid #e4e9f2; } .conversation-list > a { display: inline-flex; width: min(210px,76vw); vertical-align: top; } .conversation-panel { min-height: 520px; } .message-thread { max-height: 440px; } .message-bubble { max-width: 88%; } .message-composer .member-submit { width: 100%; } }
@media (max-width:760px) {
  body.message-keyboard-open { overflow:hidden; }
  body.message-keyboard-open .message-composer { position:fixed; z-index:999999; left:0; right:0; bottom:var(--pampam-keyboard-inset,0px); grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); border-top:1px solid #eadfeb; background:#fff; box-shadow:0 -10px 28px rgba(42,5,55,.14); }
  body.message-keyboard-open .message-composer textarea { height:48px; min-height:48px; max-height:96px; resize:none; border-radius:24px; padding:13px 16px; background:#fbf8fc; }
  body.message-keyboard-open .message-composer .member-submit { align-self:stretch; width:auto; min-width:82px; padding:10px 14px; border-radius:24px; }
  body.message-keyboard-open .message-composer .reply-preview { grid-column:1/-1; }
  body.message-keyboard-open .message-thread { padding-bottom:82px; }
}
@media (max-width:760px) { .matches-grid { grid-template-columns:1fr; } .matches-grid article { grid-template-columns:88px 1fr; } .match-avatar { width:88px; height:104px; } .discussion-index > header { align-items:flex-start; } .discussion-index > header > a { padding-top:7px; } .discussion-list > a { grid-template-columns:52px minmax(0,1fr) auto; padding:12px; } .discussion-list img { width:52px; height:52px; } .discussion-list > a > strong { right:12px; bottom:10px; } .conversation-page, .discussion-index { min-height:520px; border-radius:14px; } .conversation-panel > header { padding:10px; } .public-profile-actions { align-items:stretch; flex-direction:column; } .public-profile-actions > * { width:100%; box-sizing:border-box; text-align:center; } .match-avatars img { width:88px; height:88px; } }

/* Lendolo 2.0 — espace membres */
body:has(.member-page){background:radial-gradient(circle at 90% 5%,#ff5c65,transparent 28%),linear-gradient(145deg,#07152f,#075dff);font-family:Inter,ui-sans-serif,sans-serif}
.member-card{border-radius:30px;box-shadow:0 35px 100px rgba(7,21,47,.34)}.member-logo img{content:url("https://lendolo.setappssolution.com/wp-content/uploads/2026/09/lendolo-logo-rose-transparent-v2.png?v=20260907b")}.member-submit,.profile-message-link{background:#075dff!important;border-radius:999px!important}
.member-card h1,.public-profile-hero h2{font-family:Inter,sans-serif!important;font-weight:900!important;letter-spacing:-.055em!important}.member-tier-badge.is-premium{background:#075dff}.member-tier-badge.is-vip{background:#07152f;color:#ffdf62}
.premium-notification-paywall,.premium-message-gate{background:linear-gradient(145deg,#07152f,#075dff)!important;border-radius:28px!important}.premium-notification-paywall .member-submit{background:#ff5c65!important}.notifications-list article{border-radius:22px!important}
.ngori-big-gate{text-align:center;padding:clamp(36px,8vw,72px);border-radius:30px;color:#fff;background:radial-gradient(circle at 85% 12%,#ff5c65,transparent 30%),linear-gradient(135deg,#07152f,#075dff)}.ngori-big-gate span{font-size:48px}.ngori-big-gate h2{color:#fff!important;font-size:clamp(30px,6vw,52px)!important}.ngori-big-gate p{color:#e7efff}.ngori-big-gate .member-submit{display:inline-flex;width:auto;padding:14px 26px;background:#ffdf62!important;color:#07152f!important}

/* Lendolo 4.0 — refined member experience */
body:has(.member-page){background:#071426;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.member-page{padding:34px 20px 82px;background:radial-gradient(circle at 85% 8%,rgba(65,119,255,.42),transparent 34%),#071426}
.member-logo{width:min(68vw,220px);margin:0 auto 24px;padding:0;border:0;background:transparent;box-shadow:none}.member-card{border:0;border-radius:28px;background:#faf7f2;box-shadow:0 28px 80px rgba(0,0,0,.3)}
.member-card h1,.profile-section-title,.points-section h2,.profile-details h3,.gallery-manager h2{font-family:inherit!important;font-weight:720!important;letter-spacing:-.04em!important;text-transform:none}
.member-form label{color:#111c2e;font-size:12px;text-transform:none;letter-spacing:0}.member-form input,.member-form select,.member-form textarea,.geo-combobox>input[type="search"]{min-height:50px;border:1px solid #dfe4ec!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}.member-form input:focus,.member-form select:focus,.member-form textarea:focus,.geo-combobox>input[type="search"]:focus{outline:0;border-color:#1f5eff!important;box-shadow:0 0 0 4px rgba(31,94,255,.11)!important}
.member-submit,.member-form .member-submit{border:0;border-radius:14px;background:#1f5eff;color:#fff;box-shadow:0 12px 28px rgba(31,94,255,.26);text-transform:none}.member-submit:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(31,94,255,.32)}
.points-bank-summary,.points-hero,.member-dashboard-head,.profile-summary,.member-location-card,.points-section,.avatar-picker{border:1px solid #e1e6ed;border-radius:20px;box-shadow:none}.points-bank-summary,.points-hero{border:0;background:linear-gradient(135deg,#1f5eff,#4f7eff)}.points-plan button,.member-location-card button{border:0;border-radius:12px;background:#1f5eff;box-shadow:0 8px 20px rgba(31,94,255,.22);text-transform:none}
.geo-location-fields>.geo-field[hidden]{display:none!important}.geo-location-fields{grid-template-columns:1fr!important}.geo-suggestions{border:1px solid #dfe4ec;border-radius:16px;box-shadow:0 18px 50px rgba(8,25,55,.16)}.geo-suggestions button{border-radius:10px}.geo-suggestions button:hover,.geo-suggestions button:focus,.geo-suggestions button.is-active{background:#1f5eff}
.location-permission-prompt{position:fixed;z-index:99999;left:auto;right:24px;bottom:24px;width:min(410px,calc(100% - 32px));display:grid;grid-template-columns:50px 1fr;gap:15px;padding:20px;border:1px solid rgba(255,255,255,.65);border-radius:24px;color:#111c2e;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(7,20,38,.24);overflow:visible;backdrop-filter:blur(18px)}
.location-permission-prompt>span{width:50px;height:50px;min-height:0;display:grid;place-items:center;border:0;border-radius:16px;color:#fff;background:linear-gradient(145deg,#1f5eff,#6d8fff);font-size:25px}.location-permission-prompt>div{padding:0 26px 0 0}.location-permission-prompt strong{display:block;padding:0;font-size:17px;font-weight:750;letter-spacing:-.02em;text-transform:none}.location-permission-prompt p{margin:7px 0 14px;color:#667085;font-size:12px;line-height:1.5}.location-permission-prompt [data-enable-location]{padding:10px 13px;border:0;border-radius:11px;color:#fff;background:#1f5eff;box-shadow:0 8px 18px rgba(31,94,255,.24);font-size:10px;text-transform:none}.location-prompt-close{right:10px;top:10px;width:32px;height:32px;border:0;border-radius:50%;color:#667085;background:#f0f3f7;font-size:20px;line-height:1}
.public-albums .album-photo-card figure::after{content:"Lendolo";border-radius:999px;background:rgba(31,94,255,.68)}
@media(max-width:767px){.member-page{padding:16px 10px 90px;background:radial-gradient(circle at 80% 0,rgba(65,119,255,.46),transparent 32%),#071426}.member-card{padding:25px 18px;border-radius:23px;box-shadow:0 22px 60px rgba(0,0,0,.3)}.member-grid{grid-template-columns:1fr}.location-permission-prompt{left:12px;right:12px;bottom:86px;width:auto;grid-template-columns:46px 1fr;padding:17px;border-radius:21px}.location-permission-prompt>span{width:46px;height:46px}.location-permission-prompt>div{padding-right:22px}.location-permission-prompt strong{font-size:16px}}

.geo-province-field select{width:100%;min-height:50px;padding:0 13px;border:1px solid #dfe4ec;border-radius:14px;color:#111c2e;background:#fff;font:inherit}.member-form .geo-location-fields{display:grid!important;grid-template-columns:1fr 1fr!important}.member-form .geo-country-field{display:none!important}@media(max-width:767px){.member-form .geo-location-fields{grid-template-columns:1fr!important}}

/* Lendolo 0.28 — aucune couleur derrière les photos de profil */
.profile-main-photo,.public-avatar-wrap{background:transparent!important}

/* Lendolo 0.36 — visionneuse photo moderne et contrôle du visage */
.pampam-lightbox.pam-photo-lightbox {
  display: none;
  place-items: center;
  padding: clamp(12px, 3vw, 34px);
  color: #071b3c;
  background: rgba(7, 43, 111, .93);
  backdrop-filter: blur(18px) saturate(1.08);
}
.pampam-lightbox.pam-photo-lightbox.is-open {
  display: grid;
}
.pam-photo-viewer {
  position: relative;
  width: min(940px, 100%);
  max-height: calc(100dvh - 28px);
  display: grid;
  grid-template-rows: minmax(260px, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 28px;
  background: #eef4ff;
  box-shadow: 0 32px 100px rgba(3, 25, 75, .48);
}
.pampam-lightbox.pam-photo-lightbox .pam-photo-viewer > figure {
  grid-column: auto;
  width: 100%;
  min-width: 0;
  max-width: none;
  max-height: none;
  min-height: 0;
  margin: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #0a347a;
}
.pampam-lightbox.pam-photo-lightbox .pam-photo-viewer > figure img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: calc(100dvh - 245px);
  min-height: 260px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
}
.pam-photo-footer {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 10px;
  padding: 14px 18px 16px;
  background: #fff;
  box-shadow: 0 -12px 35px rgba(7, 27, 60, .10);
}
.pam-photo-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #071b3c;
  font-size: 13px;
}
.pam-photo-caption strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pam-photo-caption span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  color: #0758ef;
  background: #eef4ff;
  font-weight: 900;
}
.pam-photo-social-slot[hidden] { display: none; }
.pam-photo-social-slot .photo-social {
  padding: 0;
}
.pam-photo-social-slot .photo-reaction-summary {
  margin-bottom: 7px;
}
.pam-photo-social-slot .photo-emoji-row {
  justify-content: center;
  gap: 9px;
}
.pam-photo-social-slot .photo-emoji-row button {
  width: 43px;
  min-width: 43px;
  height: 39px;
  padding: 3px;
  background: #f4f8ff;
  transition: transform .18s ease, background .18s ease;
}
.pam-photo-social-slot .photo-emoji-row button:hover,
.pam-photo-social-slot .photo-emoji-row button.is-selected {
  transform: translateY(-2px) scale(1.06);
  border-color: #ef4e87;
  background: #ffe8f0;
}
.pam-photo-social-slot .photo-emoji-row button span {
  font-size: 20px;
}
.pam-photo-social-slot .photo-comment-row input {
  min-height: 42px;
  border-radius: 999px;
  padding: 10px 15px;
  font-size: 13px;
  background: #f7f9fd;
}
.pam-photo-social-slot .photo-comment-row button {
  min-height: 42px;
  border-radius: 999px;
  padding: 9px 17px;
  background: #ef4e87;
  font-size: 12px;
}
.pampam-lightbox.pam-photo-lightbox .lightbox-close,
.pampam-lightbox.pam-photo-lightbox .lightbox-nav {
  position: absolute;
  z-index: 8;
  border: 1px solid rgba(255,255,255,.65);
  color: #fff;
  background: #ef4e87;
  box-shadow: 0 10px 28px rgba(7, 27, 60, .25);
}
.pampam-lightbox.pam-photo-lightbox .lightbox-close {
  top: 14px;
  right: 14px;
}
.pampam-lightbox.pam-photo-lightbox .lightbox-nav {
  top: 42%;
  transform: translateY(-50%);
}
.pampam-lightbox.pam-photo-lightbox .lightbox-prev { left: 14px; }
.pampam-lightbox.pam-photo-lightbox .lightbox-next { right: 14px; }
.pampam-lightbox.pam-photo-lightbox .lightbox-nav:hover,
.pampam-lightbox.pam-photo-lightbox .lightbox-close:hover {
  background: #0758ef;
}
.pam-face-check-status {
  min-height: 20px;
  margin: 8px 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #536076;
  background: #f4f8ff;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}
.pam-face-check-status:empty { display: none; }
.pam-face-check-status.is-loading { color: #0758ef; background: #eef4ff; }
.pam-face-check-status.is-loading::before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-right: 8px;
  border: 2px solid rgba(7,88,239,.20);
  border-top-color: #0758ef;
  border-radius: 50%;
  vertical-align: -2px;
  animation: geo-spin .7s linear infinite;
}
.pam-face-check-status.is-valid { color: #08783f; background: #e9fbf1; }
.pam-face-check-status.is-error { color: #a21b3a; background: #fff0f3; }

@media (max-width: 700px) {
  .pampam-lightbox.pam-photo-lightbox {
    padding: 0;
  }
  .pam-photo-viewer {
    width: 100%;
    max-height: 100dvh;
    height: 100dvh;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 0;
    border-radius: 0;
  }
  .pampam-lightbox.pam-photo-lightbox .pam-photo-viewer > figure {
    max-height: none;
  }
  .pampam-lightbox.pam-photo-lightbox .pam-photo-viewer > figure img {
    min-height: 0;
    max-height: 100%;
  }
  .pam-photo-footer {
    gap: 8px;
    padding: 10px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  }
  .pam-photo-social-slot .photo-emoji-row {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 7px;
  }
  .pam-photo-social-slot .photo-emoji-row button {
    width: 40px;
    min-width: 40px;
    height: 37px;
  }
  .pam-photo-social-slot .photo-comment-row input { font-size: 16px; }
  .pampam-lightbox.pam-photo-lightbox .lightbox-nav {
    top: 43%;
    bottom: auto;
    width: 44px;
    height: 44px;
    font-size: 34px;
  }
  .pampam-lightbox.pam-photo-lightbox .lightbox-prev { left: 9px; }
  .pampam-lightbox.pam-photo-lightbox .lightbox-next { right: 9px; }
}
/* Lendolo 0.36.1 — neutralise l’ancienne grille de la visionneuse */
.pampam-lightbox.pam-photo-lightbox { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); align-items:center; gap:0; }
.pampam-lightbox.pam-photo-lightbox .pam-photo-viewer { grid-column:1; grid-row:1; justify-self:center; min-width:0; }
