legend { font-size: 1.1em; font-weight: bold; }
.btn { width: 100%; padding: 8px; background-color: #4dabd2; border: none; border-radius: 4px; color: white; font-weight: bold; cursor: pointer; }
.btn:hover { background-color: #3c93b0; color: white; }
.insight-delete-btn { width: 100%; padding: 8px; background-color: #fff; border: none; border-radius: 4px; color: #e24a4a; font-weight: bold; cursor: pointer; }
.insight-delete-btn:hover { background-color: #fdfdfd; color: #e24a4a; }

/* 툴팁 */
.s-tooltip { position: relative; display: inline-block; margin-left: 2px; }
.s-tooltip .tooltip-text { visibility: hidden; background-color: #4dabd2; font-size: small; font-weight: bold; color: #fff; text-align: center; padding: 7px; border-radius: 6px; position: absolute; opacity: 0; transition: opacity 0.3s; z-index: 1000; }
.s-tooltip:hover .tooltip-text { visibility: visible; opacity: 1; }
/* 모바일에서는 width 120px */
@media (max-width: 767px) {
    .s-tooltip .tooltip-text {
      width: 120px;
    }
  }
  
  /* PC에서는 width 250px */
  @media (min-width: 768px) {
    .s-tooltip .tooltip-text {
      width: 300px;

    }
  }

/* 상품명 최적화 */
.grid-container{display:flex;justify-content:space-between;max-width:1140px;margin:0 auto;padding:20px;}
.grid-col{flex-basis:calc(33.333% - 10px);display:flex;flex-direction:column;justify-content:normal;}
.grid-item{padding:2px; border-radius:4px; box-sizing:border-box;}
.product_name_form { margin: 0 auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; background-color: #fcfcfc; } 
.keywords-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.keyword-item{display:flex;align-items:center;background-color:#f1f1f1;padding:4px 8px;border-radius:4px}
.remove-btn{margin-left:4px;font-weight:700;color:red;cursor:pointer}
.synonym-group, .keyword-type{background-color: #fff;border-radius:4px;padding:10px;margin-bottom:10px;font-size:14px;line-height:1.5; border: 1px solid #ccc;}
.synonym-groups-container, .keyword-type-container, .product-name-container { margin: 15px auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; background-color: #fcfcfc; }
.synonym-group-legend, .bundle-type-legend{ font-weight: bold; color: #4dabd2; }
.combination-type-legend { font-weight: bold; color: #e24a4a; }
.product-name-legend { font-weight: bold; }
.keyword-list-header{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #ccc}
.keyword-count{font-weight:700}
.text-point{font-weight: 700; color: #4A90E2;}
.delete-all-btn{cursor:pointer;font-weight:700;}
.delete-all-btn:hover{text-decoration: underline;}
.font-small { font-size: small; }

/* 가격 분석 */
.price-analysis-container{ margin: 15px auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; }
.search-summary { display: flex; justify-content: space-between; align-items: center; padding: 3px; }
.search-summary-item { display: flex; align-items: center; font-weight: bold; }
.search-summary-label { margin-right: 5px; color: #999; }
.list_mall_name { font-weight: bold; color: #4dabd2; margin: 0px !important;}


#keyword-table {
    min-width: 480px;
}

/* PC 화면에서 이미지 크기 제한 */
@media (min-width: 768px) {
    #keyword-table img {
      max-width: 130px;
    }
  }
  
/* 모바일 화면에서 이미지 최대 너비 100% */
@media (max-width: 767px) {
  #keyword-table img {
    max-width: 110px;
    height: auto;
  }
  
  #history_area {
    display: none;
  }
}

#keyword-table th {
  text-align: center;
}

#keyword-table tbody td:first-child {
    font-weight: bold;
    text-align: center;
    max-width: 100px;
}

#keyword-table tbody td:nth-child(2) {
    text-align: center;
}

#keyword-table tbody td:last-child {
    text-align: left;
}

#keyword-table tbody td:last-child * {
    margin: 8px;
}

#keyword-table span {
  margin: 10px;
}

.price_link {
  text-decoration: none;
}

.price_link:hover {
  text-decoration: underline;
}

#history_area { position: fixed; top: 50px; padding: 20px; width: 250px; height: 95%; background-color: #f8f8f8; box-shadow: 2px 0px 5px rgba(0, 0, 0, 0.1); overflow-y: auto; }
.table-wrapper { overflow-x: auto; width: 100%; box-sizing: border-box; }
#search_history_list { list-style-type: none; padding: 0; margin: 0; }
#search_history_table { border-collapse: collapse; font-family: Arial, sans-serif; width: 100%; min-width: 780px; font-size: small;} 
#search_history_table thead th { background-color: #f2f2f2; color: #333; font-weight: bold; padding: 10px; border: 1px solid #ddd; text-align: left; } 
#search_history_table tbody td { padding: 10px; border: 1px solid #ddd; } 
#search_history_table tbody tr:nth-child(odd) { background-color: #f9f9f9; } 
#search_history_table tbody tr:nth-child(even) { background-color: #fff; } 
#search_history_table tbody tr:hover { background-color: #e0e0e0; }
.keyword-click:hover {
  cursor: pointer;
  text-decoration: underline;
}
.history_btn {
  border: 1px solid; border-radius: 3px; font-weight: bold; padding: 3px; font-size: small; background-color:#4dabd2; color: white;
}

.product-analysis-container { margin: 15px auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; background-color: #fcfcfc; }
.product-analysis-items {
  background-color: #fff;border-radius:4px;padding:15px;margin-bottom:10px;font-size:14px;line-height:1.5; border: 1px solid #ccc; text-align: center;
  /* display:flex; align-content: center; justify-content: center; flex-direction: column; */
}
.link-style { color: #333; text-decoration: none; font-weight: bold;}
.link-style:hover { color: #4dabd2; text-decoration: underline; }

.product-analysis-item{ font-weight: bold; }

/* 차별화 전략 */
.review_insight_form { margin: 0 auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; background-color: #fcfcfc; } 
.box-type{background-color: #fff;border-radius:4px;padding:10px;margin-bottom:10px;font-size:14px;line-height:1.5; border: 1px solid #ccc;}
.box-type-container { margin: 15px auto; padding: 20px; border: 1px solid #ccc; border-radius: 4px; background-color: #fcfcfc; }
.point-blue-legend { font-weight: bold; color: #4dabd2; }
.point-red-legend { font-weight: bold; color: #e24a4a; }
.point-legend { font-weight: bold; }

/* 차별화 전략 리스트 */
.font-size-up { font-size: 1rem; }

.table-striped-custom tbody tr:nth-of-type(odd) {
  background-color: #fff;
}

.table-striped-custom tbody tr:nth-of-type(even) {
  background-color: #f3f3f3;
}