/* Additive ToolScout enhancements: does not replace the existing design system. */
:root { scroll-behavior: smooth; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
a { text-underline-offset: .18em; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #0284c7; outline-offset: 3px;
}
button, input, select, textarea { font: inherit; }
.ts-skip-link { position: absolute; left: -10000px; top: 0; z-index: 9999; padding: .8rem 1rem; background: #fff; color: #111; }
.ts-skip-link:focus { left: 1rem; top: 1rem; }
.ts-guide-section { width: min(1120px, calc(100% - 2rem)); margin: 3rem auto; }
.ts-guide-section h2 { line-height: 1.2; }
.ts-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.ts-guide-card { min-width: 0; padding: 1.25rem; border: 1px solid #dbe3ed; border-radius: 1rem; background: #fff; color: #172033; }
.ts-guide-card h3 { margin-top: 0; line-height: 1.35; }
.ts-guide-card p { line-height: 1.65; }
.ts-guide-card a { font-weight: 650; }
.ts-eyebrow { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.ts-error { width: min(720px, calc(100% - 2rem)); margin: 12vh auto; }
.ts-action { display: inline-block; padding: .8rem 1.1rem; border-radius: .65rem; background: #172554; color: #fff; text-decoration: none; font-weight: 700; }
.ts-menu-toggle { display: none; border: 1px solid #cbd5e1; border-radius: .6rem; background: #fff; color: #172554; padding: .55rem .8rem; cursor: pointer; font-weight: 650; }
/* Consistent card treatment for common tool-card naming conventions already used by the site. */
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) { min-width: 0; border-radius: 1rem; overflow: hidden; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) img { display: block; width: 100%; object-fit: cover; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) h2,
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) h3 { line-height: 1.3; text-wrap: balance; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) p { line-height: 1.6; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) a { overflow-wrap: anywhere; }
 .ts-policy-links { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; padding: 1rem; font-size: .9rem; }
.ts-hero-visual { width: min(100%, 900px); margin: 2rem auto 0; }
.ts-hero-visual img { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 1.25rem; box-shadow: 0 18px 48px rgba(15, 23, 42, .14); }
.ts-hero-visual figcaption { margin-top: .65rem; text-align: center; color: #64748b; font-size: .9rem; }
#search-form { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
#tool-search { min-width: 0; flex: 1 1 18rem; }
#tool-search, #search-form input, #search-form select { min-height: 2.8rem; border: 1px solid #cbd5e1; border-radius: .65rem; padding: .65rem .8rem; }
[data-quick-filter], [data-category-filter], [data-sort] { min-height: 2.45rem; border: 1px solid #cbd5e1; border-radius: 999px; padding: .5rem .85rem; cursor: pointer; }
[data-quick-filter]:hover, [data-category-filter]:hover, [data-sort]:hover { border-color: #0284c7; }
:is(.tool-grid, .tools-grid, .tool-library, [data-tool-grid]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]) { padding: 1rem; border: 1px solid #dbe3ed; background: #fff; box-shadow: 0 4px 18px rgba(15, 23, 42, .045); transition: transform .18s ease, box-shadow .18s ease; }
:is(.tool-card, .tool-item, .product-card, [data-tool-card]):hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(15, 23, 42, .09); }
@media (max-width: 900px) { .ts-guide-grid, :is(.tool-grid, .tools-grid, .tool-library, [data-tool-grid]) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ts-guide-grid, :is(.tool-grid, .tools-grid, .tool-library, [data-tool-grid]) { grid-template-columns: 1fr; } .ts-guide-section { width: calc(100% - 1.25rem); } #search-form { align-items: stretch; } #tool-search { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 760px) {
  .ts-menu-toggle { display: inline-flex; align-items: center; gap: .4rem; }
  nav[data-ts-mobile-menu="true"][data-ts-open="false"] { display: none; }
  nav[data-ts-mobile-menu="true"][data-ts-open="true"] { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; }
}


/* ToolScout image logo */
.brand-logo {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .brand-logo {
    width: 32px;
    height: 32px;
  }
}
