/**
 * Blog Sidebar Widget Styles
 * Styles specific to blog sidebar filtering functionality
 * 
 * @package SHIPS Child
 * @subpackage Widgets\BlogSidebar
 * @version 1.0.0
 */

/* =========================================
   Blog Sidebar Container
   ========================================= */
#douyu-wrapper .blog-sidebar,
.blog-sidebar {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ui-spacing-xl, 30px);
}

/* =========================================
   Sidebar Sections (my-page dashboard-card style)
   ========================================= */
#douyu-wrapper .blog-sidebar__section,
.blog-sidebar__section {
  background: #fff;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
  padding: 30px;
  margin-bottom: 30px;
}

#douyu-wrapper .blog-sidebar__section:last-child,
.blog-sidebar__section:last-child {
  margin-bottom: 0;
}

#douyu-wrapper .blog-sidebar__title,
.blog-sidebar__title {
  font-size: 18px;
  font-weight: 700;
  color: #2C3E50;
  margin: 0 0 20px 0;
  padding-bottom: 15px;
  border-bottom: 2px solid #F4F7F9;
  font-family: var(--ui-font-family-secondary);
}

/* =========================================
   Category Navigation
   ========================================= */
#douyu-wrapper .blog-sidebar__nav,
.blog-sidebar__nav {
  list-style: none !important;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#douyu-wrapper .blog-sidebar__nav li,
.blog-sidebar__nav li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#douyu-wrapper .blog-sidebar__nav li a,
.blog-sidebar__nav li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  color: #555;
  text-decoration: none;
  border-radius: var(--ui-radius-sm, 4px);
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  background-color: #f9f9f9;
}

#douyu-wrapper .blog-sidebar__nav li a:hover,
.blog-sidebar__nav li a:hover {
  background-color: #eee;
  color: #000;
}

#douyu-wrapper .blog-sidebar__nav li.is-active a,
.blog-sidebar__nav li.is-active a {
  background-color: var(--ui-primary, #17A2B8);
  color: #fff;
  font-weight: 600;
}

#douyu-wrapper .blog-sidebar__nav li.is-active a .count,
.blog-sidebar__nav li.is-active a .count {
  color: rgba(255, 255, 255, 0.8);
}

#douyu-wrapper .blog-sidebar__nav .count,
.blog-sidebar__nav .count {
  font-size: 12px;
  color: var(--ui-text-tertiary, #999);
  font-weight: 400;
}

/* =========================================
   Hierarchical Structure (Post Type -> Categories)
   ========================================= */
#douyu-wrapper .blog-sidebar__hierarchical,
.blog-sidebar__hierarchical {
  /* 階層構造のスタイル */
}

#douyu-wrapper .blog-sidebar__post-types,
.blog-sidebar__post-types {
  /* 投稿タイプリスト */
}

#douyu-wrapper .blog-sidebar__post-types li.has-children,
.blog-sidebar__post-types li.has-children {
  position: relative;
}

#douyu-wrapper .blog-sidebar__post-type-link,
.blog-sidebar__post-type-link {
  /* 投稿タイプリンクのスタイル */
  font-weight: 600;
}

#douyu-wrapper .blog-sidebar__subnav,
.blog-sidebar__subnav {
  list-style: none !important;
  padding: 0;
  margin: 8px 0 0 0;
  display: none; /* デフォルトで非表示 */
  flex-direction: column;
  gap: 2px;
  padding-left: 20px;
}

#douyu-wrapper .blog-sidebar__subnav.is-expanded,
.blog-sidebar__subnav.is-expanded {
  display: flex; /* 親がアクティブな場合のみ表示 */
}

#douyu-wrapper .blog-sidebar__subnav li,
.blog-sidebar__subnav li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#douyu-wrapper .blog-sidebar__subnav li a,
.blog-sidebar__subnav li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 15px;
  color: #666;
  text-decoration: none;
  border-radius: var(--ui-radius-sm, 4px);
  font-size: 13px;
  font-weight: 400;
  transition: all 0.2s ease;
  background-color: #f5f5f5;
}

#douyu-wrapper .blog-sidebar__subnav li a:hover,
.blog-sidebar__subnav li a:hover {
  background-color: #e8e8e8;
  color: #000;
}

#douyu-wrapper .blog-sidebar__subnav li.is-active a,
.blog-sidebar__subnav li.is-active a {
  background-color: var(--ui-primary-light, #5AC8D8);
  color: #fff;
  font-weight: 500;
}

#douyu-wrapper .blog-sidebar__subnav li.is-active a .count,
.blog-sidebar__subnav li.is-active a .count {
  color: rgba(255, 255, 255, 0.8);
}

#douyu-wrapper .blog-sidebar__subnav .count,
.blog-sidebar__subnav .count {
  font-size: 11px;
  color: var(--ui-text-tertiary, #999);
  font-weight: 400;
}

/* =========================================
   Tags Cloud
   ========================================= */
#douyu-wrapper .blog-sidebar__tags,
.blog-sidebar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#douyu-wrapper .blog-sidebar__tag,
.blog-sidebar__tag {
  display: inline-block;
  padding: 6px 12px;
  background: var(--ui-bg-light, #f8f9fa);
  color: var(--ui-text-secondary, #666);
  text-decoration: none;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 1px solid var(--ui-border-light, #eee);
}

#douyu-wrapper .blog-sidebar__tag:hover,
.blog-sidebar__tag:hover {
  background: var(--ui-primary-light, #5AC8D8);
  color: #fff;
  border-color: var(--ui-primary-light, #5AC8D8);
}

#douyu-wrapper .blog-sidebar__tag.is-active,
.blog-sidebar__tag.is-active {
  background: var(--ui-primary, #17A2B8);
  color: #fff;
  border-color: var(--ui-primary, #17A2B8);
}

/* =========================================
   Responsive Design
   ========================================= */
@media (max-width: 1024px) {
  #douyu-wrapper .blog-sidebar,
  .blog-sidebar {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--ui-spacing-md, 15px);
  }
  
  #douyu-wrapper .blog-sidebar__section,
  .blog-sidebar__section {
    flex: 1;
    min-width: 250px;
  }
}

@media (max-width: 768px) {
  #douyu-wrapper .blog-sidebar,
  .blog-sidebar {
    flex-direction: column;
  }
  
  #douyu-wrapper .blog-sidebar__section,
  .blog-sidebar__section {
    min-width: 100%;
    padding: 20px;
  }
  
  #douyu-wrapper .blog-sidebar__title,
  .blog-sidebar__title {
    font-size: 16px;
    margin-bottom: 15px;
    padding-bottom: 12px;
  }
  
  #douyu-wrapper .blog-sidebar__nav li a,
  .blog-sidebar__nav li a {
    padding: 8px 10px;
    font-size: 13px;
  }
  
  #douyu-wrapper .blog-sidebar__tag,
  .blog-sidebar__tag {
    padding: 4px 10px;
    font-size: 11px;
  }
}
