/* Shared catalog, category, favorites and feedback surfaces. */
.dtb-v2.pattern-system .main > :is(.hero-mini,.section,.dt-feedback-write,.dt-feedback-alert) { width:calc(100% - 64px); max-width:1216px; margin-inline:auto; }
.dtb-v2.pattern-system .main > .hero-mini { display:block; margin-top:0; padding:36px 0 24px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:none; box-shadow:none; min-height:0; }
.dtb-v2.pattern-system .hero-mini .art-panel { display:none; }
.dtb-v2.pattern-system .hero-mini h1 { color:var(--text); font-size:28px; line-height:1.3; letter-spacing:-.03em; margin:8px 0; }
.dtb-v2.pattern-system .hero-mini p { max-width:760px; color:var(--muted); font-size:14px; line-height:1.7; }
.dtb-v2.pattern-system .eyebrow { color:var(--primary); font-size:12px; letter-spacing:.06em; }
.dtb-v2.pattern-system .section { margin-block:24px 40px; }
.dtb-v2.pattern-system .tools-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dtb-v2.pattern-system .tools-grid[hidden] { display:none; }
.dtb-v2.pattern-system .tool-card { min-width:0; padding:18px; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:none; }
.dtb-v2.pattern-system .tool-card:hover { transform:none; border-color:var(--border-strong); background:var(--surface-2); box-shadow:none; }
.dtb-v2.pattern-system .tool-card h3 { margin:14px 0 8px; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.dtb-v2.pattern-system .tool-card h3 a { color:var(--text); }
.dtb-v2.pattern-system .tool-card p { color:var(--muted); font-size:13px; line-height:1.65; }
.dtb-v2.pattern-system .tool-card p a { color:inherit; }
.dtb-v2.pattern-system .tool-card .meta { color:var(--muted); font-size:11px; }
.dtb-v2.pattern-system .tool-icon { background:var(--dtb-accent-soft); color:var(--primary); border-color:var(--border); }
.dtb-v2.pattern-system .favorite-toggle { background:var(--surface); color:var(--muted); border-color:var(--border); }
.dtb-v2.pattern-system .favorite-toggle:hover,
.dtb-v2.pattern-system .favorite-toggle.is-favorite { color:var(--primary); background:var(--dtb-accent-soft); border-color:var(--primary); }
.dtb-v2.pattern-system .favorites-state-card { background:var(--surface); border:1px solid var(--border); box-shadow:none; border-radius:10px; padding:32px; }
.dtb-v2.pattern-system :is(.favorites-state-card,.dt-feedback-card,.dt-feedback-post) h2 { color:var(--text); }
.dtb-v2.pattern-system :is(.favorites-state-card,.dt-feedback-card,.dt-feedback-post) p { color:var(--muted); }
.dtb-v2.pattern-system :is(.btn,.dt-feedback-form button,.dt-feedback-filter button) { border-color:var(--border); background:var(--surface-2); color:var(--text); box-shadow:none; }
.dtb-v2.pattern-system :is(.btn.primary,.btn-primary) { border-color:var(--primary); background:var(--primary); color:var(--primary-foreground); }
.dtb-v2.pattern-system :is(.dt-feedback-card,.dt-feedback-post,.dt-feedback-write-panel) { border-color:var(--border); background:var(--surface); border-radius:10px; box-shadow:none; }
.dtb-v2.pattern-system .dt-feedback-alert.success { background:var(--dtb-success-soft); border-color:var(--dtb-success); color:var(--dtb-success); }
.dtb-v2.pattern-system .dt-feedback-alert.error { background:var(--dtb-danger-soft); border-color:var(--dtb-danger); color:var(--dtb-danger); }
.dtb-v2.pattern-system .dt-feedback-filter > * { min-width:0; }
@media (max-width:1100px) { .dtb-v2.pattern-system .tools-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:800px) { .dtb-v2.pattern-system .tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) {
  .dtb-v2.pattern-system .main > :is(.hero-mini,.section,.dt-feedback-write,.dt-feedback-alert) { width:calc(100% - 32px); }
  .dtb-v2.pattern-system .hero-mini h1 { font-size:24px; }
  .dtb-v2.pattern-system .tools-grid { grid-template-columns:minmax(0,1fr); }
  .dtb-v2.pattern-system .dt-feedback-filter { grid-template-columns:minmax(0,1fr); }
}
