/* Favorites are separate buttons, never interactive controls nested in card links. */
.favorite-star{flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;max-width:100%;text-align:left}
.favorite-button:hover{border-color:var(--fern)}
.favorite-button[aria-pressed=true]{background:#fff04a;color:#202821;border-color:#958800}
.favorite-button[aria-pressed=true] .favorite-star{fill:currentColor}
.favorite-button:focus-visible{outline:3px solid var(--fern);outline-offset:3px}
.tool-card-shell{position:relative;display:flex;min-width:0}
.tool-card-shell>.tool-card{width:100%;height:100%}
.favorite-compact{position:absolute;top:15px;right:15px;width:44px;padding:0;z-index:1}
.tool-card-shell:has(.favorite-button:focus-visible)>.tool-card{border-color:var(--fern)}
.tool-card-shell>.tool-card:hover{transform:none}
.tool-favorite-action{margin:0 0 18px;min-height:44px}
html:not(.js) .tool-favorite-action{display:none}
.js .tool-favorite-action .favorite-button[hidden]{display:inline-flex!important;visibility:hidden}
.favorites-nav{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.favorites-nav .favorite-star{width:17px;height:17px}
.favorites-badge{display:inline-grid;place-items:center;width:34px;padding:2px 5px;border-radius:6px;background:var(--surface);border:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}
html:not(.js) .favorites-badge{display:none}
.favorites-note{max-width:850px;font-size:14px;line-height:1.8;color:var(--muted)}
.favorites-note a{text-decoration:underline;text-underline-offset:3px}
.favorites-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.favorites-toolbar h2{font-size:20px;margin:0}
.favorites-content{padding-top:12px}
.favorites-error{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;width:min(560px,calc(100% - 32px));padding:16px;border:2px solid var(--fern);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-size:15px;line-height:1.6}
.nav-links{gap:22px}
@media(min-width:761px) and (max-width:1060px){
  .header-inner{position:relative;gap:18px;flex-wrap:wrap}
  .nav-toggle{display:inline-flex;order:4;flex:none}
  .language-switcher{margin-left:auto}
  .theme-picker{order:3;margin-left:0}
  .js .nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 24px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:var(--shadow);z-index:25}
  .js .nav-links.is-open{display:flex}
  html:not(.js) .nav-links{order:5;flex-basis:100%;justify-content:center;margin:0}
  html:not(.js) .nav-toggle{display:none}
}
@media(max-width:760px){
  .catalogue-section .tool-card-shell>.tool-card{padding-right:66px}
  .catalogue-section .favorite-compact{top:14px;right:12px}
}
@media print{.favorite-button,.favorites-error{display:none!important}}
