/* Programme card ("Poster"): the photo carries age and price, the name sits below.
   Used by the academy page grid (.progs) and "Other programmes" on the programme page. Render: card.js */
.pc{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.prog{display:block;width:100%;min-width:0;color:var(--court);text-decoration:none;cursor:pointer;border-radius:4px;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.prog:active{transform:scale(.985)}
.prog:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.prog figure{position:relative;aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:3px;background:#dfe3dd}
.prog figure.blank{background:var(--court)}
.prog figure img{width:100%;height:100%;object-fit:cover}
.prog figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:56px 14px 12px;color:#fff;
  background:linear-gradient(to top,rgba(15,21,18,.92) 0%,rgba(15,21,18,.86) 45%,rgba(15,21,18,.62) 75%,rgba(15,21,18,0) 100%)}
.prog-age{font:500 14px/1.3 var(--body)}
.prog-pr{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;font-variant-numeric:tabular-nums}
.prog-pr b{font:800 26px/1.05 var(--head);letter-spacing:-.03em;color:var(--ball)}
.prog-pr .fr,.prog-pr .u{font-size:13px;color:rgba(255,255,255,.9)}
.prog-pr.none{font:500 14px/1.3 var(--body);color:rgba(255,255,255,.9)}
.prog .nm{display:block;font:800 18px/1.2 var(--head);letter-spacing:-.025em;margin-top:10px}
@media(hover:hover){.prog:hover .nm{text-decoration:underline;text-decoration-color:var(--ball);text-decoration-thickness:3px;text-underline-offset:3px}}
.prog:focus-visible .nm{text-decoration:underline;text-decoration-color:var(--ball);text-decoration-thickness:3px;text-underline-offset:3px}
@media(max-width:640px){.prog figcaption{padding:44px 10px 10px}.prog-pr b{font-size:21px}.prog-age{font-size:13px}}

/* "Ask for the price": a real button next to (not inside) the card link */
button.askp{appearance:none;background:none;border:0;padding:0;margin:2px 0 0;min-height:44px;cursor:pointer;text-align:left;font:500 15px/1.35 var(--body);color:var(--court);text-decoration:underline;text-decoration-color:var(--ball);text-decoration-thickness:3px;text-underline-offset:4px;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
@media(hover:hover){button.askp:hover{text-decoration-color:var(--court)}}
button.askp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
button.askp:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.prog,button.askp{transition:none}.prog:active,button.askp:active{transform:none}}

/* programme page: up to four other programmes sit in one row on desktop */
@media(min-width:861px){.progs.others{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* deal tags (2026-10-07): "Deal" on the photo when a deal names this programme, a quiet count under the name otherwise */
.prog-top{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.pc-deal{display:inline-block;font:600 12.5px/1 var(--body);color:var(--court);background:var(--ball);padding:4px 7px;border-radius:3px}
.pc-dn{display:inline-block;margin-top:6px;font:500 13px/1.2 var(--body);color:var(--mute);border:1px solid var(--line);border-radius:3px;padding:3px 7px}
