/* Theme components only. Avoid generic .container, .card or global button rules. */
.index-header { background: var(--index-color-background); border-bottom: 1px solid var(--index-color-border); }
.index-header__inner { display: flex; align-items: center; flex-wrap: wrap; gap: var(--index-space-4); padding-block: 1rem; }
.index-brand { margin-right: auto; min-width: 0; }
.index-brand__text { color: var(--index-color-text) !important; font-weight: 750; font-size: clamp(1.2rem, 2vw, 1.55rem); text-decoration: none; }
.index-brand .custom-logo-link { display: inline-flex; align-items: center; }
.index-brand .custom-logo { display: block; max-width: 15rem; max-height: 4.5rem; width: auto; }
.index-header__actions { display: flex; align-items: center; gap: .5rem; }
.index-menu-toggle, .index-theme-toggle { padding: .42rem .75rem; border: 1px solid var(--index-color-border); border-radius: var(--index-radius-sm); background: var(--index-color-surface); color: var(--index-color-text); cursor: pointer; font-size: .82rem; }
.index-theme-toggle:hover, .index-menu-toggle:hover { border-color: var(--index-color-primary); }
.index-menu-toggle { display: none; }
.index-nav { flex-basis: 100%; }
.index-nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: center; margin: 0; padding: 0; list-style: none; }
.index-nav li { position: relative; list-style: none; }
.index-nav a { display: inline-block; padding: .35rem .1rem; color: var(--index-color-text); text-decoration: none; }
.index-nav a:hover, .index-nav .current-menu-item > a { color: var(--index-color-primary); text-decoration: underline; }
.index-nav ul ul { padding: .15rem 0 .15rem 1rem; }
.index-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--index-color-border); border-radius: var(--index-radius-md); background: var(--index-color-surface); }
.index-card__media { aspect-ratio: 16 / 9; display: block; overflow: hidden; background: var(--index-color-border); }
.index-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.index-card__body { padding: var(--index-space-6); }
.index-card__meta, .index-post-meta { margin: 0 0 .55rem; color: var(--index-color-muted); font-size: .85rem; }
.index-post-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.index-card__title { margin: 0; font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); line-height: 1.5; }
.index-card__link { color: var(--index-color-text) !important; text-decoration: none; }
.index-card__link:hover { color: var(--index-color-primary) !important; text-decoration: underline; }
.index-card__excerpt { margin: .75rem 0 0; font-size: .93rem; color: var(--index-color-muted); }
.index-widget { margin: 0 0 var(--index-space-6); padding: var(--index-space-6); border: 1px solid var(--index-color-border); border-radius: var(--index-radius-md); }
.index-widget__title { margin-top: 0; font-size: 1.1rem; }
.index-widget :where(ul) { padding-inline-start: 1.25rem; }
.index-site .search-form { display: flex; flex-wrap: wrap; gap: .5rem; }
.index-site .search-field { width: min(100%, 21rem); min-width: 0; flex: 1 1 12rem; padding: .5rem; border: 1px solid var(--index-color-border); border-radius: var(--index-radius-sm); color: var(--index-color-text); background: var(--index-color-background); }
.index-site .search-submit { padding: .5rem 1rem; background: var(--index-color-primary); color: var(--index-color-background); border: 0; border-radius: var(--index-radius-sm); cursor: pointer; }
.index-breadcrumbs { padding-block: .65rem; color: var(--index-color-muted); font-size: .85rem; }
.index-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.index-breadcrumbs__list li:not(:first-child)::before { content: '›'; margin-inline-end: .4rem; }
.index-breadcrumbs a { color: var(--index-color-muted); }
.index-breadcrumbs #breadcrumbs { margin: 0; }
.index-load-more { margin-top: var(--index-space-8); text-align: center; }
.index-load-more a { display: inline-block; padding: .55rem 1.5rem; border: 1px solid var(--index-color-border); border-radius: var(--index-radius-sm); text-decoration: none; }
.index-post-navigation { margin-top: 2rem; }
.index-post-navigation .nav-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.index-toc { margin-bottom: 1.5rem; padding: 1.25rem; background: var(--index-color-surface); border: 1px solid var(--index-color-border); border-radius: var(--index-radius-sm); }
.index-toc[hidden] { display: none; }
.index-toc__title { margin: 0 0 .5rem; font-size: 1.1rem; }
.index-toc ol { margin: 0; padding-inline-start: 1.6rem; }
.index-toc__subitem { margin-inline-start: 1.25rem; }
.index-share { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.25rem; }
.index-footer { padding-block: var(--index-space-8); border-top: 1px solid var(--index-color-border); background: var(--index-color-surface); }
.index-footer__menu { display: flex; gap: 1rem; flex-wrap: wrap; margin: 0 0 1rem; padding: 0; list-style: none; }
.index-footer__bottom { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.index-footer__bottom a { text-decoration: none; }
@media (max-width: 47.99rem) {
  html[data-index-js="ready"] .index-menu-toggle { display: inline-block; }
  html[data-index-js="ready"] .index-nav:not(.index-nav--open) { display: none; }
  .index-nav ul { display: block; }
  .index-nav li a { display: block; padding: .45rem 0; }
}
@media (min-width: 48rem) {
  .index-header__inner { justify-content: space-between; }
  .index-nav { flex-basis: auto; flex-grow: 1; display: flex; justify-content: flex-end; }
  .index-nav ul ul { display: none; position: absolute; top: 100%; left: 0; z-index: 50; width: max-content; min-width: 12rem; padding: .5rem; border: 1px solid var(--index-color-border); border-radius: .35rem; background: var(--index-color-background); }
  .index-nav li:hover > ul, .index-nav li:focus-within > ul { display: block; }
  .index-nav ul ul li a { display: block; }
}
