/* search.css — 検索結果（担当: search404）。値は _design の検索結果（mobile 430 / pc 1200+）の inline から移した */

/* ---- 上部（検索窓・件数・並び替え・チップ） ---- */
.ts-search__top{background:var(--ts-bg);padding-bottom:12px}
.ts-search__top .ts-container{display:flex;flex-direction:column}
.ts-search__inner{display:contents}
.ts-search__form{order:1;padding:10px 0 10px}
.ts-search__crumb{order:2;display:flex;align-items:center;gap:8px;padding:11px 0 4px;font-size:11px;letter-spacing:.06em;color:var(--ts-muted);white-space:nowrap;line-height:1.6}
.ts-search__crumb a{color:var(--ts-muted)}
.ts-search__crumb a:hover{color:var(--ts-green)}
.ts-search__crumb-here{font-weight:700;color:var(--ts-ink)}
.ts-search__status{order:3;padding-top:6px}
.ts-search__cats-wrap{order:4}

.ts-search__box{display:flex;align-items:center;gap:8px;background:var(--ts-white);border:2px solid var(--ts-ink);border-radius:var(--ts-radius-pill);padding:6px 6px 6px 16px}
.ts-search__box:focus-within{outline:3px solid var(--ts-green);outline-offset:2px}
.ts-search__glass{font-size:20px;color:var(--ts-micro);line-height:1}
.ts-search__input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-family:inherit;font-size:15px;font-weight:700;color:var(--ts-ink);padding:10px 0;line-height:1.4;-webkit-appearance:none;appearance:none}
.ts-search__input::-webkit-search-cancel-button,.ts-search__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.ts-search__clear{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--ts-bg);color:var(--ts-ink);font-size:16px;line-height:1;padding:0}
.ts-search__clear[hidden]{display:none}
.ts-search__submit{display:none}

.ts-search__count{margin:0;font-size:14px;line-height:1.7;letter-spacing:.02em}
.ts-search__word{font-size:16px;font-weight:700}
.ts-search__num{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:22px;color:var(--ts-green)}
.ts-search__sort{display:flex;gap:6px;padding:5px;background:var(--ts-white);border-radius:var(--ts-radius-pill);margin-top:12px}
.ts-search__sort-btn{flex:1;display:flex;align-items:center;justify-content:center;border-radius:var(--ts-radius-pill);padding:11px 10px;min-height:44px;font-size:12.5px;font-weight:900;line-height:1.4;color:var(--ts-ink);background:transparent}
.ts-search__sort-btn:hover{color:var(--ts-green)}
.ts-search__sort-btn[aria-current]{background:var(--ts-ink);color:var(--ts-white)}

.ts-search__cats-wrap{margin:14px calc(-1 * var(--ts-gutter)) 0;padding:2px var(--ts-gutter) 6px}
.ts-search__cats-label{display:none}
.ts-search__cats{display:flex;gap:8px}
.ts-search__chip{flex:none;display:inline-flex;align-items:center;border:1px solid var(--ts-line);border-radius:var(--ts-radius-pill);padding:10px 17px;min-height:44px;font-size:12.5px;font-weight:900;line-height:1.4;white-space:nowrap;background:var(--ts-white);color:var(--ts-ink)}
.ts-search__chip:hover{color:var(--ts-green)}
.ts-search__chip[aria-current]{background:var(--ts-ink);border-color:var(--ts-ink);color:var(--ts-white)}

/* ---- 結果 ---- */
.ts-search__results{background:var(--ts-white);border-radius:40px 40px 0 0;padding:28px 0 0}
.ts-search__list{display:flex;flex-direction:column;gap:14px}

.ts-search-card{background:var(--ts-bg);border-radius:18px;overflow:hidden}
/* shell.css の .ts-card--row（横並び・120×80）より強くして、モバイルはデザインどおり縦積みにする */
.ts-search-card.ts-card--row .ts-card__link{display:block;gap:0;color:var(--ts-ink)}
.ts-search-card.ts-card--row .ts-card__link:hover{color:var(--ts-ink);filter:brightness(1.02)}
.ts-search-card.ts-card--row .ts-card__thumb{display:block;width:auto;height:150px;border-radius:0;background:var(--ts-line-pale)}
.ts-search-card.ts-card--row .ts-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ts-search-card.ts-card--row .ts-card__body{display:block;padding:14px 16px 18px}
.ts-search-card__head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ts-search-card__cat{border-radius:var(--ts-radius-pill);padding:5px 11px;font-size:10px;font-weight:900;line-height:1.2;color:var(--ts-white);background:var(--ts-green);white-space:nowrap}
.ts-search-card__cat--bluegray{background:var(--ts-bluegray)}
.ts-search-card__cat--red{background:var(--ts-red)}
.ts-search-card__date{font-family:var(--ts-font-mono);font-size:10px;font-weight:400;color:var(--ts-muted);line-height:1.4}
.ts-search-card.ts-card--row .ts-card__title{display:block;font-size:16px;font-weight:900;line-height:1.7;color:var(--ts-ink)}
.ts-search-card__excerpt{display:block;margin-top:8px;font-size:12.5px;font-weight:500;line-height:1.9;color:var(--ts-ink-2)}
.ts-mark{background:var(--ts-yellow);color:var(--ts-ink)}

/* 0 件 */
.ts-search-empty{text-align:center;padding:20px 10px 6px}
.ts-search-empty__icon{display:block;width:110px;height:110px;margin:0 auto}
.ts-search-empty__title{margin:0;font-size:16px;font-weight:900;line-height:1.7}
.ts-search-empty__lead{margin:8px 0 16px;font-size:12.5px;line-height:1.9;color:var(--ts-muted)}
.ts-search-empty__cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ts-yellow);color:var(--ts-ink);border-radius:var(--ts-radius-pill);padding:10px;min-height:56px;font-size:14px;font-weight:900}
.ts-search-empty__cta:hover{color:var(--ts-ink);filter:brightness(1.04)}

/* 手紙のアイコン（静止 SVG） */
.ts-search-letter{display:block}
.ts-search-letter__body{fill:var(--ts-white);stroke:var(--ts-ink);stroke-width:2.5}
.ts-search-letter__flap,.ts-search-letter__fold{fill:none;stroke:var(--ts-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ts-search-letter__seal{fill:var(--ts-red)}

/* ページ送り */
.ts-search-pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:26px;flex-wrap:wrap}
.ts-search-pager .page-numbers{width:44px;height:44px;border-radius:50%;background:var(--ts-bg);color:var(--ts-ink);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}
.ts-search-pager .page-numbers:hover{color:var(--ts-green)}
.ts-search-pager .page-numbers.current{background:var(--ts-ink);color:var(--ts-white);font-weight:900}
.ts-search-pager .page-numbers.dots{background:transparent;width:auto}
.ts-search-pager .page-numbers.next{background:var(--ts-yellow);font-size:15px}
.ts-search-pager .page-numbers.next:hover{color:var(--ts-ink);filter:brightness(1.04)}
.ts-search-pager__label{display:none}

/* ---- 探し方（モバイルは結果の下・PC はサイドバー） ---- */
.ts-search-side{background:var(--ts-bg);border-radius:40px 40px 0 0;margin:18px calc(-1 * var(--ts-gutter)) 0;padding:30px var(--ts-gutter) 34px}
.ts-search-side__block{margin:0}
.ts-search-side__title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:17px;font-weight:900;line-height:1.5}
.ts-search-side__title::before{content:"";width:5px;height:20px;flex:none;border-radius:3px;background:var(--ts-green)}
.ts-search-side__words{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ts-search-side__word{display:inline-flex;align-items:center;background:var(--ts-white);border-radius:var(--ts-radius-pill);padding:11px 17px;min-height:44px;font-size:12.5px;font-weight:700;line-height:1.4;color:var(--ts-ink)}
.ts-search-side__cats{display:flex;flex-direction:column;gap:2px;margin-bottom:22px}
.ts-search-side__cat{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid var(--ts-line);font-size:15px;font-weight:700;line-height:1.5;color:var(--ts-ink)}
.ts-search-side__pre{display:none;margin-right:.3em}
.ts-search-side__post{color:var(--ts-green)}
.ts-search-side__request{display:flex;align-items:center;gap:14px;background:var(--ts-yellow);border-radius:var(--ts-radius-card);padding:18px;color:var(--ts-ink)}
.ts-search-side__request:hover{color:var(--ts-ink);filter:brightness(1.04)}
.ts-search-side__letter{width:54px;height:54px;flex:none}
.ts-search-side__request-text{flex:1;min-width:0}
.ts-search-side__request-title{display:block;font-size:16px;font-weight:900;line-height:1.6}
.ts-search-side__request-lead{display:block;margin-top:5px;font-size:12px;font-weight:500;line-height:1.8}
.ts-search-side__request-lead--pc{display:none}
.ts-search-side__request-arrow{width:38px;height:38px;flex:none;border-radius:50%;background:var(--ts-ink);color:var(--ts-white);display:flex;align-items:center;justify-content:center;font-size:15px}
.ts-search-side__ad{margin-top:22px}
.ts-search-side__ad .ts-ad{margin:0}

/* ---- 768px〜（PC を縮めた形） ---- */
@media (min-width:768px){
  .ts-search__top{padding:16px 0 32px}
  .ts-search__top .ts-container{display:block}
  .ts-search__inner{display:block;max-width:1000px;margin:0 auto}
  .ts-search__crumb{padding:0;margin-bottom:18px;gap:12px;font-size:12px;letter-spacing:.08em}
  .ts-search__form{padding:0}
  .ts-search__box{gap:14px;padding:8px 8px 8px 26px}
  .ts-search__glass{font-size:18px}
  .ts-search__input{font-size:19px;padding:8px 0}
  .ts-search__submit{display:inline-flex;align-items:center;gap:10px;flex:none;border:0;background:var(--ts-ink);color:var(--ts-white);border-radius:var(--ts-radius-pill);padding:14px 32px;font-size:14px;font-weight:900;line-height:1.4}
  .ts-search__submit:hover{background:var(--ts-ink-2)}
  .ts-search__status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:0}
  .ts-search__count{font-size:16px;letter-spacing:.04em}
  .ts-search__word{font-size:20px}
  .ts-search__num{font-size:24px}
  .ts-search__sort{margin:0;gap:8px;flex:none}
  .ts-search__sort-btn{flex:none;min-height:0;padding:9px 20px;font-size:12px;font-weight:700}
  .ts-search__sort-btn[aria-current]{font-weight:900}
  .ts-search__cats-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding:0}
  .ts-search__cats-label{display:block;font-size:13px;font-weight:900}
  .ts-search__cats{flex-wrap:wrap;gap:12px;overflow:visible}
  .ts-search__chip{min-height:0;padding:9px 18px;font-size:12px;font-weight:700}
  .ts-search__chip[aria-current]{font-weight:900}

  .ts-search__results{border-radius:50% 50% 0 0 / 60px 42px 0 0;padding:52px 0 84px}
  .ts-search__list{gap:22px}
  .ts-search-card.ts-card--row .ts-card__link{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;padding:0 26px 0 0}
  .ts-search-card.ts-card--row .ts-card__thumb{height:158px;align-self:stretch}
  .ts-search-card.ts-card--row .ts-card__body{padding:20px 0}
  .ts-search-card__head{gap:10px;margin-bottom:10px}
  .ts-search-card__cat{padding:5px 12px}
  .ts-search-card.ts-card--row .ts-card__title{font-size:19px}
  .ts-search-card__excerpt{font-size:15px;line-height:1.9}

  .ts-search-pager{gap:12px;margin-top:28px}
  .ts-search-pager .page-numbers{width:46px;height:46px;font-size:15px}
  .ts-search-pager .page-numbers.next,.ts-search-pager .page-numbers.prev{width:auto;height:auto;border-radius:var(--ts-radius-pill);padding:13px 28px;font-size:13px;font-weight:900;display:inline-flex;gap:10px}
  .ts-search-pager .page-numbers.next{margin-left:16px}
  .ts-search-pager .page-numbers.prev{margin-right:16px}
  .ts-search-pager__label{display:inline}

  .ts-search-side{background:transparent;border-radius:0;margin:48px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
  .ts-search-side__block{background:var(--ts-bg);border-radius:var(--ts-radius-card);padding:26px 24px}
  .ts-search-side__title{gap:12px;margin:0 0 16px;font-size:19px}
  .ts-search-side__title::before{width:6px}
  .ts-search-side__words{gap:9px;margin:0}
  .ts-search-side__word{min-height:0;padding:8px 16px;font-size:12px}
  .ts-search-side__cats{gap:12px;margin:0;font-size:14px}
  .ts-search-side__cat{justify-content:flex-start;padding:0;border:0;font-size:14px;line-height:1.6}
  .ts-search-side__pre{display:inline}
  .ts-search-side__post{display:none}
  .ts-search-side__request{flex-direction:column;align-items:center;text-align:center;padding:28px 24px;gap:0}
  .ts-search-side__letter{width:80px;height:80px;margin-bottom:12px}
  .ts-search-side__request-title{font-size:19px;letter-spacing:.04em}
  .ts-search-side__request-lead{margin-top:10px;font-size:14px;font-weight:700}
  .ts-search-side__request-lead--m{display:none}
  .ts-search-side__request-lead--pc{display:block}
  .ts-search-side__request-arrow{display:none}
  .ts-search-side__ad{margin:0}
}

/* ---- 1200px〜（PC のデザインを再現。本文 + 280px サイドバー） ---- */
@media (min-width:1200px){
  .ts-search__grid{max-width:1160px;padding:0 40px;display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:start}
  .ts-search-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:22px;margin:0}
}
