/* Shared interaction and spacing rules for feed, people, profile and activity. */
:root{--strive-control-height:40px;--strive-media-gap:10px}

/* The feed and its right column keep a full card-width breathing space. */
#shell.home-shell{max-width:1180px}
@container(min-width:890px){
  .home-layout{grid-template-columns:minmax(0,1fr) 300px;gap:56px}
  .home-around{padding-left:28px}
}
.home-around .fc-builder.strive-person{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:12px 0}
.home-around .fc-builder .card-follow{grid-column:3;grid-row:1;white-space:nowrap}
.home-around .fc-builder .fc-who{grid-column:2;grid-row:1}

/* One size and one state language for person actions. The menu stays beside Follow. */
.strive-person .people-card-actions,.strive-person .people-follow,.strive-person .card-follow,
.profile-header .profile-follow{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}
.strive-person .people-card-actions{margin:0 0 0 auto;min-width:max-content}
.strive-person .people-follow{margin:0}
.strive-person .people-card-main{align-items:center;min-width:0}
.strive-person .people-card-copy h3,.strive-person .people-card-copy p{margin:0}
.strive-person .people-card-copy{display:grid;gap:3px}
.strive-person .follow-button,.profile-header .follow-button{box-sizing:border-box;min-height:var(--strive-control-height);height:var(--strive-control-height);padding:0 14px;border-radius:7px;font-size:13px;line-height:1;white-space:nowrap}
/* Outrank the global primary-button rule, including its :not() specificity. */
button.act.follow-button{min-width:calc(9ch + 30px);background:var(--blue);border:1px solid var(--blue);color:#fff}
button.act.follow-button.is-following[aria-pressed="true"]{background:#fff;border:1px solid var(--rule);color:var(--ink)}
button.act.follow-button.is-following[aria-pressed="true"]:hover,button.act.follow-button.is-following[aria-pressed="true"]:focus{background:#fff;border-color:var(--ink);color:var(--ink)}
button.act.follow-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.strive-person .people-card-actions>.act{box-sizing:border-box;min-height:var(--strive-control-height);height:var(--strive-control-height);display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:7px;white-space:nowrap}
.strive-person .profile-more,.profile-header .profile-more{position:relative;flex:none}
.strive-person .profile-more>summary,.profile-header .profile-more>summary{box-sizing:border-box;display:grid;place-items:center;width:var(--strive-control-height);height:var(--strive-control-height);border:1px solid var(--rule);border-radius:7px;font-size:20px;line-height:1;background:#fff}
.strive-person .profile-more>button,.profile-header .profile-more>button{position:absolute;right:0;top:calc(100% + 4px);z-index:8;min-height:var(--strive-control-height);padding:0 14px;background:#fff;box-shadow:0 8px 24px #18213c20;border-radius:7px}
.people-meet #people-spotlight .people-card{padding-top:14px}
.people-card{display:flex;align-items:center;gap:16px}
.people-card-main{flex:1}
.people-card-actions{flex:none}
.profile-header .profile-follow{margin-left:auto}
.profile-header .profile-follow button{min-height:var(--strive-control-height)}

/* The same framed mosaic reads as one media block on every card surface. */
.card .run-media-gallery,.public-run-photo-grid{box-sizing:border-box;gap:var(--strive-media-gap)!important;padding:var(--strive-media-gap)!important;border:1px solid #d9dde6;border-radius:10px;background:#f5f7fa;overflow:hidden}
.card .run-media-gallery figure,.public-run-photo-grid figure{box-sizing:border-box;min-width:0;border:1px solid #d9dde6;border-radius:7px;overflow:hidden;background:#fff}
.card .run-media-gallery figure a,.public-run-photo-grid figure a{border-radius:6px;overflow:hidden}
.activity-post .run-media-slot{box-sizing:border-box}
.activity-post .run-media-slot{height:220px;min-height:220px}

/* Feedback belongs above the content, not in a line that shifts every page down. */
#status{position:fixed;z-index:90;top:76px;left:50%;transform:translate(-50%,-8px);box-sizing:border-box;width:max-content;max-width:min(480px,calc(100vw - 24px));margin:0;padding:11px 16px;border:1px solid #b8caff;border-radius:9px;background:#fff;color:var(--ink);box-shadow:0 8px 30px #18213c20;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
#status.shown{opacity:1;transform:translate(-50%,0)}
#status.err{border-color:#e9a5a5;color:#8b1e1e}

.day-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 22px}
.day-nav>span{font-size:13px;color:var(--soft);text-align:center}
.day-nav>a:last-child{justify-self:end}
.day-card-details{margin:18px 0 26px;border-top:1px solid var(--rule)}
.day-card-details>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;color:var(--blue);font-size:13px;font-weight:600}
.day-card-details[open]>summary{margin-bottom:14px}
.profile-header+.head{margin-top:24px}

@media(max-width:700px){
  #status{top:auto;bottom:76px;transform:translate(-50%,8px)}
  #status.shown{transform:translate(-50%,0)}
  .people-card{align-items:stretch;flex-direction:column;gap:12px}
  .strive-person .people-card-actions{width:100%;margin:0;justify-content:flex-start}
  .strive-person .people-card-actions>.act{width:auto}
  .home-around .fc-builder.strive-person{grid-template-columns:40px minmax(0,1fr) auto}
  .home-around .fc-builder .card-follow{grid-column:3}
  .activity-post .run-media-slot{height:190px;min-height:190px}
  .day-nav{grid-template-columns:1fr 1fr}
  .day-nav>span{grid-column:1/-1;grid-row:1}
  .day-nav>a{grid-row:2}
  .day-nav>a:last-child{grid-column:2}
}
