/* 基本設定 */
body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif !important;
  color: #555 !important;
  background-color: #fff;
  letter-spacing: 0.03em;
}

/* 商品カード（小綺麗化） */
.ui-box.item-card {
  border: none !important; 
  border-radius: 8px; 
  box-shadow: 0 2px 8px rgba(0,0,0,0.08); 
  padding: 10px;
  background-color: #fff;
  transition: transform 0.2s ease;
}
.ui-box.item-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }

/* 見出しのスッキリ化 */
.section-title {
  background: none !important; border: none !important;
  border-bottom: 2px solid #2160C7 !important; padding: 10px 0 !important;
}
.section-title .title { border: none !important; font-size: 20px !important; font-weight: bold; }

/* 青い固定バーの自然な固定（sticky） */
.karintou-fixed-nav {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
  z-index: 9999;
  background-color: #2160C7 !important;
  border: none !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* スマホ用：計算を邪魔する要素を排除 */
@media screen and (max-width: 767px) {
  #page, #header { overflow: visible !important; }
  .karintou-fixed-nav { top: -1px; } /* 隙間防止 */
  .navbar-form { margin: 0; padding: 10px; }
  .input-group { width: 100%; display: table !important; }
}

/* PC用サイドバー固定 */
@media screen and (min-width: 768px) {
  #sidebar { position: sticky; top: 70px; max-height: 90vh; overflow-y: auto; }
}

/* アコーディオン */
.category-header { cursor: pointer; padding: 12px; background: #fff8f0; border: 1px solid #ffeedd; border-radius: 6px; font-weight: bold; color: #ff6f00; text-align: center; }
.category-content { display: none; padding: 10px; line-height: 2; }