From 8b27cc75f65be04ccdb630389ade78b49ffbef8d Mon Sep 17 00:00:00 2001
From: myunsyeya <myunsyeya@ajou.ac.kr>
Date: Sun, 8 Dec 2024 04:17:25 +0900
Subject: [PATCH] =?UTF-8?q?sytle:=20=EB=82=B4=20=EC=A1=B0=ED=95=A9=20?=
 =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B6=80=ED=92=88=20=EB=B0=95?=
 =?UTF-8?q?=EC=8A=A4=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/PartItem.jsx                   |   3 +-
 .../MyCombinationPage/MyCombinationPage.css   | 132 ++++++++++++++----
 2 files changed, 106 insertions(+), 29 deletions(-)

diff --git a/src/components/PartItem.jsx b/src/components/PartItem.jsx
index f6c1d27..60b74f3 100644
--- a/src/components/PartItem.jsx
+++ b/src/components/PartItem.jsx
@@ -5,12 +5,11 @@ const PartItem = ({ part }) => {
     <div className="part-item">
       <div className="part-main-info">
         <img src={part.image_url} alt={part.name} className="part-image" />
-        <div className="part-header">
+        <div className="part-info">
           <span className="part-type">{part.type}</span>
           <h3 className="part-name">{part.name}</h3>
         </div>
       </div>
-      <p className="part-description">{part.description}</p>
     </div>
   );
 };
diff --git a/src/pages/MyCombinationPage/MyCombinationPage.css b/src/pages/MyCombinationPage/MyCombinationPage.css
index 2d961c9..03629ab 100644
--- a/src/pages/MyCombinationPage/MyCombinationPage.css
+++ b/src/pages/MyCombinationPage/MyCombinationPage.css
@@ -194,40 +194,50 @@
 
 .part-item {
   display: flex;
-  align-items: center;
-  padding: 1.5rem;
-  border-radius: 12px;
+  padding: 1rem;
+  border-radius: 8px;
   background: linear-gradient(135deg, var(--background-white) 0%, rgba(var(--primary-rgb), 0.03) 100%);
   box-shadow: var(--shadow-sm);
   transition: all 0.3s ease;
   border: 1px solid rgba(var(--primary-rgb), 0.08);
+  position: relative;
+  overflow: hidden;
 }
 
-.part-item:hover {
-  transform: translateY(-2px);
-  box-shadow: var(--shadow-md);
-  background: linear-gradient(135deg, var(--background-white) 0%, rgba(var(--primary-rgb), 0.07) 100%);
-  border-color: rgba(var(--primary-rgb), 0.15);
+.part-item::before {
+  content: '';
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 4px;
+  height: 100%;
+  background-color: var(--primary-light);
+  transition: all 0.3s ease;
+}
+
+.part-main-info {
+  display: flex;
+  gap: 1.5rem;
+  align-items: center;
+  width: 100%;
+  padding-left: 0.5rem;
 }
 
 .part-image {
   width: 100px;
   height: 100px;
-  margin-right: 1.5rem;
   object-fit: contain;
   padding: 0.75rem;
   background-color: var(--background-light);
   border-radius: 8px;
   transition: all 0.3s ease;
-}
-
-.part-item:hover .part-image {
-  background-color: white;
-  box-shadow: var(--shadow-sm);
+  flex-shrink: 0;
 }
 
 .part-info {
-  flex: 1;
+  display: flex;
+  flex-direction: column;
+  gap: 0.5rem;
 }
 
 .part-type {
@@ -235,12 +245,39 @@
   font-size: 0.85rem;
   font-weight: 600;
   color: var(--primary-color);
-  margin-bottom: 0.75rem;
   background-color: var(--background-light);
   padding: 0.4rem 0.8rem;
   border-radius: 6px;
   border: 1px solid var(--primary-light);
   letter-spacing: 0.5px;
+  width: fit-content;
+  transition: all 0.3s ease;
+}
+
+.part-name {
+  font-size: 1.1rem;
+  color: var(--text-primary);
+  font-weight: 500;
+  margin: 0;
+}
+
+.part-description {
+  font-size: 0.95rem;
+  color: var(--text-secondary);
+  line-height: 1.4;
+  margin: 0;
+}
+
+.part-item:hover {
+  transform: translateY(-2px);
+  box-shadow: var(--shadow-md);
+  background: linear-gradient(135deg, var(--background-white) 0%, rgba(var(--primary-rgb), 0.07) 100%);
+  border-color: var(--primary-color);
+}
+
+.part-item:hover .part-image {
+  background-color: white;
+  box-shadow: var(--shadow-sm);
 }
 
 .part-item:hover .part-type {
@@ -249,11 +286,8 @@
   border-color: var(--primary-color);
 }
 
-.part-name {
-  font-size: 1.1rem;
-  color: var(--text-primary);
-  font-weight: 500;
-  line-height: 1.4;
+.part-item:hover::before {
+  background-color: var(--primary-color);
 }
 
 @media (max-width: 768px) {
@@ -395,7 +429,6 @@
 /* 부품 아이템 카드도 파스텔톤으로 개선 */
 .part-item {
   display: flex;
-  align-items: center;
   padding: 1.5rem;
   border-radius: 12px;
   background: linear-gradient(135deg, var(--background-white) 0%, rgba(var(--primary-rgb), 0.03) 100%);
@@ -404,11 +437,56 @@
   border: 1px solid rgba(var(--primary-rgb), 0.08);
 }
 
-.part-item:hover {
-  transform: translateY(-2px);
-  box-shadow: var(--shadow-md);
-  background: linear-gradient(135deg, var(--background-white) 0%, rgba(var(--primary-rgb), 0.07) 100%);
-  border-color: rgba(var(--primary-rgb), 0.15);
+.part-main-info {
+  display: flex;
+  gap: 1.5rem;
+  align-items: center;
+  width: 100%;
+}
+
+.part-image {
+  width: 100px;
+  height: 100px;
+  object-fit: contain;
+  padding: 0.75rem;
+  background-color: var(--background-light);
+  border-radius: 8px;
+  transition: all 0.3s ease;
+  flex-shrink: 0;
+}
+
+.part-info {
+  display: flex;
+  flex-direction: column;
+  gap: 0.5rem;
+}
+
+.part-type {
+  display: inline-block;
+  font-size: 0.85rem;
+  font-weight: 600;
+  color: var(--primary-color);
+  background-color: var(--background-light);
+  padding: 0.4rem 0.8rem;
+  border-radius: 6px;
+  border: 1px solid var(--primary-light);
+  letter-spacing: 0.5px;
+  width: fit-content;
+  transition: all 0.3s ease;
+}
+
+.part-name {
+  font-size: 1.1rem;
+  color: var(--text-primary);
+  font-weight: 500;
+  margin: 0;
+}
+
+.part-description {
+  font-size: 0.95rem;
+  color: var(--text-secondary);
+  line-height: 1.4;
+  margin: 0;
 }
 
 /* 모바일 대응 */
-- 
GitLab