@import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@400;600&display=swap'); :root { --bg-gradient: linear-gradient(135deg, #4f46e5, #7c3aed, #a855f7); --box-bg: rgba(255,255,255,0.1); --text-color: #e5e7eb; --border: rgba(255,255,255,0.2); --btn-color: #a855f7; --btn-hover: #7c3aed; --shadow: 0 8px 24px rgba(0,0,0,0.2); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Pretendard', sans-serif; background: var(--bg-gradient); color: var(--text-color); display: flex; min-height: 100vh; } .sidebar { width: 70px; background: var(--box-bg); backdrop-filter: blur(10px); display: flex; flex-direction: column; align-items: center; padding: 1rem 0; border-right: 1px solid var(--border); } .sidebar a { margin: 1rem 0; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; border-radius: 12px; transition: 0.3s; } .sidebar a:hover { background: var(--btn-color); box-shadow: 0 4px 10px var(--btn-hover); transform: scale(1.1); } .sidebar svg { width: 24px; height: 24px; stroke: var(--text-color); } .content { flex: 1; padding: 2rem; max-width: 1000px; margin: auto; } h2 { text-align: center; font-size: 1.8rem; margin-bottom: 1rem; /* 기존 2rem → 1rem */ margin-top: 0.5rem; /* 위로 조금 올림 */ } .product-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; } .product-card { background: var(--box-bg); border: 1px solid var(--border); border-radius: 16px; padding: 1rem; text-align: center; backdrop-filter: blur(10px); box-shadow: var(--shadow); } .product-card img { width: 100%; border-radius: 12px; margin-bottom: 0.8rem; } .product-card h3 { font-size: 1.2rem; margin-bottom: 0.3rem; } .product-card p { font-size: 0.9rem; margin-bottom: 0.3rem; } .product-card .stock { font-size: 0.8rem; opacity: 0.8; } /* 버튼 공통 스타일: 모든 버튼에 동일 적용 */ button { background: var(--btn-color); color: white; border: none; border-radius: 9999px; padding: 0.6rem; font-weight: 600; cursor: pointer; transition: background 0.3s, transform 0.2s; width: 100%; } button:hover:not(:disabled) { background: var(--btn-hover); transform: scale(1.05); } button:disabled { opacity: 0.6; cursor: not-allowed; } .modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 1000; } .modal.active { display: flex; } .modal-content { background: var(--box-bg); border: 1px solid var(--border); border-radius: 20px; padding: 2rem; width: 90%; max-width: 450px; text-align: center; } .modal-content .input-group { margin-bottom: 1rem; text-align: left; } .modal-content label { font-size: 0.9rem; } .modal-content input { width: 100%; padding: 0.6rem; margin-top: 0.3rem; border-radius: 8px; border: 1px solid var(--border); background: rgba(255,255,255,0.1); color: var(--text-color); } .notice { font-size: 0.8rem; opacity: 0.8; margin-top: 0.8rem; } footer { text-align: center; font-size: 0.8rem; opacity: 0.6; margin-top: auto; } /* 모바일 대응 */ @media (max-width: 768px) { .sidebar { width: 60px; } .sidebar a { width: 36px; height: 36px; } .sidebar svg { width: 20px; height: 20px; } }