/* Media photo library (/media). Plain CSS, loaded with ?v=filemtime from resources/views/media.blade.php */
.thp-media { max-width: 64rem; margin: 2.5rem auto 0; }
.thp-media__title { font-size: 2rem; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: #052443; margin-bottom: 1rem; }
@media (min-width: 768px) { .thp-media__title { font-size: 2.75rem; } }
.thp-media__intro { font-size: 1.125rem; line-height: 1.65; color: #1F2937; max-width: 46rem; }
.thp-media__intro a { color: #0D4C94; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.thp-media__intro a:hover { color: #052443; }
.thp-media__support { margin: 1.25rem 0 0; }
.thp-media__support .thp-pill { display: inline-flex; }
.thp-media__grid { list-style: none; margin: 2.25rem 0 0; padding: 0; display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); align-items: start; }
.thp-media__card { display: flex; flex-direction: column; background: #fff; border: 1px solid #E5E7EB; border-radius: .75rem; overflow: hidden; box-shadow: 0 4px 16px rgba(13,76,148,.08); }
.thp-media__figure { margin: 0; }
.thp-media__img { display: block; width: 100%; height: auto; background: #E8F5FD; }
.thp-media__caption { padding: 1rem 1.125rem .5rem; }
.thp-media__caption-text { display: block; font-size: .9375rem; line-height: 1.5; color: #1F2937; }
.thp-media__meta { display: block; margin-top: .375rem; font-size: .8125rem; line-height: 1.4; color: #6B7280; }
.thp-media__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: .75rem 1.125rem 1.125rem; margin-top: auto; }
.thp-media__btn { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.1rem; border-radius: 9999px; background: #0D4C94; color: #fff; font-family: Figtree, ui-sans-serif, system-ui, sans-serif; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; box-shadow: 0 1px 2px rgba(5,36,67,.15); transition: background .15s; }
.thp-media__btn:hover { background: #052443; }
.thp-media__btn:focus-visible { outline: 2px solid #1F6FC5; outline-offset: 3px; }
.thp-media__btn .thp-ext-icon { width: 1.05em; height: 1.05em; }
.thp-media__spec { font-size: .8125rem; color: #6B7280; }
.thp-media__empty { margin-top: 2rem; color: #4B5563; }
