@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.2
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
}

/*834px以下*/
@media screen and (max-width: 834px){
}

/*480px以下*/
@media screen and (max-width: 480px){
}

/* スマホ カテゴリナビ改善 2026-06-03（折り返し表示＋重複/外部リンク整理） */

/* ナビから非表示にする項目：
   ・menu-item-1017「Apple製品」（記事0件・「Apple・ガジェット」と重複）
   ・menu-item-1463「𝕏 フォロー」（カテゴリではなく外部リンク。記事下のフォローボタンに集約） */
#navi #menu-item-1017,
#navi #menu-item-1463 {
  display: none !important;
}

/* スマホ：横スクロールをやめ、1画面に折り返して全カテゴリを表示 */
@media screen and (max-width: 1023px) {
  #navi .navi-in > .menu-mobile {
    overflow-x: visible !important;
    white-space: normal !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 8px 6px !important;
    gap: 7px !important;
  }
  #navi .navi-in > .menu-mobile li {
    width: auto !important;
    flex: 0 0 auto !important;
    height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
  #navi .navi-in > .menu-mobile li a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 14px !important;
    border-radius: 20px !important;
    border: 1.5px solid rgba(255,255,255,0.65) !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    min-height: 36px !important;
    line-height: 1 !important;
  }
  #navi .navi-in > .menu-mobile .current-menu-item a,
  #navi .navi-in > .menu-mobile .current-page-item a {
    background: rgba(255,255,255,0.25) !important;
    border-color: rgba(255,255,255,1) !important;
    font-weight: bold !important;
  }
}
/* ===== 2026-08-17 メニューの見やすさ改善 ===== */

/* PC：メニュー項目を文字幅に合わせ、1行に収める */
#navi .navi-in > ul > li { width: auto; }
#navi .navi-in > ul > li > a { width: auto; padding: 0 15px; }

/* スマホ：カテゴリを横1行にして、はみ出す分は指で送れるように */
@media screen and (max-width: 1023px) {
  #navi .navi-in > .menu-mobile {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    justify-content: flex-start !important;
    padding: 0 8px !important;
  }
  #navi .navi-in > .menu-mobile::-webkit-scrollbar { display: none; }
  #navi .navi-in > .menu-mobile > li { flex: 0 0 auto !important; }
}

/* Triplet submenu controls 2026-10-05 */
#navi .ts-submenu { position: relative; }
#navi .ts-submenu > a { padding-right: 44px !important; }
#navi .ts-submenu > .ts-submenu-toggle {
  position: absolute; top: 0; right: 0;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 64px; padding: 0; margin: 0;
  border: 0; border-radius: 0; background: transparent;
  color: #fff; font: inherit; font-size: 22px; line-height: 1;
  cursor: pointer;
}
#navi .ts-submenu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
#navi .ts-submenu > .sub-menu { display: none !important; }
#navi .ts-submenu.ts-open > .sub-menu { display: block !important; }
#navi .ts-submenu-toggle[aria-expanded="true"] { transform: rotate(180deg); }
@media screen and (max-width: 1023px) {
  #navi .navi-in > .menu-mobile {
    flex-wrap: wrap !important; overflow: visible !important;
    white-space: normal !important; padding: 6px 8px !important;
    box-sizing: border-box; max-width: 100%;
  }
  #navi .navi-in > .menu-mobile > .ts-submenu > a { padding-right: 44px !important; }
  #navi .menu-mobile > li { max-width: 100%; box-sizing: border-box; }
  #navi .menu-mobile > .ts-submenu > .ts-submenu-toggle { height: 36px; width: 38px; }
  #navi .menu-mobile > .ts-submenu.ts-open { flex-basis: 100% !important; width: 100% !important; }
  #navi .menu-mobile > .ts-submenu > .sub-menu {
    position: static !important; width: 100% !important; max-width: 100%;
    min-width: 0; margin: 6px 0 0; padding: 0; white-space: normal;
    box-sizing: border-box;
  }
  #navi .menu-mobile > .ts-submenu > .sub-menu > li { width: 100% !important; max-width: 100%; }
  #navi .menu-mobile > .ts-submenu > .sub-menu > li > a {
    display: flex !important; width: 100%; box-sizing: border-box;
    white-space: normal !important; line-height: 1.5 !important;
    padding: 10px 14px !important; border-radius: 0 !important;
    overflow-wrap: anywhere; text-align: left;
  }
  #navi .menu-mobile .sub-menu .caption-wrap,
  #navi .menu-mobile .sub-menu .item-label { white-space: normal !important; min-width: 0; }
}
