/* 旅行结伴页面样式 */ /* 旅行结伴页面现在使用统一的hero-section样式 */ .travel-plan-card { transition: transform 0.3s ease, box-shadow 0.3s ease; border: none; border-radius: 15px; overflow: hidden; } .travel-plan-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); } .travel-plan-card .card-img-top { height: 200px; object-fit: cover; } .travel-plan-card .card-body { padding: 1.5rem; } .travel-plan-card .destination { font-size: 1.25rem; font-weight: 600; color: #2c3e50; } .travel-plan-card .travel-date { color: #6c757d; font-size: 0.9rem; } .travel-plan-card .budget-badge { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 0.25rem 0.75rem; border-radius: 20px; font-size: 0.8rem; } .travel-plan-card .participants { display: flex; align-items: center; gap: 0.5rem; color: #6c757d; } .travel-plan-card .action-buttons { display: flex; gap: 0.5rem; margin-top: 1rem; } /* 筛选器样式 */ .travel-filter { background: white; border-radius: 15px; padding: 1.5rem; margin-bottom: 2rem; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); } .travel-filter .filter-title { font-weight: 600; margin-bottom: 1rem; color: #2c3e50; } /* 表单样式 */ #travel-plan-form .form-control, #travel-plan-form .form-select { border-radius: 10px; border: 2px solid #e9ecef; padding: 0.75rem 1rem; } #travel-plan-form .form-control:focus, #travel-plan-form .form-select:focus { border-color: #667eea; box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25); } /* 响应式调整 */ @media (max-width: 768px) { .travel-plan-card { margin-bottom: 1.5rem; } .travel-filter { margin-bottom: 1.5rem; } .action-buttons { flex-direction: column; } } /* 特色功能样式 */ .feature-icon { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #3498db 0%, #2980b9 100%); color: white; border-radius: 50%; font-size: 2rem; margin: 0 auto 20px; transition: transform 0.3s ease; } .feature-box { text-align: center; padding: 30px; transition: transform 0.3s ease, box-shadow 0.3s ease; height: 100%; border-radius: 10px; background: #fff; } .feature-box:hover { transform: translateY(-10px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); } .feature-box:hover .feature-icon { transform: scale(1.1); } /* 增强的卡片样式 */ .card { transition: transform 0.3s ease, box-shadow 0.3s ease; border: none; box-shadow: 0 5px 15px rgba(0,0,0,0.05); } .card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); } /* 圆角按钮 */ .btn-rounded { border-radius: 50px; padding: 10px 30px; } /* 章节标题样式 */ .section-title { position: relative; padding-bottom: 15px; margin-bottom: 40px; } .section-title::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background: linear-gradient(135deg, #3498db 0%, #2980b9 100%); border-radius: 3px; } /* 动画效果 */ @keyframes slideInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .travel-plan-card { animation: slideInUp 0.6s ease forwards; } .travel-plan-card:nth-child(1) { animation-delay: 0.1s; } .travel-plan-card:nth-child(2) { animation-delay: 0.2s; } .travel-plan-card:nth-child(3) { animation-delay: 0.3s; } .travel-plan-card:nth-child(4) { animation-delay: 0.4s; } .travel-plan-card:nth-child(5) { animation-delay: 0.5s; } /* 加载状态 */ .travel-loading { display: flex; justify-content: center; align-items: center; min-height: 200px; } .travel-loading .spinner { width: 3rem; height: 3rem; border: 3px solid #f3f3f3; border-top: 3px solid #667eea; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }