.recipe-cover { aspect-ratio: 8 / 5; max-height: none; }
.recipe-cover img { object-position: center top; }
.recipe-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 14px 18px 18px; }
.recipe-card-actions button { min-height: 44px; padding: 8px 10px; }
.recipe-card-actions .danger-action { border: 1px solid #e9b8b1; border-radius: 8px; background: #fff; }
.recipe-media-dialog { width: min(540px, calc(100% - 24px)); padding: 20px; }
.recipe-media-dialog img { display: block; width: 100%; max-height: calc(100vh - 130px); object-fit: contain; border-radius: 12px; background: #eff8ff; }
.recipe-media-dialog .empty { padding: 48px 12px; }
.shopping-helper { margin: 14px 0 8px; color: #657384; font-size: 13px; }
.shopping-recipe-choices, .shopping-list { display: grid; gap: 8px; }
.shopping-recipe-choices { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 18px; }
.shopping-choice, .shopping-item { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e5ebf1; border-radius: 10px; background: #fff; color: #37495a; cursor: pointer; }
.shopping-choice input, .shopping-item input { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: #0878d1; }
.shopping-choice strong, .shopping-item strong { display: block; color: #182433; font-size: 14px; }
.shopping-item small { display: block; color: #7b8b98; font-size: 12px; }
.shopping-item.is-purchased { background: #f4f8fa; }
.shopping-item.is-purchased strong { color: #7b8b98; text-decoration: line-through; }
.shopping-list .empty { padding: 18px 4px; text-align: left; }
@media (max-width: 380px) { .recipe-card-actions { grid-template-columns: 1fr 1fr; padding-inline: 14px; } }
