/* =========================
   検索窓（検索結果ページ用：スマホ/PC両対応）
   ========================= */

/* ▼スマホ（&#12316;767px） */
@media screen and (max-width: 767px){
  .hobis-search-box{
    padding: 0 14px !important;
    margin: 28px auto !important;
    max-width: 100% !important;
  }
  .hobis-search-form{
    display: flex !important;
    width: 100% !important;
    align-items: stretch !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.08) !important;
  }
  .hobis-search-input{
    flex: 1 1 auto !important;
    height: 56px !important;
    padding: 0 14px 0 16px !important;
    font-size: 16px !important;           /* iOSズーム防止 */
    line-height: 1 !important;

    background: #fff !important;
    border: 1px solid #ddd !important;     /* 破線→実線 */
    border-right: 0 !important;            /* ボタンと一体化 */
    border-radius: 14px 0 0 14px !important;

    outline: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
  }
  .hobis-search-input::placeholder{ color: #9aa0a6 !important; }

  .hobis-search-button{
    height: 56px !important;
    min-width: 56px !important;
    padding: 0 16px !important;

    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 0 14px 14px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transition: transform .04s ease, background .2s ease !important;
  }
  .hobis-search-button img{
    width: 22px !important;
    height: 22px !important;
    filter: invert(1) !important;
    opacity: .95 !important;
  }

  .hobis-search-input:focus{
    border-color: #4c8df6 !important;
    box-shadow: 0 0 0 3px rgba(76,141,246,.25) !important;
  }
  .hobis-search-button:active{ transform: translateY(1px) !important; }
}

/* ▼PC（768px&#12316;）：表示ON＋体裁調整 */
@media screen and (min-width: 768px){
  .hobis-search-box{
    display: block !important;           /* ← PCでも表示 */
    max-width: 720px !important;         /* 中央寄せ幅 */
    margin: 32px auto !important;
    padding: 0 16px !important;
  }
  .hobis-search-form{
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;

    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.06) !important;
  }
  .hobis-search-input{
    flex: 1 1 auto !important;
    height: 48px !important;             /* PCは少し低め */
    padding: 0 16px !important;
    font-size: 16px !important;
    line-height: 1 !important;

    background: #fff !important;
    border: 1px solid #ddd !important;
    border-right: 0 !important;
    border-radius: 14px 0 0 14px !important;

    outline: none !important;
    box-sizing: border-box !important;
  }
  .hobis-search-input::placeholder{ color: #9aa0a6 !important; }

  .hobis-search-button{
    height: 48px !important;
    min-width: 56px !important;
    padding: 0 16px !important;

    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 0 14px 14px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform .04s ease, background .2s ease !important;
  }
  .hobis-search-button img{
    width: 20px !important; height: 20px !important;
    filter: invert(1) !important; opacity: .95 !important;
  }

  .hobis-search-input:focus{
    border-color:#4c8df6 !important;
    box-shadow: 0 0 0 3px rgba(76,141,246,.2) !important;
  }
  .hobis-search-button:active{ transform: translateY(1px) !important; }

  /* 横幅をもっと広げたいとき */
  @media (min-width: 1200px){
    .hobis-search-box{ max-width: 840px !important; }
  }
}

/* ▼ダークモード：入力文字を白に（強制） */
@media (prefers-color-scheme: dark){
  .hobis-search-form{
    background: #1f1f1f !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.4) !important;
  }
  .hobis-search-input,
  .hobis-search-input:focus,
  .hobis-search-input:active{
    background: #1f1f1f !important;
    color:#fff !important;                 /* ← 入力文字を白 */
    caret-color:#fff !important;
    border-color:#333 !important;
  }
  .hobis-search-input::placeholder{
    color: #7d7d7d !important;
  }
  .hobis-search-button{
    background:#2b2b2b !important;
    border-color:#2b2b2b !important;
  }

  /* Chrome/Safari オートフィルで文字色が戻る対策 */
  input.hobis-search-input:-webkit-autofill,
  input.hobis-search-input:-webkit-autofill:hover,
  input.hobis-search-input:-webkit-autofill:focus{
    -webkit-text-fill-color:#fff !important;
    caret-color:#fff !important;
    transition: background-color 9999s ease-in-out 0s !important;
  }
}