/* 2階層アコーディオン対応CSS - デザイン調整版（スコープ付き） */

/* ===== 共通スタイル ===== */

/* フィルター全体のコンテナ */
.wp-block-column:has(.search-filter-base) {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

/* 各フィルター項目 */
.wp-block-column .search-filter-base {
  border-bottom: none !important;
  overflow: visible !important;
  margin-bottom: 15px !important;
}

/* キーワード検索と地域はアコーディオンなし */
.wp-block-column .search-filter-base.no-accordion {
  border-bottom: none !important;
}

.wp-block-column .search-filter-base.no-accordion [id^="search-filter-label-"] {
  background: transparent !important;
  cursor: default !important;
  padding: 15px !important;
}

.wp-block-column .search-filter-base.no-accordion [id^="search-filter-label-"]::after {
  display: none !important;
}

.wp-block-column .search-filter-base.no-accordion [id^="search-filter-input-"] {
  max-height: none !important;
  opacity: 1 !important;
  padding: 0 15px 15px 15px !important;
}

/* ===== 親アコーディオン（教育分野、就きたい仕事など） ===== */

/* 親アコーディオンのラベル（見出し） */
.wp-block-column .search-filter-base:not(.no-accordion) [id^="search-filter-label-"].accordion-title {
  position: relative !important;
  margin: 0 0 10px 0 !important;
  padding: 20px 60px 20px 25px !important;
  cursor: pointer !important;
  background: #e7e2db !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  user-select: none !important;
  transition: background 0.3s ease !important;
  display: block !important;
  touch-action: manipulation !important;
  border-radius: 8px !important;
  border-left: 4px solid #00bcc2 !important;
}

.wp-block-column .search-filter-base:not(.no-accordion) [id^="search-filter-label-"].accordion-title:hover {
  background: #e8e3db !important;
}

/* 親アコーディオンアイコン（▲） */
.wp-block-column .search-filter-base:not(.no-accordion) [id^="search-filter-label-"].accordion-title::after {
  content: "▲" !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: transform 0.3s ease !important;
  font-size: 16px !important;
  color: #333 !important;
  pointer-events: none !important;
}

/* 親アコーディオン閉じた状態のアイコン（▼） */
.wp-block-column .search-filter-base.accordion-closed [id^="search-filter-label-"].accordion-title::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* 親アコーディオン：閉じた状態 */
.wp-block-column .search-filter-base.accordion-closed [id^="search-filter-input-"] {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transition: max-height 0.4s ease, padding 0.3s ease, opacity 0.3s ease !important;
}

/* 親アコーディオン：開いた状態 */
.wp-block-column .search-filter-base.accordion-active [id^="search-filter-input-"] {
  max-height: 5000px !important;
  padding: 10px 0 !important;
  opacity: 1 !important;
  transition: max-height 0.4s ease, padding 0.3s ease, opacity 0.3s ease !important;
}

/* 視覚的フィードバックを削除（赤線が既にあるため） */
.wp-block-column .search-filter-base.accordion-active:not(.no-accordion) {
  border-left: none !important;
}

.wp-block-column .search-filter-base.accordion-closed {
  border-left: none !important;
}

/* ===== 子アコーディオン（教育・社会福祉関係、医療関係など） ===== */

/* 子アコーディオンを持つ項目 */
.wp-block-column .search-filter-input-checkbox.has-children {
  margin: 5px 0 !important;
  border: none !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #e8e8e8 !important;
  box-sizing: border-box !important;
}

/* 子アコーディオンのラベル */
.wp-block-column .search-filter-input-checkbox.has-children > .child-accordion-title {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  padding: 15px 60px 15px 15px !important;
  cursor: pointer !important;
  background: #e8e8e8 !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  user-select: none !important;
  transition: background 0.3s ease !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.wp-block-column .search-filter-input-checkbox.has-children > .child-accordion-title:hover {
  background: #dadada !important;
}

/* 子アコーディオンのチェックボックス（親カテゴリー自体のチェックボックス） */
.wp-block-column .search-filter-input-checkbox.has-children > .child-accordion-title input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  border-radius: 4px !important;
}

/* 子アコーディオンアイコン（▲） */
.wp-block-column .search-filter-input-checkbox.has-children > .child-accordion-title::after {
  content: "▲" !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: transform 0.3s ease !important;
  font-size: 14px !important;
  color: #333 !important;
  pointer-events: none !important;
}

/* 子アコーディオン閉じた状態のアイコン（▼） */
.wp-block-column .search-filter-input-checkbox.child-accordion-closed > .child-accordion-title::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* 子アコーディオン：閉じた状態 */
.wp-block-column .search-filter-input-checkbox.child-accordion-closed > .search-filter-input-checkbox {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transition: max-height 0.4s ease, padding 0.3s ease, opacity 0.3s ease !important;
}

/* 子アコーディオン：開いた状態 */
.wp-block-column .search-filter-input-checkbox.child-accordion-active > .search-filter-input-checkbox {
  max-height: 2000px !important;
  padding: 10px 15px 15px 15px !important;
  background: #f5f5f5 !important;
  opacity: 1 !important;
  transition: max-height 0.4s ease, padding 0.3s ease, opacity 0.3s ease !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 孫要素のチェックボックス（北海道、青森県など） */
.wp-block-column .search-filter-input-checkbox.child-accordion-active > .search-filter-input-checkbox label {
  display: flex !important;
  align-items: center !important;
  padding: 8px 0 !important;
  cursor: pointer !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  word-wrap: break-word !important;
}

.wp-block-column .search-filter-input-checkbox.child-accordion-active > .search-filter-input-checkbox input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
}

/* ===== チェックボックスのスタイル ===== */

/* 重複している大きいチェックボックスを非表示 */
.wp-block-column .search-filter-base.accordion-active .search-filter-input-checkbox:not(.has-children) > input.search-filter-input-checkbox__input {
  display: none !important;
}

/* label内のチェックボックスのみ表示 */
.wp-block-column .search-filter-base.accordion-active .search-filter-input-checkbox__container input[type="checkbox"] {
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  margin-right: 12px !important;
  border-radius: 4px !important;
}

/* 1階層のみのチェックボックス（教育分野など） */
.wp-block-column .search-filter-base.accordion-active .search-filter-input-checkbox:not(.has-children) label {
  display: flex !important;
  align-items: center !important;
  padding: 10px 15px !important;
  cursor: pointer !important;
  margin: 5px 0 !important;
  background: #f5f5f5 !important;
  border-radius: 8px !important;
  transition: background 0.3s ease !important;
}

.wp-block-column .search-filter-base.accordion-active .search-filter-input-checkbox:not(.has-children) label:hover {
  background: #ebebeb !important;
}

/* ===== その他のフォーム要素 ===== */

/* キーワード検索フィールド */
.wp-block-column .search-filter-base input[type="text"],
.wp-block-column .search-filter-base input[type="search"] {
  width: 100% !important;
  padding: 12px !important;
  margin: 10px 0 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

/* セレクトボックス */
.wp-block-column .search-filter-base select {
  width: 100% !important;
  padding: 12px !important;
  margin: 10px 0 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

/* 1階層のみのチェックボックス（教育分野など）のpaddingを調整 */
.wp-block-column .search-filter-base.accordion-active .search-filter-input-checkbox:not(.has-children) label {
  display: flex !important;
  align-items: center !important;
  padding: 10px 10px !important;
  cursor: pointer !important;
  margin: 5px 0 !important;
  background: #f5f5f5 !important;
  border-radius: 8px !important;
  transition: background 0.3s ease !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* 子アコーディオン内のチェックボックスも調整 */
.wp-block-column .search-filter-input-checkbox.child-accordion-active > .search-filter-input-checkbox label {
  display: flex !important;
  align-items: center !important;
  padding: 8px 5px !important;
  cursor: pointer !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  word-wrap: break-word !important;
}

/* 子アコーディオンのコンテナのpaddingも調整 */
.wp-block-column .search-filter-input-checkbox.child-accordion-active > .search-filter-input-checkbox {
  max-height: 2000px !important;
  padding: 10px 10px 15px 10px !important;
  background: #f5f5f5 !important;
  opacity: 1 !important;
  transition: max-height 0.4s ease, padding 0.3s ease, opacity 0.3s ease !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 子アコーディオン内のチェックボックスを強制的に調整（最優先） */
.wp-block-column .search-filter-base.accordion-active 
.search-filter-input-checkbox.has-children 
.search-filter-input-checkbox 
.search-filter-input-checkbox {
  padding: 8px 5px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 子アコーディオンのコンテナも強制調整 */
.wp-block-column .search-filter-base.accordion-active 
.search-filter-input-checkbox.child-accordion-active 
> .search-filter-input-checkbox {
  padding: 10px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* ラベル全体も調整 */
.wp-block-column .search-filter-base.accordion-active 
.search-filter-input-checkbox.has-children 
.search-filter-input-checkbox 
.search-filter-input-checkbox 
label {
  padding: 5px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}