/* ai-review-list.css */
/* --------------------------------------------------------
    フィルター機能
   -------------------------------------------------------- */
.ai-review-filter-btn {
  padding: 8px 16px;
  border: none;
  background-color: #f5f5f5;
  color: #555;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  border-radius: 50px;
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* アクティブ/ホバー時 */
.ai-review-filter-btn.ai-active,
.ai-review-filter-btn:hover {
  background-color: #333;
  color: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* レスポンシブ（同じく左余白など調整） */
@media (max-width: 600px) {
  .ai-review-filter-btn {
    margin-bottom: 10px;
  }
  .ai-review-filter-container > :last-child {
    margin-bottom: 0 !important;
  }
}




/* --------------------------------------------------------
    吹き出しレイアウト 
   -------------------------------------------------------- */
.ai-single-review-item {
    position: relative;
    background-color: #f8f9fa;
    border-radius: 12px;
    padding: 16px 20px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    max-width: 700px;     /* 最大幅を制限 */
    min-width: 280px;     /* お好みで */
    width: 100%;          /* ウィンドウが狭い時は縮む */
    box-sizing: border-box; /* パディングを含めて幅を制御 */
    margin-left: 20px;
}

/* レスポンシブ対応 */
@media (max-width: 900px) {
    .ai-single-review-item {
        max-width: 90%; /* ウィンドウ幅が900px以下で最大幅を90%に */
    }
}

.ai-single-review-item::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 32px;
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-top-color: #f8f9fa;
}

/* コメント本文：最大3行まで。展開時解除 */
.ai-review-content {
    font-size: 15px;
    color: #222;
    line-height: 1.6;
    margin-bottom: 6px;
    word-break: break-all;
    max-height: 4.8em;  /* 折り畳み */
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(.4,0,.2,1);
}
.ai-review-content.expanded {
    max-height: 2000px; /* 展開 */
    transition: max-height 0.6s cubic-bezier(.4,0,.2,1);
}

/* 続きを読むボタン */
.ai-toggle-readmore {
    cursor: pointer;
    background-color: transparent;
    border: none;
    color: #007bff;
    font-size: 14px;
    margin-top: 5px;
    padding: 0;
    transition: color .2s;
}
.ai-toggle-readmore:hover {
    text-decoration: underline;
    color: #0056b3;
}

/* 報告＋グッド横並び */
.ai-review-like-and-report {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
    justify-content: flex-end;   /* 右下に寄せるポイントはこれだけ */
}

/* 役に立ったボタン */
.ai-helpful-btn {
    background: none;
    border: none;
    font-size: 18px;
    color: #bbb;
    cursor: pointer;
    outline: none;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color .2s;
}
.ai-helpful-btn.liked, .ai-helpful-btn:hover {
    color: #42b983; /* 役に立った状態の色 */
}
.ai-helpful-heart {
    font-size: 22px;
}
.ai-helpful-text {
    font-size: 14px;
    color: inherit;
}

/* 報告ボタン */
.ai-report-review-btn {
    background: none;
    border: none;
    color: #888;
    font-size: 14px;
    cursor: pointer;
    padding: 2px 8px;
    border-radius: 5px;
    transition: color .18s, background .13s;
}
.ai-report-review-btn:hover, .ai-report-review-btn.reported {
    color: #e00;
    background: #fff0f1;
}

/* 非公開レビュー */
.ai-private-label {
    font-size: 0.98rem;
    color: #c00;
    background: #fff3f3;
    padding: 6px 10px;
    border: 1px solid #faa;
    border-radius: 4px;
    margin-bottom: 12px;
}
.ai-is-private-review {
    background: #f6f6f6;
    opacity: 0.75;
    pointer-events: none;
    position: relative;
}

/* モバイル */
@media (max-width: 600px) {
    .ai-single-review-item {
        padding: 13px 8px;
        font-size: 14px;
    }
    .ai-single-review-item::after {
        left: 16px;
        border-width: 8px;
        bottom: -8px;
    }
    .ai-review-like-and-report {
        gap: 5px;
        font-size: 13px;
    }
}

