.kdb .footer-links a {
  border: 0;
  background: none;
  padding: 4px 0;
  font-size: 11px;
}

.kdb-contact-form {
  max-width: 760px;
  margin: 28px 0;
  padding: 24px;
  border: 1px solid #dce3d9;
  border-radius: 12px;
  background: #f8faf5;
}

.kdb-contact-form p {
  margin: 0 0 18px;
}

.kdb-contact-form label {
  display: block;
  font-weight: 700;
}

.kdb-contact-form input[type="text"],
.kdb-contact-form input[type="email"],
.kdb-contact-form select,
.kdb-contact-form textarea {
  width: 100%;
  margin-top: 7px;
  padding: 11px 12px;
  border: 1px solid #b9c5ba;
  border-radius: 7px;
  background: #fff;
  font: inherit;
}

.kdb-contact-form textarea {
  resize: vertical;
}

.kdb-contact-form .kdb-contact-consent label {
  font-weight: 400;
}

.kdb-contact-form .kdb-contact-consent input {
  margin-right: 6px;
}

.kdb-contact-form button {
  min-width: 150px;
  padding: 11px 18px;
  border: 0;
  border-radius: 7px;
  background: #17382e;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.kdb-contact-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.kdb-contact-message {
  max-width: 760px;
  margin: 20px 0;
  padding: 14px 16px;
  border-radius: 8px;
}

.kdb-contact-success {
  border: 1px solid #8dbb91;
  background: #edf8ee;
}

.kdb-contact-error {
  border: 1px solid #d29a9a;
  background: #fff1f1;
}

@media (max-width: 560px) {
  .kdb-contact-form {
    padding: 18px 14px;
  }

  .kdb-contact-form input[type="text"],
  .kdb-contact-form input[type="email"],
  .kdb-contact-form select,
  .kdb-contact-form textarea {
    font-size: 16px;
  }
}
.kdb-search-guide{margin:3rem 0 1rem;padding:1.5rem;border:1px solid #d9ded9;border-radius:16px;background:#fff;color:#26332d;line-height:1.75}
.kdb-search-guide h2{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.4;margin:0 0 1rem}
.kdb-search-guide h3{font-size:1.05rem;line-height:1.45;margin:1.3rem 0 .4rem}
.kdb-search-guide p{margin:.35rem 0 .8rem}
.kdb-search-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}
.kdb-search-guide-grid section{padding:0 1rem 0 0;border-left:3px solid #dce9df;padding-left:1rem}
@media(max-width:640px){.kdb-search-guide{padding:1rem;margin-top:2rem}.kdb-search-guide-grid{grid-template-columns:1fr;gap:.25rem}}

/* v0.12: crawlable category guides and resilient mobile cards */
.kdb [hidden]{display:none!important}
.kdb-search-guide,.kdb-directory{background:#fff;border:1px solid #dce3df;border-radius:16px;padding:24px;margin:28px 0;line-height:1.85}
.kdb-search-guide h2,.kdb-directory h2{font-size:clamp(20px,3vw,26px);line-height:1.5;margin:0 0 16px}
.kdb-search-guide h3,.kdb-directory h3{font-size:18px;margin:24px 0 8px}
.kdb-search-guide p{margin:12px 0}.kdb-calculation-example{background:#f0f6f2;padding:16px;border-radius:10px}
.kdb-directory-links{display:flex;flex-wrap:wrap;gap:10px}.kdb-directory-links a{padding:9px 13px;border:1px solid #dce3df;border-radius:8px;text-decoration:none}
.kdb-server-list{padding-left:26px}.kdb-server-list>li{padding:12px 0;border-bottom:1px solid #dce3df}.kdb-server-list h4{margin:0}
.kdb .rank,.kdb .product-rank{white-space:nowrap;word-break:normal;flex-shrink:0}
.kdb .retailer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.kdb .retailer-links>*{min-width:0;overflow-wrap:anywhere}.kdb .retailer-links .affiliate-code a{display:block;max-width:100%;white-space:normal}
.kdb .product-image img{max-width:100%;height:auto;object-fit:contain}.kdb .product-image img[width="1"][height="1"]{width:1px;height:1px}
.kdb a:focus-visible,.kdb button:focus-visible{outline:3px solid #167644;outline-offset:3px}
@media(max-width:560px){.kdb-search-guide,.kdb-directory{padding:18px}.kdb .retailer-links{gap:6px}.kdb .retailer-link,.kdb .retailer-links .affiliate-code{padding:10px 5px;font-size:12px}.kdb .retailer-links em{font-size:10px;white-space:normal}.kdb .product-brand,.kdb .product-identity h3{font-size:16px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.kdb *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.kdb .retailer-link.cheapest::after{content:none}
.kdb .product-rank{align-self:start}

/* ---------- v0.15.0: home/gym filter, exercise pages, tools, guides ---------- */
.kdb .equip-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.kdb .equip-filter>span{font-size:12px;font-weight:800;color:var(--muted);margin-right:4px}
.kdb .equip-filter button{padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;background:#fff}
.kdb .equip-filter button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.kdb .equip-note{font-size:11.5px;color:var(--muted);margin:4px 0 12px}
.kdb .card-equip,.kdb .equip-chips{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 0;padding:0}
.kdb .card-equip li,.kdb .equip-chips li{font-size:11px;line-height:1.4;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#44574c}
.kdb .equip-chips a{text-decoration:underline;text-underline-offset:3px}
.kdb .setting-badge{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;border:0}
.kdb .setting-badge.home,.kdb .card-equip li.setting-badge.home{background:#e4f3c4;color:#2f5a1d}
.kdb .setting-badge.gym,.kdb .card-equip li.setting-badge.gym{background:#dfe8f4;color:#23456b}
.kdb .card-equip li.fig-badge{background:#fff6dc;border-color:#ecd9a0;color:#6f5413}
.kdb .card-title a{text-decoration:none}
.kdb .card-title a:hover{text-decoration:underline}
.kdb .card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kdb .card-actions a{font-size:12px;font-weight:800;padding:8px 12px;border-radius:8px;background:var(--ink);color:#fff}
.kdb .card-actions a:hover{color:var(--lime)}
.kdb .article-view{margin:28px 0}
.kdb .kdb-article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 32px;line-height:1.85}
.kdb .kdb-article h2{font-size:20px;margin:30px 0 12px;padding-top:6px;border-top:1px solid var(--line)}
.kdb .kdb-article h2:first-child{border-top:0;margin-top:0}
.kdb .kdb-article h3{font-size:16px;margin:20px 0 8px}
.kdb .kdb-article h4{font-size:14px;margin:14px 0 6px}
.kdb .kdb-article p{margin:0 0 10px}
.kdb .kdb-article ul,.kdb .kdb-article ol{margin:0 0 12px;padding-left:1.4em}
.kdb .kdb-article a{text-decoration:underline;text-underline-offset:3px}
.kdb .kdb-article sup a{text-decoration:none;font-size:11px;color:#3b6e8f}
.kdb .kdb-lead{font-size:15.5px}
.kdb .kdb-muted{font-size:12px;color:var(--muted)}
.kdb .kdb-sources{font-size:12px;color:#44574c;word-break:break-word}
.kdb .kdb-button,.kdb .kdb-article a.kdb-button{display:inline-block;background:var(--ink);color:#fff;padding:11px 18px;border-radius:10px;font-weight:800;text-decoration:none}
.kdb .kdb-button:hover{color:var(--lime)}
.kdb .kdb-cta{background:#f2f7e6;border:1px solid #d8e7b8;border-radius:14px;padding:18px 20px;margin:26px 0 14px}
.kdb .kdb-cta h2{border:0;margin:0 0 6px;font-size:17px;padding:0}
.kdb .kdb-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 18px}
.kdb .kdb-toc a{display:block;font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none!important}
.kdb .motion-figures{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:8px 0}
.kdb .motion-figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.kdb .motion-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
.kdb .motion-figure figcaption{font-size:12.5px;font-weight:700;padding:8px 10px;border-top:1px solid var(--line)}
.kdb .motion-figure figcaption b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;margin-right:6px}
.kdb .modal-figures{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.kdb .exercise-summary{margin-bottom:10px}
.kdb .exercise-summary h2{border:0;margin:10px 0 4px;font-size:15px;padding:0}
.kdb .exercise-score{border-top:1px solid var(--line);margin-top:22px}
.kdb .exercise-score-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:8px 0 10px}
.kdb .score-big{background:var(--ink);color:#fff;border-radius:14px;padding:12px 18px;min-width:150px}
.kdb .score-big span{display:block;font-size:11px;letter-spacing:.1em;color:var(--lime)}
.kdb .score-big strong{font-size:34px;line-height:1.1}
.kdb .score-big small{font-size:13px;color:#cfe0d4}
.kdb .exercise-rank{list-style:none;padding:0;margin:0;font-size:13.5px}
.kdb .factor-table,.kdb .program-table,.kdb .research-table{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 14px}
.kdb .factor-table th,.kdb .factor-table td,.kdb .program-table th,.kdb .program-table td,.kdb .research-table th,.kdb .research-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.kdb .factor-table td{width:110px;font-weight:800;text-align:right}
.kdb .program-table thead th,.kdb .research-table thead th{background:#f3f6ee;font-size:12px}
.kdb .research-table tbody th{width:180px;background:#fbfcf8}
.kdb .alt-list{list-style:none;padding:0!important}
.kdb .alt-list li{padding:6px 0;border-bottom:1px dashed var(--line)}
.kdb .alt-list span{font-size:12px;color:var(--muted);margin-left:6px}
.kdb .glossary dt{font-weight:800;margin-top:12px}
.kdb .glossary dd{margin:2px 0 0 0;padding-left:12px;border-left:3px solid var(--lime)}
.kdb .gear-section{border-top:1px dashed var(--line);padding-top:6px;scroll-margin-top:20px}
.kdb .gear-slot .gear-grid{margin-top:8px}
.kdb .retailer-official{background:#34495e!important;color:#fff!important;border-color:#34495e!important}
.kdb .retailer-pending{margin:8px 0}
.kdb .protein-calc{background:#f6f9ef;border:1px solid #dbe8c3;border-radius:14px;padding:18px 20px;margin-bottom:18px}
.kdb .calc-row{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,220px) auto;gap:10px;align-items:center;margin-bottom:10px}
.kdb .calc-row label{font-weight:800;font-size:13px}
.kdb .calc-row input,.kdb .calc-row select{padding:9px 10px;width:100%}
.kdb .calc-row select{grid-column:span 2}
.kdb .calc-result{display:block;margin-top:8px;background:#fff;border-radius:12px;padding:14px 16px;border:1px solid var(--line)}
.kdb .calc-main span{display:block;font-size:12px;font-weight:800;color:var(--muted)}
.kdb .calc-main strong{font-size:38px;line-height:1.15}
.kdb .calc-main small{font-size:16px;margin-left:2px}
.kdb .calc-basis{font-size:14px}
.kdb .calc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:10px 0}
.kdb .calc-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.kdb .calc-card h3{font-size:14.5px;margin:4px 0 0}
.kdb .calc-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}
.kdb .calc-card dt{font-size:10.5px;color:var(--muted)}
.kdb .calc-card dd{margin:0;font-weight:800;font-size:15px}
.kdb .kdb-page-links{font-size:12.5px;margin:18px 0}
@media (max-width:760px){
  .kdb .kdb-article{padding:18px 16px;border-radius:12px}
  .kdb .calc-row{grid-template-columns:1fr auto}
  .kdb .calc-row label{grid-column:1/-1}
  .kdb .calc-row select{grid-column:1/-1}
  .kdb .research-table tbody th{width:auto}
  .kdb .program-table{font-size:12.5px}
  .kdb .program-table th:nth-child(3),.kdb .program-table td:nth-child(3){display:none}
  .kdb .equip-filter button{font-size:12px;padding:7px 11px}
  .kdb .card-actions a{padding:7px 10px}
  .kdb .motion-figures{grid-template-columns:1fr}
}
.kdb .kdb-article .equip-chips{padding:0;margin:6px 0}
.kdb .calc-card .retailer-links{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.kdb .calc-card .retailer-links>*{width:100%!important;max-width:none!important;min-height:0!important}
.kdb .gear-card .retailer-links{flex-wrap:wrap}

/* ---------- v0.15.1 ---------- */
.kdb .tab .cat-icon,.kdb .tab-with-icon .cat-icon{width:40px!important;height:40px!important;min-width:40px;display:inline-block;vertical-align:middle;margin-right:6px;flex-shrink:0}
.kdb .product-tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:2px}
.kdb .calc-step{display:flex;align-items:center;gap:10px;font-size:19px!important;margin:18px 0 10px!important;border:0!important;padding:0!important}
.kdb .calc-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:14px}
.kdb .calc-row select{grid-column:span 2}
.kdb .food-estimator{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:6px 0 12px}
.kdb .food-table{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 10px}
.kdb .food-table th,.kdb .food-table td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left}
.kdb .food-table td:nth-child(2){white-space:nowrap;font-weight:700}
.kdb .food-table input{width:72px;padding:6px 8px}
.kdb .calc-gap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}
.kdb .calc-gap-grid div{background:#f6f9ef;border-radius:10px;padding:8px 10px;text-align:center}
.kdb .calc-gap-grid span{display:block;font-size:12px;color:var(--muted);font-weight:700}
.kdb .calc-gap-grid b{font-size:24px}
.kdb .calc-gap-grid .gap{background:var(--ink);color:#fff}
.kdb .calc-gap-grid .gap span{color:var(--lime)}
.kdb .calc-card-head{display:flex;align-items:center;gap:10px}
.kdb .calc-card-head .cat-icon{width:44px;height:44px}
.kdb .calc-cat{font-size:20px!important;font-weight:900!important;margin:0!important;line-height:1.3}
.kdb .calc-rank{font-size:12px;font-weight:800;color:#6f5413;background:#fff6dc;border-radius:999px;padding:2px 8px}
.kdb .type-link{display:inline-block;margin:6px 0;font-size:13px;font-weight:800}
.kdb .calc-product{font-weight:700;margin:6px 0 0!important}
.kdb .protein-types{background:#f7f9fc;border:1px solid #dbe4ee;border-radius:14px;padding:16px 18px;margin:20px 0;scroll-margin-top:20px}
.kdb .protein-types h2{border:0!important;margin-top:0!important;padding:0!important}
.kdb .protein-types dt{font-weight:900;font-size:16px;margin-top:10px}
.kdb .protein-types dd{margin:2px 0 0;padding-left:12px;border-left:3px solid #9bb7d4}
.kdb .reason-list li b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#eef3e6;color:var(--ink);font-size:11px;margin-right:6px}
.kdb .alt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.kdb .alt-grid .alt-card{border:1px solid var(--line)!important;border-radius:12px;padding:8px!important;background:#fff}
.kdb .alt-card a{display:block;text-decoration:none!important}
.kdb .alt-card img,.kdb .alt-noimg{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f7f8f5;border-radius:8px}
.kdb .alt-noimg{display:grid;place-items:center;font-size:12px;color:var(--muted)}
.kdb .alt-name{display:block;font-size:13px;font-weight:700;margin-top:6px;text-decoration:underline;text-underline-offset:3px}
.kdb .alt-meta{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.kdb .research-item{border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:14px 0;background:#fcfdf9}
.kdb .research-item h2{border:0!important;margin:0 0 8px!important;padding:0!important}
.kdb .kdb-legal-note{background:#fff7e6;border:1px solid #f0d9a8;border-radius:12px;padding:10px 14px;font-size:13px;margin:8px 0 14px}
.kdb .gear-price{margin:4px 0!important}
.kdb .gear-price b{font-size:18px}
.kdb .gear-price span,.kdb .gear-shop{font-size:12px;color:var(--muted)}
@media (max-width:760px){
  .kdb .calc-gap-grid b{font-size:20px}
  .kdb .alt-grid{grid-template-columns:repeat(2,1fr)}
  .kdb .product-tabs .tab{flex-direction:column;font-size:12px}
  .kdb .tab .cat-icon{margin:0 0 2px}
}
.kdb .gear-card .retailer-links{display:flex!important;flex-direction:column;align-items:stretch;gap:8px}
.kdb .gear-card .retailer-links>*{width:100%!important;max-width:none!important;min-height:0!important}
.kdb .gear-card>div{min-width:0}
.kdb .gear-card h3,.kdb .calc-product,.kdb .product-identity h3{overflow-wrap:anywhere;word-break:break-word}
