/* Stage 20 Gate 3 owner-feedback refinements */
.sd20-home-participants{border:1px solid var(--divider);border-radius:14px;background:var(--card);overflow:hidden}.sd20-home-participants summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 13px;cursor:pointer;font-weight:760;list-style:none}.sd20-home-participants summary::-webkit-details-marker{display:none}.sd20-home-participants summary::after{content:'⌄';font-size:14px;color:var(--stone);transition:transform .15s ease}.sd20-home-participants[open] summary::after{transform:rotate(180deg)}.sd20-home-participants summary small{margin-left:auto;color:var(--stone);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sd20-home-participants__body{padding:0 10px 11px}.intent-row>div:first-child{min-width:0;flex:1}

.trail-card__title{margin-bottom:10px!important}.trail-card__location{display:none!important}.trail-card .stat-row,.trail-detail .stat-row--detail{display:flex!important;align-items:stretch!important;gap:0!important}.trail-card .stat-row>div,.trail-detail .stat-row--detail>div{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.trail-card .stat-label,.trail-detail .stat-label{width:100%;text-align:center;color:color-mix(in srgb,var(--text) 60%,var(--stone));font-size:10px!important;font-weight:780;letter-spacing:.065em}.trail-card .stat-value,.trail-card .difficulty-text{font-size:14px!important;font-weight:800;color:var(--text)}.trail-detail .stat-value,.trail-detail .difficulty-text{font-size:16px!important;font-weight:800;color:var(--text)}.trail-card .difficulty,.trail-detail .difficulty{display:flex;align-items:center;justify-content:center;gap:6px;min-height:21px}.trail-detail .stat-row--detail{padding:15px 4px!important}.trail-detail .stat-row--detail>div+div{border-left:1px solid color-mix(in srgb,var(--divider) 75%,transparent)}

.on-trail-pois .detail-list{gap:16px}.on-trail-pois .detail-list__item{border:0!important;border-left:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important}.on-trail-pois .detail-list__item+.detail-list__item{border-top:1px solid var(--divider)!important;padding-top:14px!important}

/* Trail Detail: hero favorite + balanced actions */
.trail-detail__hero{position:relative}.sd20-hero-favorite{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.58);border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 84%,transparent);box-shadow:0 8px 24px rgba(20,30,25,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text);padding:0;cursor:pointer}.sd20-hero-favorite svg{width:19px;height:19px;fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd20-hero-favorite[aria-pressed="true"]{color:#d97878}.sd20-hero-favorite[aria-pressed="true"] svg{fill:currentColor;stroke:currentColor}.detail-actions{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px!important;margin:16px 0!important}.detail-actions>button{width:100%;min-height:46px!important;margin:0!important;padding-inline:12px!important}

/* Trail cards: compact favorite control */
.trail-card__media{position:relative}.sd20-card-favorite{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;border:1px solid rgba(255,255,255,.58);border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 84%,transparent);box-shadow:0 7px 20px rgba(20,30,25,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);cursor:pointer}.sd20-card-favorite svg{width:18px;height:18px;fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd20-card-favorite[aria-pressed="true"]{color:#d97878}.sd20-card-favorite[aria-pressed="true"] svg{fill:currentColor;stroke:currentColor}

/* After the Trail: editorial, not explanatory */
.after-trail-heading{display:block!important;margin-bottom:16px!important}.after-trail-heading>div{display:block!important}.after-trail-heading h3{margin:0!important;font-family:var(--display)!important;font-size:clamp(26px,5.8vw,34px)!important;font-weight:620!important;line-height:1!important;letter-spacing:-.02em!important}.after-trail-section>.source-note{display:none!important}.after-trail-grid{margin-top:0!important}

/* Explore: compact premium discovery controls */
#app>.page-head[data-sd20-explore-head]{margin-bottom:14px!important}.sd20-explore-tagline{margin:6px 0 0;color:var(--stone);font-size:15px;font-weight:600;line-height:1.35}.sd20-trail-library-section{margin-top:0!important}.sd20-trail-library-section>.section-head{display:none!important}.stage17-explore-controls.sd20-explore-compact{display:grid!important;gap:9px!important;padding:0!important;margin:0 0 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.sd20-explore-compact .stage12-library-search{display:block!important;margin:0!important}.sd20-explore-compact .stage12-library-search>span{display:none!important}.sd20-explore-compact [data-stage17-library-search]{min-height:46px!important;border-radius:16px!important;padding:10px 14px!important;font-size:15px!important;background:var(--card)!important}.sd20-explore-compact .stage17-explore-area,.sd20-explore-compact>.stage17-explore-filter-toggle,.sd20-explore-compact>.stage17-explore-secondary,.sd20-explore-compact>.stage17-explore-clear-row{display:none!important}.sd20-explore-compact .stage17-explore-filter-note{display:none!important}.sd20-explore-compact .stage17-explore-result-row{margin:0!important;min-height:0!important}.sd20-explore-compact .stage12-library-result{margin:0!important;color:var(--stone)!important;font-size:11px!important;font-weight:720!important;letter-spacing:.02em!important}
.sd20-filter-toolbar{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:0 0 1px}.sd20-filter-toolbar::-webkit-scrollbar{display:none}.sd20-filter-toolbar button{flex:0 0 auto;min-height:38px;border:1px solid var(--divider);border-radius:999px;background:var(--card);color:var(--text);display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:760;white-space:nowrap}.sd20-filter-toolbar button b{font-size:11px;color:var(--stone);font-weight:800}.sd20-filter-toolbar [data-sd20-favorites-button][aria-pressed="true"]{border-color:color-mix(in srgb,#d97878 48%,var(--divider));background:color-mix(in srgb,#d97878 9%,var(--card));color:#d97878}.sd20-filter-toolbar [data-sd20-favorites-button]>span{font-size:16px;line-height:1}
.sd20-filter-panel{border:1px solid var(--divider);border-radius:20px;background:var(--card);padding:15px;box-shadow:0 16px 40px rgba(30,40,34,.12);display:grid;gap:16px}.sd20-filter-panel[hidden]{display:none!important}.sd20-filter-panel__head{display:flex;align-items:center;justify-content:space-between}.sd20-filter-panel__head strong{font-family:var(--display);font-size:22px;font-weight:620}.sd20-filter-panel__head button{width:34px;height:34px;border:0;border-radius:999px;background:var(--subtle);color:var(--text);font-size:22px;line-height:1}.sd20-filter-panel section{display:grid;gap:8px}.sd20-filter-panel h3{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--stone);font-family:var(--sans);font-weight:800}.sd20-filter-options{display:flex;flex-wrap:wrap;gap:7px}.sd20-filter-options button{min-height:34px;border:1px solid var(--divider);border-radius:999px;background:var(--subtle);color:var(--text);padding:7px 11px;font-size:11px;font-weight:720}.sd20-filter-options button.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--divider));background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent)}.sd20-filter-panel__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:2px}.sd20-filter-panel__actions button{min-height:40px;border:1px solid var(--divider);border-radius:13px;background:var(--card);font-weight:780;color:var(--text)}.sd20-filter-panel__actions [data-sd20-filter-done]{background:var(--accent);border-color:var(--accent);color:white}.sd20-favorites-empty{margin:2px 0 0;color:var(--stone);font-size:12px}.trail-grid.sd20-favorites-only>.trail-card:not(.sd20-is-favorite){display:none!important}

/* Family */
.family-year-filter,.family-people-filter,.family-filter-actions{display:none!important}.family-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.family-participant-card{display:grid!important;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;row-gap:2px;align-items:center;min-height:86px!important;padding:13px!important;text-align:left}.family-participant-card .family-card-avatar{grid-column:1;grid-row:1/3;width:54px!important;height:54px!important;margin:0!important}.family-participant-card strong{grid-column:2;grid-row:1;align-self:end;font-size:18px!important;line-height:1.05}.family-participant-card small{grid-column:2;grid-row:2;align-self:start;margin:2px 0 0!important;font-size:11px!important}.family-participant-card.is-selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--divider))!important;background:color-mix(in srgb,var(--accent) 8%,var(--card))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 8px 22px rgba(34,48,41,.05)!important}.family-participant-card.is-selected strong{color:var(--accent)}.stage16-add-person-button--below-family{margin-top:18px!important;margin-bottom:4px!important}.family-page>.section:has(.family-participant-grid){margin-top:6px}.family-page>.section:has(.family-participant-grid) .section-head{margin-bottom:10px}

@media(max-width:430px){.sd20-home-participants summary{min-height:42px}.trail-card__body{padding-top:12px!important;padding-bottom:13px!important}.trail-card .stat-value,.trail-card .difficulty-text{font-size:13.5px!important}.trail-detail .stat-value,.trail-detail .difficulty-text{font-size:15px!important}.sd20-hero-favorite{top:10px;right:10px;width:36px;height:36px}.sd20-hero-favorite svg{width:18px;height:18px}.sd20-card-favorite{width:34px;height:34px}.sd20-card-favorite svg{width:17px;height:17px}.detail-actions{gap:8px!important}.detail-actions>button{min-height:44px!important}.sd20-explore-tagline{font-size:14px}.sd20-filter-panel{padding:14px;border-radius:18px}.family-participant-card{grid-template-columns:48px minmax(0,1fr);min-height:78px!important;padding:11px!important;column-gap:9px}.family-participant-card .family-card-avatar{width:48px!important;height:48px!important}.family-participant-card strong{font-size:17px!important}.stage16-add-person-button--below-family{margin-top:20px!important}}
@media(prefers-reduced-motion:reduce){.sd20-home-participants summary::after{transition:none}}
