/* * 菜谱详情 */ .recipe-detail { padding-bottom: 140rpx; } /* ── 主图 ── */ .hero-img { width: 100%; height: 400rpx; background: #F2EFEB; } .hero-placeholder { width: 100%; height: 300rpx; display: flex; align-items: center; justify-content: center; font-size: 100rpx; background: linear-gradient(180deg, #FFF8F2, #FFF0E4); } /* ── 头部 ── */ .detail-header { padding: var(--space-md) var(--space-lg) var(--space-sm); } .detail-name { font-size: var(--text-headline); font-weight: 700; color: var(--color-text); margin-bottom: 8rpx; } .detail-meta { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--text-body-sm); color: var(--color-text-muted); } .detail-meta text { display: inline-flex; align-items: center; padding: 4rpx 14rpx; background: #F5F2EE; border-radius: var(--radius-full); } /* ── 分区 ── */ .section { padding: 0 var(--space-lg); margin-bottom: var(--space-lg); } .section-title { font-size: var(--text-body); font-weight: 700; color: var(--color-text); margin-bottom: var(--space-sm); } /* ── 用料 ── */ .ingredient-list { display: flex; flex-wrap: wrap; } .ing-item { display: flex; align-items: center; padding: 8rpx var(--space-md); background: #F7F5F2; border-radius: var(--radius-full); font-size: var(--text-body-sm); color: var(--color-text); margin-right: 12rpx; margin-bottom: 12rpx; } .ing-item.staple { opacity: 0.4; } .amount { color: var(--color-text-muted); margin-left: 8rpx; font-size: var(--text-caption); } /* ── 步骤 ── */ .step-list { display: flex; flex-direction: column; } .step-item { display: flex; align-items: flex-start; margin-bottom: var(--space-sm); } .step-item:last-child { margin-bottom: 0; } .step-num { width: 48rpx; height: 48rpx; background: var(--color-primary); color: #FFFFFF; border-radius: var(--radius-full); display: flex; align-items: center; justify-content: center; font-size: var(--text-body-sm); font-weight: 700; flex-shrink: 0; margin-right: var(--space-sm); } .step-body { flex: 1; min-width: 0; } .step-text { font-size: var(--text-body); line-height: 1.7; color: var(--color-text); padding-top: 6rpx; } .step-img { width: 100%; border-radius: var(--radius-md); margin-top: var(--space-sm); background: #F2EFEB; } /* ── 底部栏 ── */ .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; display: flex; padding: var(--space-sm) var(--space-lg); padding-bottom: calc(var(--space-sm) + constant(safe-area-inset-bottom)); padding-bottom: calc(var(--space-sm) + env(safe-area-inset-bottom)); background: var(--color-surface); box-shadow: 0 -1rpx 8rpx rgba(0, 0, 0, 0.04); z-index: 10; } .btn-small { flex: 1; height: 80rpx; font-size: var(--text-body-sm); margin-right: var(--space-sm); } .btn-small:last-child { margin-right: 0; } .btn-outline { display: flex; align-items: center; justify-content: center; flex: 1; height: 80rpx; border: 1rpx solid var(--color-hairline); color: var(--color-text); background: var(--color-surface); border-radius: var(--radius-lg); font-size: var(--text-body-sm); font-weight: 500; transition: background 0.15s ease; } .btn-outline:active { background: #FAFAF8; } /* ── 加载 ── */ .center { padding: 160rpx 0; text-align: center; color: var(--color-text-muted); font-size: var(--text-body); }