/* E-100: native search/404 on the shared dark shell; no query replacement. */
.sh-frontend.search #inner-wrap { background: var(--sh-bg); color: var(--sh-text); color-scheme: dark; }
.sh-frontend.search .content-container.site-container { max-width: var(--sh-container); padding-inline: var(--gutter); }
.sh-frontend.search #primary { margin-inline: auto; padding-inline: 0; min-width: 0; }
.sh-frontend.search #main .search-title { font: 800 clamp(2rem, 1.2rem + 2vw, 3.5rem)/1.12 var(--font-display); text-wrap: balance; overflow-wrap: anywhere; }
.sh-frontend.search #archive-container { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 2rem; padding: 0; }
.sh-frontend.search #main .loop-entry { background: var(--sh-surface); box-shadow: none; min-width: 0; overflow-wrap: anywhere; border-radius: var(--sh-radius); }
.sh-frontend.search #main .entry-content-wrap { padding: 1.25rem; }
.sh-frontend.search #main .entry-title { font: 800 var(--t-post)/1.2 var(--font-display); text-transform: none; overflow-wrap: anywhere; text-wrap: balance; }
.sh-frontend.search #main .entry-title a { color: var(--sh-text); }
.sh-frontend.search #main :is(.entry-meta, .entry-summary, .error) { color: var(--sh-text-muted); }
.sh-frontend.search #main :is(.entry-title a, .entry-meta a, .entry-taxonomies a, .post-more-link) { color: var(--sh-text); text-decoration-color: var(--sh-gold); }
.sh-frontend.search #main .error { max-width: 44rem; }
.sh-frontend :is(.sh-reading-search) { max-width: 44rem; margin-block: 1.5rem; text-align: start; }
.sh-frontend .sh-reading-search label { display: block; margin-bottom: .5rem; font-weight: 600; color: var(--sh-text); }
.sh-reading-search-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.sh-frontend .sh-reading-search input[type="search"] { flex: 1 1 14rem; width: 100%; min-width: 0; max-width: 100%; min-height: var(--sh-field-height); padding: .75rem 1rem; border: 1px solid var(--sh-control); border-radius: var(--sh-radius); background: var(--sh-bg); color: var(--sh-text); font: inherit; }
.sh-frontend .sh-reading-search :is(input, button):focus-visible { outline: 3px solid var(--sh-focus); outline-offset: 3px; }
.sh-404-intro { max-width: 44rem; margin-inline: auto; text-align: center; }
.sh-404 .sh-display { font-size: clamp(2rem, 1.2rem + 2vw, 3.5rem); line-height: 1.12; overflow-wrap: anywhere; }
.sh-404 .sh-hero-sub { margin: var(--sh-space-3) auto var(--sh-space-6); }
.sh-404 .sh-reading-search { margin-top: var(--sh-space-6); }
.sh-404-bestsellers { margin-top: var(--sh-space-12); }
.sh-404 .sh-section-title { text-align: center; margin-bottom: var(--sh-space-4); overflow-wrap: anywhere; }
.sh-404-bestsellers .woocommerce ul.products { margin-top: 0; }
@media (forced-colors: active) {
  .sh-frontend .sh-reading-search input[type="search"] { border-color: ButtonText; }
}

/* E-99: blog index and native category archives, pinned Read composition. */
.sh-blog-main { width: 100%; min-width: 0; }
.sh-blog { container-type: inline-size; }
.sh-blog .sh-blog-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; padding-top: 8px; }
.sh-blog-crumbs li { display: flex; align-items: center; font-size: var(--t-sm); color: var(--sh-text-muted); }
.sh-blog-crumbs li + li::before { content: "/" / ""; margin-right: 12px; }
.sh-blog-crumbs a { display: inline-flex; align-items: center; min-height: var(--tap); color: var(--sh-text-muted); }
.sh-blog .sh-blog-head { display: grid; gap: 20px; padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(2rem, 1rem + 3vw, 3.5rem); }
.sh-blog .sh-blog-head h1 { text-transform: uppercase; }
.sh-blog .sh-blog-lead { max-width: 32.5rem; font-size: clamp(1.125rem, 1rem + .5vw, 1.25rem); line-height: 1.4; color: var(--sh-text-muted); }
.sh-blog-filters { border-block: 1px solid var(--sh-line); }
.sh-frontend .sh-blog .sh-blog-filters ul.sh-wrap { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 12px; padding-inline: var(--gutter); margin-inline: auto; }
.sh-blog .sh-blog-chip { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: var(--tap); padding: 10px 16px; border: 1px solid var(--sh-control); border-radius: var(--sh-radius); background: var(--sh-surface); font-size: var(--t-sm); font-weight: 600; line-height: 1.2; color: var(--sh-text); text-decoration: none; }
.sh-blog .sh-blog-chip:hover { border-color: var(--sh-text); }
.sh-blog .sh-blog-count { color: var(--sh-text-muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.sh-blog .sh-blog-chip[aria-current="page"] { background: var(--sh-gold); border-color: var(--sh-gold); color: var(--sh-onyx); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sh-blog .sh-blog-chip[aria-current="page"] .sh-blog-count { color: var(--sh-onyx); }
.sh-blog-posts-sec { padding-block: clamp(2rem, 1rem + 3vw, 3.5rem) var(--sh-space-12); }
.sh-blog .sh-blog-posts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px 24px; }
.sh-blog-post { position: relative; min-width: 0; container-type: inline-size; }
.sh-blog-feature { grid-column: 1 / -1; }
.sh-blog-post-in { display: flex; flex-direction: column; gap: 16px; }
.sh-blog-media { position: relative; aspect-ratio: 4 / 3; border-radius: var(--sh-radius); overflow: hidden; background: var(--sh-surface); }
.sh-blog .sh-blog-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sh-blog-post-body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sh-blog .sh-blog-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; font-size: var(--t-xs); color: var(--sh-text-muted); }
.sh-blog .sh-blog-tag { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: var(--tap); font: 800 var(--t-xs)/1.2 var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--sh-text); text-decoration: none; }
.sh-blog .sh-blog-tag:hover { text-decoration: underline; text-decoration-color: var(--sh-gold); }
.sh-blog .sh-blog-post h2 { font: 800 var(--t-post)/1.15 var(--font-display); letter-spacing: -.015em; text-transform: none; overflow-wrap: anywhere; }
.sh-blog .sh-blog-feature h2 { font-size: var(--t-feature); line-height: 1.08; letter-spacing: -.02em; }
.sh-blog .sh-blog-post h2 a { color: var(--sh-text); text-decoration: none; }
.sh-blog-post h2 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sh-blog-post h2 a:hover { text-decoration: underline; text-decoration-color: var(--sh-gold); }
.sh-blog .sh-blog-excerpt { color: var(--sh-text-muted); line-height: 1.55; max-width: 36rem; }
.sh-blog-post:not(.sh-blog-feature) .sh-blog-excerpt { font-size: var(--t-sm); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sh-blog-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font: 800 1rem/1.2 var(--font-display); }
.sh-blog-feature .sh-blog-media { aspect-ratio: 16 / 10; }
.sh-blog-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 48px 0 0; }
.sh-blog .sh-blog-pagination .page-numbers :is(a,span) { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap); min-height: var(--tap); padding: 8px 12px; border-radius: var(--sh-radius); color: var(--sh-text); }
.sh-blog .sh-blog-pagination [aria-current="page"] { background: var(--sh-gold); color: var(--sh-onyx); }
.sh-blog .sh-blog-empty a { color: var(--sh-text); text-decoration-color: var(--sh-gold); }
@media (min-width: 40em) { .sh-blog .sh-blog-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 32px; } }
@container (min-width: 56rem) { .sh-blog .sh-blog-head { grid-template-columns: minmax(0, 1fr) minmax(0, 32.5rem); gap: 48px; align-items: end; } }
@container (min-width: 68rem) {
  .sh-blog-feature .sh-blog-post-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
  .sh-blog-feature .sh-blog-post-body { gap: 14px; }
  .sh-blog-feature .sh-blog-media { aspect-ratio: 4 / 3; }
}
@supports selector(:has(a)) {
  .sh-blog-post h2 a:focus-visible { outline: 0; }
  .sh-blog-post:has(h2 a:focus-visible) .sh-blog-post-in { outline: 3px solid var(--sh-gold); outline-offset: 6px; border-radius: var(--sh-radius); }
}
@media (forced-colors: active) {
  .sh-blog .sh-blog-chip { border-color: ButtonText; }
  .sh-blog .sh-blog-chip[aria-current="page"], .sh-blog .sh-blog-pagination [aria-current="page"] { forced-color-adjust: none; background: Highlight; color: HighlightText; border-color: Highlight; }
  .sh-blog .sh-blog-chip[aria-current="page"] .sh-blog-count { color: HighlightText; }
}

.sh-blog-feature .sh-blog-post-in:not(:has(.sh-blog-media)) { display: block; }
