/* place card: kit .mc as an article with one stretched link + a directions link. Used with kit/cards.js */
.pl-link{color:inherit;text-decoration:none}
.pl-link::after{content:"";position:absolute;inset:0;z-index:1}
.pl-link:focus-visible{outline:none}
.mc:has(.pl-link:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.pl-tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pl-tags li{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:9999px;background:var(--surface);font-size:12px;font-weight:600;color:var(--text-2)}
.pl-dir{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:9999px;font-size:13px;font-weight:700;color:var(--text);text-decoration:none;transition:border-color .2s,background .2s}
.pl-dir:hover{border-color:var(--brand);background:var(--brand-50)}
.pl-dir svg{width:16px;height:16px;color:var(--brand)}
.mc-tag.ok{background:rgba(0,50,0,.78)}
.mc-foot{flex-wrap:wrap;row-gap:8px}
/* footers line up across a row whether or not a card has a meta list */
.mc-body .mc-meta{margin-top:0}
.mc-body .mc-foot{margin-top:auto}
.mc-body>:nth-last-child(2){margin-bottom:8px}
.mc-foot .mc-go,.pl-dir{white-space:nowrap}

/* phones: a .rail list of cards becomes a swipe rail, ~1.2 cards in view */
@media (max-width:767px){
  .rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-16px;padding:4px 16px 8px;scroll-padding-inline:16px;scrollbar-width:none}
  .rail::-webkit-scrollbar{display:none}
  .rail>li{flex:0 0 84%;scroll-snap-align:start}
}


/* article card meta (date · read time) */
.art-meta{display:flex;gap:16px;font-size:13px;color:var(--text-2)}
.art-meta span{display:inline-flex;align-items:center;gap:6px}
.art-meta svg{width:16px;height:16px;color:var(--icon)}

/* ---------- resource tiles (journey steps, field libraries): logo, name, host/description ---------- */
.res-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.res-head h2{margin:0;font:700 28px/1.35 var(--f-title);color:var(--brand)}
html[lang="en"] .res-head h2{font-weight:600}
.res-find{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;min-width:min(320px,100%);border:1px solid var(--border);border-radius:9999px;background:#fff}
.res-find:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}
.res-find svg{width:18px;height:18px;flex:none;color:var(--icon)}
.res-find input{flex:1;min-width:0;height:100%;border:0;background:none;font:500 14px var(--f-ar);color:var(--text);outline:none}
.res-group+.res-group{margin-top:32px}
.res-group h3{margin:0 0 16px;display:flex;align-items:center;gap:8px;font:700 18px/1.4 var(--f-title);color:var(--text)}
.res-group h3::before{content:"";width:16px;height:2px;background:var(--gold)}
.res-grid{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:768px){.res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.res-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.res-grid>li{display:flex}
.res-grid>li[hidden]{display:none}
.res{flex:1;display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;color:var(--text);text-decoration:none;transition:box-shadow .3s var(--ease-out),border-color .3s,transform .3s var(--ease-out)}
.res:hover{box-shadow:var(--shadow-md);border-color:var(--brand-100);transform:translateY(-2px)}
.res .lg{flex:none;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.res .lg img{max-width:40px;max-height:40px;object-fit:contain}
.res .lg.ph img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover}
.res .tx{display:grid;gap:4px;min-width:0;flex:1}
.res b{font-size:15px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.res small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.res small.here{color:var(--brand);font-weight:700}
.res>svg{flex:none;width:18px;height:18px;color:var(--brand)}
.res-none{padding:24px;border:1px dashed var(--border);border-radius:var(--r-xl);text-align:center;color:var(--muted)}
