/* Component-level styles organized by block */

/* Header */
.site-nav a:hover { color: var(--link); }

/* Search bars */
.hero-search input, .site-search input { outline: none; }
.hero-search input:focus, .site-search input:focus { border-color: var(--link); box-shadow: 0 0 0 3px rgba(43,108,176,.12); }

/* Destination cards */
.destination-card .card-body { display: grid; gap: 8px; }
.destination-card .excerpt { color: var(--muted); }

/* Callouts */
.callout h3 { margin-top: 0; }

/* Tables */
.table caption { text-align: left; font-weight: 600; margin-bottom: 8px; }

/* TOC */
.toc h3 { margin: 0 0 8px 0; font-size: 1rem; }

/* Footer */
.site-footer .brand span { font-weight: 700; }


