/* Find: one responsive subject discovery river, with context on photo click.
 * This file affects the subject stream only, not directories or nearby mode.
 */
body[data-find-method="search"] .find-subject-live .find-context-flow{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:13px;
    min-width:0;
    width:100%;
}
.find-context-flow>.find-subject-known,
.find-context-flow>.find-subject-photo-gallery,
.find-context-flow>.find-subject-expanded,
.find-context-flow>.find-subject-discoveries,
.find-context-flow .find-subject-discoveries,
.find-context-flow .find-licensed-photos,
.find-context-flow .find-licensed-photo-grid{
    display:contents!important;
}
.find-context-flow .find-intent-head,
.find-context-flow .find-licensed-photos>h3,
.find-context-flow .find-licensed-photos>p{display:none!important}
.find-context-flow .find-intent-source,
.find-context-flow .find-licensed-photo{
    margin:0;
    min-width:0;
    width:100%;
    overflow:hidden;
    border-radius:11px;
    border:1px solid var(--hair);
    background:var(--ground);
    align-self:stretch;
}
.find-context-flow .find-licensed-photo{display:flex;flex-direction:column}
.find-context-flow .find-licensed-photo>a{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border:0;
    overflow:hidden;
    cursor:zoom-in;
}
.find-context-flow .find-licensed-photo>a:focus-visible{
    outline:3px solid var(--e-accent-soft,#347cf0);
    outline-offset:-3px;
}
.find-context-flow .find-licensed-photo>a img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.find-context-flow .find-licensed-photo figcaption{
    flex:1;
    padding:12px 14px;
    color:var(--ink-dim);
    font-size:12px;
    line-height:1.6;
}
.find-context-flow .find-licensed-photo figcaption:before{
    content:"PHOTOGRAPH · SOURCE CREDITED";
    display:block;
    margin-bottom:4px;
    color:var(--e-accent-soft,#347cf0);
    font-size:10px;
    font-weight:800;
    letter-spacing:.045em;
}
.find-context-flow .find-licensed-photo figcaption strong{
    color:var(--ink);
    font-size:14px;
    line-height:1.45;
    margin-bottom:5px;
}
.find-context-flow .find-intent-source .find-intent-media{aspect-ratio:16/9}
.find-context-flow .find-intent-source .find-intent-content{padding:12px 14px}
.find-context-flow .find-subject-story-loading{grid-column:1/-1}
.find-context-flow .find-intent-source .kind{font-size:11px;font-weight:700}
.find-context-dialog{
    position:fixed;
    inset:0;
    margin:auto;
    width:min(760px,calc(100% - 24px));
    max-width:760px;
    max-height:min(90dvh,900px);
    padding:0;
    overflow:auto;
    color:var(--ink);
    background:var(--raise);
    border:1px solid var(--hair);
    border-radius:15px;
    box-shadow:0 22px 70px rgba(0,0,0,.35);
}
.find-context-dialog::backdrop{background:rgba(0,6,20,.76)}
.find-context-dialog-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;padding:14px 18px;border-bottom:1px solid var(--hair);
}
.find-context-dialog-head strong{font-size:17px}
.find-context-close{
    cursor:pointer;
    background:var(--ground);border:1px solid var(--hair);
    border-radius:8px;padding:9px 13px;color:var(--ink);
    font:inherit;font-weight:700;
}
.find-context-dialog-body{display:grid;gap:16px;padding:18px}
.find-context-dialog-photo{margin:0}
.find-context-dialog-photo img{
    display:block;
    width:100%;
    max-height:46dvh;
    object-fit:contain;
    border-radius:9px;
    background:var(--ground);
}
.find-context-dialog-photo figcaption{padding:10px 0 0;font-size:14px;color:var(--ink)}
.find-context-dialog-sources{display:flex;flex-wrap:wrap;gap:9px 16px;color:var(--ink-dim);font-size:12px}
.find-context-dialog-sources a,
.find-context-neighbour-links a{color:var(--e-accent-soft,#347cf0)}
.find-context-neighbours{border-top:1px solid var(--hair);padding-top:16px}
.find-context-neighbours h3{font-size:16px;margin:0 0 5px;color:var(--ink)}
.find-context-neighbours>p{font-size:12px;line-height:1.5;color:var(--ink-dim);margin:0 0 12px}
.find-context-neighbour-links{display:grid;gap:7px}
.find-context-neighbour-links a{
    display:block;
    border:1px solid var(--hair);
    padding:11px 12px;
    border-radius:8px;
    line-height:1.4;
    text-decoration:none;
    background:var(--ground);
    font-size:13px;
}
.find-context-neighbour-links a:hover{text-decoration:underline}
@media(max-width:650px){
    body[data-find-method="search"] .find-subject-live .find-context-flow{
        grid-template-columns:minmax(0,1fr)!important;
        gap:11px;
    }
    .find-context-flow .find-intent-source,
    .find-context-flow .find-licensed-photo{
        grid-column:1/-1;
        min-width:0;
        max-width:100%;
    }
    .find-context-dialog{width:calc(100% - 12px);max-height:95dvh;border-radius:12px}
    .find-context-dialog-head{padding:11px 13px}
    .find-context-dialog-body{padding:12px;gap:12px}
    .find-context-dialog-photo img{max-height:38dvh}
}
@media(prefers-reduced-motion:reduce){
    .find-context-flow *, .find-context-dialog *{scroll-behavior:auto!important}
}


/* Associated public entities are part of a result's identity, not a second shelf. */
.find-associated-entities{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:stretch;
    max-width:100%;
    margin:8px 0 3px;
}
.find-associated-entity-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
    max-width:100%;
    padding:7px 10px;
    border:1px solid var(--hair);
    border-radius:8px;
    color:var(--ink);
    text-decoration:none;
    background:var(--ground);
    font-size:12px;
    line-height:1.3;
}
.find-associated-entity-link:hover,
.find-associated-entity-link:focus-visible{
    border-color:var(--e-accent-soft,#347cf0);
    color:var(--ink);
    text-decoration:none;
}
.find-associated-entity-photo{
    display:block;
    width:27px;
    height:27px;
    flex:none;
    object-fit:cover;
    border-radius:6px;
    background:var(--ground);
}
.find-associated-entity-label{color:var(--ink-dim);font-size:11px;white-space:nowrap}
.find-associated-entity-name{
    font-weight:750;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.find-associated-entity-arrow{
    color:var(--e-accent-soft,#347cf0);
    font-weight:800;
    flex:none;
}
.find-subject-hub-details .find-associated-entity-link{
    background:var(--ground)!important;
    color:var(--ink)!important;
    padding:7px 10px!important;
    font-size:12px!important;
    font-weight:500!important;
    border-radius:8px!important;
}
body.ehopto-find-design #list>.row .find-associated-entities{
    padding:0!important;
    grid-column:auto!important;
    margin-top:10px;
}
body.ehopto-find-design #list>.row .find-associated-entity-link{
    padding:7px 9px!important;
    font-size:11.5px;
}
@media(max-width:650px){
    .find-associated-entities{gap:6px}
    .find-associated-entity-link{max-width:100%;flex:0 1 auto}
    .find-associated-entity-name{max-width:min(50vw,235px)}
}


/* The source-backed context lives WITH the discovered identity and its stories.
 * Source citations are visible so an association never impersonates a Hub.
 */
.find-public-context-intro:empty,
.find-public-context-associated:empty {display:none!important}
.find-public-context-intro{
    display:grid;
    gap:5px;
    min-width:0;
    padding:12px 14px;
    border:1px solid var(--hair);
    border-radius:10px;
    background:var(--ground);
}
.find-public-context-intro small{
    font-size:10.5px;
    font-weight:800;
    color:var(--e-accent-soft,#347cf0);
    letter-spacing:.06em;
}
.find-public-context-intro strong{
    font-size:20px;
    line-height:1.35;
    color:var(--ink);
}
.find-public-context-intro p{
    margin:0;
    font-size:13px;
    line-height:1.55;
    color:var(--ink-dim);
}
.find-public-context-associated{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    align-items:stretch;
}
.find-public-associated-entry{
    display:grid;
    align-content:start;
    gap:6px;
    min-width:0;
    padding:12px 13px;
    border:1px solid var(--hair);
    border-radius:11px;
    background:var(--ground);
}
.find-public-associated-entry small{
    color:var(--e-accent-soft,#347cf0);
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
}
.find-public-associated-title{
    color:var(--ink);
    font-size:15px;
    font-weight:800;
    line-height:1.45;
    text-decoration:none;
    overflow-wrap:anywhere;
}
.find-public-associated-title:hover,.find-public-associated-title:focus-visible{
    color:var(--e-accent-soft,#347cf0);
    text-decoration:underline;
}
.find-public-associated-sources{
    font-size:11px;
    line-height:1.6;
    color:var(--ink-dim);
    overflow-wrap:anywhere;
}
.find-public-associated-sources a{
    color:var(--e-accent-soft,#347cf0);
    text-decoration:none;
}
.find-public-associated-sources a:hover{text-decoration:underline}
@media(max-width:650px){
    .find-public-context-associated{grid-template-columns:minmax(0,1fr)}
    .find-public-context-intro{padding:11px 12px}
    .find-public-associated-entry{padding:12px}
}


/* Branch navigation: the primary door remains inside Ehopto. */
.find-public-associated-hop{
    display:inline-flex;
    justify-self:start;
    padding:5px 9px;
    border:1px solid var(--hair);
    border-radius:7px;
    background:var(--ground);
    color:var(--e-accent-soft,#347cf0);
    font-size:11px;
    font-weight:750;
    line-height:1.4;
}
.find-public-associated-entry:focus-within .find-public-associated-hop,
.find-public-associated-entry:hover .find-public-associated-hop{
    border-color:var(--e-accent-soft,#347cf0);
}
.find-public-associated-entry .find-public-associated-title:focus-visible{
    outline:2px solid var(--e-accent-soft,#347cf0);
    outline-offset:3px;
}
.find-context-neighbours .find-context-branch-label{
    margin:12px 0 7px;
    font-size:12px;
    line-height:1.5;
    color:var(--ink-dim);
}
