/* Shared SSR fallback cards, detail pages and the progressively enhanced dialog. */
.content-page { padding-top: 36px; padding-bottom: 52px; min-height: 50vh; }
.content-page h1 { max-width: 1000px; line-height: 1.2; font-size: clamp(26px, 4vw, 42px); margin: 16px 0 24px; }
.content-page h2 { margin: 30px 0 14px; font-size: 24px; }
.content-page p, .tc-article p { font-size: 15px !important; line-height: 1.65; }
.tc-article { max-width: 1100px; margin: auto; overflow-wrap: anywhere; }
.tc-article img { max-width: 100%; height: auto; }
.tc-article .tc-hero { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 16px; margin: 24px 0; }
.tc-article table { display: block; max-width: 100%; overflow-x: auto; }
.tc-article li { margin-bottom: 8px; }
.tc-article .tc-meta { color: #66736e; }
.tc-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 24px; }
.tc-card { border: 1px solid #dce5df; border-radius: 14px; overflow: hidden; background: #fff; color: #172b25; min-width: 0; }
.tc-card .p-body { padding: 20px; }
.tc-card h3 { margin: 0 0 12px; }
.tc-card .tc-thumb { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.tc-card p { font-size: 15px !important; }
.tc-dialog { position: fixed; width: min(1120px,96vw); max-width: 96vw; max-height: 92vh; border: 0; border-radius: 18px; padding: 28px; color: #172b25; }
.tc-dialog::backdrop { background: rgba(0,0,0,.65); }
.tc-dialog-close { display: block; margin-left: auto; position: sticky; top: 0; z-index: 1; padding: 8px 16px; cursor: pointer; }
.tc-dialog h1 { font-size: clamp(25px,4vw,38px); }
body.tc-locked { overflow: hidden; }
/* Keep the consent copy exception on every site. */
.cookie p { font-size: 12px !important; }
