/* One crop across responsive widths: avatar 1:1, cover 3:1, portrait cards 4:5.
   Asset sizes are selected via srcset, never by choosing a different crop. */
.cover.profile-media-cover { width:100%; height:auto; aspect-ratio:3/1; overflow:hidden; }
.profile-media-cover img { width:100%; height:100%; object-fit:cover; }
/* Public display name only; a contrast-safe backplate remains readable with
   arbitrary bright/dark covers and either app theme. No legal name is added. */
.cover.profile-media-cover.profile-public-header { position:relative; display:flex; align-items:flex-end; aspect-ratio:auto; min-height:clamp(200px,28vw,320px); }
.profile-public-header > .profile-cover-image { position:absolute; inset:0; }
.profile-cover-identity { position:relative; z-index:1; display:flex; align-items:flex-end; gap:16px; padding:20px; width:100%; min-width:0; }
.profile-cover-identity .avatar { background:var(--sur); }
.profile-avatar-follow { display:flex; flex-direction:column; align-items:center; gap:10px; flex:0 0 auto; }
.profile-avatar-follow>[data-follow] { justify-content:center; }
.profile-avatar-follow .btn { min-height:44px; padding:8px 14px; }
.profile-cover-name { min-width:0; padding:12px 16px; border-radius:var(--r-lg); background:#111114; color:#fff; }
.profile-cover-name .row { gap:8px; align-items:center; flex-wrap:wrap; }
.profile-cover-name .h1 { font-size:clamp(22px,3vw,32px); overflow-wrap:anywhere; margin:0; }
.profile-cover-username { display:block; color:#fff; margin-top:4px; overflow-wrap:anywhere; }
/* v6 profile composition: public DTO facts only; cover stays readable in either theme. */
.profile-public-header { background:linear-gradient(135deg,#1D1329,#0B0B10); }
.profile-public-header::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 25%,rgba(11,11,16,.72)); }
.profile-cover-identity { z-index:2; padding-right:76px; }
.profile-cover-name { flex:1; max-width:760px; }
.profile-cover-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:0; }
.profile-cover-heading>div { min-width:0; }
.profile-cover-heading .profile-cover-username { text-align:right; margin:0; min-width:0; }
.profile-cover-headline { margin:5px 0 0; font-size:16px; line-height:1.4; color:#F4F2FA; overflow-wrap:anywhere; }
.profile-cover-facts { display:flex; flex-wrap:wrap; gap:8px 18px; margin:12px 0 0; }
.profile-cover-facts>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; }
.profile-cover-facts dt { font:500 10px/1.5 var(--font-mono); color:#BEB7CF; text-transform:uppercase; }
.profile-cover-facts dd { margin:0; color:#F4F2FA; font-size:13px; font-weight:650; }
/* Creator identity fits its content rather than filling the cover. Public
   labels remain in the definition list for assistive technology only. */
.profile-cover-name-compact { flex:0 1 auto; width:fit-content; max-width:min(100%,520px); }
.profile-cover-name-compact .profile-cover-heading { display:grid; justify-content:normal; gap:0; }
.profile-cover-byline { display:flex; align-items:baseline; gap:8px; min-width:0; max-width:100%; margin-top:5px; white-space:nowrap; font-size:14px; line-height:1.4; }
.profile-cover-name-compact .profile-cover-byline .profile-cover-username { flex:0 1 auto; min-width:0; max-width:31ch; margin:0; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-cover-byline.has-title .profile-cover-username { max-width:45%; }
.profile-cover-byline .profile-cover-headline { flex:1 1 auto; min-width:0; max-width:50ch; margin:0; font:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-cover-byline-divider { flex:none; color:#BEB7CF; }
.profile-cover-facts-compact { gap:4px 8px; margin-top:10px; }
.profile-cover-facts-compact>div { flex-wrap:nowrap; gap:8px; min-width:0; }
.profile-cover-facts-compact>div+div::before { content:"|"; color:#BEB7CF; font-weight:400; }
.profile-cover-facts-compact dt { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.profile-cover-facts-compact dd { min-width:0; overflow-wrap:anywhere; }
.profile-cover-action { display:grid; place-items:center; min-width:44px; min-height:44px; padding:10px; border:0; border-radius:10px; background:#111114; color:#fff; cursor:pointer; }
.profile-cover-menu { position:absolute; z-index:4; right:16px; top:16px; }
.profile-cover-menu summary { list-style:none; }
.profile-cover-menu summary::-webkit-details-marker { display:none; }
.profile-menu-options { position:absolute; right:0; top:calc(100% + 8px); display:grid; min-width:170px; padding:6px; border:1px solid var(--line); border-radius:16px; background:var(--sur); color:var(--fg); }
.profile-menu-options button { text-align:left; min-height:44px; background:none; color:inherit; border:0; border-radius:10px; padding:10px 12px; font:inherit; cursor:pointer; }
.profile-menu-options button:hover { background:var(--sur2); }
.profile-tag-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.profile-tag-links { gap:8px; flex-wrap:wrap; }
.profile-social-count { gap:10px; }
.profile-social-count svg { width:24px; height:24px; }
.profile-social-followers { font-size:14px; color:var(--fg); }
/* The bundled platform mark is the visual link; the accessible/hover label
   retains its destination, count provenance and connection state. */
.profile-social-icons .profile-social-icon { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; width:56px; min-width:56px; min-height:56px; max-width:56px; padding:2px; border:0; border-radius:0; background:none; box-shadow:none; color:var(--fg); text-align:center; }
.profile-social-icons button.profile-social-icon { cursor:pointer; }
.profile-social-icons button.profile-social-icon:hover { background:none; opacity:.82; }
.profile-social-icons button.profile-social-icon:focus-visible { outline:3px solid var(--pT); outline-offset:3px; }
.profile-social-mark { display:grid; place-items:center; flex:none; width:40px; height:40px; }
.profile-social-mark>svg { display:block; width:28px; height:28px; }
.profile-social-mark-instagram { border-radius:10px; color:#fff; background:radial-gradient(circle at 30% 105%,#FEDA75 0%,#FA7E1E 25%,#D62976 55%,#962FBF 75%,#4F5BD5 100%); }
.profile-social-icon-count { font-size:12px; font-weight:650; line-height:1.2; }
/* Restore the lower-left cover composition: an uncluttered photo and a compact
   opaque backplate make identity readable without dimming the entire image. */
.cover.profile-media-cover.profile-public-header-creator { width:100%; max-width:none; align-items:flex-end; }
.profile-public-header-creator .profile-cover-identity { align-items:flex-end; flex-direction:row; gap:16px; padding:20px 20px 20px 20px; }
.profile-public-header-creator .profile-cover-name { padding:12px 16px; border:0; border-radius:var(--r-lg); background:#111114; box-shadow:none; color:#fff; text-shadow:none; }
.profile-public-header-creator .profile-cover-name .h1,.profile-public-header-creator .profile-cover-byline,.profile-public-header-creator .profile-cover-username,.profile-public-header-creator .profile-cover-headline,.profile-public-header-creator .profile-cover-facts dd { color:#fff; }
.profile-public-header-creator .profile-cover-byline-divider,.profile-public-header-creator .profile-cover-facts-compact>div+div::before { color:#EEEAF4; }
.profile-public-header-creator .profile-avatar-follow .btn:not(.btn-primary) { color:#fff; border-color:rgba(255,255,255,.8); background:#111114; }
.profile-public-header-creator .profile-avatar-follow .btn:not(.btn-primary):hover,.profile-public-header-creator .profile-avatar-follow .btn:not(.btn-primary):focus-visible { color:#fff; border-color:#fff; background:#25252D; }
.profile-flow.profile-flow-cover { width:100%; max-width:none; grid-template-columns:minmax(0,1fr); gap:28px; }
.profile-flow-cover>.profile-identity,.profile-flow-cover>.profile-booking,.profile-flow-cover>.profile-public-content { grid-column:1; grid-row:auto; min-width:0; }
.profile-public-content { display:grid; width:100%; max-width:none; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:32px; align-items:start; }
.profile-public-content.profile-public-content-single { grid-template-columns:minmax(0,1fr); }
.profile-public-content>.profile-social-section,.profile-public-content>.profile-work { grid-column:auto; grid-row:auto; min-width:0; }
.profile-social-icons.profile-socials.social-link-rail { flex-wrap:wrap; overflow:visible; padding:3px; gap:12px; }
.profile-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.profile-work-grid>.card { min-width:0; }
.fc5[data-fc5-screen="account"] { width:100%; max-width:680px; margin-inline:auto; }
.account-identity { display:flex; align-items:center; gap:16px; }
.account-identity>div { min-width:0; }
.account-identity .h1 { font-size:28px; margin:0; overflow-wrap:anywhere; }
.account-identity .avatar { flex-shrink:0; }
.account-identity p { margin:4px 0 0; }
.account-details { display:grid; margin:0; }
.account-details>div { display:grid; grid-template-columns:minmax(100px,30%) minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.account-details dt { color:var(--dim); font-size:13px; }
.account-details dd { margin:0; overflow-wrap:anywhere; }
.account-section { padding-top:8px; }
@media(max-width:760px) { .profile-cover-identity { padding-right:68px; align-items:flex-start; }.profile-cover-name { padding:12px; }.profile-cover-heading { flex-wrap:wrap; gap:8px; }.profile-cover-heading .profile-cover-username { text-align:left; }.profile-cover-headline { font-size:14px; }.profile-cover-facts { gap:6px 12px; }.profile-cover-facts dd { font-size:12px; } }
@media(max-width:420px) { .profile-cover-identity { flex-direction:column; gap:8px; }.profile-cover-name { width:100%; }.profile-cover-identity .avatar.xl { width:64px; height:64px; }.profile-public-header:not(.profile-public-header-creator) { min-height:280px!important; } }
.profile-cover-name.profile-cover-name-compact { width:fit-content; }
.ccard .portrait.creator-search-avatar { width:calc(100% - 32px); margin:16px 16px 0; align-self:center; aspect-ratio:1; border-radius:var(--r-pill); }
.creator-search-avatar img { border-radius:var(--r-pill); }
@media(max-width:760px) { .profile-cover-identity { padding:16px 68px 16px 16px; gap:12px; }.profile-cover-identity .avatar.xl { width:80px; height:80px; font-size:24px; }.profile-cover-name { padding:10px 12px; } }
@media(forced-colors:active) { .profile-cover-name { background:Canvas; color:CanvasText; border:1px solid CanvasText; }.profile-cover-username { color:CanvasText; } }
@media(max-width:1100px) { .profile-public-content { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .profile-public-header-creator .profile-cover-identity { gap:12px; padding:16px; }.profile-public-header-creator .profile-cover-name { padding:10px 12px; }.profile-work-grid { gap:12px; } }
@media(max-width:600px) { .profile-work-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:420px) { .profile-public-header-creator .profile-cover-identity .avatar.xl { width:64px; height:64px; }.profile-public-header-creator .profile-avatar-follow .btn { padding-inline:8px; font-size:12px; }.profile-public-header-creator .profile-cover-name .h1 { font-size:22px; } }
@media(forced-colors:active) { .profile-public-header-creator .profile-cover-name { background:Canvas; border:1px solid CanvasText; color:CanvasText; text-shadow:none; }.profile-public-header-creator .profile-cover-name .h1,.profile-public-header-creator .profile-cover-byline,.profile-public-header-creator .profile-cover-username,.profile-public-header-creator .profile-cover-headline,.profile-public-header-creator .profile-cover-facts dd { color:CanvasText; } }
@media(forced-colors:active) { .profile-public-header-creator .profile-avatar-follow .btn:not(.btn-primary) { color:ButtonText; border-color:ButtonText; background:ButtonFace; } }
.media-dialog { width:min(94vw,720px); max-height:94dvh; border:1px solid var(--line); border-radius:24px; padding:0; color:var(--fg); background:var(--sur); box-shadow:0 24px 100px #0008; }
.media-dialog::backdrop { background:#000a; }
.media-dialog-content { padding:24px; overflow-y:auto; max-height:90dvh; }
.media-crop-stage { border-radius:16px; background:var(--bg); overflow:hidden; }
.media-crop-stage canvas { display:block; width:100%; height:auto; max-height:52dvh; object-fit:contain; touch-action:none; cursor:grab; }
.media-crop-stage canvas:active { cursor:grabbing; }
.media-crop-stage canvas:focus-visible { outline:3px solid var(--ring); outline-offset:-3px; }
.media-controls { display:grid; gap:12px; }
.media-controls label { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:12px; font-size:14px; }
.media-controls input[type=range] { width:100%; accent-color:var(--p); min-height:30px; }
.media-mini-previews { display:flex; gap:20px; align-items:start; }
.media-mini-previews[hidden] { display:none; }
.media-mini-previews > div { display:grid; gap:6px; }
.media-mini-previews canvas { display:block; width:80px; height:auto; border-radius:8px; }
.media-mini-previews .media-circle { border-radius:50%; }
.media-editor-grid { display:grid; grid-template-columns:140px minmax(0,1fr); gap:20px; }
.media-editor-item { display:flex; flex-direction:column; gap:10px; align-items:start; min-width:0; }
.media-editor-preview { display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--sur2); }
.media-editor-preview img { width:100%; height:100%; object-fit:cover; }
.media-editor-avatar { width:128px; aspect-ratio:1; }
.media-editor-cover { width:100%; max-width:480px; aspect-ratio:3/1; }
.media-file-label { position:relative; overflow:hidden; }
.media-file-label input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.media-file-label:has(input:disabled) { opacity:.5; }
.media-file-label:focus-within { outline:3px solid var(--ring); outline-offset:3px; }
.profile-media-editor details > summary { cursor:pointer; }
.media-link-fields { margin-top:12px; }
@media(max-width:560px) { .media-dialog-content { padding:16px; } .media-controls label { grid-template-columns:1fr; gap:4px; } .media-editor-grid { grid-template-columns:1fr; } }
.content-image-gallery { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x proximity; }
.content-image-gallery img { display:block; width:100%; min-width:100%; aspect-ratio:3 / 1; object-fit:cover; border-radius:16px; scroll-snap-align:start; }
.content-image-thumb { width:140px; max-width:28%; flex-shrink:0; }
.content-image-thumb img { display:block; width:100%; aspect-ratio:3 / 1; object-fit:cover; border-radius:10px; }
/* Event listing cards are column-oriented: a side thumbnail consumed the
   narrow grid's content width and left long titles in a tall, skinny column.
   Scope this to eventCard; collaboration/org cards keep their row layout. */
.ocard.event-card { flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; min-width:0; }
.event-card-image { display:block; width:100%; aspect-ratio:3 / 1; overflow:hidden; background:var(--sur2); }
.event-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.event-card-body { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; padding:14px; min-width:0; }
.event-card-date { display:flex; flex:0 0 44px; flex-direction:column; align-items:center; padding:8px 6px; border-radius:12px; background:var(--sur2); }
.event-card-date b { font-size:18px; line-height:1; }
.event-card-copy { min-width:0; flex:1 1 150px; overflow-wrap:anywhere; }
.event-card-title { display:block; font-size:16px; margin-top:2px; }
.content-image-editor { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }

/* Shared creator/organization social chips (WP6-04, WP6-05). Colored tiles come from
   social-brand-marks.js; the glyph itself stays currentColor. No LINK ADDED pill. */
.social-chips { display:flex; flex-wrap:wrap; gap:10px; }
.social-chip { display:inline-flex; align-items:center; gap:10px; min-height:44px; max-width:100%; padding:6px 12px 6px 6px; border:1px solid var(--line); border-radius:14px; background:var(--sur); color:var(--fg); font:inherit; text-align:left; }
button.social-chip, a.social-chip { cursor:pointer; text-decoration:none; }
button.social-chip:hover, a.social-chip:hover { background:var(--sur2); }
button.social-chip:focus-visible, a.social-chip:focus-visible { outline:3px solid var(--ring); outline-offset:3px; }
.social-chip-mark { display:grid; place-items:center; flex:none; width:28px; height:28px; border-radius:8px; }
.social-chip-mark>svg { display:block; width:16px; height:16px; }
.social-chip-copy { display:grid; min-width:0; gap:1px; }
.social-chip-value { font-size:14px; font-weight:700; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.social-chip-caption { font-size:11px; color:var(--dim); line-height:1.3; }
.social-chip-arrow { margin-left:auto; color:var(--dim); }
