/* Public taxonomy archive: scoped to avoid leaking styles into SWELL. */
body.tdb-taxonomy-archive {margin:0;background:#f4f9fb;color:#113b54;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",Meiryo,sans-serif;line-height:1.6;}
body.tdb-taxonomy-archive *,body.tdb-taxonomy-archive *::before,body.tdb-taxonomy-archive *::after {box-sizing:border-box;}
body.tdb-taxonomy-archive .tdb-tax-main {width:100%;max-width:none;margin:0;padding:30px 0 85px;background:#f4f9fb;}
.tdb-tax-shell {width:min(1180px,calc(100% - 36px));margin:0 auto;}
.tdb-tax-shell a {text-decoration:none;}
.tdb-tax-breadcrumb {display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#667f8b;font-size:12px;margin:0 0 17px;}
.tdb-tax-breadcrumb a {color:#087f9a;font-weight:700;}
.tdb-tax-intro {background:#fff;border:1px solid #dce9ed;border-radius:18px;padding:29px 33px;margin-bottom:21px;box-shadow:0 5px 20px #12384a08;}
.tdb-tax-eyebrow {margin:0 0 8px;color:#087f9a;font-weight:800;font-size:13px;}
.tdb-tax-intro h1 {margin:0 0 14px;font-size:clamp(24px,3.6vw,35px);line-height:1.36;letter-spacing:-.03em;color:#113b54;font-weight:850;}
.tdb-tax-description {font-size:15px;line-height:1.9;color:#3c5e6b;overflow-wrap:anywhere;}
.tdb-tax-description p {margin:0 0 12px;}
.tdb-tax-description a {color:#087f9a;text-decoration:underline;}
.tdb-tax-summary {color:#4a6c7b;margin:0;font-size:14px;}
.tdb-tax-count {margin:18px 0 0;font-size:14px;font-weight:800;color:#087f9a;}
.tdb-tax-related {background:#fff;border:1px solid #dce9ed;border-radius:16px;padding:18px 22px;margin:0 0 25px;}
.tdb-tax-related h2 {margin:0 0 13px;font-size:17px;color:#113b54;font-weight:800;}
.tdb-tax-related-links {display:flex;flex-wrap:wrap;gap:9px;}
.tdb-tax-related-links a {display:inline-flex;align-items:center;gap:8px;border:1px solid #b9dce5;background:#eef8fa;border-radius:30px;padding:7px 12px;color:#14617a;font-size:12px;font-weight:800;}
.tdb-tax-related-links a:hover,.tdb-tax-related-links a:focus-visible {background:#dff3f8;border-color:#69b5c8;}
.tdb-tax-related-links small {font-size:10px;color:#548091;}
.tdb-tax-results-heading {display:flex;justify-content:space-between;align-items:baseline;gap:13px;margin:0 0 15px;}
.tdb-tax-results-heading h2 {font-size:21px;line-height:1.4;letter-spacing:-.02em;font-weight:800;color:#113b54;margin:0;}
.tdb-tax-results-heading>span {color:#5c7683;font-size:12px;}
.tdb-tax-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.tdb-tax-card {min-width:0;min-height:190px;display:grid;grid-template-columns:180px minmax(0,1fr);overflow:hidden;border:1px solid #dce9ed;background:#fff;border-radius:14px;color:#113b54;transition:box-shadow .15s,border-color .15s;}
.tdb-tax-card:hover,.tdb-tax-card:focus-visible {box-shadow:0 9px 28px #204b631a;border-color:#a3d4e1;}
.tdb-tax-photo {position:relative;display:grid;place-items:center;min-height:190px;background:linear-gradient(145deg,#d7eaf0,#f2f8fa);color:#4597ae;font-size:42px;}
.tdb-tax-photo img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tdb-tax-card-body {display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:16px 16px 14px;}
.tdb-tax-boat-name {font-size:19px;line-height:1.38;font-weight:850;overflow-wrap:anywhere;color:#113b54;}
.tdb-tax-place {font-size:13px;color:#446575;font-weight:650;overflow-wrap:anywhere;}
.tdb-tax-chipline {display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;}
.tdb-tax-chiplabel {font-size:11px;font-weight:800;color:#587181;margin-right:3px;white-space:nowrap;}
.tdb-tax-chip {max-width:100%;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;background:#edf5f7;color:#3d6679;overflow-wrap:anywhere;}
.tdb-tax-method {background:#f5f5f0;color:#726d4b;}
.tdb-tax-more {font-size:11px;color:#587181;}
.tdb-tax-show-mobile {display:none;}
.tdb-tax-card-go {margin-top:auto;padding-top:4px;color:#087f9a;font-size:12px;font-weight:800;}
.tdb-tax-empty {background:#fff;border:1px solid #dce9ed;border-radius:14px;padding:30px 20px;color:#587181;}
.tdb-tax-empty a {color:#087f9a;font-weight:800;}
.tdb-tax-pages {margin:25px 0 0;padding:0;border:0;background:transparent;box-shadow:none;}
.tdb-tax-pagination {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:0;padding:0;background:transparent;}
.tdb-tax-pagination-item {display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:39px;padding:8px 12px;border:1px solid #dce9ed;border-radius:9px;background:#fff;color:#113b54;font-size:13px;line-height:1.4;font-weight:700;text-decoration:none;}
.tdb-tax-pagination-item:hover,.tdb-tax-pagination-item:focus-visible {border-color:#87bfce;background:#eef8fa;color:#087f9a;}
.tdb-tax-pagination-current,.tdb-tax-pagination-current:hover {background:#087f9a;color:#fff;border-color:#087f9a;}
.tdb-tax-pagination-ellipsis {display:inline-flex;justify-content:center;align-items:center;min-width:22px;min-height:39px;color:#587181;font-size:13px;}
.tdb-tax-bottom-link {text-align:center;margin:32px 0 0;}
.tdb-tax-bottom-link a {color:#087f9a;font-weight:800;font-size:14px;}
@media(max-width:940px) {
  .tdb-tax-cards {grid-template-columns:1fr;}
  .tdb-tax-card {grid-template-columns:190px minmax(0,1fr);}
}
@media(max-width:560px) {
  body.tdb-taxonomy-archive .tdb-tax-main {padding-top:18px;}
  .tdb-tax-shell {width:calc(100% - 28px);}
  .tdb-tax-intro {padding:21px 18px;border-radius:14px;}
  .tdb-tax-intro h1 {font-size:25px;}
  .tdb-tax-description {font-size:14px;}
  .tdb-tax-related {padding:15px;}
  .tdb-tax-results-heading h2 {font-size:18px;}
  .tdb-tax-results-heading>span {font-size:11px;}
  .tdb-tax-cards {gap:10px;}
  .tdb-tax-card {grid-template-columns:37% minmax(0,1fr);min-height:144px;}
  .tdb-tax-photo {min-height:144px;font-size:29px;}
  .tdb-tax-card-body {padding:11px;gap:5px;}
  .tdb-tax-boat-name {font-size:16px;}
  .tdb-tax-place {font-size:12px;}
  .tdb-tax-chiplabel {font-size:10px;}
  .tdb-tax-chipline {gap:4px;}
  .tdb-tax-chip {font-size:10px;padding:1px 5px;}
  .tdb-tax-hide-mobile {display:none;}
  .tdb-tax-show-mobile {display:inline;}
}
@media(max-width:340px) {
  .tdb-tax-card {grid-template-columns:33% minmax(0,1fr);}
  .tdb-tax-photo {min-height:150px;}
  .tdb-tax-card-body {padding:9px;}
}
