/* ================================================================
   GLENSHIEL NEWSFEED — "Latest stories" strip
   Used on the home page, the Fair page and anywhere the
   [glenshiel_latest] shortcode is dropped in.
   ================================================================ */
.gl-latest {
  --brown:#6b4a35; --bronze:#8a5a37; --deep:#54402e; --tan:#b99a77;
  --sage:#4c826f; --coral-dk:#e0716e; --band:#efe8dc; --cream:#f9f6f0;
  --card:#fff; --ink:#2a2a2a; --muted:#5b5651; --line:#e8e1d5; --line-2:#d9cfc2;
  font-family:'Archivo', system-ui, sans-serif;
  background:var(--cream); color:var(--ink); line-height:1.7;
  padding:78px 0 84px; width:100%; overflow-x:clip;
}
.gl-latest__in { max-width:1180px; margin:0 auto; padding:0 28px; }
.gl-latest__head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; margin-bottom:34px;
}
.gl-latest__eyebrow {
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--bronze); margin:0 0 10px;
}
.gl-latest__title {
  font-family:'Libre Baskerville', Georgia, serif; font-weight:400;
  font-size:34px; line-height:1.2; color:var(--deep); margin:0;
}
.gl-latest__all {
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--brown); text-decoration:none; white-space:nowrap;
  border-bottom:1px solid var(--line-2); padding-bottom:4px;
}
.gl-latest__all:hover { color:var(--bronze); border-color:var(--bronze); }

.gl-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; }
.gl-card {
  background:var(--card); border:1px solid var(--line); border-radius:4px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gl-card:hover { border-color:var(--line-2); transform:translateY(-3px); box-shadow:0 18px 40px rgba(60,45,32,.08); }
.gl-card__media { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--band); }
.gl-card__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.gl-card:hover .gl-card__img { transform:scale(1.03); }
.gl-card__body { padding:22px 24px 20px; display:flex; flex-direction:column; flex:1; }
.gl-chip {
  align-self:flex-start; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  padding:5px 10px; border-radius:2px; margin-bottom:12px; background:var(--band); color:var(--bronze);
}
.gl-chip--fair, .gl-chip--vendors { background:#fdf0ef; color:var(--coral-dk); }
.gl-chip--food   { background:#fbf3d9; color:#8a6a12; }
.gl-chip--venue  { background:#e9f2ee; color:var(--sage); }
.gl-chip--estate { background:var(--band); color:var(--bronze); }
.gl-chip--stjohn { background:#eaf4fd; color:#2f6a94; }
.gl-card__title {
  font-family:'Libre Baskerville', Georgia, serif; font-weight:400;
  font-size:19px; line-height:1.4; margin:0 0 10px; color:var(--deep);
}
.gl-card__title a { color:inherit; text-decoration:none; }
.gl-card__title a:hover { color:var(--brown); }
.gl-card__excerpt { font-size:15px; line-height:1.75; color:var(--muted); margin:0 0 20px; }
.gl-card__foot {
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin-top:auto; padding-top:20px; border-top:1px solid var(--line);
}
.gl-card__foot .gl-chip { margin-bottom:0; }
.gl-card__date { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--tan); }
.gl-card__more {
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brown);
  text-decoration:none; display:inline-flex; align-items:center; gap:7px;
}
.gl-card__more svg { width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2; transition:transform .2s; }
.gl-card__more:hover svg { transform:translateX(3px); }

@media (max-width:980px) {
  .gl-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; }
  .gl-grid .gl-card:nth-child(3) { display:none; }
}
@media (max-width:680px) {
  .gl-latest { padding:56px 0 60px; }
  .gl-latest__in { padding:0 20px; }
  .gl-latest__head { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:26px; }
  .gl-latest__title { font-size:27px; }
  .gl-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .gl-grid .gl-card:nth-child(3) { display:flex; }
}
