/* 2026 on cards (20 Oct 2026): the "today" look laid out like the training-schools listing, one clean card per practice
   (Listings::cards / Listings::card). Loaded only for 2026, on top of directory-era-20.css; 1955-2005 keep their printed pages.
   Selectors start with .pcgrid so they win over the paper sheets' "main.wrap a" and "main.wrap p" rules. */
.runhead,.thumbtab{display:none!important}   /* the printed book's running head and thumb tab: paper furniture */

.pcgrid{--pc-bg:#fff;--pc-ink:#26231f;--pc-mut:#6f685d;--pc-line:#e6e0d4;--pc-soft:#f6f3ec;--pc-ok:#2f7d4f;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));grid-auto-flow:row dense;gap:14px;margin:10px 0 28px}
.pcgrid .pc{--ad:#8fae9b;position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--pc-bg);color:var(--pc-ink);
  border:1px solid var(--pc-line);border-radius:18px;padding:16px 16px 12px;box-shadow:0 1px 2px rgba(60,45,25,.05);
  font:15px/1.45 'Plus Jakarta Sans',system-ui,sans-serif;transition:box-shadow .2s ease,transform .2s ease}
.pcgrid .pc:hover{box-shadow:0 16px 32px -20px rgba(60,45,25,.45);transform:translateY(-2px)}

/* who: picture, name and tick, what they do, where */
.pcgrid .pc-hd{display:flex;gap:13px;align-items:flex-start}
.pcgrid .pc-pic{flex:none;width:58px;height:58px;border-radius:16px;overflow:hidden;display:grid;place-items:center;text-decoration:none;
  background:color-mix(in srgb,var(--k) 34%,#fff)}
.pcgrid .pc-pic img{width:100%;height:100%;object-fit:cover;display:block}
.pcgrid .pc-pic img.logo{object-fit:contain;padding:6px;background:#fff}
.pcgrid .pc-pic img.art{object-fit:contain;padding:3px}
.pcgrid .pc-pic span{font:700 20px/1 Fraunces,Georgia,serif;color:color-mix(in srgb,var(--k) 30%,#26231f);letter-spacing:.02em}
.pcgrid .pc-id{min-width:0;flex:1}
.pcgrid .pc h3{margin:0;font:700 17px/1.25 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:-.005em;overflow-wrap:anywhere;color:var(--pc-ink)}
.pcgrid .pc h3 a{color:inherit;text-decoration:none}
.pcgrid .pc h3 a:hover{text-decoration:underline}
.pcgrid .pc-tick{width:17px;height:17px;vertical-align:-3px;margin-left:2px}
.pcgrid .pc-tick circle{fill:var(--pc-ok)}.pcgrid .pc-tick path{fill:none;stroke:#fff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.pcgrid .pc-what{display:inline-block;margin-top:5px;background:color-mix(in srgb,var(--k) 24%,#fff);color:color-mix(in srgb,var(--k) 25%,#26231f);
  border-radius:999px;padding:1px 10px;font-size:12.5px;font-weight:700}
.pcgrid .pc-where{display:flex;align-items:flex-start;gap:4px;margin-top:5px;font-size:13.5px;color:var(--pc-mut)}
.pcgrid .pc .i3d{width:1.4em;height:1.4em;object-fit:contain;flex:none}
.pcgrid .pc-where .i3d{width:1.2em;height:1.2em}

/* their own words */
.pcgrid .pc-cols{display:flex;flex-direction:column;gap:10px}   /* side by side from 700px wide */
.pcgrid .pc-cols>div{display:flex;flex-direction:column;gap:10px;min-width:0}
.pcgrid .pc-head{margin:0;font:600 17px/1.3 Fraunces,Georgia,serif;color:var(--pc-ink)}
.pcgrid .pc-pitch{margin:0;font-size:14.5px;color:color-mix(in srgb,var(--pc-ink) 82%,transparent);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pcgrid .pc-strap{margin:0;font:italic 500 16.5px/1.35 Fraunces,Georgia,serif;color:color-mix(in srgb,var(--ad) 55%,var(--pc-ink))}
.pcgrid .pc-pts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 14px;font-size:13.5px;font-weight:600}
.pcgrid .pc-pts li:before{content:"\2713";color:var(--pc-ok);margin-right:7px;font-weight:800}
.pcgrid .pc-tp{display:flex;flex-wrap:wrap;gap:6px}
.pcgrid .pc-tp span{font-size:12.5px;font-weight:600;border:1px solid var(--pc-line);border-radius:999px;padding:2px 10px;background:var(--pc-soft);color:var(--pc-ink)}
.pcgrid .pc-cred{font-size:12.5px;color:var(--pc-mut);letter-spacing:.02em}
.pcgrid .pc-now{display:flex;flex-wrap:wrap;gap:6px}
.pcgrid .pc-now>*{display:inline-flex;align-items:center;gap:.3em;background:var(--pc-soft);border-radius:999px;padding:.2em .75em .2em .3em;font-size:12.5px;font-weight:700;color:var(--pc-ink);text-decoration:none}
.pcgrid .pc-now small{font-size:inherit;font-weight:500;color:var(--pc-mut)}
.pcgrid .pc-now .nx{background:#e6f1ea}
.pcgrid .pc-offer{align-self:flex-start;display:inline-flex;align-items:center;gap:.4em;background:#fff1e6;border:1px solid #f2c9a8;border-radius:999px;padding:.3em .95em .3em .35em;font-weight:800;font-size:14px;color:#26231f}

/* ring, book, visit */
.pcgrid .pc-ft{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:12px;border-top:1px solid var(--pc-line)}
.pcgrid .pc-ft a{display:inline-flex;align-items:center;gap:.4em;border-radius:999px;padding:6px 13px 6px 7px;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;line-height:1.3}
.pcgrid .pc-tel{background:#26231f;color:#fff;font-weight:800!important;letter-spacing:.01em}
.pcgrid .pc-bk{background:var(--pc-ok);color:#fff}
.pcgrid .pc-web{background:var(--pc-bg);color:var(--pc-ink);box-shadow:inset 0 0 0 1px var(--pc-line)}
.pcgrid .pc-ft a:hover{filter:brightness(1.08)}
.pcgrid .pc-web:hover{box-shadow:inset 0 0 0 1px var(--pc-ink)}
.pcgrid .pc-more{align-self:flex-end;margin-top:-4px;font-size:12px;color:var(--pc-mut);text-decoration:none}
.pcgrid .pc-more:hover{text-decoration:underline}

/* labels: Featured, In the spotlight this week, In training */
.pcgrid .pc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:-2px}
.pcgrid .pc-tag{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 8px;
  background:color-mix(in srgb,var(--ad) 18%,#fff);color:color-mix(in srgb,var(--ad) 55%,#26231f)}
.pcgrid .pc-tag.trn{background:#fff3cf;color:#6e5100}

/* adverts and spotlights: the same card, bigger and in their colour, so paying advertisers still stand out */
.pcgrid .pc-rich{border-color:color-mix(in srgb,var(--ad) 40%,#fff);background:linear-gradient(170deg,color-mix(in srgb,var(--ad) 11%,#fff) 0%,#fff 58%);
  box-shadow:inset 0 5px 0 var(--ad),0 14px 30px -22px color-mix(in srgb,var(--ad) 80%,#000);padding-top:19px}
.pcgrid .pc-big .pc-pic{width:86px;height:86px;border-radius:22px}
.pcgrid .pc-big h3{font:700 21px/1.15 Fraunces,Georgia,serif;letter-spacing:-.01em}
.pcgrid .pc-hl{border-color:color-mix(in srgb,var(--ad) 55%,#fff);box-shadow:inset 4px 0 0 var(--ad)}
@media (min-width:700px){
  .pcgrid .pc-half{grid-column:span 2}
  .pcgrid .pc-full{grid-column:1/-1;padding:22px 24px 14px}
  /* the lead advert reads in two columns: its words on the left, what it offers on the right */
  .pcgrid .pc-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px 36px;align-items:start}
  .pcgrid .pc-full .pc-pts{grid-template-columns:1fr 1fr}
  .pcgrid .pc-full .pc-pic{width:132px;height:132px;border-radius:28px}
  .pcgrid .pc-full h3{font-size:30px}
  .pcgrid .pc-full .pc-hd{gap:20px;align-items:center}
  .pcgrid .pc-half .pc-pic{width:104px;height:104px;border-radius:24px}
  .pcgrid .pc-half h3{font-size:25px}
  .pcgrid :is(.pc-half,.pc-full) .pc-pitch{-webkit-line-clamp:6;font-size:15.5px}
}

/* the claim invitation, once a page */
.pcgrid .pc-join{background:#26231f;color:#f6f3ec;border-color:#26231f;justify-content:center;gap:8px}
.pcgrid .pc-join b{font:700 20px/1.2 Fraunces,Georgia,serif;color:#fff}
.pcgrid .pc-join p{margin:0;font-size:14px;color:#d9d2c5}
.pcgrid .pc-join .pc-bk{align-self:flex-start;margin-top:6px;display:inline-flex;border-radius:999px;padding:8px 16px;font-weight:800;font-size:14px;text-decoration:none;background:#f6f3ec;color:#26231f}

@media (max-width:640px){
  .pcgrid{grid-template-columns:1fr;gap:12px}
  .pcgrid .pc{padding:14px 14px 10px}
  .pcgrid .pc-ft a{font-size:14.5px;padding:8px 14px 8px 8px}   /* a bigger target for a thumb */
}

@media (prefers-color-scheme:dark){
  .pcgrid{--pc-bg:#26231f;--pc-ink:#f1ece3;--pc-mut:#a99f90;--pc-line:#3a352e;--pc-soft:#2f2b26;--pc-ok:#3f9c63}
  .pcgrid .pc-rich{background:linear-gradient(170deg,color-mix(in srgb,var(--ad) 22%,#26231f) 0%,#26231f 58%);border-color:color-mix(in srgb,var(--ad) 45%,#26231f)}
  .pcgrid .pc-what{background:color-mix(in srgb,var(--k) 30%,#26231f);color:#f1ece3}
  .pcgrid .pc-tel{background:#f1ece3;color:#1e1c19}
  .pcgrid .pc-tag{background:color-mix(in srgb,var(--ad) 30%,#26231f);color:#f1ece3}
  .pcgrid .pc-now .nx{background:#24342a}
  .pcgrid .pc-join{background:#f1ece3;border-color:#f1ece3}.pcgrid .pc-join b{color:#1e1c19}.pcgrid .pc-join p{color:#4a453d}
  .pcgrid .pc-join .pc-bk{background:#26231f;color:#f1ece3}
}
